私が理解しているように、
- SPN は、Windows サービスの認証ツールです。
- Kerberos はユーザー認証サービスです
- SPNEGO-GSSAPI は、これらのサービスを利用できるサードパーティ API です。
- SSPI : SPNEGO から SPN サービスにリクエストを送信するニュートラル レイヤーです。
私は完全に迷っていますか?
それがどのように機能するかを理解しようとしていますが、情報は正確すぎるか、十分ではありません。
私が理解しているように、
私は完全に迷っていますか?
それがどのように機能するかを理解しようとしていますが、情報は正確すぎるか、十分ではありません。
より詳細な回答:-
SPN - サービス プリンシパル名。これは、KDC 実装 (AD、OpenLDAP など) の各アカウントに関連付けられた識別子です。基本的に、アカウントがクライアントが認証するサービスとして機能する場合、クライアントは通信先の「誰」を指定する必要があります。この「誰」の識別子が SPN です。これが厳密な定義です。多くの人は、サービスのクライアント名 (UPN - ユーザー プリンシパル名) を SPN と呼んでいます。これは、サービス自体がクライアントとして機能する可能性がある場合に発生します (google the delegation scenario)。これは厳密には正しくありませんが、広く正しいと考えられています。
Kerberos は認証用のプロトコルです。フレームワークの名前です。これには、サード パーティ サーバー (KDC またはキー配布センターと呼ばれる) が含まれ、チケット (認証トークン) を取得する一連の手順が含まれます。とても複雑なので http://en.wikipedia.org/wiki/Kerberos_(protocol)
ある程度、あなたはこれを正しく理解しました。GSSAPI は API ですが、SPNEGO はそうではありません。GSSAPI は、使用する認証メカニズムに技術的に依存しませんが、ほとんどの人はそれを kerberos 認証に使用します。SPNEGO は、HTTP ドメインでの認証ベースの通信用の RFC を宣言するという意味で、疑似メカニズムです。厳密に言えば、SPNEGO は仕様ですが、ほとんどの人はそれを実装と見なしています。たとえば、Sun および IBM JDK は SPNEGO トークン生成用の「メカニズム プロバイダー」を提供しますが、実際の呼び出しには GSSAPI が使用されます。これは多くのプロジェクトで行われています(サーバーとしてのTomcatは私の頭に浮かぶ例であり、この質問に答えた人の1人がそれを開発しました)。
SSPI は Windows の GSSAPI に類似しています。これは、GSSAPI と非常によく似た処理を行う別の API です。
あなたの理解のほとんどすべてが間違っています。
ここに行きます: