情報化社会のセキュリティ

駒澤大学 文学部 自然科学教室
上原 隆平
uehara@jaist.ac.jp

このページでは情報化社会のセキュリティには, どのようなものが求められているのか,現状はどうなっているのか, といったことを簡単にまとめてあります. 1999年度の駒澤大学での授業で使用したページを多少加筆修正して, 体裁を整えて,2002年11月末に公開しました. 内容はほとんど変更してないので,一部古くなっています.以下に目次を示します.

換字法やDESはややクラシックな内容です. 公開鍵暗号系は近年開発され,実用化されている現代の暗号の基礎となる概念 です.デジタルキャッシュは今まさに研究が行なわれている, ホットな分野です.

(覚書) 本ページの公開は以前から計画していましたが, 上原の怠慢により遅れていました. 最近結城浩氏『暗号とセキュリティ入門』 のレビューをやらせていただく機会がありました. その内容を読む以前に書いたものであることを, はっきりさせておいた方がよさそうに思ったので,急いで仕上げて, 2002年11月末に公開しました.

暗号とは

昔は暗号といえば特殊な職業の人が特殊な用途に用いることが多く,一般の私 たちにはあまり関係ないものでした.しかし近年では,そんなことは言ってい られません.繰返しふれたように,インターネットとは誰にでも公開された, オープンな場所です.これが非常に便利に使われるようになり,こうしたオー プンなネットワーク上で,クレジットカードの番号や,パスワードや,金銭そ のものといった非常に重要な情報をやりとりすることに関する重要性が増して きています.こうした,一見相反する要求を暗号理論は可能にしてくれます.

例えば電話で公平なコイン投げ勝負をすることは可能でしょうか?答は Yes です.また例えば,強欲なお金持ち同士が,お互いの資産を明かすことなく, どちらが金持ちか,ということだけを知ることは可能でしょうか?これも答は Yes です.インターネット上で遠くのマシンを利用したいとき,悪意のある人 が流れるデータを完全に盗聴しているとすれば,パスワードをどうやって入力 したらいいのでしょう.近年の暗号理論はこうした難問に,明快な答を与えて くれます.

インターネットで買い物をしたり,あるいは将来電子キャッシュを安心して使 うためには,こうした暗号理論について知っておくと,まくらを高くして眠る ことができます.また上記の『魔法』のようなトリックをどうやって実現する のか,という知的好奇心は非常に重要です.興味のある人は,

『情報セキュリティの科学』
太田和夫・黒澤馨・渡辺治著,ブルーバックスNo.B1055,760円

を読むとよいでしょう.ただし今回の授業の内容は,市販のテキストや本には, まだ載っていないことも多いです.英語の論文からとってきた内容もあります.

初期の暗号(換字法)

名探偵シャーロックホームズは『踊る人形』というストーリーの中で, 以下のように人形で書かれた暗号文を見事に解読してしまいます (ちなみにこの絵は 『踊る人形』暗号変換CGI というすばらしいページを利用させてもらって作りました).

Dancing Dools

では次の暗号はどんな意味でしょう.

gyczjfZMlfZBgElpYIcBKsZmY

一見めちゃくちゃですが, ちゃんと意味があります. それでは次の暗号はどんな意味でしょう.

Gr brx kdyh dqb qlfi sodqv lq wklv zlqwhu?

今度の答えはこれです.

これらの暗号は,ある規則を決めておいて,それぞれの文字をその規則にした がって,対応する別の文字に変換する,という方法をとっています.こうした 暗号の作り方を換字法と呼びます.こうした暗号 は比較的簡単にやぶることができます.かの名探偵シャーロックホームズ氏の とった方法も本質的に同じです. それは文字の分布を調べるという方法です. 例えばホームズ氏は,次のような手順でこの暗号を破ります.

