ジョン・グラハム=カミングから連絡が来るのは珍しい。だから、来たときはきちんと対応する。彼の本業はセキュリティ企業Cloudflareの最高技術責任者(CTO)だが、真っ当な羅針盤をもつ在野の技術史家でもある。
彼の名を世に知らしめたのは、英国が伝説のコンピューター科学者アラン・チューリングを同性愛の罪で訴追し、迫害して死に至らしめたことについて、政府の公式謝罪を引き出したことだろう。それだけに、彼が「とんでもないネタがある」とメッセージを送ってきたとき、当然わたしは返事をした。メッセージにはこうも書いてあった。「ワンタイムパッド! 8ビットコンピューター! 乱数の詰まったフロッピーを南アフリカに密輸する客室乗務員!」
ハッカー魂のある活動家の物語
グラハム=カミングが聞かせてくれたのは、反アパルトヘイト活動家だったティム・ジェンキンの物語だった。わたしがジェンキンに取材すると、彼は自分を評して「ありきたりな差別主義の南アフリカの白人」として育ったと語った。だが海外に出て、警察国家・南アフリカのフィルターをはずすと、母国が黒人に対して酷い圧政を敷いていることがわかり、1974年にアフリカ民族会議(ANC)を支援することを申し出た。当時のANCは、少数白人政権を転覆しようとしていた非合法組織だった。
南アフリカに戻ったジェンキンは活動家となり、反アパルトヘイトのパンフレットを配った。ガジェットが好きな彼は、路上に置いて、スイッチが入ると反政府ビラを空中に撒き散らす「リーフレット爆弾」をつくる技能があった。だが不幸にも1978年に捕まってしまう。懲役12年の刑だった。
ジェンキンにはハッカー魂があった。子どものころからガジェットをいじり、10代はバイクを分解しては組み立てた。こうした技能が救いになった。木工の工房にいた時、刑務所の扉を開ける鍵を木で複製したのだ。何カ月も密かにつくっては試した。そしてついにジェンキンと仲間2人は脱獄し、やがてロンドンまで逃げ延びた。
1980年代初め、ANCの活動は停滞していた。問題はコミュニケーションだった。活動家、とりわけANC幹部は常に南アフリカ政府に監視されていた。「亡命中のANC幹部を国内に戻し、活動家の近くに置くという決定がなされました。でも、そのためには、外部と連絡をとる必要があったのです」。ジェンキンは言う。その問題を解決する任にあたったのが彼だった。
消えるインクやプッシュホンのトーンで信号を送るといった初歩的な手法は効果的とは言えなかった。コンピューターを使った、破られない通信システムが必要だった。計画は「ヴラ作戦(Operation Vula)」と名付けられた。
暗号化技術をアジトでつくる
ロンドン・イズリントン地区の小さな公営アパートで、ジェンキンはコーディングを独学で学んだ。アジトのニックネームは、英国の政府通信本部にちなんでGCHQ。当時はPCの黎明期で、今日の感覚からすれば笑うしかないほど限られた処理能力しかないマシンだった。公開鍵暗号方式の技術的ブレークスルーは数年前に起きていたが、それを実装するのは容易ではなかった。しかも、ジェンキンは既存の暗号システムを信用していなかった。政府のアクセスを許すバックドアが仕込まれていることを警戒したのだ。
初期のMS-DOSで動く東芝T1000PCを使って、ジェンキンは最も安全な暗号形式である「ワンタイムパッド」を使ったシステムを作った。これは事前共有した、送信メッセージと同じ長さの「使い捨て乱数表」を使って、メッセージを1文字ずつ置き換えていく方式だ。
ジェンキンのプログラムを使う活動家は、コンピューターに入力したメッセージを、フロッピーディスクに入っている使い捨ての乱数(鍵)で暗号化する。活動家はその後、暗号化されたメッセージを音声信号にして、テープレコーダーに録音する。そして、たとえばロンドンや当時ANCの亡命本部があったザンビアのルサカなどのANC幹部に公衆電話で電話をかけ、テープを再生する。受信者は音響カプラ付きのモデムでその音をデジタル信号に戻し、さらにジェンキンのプログラムでメッセージを復号化するのだ。
この方式の課題は、どうやって鍵(ワンタイムパッド)の入ったフロッピーディスクやコンピューターなどをアフリカに届けるかだったが、これはグラハム=カミングが書いたように、定期的にプレトリアに飛んでいた志を同じくするオランダの客室乗務員の協力を得ることで解決した。「彼女は何を運んでいるのか知りませんでした。すべてきっちり梱包されていたから。わたしたちも中身を説明しませんでした」。ジェンキンは言う。「彼女はただ親切で運んでくれただけ。ノートPCや音響モデムといった品々を運んでくれたのです」
ヴラ作戦によって、ANCは幹部数人を密かに国内に戻し、反政府活動を指揮し、海外の最高幹部と連携する自信をつけた。ヴラ暗号システムによって、ANC幹部は収監されていたネルソン・マンデラと連絡をとることまでできるようになった。マンデラに会う地元面会者は復号されたメッセージを隠した書籍を届けた。この仕掛けもまた、ジェンキンの“マクガイバー的”手腕の見せどころだった。彼は言う。「特殊な仕掛けを施した本を届けました。花や旅行など、一見無害な本のカバーに隠しスペースをつくったのです。やり方さえわかっていればメッセージを取り出して、別のものを入れて戻すことができました」
ANCがアパルトヘイトを打倒する目標達成に近づくまでに、ジェンキンの仕組みによって数知れないメッセージが安全に送られた。ジェンキンの知る限り、南アフリカ政府に解読された通信はひとつもない。1991年にANCがようやく合法化された時、ヴラ作戦は重要な勝因のひとつと認定された。1994年4月、ネルソン・マンデラが南アフリカ初の黒人大統領に選ばれた。
忘れられたパスワードと新たな挑戦
ジェンキンの物語はあまりにおもしろく、誰かが映画にすればいいのにと思うかもしれない。実はもうなっている(中心は脱獄の部分だが)。タイトルは『プリズン・エスケープ 脱出への10の鍵』で、ジェンキンを演じているのはダニエル・ラドクリフだ。ジェンキンとヴラ作戦に関する短編ドキュメンタリーもある。だが、今年になるまで語られていなかった部分がひとつある。それがジェンキンの職人的な暗号システムだ。
ここで、グラハム=カミングが再び登場する。何年も前に、彼はヴラ作戦のことを知って魅了された。今年に入ってまたヴラ作戦のことを耳にし、プログラムコードはどうなったのだろうと思った。オープンソースにして、GitHubで公開して誰でも見られるようにした方がいいのではないかと思ったのだ。
そこでジェンキンに連絡を取ったところ、悲しい事実が判明した。1992年に南アフリカに帰国した際、ジェンキンは自分の開発したツール類の持ち込みに不安を感じていた。作戦の一部がまだ継続中だったからだ。「すべての通信機器を持ち込んで、このプログラムが当局の手に渡るのは避けたかったんです。そこで、すべてのファイルを1つに圧縮し、パスワードで保護して、そのままディスクに入れて持ち込みました」。国境では何の問題も起きなかった。その後、人々は安心して直接会えるようになり、ジェンキンのシステムは必要なくなっていった。
「そのうち私も日々の生活に追われました。結婚して、子どもができて、などなど。ある日ふと『これをもう一回見ておこう』と思ったのですが、パスワードを思い出せなかったのです」。それ以降何年もの間、ジェンキンらは暗号を解こうとしたものの、うまくいかなかった。
グラハム=カミングは、がっかりするよりも、ワクワクした。「挑戦するしかない」。そう決めて、ファイルを渡してもらった。 5月20日にファイルを受け取ったグラハム=カミングは、それが昔のPKZIPフォーマットで圧縮・暗号化されていることに喜んだ。このフォーマットには既知の脆弱性があり、暗号化前の元データの一部が分かれば、それを手がかりに解読できる可能性があるからだ。ただし、それには圧縮ファイル内での元のテキストの正確な位置を特定する必要があった。
そこでグラハム=カミングは、ジェンキンにプログラムコードの暗号化されていないバージョンの有無を確認した。いくつかの暗号化されていないテキストは見つかったものの、圧縮ファイル内のコードとは異なるバージョンだったため、すぐには活用できなかった。
数日間検討を重ねた末、グラハム=カミングは圧縮ファイル内に別の圧縮ファイルが存在することを発見した。暗号化されたテキストの特定部分の元データが必要だったため、内部の圧縮ファイルの最初のファイル名に着目した。
「圧縮ファイルの冒頭部分にファイル名が含まれているはずだと推測できました。ジェンキンが使用していたファイル名の命名規則は分かっていたので、それを手がかりにプログラムを作成して試してみることにしたのです」とグラハム=カミングは説明する(これはものすごく単純化した説明だ。グラハム=カミングは自身のブログで詳細な説明をしている)。
コードそのものが歴史的文書
5月29日、グラハム=カミングはプログラムを実行し、スクランブルエッグの朝食を取るために席を外した。23分後に戻ってみると、プログラムは処理を完了していた。暗号化されたファイルの復号と解凍に成功したのだ。ジェンキンとメールを交換してから9日目のことだった。
次の課題は、復号したプログラムを実際に動作させることだった。グラハム=カミングは東芝T1000用の古いMS-DOSをエミュレートする環境を構築し、そこでジェンキンのプログラムを実行した。プログラムは完璧に動作した。
グラハム=カミングのようなプロのコーダーが見たら、自分の仕事は絶望的にアマチュアっぽく見えるのではないかとジェンキンは不安に思っていたが、グラハム=カミングの反応は真逆だった。「びっくりしました。当時の知識の限界や、ハードの限界を考えると、これほど信頼性の高いものをつくり上げられたとは。あの時代にですよ」。グラハム=カミングは言った。
何よりすごいのは、このプログラムが実際に南アフリカの民主化実現の過程で大きな働きをしたことだ。 この数十年、南アフリカでプログラマー、ウェブデザイナーとして働いてきたジェンキンは、プログラムコードをGitHubにあげてオープンソースにした。80年代に通信され、アパルトヘイト体制を打ち倒すのに役立ったメッセージのいくつかを解凍してアップロードすることも予定している。
「このプログラムコードそのものが歴史的文書です」。グラハム=カミングは言う。「これは『よし、理論的な暗号システムをつくってみよう』みたいなものではありません。『生身の活動家や生身の人間が危険に晒されている。本物の通信が必要だ。実用的でなくてはならない』と考えてつくられたものです」。確かに、これはグラハム=カミングが約束した通り、とんでもない物語だ。
(Originally published on wired.com, translated by Akiko Kusaoi, edited by Mamiko Nakano)
※『WIRED』によるセキュリティの関連記事はこちら。
雑誌『WIRED』日本版 VOL.54
「The Regenerative City」 好評発売中!
今後、都市への人口集中はますます進み、2050年には、世界人口の約70%が都市で暮らしていると予想されている。「都市の未来」を考えることは、つまり「わたしたちの暮らしの未来」を考えることと同義なのだ。だからこそ、都市が直面する課題──気候変動に伴う災害の激甚化や文化の喪失、貧困や格差──に「いまこそ」向き合う必要がある。そして、課題に立ち向かうために重要なのが、自然本来の生成力を生かして都市を再生する「リジェネラティブ」 の視点だと『WIRED』日本版は考える。「100年に一度」とも称される大規模再開発が進む東京で、次代の「リジェネラティブ・シティ」の姿を描き出す、総力特集! 詳細はこちら。