pulpul 日本の試験

システムアーキテクト 概念書 · セキュリティ

暗号方式の基礎と鍵管理

暗号方式は、暗号化と復号に使う鍵の数と、鍵の配送の仕組みによって、共通鍵暗号方式と公開鍵暗号方式に大別される。共通鍵暗号方式は同じ鍵で暗号化と復号を行い、公開鍵暗号方式は公開鍵と秘密鍵の組を使う。この違いを押さえると、鍵の管理に必要な手間や、電子署名などの用途を整理して理解できる。

共通鍵暗号方式と公開鍵暗号方式の仕組み

共通鍵暗号方式では、暗号化と復号の両方に同じ鍵を使う。 送信者と受信者が同じ鍵を持つため、通信相手と鍵を安全に共有しておく必要がある。

AESは共通鍵暗号方式のブロック暗号であり、暗号化と復号に同じ秘密鍵を使う。 過去問では、AESを共通鍵暗号方式に分類できるかを問う設問が複数回出題されている。

一方、公開鍵暗号方式では、暗号化に受信者の公開鍵を使い、復号には受信者本人が持つ秘密鍵を使う。 復号に使う秘密鍵は決して公開してはならず、暗号化に使う公開鍵は公開しても構わない。

ElGamal暗号、RSA、楕円曲線暗号は、いずれも公開鍵暗号方式に分類される。

公開鍵暗号方式は処理の負荷が大きいため、実務では両者を組み合わせるハイブリッド暗号方式が用いられる。 本文は高速な共通鍵暗号で暗号化し、その共通鍵の配送には公開鍵暗号を使う。

鍵の数と鍵管理の負担

共通鍵暗号方式で相手ごとに秘密の通信をする場合、通信相手が増えるほど、相手ごとに異なる共通鍵を安全に共有・管理する手間が増える。

公開鍵暗号方式で、n人が相互に暗号通信をする場合、各人が公開鍵と秘密鍵の組を一つずつ持つ。一組を2個と数えると、必要な鍵の総数は2n個となる。 送信者と受信者の組ごとに鍵を用意するわけではなく、鍵の数は人数に比例して増える点が特徴である。

人数から二人の組を選ぶ数は、通信する組の数を表すものであり、各人が持つ鍵の総数とは一致しない。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む