盗聴防止とは、メッセージの内容を第三者に盗み見られることを防止する機能です。
この機能では、最初にメッセージ本文を対称鍵と呼ばれる鍵で暗号化します。この対称鍵は、メッセージの送信ごとに動的に生成されます。この鍵と同じ物を生成することは不可能であり、第三者による同一鍵の生成を防止します。そして、この対称鍵を相手システムの公開鍵を用いて暗号化し、先に暗号化したメッセージ本文と共に送信します。受信時は、唯一自分だけが持っている秘密鍵を用いて暗号化された対称鍵を復号します。さらに、復号した対称鍵を用いて暗号化されたメッセージ本文を復号します。公開鍵と秘密鍵を用いることにより、第三者による暗号化された対称鍵の復号は不可能になり、メッセージの盗聴を防止します。
盗聴防止の仕組みを図11.8 盗聴防止の仕組み(送信時)および図11.9 盗聴防止の仕組み(受信時)に示します。
なお、鍵などの用語や暗号化方式の詳細については、“11.2.3.3 暗号化方式”を参照してください。
図11.8 盗聴防止の仕組み(送信時)
図11.9 盗聴防止の仕組み(受信時)
改ざん検出とは、電子署名(暗号化したMD(Message Digest))を用いることにより、第三者によってメッセージの内容を書き換えられたことを検出し、警告する機能です。
この機能では、メッセージ本文からMDアルゴリズムを用いてMDを生成し、送信者(自システム)の秘密鍵で暗号化します。暗号化したMDを電子署名と呼びます。電子署名は、メッセージ本文と共に相手システムに送信されます。相手システムは、受信内容からメッセージと電子署名を取り出します。電子署名を送信者の公開鍵で復号し、MDを取出します。また、メッセージ本文から送信元と同じMDアルゴリズムを用いてMDを生成します。この生成されたMDと復号したMDを比較して、違いがあった場合には、改ざんがあったことを警告します。
なお、改ざん検出の仕組みや電子署名の用語については、“11.2.3.3 暗号化方式”を参照してください。
暗号化は、DES(Data Encryption Standard)とRSAアルゴリズム暗号(Rivest、Shamir、Adlemanが開発した素因数分解問題を用いた公開鍵暗号アルゴリズム)を組み合わせて行われます。
DES: 暗号化した鍵と同じ鍵(対称鍵)で復号する秘密鍵暗号方式
RSAアルゴリズム暗号: 同一でない秘密鍵と公開鍵(非対称鍵)で暗号化・復号を行う公開鍵暗号方式
送信側システムAで暗号化し、受信側システムBで復号する流れを図11.10 暗号化の流れに示します。
図11.10 暗号化の流れ
[用語および図の説明]
一つの鍵で暗号化/復号を行います。鍵の種類は、DES-CBC(Data Encryption Standard - Chipher Block Chaning)、TripleDES、RC2アルゴリズム暗号、RC5アルゴリズム暗号などがあります。特徴は、暗号化/復号の処理が速いことです。
公開鍵と秘密鍵のペアの鍵(鍵ペアと言います)のことで、暗号化/復号で使用します。鍵の種類は、RSAアルゴリズム暗号などがあります。特徴は、公開鍵で暗号化したものは、秘密鍵でのみ復号できます。また、秘密鍵で暗号化したもの(電子署名)は、公開鍵でのみ復号できます。
世の中に公開可能な非対称鍵で、暗号化/復号どちらも可能です。対応する秘密鍵と一緒に使用します。公開鍵は、証明書の中に含まれています。証明書発行局(CA:Certificate Authority)で取得します。
本人以外は非公開の非対称鍵で、暗号化/復号どちらも可能です。公開鍵を作成するときに同時に作成されます。
メッセージ本文の特徴を一定のビット列で表した、言わば指紋のようなものです。SHA1(Secure Hash Algorithm 1)、MD2、MD5などの一方向性ハッシュ関数を用いて生成します。受信時には、送信時に使用したハッシュ関数を用いてメッセージ本体からMDを生成し、受信MDとの双方を比較することで改ざんの有無をチェックできます。
MDを秘密鍵で暗号化したものです。暗号化できるのは秘密鍵の所有者だけなので、署名と呼ばれます。受信時には秘密鍵に対応する公開鍵で復号することでMDが取り出せます。
PKCS(Public-Key Cryptography Standards):
RSA Data Security社が提唱している暗号化技術です。S/MIMEは、PKCSを使用したインターネット電子メールシステムの規格です。
PKCSの一つで、電子署名処理や暗号化処理を施されたデータの送受信で用いられます。
証明書発行局で、身分証と公開鍵を審査した後発行されるもので、有効期限、発行者(証明書発行局)情報、ユーザ情報、ユーザ公開鍵情報などの内容が含まれます。言わば、公開鍵の印鑑証明書の様なものです。証明書発行局の秘密鍵により暗号化され、改ざんから保護されています。証明書を使用した運用を行うには、事前に通信相手と証明書の交換を行う必要があります。
データ内容:(図11.10 暗号化の流れの中の※の説明)
盗聴防止の有無、改ざん検出の有無の組合わせによりデータ内容が以下のように変わります。
盗聴防止と改ざん検出の両方を行う場合は、(1)MIME化平文メッセージと(2)電子署名をまとめて暗号化したものがデータ内容になります。
盗聴防止だけの場合は、(1)MIME化平文メッセージを暗号化したものがデータ内容になり、(2)電子署名はデータ内容に含まれません。
改ざん検出だけの場合には、(1)MIME化平文メッセージと(2)電子署名がデータ内容になり、暗号化はされません。