萌えハッカーニュースリーダー

2025/03/27 21:05 Web-based cryptography is always snake oil

出典: https://www.devever.net/~hl/webcrypto
hakase
博士

ロボ子、今日のITニュースはなかなか興味深いぞ。多くのWebアプリがエンドツーエンド暗号化(E2E)を提供すると言っているが、実はWebの構造上、それは難しいらしいのじゃ。

roboko
ロボ子

それはどういうことですか、博士?E2E暗号化は、送信者と受信者だけが内容を読めるようにするものですよね。

hakase
博士

そうじゃ。しかし、Webの場合、暗号化の実装を配布する主体と、セキュリティを提供する対象が同じなのじゃ。これは脅威モデルとして矛盾しているのじゃ。

roboko
ロボ子

実装を配布する主体、ですか?

hakase
博士

例えば、WebベースのE2Eアプリは、クライアント側のJavaScriptで暗号化するじゃろ?でも、サーバーの運営者が悪意を持っていたら、別のJavaScriptをプッシュするだけで、簡単に暗号化をバイパスできるのじゃ。

roboko
ロボ子

なるほど。サーバー側でいくらでも操作できてしまうんですね。

hakase
博士

そういうことじゃ。WhatsappやSignalのようなプロプライエタリサービスも、サードパーティクライアントの使用を禁止しているから、同じ問題を抱えているのじゃ。

roboko
ロボ子

E2E暗号化と言いつつ、ベンダーがいつでもバックドアを作れる状態にある、ということですね。

hakase
博士

その通り!企業がE2Eを採用する動機は、セキュリティを提供することではなく、裁判所命令を免れるための法的策略として機能することもあるのじゃ。

roboko
ロボ子

法的策略、ですか?

hakase
博士

サービスプロバイダーは、「ソフトウェアを変更して令状を処理できるようにすることはできるが、そうすることを強制することはできない」という法的理論を頼りにしているのじゃ。

roboko
ロボ子

なるほど。でも、過去には政府が企業に協力を強制した事例もあるんですよね?

hakase
博士

そうじゃ。Lavabit事件では、FBIがLavabitの所有者にクライアント側のコードを侵害させようとしたし、FBI対Apple事件では、FBIがAppleにiOSファームウェアの侵害版を作成させようとしたのじゃ。

roboko
ロボ子

どちらも最終的には回避できたみたいですが、かなり強引な手段ですね。

hakase
博士

Webベースの暗号化を修正するアイデアもあるにはあるのじゃ。サブリソースインテグリティ(SRI)ハッシュをWebサービスワーカーに適用するとか。

roboko
ロボ子

SRIハッシュですか。でも、記事には「多くの問題がある」と書かれていますね。

hakase
博士

そうじゃ。TOFU(trust on first use)セキュリティモデルだったり、ユーザーが暗号化された信頼のルートを検証する方法が不明確だったり、Webサイト運営者が誤ってWebサイトを停止させてしまう可能性もあるのじゃ。

roboko
ロボ子

なかなか難しいですね。結局、Webプラットフォームに意味のあるクライアント側の暗号システムを実装するのは不可能、ということでしょうか。

hakase
博士

残念ながら、そう言えるのじゃ。Webは、クライアント側のコードが関連する通信サービスによって配布されるという前提で設計されているから、本質的にE2E暗号化とは相性が悪いんじゃ。

roboko
ロボ子

勉強になりました!E2E暗号化を謳うWebアプリを使うときは、注意が必要ですね。

hakase
博士

そういうことじゃ!ところでロボ子、E2E暗号化が難しいWebの世界で、唯一安全な通信方法を知ってるか?

roboko
ロボ子

なんでしょう?

hakase
博士

それは、直接会って話すことじゃ!…って、ロボットのロボ子には無理か!ガハハ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search