非対称暗号化とは何を守る仕組みか
非対称暗号化では、1人(または1つの主体)に対して「公開鍵」と「秘密鍵」の2種類の鍵を用意します。公開鍵は共有してよい性質を持ち、秘密鍵は持ち主だけが管理します。この組により、通信の文脈では主に次の2目的を分けて考えます。
- 機密性:第三者に中身を読まれないようにする(暗号化→復号)
- 真正性・改ざん検知:送信者が本物か、内容が途中で変わっていないかを確認する(署名→検証)
基本のモデル:暗号化と復号(機密性)
代表的な考え方は、次の流れです。
- 送信者は受信者の公開鍵を使ってデータを暗号化します。
- 受信者は自分の秘密鍵で復号し、元のデータに戻します。
ここで重要なのは、「公開鍵を知っていても、秘密鍵なしでは復号しにくい」ことです。つまり、傍受された暗号文が読めない形で流れている状態を作れます。
ただし、このモデルが成立するには、受信者の公開鍵が「本物」である必要があります。公開鍵を間違って取得したり、攻撃者が公開鍵をすり替えたりすると、暗号化しても守りたい相手に届かない(または読まれる)可能性が出ます。ここが非対称暗号化の制限として現れやすい点です。
基本のモデル:署名と検証(真正性・改ざん検知)
暗号化と別に、署名の考え方があります。署名は「内容が改ざんされていないか」「送信者が意図した主体か」を確認するために使います。
- 署名作成:秘密鍵で署名データ(検証に必要な情報)を作成します。
- 署名検証:公開鍵で署名を検証します。
検証が通れば、少なくとも署名の整合性が保たれており、署名に関わる主体の公開鍵に紐づく形で作られたことを確認しやすくなります。逆に検証が失敗するなら、内容の改ざんや別の鍵で作られた可能性を疑えます。
ただし、署名が有効であることと、「送信者が本当にその人である」ことは別問題になり得ます。なりすましの公開鍵を正しいものとして扱ってしまうと、署名検証の前提が崩れます。そのため、署名検証の前に「どの公開鍵を正しいものとして採用するか」が重要です。
制限・例外として押さえるべきポイント
非対称暗号化は万能ではありません。機密情報保護の観点で、次の点が実務上の落とし穴になりやすいです。
-
鍵の真正性(なりすまし問題) 公開鍵が本物であるかを確認できないと、暗号化・署名の効果が期待通りになりにくいです。鍵の入手経路、配布方法、採用ルールが結果を左右します。
-
秘密鍵の漏えい 秘密鍵が漏れると、その鍵に紐づく復号や署名が破られる可能性があります。暗号方式の強度だけでは防げません。
-
運用のミス 鍵の更新、失効、ローテーション、保管場所、アクセス制御などの運用が不適切だと、設計どおりに守れないことがあります。
-
暗号化そのもの以外の要素 非対称暗号化は、通信の一部やデータの一部に組み込まれて機能することが多いです。
