PGP 用語説明


全然充実してない用語説明。 五十音順に並べるべきだろうか・・・・

共有鍵方式

暗号化と復号を1つ (同一) の鍵でおこなう暗号方式。 概念的には普通の扉の鍵と同じように 1つの鍵を使って開けたり閉めたりします。

長所として、公開鍵方式より小さい (低ビットの) 鍵でも高い安全性を保てます。 また、暗号化や復号の処理が高速におこなえます。

短所は、鍵の仕組み上、もし鍵が盗まれた場合、誰でも暗号文を解読できてしまい、また、1つの鍵を他人と共有するため、必ず鍵の受け渡しを必要とし、受け渡し中に鍵が盗難される危険性があります。

公開鍵方式

「公開鍵」「秘密鍵」とよばれる対となる2つの鍵を使用して暗号化と復号化をおこなう暗号方式。 一方の鍵で暗号化されたメッセージは、対となるもう一方の鍵でのみ復号できる。 そこで初めから一方の鍵を公開し、もう一方の鍵を自分専用として持つことで、共有鍵方式で問題となる鍵の受け渡しに関する危険性を無くすことができます。

暗号文を送る側は、受け取る側の公開鍵を事前に入手して、その公開鍵でメッセージを暗号化し、暗号文として送信します。 そして暗号文を受けとった側は、自分の秘密鍵で復号します。

共有鍵方式と違い、公開鍵の受け渡し中に鍵が盗まれたとしても、その公開鍵で暗号化した暗号文を復号することはできません。 公開鍵で暗号化した暗号文は、対となる秘密鍵でしか復号できないからです。

短所は、共有鍵方式よりも暗号化や復号の処理に時間がかかる点です。 また、鍵の大きさも共有鍵方式よりも大きなものを必要とします。

PGP の暗号処理

PGP を含め、公開鍵方式の暗号の多くは、実際のメッセージの暗号には共有鍵方式の暗号を使用し、その共有鍵の暗号化に公開鍵方式の暗号を使用しています。 共有鍵方式の鍵はメッセージよりも小さいため、処理の遅い公開鍵方式でも問題にならない程度の時間で処理できます。

メッセージ部はより強力で高速な処理のおこなえる共有鍵方式で暗号化し、共有鍵方式の弱点である鍵の受け渡しに公開鍵方式を使用することで、お互いの長所で短所を補い合っています。

PGP では公開鍵方式の暗号として 128bit の DES を使用しています。 公開鍵方式として 2.6.3i 以前では RSA 方式、5.0 以降は Diffie-Hellman 方式の暗号を使用しています。

電子署名

電子署名の目的

電子署名の仕組み

送信者は、MD5 を使用して、署名したいメッセージのメッセージダイジェストを生成し、これを自身の秘密鍵で暗号化し、元のメッセージと共に送信します。

署名付きメッセージを受信した側は、署名した人の公開鍵を使用して、暗号化されているメッセージダイジェストを復号します。 この時点で復号できれば、その署名は送信者がおこなったものであり、署名されていたメッセージは送信者からのものだと判断できます。

さらに、受信者側でも MD5 を使用して受信したメッセージのメッセージダイジェストを生成し、この2つを比較します。 2つのメッセージダイジェストが同一であれば、そのメッセージは改ざんされていないと判断できます。

この2段階の確認により、電子署名の目的を達成しています。

MD5

一方向性ハッシュ関数処理系の1つ。 一方向性ハッシュ関数とは、

  1. 出力値から入力を推定することは数学的に非常に難しい
  2. 入力がわずかに違うだけで、出力は大きく違った数値となる
  3. 入力の大きさに関わらず、出力の大きさは一定の数値となる
  4. 異なる入力に対して、出力が同じ値であることはきわめてまれである

という数学的特徴がある。

MD5 は、あらゆる入力に対して 128bit (16進数で32桁、10進数で約 3.4×1038) の数値を出力する。 その出力値を入力のメッセージダイジェストとよぶ。 入力がわずかでも変化していると、まったく異なるメッセージダイジェストを出力するため、同一性検査によく使われている。

電子署名では、送信者と受信者がメッセージを個別に入力し、メッセージダイジェストを 比較することで改ざんの有無を確認する。 この際、送信者のメッセージダイジェストを安全に送信するために、公開鍵方式の暗号を使用している。

また、公開鍵の fingerprint の生成にも使用している。

fingerprint

その名の通り、公開鍵の「指紋」。 MD5 による公開鍵のメッセージダイジェスト 128bit (32桁の16進数) で表される。 人間の指紋同様、同じ fingerprint を持つ鍵が存在する可能性は極めて低く、また、MD5 の性質により同一性の検査に使用できる。

公開鍵を手に入れたら、その鍵の fingerprint を出力して、その値と公開鍵の持ち主が公表している fingerprint の値を比較することで、その公開鍵の正当性を確認できる。

公開鍵を公開する人は、自分の公開鍵の fingerprint を Web ページや電子メール、名刺などで広く知らせておくとよい。 また、その値はわずか32文字であるため、電話で直接読み上げて確認することも容易である。



Kei1's Laboratory
(C) 1998-1999 K.Yamamoto, All rights reserved.
Comment to: webmaster@kei1.homeunix.org
Created : Jun 06, 1998.
Updated : May 23, 1999.