研究
Practical Attacks on a Decentralized Secure Messenger Session
Sessionは、Google Playだけで100万以上ダウンロードされている、分散型・匿名のエンドツーエンド暗号化メッセンジャーです。2020年末にSignalプロトコルから独自設計のプロトコルへ移行しましたが、2021年のQuarkslabによる監査は移行が終盤に重なったため、現行の設計を部分的にしか対象にしていませんでした。私は実際に配布されている実装をもとに1対1通信とクローズドグループ通信を解析し、2つの設計上の欠陥を発見しました。公開鍵が相互に認証されていないこと、そしてメッセージが単調増加カウンタに暗号学的に紐付けられていないことです。
これらをもとに、悪意あるストレージノードや権限を持たない内部者が実行できる、3種類の新たな実用的攻撃を構築しました。
- 初回接触時に相手の公開鍵をすり替えるなりすまし攻撃
- タイムスタンプを偽造し、会話の順序を操作する攻撃
- メッセージを気づかれずに破棄・リプレイする攻撃
論文では具体的な対策も提案しています。アーティファクトはUSENIXのArtifact Availableバッジを取得しました。
3つの攻撃はすべてSessionの開発チームに報告しました。2026年4月下旬に技術的な評価が届き、指摘の大半が認められました。リプレイ攻撃は、設計上のセキュリティ境界ではなく偶発的なデータベース設定によって防がれているため、現状では悪用不可能と分類されています。2026年7月時点で修正は進行中でした。
次の研究:非公開プロトコルのリバースエンジニアリング
実際に運用されているシステムの多くは、仕様が公開されていない暗号プロトコルで動いています。修士研究では、実装からその設計を復元し、Tamarinで形式的にモデル化したうえで、開発元自身の分析では見落とされた攻撃を探す予定です。
論文
執筆
Three practical attacks on the Session messenger
WOOT ’26論文をわかりやすく解説した記事です。一方向の鍵検証とメッセージカウンタの欠如が、なりすまし、タイムスタンプ偽造、メッセージの破棄・リプレイにつながる仕組みを、図と開示の経緯とともに説明しています。
コード
session-woot
3つの攻撃すべてを再現できる、完全にローカルなテスト環境です。Docker Composeで正常なストレージノード5台と、攻撃フックを実行中に切り替えられる悪意あるノード1台を起動します。改変したiOSクライアント3つが送信者・受信者・攻撃者を担い、1つのコマンドラインツールでネットワークの起動から各攻撃の実行までを行えます。
学歴
大阪大学 大学院情報科学研究科 情報科学専攻 修士課程
大阪大学 基礎工学部 情報科学科
ミュンヘン工科大学 交換留学
経歴
大阪大学 五十部研究室 特任研究員
学部時代の研究を継続し、形式的モデル化と、実装に対するブラックボックス・ホワイトボックス解析を組み合わせて、実運用されている暗号プロトコルの設計上の欠陥を探しています。
株式会社Novagrid クラウドセキュリティエンジニア(パートタイム)
約50名規模のアーリーステージのスタートアップで、Microsoft AzureとGoogle Cloudのマルチクラウド基盤の運用とセキュリティ強化を一人で担当しています。
受賞・プログラム
大阪大学 Σ Global Leader Award of Engineering Science
ETHTokyo 2024 ハッカソン Robust Democracy メイントラック 銅賞
ZK Treasure Hunt:プレイヤーの推測にProverがゼロ知識証明で答えることで、宝の位置を一切明かさずに遊べるマルチプレイヤー宝探しゲームです。
イーサリアム財団 PSE Core Program Japan
Privacy & Scaling Explorations(PSE)が主催する、ゼロ知識証明システム、回路開発、応用暗号の研修プログラムです。
キーエンス財団 奨学金
スキル
プロトコル解析
エンドツーエンド暗号化メッセージング、鍵認証、リプレイ対策
ツール
Tamarin prover、Frida、Wireshark、モバイルクライアントの改変
プログラミング
Python, C, Swift, JavaScript / TypeScript
ゼロ知識証明
ZK証明システムと回路開発
インフラ
Google Cloud, Microsoft Azure, Docker
言語
日本語(ネイティブ)、英語(ビジネスレベル、EF SET C1)、ドイツ語(初級)
