スポンサーリンク

【応用情報技術者試験】共通鍵暗号方式

共通鍵暗号方式は、暗号化と復号に同じ鍵を使う方式です。送信者と受信者が鍵を安全に共有し、秘密に保つことが前提になります。公開鍵暗号との違いは、鍵の数だけでなく、持ち主と使う目的まで含めて考えましょう。

同じ共通鍵で暗号化・復号する

共通鍵暗号・公開鍵暗号・署名で使う鍵の持ち主の違い
共通鍵暗号・公開鍵暗号・署名で使う鍵の持ち主の違い

AさんとBさんが共通鍵Kを共有していれば、AさんはKでデータを暗号化し、Bさんは同じKで復号します。鍵が漏れると、その鍵で保護されたデータの安全性が損なわれるため、通信内容だけでなく鍵の管理も必要です。

特徴と代表方式

観点押さえること
処理一般に大量のデータの保護に適する
鍵の共有盗まれない方法で通信相手と共有する
鍵の管理保管・更新・漏えいへの対応が必要
代表例AES。DESやBlowfishは歴史的な方式も含めて区別する

「共通鍵暗号なら方式や使い方を問わず安全」とは考えません。アルゴリズム、鍵長、利用モード、実装、鍵の保管方法によって安全性は変わります。

公開鍵暗号と組み合わせるとき

目的処理する側の鍵相手側の鍵
共通鍵暗号による保護共有した共通鍵で暗号化同じ共通鍵で復号
公開鍵暗号による機密性確保受信者の公開鍵で暗号化受信者の秘密鍵で復号
デジタル署名署名者の秘密鍵で生成署名者の公開鍵で検証

共通鍵を公開鍵暗号で暗号化して配送する基本例では、受信者の公開鍵で暗号化し、受信者の秘密鍵で復号します。受信者の公開鍵で共通鍵を復号する、という説明は誤りです。

TLS 1.3では、(EC)DHEや事前共有鍵などで共有秘密を確立し、通信データを共通鍵暗号で保護します。現在のHTTPSが常にRSAで共通鍵を送るわけではありません。

理解を確かめる確認問題

公開鍵暗号で暗号化して配送された共通鍵を、受信者はどの鍵で復号しますか?

解答・解説を見る

受信者自身の秘密鍵です。配送時の暗号化には受信者の公開鍵を使います。配送した共通鍵は、その後のデータの暗号化・復号に使います。

参考:RFC 8446:TLS 1.3

コメント