【ITニュース解説】I Created a Messenger That Doesn't Send Any Data. Here's How It Works. 💫
2025年09月14日に「Dev.to」が公開したITニュース「I Created a Messenger That Doesn't Send Any Data. Here's How It Works. 💫」について初心者にもわかりやすく解説しています。
ITニュース概要
Chrono-Library Messenger (CLM)は、メッセージデータを一切送信しない画期的な通信ツールだ。事前に共有された「永遠のライブラリ」から、メッセージ本体ではなく、復元に必要な「座標」だけを共有する。これにより、検閲されにくく、サーバ不要でセキュアなメッセージのやり取りが可能になる。
ITニュース解説
Chrono-Library Messenger(CLM)は、従来のメッセージングが抱える根本的な課題、すなわち「データ送信」という前提を覆す、画期的な通信方式を提案している。通常のセキュアなメッセンジャーであっても、暗号化されたパケットを送り合うことで通信が成立する。しかしこのデータ送信自体が、誰がいつ誰と話しているかといったメタデータを露呈させ、通信をブロックされたり、分散サービス拒否(DDoS)攻撃や中間者攻撃の標的になったりするリスクを孕んでいた。
CLMの根底にあるのは、「もしデータを一切送らないとしたらどうなるか」という問いである。このメッセンジャーでは、メッセージそのものをネットワークに乗せて送ることはしない。代わりに、送信者と受信者が事前に共有し、完全に同期された「永遠のライブラリ」と呼ぶ擬似乱数の巨大なデータ構造から、メッセージを同時に抽出し、再現するという仕組みを採用している。つまり、実際に送信されるのは、その巨大なライブラリ内のどこにメッセージが隠されているかを示す「座標」だけである。
この仕組みは、あなたと友人が全く同じ「無限に続くランダムな数字の百科事典(永遠のライブラリ)」を持っていると想像すると分かりやすい。メッセージを送る際、あなたは友達と共有した秘密のパスフレーズ(master_seed)とチャットの目的(seed_suffix)に基づき、現在時刻(epoch_index)を「ページ番号」として、その百科事典の特定の一部分を特定する。HMAC_DRBG(決定論的擬似乱数生成器)が、master_seed、seed_suffix、現在時刻を示すepoch_indexを組み合わせた「種」から、予測可能でランダムに見えるデータを生成する。これが「百科事典の特定のページ」となる。
次に、あなたは送りたいメッセージを、この「ページ」から抽出したランダムな数字の並びと「XOR」演算を用いて結合する。XOR(排他的論理和)は、シンプルな二進数演算で、メッセージと乱数を結合すると、暗号文が生成される。この暗号文と、どの「ページ」を使ったかを示す座標情報だけを、友人に対して公開する。メッセージや乱数そのものは外部に送信されない。
受信者は、あなたと全く同じmaster_seedとseed_suffixを持ち、公開されたepoch_index情報を使って、自分の「百科事典」の中から全く同じ「ページ」を生成する。そして、公開された暗号文と、自分が生成した「ページ」の乱数を再度XOR演算で結合する。XOR演算は「(A XOR B) XOR B = A」という可逆性を持つため、これにより受信者は元のメッセージを復元できる。メッセージは、送信者と受信者のデバイスから一度も外に出ることなく、共有された「永遠のライブラリ」の中から「抽出」される形で通信が成立する。
公開される「座標」は、JSON形式で表現される。「c」はチャットID、「e」は現在時刻を示すエポックインデックス、「d」はXOR演算で生成された暗号文である。このデータは、見た目にはランダムな文字列と数字の組み合わせに過ぎず、メッセージそのものではない。
この仕組みがもたらす利点は多岐にわたる。メッセージ本体を送信しないため、特定の通信チャネルに依存しない検閲耐性を持つ。座標データはインターネット経由でなくても、SMS、QRコード、物理的なメモなど、あらゆる方法で伝達可能である。また、公開される座標データは、それがメッセージを指し示しているとは断定できないため、万が一データが見つかっても「ただのランダムなデータ」と主張できる、もっともらしい否認(Plausible Deniability)の可能性を提供する。サーバーを介さないため中間業者が存在せず、通信の永続性も高い。一度共有シークレットとポインターが手元にあれば、何十年後でもメッセージを復号できる。
しかし、CLMはまだ実験的な段階であり、いくつかの限界も存在する。最も重要なのは「鍵交換問題」である。通信の基盤となるmaster_seedは、事前に安全な方法(例えば対面で)で共有する必要がある。また、メッセージ本体は暗号化されていても、公開されるポインターに含まれるチャットID(c)とタイムスタンプ(e)は公開情報となるため、誰がいつ通信したかといった部分的なメタデータは露出する可能性がある。さらに、前方秘匿性がない点も課題だ。master_seedが漏洩した場合、それを使って生成された過去の全てのメッセージが復号されてしまうリスクがある。
Chrono-Library Messengerは、既存のメッセージングサービスを置き換えるものではなく、プライベートな通信のあり方を根本から問い直す、一つの思考実験である。データを「送らない」という逆転の発想が、セキュアな通信に全く新しい可能性をもたらすことを示している。このユニークなアプローチは、今後の情報セキュリティ技術の発展に新たな視点を提供するかもしれない。