公開鍵暗号方式と共通鍵暗号方式 ~PKI基礎①~

PKI

PKIとはPublic Key Infrastractureの略で公開鍵暗号基盤のことです。秘密鍵と公開鍵というキーペアを利用した公開鍵暗号方式という技術を利用して、データを暗号化・復号化し、情報を安全にやりとりをする仕組みのことです。

理解できましたか?普通に生活していたら全く触れることがないため、少し難しいと思います。

今回の記事は、上記説明が理解できない方を対象とした記事となります。そもそも暗号化と復号化とは?という説明から公開鍵暗号方式、共通鍵暗号方式の概要を説明したいと思います。

暗号化と復号化

押さえておくキーワード

暗号化と復号化では以下のキーワードについて押さえてください。

  • 平文(ひらぶん) / 暗号文
  • 暗号化 / 復号化
  • 暗号アルゴリズム / 復号アルゴリズム
  • 暗号鍵 / 復号鍵

暗号化と復号化

平文とは、暗号化されていないデータ(情報)のことです。つまり、誰が見ても意味が分かる情報ということです。

具体例です。

【HELLO】という文字列の意味は分かりますね。英語で【こんにちは】ですね。では【IFMMP】という文字列の意味は分かりますか?

・・・
・・

少し考えれば気付くかと思いますが、【HELLO】を1文字右にずらしたものです。

 

一見意味の分からない情報ですが、「右に〇文字ずらす」というルールと「〇文字」の部分が分かれば意味の分かる文字列に戻すことができます。

この「右に〇文字ずらす」というルールのことを暗号アルゴリズムと呼び、「〇文字」という部分が暗号鍵になります。

「平文」を「暗号アルゴリズム」と「暗号鍵」で一見意味の分からない情報にすることを「暗号化」といい、一見意味の分からない情報を意味の分かる情報へ戻すことを「復号化」といいます。

共通鍵暗号方式と公開鍵暗号方式

押さえておくキーワード

共通鍵暗号方式と公開鍵暗号方式で押さえる必要があるのは以下のキーワードです。

  • 共通鍵
  • 公開鍵
  • 秘密鍵
  • デジタル署名

共通鍵暗号方式

暗号化と復号化に同じ暗号鍵を利用する「共通鍵」暗号方式というものがあります。暗号化と復号化で説明した例で見てみましょう。

【HELLO】を「右に〇文字にずらす」という暗号アルゴリズムで暗号鍵は「1文字」の場合、暗号文は【IFMMP】でしたね。では【IFMMP】という暗号文を平文に戻すにはどうしたらいいでしょうか?

・・・
・・

簡単ですね。【IFMMP】を左に〇文字ずらすという復号アルゴリズムで復号鍵は「1文字」となります。

暗号化するのも復号化するのも同じ「1文字」という共通の鍵を利用します。

この暗号化・復号化に同じ鍵を利用する方式を「共通鍵暗号方式」といいます。

共通鍵暗号方式は、暗号化にも復号化にも同じ鍵を利用します。

共通鍵暗号方式は暗号化/復号化にかかる負荷が少なく、処理が高速であるという特徴があります。ただし、暗号化/復号化のやり取りをする相手数の分だけ共通鍵が必要となるため、鍵の管理が大変です。また、鍵が外部に漏れてしまうと第三者が簡単に暗号文のやり取りを復号化できてしまうため、鍵の受け渡しも大変というデメリットがあります。

公開鍵暗号方式

暗号化する鍵と復号化する鍵を分けて片方を公開してしまうのが「公開鍵」暗号方式です。片方の鍵を「秘密鍵」、もう片方を「公開鍵」と呼びます。

公開鍵暗号方式の暗号アルゴリズムについては【HELLO】のような簡単な例が難しいので今回は概要のみ紹介します。公開鍵暗号方式にはいくつか種類があるのですが、現在はRSAという種類が使われているケースが多いです。詳細については別途解説します。

以下はRSAでの概要となります。

AさんがBさんに暗号文を送るケースです。

Bさんは秘密鍵を元に公開鍵を作成し、公開鍵をAさんに送ります。

Aさんはその公開鍵を使って平文を暗号化し、暗号文をBさんに送ります。

Bさんの公開鍵を使って暗号化された暗号文はBさんの秘密鍵のみが復号化が可能となっています。暗号化に使った公開鍵ですら暗号文を復号化することはできません。

公開鍵で暗号化した平文は、ペアとなる秘密鍵でしか復号化できません。

これにより、Bさんの秘密鍵と対になっている公開鍵があれば、Bさんに対して安全に暗号文が送ることができます。

公開鍵暗号方式は鍵の管理が容易で、Bさん自身が秘密鍵を大事に守っていれば、Bさんの公開鍵がどれだけ漏洩しても(というより公開してますね。。)問題ないというメリットがあります。ただし、この公開鍵暗号方式は暗号化/復号化の処理が複雑なため、処理速度が遅いというデメリットもあります。

デジタル署名

公開鍵暗号方式にはもう一つの性質があります。それはBさんの秘密鍵で暗号化した暗号文はBさんの公開鍵でしか復号化できないという性質です。

Bさんの公開鍵は公開されているので暗号文が解読されて困るのでは?という疑問が湧きますね。

そうなんです。みんなに解読されてしまい全く意味がないため、暗号化通信のために利用はしません

何に利用するのかというと、暗号化した暗号文がBさん本人が暗号化したもの、という証明をするために使います。それが【デジタル署名】となります。

Bさんの「秘密鍵」で暗号化した暗号文を、Bさんの「公開鍵」で復号化できたら、暗号文を作ったのはBさん本人という図式が成り立ちます。

ただし、現実とは違い、Bさんはネットの向こう・・受け取った公開鍵が本当にBさんの公開鍵なのかすらわかりません。そこでBさん本人であることを証明するために、第三者である証明機関(Certificate Authority)が存在します。

証明機関の詳細は以下の記事で説明します。

認証局(CA)の役割 ~PKI基礎②~
ネット上の第三者である認証局(CA)が担う役割について、具体例を交えて説明します。

まとめ

各キーワードについておさらいです。

平文 / 暗号文:意味の分かる情報を平文、平文を暗号アルゴリズムと暗号鍵で一見意味の分からなくしたものを暗号文という

暗号化 / 復号化:平文を暗号アルゴリズムと暗号鍵で一見意味の分からなくすることを暗号化、暗号文を復号アルゴリズムと復号鍵で意味の分かる情報にすることを復号化という

暗号アルゴリズム / 復号アルゴリズム:暗号化・復号化に利用する規則・ルール

暗号鍵 / 復号鍵:暗号化・復号化に利用する鍵

共通鍵:共通鍵暗号方式で利用される、暗号化する際も復号化する際も利用される共通の鍵

公開鍵 / 秘密鍵:公開鍵暗号方式で利用される、キーペアー
公開鍵で暗号化されたものは、対になっている秘密鍵でしか復号化できない
秘密鍵で暗号化されたものは、対になっている公開鍵でしか復号化できない

デジタル署名:公開鍵暗号方式の性質を利用した本人確認の技術

共通鍵暗号方式と公開鍵暗号方式のメリットデメリットは以下の通りです。

 メリットデメリット
共通鍵暗号方式・処理が単純で速い・鍵の管理が大変
・鍵の受け渡しに工夫が必要
公開鍵暗号方式・鍵の管理が容易
・鍵の受け渡しを考えなくてよい
・処理が複雑で遅い

以上、公開鍵暗号方式と共通鍵暗号方式の概要についてでした。

コメント