shikakuホームへ
経営情報システム / セキュリティセキ
セキュリティ 1/4 / 約5分

暗号の使い分け — 同じ鍵で速く、南京錠で安全に

金庫の同じ鍵で開け閉めする方式は、速くて確実です。でも相手に鍵を渡すとき、その鍵を盗まれたら終わり——鍵の配送が急所です。

そこで発明されたのが「開いた南京錠をばらまく」方式——誰でも南京錠(公開鍵)でカチッと閉められるが、開けられるのは合鍵(秘密鍵)を持つ本人だけ。配送問題は消えますが、処理は遅い。実際の通信は、この2つのいいとこ取りで動いています。

この5分の問い

共通鍵暗号と公開鍵暗号の長所・短所は何で、実際の通信ではどう組み合わせるのでしょうか。

直感でつかむ

速いが配送が問題(共通鍵)、配送を解決したが遅い(公開鍵)です

共通鍵暗号(AES・DES・3DES)は暗号化と復号に同じ鍵を使います。処理は速いが、相手ごとに秘密の鍵を安全に届ける鍵配送問題を抱え、n人が互いに通信するにはn(n−1)/2個もの鍵が要ります。

公開鍵暗号(RSA・楕円曲線暗号)は公開鍵で暗号化・秘密鍵で復号——南京錠は公開してよく、合鍵は本人が持ったまま。配送問題が消え、鍵も1人1ペアで済みますが、処理は遅いのです。

暗号の合言葉共通鍵=同じ鍵・速い・配送が問題公開鍵=南京錠・遅い・配送を解決——実戦は両方のいいとこ取り(ハイブリッド)
厳密に見る

ハイブリッド暗号——遅い公開鍵は「鍵を運ぶためだけ」に使います

ハイブリッド暗号の役割分担は明快です。①まず公開鍵暗号で共通鍵を安全に相手へ渡す(配送問題の解決に、遅くても量が小さい鍵の受け渡しだけ任せる)。②以後の実データは共通鍵暗号で高速に暗号化する。これがTLS/SSL(HTTPSの中身)の基本構造です。

もう1つの道具がハッシュ関数(SHA-256など)——任意のデータから固定長の値を作る一方向の計算で、元に戻せず(一方向性)、同じ値になる別データを見つけにくい(衝突耐性)。「データの指紋」として、次ユニットの電子署名で主役になります。

結論が反転する分かれ目
共通鍵
同じ鍵——速いが配送が問題
AES・DES・3DES。n人でn(n−1)/2個の鍵
公開鍵
南京錠——遅いが配送を解決
RSA・楕円曲線。公開鍵で暗号化・秘密鍵で復号
分かれ目 速度と鍵配送のトレードオフ。「公開鍵の方が速い」は定番の誤り肢です。
ここで間違える

「公開鍵の方が速い」と、鍵の本数の取り違えが定番です

定番の誤り肢は速度の逆転——「公開鍵暗号は共通鍵暗号より高速である」(逆です。速いのは共通鍵、だからこそ実データは共通鍵に任せます)。方式名の帰属替え(「AESは公開鍵暗号」——AES・DES・3DESは共通鍵、RSA・楕円曲線は公開鍵)も的です。

鍵の本数も計算させられます——共通鍵はn(n−1)/2個(10人なら45個)、公開鍵は1人1ペアで済む。「共通鍵の方が鍵の管理が楽」という肢は逆です。

実務では

顧問先への説明では、南京錠の言い換えがそのまま使えます——「ECサイトの通信が安全なのは、お客様のブラウザがお店の南京錠で閉じてから送っているから」。ファイルを添付し、同じメールの次便でパスワードを送る昔ながらの運用(いわゆるPPAP)は、鍵と金庫を同じ経路で運ぶ行為で配送問題が解決されていない——共有リンクや暗号化された共有サービスへの移行を勧める、が定番の助言です。

確かめる — 予想してから答え合わせ
この5分のまとめ

冒頭の問いに答えます。共通鍵は速いが鍵配送とn(n−1)/2個の管理が急所、公開鍵は配送問題を解決するが遅い——だから実際の通信は、公開鍵で共通鍵を運び、実データは共通鍵で高速に暗号化するハイブリッド方式です(ハッシュ関数=データの指紋も道具箱に)。次は公開鍵の「逆の使い方」——電子署名へ。