認証プロトコルの概要。 LDAP vs Kerberos vs OAuth2 vs SAML vs RADIUS

10月 25, 2021
admin

アプリケーションでのユーザー認証は、IT 部門が直面している現在の最大の課題の 1 つです。 Stack Overflow で認証プロトコルに関する質問を読むと、このトピックが混乱し、圧倒される可能性があることがよくわかります。

このブログ投稿では、最もよく使用される 5 つの認証プロトコルを紹介し、それらの仕組みとメリットを説明します。

LDAP

LDAP (Lightweight Directory Access Protocol) は、公衆インターネットまたは企業イントラネットを問わず、誰もがネットワーク内の組織、個人、およびファイルやデバイスなどのリソースの場所を特定できるようにするソフトウェア プロトコルです。

LDAPは、サーバーとクライアント アプリケーションの間でメッセージを送信し、クライアント リクエストからデータ フォーマットまですべてを含むことができます。 クライアントは、ユーザーのログイン認証情報または他の組織データなど、特定の情報セットを要求する操作要求を送信します。 LDAPサーバーは、その内部言語に基づいてクエリーを処理し、必要に応じてディレクトリサービスと通信し、応答する。 クライアントは応答を受け取ると、サーバーからアンバインドし、それに応じてデータを処理します。

MSP のためのリード生成ガイド

リード生成とスケールアップに成功する方法

についてさらに学ぶ Go ガイドへ

MSP リードジェネレーション ガイドを入手

Kerberos

Kerberos はネットワーク認証のプロトコルです。 秘密鍵暗号を使用することにより、 クライアント/サーバアプリケーションに強力な認証を提供するよう設計されています。 このプロトコルのフリーな実装がマサチューセッツ工科大学から提供されています。

  1. クライアントが鍵配布センター (KDC) に認証チケット (TGT) を要求する。
  2. KDCは認証情報を検証し、暗号化されたTGTとセッション鍵を送り返す。
  3. クライアントはサーバー上のアプリケーションにアクセスすることを要求します。アプリケーションサーバーのチケット要求は、クライアントのTGTと認証情報からなるKDCに送信されます。
  4. チケットはアプリケーションサーバーに送信されます。チケットと認証子が受信されると、サーバーはクライアントを認証できます。
  5. サーバーは別の認証子でクライアントに返信します。

Oauth 2

OAuth 2は、アプリケーションがFacebook、GitHub、DigitalOceanなどのHTTPサービス上のユーザーアカウントへの制限付きアクセスを取得できるようにする認証フレームワークである。

  1. Application requests authorization for access service resources from the user.
  2. If that user approves then the application receive an authorization grant.
  3. Application requests an access token from the authorization server (API).

    The authorization process in basic steps are described of the following the authority.

  4. アプリケーションのIDが認証され、認可グラントが有効である場合、APIはアプリケーションにアクセストークンを発行します。
  5. アプリケーションはAPIにリソースを要求し、認証のためにアクセストークンを提示します。
  6. アクセストークンが有効であれば、APIはアプリケーションにリソースを提供します。
Oauth2
ソース。 Digital Ocean

SAML

Security Assertion Markup Language (SAML) は XML ベースのオープンスタンダードなデータ形式で、当事者間で、特に ID プロバイダとサービスプロバイダ間で認証および承認データを交換するために使用されます。 SAML は OASIS Security Services Technical Committee の製品です。

JumpCloud は、SAML 認証プロトコルをサポートする最高のシングル サインオン (SSO) プロバイダーの 1 つです。 JumpCloudのSSOは、700の一般的なビジネスアプリケーション(Kisiを含む)とのSAML統合と、ジャストインタイム(JIT)プロビジョニングやSCIMプロビジョニング/デプロビジョニングなどの自動ユーザーライフサイクル管理機能を提供しています。

  1. ユーザーは、イントラネットなどのリンクを使用してリモート アプリケーションにアクセスし、アプリケーションがロードされます。
  2. ユーザーは、IDプロバイダとの既存のアクティブなブラウザセッションを持っているか、IDプロバイダにログインしてセッションを確立します。
  3. IDプロバイダは、ユーザーのユーザー名または電子メールアドレスを含むXMLドキュメントの形式で認証応答を構築します。 これは、X.509 を使用して署名されます。
  4. サービス プロバイダー(ID プロバイダーをすでに知っており、証明書のフィンガープリントを持っている)は、認証応答を取得し、証明書のフィンガープリントを使用してそれを検証します。

RADIUS

Remote Authentication Dial-In User Service (RADIUS) は、ネットワークサービスに接続し使用するユーザーに対して集中型の認証、認可、会計 (AAA または Triple A) 管理を提供するネットワーク プロトコルです。 ユーザーはユーザー名とパスワードを入力し、これらは認証プロセスを通じて送信される前にRADIUSサーバーによって暗号化される。

その後、RADIUSサーバーはデータを検証するために認証スキームを採用して情報の正確さを確認する。 これは、ユーザーが提供した情報をローカルに保存されたデータベースと比較したり、Active Directoryサーバーなどの外部ソースを参照することで行われる。

その後、RADIUSサーバーは、ユーザーを受け入れる、挑戦する、または拒否することで応答する。 個々のユーザーは、他のユーザーに影響を与えることなく、制限されたアクセスを許可することができます。 チャレンジの場合、RADIUSサーバーはユーザーID(PINまたはセカンダリパスワード)を確認するために、ユーザーに追加情報を要求します。

So which to choose?

LDAP, Kerberos, OAuth2, SAML, and RADIUS are all useful for different authorization and authentication purposes and are often used with SSO.

The protocol you should reflect your application needs and what existing infrastructure is in place. ネイティブ・アプリケーションとの相互運用性のために回避策を使用しない、シンプルで標準化されたソリューションを選択することが役立ちます。 このため、SAML は JumpCloud の SSO および 700 の一般的なビジネス アプリケーションと統合されており、良い選択です。

SSO関連のコンテンツをさらにお探しの場合は、使用できるシングル サインオンのタイプを決定する方法についてのガイドをご確認ください。

関連リンク

  • 物理セキュリティ評価|ベスト プラクティス & 監査プロセス
  • IoTとは – 業界エキスパートによる定義
  • IDアクセス管理(IAM)ツール

コメントを残す

メールアドレスが公開されることはありません。