2

Active Directory ユーザーをリモート サーバーに対して認証する方法を見つけようとしています。

目標は、SPNEGO を使用して Kerberos チケットを受け取ることです。その後、Kerberos チケットを復号化して、ユーザーの ID を確立できます。

私が理解していないのは、サーバーと Kerberos 間のアクセスが必要な理由です。サービス チケットにはクライアント ID が含まれており、TGS 秘密鍵によって暗号化されているため、サーバーは Kerberos TGS にアクセスする必要はありません。チケットを復号化して、ユーザー ID を知ることができます。なぜそれが必要なのか、誰か説明してもらえますか?

http://www.adopenstatic.com/cs/blogs/ken/archive/2007/01/16/1054.aspx

クライアント ID だけが必要な場合は、ID プロバイダーや WIF などのスキームは必要ないように思えます。

4

1 に答える 1

1

この質問にはたくさんの答えがあることがわかりました...ここではそれらすべてをカバーしようとさえしません(一部は簡潔にするため、一部は詳細が曖昧になり、すべてを覚えていないためです:) )。頭に浮かぶ大きな 2 つを取り上げますが、他にもあります。

最初に、DC は KDC であるため、DC への往復について話しています。これは 1 つの見方だと思いますが、全体的な Windows 認証スタックは、縁石チケットを検証するだけではありません。たとえば、authz の決定を行うときに入ってくるチケットの表と裏を区別するには、SID 解決などの処理が必要です。そのため、多くの理由と多くのプロトコルを使用して DC (KDC など) に通信が戻されます。そのうちのいくつかは、通常、ほとんどの人にとって興味深いものである authz スタックをサポートしています。

第二に、特に縁石の場合... KDCに戻ることがセキュリティ上の価値を持つプロトコルの機能がいくつかあります。最初に思い浮かぶのは PAC 検証です。これについて読むことをお勧めします...これは、それをカバーする無数の投稿の1つです。 -validation.aspx この場合、このダウンストリーム -> KDC フローを実際に無効にするためにできることがあります (プリンシパル TCB を指定するなど)。ただし、これらのことは簡単に行うべきではありません...つまり、考慮すべき単なる「パフォーマンスの修正」以上のものです。:)

于 2012-10-13T06:24:04.093 に答える