次のページ 前のページ 目次へ

1. 概要

1.1 公開鍵暗号

  従来の暗号化方式では一本の鍵のみ(共有鍵暗号)で暗号化を実現している。送信者はある鍵を使ってメッセージ文を暗号化し、暗号文を受信者に送る。受信者は送信者に使われた同じ鍵を使い、暗号文を復号化をするまでメッセージを読むことはできない。つまり、この共有の鍵は第三者に知られざる絶対安全(機密)な通信路で受信者に渡さなければならない。他人にこの機密な共有鍵が得られた場合、この暗号化方式は全く無意味である。

  公開鍵暗号と呼ばれる暗号化方式はこの問題を解決した。公開鍵暗号はペアとなる二本の鍵を利用する。片方は公開鍵と呼び、任意の方式、媒体を介して転送することができ、誰でも公開鍵にアクセスし、内容を所有することができる。もう片方は秘密鍵と呼び、所有者のみがアクセスし、利用することができる。そして、公開鍵から秘密鍵の内容を推算することはできない特徴を持つ。送信者は受信者の公開鍵を使い、メッセージ文を暗号化して送信する。受信者は自分の秘密鍵を使い、受信した暗号文を復号化し、メッセージの内容を読むことができる。つまり、公開鍵で暗号化したものを、秘密鍵でしか復号化できない仕組である。

  注意しなければならない要素は、秘密鍵を必ず安全な場所に保存し、その内容を外部に、或は所有者以外の如何なる者に渡してはいけない。 この鍵をインターネット経由で転送してはいけない。 また、GnuPGを telnet 経由で利用するのは如何に愚かな行為であることは言うまでもない。貴方はこのような使い方ではセキュリティ上に非常に高いリスクを伴うことを認識すべきなのだ。

1.2 電子署名

  電子署名という概念は、メッセージの内容は確かに本当の送信者から送られたことを検証するために提案された。その名の通り、送信者はメッセージに対してデジタル的な署名を行う。このアルゴリズムによって、メッセージの真実性、完全性を検証することができる。この作法を用いて、「トロイの木馬」からの危害を避けることができる。(つまり、一通のメッセージはあるバグを修正する為のパッチを名乗り、実際は中にはコンピュータウィルスか、なにかの破壊性を持つものが含まれていて、あなたのコンピュータを腐食する。)同時にメッセージは合法的な来源によるものと、内容は真実であることを検証することができる。

  一つの電子署名はメッセージそのもの自体と秘密鍵で暗号化したメッセージ文の組合せから作られる。送信者の公開鍵を用いて、暗号文の内容を復号化する。得られた結果を生のメッセージ文と比較することによって、メッセージは本当に送信者によるものか、その内容は完全性を持ち、転送される途中で改ざんされていないかを確認することができる。

1.3 信用の輪

  公開鍵暗号の一つの弱点は、如何に公開鍵を配布することである。あるユーザは流通されている一つの偽造された公開鍵を入手し、この公開鍵でメッセージを暗号化するとして、この偽公開鍵の秘密鍵を持つクラッカーは、暗号文を復号化し、内容を盗むことができてしまう。さらにこのクラッカーは本当の公開鍵でメッセージを暗号化した上で転送すれば、気付かれずに済むのだ。

  この問題を解決するために、PGP(同時にGnuPGも)は公開鍵に対して署名を行うことにした。いずれの公開鍵は相応する所有者が居る。ある一人の公開鍵は、他者に署名してもらう。署名はこの公開鍵が確実に本当の所有者によるものだと宣言する。この署名を信用するかどうかは、GnuPGのユーザ自身が決める。ある公開鍵に署名した者を信用しているであれば、この公開鍵は健全であることを信用し、そしてこの鍵は相応する所有者のものであることを信用できる。この公開鍵に署名した者を信用したときのみ、署名の真実性を信用できる。ある鍵の完全性と真実であることを確認する為に、貴方は安全且つ確実な通路を通じて、署名の「指紋」を確認しなければならない。

1.4 安全の境界線

  もしあなたはあるデータを秘密にしたいなら、単に内容を暗号化するだけでは守れるとは限らない。あなたのシステムの全体的な安全性に配慮すべきだ。一般的には我々はPGPは安全であると見なす。筆者はこのドキュメントを作成した時点ではまだPGPがクラッキングされた事例はない。ただし、これはPGPの暗号化で保護されているものが全て安全であると表しているとは言えない(例えば、もしNSA--米国国家安全局--のような機構がPGPのクラッキングに成功したとしても、私に連絡をいれることはまずない。その他のクラッカーもおそらく同じことをしないだろう)。逆に言えば、仮にPGPは絶対に「ハッキングできない」としても、他の方法でシステムを攻撃することができる。1999年2月の初めに、ある種の「トロイの木馬」の存在が確認された。このプログラムは、ハードディスクに格納されているPGP鍵を検索し、キャッチしたものをFTPを通じて送信する動きをとる。もしパスワードがうまく選択されていないなら、これらの鍵を簡単にクラッキングされるだろう。

  ほかにも可能な技術(実現するのは難しいかもしれないが)が「トロイの木馬」を利用して、ユーザのキーボード入力を外部に転送する。さらに画面の内容を送ることもできる(難易度はもっと高い)。この種の技術を使えば、暗号文の復号化するまでもなく、完全に機密が洩れてしまうのだ。これらの危険性から身を守るには、熟慮された、安全的なセキュリティ保護プランを計画する必要がある。

  ここまで述べたのは、あなたが病的深い疑いに陥れることを望んでいるからではない。より安全性を図る為には、多くの措置が必要であることを念頭に入れて頂きたいからだ。最も重要なのは、暗号化というものは、全てを解決する方法ではなく、安全的なレベルに達するまでの一つのステップに過ぎないことだ。トロイ木馬が初めて1999年3月のMelissaウィルスに現れたのも、多くの企業はこの種のアタックにまったく無防備であったことを証明している。


次のページ 前のページ 目次へ

$Id: GPGMiniHowto-1.html 14 2005-08-07 17:26:04Z dan $