暗号化で「守れるもの」と「守れないもの」
暗号化は、データが第三者に見られても内容を理解できない形に変換する仕組みです。代表例は、Webの通信(ブラウザとサーバ間)や、端末・サーバに保存されたデータを暗号化するケースです。
ただし、暗号化がカバーする範囲には限界があります。攻撃者がデータを「読む」ことを難しくしても、端末がすでに侵害されていれば、暗号化されたデータの前後で悪用される可能性があります。また、暗号化された“つもり”でも、通信相手の確認が不十分だったり、鍵が適切に保護されていなかったりすると、守る効果は弱まります。
暗号化の基本モデル:鍵で読める/読めないを作る
暗号化は大きく「暗号化(暗号文を作る)」と「復号(元に戻す)」に分かれます。ここで重要なのが鍵(キー)です。
- 暗号化:鍵とアルゴリズムに基づいて、元のデータ(平文)を読めない形(暗号文)にします。
- 復号:対応する鍵を使うことで、暗号文を元のデータ(平文)に戻します。
鍵には種類があります。一般に、
- 同じ鍵を使う方式(共通鍵の考え方)
- 異なる役割の鍵を組み合わせる方式(公開鍵の考え方) のように整理されます。どちらの考え方でもポイントは「鍵を持つ側だけが正しく復号できる」ことです。
もう一つの観点が、暗号だけでなく「なりすましを防ぐための仕組み」です。通信では、暗号化に加えて相手の真正性(本当にその相手と通信しているか)が重要になります。ここが欠けると、攻撃者が別の相手を“装って”通信させる余地が生まれます。
仕組みを構成する要素:アルゴリズム、鍵、完全性
暗号化は単に“文字をかくす”だけではありません。実際の通信・保存では、少なくとも次の要素がセットで考えられます。
-
アルゴリズム(変換手順) どの変換手順を使うかで、攻撃者が解読する難しさが変わります。暗号方式は更新されることがあり、「古い方式のまま」は避けたい領域です。
-
鍵管理 鍵をどこに保存し、誰がどのように扱うかで、実効的な安全性が決まります。鍵が漏れれば、暗号化の効果は大きく損なわれます。
-
完全性(改ざん検出) 暗号化だけだと、データが途中で書き換えられても気付けない可能性があります。そのため「正しい内容か」を検出する仕組みが併用されます。通信では、暗号化と完全性の考え方が組み合わされるのが一般的です。
これらは、暗号化が“守りになる条件”そのものです。暗号化の導入を考えるときは、鍵と完全性の扱いまで含めて理解するのが近道です。
例外・制限:暗号化があっても残るリスク
「暗号化していれば安全」という理解は危険です。暗号化の制限として、よく見落とされるポイントを挙げます。
- 鍵が漏れる:鍵が盗まれたり、誤って共有されたりすると解読され得ます。 - 偽の相手と通信する:暗号化されても、接続先の真正性が担保されないと被害につながります。 - 端末が侵害される:端末がマルウェアに感染していれば、復号されたデータが攻撃者に渡る場合があります。
