lib_blog

図書室のコト、情報処理技術者試験のコト、それから小説。いろいろです。

暗号鍵

2004-08-22 | 初級シスアド
セキュリティ分野でも午前・午後共によく出るテーマである公開鍵暗号方式と共通鍵暗号方式についてのお話。

 例えば、ある企業のA支店とB支店で、個人情報のやり取りをせざるを得ないという状況を考えましょう。もちろん、ネットワークを使わざるを得ない状況という設定です(無理やりです)。
 個人情報の流出というと最近話題になってますが、こういうものが外部の誰かに知られると......企業の信頼問題に関わる重大な事態になります。「ここのお店使うの止めとこう」とか思いますよね。
 ネットワークで情報をやり取りする場合、何もしないと、送信中のデータは、誰にでも簡単に読めてしまいます。手紙を封筒にも入れずに送るようなものです。
 そこで、送信中のデータを暗号化します。例え誰かに見られても意味が通じない形にデータを変換して送信するわけです。

 さて、ここからが重要な部分ですよ(笑)

 その「暗号化」の方式に2つの種類があります。
a)秘密鍵暗号方式
 こちらは簡単です。暗号化するときに同じ鍵を使います。家の鍵と同じですね。ただ、コンピュータの鍵はビット列という0と1の数字の集まりですけれど。この鍵を使って、元のデータのビット列を「ガシャガシャ」とばらばらにして、読めなくしてしまうわけです。
 もちろん、同じ鍵を持っている人は、同じ手順で「ガシャガシャ」とすれば、元のデータを読める形に戻すことができます。
 CさんからDさんにデータを送る場合、Cさん(どちらでもいいのですけど)が秘密鍵を2個作ります。で、一方をDさんに渡しておきます。
 Cさんは自分の秘密鍵(つまり送信者の秘密鍵)でデータを暗号化して送信します。送信中誰かが見ても???な内容になっています。Cさんからのデータを受け取ったDさんはCさんからもらった秘密鍵(つまり送信者の秘密鍵)で復号します。
 秘密鍵暗号方式は、手間がかからずいいのですが、以下の問題点があります。
①1対1の通信しか対応しない
②不特定多数の人間とは通信できない
③キーの受渡しにも暗号化が必要である

b)公開鍵暗号方式
 では、1対不特定多数の通信がしたいときにはどうすればよいのでしょう。
そんなときに使うのが、公開鍵暗号方式です。
 公開鍵暗号方式では、1ペアの異なる2つの鍵を使います。つまり、対応する暗号化鍵と復号鍵が異なるのです。で、暗号化鍵の方を公開鍵として大々的に公開します。復号鍵の方は秘密鍵として企業が管理します。
 顧客は自分の個人情報や、クレジットカードの番号、または注文内容などを第3者(特に悪意のある第3者)に読まれたくないので、情報を暗号化して送信しなくてはなりません。
 そこで、顧客(不特定多数)は、ブラウザを通じて、公開鍵をGetします。その企業の作成した公開鍵(受信者の公開鍵)で、顧客はデータを暗号化します。このとき重要なのは、公開鍵で暗号化したデータは、他の公開鍵では復号できないというところです。公開鍵で暗号化したデータは、秘密鍵でしか復号できません。企業に届いたデータは、企業の秘密鍵(受信者の秘密鍵)で復号します。
 この方式は、確かに便利ですが、暗号化及び復号に時間がかかります。しかも、暗号方式が複雑化していき、さらにその傾向が進んでいます。ですから、公開鍵で暗号化して秘密鍵を送信するという形で2つの暗号方式を組み合わせて使うこともあります。ディジタル署名などで使われています。
 試験で出るのは、公開鍵暗号方式か、最後の組合せ技でしょう。誰が作ったキーなのかといったところが重要なポイントです。

参考文献葛野図書倶楽部2001初代HP午後の木曜会→活動日7月~8月→7/18
(注) 大学時代所属していた倶楽部内の勉強会での学習報告ですが、シスアド合格前の記述ゆえ、若干説明不十分なところがあるようです...あしからずちなみに記述者は私ではありませんが