秘密鍵暗号方式・公開鍵暗号方式


インターネット上で,AさんからZさんに重要データを送ります。
インターネットは,オープンなネットワークのため,途中で悪意のXさんに盗聴
されたり,改ざんされる恐れがあります。

(イメージから憶える)

それを防ぐために,
送信側(Aさん)で平文を暗号化して(鍵を閉めて),暗号文を送信します。
受信側(Zさん)で暗号化されている暗号文を復号して(鍵を開けて),平文に
戻します。
たとえ途中で悪意のXさんに盗聴されたとしても,暗号化している(鍵が閉まっ
ている)ため,解読されたり改ざんされる可能性は低くなります。


秘密鍵暗号方式(共通鍵暗号方式)

(クレバー方式から憶える)

秘密鍵暗号方式(共通鍵暗号方式)とくれば 同じ秘密鍵


暗号鍵と復号鍵が同じ。→秘密鍵(共通鍵)

(メリット)
暗号化/復号の速度が速い。
(デメリット)
鍵の受け渡しが問題(鍵が盗まれると,その鍵で復号してしまう)。
相手の数だけ,鍵を作成する必要がある。不特定多数に不向き。

(イメージから憶える)
秘密鍵暗号方式は,家の鍵と同じイメージ。ドアを閉める鍵と開ける鍵は同じ。
鍵を落とさない(盗まれない)ように注意しなければならない(秘密にしなけれ
ばならない)。盗まれてしまうと,その鍵で開いてしまう。家族の人数分,鍵を
作らなければならない。


公開鍵暗号方式

(クレバー方式から憶える)

公開鍵暗号方式とくれば 公開鍵・秘密鍵


暗号鍵と復号鍵が異なる。→公開鍵と秘密鍵(共通鍵)
暗号文は,対の鍵でしか復号することができない。
公開鍵で暗号化した暗号文は,秘密鍵でしか復号できない。

(メリット)
鍵の管理が容易。
1つの鍵を公開すればよい。不特定多数向け。
(デメリット)
暗号化/復号の速度が遅い。

(過去問題から憶える)
公開鍵暗号方式を用いて,図のようにMさんからNさんに他人に秘密にしておき
たい文章を送るとき,暗号化と復号に用いる鍵は,
鍵A → Nさんの公開鍵
鍵B → Nさんの秘密鍵
                    (基本情報 H10 秋 問77)


(イメージから憶える)
公開鍵暗号方式は,南京錠と同じイメージ。誰でも鍵を閉めることができるが,
鍵を開くことができるのは,鍵をもっている当事者だけである。


(問題点)
公開した鍵を用いるため,誰でも暗号化することができる。
ということは,AさんがあたかもBさんになりすます危険性がある。
なりすまし


電子署名(ディジタル署名)

(クレバー方式から憶える)

電子署名とくれば 送信者本人である証明・公開鍵暗号方式の応用

なりすましを防止するには,
暗号文は,対の鍵でしか復号することができない。
→公開鍵で暗号化した暗号文は,秘密鍵でしか復号できない。
を応用して(逆転発想して),
秘密鍵で暗号化した暗号文は,公開鍵でしか復号できない。

送信側の秘密鍵は,送信者本人しか持っていない。その鍵で暗号化した暗号文を
送信側の公開鍵で復号できるということは,確かに送信者本人から送られたもの
である。→なりすまし防止。
(問題点)
送信側の公開鍵で復号化できるため,誰でも復号できる。ということは,途中悪
意の第三者が改ざんする危険性がある。

(過去問題から憶える)
ディジタル署名を用いることで,電子メールの内容の改ざんを防ぐことはできな
いが,改ざんが行われた場合にそれを検知することができる。
                  (初級シスアド H10 秋 問68)

(過去問題から憶える)
ソフトウェア開発 H13 春 午後1 問3 抜粋

 暗号化と認証に関する次の記述である。
 X社では,インターネット経由で取引先と電子メールやデータ(以下,メッセ
ージという)の交換を行うことを計画している。インターネット経由でメッセー
ジの交換を行う場合,メッセージの本文を暗号化するだけではセキュリティ面で
安全とは言えない。メッセージの交換相手の認証も行う必要がある。相手の認証
を行うに当たって,暗号化と復号を同一の鍵(共通鍵)で行う秘密鍵方式ではな
く,暗号化と復号を各個人が所有する秘密鍵と公開鍵とで行う公開鍵方式の暗号
化アルゴリズムを採用することにした。
公開鍵方式を使って受信者Bが送信者A
の認証を行う
場合の手順を図1に示す。


 図1の手順を応用して認証を可能にしたメッセージ送受信の手順を図2に示す。
 図2に示すメッセージ送受信の手順は次のとおりである。


(1)送信者Aは,メッセージ本文を,Aと受信者Bが共有している共通鍵を使
 って,
秘密鍵方式で暗号化してBへ送る。
(2)認証を行うために,AとBとで共有している
ハッシュ関数を用いて,Aは
 メッセージダイジェストを生成し,生成した
メッセージダイジェスト公開鍵
 方式
で暗号化してBへ送る。ここで,AとBは相手の公開鍵を安全な方法で入
 手できるものとする。
(3)Bは,受け取ったメッセージダイジェストを
公開鍵方式で復号する。さら
 に,メッセージ本文を共通鍵で復号し,復号した本文から
ハッシュ関数を使っ
 て
メッセージダイジェストを作る。
(4)Bは,Aから受け取って復号したメッセージダイジェストと,自分でメッ
 セージ本文から生成したメッセージダイジェストが
一致しているかどうかをチ
 ェックすることによって,相手を認証する。


図2の手順でメールを送るとき,メッセージ本文の暗号化と,メッセージダイジ
ェストの暗号化では,別々の暗号化方式を用いている。これは,公開鍵方式が秘
密鍵方式に比べて,
暗号化及び復号に要する時間が長いからである。

認証用データにメッセージダイジェストを用いることは,セキュリティ上,
第三
者による改ざん
を防止することを目的としている。

メッセージダイジェストを生成するハッシュ関数がもつべき特徴は,
出力データ
から入力データを復元できない。


(基本情報)
H13 春 問70
H11 秋 問75

(初級シスアド)
H13 春 問51
H12 春 問73


(注)ブラウザの戻るボタンをご利用下さい!