- @ThothChildren
- 2018.9.6
- PV 454
公開鍵暗号方式とは
ー 概要 ー
公開鍵暗号方式は、誰にも知られてはならない秘密鍵とみんなに共有する公開鍵の二つの鍵を用いて安全な通信を実現する暗号方式.共通鍵方式では安全に共通の鍵を送受信者間で共有する問題があったが、そのようなことは公開鍵暗号では起こらない.改ざんや盗聴、なりすましなど複数の問題において対策を打つことができます.有名どころではRSA暗号方式などが実現する手段として知られている.
この章を学ぶ前に必要な知識
効果
- 安全に情報を暗号化して通信することができる
ポイント
- Man-In-The-Middle攻撃というなりすまし問題がある.
- 誰にも教えない秘密鍵とみんなに共有する共通鍵を使う
- デジタル署名などにも使用される
解 説
公開鍵暗号方式は、「誰にも知られてはならない秘密鍵」と「みんなに共有する公開鍵」の二つの鍵を用いて安全な通信を実現する暗号方式.現代の様々な通信の暗号に用いられている.
共通鍵方式では安全に共通の鍵を送受信者間で共有する問題があったが、そのようなことは公開鍵暗号では起こらない.改ざんや盗聴、なりすましなど複数の問題において対策を打つことができます.
有名どころではRSA暗号方式などが実現する手段として知られています.
公開鍵暗号方式の利用するときのポイントは、
「秘密鍵を持っている人しか、公開鍵で暗号化されたものを読めない」
「秘密鍵で暗号化したものは、対応した公開鍵でしか読めない」
です.これを応用することで、複数のことが実現できます.
RSA暗号方式というのは公開鍵暗号方式を実現した手法の一つですが、この手法では秘密鍵と公開鍵は公開する前なら入れ替えて使っても問題ありません.等価です.
「秘密鍵を持っている人しか、公開鍵で暗号化されたものを読めない」
というのを利用すると、
特定の人以外に情報を読まれないようにして通信することができます.
AさんがあるデータXをBさんの公開鍵で暗号化したら、Bさんしか復号できず読めなくなります.誰にも読まれません.盗聴されなくなるということです.BさんからAさんに情報を送る時はAさんの公開鍵で暗号化して送ります.そうすると情報はAさんしか読めません.
これで双方安全に情報を送ることができます.
「秘密鍵で暗号化したものは、対応した公開鍵でしか読めない」
というのを利用すると、
本人がちゃんと送ってきたことを保証することができます.
「データをAさんの秘密鍵で暗号化したもの」と「データそのもの」をBさんに送ると、BさんはAさんの公開鍵でデータを復号したものとデータそのものが一致することで、"Aさんが送った"ことを確認できます.
| 公開鍵暗号方式とは |
公開鍵方式にも幾らか問題があります.
・「Man In The Middle攻撃を受ける」:はじめから通信している相手がなりすましの場合、それに気づけずに情報を盗聴されてしまいます.
・「公開鍵方式の暗号化は時間がかかる」:公開鍵方式は時間がかかるため、共通鍵方式とのハイブリッド方式なども提案されています.
等々 | 公開鍵方式の問題点 |
公開鍵暗号方式による安全な通信
1. 公開鍵で暗号化し
2. ネットを通して届け
3. 秘密鍵で復号化します.
公開鍵で暗号化したものは秘密鍵でしか復号できません. | |
念のため、再度公開鍵暗号方式による安全な通信の上記図に関して説明しておきます.
<事前準備>
まず、鍵のペア(秘密鍵と公開鍵)を作って、公開鍵をみんなに渡します.誰に渡しても構いません.
鍵のペアは生成するアルゴリズムを決める必要があります.(基本決まっています)
秘密鍵は誰にも知られてはいけません.
<データを送る>
データを送る人は送り先の人の公開鍵をもらっておきます.
送りたいデータをその公開鍵で暗号化します.そうすると暗号化されたデータはもう秘密鍵を持っている人でないと読めません.誰に暗号化されたデータを横取りされても解読できないことになります.
<データを受け取る>
公開鍵で暗号化してもらったデータを自分の秘密鍵で復号します.
そうすると元のデータの内容を自分だけは知ることができます.
| 上記の図の説明 |
この章を学んで新たに学べる
Comments