インターネット標準のセキュリティ技術は「公開鍵暗号方式」というものを使っています。これは、一言でいえば、江戸時代に江戸と京都の商人がお互いを確認した方法と同じです。図11-4のように、当時は、江戸の商人が京都にいって京都の商人と取引する際、あらかじめ1枚の板を割って、その一方を京都の商人に渡し、片方を自分がもっておきます。これが割符です。こうしておけば、丁稚のようにお互いに顔を知らない代理人が、京都に行った場合でも割符がピッタリ合いさえすれば安心して取引できます。写真のない時代には大いに重宝した相手確認方法だったわけです。
図11-4 江戸時代は割符で相手確認をしていた
現在は、写真や免許証のような政府公認の身分証明書がありますから、割符の必要はありません。ところが、インターネットからくるメッセージ(現代の丁稚です)の場合、顔や身分証明書が付いているわけではありませんから、送り手を確認するための割符が必要で、これが「公開鍵暗号方式」といわれています。江戸時代との違いは、割符は板ではなく数字であること、割符をメッセージの暗号化に使う点です。
ソフトウェアの割符ですから、割符の片方をいくらでもコピーして京都の商人以外にもどんどん広報することができます。このため、広報した方の割符を「公開鍵」といいます。一方、コピーを作らず自分でもっておく方の割符を「秘密鍵」といいます(図11-5)。
図11-5 現代の割符「公開鍵暗号方式」の鍵の作り方
江戸の商人が京都の商人にメッセージを送る場合、秘密鍵でメッセージを暗号化して送り付ければ、京都の商人は江戸の商人の「公開鍵」がありますから、メッセージを復号し、確かに江戸商人からのメッセージとして受信できます(図11-6)。メデタシ、メデタシといいたいところですが、メッセージを間違って大阪商人へ送ってしまったらどうでしょう?大阪商人も江戸商人の「公開鍵」は知っていますから、やはり読めてしまいます。
図11-6 江戸商人からのメッセージであることを保証する方法
京都の商人しかメッセージを解読できないようにするには、一度江戸商人の「秘密鍵」で暗号化したあとで、さらに京都の商人が公開している「公開鍵」を使って暗号をかけて送れば、これを読めるのは対応する「秘密鍵」をもっている京都の商人だけです(図11-7)。
図11-7 さらに京都商人以外はメッセージを読めないことを保証する方法
このように、メッセージを通信相手以外に見せたくないときは、相手の「公開鍵」で暗号をかけて送ればよく、相手に自分からのメッセージだと確認(認証といいます)して欲しければ、自分の「秘密鍵」でメッセージを送ればよいわけです。インターネットで使われているPEM(セキュリティ機能付きメール)、PGP(メール以外にも使えるセキュリティソフト)といったセキュリティ技術はこの「公開鍵暗号方式」(RSAといいます)が使われています。
あとはこの「公開鍵」を責任をもって管理、広報してくれる機関や装置があればいいわけです。自動車の運転免許証の発行のような公的機関が現れれば、インターネット上でも安心して買い物ができる時代となるでしょう。技術的には完成しており、あとは制度の問題になっています。