[Edit][Create New]
[ IndexPage / ネットとプログラミング / web296 / No16.txt ]

No16.txt

さて、前回までかなりぶっ飛ばして専門用語が飛び交う連載になってしまった
のですが、今回は少し息抜きとして、専門用語を押さえ気味にしてネットワー
クのセキュリティについて解説していきます。

前回までは、どちらかと言うと「盗聴する側」の方の話を進めてきましたが、
今回は「盗聴から守る側」の話です。

ネットワーク上のデータはどうやれば盗聴できないか? これは簡単そうで実は
結構難しいのです。ネットワーク上を流れるデータは、文章であれ画像であれ、
すべて数値化できるデータなので、これを守るためには「暗号化」という方法
を使います。

これが現実世界の暗号なら、仲間同士しかいない所で暗号の解読の方法(これを
「鍵」と呼びます)を交換しあえば、あとは手紙だろうが電話だろうが、暗号が
ばれる事はありません。しかしネットワーク上になると、この「仲間同士しか
いない」という環境がないので、ちょっと話が複雑になります。

つまり、鍵の交換それ自体が盗聴される恐れがあるのです。これでは安全な暗
号のやりとりが出来ません。

これを解決するのが、一般に「公開鍵方式」と呼ばれる暗号方式です。これは、
一般の暗号とちょっと違う独特の特徴を持っています。今日はこれを解説します。

この暗号には、2つの鍵を使います。仮にこれをA鍵・B鍵とすると、A鍵で暗号
化した暗号文は、B鍵でしか復号(暗号文を元に戻すこと)出来ないのです。逆に、
B鍵で暗号化したものは、A鍵でしか復号できません。

これで、どうすれば安全にデータのやり取りが出来るのでしょうか?

まず、データをやり取りしたい2者の片方(Xさんとします)が、このA鍵とB鍵を
作成して持ちます。このうち、どちらでもいいのですが、片方を「秘密鍵」と
し、もう片方を「公開鍵」とします。

そして、このうち「秘密鍵」は内緒にして、誰にも教えないようにします。逆
に「公開鍵」は、誰にばれても構いません。

さて、ここで鍵を持っているXさんが、通信相手(Yさんとします)に「公開鍵」
の方を渡します。これは別に盗まれても全く構いません。そして、鍵を受け取
ったYさんは、この公開鍵で送りたいデータを暗号化します。そして、暗号文を
Xさんに送ります。これも盗まれても構いません。暗号文は「公開鍵」で暗号化
されたので「秘密鍵」でしか復号できないからです。

盗まれる可能性のあるものは「公開鍵」と「暗号文」だけですから、第三者に
通信の内容がばれることはないのです。

暗号文を受け取ったXさんは、内緒の「秘密鍵」で復号化し、安全にYさんから
データを受け取る事ができるのです。

なお、これを使うと「署名」や「指紋」と呼ばれる仕組みも実現できます。こ
れは、誰がそのデータを書いたのかの証明になるものです。

より深く理解したい方は、http://www.web296.com/ から、「公開鍵方式」や
「PGP」などで検索してみて下さい。
興味深いページがヒットすると思います(宣伝)。