ちいさな金庫を作った話 (2) — 未来から自分を守る、ということ
※ 注意書き この記事はシリーズ「ちいさな金庫を作った話」の第2回です。 技術系の話なので、面白くはありません。
1.
「今送ったメールが、未来から読まれるかもしれない」
未来人がタイムマシンで覗きに来る話みたいだ。あるいは、銀色の服を着た誰かが、地下施設でこちらの個人情報を見てニヤニヤしている感じだ。嫌だ。
多くの人は「いやいや、まさか」と思うのではないか。わたしも最初はそう思った。今、世界一のコンピューターでも何千年もかかる暗号を、未来の機械が解くって、本当に?
ちゃんと調べていくと、これが「まさか」では済まない話だと分かってくる。
普通のコンピューターは、ひとつひとつ計算を順番に進める。「これがダメなら次、これもダメなら次」とやっていく。だから、可能性が天文学的な数になると、調べ切る前に宇宙の寿命が尽きてしまう。
でも量子コンピューターと呼ばれる新しいタイプの機械は、原理が違う。乱暴に言えば、すべての可能性を、ある意味で同時に試す ような芸当ができる。物理学の世界の不思議なルールを利用しているらしい。わたしもちゃんとは理解していない。
ある数学者が、ずっと前にこんなことを示していた。
「もしも量子コンピューターが実用化されたら、今の 鍵の受け渡し に使われている暗号は、一瞬で解ける」
鍵の受け渡し、とは何か。これがけっこう大事な話なので、少し説明させてほしい。
2.
ファイルに鍵をかけるとき、実は二段階の処理がある。
ひとつめは、ファイルそのものをぐちゃぐちゃに変換する作業。これには「鍵」という秘密の文字列を使う。同じ鍵があれば、元に戻せる。なければ、戻せない。
ふたつめは、その鍵をどうやって相手に渡すか という問題だ。
考えてみてほしい。あなたが鍵をかけた荷物を相手に送るとき、鍵そのものはどうやって送る? 同じ郵便で送ったら、途中で誰かに盗まれたら全部終わりだ。電話で伝える? でも電話も盗聴されているかもしれない。
ここで人類は何十年も前に、すごい工夫を発明した。
鍵を渡さずに鍵を共有する方法だ。
説明しはじめると数学の話になるので省略するけれど、二人が公開の場所で、ある手順を踏むと、二人だけが知っている秘密の数を作れる、というマジックのような仕組みがある。盗み聞きしている人がいても、その人には何のことか分からない。
このマジックがあるおかげで、わたしたちは見知らぬサーバーを経由してでも、安全に鍵を相手に渡せる。インターネット上で買い物ができるのも、メッセージアプリで秘密の会話ができるのも、この仕組みのおかげだ。
でも。
量子コンピューターは、このマジックを破る。
正確には、このマジックの 裏側の数学が、量子の計算能力にとってはほどけてしまう。何十年もかけて「これは絶対安全」と確信されていた仕組みが、ある日、その前提から崩れる可能性がある。
3.
「だったら今すぐ全員、新しい暗号に切り替えればいいじゃないか」
そう思うかもしれない。でもここが厄介なところで、わたしたちが日常使っているメールやウェブの通信は、今のところまだその古い仕組みで動いている 。
そして第1部で書いた「収穫攻撃」がここに繋がる。
世界のどこかにいる誰かが、今、インターネットの通信を傍受して、暗号化されたままハードディスクに保管しているとする。今は読めない。でも、ずっと持っていればいい。10年後、15年後、あるいは20年後、量子コンピューターが完成したとき、保管しておいた全てを、まとめて解読する。
今日送ったファイル。
家族の写真。
契約書。
書きかけの小説。
若気の至りで書いた黒歴史メモ。
「どうせ誰も見ないだろう」と思っていたものほど、妙に未来へ残る。
そして困る。あるいは顔を枕に埋めて絶叫したくなるかもしれない。
「今安全」は、「永遠に安全」ではない。
このことを真面目に考え始めると、夜眠れなくなる。だから普通の人は考えない。考えないようにできている。
でも考えなければならない人たちが、世界にはいる。
4.
わたしが知らない間に、世界の最先端は既に動き出していた。
2024年、アメリカの国立標準技術研究所(NIST)という機関が、新しい暗号の標準を発表した。量子コンピューターでも解けないと考えられている数学を使った暗号だ。
数学の中身は説明できる自信がない。とんでもなく複雑な格子の上の点を扱うものらしい。
肝心なのは、その性質だ。今の暗号が「掛け算は簡単だけど、逆算が大変」という性質に依存しているのに対して、新しい暗号は「もっと別の、量子コンピューターでも近道が見つかっていない問題」に依存している。
Google も、Cloudflare も、Apple も、もう動き出している。あなたが今、Chrome で何かのサイトを開くと、その通信の裏側では、既にこの新しい暗号が一部使われている。知らないうちに未来への備えが始まっている。
これらの新しい暗号には、まだ一抹の不安もある。新しすぎるのだ。何十年も使われてきた古い暗号は、無数の研究者が「破ってやろう」と挑んできて、それでも破られなかった実績がある。新しい暗号には、その実績がない。明日、誰かが「実はこの暗号、こんなに簡単に解けます」と発表する可能性もゼロではない。
だから業界は賢い選択をしている。新しい暗号と、古い暗号を、両方使う。
両方の鍵を組み合わせて、ひとつの秘密を作る。どちらか片方が破られても、もう片方が無事ならば、秘密は守られる。新参者と百戦錬磨を、ハイブリッドで使う発想だ。
5.
ここまで知って、わたしは自分が作ろうとしている個人用ツールについて、ひとつ決めた。
最初から、この「両方使う」方式で作る。
「とりあえず古い暗号で作って、将来、新しい暗号に切り替えればいい」とは絶対にしない。
なぜか。
もしも今、古い暗号でファイルを送ったとして、その通信を誰かが収穫していたら、未来でその通信が読まれる。「将来切り替える」と書いた瞬間に、わたしは 今日送るファイルは、未来から読まれる可能性があります と宣言しているのと同じになってしまう。
それでは作る意味がない。
わたしは技術者だけれど、暗号の専門家じゃない。新しい暗号を自分で組み立てる能力なんかあるわけがない。
でも世界中の研究者が監査して検証された、信頼できる「部品」が、もう公開されている。それを正しく組み合わせれば、個人が自宅で動かせる範囲でも、今日送って未来も安全な仕組み が作れる。
これは暗号の世界で起きている地殻変動の、ささやかな一個人としての参加表明ではないか。
ファイル一個を送るだけの、誰も困らない、たぶんわたししか使わない、ちっぽけなツール。
それでも、思想だけは妥協したくない。
そう決めて、わたしはその週末、自分のノートパソコンで、コードを書き始めた。(次回、最終回に続く)
技術的な詳細を知りたい方は、こちらをどうぞ。
https://github.com/anthamayfair11/personal-pqc-drive