つまり,文字や単語の分布を調べて,その結果を暗号の文字列と対応づけるわ けです.特にコンピュータが発達した現在では,単純な換字法はすぐやぶるこ とができます.

(余談)多くのテキストが電子化されている現在で は,例えば作家ごとの単語の使い方頻度などもよく調べられています. コンピュータが発達した現在ではこうした調査も簡単です. 各国の言語ごとの出現頻度などもよく調べられていますので,他の言語で換字 法を使っても,単純なものだと実用にはなりません.

いずれにしても,こうした単純な暗号化の方法は,暗号化の方法が一度ばれて しまうと誰にでも解読できてしまいます.こうした解読のための『鍵』の管理 が非常に困難です.通信の場合は特にこうした鍵の受け渡しに問題があります.

パスワードの暗号化(DES)

一つの文字だけではなく,文字をいくつかまとめて暗号化してはどうでしょう? その発想で設計され,今でもコンピュータ上で広く用いられている方法として, DES があげられます.DES は NBS Data Encryption Standard の略です. NBS とは National Bureau of Standards です.つまりアメリカ連邦標準局が 定めた,標準のデータ暗号化の形式です.

以前,英数字は8ビットの0と1の列で表現される,という話をしました.DES は 64ビット,つまり8文字の英数字をまとめて他の64ビットの英数字列に変換 する暗号化の手続きです.逆変換がほとんど不可能になるように,複雑な関数 を組み合わせて作っています.64ビットあると,可能な組合わせの数はだいた い18000000000000000000通りくらいあります. (DESでは実際にはもう少し数は少ないのですが,そのあたりは省略します.) ですから与えられた暗号化された文字列を逆変換するのは非常に困難です.

UNIX など,標準的なネットワークシステムでは,パスワードは DES による暗 号化をしたあとで記憶しています.ユーザがシステムにログインするときには,

という手順をとっています.ですから本人以外の人間は,例えシステム管理者 であっても,パスワードを知ることはできません.より正確に言えば,その人 がつけそうなパスワードを片っ端から試してみる以外の方法でパスワードやぶ りをすることは,ほとんど不可能なわけです. またパスワードが先頭の8文字しか有効ではない,というのも,この DES の制 約によるものです.

電話で公平なジャンケンをする方法

突然ですが,電話で公平なジャンケンをして,勝負をつける方法を考えましょ う.電話ではAさんとBさんは交互にデータをやりとりすることしかできない, としましょう.つまり同時にどんな手を出すか口で言う,などという原始的な 方法は通用しません. またAさんとBさんは非常に高性能なコンピュータを持っていて, 手元でいろんな計算ができるとしましょう.

はたしてこんなことが可能なのでしょうか.答は Yes です. ではどうすればいいんでしょう.

さてここでヒントとして, まず次のような非常に興味深い事実をお教えしましょう.

例えば100桁くらいの数を掛け合わせるのは,そのあたりにころがっているコン ピュータを使っても,ほとんど瞬時にできますが,しかし200桁くらいの数を 素因数分解するのは,現在の最高水準のスーパーコンピュータを使っても,数 十万年かかってしまうのです.不思議ですね.この不思議の解消には非常に高 度な専門知識が要求されるので,ここでは省略します.

答の一例を載せておきます.

公開鍵暗号系と電子署名

公開鍵暗号系とは,1980年前後に考えられた非常に画期的な暗号システムです. これは二つの鍵「公開鍵」と「秘密鍵」とからなります.どちらも,それを使っ て暗号を作ることができるのですが,

という使い方しかできません.公開鍵は秘密鍵から簡単に計算できますが, 秘密鍵は公開鍵やそれによって作られた暗号文から計算しようとすると,何十 万年もかかってしまします.そして公開鍵は世間に文字通り公開してしまい ます.これがなぜ安全な暗号システムなのか,考えてみましょう.

暗号による通信

誰かに秘密にしたい文を暗号化して送ってもらいたいときは,以下のような手 順をとればよいです.

