1.序
電子商取引や電子マネーが普及する条件として、利用者の権利保護を目的とした「セキュリティー技術」の発展が必要不可欠である。具体的にはデータの盗み見や盗聴、なりすましやしらばくれ、あるいはデータの偽造や改ざんの防止を促進し、より快適で安全なネットワーク社会を形成していくことである。これらの対策として、暗号技術が用いられる。暗号には、「守秘」「認証」「署名」と3つの機能を持ちあわせている。「守秘」とは第三者に対して秘密が漏洩されないようにすること、「認証」とはお互い面識の無い者同士が相手を認めること、そして、「署名」とは情報の内容に間違いが無い事を証明する事をさし、これら各々に対してそれぞれ適した暗号技術が存在する。いずれの技術も今後EC革命において欠かせない物であるため、今回の発表において、これらの暗号技術について紹介していく。
2.相手の秘密を守る「共通鍵暗号方式」
まず、ネットワーク上においてオープン・ネットワークであれば必ず、第三者がデータを盗み見、盗聴を行っている可能性が存在する。例えば、A社からB社宛てに注文書をネットワークを通して発信したとき、直接B社に送信されない限り、経由地点で何者かが注文書の内容を見ているとも限らない。そこでこれら盗み見や盗聴を防ぐためによく使われるのが「共通鍵暗号方式」と呼ばれるものである。この方式は、「鍵」となる暗証番号があって、鍵を知らない人は暗号を解けないようになっている。「共通鍵」と呼ばれるのは、データの送信側、受信側共に同じ鍵を使用するからである。「鍵」というのは文章を暗号に変えるときに使われるデータのことである。実際に例を挙げて説明する。まず、ここでは鍵をキャッシュカードの暗証番号のように4桁の数字で表す事にする。まず、「明日の昼、学食に来てください。」という文章があり、このメッセージを密かに誰かに伝えなければならないとする。そこでこれを「1030」という鍵(自分自身で最初に設定をする)を使って暗号化を行い「adnKeikrelJIOJLdhsz;ncKLm0nniNOViRDhJGIN」という暗号文に変換されたとする。実際にこれを解くには同じ鍵「1030」を使って逆の変換を行えば良い。これが共通鍵暗号方式の基本的な仕組みである。
「共通鍵暗号方式」の簡単な例として、鍵を使って乱数を生成しデータに論理和する方式がある。「論理和」とは、2進数において以下のような結果となる演算のことである。
0+0=0
0+1=1
1+0=1
1+1=0(2進数なので1+1=0となる)
論理和を使用すれば、暗号化したデータに再び同じ乱数を論理和するだけで元のデータに戻る。つまり復号化が出来る。
例えとして、データ「1110」と乱数「1010」の論理和を行ってみる。
1110 元のデータ
++++
1010 乱数(共通鍵)
↓
0100 結果
このように「0100」となる。これが暗号データである。元に戻すためには同じ乱数を暗号データに論理和すると
0100 暗号データ
++++
1010 乱数(共通鍵)
↓
1110 元のデータ
このように、乱数によって元のデータに変換されるわけである。
しかし、この共通鍵暗号方式では、事前に通信相手と同じ鍵を使う事を密かに取り決めておかなければならない。そのため、鍵をどのような手段で相手に渡すのかが重要であり、これが共通鍵暗号方式の極めて困難な問題である。電話や電子メールによる鍵の送信は第三者に盗聴されている危険性をはらんでいるため、暗号文が解読されてしまうのである。
3.次回発表のテーマ
今回は暗号技術の基本である「共通鍵暗号方式」について取り上げてみた。そしてこの方式では鍵の伝達方法に問題があった。次回は鍵の伝達方法の問題を解決した「公開鍵暗号方式」について取り上げてみようと思う。
4.参考文献
Copyright (C) Shuichi Inage 1997. Alle Rechte vorbehalten.
E-mail:t9530605@mt.tama.hosei.ac.jp
E-mail:sinage@geocities.com (Postpet)