ポイント

●公開鍵暗号方式では,1人の利用者(ノード)に対して二つの鍵(キー)を作る。片方を「個人鍵」と呼び,もう片方を「公開鍵」と呼ぶ
●個人鍵は,作ってからその鍵ペアを使わなくなるまで,絶対に秘密に取り扱う。このため,秘密鍵と呼ぶ場合がある。これに対し公開鍵は,その名の通り,不特定多数のユーザーに公開して使う
●公開鍵で暗号化したデータは,そのペアの個人鍵でしか復号できない
●個人鍵で暗号化したデータは,そのペアの公開鍵でしか復号できない

 公開鍵暗号方式の仕組みは,共通鍵暗号方式よりも複雑です。このため,初学者の方は理解しにくく,試験対策セミナーなどで多くの質問を頂く分野です。ただ,質問の多くは『公開鍵暗号方式を使用するための「前提条件」をしっかりと確認しないまま「使い方」を一生懸命勉強している』ために起こっています。そこで今回は公開鍵暗号方式の使い方ではなく,使うときの前提条件をしっかりと確認していきましょう。前提条件といっても大げさなものではなく,鍵の種類と組み合わせルールを覚えていただくだけです。

公開鍵暗号方式を勉強する前に

 前回勉強した共通鍵暗号方式では,暗号化するときと,復号するときに利用する鍵が同じでした。部屋に鍵をかける,鍵を外す,WordやExcel文書にパスワードを登録して中身を見ることができないようにする,必要な時にパスワードを再入力して中身を見る,というように普段の生活の中に共通鍵暗号方式の仕組み(暗号化と復号時に利用する鍵が同じ)があるため,比較的理解しやすかったと思います。

 ところが,この共通鍵暗号方式のイメージを強く残していると,公開鍵暗号方式を勉強する際に混乱していまいます。まずは,共通鍵暗号方式の概念を一度取り払って,新たな気持ちで以下を読み進めて下さい。

前提条件(1) --- 鍵の種類

●公開鍵暗号方式では,1人の利用者(ノード)に対して2つの鍵(キーペア)を作る
●片方を「個人鍵」と呼び,キーペアを作ってから利用しなくなるまで作成者だけが所持して秘密に取り扱う。個人鍵が盗まれてしまうと,そのキーペアは安全ではなくなる
●個人鍵とペアになったもう一方の鍵を「公開鍵」と呼び,この鍵は不特定多数のユーザーに公開しても構わない。

 利用者(ノード)ごとにキーペアを作りますので,例えばAさんとBさんの2人がいたら,

  • Aさんの個人鍵
  • Aさんの公開鍵
  • Bさんの個人鍵
  • Bさんの公開鍵

と,4種類の鍵が存在することになります(図1)。

図1 2人の利用者がいる場合,4種類の鍵が存在する

 ありがちな例として「個人鍵はその名の通り個人が持つ鍵。公開鍵は公開してある1本の鍵」と誤解されている方がいます。これだと「Aさんの個人鍵,Bさんの個人鍵,公開鍵」となり,間違いです(図2)。

図2 ありがちな誤解例
公開鍵が1個しかないと誤解してしまう初学者は意外と多い。

個人鍵と秘密鍵 --- 誤解しやすいポイント

 先ほど「個人鍵は絶対に秘密に取り扱う」と説明しました。この性質を重要視して,ここで説明している個人鍵(公開鍵暗号方式で使用する,個人が秘密に管理する鍵)のことを「秘密鍵」と解説している受験参考書や解説書もあります。

 もちろん,個人鍵のことを秘密鍵と表記しても,間違いではありません。ただ,勉強が浅い時期には「あれ? 秘密鍵っていうくらいだから,秘密鍵(共通鍵)暗号方式で使う鍵?」と混乱する元になりやすいのは事実です。実際,多くの方々が,ここで混乱されています。

 またセキュリティ関連の試験では,受験生がこのあたりの仕組みを正しく理解しているか確認するため(?)に,公開鍵暗号方式で使用する個人鍵のことを「秘密鍵」と書いているケースが多いようです。セキュリティ関連試験の受験を予定されている方は注意してください。

 この連載記事では,まだ慣れていない方が読んでいることも考慮して,公開鍵暗号方式で使う秘密にする鍵のことは「個人鍵」と呼びます。