PGP暗号化電子メール

  1. PGP暗号化電子メールソフトについて

    PGPは、RSA公開鍵暗号方式(内部でIDEAを使用)の暗号化電子メールです。 1994年5月、MITが米国国内用のPGP2.6を発表しましたが、輸出規制があった にもかかわらず、PGP2.6が発表されて数日以内に、ヨーロッパのFTPサーバ に現れたことで有名です。

    日本では、インターナショナル版(MIT版と互換性あり)のPGPが使用可能です。 現在、PGPソフトは暗号化機能だけなので電子メールを送信する場合はメールソフトとペアで使用する必要があります。

    • 2.6.3ia
      最も広く使われており,PGPの標準となっています. 米国以外での使用は合法です.

    • 5.0i
      暗号には米国の輸出制限がつきものですが,5.0i は The PGPi scanning project (プログラムを「本」の形で輸出) によりその制限をクリアしました。 Windows 95/NT 版は, GUI をサポートしています。また、5.x は上位互換なので,5.x で暗号化すると,2.6.3iaでは解凍できません。

    • 5.5.3i

      Outlook Express, Eudora Pro 用の plug-in があります.ただし,日本語を使うと,クリップボードエディタが文字化けするなど多少問題があります.

    (暗号化の概要図)



  2. 鍵の作成と証明

    PGPを用いて鍵を作成するには、鍵の長さ、ユーザID、パスフレーズ、 打鍵速度から選られる乱数を用います。そして、公開鍵と秘密鍵を同時 に作成し鍵ホルダーに格納します。

    鍵ホルダーには、他人の公開鍵も格納することができます。また、他 人の公開鍵に自分の証明を付け加えることもできます。

    鍵は、単なるビット列ですが、それを要約して128ビットの数字にした 鍵指紋(鍵のMD5値: Key fingerprint)と呼ばれるものを利用して、鍵の 所有者を確認することができます。

    鍵を作成するためのデータ
    鍵の長さ512,768,1024から選択可能だが1024bitにしておく
    ユーザIDなんでもよいが、通常は電子メールアドレスにする
    パスフレーズ暗号化されている秘密鍵を復号化するために使用する
    乱数キーボードの打鍵間隔から乱数を採取し、鍵作成の種にする


    私の公開鍵(秘密鍵も同時に作成されている)
    Type Bits/KeyID Date User ID
    pub 1024/731444D9 1996/06/19 sakaida@psn.or.jp

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: 2.6.3ia

    mQCNAzHHcvwAAAEEANaaVdHBL4gyF1oojqWqd7qyA4RIIoYwhZma0pUg16/pcs3c
    hVfOlobKddysRi+1tgyr1KPb9HLJUG8ZwsYjOxcxoboQ2Ex/YxfjH24inDOO8HQA
    mesagqjCsUYoUfbl/xM1udX8FGClnBHUqfNW3VtvpJoHcsblMaUtC+xzFETZAAUR
    tBFzYWthaWRhQHBzbi5vci5qcIkAlQMFEDHHcvylLQvscxRE2QEBn0gD/2jNrGOc
    aBPjGJTzrWIBkxvlSbbodiTsgslUuLaDTUtdeyababX/hkxRDmFwXjd/oMVY/kPs
    TVTH+scOoimZ9A8V0NekcHmCHmeGQO/nb0lBjdzbzEyTnMbVVVRYEQfe+pcSX4aD
    la1YuajkTCd9S0XsK4OKFvrbIjG+UTzyAQm6
    =q3Yr
    -----END PGP PUBLIC KEY BLOCK-----


    私の公開鍵ホルダー(秘密鍵ホルダーも作成されている)
    pub 1024/2DE30EC1 1994/03/31 CERT Coordination Center
    sig! 731444D9 1996/06/27 sakaida@psn.or.jp
    sig! 2DE30EC1 1994/03/31 CERT Coordination Center
    Key fingerprint = E6 DD E6 E9 97 6B 4C FB 2E 91 02 68 DC B4 85 9A
    pub 1024/1368FE8D 1996/06/19 info@psn.or.jp
    sig! 731444D9 1996/06/19 sakaida@psn.or.jp
    sig! 1368FE8D 1996/06/19 info@psn.or.jp
    Key fingerprint = F3 A1 75 90 C9 5F 0B F3 97 AE B2 DE E5 12 2C E7
    pub 1024/731444D9 1996/06/19 sakaida@psn.or.jp
    sig! 731444D9 1996/06/19 sakaida@psn.or.jp
    Key fingerprint = 67 A1 58 A1 70 F5 92 C6 24 E5 0C 6C E4 C4 77 ED
    pub:公開鍵、sig!:証明者、Key fingerprint:鍵指紋


    私の電子メールの最後につけるサイン
    --
    [PSN] PS Internet Services
    境田雅明(sakaida@psn.or.jp)
    Key fingerprint= 67 A1 58 A1 70 F5 92 C6 24 E5 0C 6C E4 C4 77 ED
    My pubring key= ftp://ftp.psn.or.jp/pub/PGPkey/sakaida@psn.or.jp


  3. メールの暗号化

    (発信側)
    メールのメッセージを暗号化する場合は、まず、送信相手の公開鍵を取得し、自分の鍵フォルダーに格納しておきます。次に、送信相手の公開鍵を指定(具体的には、相手の電子メールアドレス) してメールを暗号化します。

    (受信側)
    受け取ったメールのメッセージを復号化する場合は、パスフレーズを入力 します。パスフレーズを入力すると、自分の秘密鍵が取り出され、それを用 いて復号化が行われます。


    暗号化したいメール
    7月30日午前10時に天満橋で会いましょう。


    暗号化されたメール
    -----BEGIN PGP MESSAGE-----
    Version: 2.6.3ia

    hIwDpS0L7HMURNkBA/4qk4BDXaiLag9tOS8srdd09IP4Pbocw8ERnYZKc8BJZHRq
    bmePoSNRpv8QwRPttwB3pkUhPH9ET5BbGiyuw36hLvIet5z5ot3RS+XnfSz1Tyxw
    xkXT+nNDCE6Gntb6JqBUym2/FRowwMNOc1bnKD6eIqZfekDUWBuHKSRduH6BfqYA
    AAA3YBJcBDcrQtcIuA5R+bvivZ8gc8Fx3JCcUtW4yH+embVTTSUw+xTt0JSUoo93
    u5+LHGrrzBESSg==
    =00WV
    -----END PGP MESSAGE-----


  4. 電子署名

    (発信側)
    電子署名を行うときは、パスフレーズを入力するだけです。パスフレ ーズによって自分の秘密鍵を取り出し、それを使用して電子署名を行う ことになります。

    (受信側)
    電子署名を確認するときは、送信元の公開鍵を指定(具体的には、相 手の電子メールアドレス)します。もし、電子署名が正しくない場合は 警告メッセージが表示されます。

    署名したいメール
    7月30日午前10時に天満橋で会いましょう。

    署名されたメール
    -----BEGIN PGP SIGNED MESSAGE-----

    7月30日午前10時に天満橋で会いましょう。

    -----BEGIN PGP SIGNATURE-----
    Version: 2.6.3ia
    Charset: noconv

    iQCVAwUBMey8R6UtC+xzFETZAQEnUAP+N30di02slY+rRYa2gBJ2u2ImWofjeyks
    1AkvsN9errDk4N/VcFmc3d6F4heDkiy87u3XAVoulz2orb9xZ3qFveoEZp3QLLa6
    Pkzs6/N1nmJZFZFlf1M8yUR5WZTbyaVHQmC1AuSZhJsM8+8S/+IbpXVPJJ68M4JE
    cDYBT86eekM=
    =UE6f
    -----END PGP SIGNATURE-----