鍵共有

メッセージの暗号化には,処理速度が速いことから一般に共通鍵暗号が用いられる.しかし,共通鍵暗号を用いるには事前に秘密鍵を共有しておく必要がある.

これを実現する方法には次のような方式がある.

共通鍵暗号を利用した鍵共有

鍵配送センターを利用した鍵共有方式として Kerberos がある.

Kerberos では,Key Distribution Center (KDC:鍵配送センタ) を介して鍵の共有を行う. すべての参加者は KDC を信頼し,KDC のみが信頼性の責任を持つことを前提にする. KDC は各参加者とそれぞれ秘密の鍵(暗号鍵)を共有する.KDC はこの秘密の鍵を通じて参加者の身元を確認する.

$A$ が $B$ に対する認証を行なう場合の手順は次のようになる.

  1. $A$ は KDC に対し,$B$ に対するチケットの発行を依頼する.
  2. KDC はこの要求に対して,$B$ に対するチケットを含む証明書と呼ばれるデータを $A$ の鍵で暗号化したものを $A$ に返す.
    この証明書には,$B$ に対するチケットの他にセッション鍵が含まれている. チケットには,$A$ に関する情報とセッション鍵が含まれており,全体が $B$ の鍵で暗号化されている.
  3. $A$ は受け取った証明書を自分の鍵で復号し,チケットとセッション鍵を取り出す.このチケットを $B$ に送る.
  4. $B$ は自分の鍵でチケットを復号し,$A$ の情報とセッション鍵を取り出す.

この手順により,$A$ と $B$ は同じセッション鍵を共有する.$B$ は,チケット内の情報から $A$ の身元が分かる.また,$A$ が KDC からの証明書を復号してチケットを取り出せたことから,チケットを送った相手が間違いなく $A$ であると分かる.
一方,$A$ は $B$ とセッション鍵を用いて正しく通信が行なえれば,$B$ が KDC が暗号化したチケットからセッション鍵を取り出せたことから,$B$ は目的の相手であることが分かる. このように,第三者である KDC を介して相互認証することができる.

公開鍵暗号を利用した鍵共有

inserted by FC2 system