Headline About TechLog Download Java VBA Link

August 5, 2008.

書評サイトのような日記


いつも通りの朝の過ごし方で出社。Dan BrownのDigital Fortressを読み進める。直訳するとデジタルの要塞か。主人公の女性は天才で、暗号ハッキングをする組織にいるらしい。彼氏も天才だけど、何かに巻き込まれたらしく....という展開。こういう構造はかなりシドニー・シェルダン的。展開は彼ほど早くないし、求心力も弱いけど。

で、冒頭よりあるスパコン(スーパーコンボではない)が登場し、こいつが数万ビットの暗号だろうと1時間もかからず、すいすい解くのだと言う。で、そいつが一晩かけても解けない暗号が...と言うあたりを読んでいたのだが、ちょっと疲れて箸休めしているところ。何故疲れたかと言うと、内容が納得いかない。CPUが速ければ暗号が解けるというものではないのだ。SEとしてはその辺で既にうーんと言う感じ。

 

例えば、ZIP圧縮時に暗号化を使った場合の話を考えてみよう。この場合確かにCPUが速いとやすやす解ける。例えばLhaplusなどのフリーウェアを使うと、英数字6文字などのパスワードで暗号をかけても、ものの数分でパスワードを調べる事が出来る。その理由は、「ZIPのパスワードつき圧縮は、パスワードつき解凍のインターフェイスが公開されていて、実行すると成功か失敗かがわかるように作ってある上に、再試行が何度でも可能」だからである。これらの条件のどれが欠けても暗号の複合化は非常に困難になる。

まともなパスワードシステムはログイン試行回数が制限されている。銀行のシステムが4桁数字だけで運用されうるのはそのためだ。もし試行回数が無限大にOKなら、学生時代にナンバーロック錠でやったように、順番に試せば簡単にはずせる。1秒1個試せば、平均1時間半ではずせる。ちなみに防犯カメラを気にしないなら、2回失敗するごとに別のカードを挿入したり、別ATMに行けば回避できるはず。どっちにしたところで、入り口と出口が決まっているから暗号やパスワード認証としては一番初歩的なレベルだ。

そもそも本気で重要なデータの暗号化なら、インターフェイスが公開されているということが稀である。メールソフトやブラウザのSSLのように統一規格ならわかるが、ただ単にファイルを暗号化する、と言う場合、そもそもパスワード以前に入り口がわからない。どこにパスワードを渡せばいいのかが不明だ。さらにいうなら、仮にあるキーワードを利用し、あるアルゴリズムと組み合わせたデータが結果となると仮定して試すとしても、インターフェイスがOKやNGを返してくれないなら、何が正しい解答なのかがわからない。例えば、もともとの文章が「ほげjl;aあfっらい」という文書だったとして、正しいキーワードを利用してその文章を得た時に、どうやって「ほげjl;aあfっらい」が正しい解答だと判定するのか?「こんにちわ」なら人間にはわかるが、この場合人間にだって不可能なのだからコンピュータには絶対不可能である。

さらに言うなら、どこまでがデータであるかを誰が知りうるのか。目の前の1ファイルが1データである保証はどこにあるのか。そこまで考えれば全く出所のわからない、暗号化されていると思しきデータをいきなり複合化するなんていう電子レンジ的複合化マシンは作れないのだ。

したがって、通常、重要なデータを盗聴をする場合は、通信経路、システム、暗号方式等の当たりをつけた上で、そのネットワーク内を監視するところからスタートし、「データの塊」に見当をつけてコピーし、暗号のアルゴリズムをある程度想定した上で無いと、CPU速度に任せた複合化など不能である。したがって、「スパコンで試したが、複合が終わらない。どんな謎な暗号化方式なのだ!!」なんてことは現実にはありえない。暗号化方式を仮定した上でしか、そもそも試行自体を行なわないはずだ。

 

長々と書いたが、一般人にもわかるように言うと、本気で誰にも知られたくない場合、例えば大統領専用ATMなら、暗証番号を入力してください、という画面を出しておいて、実際には「中である歌を歌いながら、壁を3回たたき、防犯カメラに指紋を提示する」と言うようなつくりにしておくだろうという事。で、「認証に失敗しました」と言う、失敗と見分けのつかない画面が表示された状態で、ほしい金額だけ手を叩くとお金が出るようにする。この場合、いくら暗証番号入力が速く(=CPUが速い)ても無意味だということがわかってもらえると思う。

 

....などと考えていたら疲れたと言うわけだ。今後の展開でその辺の疑問を払拭するような事実が出てくると良いなぁ、と思いつつ。

 

 

今日ものっそりとコーディングの日。先ずは追加機能分の設計書を書こうとしたら、既存機能に関する設計書がない。他人の書いたコードをベースに設計書を0から起こす作業からスタートする羽目になった。この業界で働いていると人のしりを拭う作業が多い。他の仕事をした事がないだけで、どんな業界でもそうなのかも。ザクザクとSQLを書いて調査。調査が半分実装に近いため、実装後に後追いで設計書作成に近い。意味が無いといわれそうだが、メンテナンスのためには必要。

 

