公開鍵暗号をベースにしたシステムについて

うちの学校の認証システムなんかでは、Javaアプレットを使用した通信を用いてLANの認証をしているのだけれども、どうも暗号通信において公開鍵の登録がなされていないらしい。そもそも使う人数が2000人もいないような学校では認証局(CA)に公開鍵暗号を登録すること自体が無駄である要素は強い。でも、それにしたって公開鍵暗号の指紋(フィンガープリント;公開鍵のハッシュ値)を確認するようにとの教育がぜんぜんなされていない。これでは暗号通信の意味がない。なぜなら、経路が暗号化されていても、通信の相手が保障されていないからだ。そもそも小さな学校にあっては、通信を覗き見する人が特殊な機械を導入して秘密を傍受しようとする試みをするコストは高すぎると思う。だからノーガード戦法みたいなことになっているのかもしれない。

どうして公開鍵を正当なものか誰もチェックしないのだろう?なぜか「通信が暗号化されている」というだけで何の疑いもなく安心しきっているのにはちょっと驚く。こういうことを研究室のポスドクの人と話したら、そもそも暗号システムというもの自体が本質的な意味において難しいものだという答えをいただいた。私には、原理さえ分かっていれば簡単だという認識だったのでちょっと意外な答えだなと思った。でも、よくよく考えると、暗号に使われる概念っていうのはなじみが薄いものがたくさんある。例えば、ワンタイムパスワード(OTP)なんかは典型的な例かもしれない。ふつう、パスワードというものは変化しないものという認識がある。それをあえて、一定時間ごとに変化する、というものになってしまうと何かあたかもまったく別なものに変化してしまうような感じさえある。

どうも暗号っていう言葉にはいろいろ魅力があるらしく、なぞめいた感じが受けるのだろう。でも、誰も表面上の事ばかり気にしていて、「ほんとうにその情報は守られているのだろうか」とか「実装上に不備がないのだろうか」というのはぜんぜん気にしようとしない。それでは暗号を使っている意味がなくなってしまう。情報リテラシーと呼ばれるもののなかには、ワープロ表計算ソフトの使い方のほかにも、暗号のしくみも含まれるようになってほしいと思う。