通信システムが完全に盗聴されていても,盗聴相手は公開鍵とそれによって暗 号化された文しか手にいれることができないので,そこから秘密鍵を作ること はできず,解読することはできません. また途中で改竄されると,暗号化された文が壊れてしまうので, それを察知することができます.

電子署名

この公開鍵暗号システムでは,電子署名を実現することができます.つまり電 子的なデータであるにもかかわらず,自分がそれに署名したことを証明するこ とができるのです.いったいどのようにすればいいのでしょう. …その答はここに書いてあります.

この場合は上と同様の原理ですが『改竄できない』という性質の方が重要になっ ている点に注意して下さい.

RSA 暗号システム

こうした非常に興味深い特徴を備えた公開鍵暗号システムは非常にすぐれたシ ステムですが,はたして本当にそんな都合のよいシステムが作れるのか?と提 案当初は疑問視されてました.しかし上記の

という性質を使って,今では実用化されています. このシステムを RSA 暗号システム (ちなみにRSAとは考案者の Rivest, Shamir, Adleman の頭文字です) と呼びます.

近年,RSA をベースにした実用的な公開鍵暗号系システムは PGP(Pretty Good Privacy) と呼ばれています. これは Philip Zimmermann という人によって書かれたフリーのソフトウェア です.これについてはキナ臭い話があるので,興味のある方は調べてみましょ う.授業では言えますが,ここには恐くて書けません. 彼自身による『 なぜ PGP を使うべきか?』という文書があります. (2002年現在,なくなってます;-) Adam Back 氏の『 PGPの歩み』もなかなか読みごたえがあります. 興味がある人は読んでみて下さい.

遠方にログインする方法と公開鍵暗号系

インターネットはオープンなシステムであることは繰返し述べました. 遠方のマシンを利用するときに,パスワードをそのまま入力して, それがそのままネットワークを流れるのは危険ではないのでしょうか? 実は危険です.最近はこれをなんとかする方法があります. 具体的には次のような手順で,遠方のシステムにログインしま す.

この手順ではネットワーク上は,相手の公開鍵と,これで暗号化されたこちら のパスワードだけが流れることに注意して下さい.このシステムは今は かなり標準的に使用されるようになっています.

公開鍵の配布方法とメールの暗号化

インターネット上を流れるデータが改竄される可能性があった場合はどうなる でしょう.特に公開鍵が改竄された場合は,公開鍵暗号システムはメチャクチャ になってしまいます.この点については今はまだ研究段階です.公開鍵をどう やって公開するか,ということについては,いくつかの方法が考えられていま すが,

という二つが現在はよく行なわれています. 後者は厳密には公開鍵そのものではなく,それを短く切り詰めたもので fingerprinting (『指紋』)と呼ばれています.常日頃からあちこちに痕跡を 残すようにするところからの連想でしょう.メールの署名の部分に

X-PGP-Fingerprint: 29 9A 7C 12 D0 90 DC 91 1E 62 46 91 22 A6 FA FF

という情報が入っていたら,これはその人の公開鍵の指紋です. 最近はときどき見掛けるようになりました.興味のある人は PGP というキー ワードを手がかりに WWW で探してみるとよいでしょう.

WWW と公開鍵暗号系

インターネットはオープンなシステムであることはしつこく述べました. WWW でのオンラインショッピングなどで,クレジットカードの番号などの情報 を入力して,それがそのままネットワークを流れるのは危険ではないのでしょ うか?当然危険です.最近はこれをなんとかする方法があります. 具体的には次のような手順で,遠方のシステムとの間で情報がやりとりされて いるのです.

この手順ではネットワーク上は,相手の公開鍵と,これで暗号化されたこちら の秘密の情報だけが流れることに注意して下さい.Netscape などの WWW クラ イアントは最近は上記の2番目の『受け取った公開鍵で情報を暗号化して送る』 という機能をちゃんと持っています.Netscape では左下の鍵の絵がこれにあ たり,これが lock された状態になっているときは,こうした機能を提供した WWW サーバにアクセスしていることを示しています.つまり情報が安全にやり とりされることが保証されているわけです.

