この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 3036|答える: 0

[窓] Windows AD認証:KerberosとNTLM

[リンクをコピー]
掲載地 2023/08/22 19:16:28 | | | |
AD認証は主にKerberosとNTLMの2つのプロトコルを使用します

NTLM



認証プロセスは以下の通りです:

  • クライアントはローカルでNTLMハッシュを生成し、その値はユーザーのパスワードのハッシュ値です。
  • クライアントはユーザー名をアプリケーションサーバーに送信します。
  • アプリケーションサーバーはクライアントに対してランダムな値を生成し、これを通常はノンス(nonce)またはチャレンジ(チャレンジ)と呼びます。
  • クライアントはNTLMハッシュでノンスを暗号化し、アプリケーションサーバーに送信します。
  • 受信後、アプリケーションサーバーはユーザー名とノンスとともにそれをADサーバーに送信します。
  • ADはユーザーのパスワードに基づいてNTLMハッシュを生成し、ノンスを暗号化し、その後クライアントのメッセージを比較します。
  • 値が同じなら認証は合格し、異なる場合は認証に失敗します。


ケルベロス



主要用語:

  • KDC:鍵配布センター。認証サービス(AS)とチケット付与サービス(TGS)の2つのサービスを提供します。 ドメインはKDC用にkrbtgtというドメインアカウントを生成し、TGTは暗号化と復号にパスワードを使用します。 ドメインユーザーが初めてアクセスした際、ASに認証を求め、認証後ASはTGSにチケット(TGT)をドメインユーザーに提供するよう要請します。
  • SPN:Service Principal Name。 ユーザーアカウントに加え、ADアカウントにはサービスアカウントもあります。 アプリケーションにはサービスアカウントが紐づいており、これによりExchange、SQL、IISなどのサーバーリソースへのアクセスが可能になります。 SPNは、アプリケーションによって有効化されたサービスをADのサービスアカウントに関連付けるために使われるサービスです。


認証プロセス:

1. ドメインユーザーがログインすると、ASリクエスト(AS_REQ)がDCに送信され、その中にはユーザーのパスワードハッシュとユーザー名で暗号化されたタイムスタンプが記されています。

2. リクエストを受信した後、DCはユーザーのユーザー名とパスワードのハッシュを使って復号します。 DCはクライアントに対してAS返信(AS_REP)を返信し、これにはセッションキーとTGT(Ticket Granting Ticket)が含まれます。 セッション鍵はユーザーのパスワードハッシュで暗号化されています。 TGTにはグループメンバーシップ、ドメイン、タイムスタンプ、クライアントIP、セッションキーが含まれます。 TGTも暗号化されており、KDCサービスアカウントのパスワードで暗号化されており、クライアントはそれを復号できません。 (TGTはデフォルトで10時間有効で、その後の更新はユーザーがパスワードを再入力する必要はありません)

3. ユーザーがドメイン内のリソースをリクエストすると、ユーザー名、タイムスタンプ、TGT、SPNを含むチケット付与サービスリクエスト(TGS_REQ)が送信されます。 タイムスタンプとユーザー名はセッションキーで暗号化されています。

4. リクエストを受信した後、KDCはまずリクエスト内にSPNが存在するかどうかを判断し、その後TGTを復号し、セッションキーとTTT内のタイムスタンプを抽出し、TGT内のセッションキーを使って暗号化されたユーザー名とタイムスタンプを復号します。 いくつかのチェックを行いましょう:

(1) TGTで復号されたタイムスタンプは有効でなければなりません。 (リプレイ攻撃が発生した場合、タイムスタンプは無効となります。) )

(2) TGT内のユーザー名がリクエスト内のユーザー名と整合しているかどうか。

(3) TGT内のIPアドレスがリクエスト内のIPアドレスと同じかどうか。

このチェックはクライアントのTicket Granting ServiceReply(TGS_REP)に応答します。この中にはSPNの認可アクセス、クライアントとSPN間のアクセスに使用される新しいセッションキー、そして新しいサービスチケットサービスチケット(新しいセッションキー、ユーザー名、ユーザーグループを含む)が含まれています。 承認されたSPNキーとSPNにアクセスするセッションキーは、TGT内のセッションキーで暗号化されています。 サービスチケットは対応するSPNサービスアカウントのパスワードで暗号化されています。

1. 上記の処理後、ユーザーはアプリケーションサービスに関連するセッションキーとサービスチケットを取得します。 ユーザーはアプリケーションサービスにアプリケーションリクエスト(AP_REQ)を送信し、これにはユーザー名とタイムスタンプが含まれ、セッションキーで暗号化されます。

2. アプリケーションサービスはサービスアカウントパスワードのハッシュを使ってサービスチケットを復号し、ユーザー、ユーザーグループ、セッションキーを抽出します。 復号したセッションキーでAP_REQ内のユーザー名とタイムスタンプを復号します。 AP_REQ もしそうなら、リクエストは受け入れられ、アプリケーションサービスはサービスチケット内のユーザーグループ情報に基づいて権限を割り当て、ユーザーはリクエストされたサービスにアクセスできます。

元の住所:ハイパーリンクのログインが見えます。





先の:Windows EdgeブラウザがIEでクラッシュソリューションを開く
次に:ドメイン名解決のためのDNS-over-HTTPSおよびDNS-over-TLSによる
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com