情報セキュリティマネジメント試験対策(14)暗号(4)「公開鍵暗号」

スポンサーリンク
IT系

公開鍵暗号方式

共通鍵暗号方式は一対一で通信を行うことを念頭に設計された。したがって、複数のユーザと通信する必要がある場合、急速に管理すべき鍵数が増加する。また構造上、不特定多数との通信には利用できない。そこで、暗号化鍵と復号鍵を分離した方式である公開鍵暗号方式が考えられた。

公開鍵暗号方式のしくみ

まず、一対の鍵ペアを作成する。 鍵ペアのうち、一方で暗号化したものは、 もう一方で復号できるが、ここで、どちらかを暗号化鍵とし、 もう一方を復号鍵と決める。

公開鍵暗号方式では、この暗号化鍵を一般に公開する。 これを公開鍵といい、暗号化のみに利用されるため、 公開しても問題ない。

それに対して、暗号化された文書を復号するための鍵は、受信者が秘密に管理する。 これを秘密鍵という。

公開鍵は誰でも利用できるものの、その公開鍵を使って暗号化された文書を復号できるのは、秘密鍵をもっているユーザだけになる。 受信者は、自分あての文書が他人に解読されないように、秘密鍵を厳重に管理しなければならない。

公開鍵暗号方式の管理鍵数

公開鍵暗号方式は鍵管理負担の増大も解決する。 共通鍵暗号方式ではn人のネットワークで暗号をやり取りするのにn(n-1)/2個の鍵が必要だったのに対して、公開鍵暗号方式では2n個の鍵で済む。 ネットワークに参加するユーザの数が増加するほど、両者で管理しなければならない鍵の数に開きが出るため、公開鍵号方式は大人数間通信用途に適している。

ただし、公開鍵暗号方式は一般的に処理に必要なCPUパワーが同じ鍵長の共通鍵暗号方式の数百~数千倍といわれている。このため、暗号化処理、復号処理に多くの時間がかかるデメリットがある。

公開鍵暗号の実装技術

公開鍵暗号方式にも共通鍵暗号方式同様にさまざまな実装方式がある。

RSA

RSAは最も普及している公開鍵暗号方式である。 開発者であるRivest、Shamir、Adlemanの3人の頭文字をとって命名された。

RSAは大きな数値の素因数分解に非常に時間がかかることを利用した暗号化方式である。

以下の鍵ペアを用意した場合、a、c、dを決定できれば、bを導いて秘密鍵を得ることができるが、 cとdを計算することが非常に困難であるため、bを決定できないという原理に基づいて設計されている。

  • 公開鍵 (a、N)
  • 秘密鍵 (b、N)
  • N=素数c x 素数d

Nを導くために必要な計算量は表のとおりである。

RSAの計算量

NのサイズビットMIPS × 年
5123×104
10243×1011
20483×1020
注)数体ふるい法を使用した場合の計算量

RSAは計算量に依存したアルゴリズムであるため、将来的にコンピュータの計算能力が飛躍的に増大した場合には解読されてしまう危険性がある。 増加するコンピューティング能力(コンピュータの処理能力) に対して相対的なセキュリティレベルを維持するため、RSAは年々鍵長を増大させており、クラッカーとのいたちごっこになっている。

楕円曲線暗号

米国の数学者、ニール・コブリッツとビクター・ミラー によって1985年に考案された暗号化方式である。 楕円曲線上の演算規則を利用して鍵を生成する。

例えば、 Y=aX mod p において、Xが秘密鍵、Y、a、p が公開鍵となる。 通常、Y、a、 pからXを求めるためにはRSAにも適用される数体ふるい法を用いるが、楕円曲線暗号はこうした離散対数問題の解法アルゴリズムに対して強固であるといわれている。

ハイブリッド方式

公開鍵暗号方式は、鍵配布時のセキュリティ、管理鍵数の増加問題を解決するが、 暗号化、復号に必要な演算量が大きく処理に多くの時間がかかる。 特に大容量データの暗号化に公開鍵暗号方式を利用すると、処理上のボトルネックになる可能性が高くなる。そのため、折衷案として、多くのシステムがハイブリッド方式を採用している。共通鍵暗号の鍵の配布は公開鍵暗号方式を利用し、データ本文のやり取りは共通鍵暗号方式を用いる。

(参考)令和08年 情報セキュリティマネジメント 合格教本 岡嶋 裕史(著)技術評論社

コメント

タイトルとURLをコピーしました