第6話 偽ノードの締め出し
偽ノードによって狂わされたMADOの一部では、結界が破られ、砲撃の音が響き始めていた。
その轟音は徐々に大きくなり、中枢室の厚い壁をも貫いて僕の耳に届く。
偽ノードは、僕のコードを完璧に模倣してくる。
不自然な処理を混ぜても、執拗に真似してくる。
どうやって偽ノードだけを切り離せばいい——?
(コードがだめなら……制御ハードそのものを区別できればいいのか?)
「ソーマさん!」
リィナが僕の肩を掴む。
「同じものでも、ひとつひとつ違う……そういうの、使えませんか?」
(……同じものでも、ひとつひとつ違う?)
脳裏に、研究室での実験が蘇る。
同じ設計のFPGAでも、製造時の微細なばらつきによって応答はすべて異なる。
——世界で一つだけのハードの“指紋”。
「……すごい、リィナさん!」
「え?」
「PUF……Physical Unclonable Functionだ!」
僕は椅子を蹴って端末に向き直り、全ノードに認証チャレンジを送った。
// Challenge
send_challenge(random_seed);
// Response check
if (puf_response == expected)
auth_pass <= 1'b1;
else
auth_pass <= 1'b0;
一つ、また一つと偽ノードの応答が弾かれていく。
だが——最後の一台は沈黙したまま応答しない。
心臓の鼓動が、クロック信号のように耳の奥で鳴る。
応答ランプが、一瞬ためらうように明滅する。
「……やはりお前か、再訪者——」
かすかな沈黙の後、声がほんのわずかに低くなった。
「いや、ソーマ。この回路を完成させられるのは、お前しかいない」
最後の偽ノードが沈黙し、MADOの同期ランプが緑に戻る。
世界中の結界が安定し、遠くの戦場から音が消えていった。
スピーカーから低い声が落ちる。
「覚えておけ。平和は、一度壊せば二度と元には戻らない」
ノイズ混じりの通信は、そこで途切れた。
残されたのは、かすかに揺れる波形ログと、妙に長く耳に残る声の余韻だけだった。
僕は深く息を吐き、椅子にもたれた。
「いや、ただのPLLとPUFですよ。たまたま動いただけですって」
短い沈黙の後、リィナが微笑む。
「いいえ。あなたは、世界を救ったんです」
——PUFが、次も同じように応えてくれるとは限らない。
僕は画面の緑ランプを見つめながら、祈るように苦笑した。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます