デジタル証明書の中身について

さて、前回(SSLによる暗号化の仕組み)に引き続きSSLのお話。前回はデジタル証明書が「非対称鍵を使った高度な暗号化」、「証明者を持つ者の確実な認証」を実現するポイントとなることについて触れた。デジタル証明書には非対称鍵の片方である「公開鍵」と、「デジタル署名」という2つの重要な要素が含まれる。今回はこのデジタル証明書の内容について書いていこうと思う。

非対称鍵(公開鍵)

暗号には、暗号化と復号化を同じ鍵で行う対照鍵暗号と、異なる鍵で行う非対称鍵暗号の2つの方式がある。

  • 対照鍵暗号方式
    • 対象鍵鍵暗号の例は、「文字コードを6つシフトする」といったものがある。復号化するためには、文字コードを逆に6つシフトすればよい。この方法は簡便だが、鍵を知られてしまった場合にはすぐに解読されてしまう。かつ、通信者は互いに鍵を知っている必要があり、通信者同士が鍵を内密に共有できる関係であることが必要になってくる。
  • 非対称鍵暗号方式
    • 一方、非対称鍵は暗号化と復号化で異なるペアの鍵が必要で、暗号化する者が一方を、復号化する者がもう一方を持っている必要がある。非対称鍵暗号を利用すると、強力な鍵暗号化を実現できると同時に、見知らぬ者同士でも安全に暗号化通信を行えるというメリットがある。

デジタル署名

デジタル証明書の重要な要素。デジタル証明書によってその証明書の発行者を確認したり、証明書に改ざんがないことを確かめることができる。デジタル証明書の内容を以下にまとめる。なおデジタル証明書は、実際にはバイナリの単なる電子ファイルである。

  • デジタル証明書の内容
    • 利用者の情報(名前など)
    • 利用者の公開鍵
    • 認証機関の名前(「べリサイン」など)
    • 証明書の有効期間
    • 認証機関のデジタル署名
  • デジタル署名の効果
    • デジタル署名によって、証明対象が真正であることを確認できる。
    • 署名するときには証明書の内容を署名者(=認証機関)の秘密鍵で暗号化したものがデジタル署名であり、デジタル署名を証明書に追加して、証明書が完成する。
    • 証明を検証するときには、証明書のデジタル署名を、署名者(=認証機関)の公開鍵で復号すると、証明書の内容になる
    • 受け取った証明書自体のデータ内容と、復号して得られた証明書のデータ内容が一致すれば、受け取った証明書が改ざんされていないことが確認できる。また、認証機関の公開鍵で復号化できることによって、認証機関が署名した信頼できる内容であることが確認できる。

さて、今回はこれで終了。次回はSSLのハンドシェイクについて書いていこうと思う。(⇒SSLハンドシェイクの仕組み)