暗号化(Encryption)とは、データを決まった手順で別の形に変換し、鍵を持つ人以外には読めなくすることのことです。元に戻す作業は「復号」と呼ばれ、暗号化と対になっています。
現実世界に例えると、暗号化は手紙を金庫に入れて送ることのようなものです。運ぶ途中で誰かに持ち去られても、鍵がなければ中身は読めません。守っているのは箱ではなく、鍵を持っているという事実のほうです。
関連する言葉の整理
| 言葉 | 意味 | 元に戻せるか |
|---|---|---|
| 暗号化 | 読めない形に変える | 鍵があれば戻せる |
| 復号 | 元の形に戻す | 鍵があれば行える |
| ハッシュ化 | 一定の長さの値にする | 戻せない |
| 符号化 | 別の表記に置き換える | 誰でも戻せる |
守るのは鍵であって手順ではない
暗号の世界では常識とされる考え方があります。変換の手順そのものは公開されており、秘密にすべきなのは鍵だけという原則です。手順を隠すことに頼る方式は、いずれ解析され破られます。広く公開され検証された方式ほど信頼できます。
大きく二つの方式
鍵の使い方で分かれます。同じ鍵で暗号化と復号を行う「共通鍵暗号」と、対になる二つの鍵を使い分ける「公開鍵暗号」です。前者は処理が速く、後者は鍵を安全に渡せます。実際には両方を組み合わせて使うのが一般的です。
どこで使われているか
意識しないうちに、日々使っています。WebサイトのHTTPS、無線LANの通信、スマートフォンの本体、メッセージアプリのやり取り、そしてパソコンのディスクそのもの。いまや例外のほうが少なくなりました。ブラウザの住所欄に鍵のマークが出ていれば、そこは暗号化された通信です。
通信と保存、二つの場面
守る場面には二種類あります。運んでいる最中を守る「通信の暗号化」と、置いてある間を守る「保存時の暗号化」です。両方が要ります。通信を暗号化していても、サーバーの中で平文のまま置かれていれば、盗まれたときは同じことです。
ハッシュ化との違い
混同されやすい点です。暗号化は元に戻すことが前提ですが、ハッシュ化は戻せません。パスワードの保管にはハッシュ化を使います。戻せないからこそ、保管しているデータが漏れても、そのまま悪用されずに済みます。
鍵をなくすと戻せない
実務でいちばん怖い落とし穴です。暗号化したデータは、鍵を失えば本人でも読めなくなります。バックアップを暗号化して保管し、鍵を紛失して復元できない、という事故は実際に起きています。鍵の保管方法まで含めて設計してください。
古い方式は使わない
暗号には寿命があります。計算機の性能が上がるにつれ、かつて安全とされた方式が現実的な時間で破られるようになります。設定を変えないまま使い続けているシステムは、知らないうちに弱いままです。定期的な見直しが欠かせません。

コメント