第三者に知られたくない情報を別のメッセージに置き換えることで漏洩しにくくする――。これが暗号である。暗号は、誰でもアクセスできるインターネットなどで通信するために欠かせない技術だ。暗号には、複数の方式や様々な規格・プロトコルが存在し、その名称が何を指すのか、どんな仕組みで動いているか、混乱しやすく正確に理解するのは難しい。そこで本特集では、暗号の基本から実際どのような場面で使われているのか、インターネットや無線LANで使う暗号の技術や規格を解説していく。
暗号では、あるメッセージを別のメッセージに置き換えることを「暗号化」、置き換えたメッセージを「暗号文」と呼ぶ。
最近のセキュリティ事故から暗号に関わる事例を紹介しよう。
三菱地所・サイモンが運営するショッピングモール「プレミアム・アウトレット」の会員情報の漏洩が2018年4月、明らかになった。会員のメールアドレスとパスワードが、インターネット上に公開されていたのだ。
漏洩したデータには、メールアドレスとパスワードがどちらもそのまま読み出せるテキスト形式で記載されていた。
これを受けてネット上には、「この会員サービスでは、パスワードを暗号化していなかったのか」「攻撃者はハッシュ値を復号して公開したのではないか」といった意見が書き込まれた。これは、どういう意味なのだろうか。
ユーザー認証を行うサービスのほとんどは、システム側でパスワードを保存していない。保存しているのは、「ハッシュ」という方式でパスワードから算出した数値(ハッシュ値)だけだ。
どのような長さのメッセージからでも、あらかじめ決められた長さの値を算出するハッシュには、大きく二つの特徴がある。一つは、ハッシュ値から元のメッセージを算出できないこと。もう一つは、メッセージが1文字異なるだけでもハッシュ値が大きく変わることだ。