PKIの基礎まとめ (2) 実習編

EasyCertを使ってpractice!

EasyCertって便利。GUIでできてしまうとOpenSSLはめんどう。

図のような階層型CAモデルを想定。(久々にtgif使った、CentOS 4.3 on VMwareにて。)

  • Aliceの信頼点はAliceCA、Bobの信頼点はBobCA

まず準備として以下の証明書を発行

やってみることは、

  1. BobCAからTop CAへの相互認証証明書(CA証明書)を発行し、自分からの証明パスを確認すること。認証パスは、BobCAの自己署名証明書(信頼点) -> BobCAからTop CAへのCA証明書 -> TopC CAからAliceCAへのCA証明書 -> AliceEEの公開鍵証明書 -- これで、AliceがBobに送る署名付きメッセージを検証できる。
  2. Top CAをブリッジCAに見立てる。Top CAからBobCAに対するCA証明書を作成し、公開する。これによって、他のユーザが、BobEEの証明書を信頼できるようになる。

続いて、EasyCertの設定をメモ

それぞれの証明書の設定内容(特にissuer, subject, Basic constraints、keyUsage、Authority Key Identifier, Subject Key Identifier)に注意しよう。発行した証明書の中身を見て確認すること。

1. CA自己署名証明書の作成
  • 鍵長 2048bitで作成
  • Basic Constraints: CA True
  • keyUsage: 何もチェックしない。
  • Authority Key Identifierを証明書に追加する、Key Identifierを付加する
  • Subject Key Identifierを証明書に追加する
  • 自己署名証明書の場合、Authority Key IdentifierとSubject Key Identifierは同一。
  • AliceCA, BobCAも同様のため省略
  • ちなみに、CAの証明書ファイルは、Program Files\EasyCert\〜CAの下に生成されている。
2. EE証明書の作成
  • CAを選択し、Cert ExtentionsでEE証明書の設定内容を変更。
  • Basic Constraintsはなし
  • keyUsageはdigitalSignature, dataEnciphermentにチェック
  • Authority Key Identifierを証明書に追加する、Key Identifierを付加する
  • Subject Key Identifierを証明書に追加する
3. Top CAからAliceCAへCA証明書発行
  • Top CAオブジェクト(issuer)を選択して、Cert Extentionsを設定
  • Basic Constraints: CA True
  • keyUsage: keyCertSign(証明書の署名を検証する)、cRLSign(CRLの署名を検証する)
  • Subject Input Dialogで、ou=AliceCA, o=TESTORG, c=JPとして作成。

ここまでで、Top CA -> Top CAからAliceCAへのCA証明書 -> AliceEE公開鍵証明書の認証パスが通ると思っていたのだが、通らない...orz

いきなり躓いた。。深夜になってしまったので、また明日。(って、まだ課題が残っているんだけど。)