次の方法で共有


キーの配布

秘密鍵認証手法では、クライアントとサーバーが、相互にセッションで使用するセッション・キーを取得する方法については説明しません。 彼らが人々であれば、秘密で会い、キーに同意することができます。 ただし、クライアントがワークステーションで実行されているプログラムで、サーバーがネットワーク サーバーで実行されているサービスである場合、そのメソッドは機能しません。

クライアントは多くのサーバーと通信したいと考え、それぞれに異なるキーが必要になります。 サーバーは多くのクライアントと通信し、それぞれに異なるキーが必要です。 各クライアントがサーバーごとに異なるキーを必要とし、各サーバーがクライアントごとに異なるキーを必要とする場合、キーの配布が問題になります。 さらに、多くのコンピューターに多くのキーを格納して保護する必要があり、セキュリティ 上の大きなリスクが生じます。

Kerberos プロトコル の名前は、キー配布の問題に対する解決策を示しています。 Kerberos (または Cerberus) は、古典的なギリシャ神話の人物で、熾烈な 3 頭の犬で、侵入者が冥界に入ることを防ぎ続けました。 神話上のガードと同様に、Kerberos プロトコルには、クライアント、サーバー、信頼できるサード パーティの 3 つのヘッドがあります。 このプロトコルの信頼できる中継局は、キー配布センター (KDC) です。

KDC は、物理的にセキュリティで保護されたサーバーで実行されているサービスです。 その領域にすべてのセキュリティ プリンシパルのアカウント情報を持つデータベースを保持します。 領域は、Windows のドメインと同等の Kerberos です。

KDC は、各セキュリティ プリンシパルに関するその他の情報と共に、プリンシパルと KDC にのみ認識される暗号化キーを格納します。 これは、各セキュリティ プリンシパルと KDC 間の交換で使用マスター キーです。 Kerberos プロトコルのほとんどの実装では、このマスター キーは、セキュリティ プリンシパルのパスワードから ハッシュ 関数を使用して派生します。

クライアントがサーバーとのセキュリティで保護された接続を作成する場合、クライアントは、アクセスするサーバーではなく KDC に要求を送信することから始めます。 KDC は、クライアントとサーバーが相互に認証するために使用する一意の セッション キー を作成してクライアントに送信します。 KDC は、クライアントのマスター キーとサーバーのマスター キーの両方にアクセスできます。 KDC は、サーバーのマスター キーを使用してサーバーのセッション キーのコピーを暗号化し、クライアントのマスター キーを使用してクライアントのコピーを暗号化します。

KDC は、関連する各セキュリティ プリンシパルにセッション キーを直接送信することで、信頼できる仲介者としての役割を果たすことができますが、実際には、この手順は多くの理由で機能しません。 代わりに、KDC は両方の暗号化されたセッション キーをクライアントに送信します。 サーバーのセッション キーは、セッション チケットに含まれています。