今日はほぼ定時退社。空腹すぎて残業できず。N駅まで歩いてジュンク堂で本を買い漁った。本代が凄い事に。今月はもう、本の購入は禁止。禁煙宣言・減量宣言と同じぐらい信用できない宣言だが。

帰りの電車でDigital Fortressの続き。解けない暗号の正体は「解けたかどうかがわからない仕組みによる」んだそうな。だから(略)。まぁ、いいや。その後「ウィルスは全部入り口でチェックされているのに!」と言う台詞を読んで、「暗号解読マシンなんだから、解読した結果ファイルにウィルスが入ってた場合はチェックできないだろう」など突っ込みを入れてみたり。

つまるところ、理系ミステリは文系にこそ沢山売れるのかもと思った。本気の理系にはいわゆる「理系ミステリ」は「嘘」か「当たり前」に感じ、新規性を感じないのではないかな。ともあれ、話はなかなか面白くなってきた。ダンブラウンの処女作らしいが、結構読ませるのは確か。ただ、作中に重要な役割で日本人が出てくるのだが、Ensei Tankadoってどんな名前だ。そんな日本人はおらん!漢字表記が知りたいところ。「端門 厭世」ぐらいか?って、漢字に直してみたら意外とかっこいいじゃん。

 

夜は気楽に。本を読んだりゲームをしたり。寝る前にいつも通り英語音声字幕無しでStar TrekのDVDを1話。The Emissaryというタイトル。直訳すれば「使者」なのだが邦題は「愛の使者」らしい。3話連続恋愛物かとがっくり来たが、これはなかなか面白かった。以降、いつも通りネタバレコメントなので、見てない人はジャンプ。

ある事件を解決するためにエンタープライズに使者が送られてくる。その使者ってのは、クリンゴン人の女性だった。この使者とエンタープライズのクルーであるクリンゴン人のウォーフはどうやら旧知の間らしい。で、焼けボックリに火がついたりつかなかったりするわけだ。ところがその使者ってのはハーフなため、クリンゴンの考え方に共感を覚えたり反発したりして、結果的に二人はぶつかってしまう。

この当りのシーンの見所はクリンゴン人とが戦闘民族であるため、非常に特殊な考え方や行動を示す点。そのへんの非常に日常的な行動における文化の違いの扱いは非常に面白い。Star trekならではの視点だろう。同じ事に着目した作品は、せいぜい「ナデシコ」の冠婚葬祭のエピソードぐらいしか思いつかない。

冒頭のある事件と言うのは「戦争が終わった事に気づいていないクリンゴン戦艦との交渉」である。クリンゴンは最近連邦に加入したばかりの種族で、Star trek初代(カーク船長時代)では敵対種族だったのだ。彼らはさながら、ジャングルに隠れていて終戦に気づかなかった日本兵のようで、怖ろしくもあり、悲しくもある。ピカード艦長が交渉しても無理だと予想したウォーフは、とっさの機転で自分が艦長であるフリをし、彼らに終戦の事実を告げる。和解後の最後の言葉、"Welcome to the 24th century"にはぐっと来るものがある。

人間文化に理解を示す「使者」に比べ、本エピソード中のウォーフは鉄壁のクリンゴン的発想で行動していたのだが、実はこの最後の機転による行動こそ、人間への歩み寄りである。作品の冒頭にみんなでポーカーをするシーンがあって、ジョーディーの「ブラフだろ」の台詞にウォーフは「クリンゴンはブラフを言わない!」と返している。クリンゴンは質実剛健な戦闘民族で、嘘をつく事は良くないことなのだ。したがって、クリンゴン艦の船長に「だましてるんじゃないだろうな!」と言われても、艦長であるフリをし、したがわないなら攻撃するそぶりを見せ、武装解除させて彼らの命を救った行動は、ブラフを「必要悪」と捉えたという、彼にとって非常に大きな成長のシーンだったわけだ。結果、わだかまりのあったはずの使者が帰る時、彼らは和解の姿を見せている。

こうしてふりかえってみると、非常に構成の良いストーリーだった。使者役の女性も画面に映えるし、名エピソードだな。2人の会話など、聞き取りが難しかった箇所が多々あったので、明日英語字幕つきで見直そう。

 

 

【今日の英語学習】(11/30まで毎日書く....予定)

・リーディング(速読): 88min

・リスニング (シャドウイング): 81min

・リスニング (Star Trek DVD) : 42min

・和訳 (小説): 24min

-------------------------------------------------------

 合計: 235min


名前: 意見: パス:

※パスにはこの日記のタイトルをコピペして下さい。


August, 2008
SUN MON TUS WED TUR FRI SAT
12
3456789
10111213141516
17181920212223
24252627282930
31