Microsoft IE パッチ KB974455 により、統合 Windows 認証の「拡張保護」が有効になったようです。通常、SPNEGO/Kerberos 認証では、クライアント マシンはサーバーの Kerberos/Active Directory チケットを取得し、HTTP 認証ネゴシエーション中にこのチケットを提示します。少なくとも Java 1.6 では、Java JGSS-API ライブラリは SPNEGO/Kerberos ネゴシエーションを解釈し、チケットを認証できます。
Extended Protection ( Extended Protection for Authenticationも参照) を使用すると、IE は SPNEGO ネゴシエーションにチャネル バインディングを追加します。SSLセッション識別子がその一部であるように見えることを除いて、チャネルバインディングがどのデータに基づいているかは現在不明です。Java JGSS-API ライブラリは、チャネル バインディングの検証を試みますが、バインディングの基になっているデータがないと検証できません。次に、チャネル バインディングの不一致例外をスローします。
この問題により、Sun Bug ID 6851973を含む一部の インターネット トラフィックが発生しました。
6851973 に関連するコメントによると、RFC 4121は次のように述べています。
GSS_Accept_sec_context [RFC2743] の呼び出し元が GSS_C_NO_CHANNEL_BINDINGS [RFC2744] をチャネル バインディングとして渡す場合、アクセプタは、イニシエータがチャネル バインディングを渡した場合でも、イニシエータによって提供されたチャネル バインディングを無視してもよい[MAY]。
および「すべての主要な krb5 実装者がこの 'MAY' を実装します」。JGSS は、イニシエーターがチャネル バインディングを提示している場合、アクセプターがチャネル バインディングを提供することを要求しているようです。さらに、この修正は Java 7、ビルド 64 で利用可能であり、Java 5 および 6 に移植される予定ですが、6851973 で報告されているように、Java 6u18 には修正が含まれていないようです。
認証の拡張保護に見られる回避策は、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\SuppressExtendedProtection
レジストリ設定を 0x02 にします。これにより、拡張保護が無効になります。