暗号化
何のことか
総務省の用語集は、暗号化をこう説明しています[1]。
大事な情報を他人には知られないようにするため、データを見てもその内容がわからないように、定められた処理手順でデータを変えてしまうこと。
米国立標準技術研究所(NIST)の用語集にも、同じ趣旨の定義が出典ごとに並んでいます。たとえば「暗号の分野で、平文を暗号文に変えて、意図した受け手以外の誰にもそのデータを読めないようにする手順」(Any procedure used in cryptography to convert plain text into cipher text to prevent anyone but the intended recipient from reading that data)です[2]。平文は読める状態のデータ、暗号文は暗号化したあとの読めないデータのことです。
元に戻せる(復号)
暗号化したデータは、元に戻せます。総務省の用語集は「暗号化されたデータは、復号という処理によって元のデータに戻すことができます。」と書き[1]、復号を「暗号化されたデータを元に戻して、人やコンピュータが識別できる情報にすること。」と説明しています[5]。
鍵が決め手
暗号化にも復号にも鍵を使います。NIST の用語集は、暗号化を「暗号のアルゴリズムと鍵を使って、平文を暗号文に変える処理」(The process of changing plaintext into ciphertext using a cryptographic algorithm and key)[2]、復号を「暗号のアルゴリズムと鍵を使って、暗号文を平文に戻す処理」(The process of changing ciphertext into plaintext using a cryptographic algorithm and key)[3] と定義しています。総務省の用語集では、暗号鍵は「データを暗号化するときに使われる鍵のこと。」です[1]。
鍵の役割について、NIST の用語集には次の定義があります[4]。
A parameter used with a cryptographic algorithm that determines its operation in such a way that an entity with knowledge of the key can reproduce or reverse the operation, while an entity without knowledge of the key cannot
(暗号のアルゴリズムと一緒に使い、その動作を決める値。鍵を知っている者はその処理を再現したり元に戻したりできるが、鍵を知らない者にはできない)
つまり、守っているのは鍵です。鍵を知っている者は元に戻せます。
よくある誤解:ハッシュ化と同じものか
同じではありません。暗号化は、上のとおり鍵を使えば元に戻せます[1][3]。一方、ハッシュ関数は「無作為に選ばれた出力が与えられたとき、その出力になる入力を見つけることは計算上実行できない」(Given a randomly chosen target output, it is computationally infeasible to find any input that maps to that output)ように作られています[6]。「元に戻す」ことを前提にしているかどうかが違います。
ニュースで読むときの注意
情報漏えいの発表には「暗号化して保存していた」という説明がよく出てきます(例:「Studio」への不正アクセス、「ショップサーブ」の漏えい)。読むときは、鍵がどう扱われていたかにも注意してください。上の定義のとおり、鍵を知っている者は元に戻せるからです[4]。
暗号化は、攻撃する側が使うこともあります。警察庁は、ランサムウェアを「端末等に保存されているデータを暗号化して使用できない状態にした上で、そのデータを復号する対価(金銭又は暗号資産)を要求する不正プログラムです。」と説明しています[7]。この場合、鍵を握っているのは攻撃者の側です(例:NECの委託先へのサイバー攻撃)。
鍵付きの金庫に書類をしまうようなものです。金庫ごと持ち去られても、鍵が無ければ中の書類は読めません。でも、鍵を金庫の上に置いていたら、金庫に入れた意味はほとんどなくなります。
出典
- 総務省「国民のためのサイバーセキュリティサイト」用語集(あ行)
- NIST Computer Security Resource Center「Glossary: encryption」
- NIST Computer Security Resource Center「Glossary: decryption」
- NIST Computer Security Resource Center「Glossary: cryptographic key」
- 総務省「国民のためのサイバーセキュリティサイト」用語集(は行)
- NIST Computer Security Resource Center「Glossary: hash function」
- 警察庁「ランサムウェア被害防止対策」