人命を救う技術としてのEnd-to-End暗号化とMessaging Layer Security by sylph01

BuriKaigi 2026
レギュラー

人命を救う技術としてのEnd-to-End暗号化とMessaging Layer Security

s01 sylph01 s01
3

"Why do you need End-to-end Encryption in Ruby? Because..."

国際情勢の緊張が高まる現在、メッセージングのエンドツーエンド暗号化技術はかつてなく重要性が高まっています。
Eメールはその仕組み上エンドツーエンドでの暗号化を持たず、どうしても暗号化を実現しようと思うとS/MIMEなどの高価な仕組みやPGPなどの「オタクしか使っていない」仕組みに頼るしかありません。一方で我々が日常的に利用しているメッセージングアプリにはエンドツーエンド暗号化の仕組みが搭載されていますがベンダーごとに個別の方式で実装されており相互運用性を持ちません。
これらを解決すべくIETFで標準化が行われているMessaging Layer Securityという相互運用可能な鍵交換の技術があります。
現在私はMessaging Layer Security Protocol (RFC 9420)のRuby実装を進めています。この実装を通してMessaging Layer Securityの仕組みを解説することで、皆さんが日常使っているメッセージングアプリのセキュリティについて安心感を持つことができるようになるでしょう。

技術的には以下の内容をカバーする予定です:

  • 求めるセキュリティ性質: Forward SecrecyとPost-Compromise Security
  • 2人でこれを実現するのは容易だが3人以上の場合は難しい
  • MLSの構成要素: Key Schedule, Secret Tree, TreeKEM
  • 進行中のRuby実装について

ハッシュ化、共通鍵暗号、公開鍵暗号の概念程度の暗号技術の知識をある程度前提としますが、トークの内容自体はセキュリティに興味のある全技術者向けの内容です。