暗号化通信の流れや仕組みについてみてみましょう。
ウェブサーバとウェブブラウザの間では以下のような流れでSSL暗号化通信が開始されます。
まずSSL暗号化アルゴリズムの合意(SSL暗号化仕様交渉)があります。
ここではウェブブラウザとウェブサーバ間の両者が使用できる一番安全なSSL暗号化の仕様を決めることになります。
続いてSSLサーバ証明書提示です。
このやり取りでウェブサーバはウェブブラウザへSSLサーバ証明書を送信し、ウェブブラウザは受信したSSLサーバ証明書を確認します。
三番目に共通鍵の元データ交換と共通鍵の生成が行なわれます。
ウェブブラウザは共通鍵の元となるデータを作成し、SSLサーバ証明書の公開鍵で暗号化してウェブサーバへ送信します。
両者は同じ元データを使用し、全く同じ共通鍵を生成します。
そして最後にSSL暗号化通信開始となります。
以降は実際のデータのSSL暗号化通信が開始されます。
電子証明書とは一言で言うと身分証明書と同じような特徴を持っています。
電子証明書のデータフォーマットは「X.509」という国際標準規格に準拠しています。
電子証明書には電子メールアドレス、有効期間、発行した電子認証局名、利用用途などを記載することができ、また電子証明書には数学的な情報が含まれております。
この情報を利用して計算することで偽造を検知することができます。
電子証明書には発行した電子認証局による電子的な署名が施されており、この署名情報により信用できるかどうかを判断することができるのです。
また身分証明書以外の機能としては、電子メールや電子データの暗号化による保護、捺印と同等の意味をもつ電子署名という機能があります。
電子証明書を利用すると、本人確認ができると同時に、電子データや通信の暗号化も実現できます。
これは、電子証明書内に情報を暗号化するための鍵が含まれており、鍵によって暗号化された内容は、その人が持つ特別な鍵だけでしか解読できないという仕組みを利用しています。
たとえ誰かが通信内容を盗聴しようとしても、情報が漏れることはありません。
電子証明書に含まれている鍵を相手に配っておけば、相手にしか開けられない鍵をかけることができます。
この電子証明書に含まれる鍵のことを「公開鍵」といいます。