アメリカのインターネット上の最大の書店である amazon.com はかなり早くか らこのサービスを提供していましたが,日本ではこれまではこうした暗号化に 対応した Web サーバはあまり見掛けませんでした.しかしここ数ヵ月のうち にかなり多くのサーバで対応してきつつあります.上原の知る限りでは, JAL, ANA などの飛行機のチケットの予約については,1年前は暗号化に対応し ていませんでしたが,今は対応しています.(早割チケットがチケットレスサー ビスで安心して買えるようになりました.個人的にうれしい.)

デジタルキャッシュの現状

そもそもデジタルキャッシュとはなんでしょう.みなさんは『お金って何?ど ういうもの?』と聞かれたとき,どのように答えますか.オンラインでやり取 りされるデータをお金として通用させるには,どういう条件を満たせばよいの でしょう.この疑問に関しては今は研究段階です.満たすべき条件としては, 例えば以下の要件があげられます.

セキュリティ
コピーしたり再利用したりできない.
独立性
純粋に『情報』だけでなくてはならない.特定の物質に依存しない.
追跡不可能性(プライバシー)
プライバシーが保護され,お金の流れを追跡できない.
オフラインで支払い可能
売買の時にその都度,銀行などのシステムに問い合わせる必要がない.
分割可能性
例えば100円のデジタルキャッシュで10円の買い物が10回できる.
通貨性
他の人に渡すことができる.

現在実用化されているものは,おおむねこれらの要件の一部しか満たしていま せん.国際会議などの論文を見ると,こうした要件をすべて満たすようなプロ トコルも提案されているので,実用化はそれほど遠いことではないでしょう. なおこうしたプロトコルは,上のジャンケンのプロトコルをより複雑にしたよ うなもので,魔法でもトリックでもありません.みなさんもデジタルキャッシュ に必要な要件や,それを実現するプロトコルなどを考えてみるとおもしろいか もしれません.

暗号システムの将来

暗号システムの未来は薔薇色 なのでしょうか? 答は Yes とも No とも言えません.例えば上記の RSA 暗号系などは,すべて

という二つの事実に基づいて作られています.しかし素因数分解が とっても難しいのは, これまでに考えられたどんな手順でも経験的に難しい, という範囲にとどまっています.理論的には,非常 に難しいであろう,と強く予想されている問題であるにすぎません.ですから もしかするとこうした予想を覆す画期的な方法が編み出される可能性は絶えず あります.

しかし一方では理論の方も進んでいて,今では素因数分解に基づいた RSA 暗 号システムよりもさらにさらに難しいとされる,楕円暗号と 呼ばれるものがホットなトピックになっています.

またコンピュータにしても,DNA コンピュータや量子コンピュータなど, 今までの原理とまったく異なるコンピュータを作ろうという試みもいくつかな されています.まったく新しい原理に基づくコンピュータは,今までは計算で きなかった難しい問題を瞬く間に解いてしまうかもしれません.

また現実的には WWW のシステムのセキュリティ上の問題点が発見されたりす ることもあります.たとえ理論的には安全性が保証されたプロトコルでも,現 実のソフトウェアにするときには,

などの理由から,何らかのエラーが潜り込むことがあるからです.この点をつ かれて,重要な情報が漏洩することもないではありません.

こうしたさまざまな事柄が複雑に絡み合い,サイバースペース上の情報の安全 性は,たえず強化されたり弱化されたり,といういたちごっこが続くのではな いか,と上原個人は予想しています.


Last modified: Mon Nov 25 20:13:54 EST 2002
by R.Uehara (uehara@jaist.ac.jp)
Valid HTML 4.0!