このページの本文へ

前へ 1 2 次へ

セキュリティの素朴な疑問を解く 第7回

Q&A形式でセキュリティの基礎を学ぼう

共通鍵暗号のメリットってなに?

2009年07月01日 15時30分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

公開鍵暗号の登場

 1976年、ついに鍵交換の問題を解決する画期的なアイデアが生まれた。それは、「鍵を安全に交換できないなら、鍵の交換を必要としない暗号を使えばよい」というものだ。

 これは、ユーザーごとに2つの鍵を作成し、そのうち1つは特に秘密にしなくてもよいという考えである。2つの鍵の間には数学的な関連があり、一方の鍵で暗号化したメッセージは、対となる他方の鍵でしか復号できないという性質を持つ。このような鍵の組み合わせ(ペア)があれば、暗号化用の鍵はデータを交換する可能性のある人に広く知らせることが可能になる(ただし、復号用の鍵は自分だけの秘密にしておく)。

 このため、この暗号化方式を「公開鍵暗号」と呼び、復号鍵を「秘密鍵」、暗号化鍵を「公開鍵」という。たとえば、AからB宛のメッセージを暗号化する場合は、まずAはBに指定された公開鍵でメッセージを暗号化して送る。そのメッセージを復号できるのは秘密鍵を持っているBだけなので、メッセージはだれに盗聴されてもかまわない(図2)。このように、公開鍵は誰に知られても構わないので、たとえばWebサイトやブログページに掲載してもよいのだ。公開鍵暗号は、暗号化と復号で異なる鍵を用いることから、非対称暗号ともいう

図2 公開鍵暗号方式の仕組み

 この公開鍵暗号の概念を最初に提案したのは、ウィットフィールド・デフィーとマーティン・ヘルマンの2人だ。そして1977年、ロナルド・リベスト(Ron Rivest)、アディ・シャミア(Adi Shamir)、レオナルド・エーデルマン(Len Adleman)が具体的なアルゴリズムを考案した。この公開鍵暗号は、彼らの頭文字をつなげて「RSA」と呼ばれる。その後、いくつか公開鍵暗号のアルゴリズムが考案され実用化された。しかしRSAは暗号処理のほか、デジタル署名まで実現したため普及が急速に進んだため、現在に至るまで事実上の世界標準となっている。

まとめ

 共通鍵暗号よりも安全性の高い公開鍵暗号だが、アルゴリズムが高度で処理内容も複雑なため、暗号化と復号の処理に時間がかかるという欠点がある。そのため、IP電話などリアルタイムの通信では遅延が発生して品質が劣化する。そこで、実際のデータ通信には共通鍵暗号を用い、その共通鍵を安全に交換するために公開鍵暗号を用いるという「ハイブリッド暗号」が考案されている。共通鍵はデータ通信に先立って1回しか送られないため、遅延は問題にならない程度で済む(安全性を高めるため、実際には一定の間隔で共通鍵を更新することが多い)。

 これは、メールの暗号化技術として有名なPGPや、Webアクセスで使われるSSL(HTTPS)などで用いられている。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事