ビデオ会議サービス「Zoom」の人気は高まる一方だが、同サービスが使用している暗号アルゴリズムには深刻でかつよく知られた脆弱性が存在し、北米からビデオ会議に参加している場合でも中国にあるサーバーで生成された暗号鍵が使われていることすらあった。カナダ・トロント大学の研究者が明らかにした。
トロント大学の研究者はほかにも、Zoomの運営元である米ズーム・ビデオ・コミュニケーションズ(Zoom Video Communications)は自社で開発した暗号化スキームを使ってビデオと音声のコンテンツを保護していることや、Zoomの「Waiting Room(待合室)」という機能に脆弱性が存在すること、ズームには中国で働く従業員が少なくとも700人は存在し、彼らが3つの子会社で働いていることなどを発見している。
トロント大学の研究者は、情報セキュリティー業界でよく読まれている同大学の「Citizen Lab」に2020年4月3日(現地時間)に公開した「Move Fast and Roll Your Own Crypto」というリポートで、Zoomのサービスは「機密情報に適しておらず」、Zoomは中国政府に対して暗号鍵を公開するよう法律上義務付けられている可能性があるほか、同社が中国政府から圧力をかけられているとまとめている。ズームは「The Intercept」からの質問に回答していない。
暗号鍵を中国で生成
「The Intercept」は2020年3月31日に、Zoomは会話の参加者以外は情報を復号できないエンド・ツー・エンドの暗号化をサポートしていると主張することによって、ユーザーを誤解させていたと報じている。Zoomの最高プロダクト責任者であるオデッド・ガル(Oded Gal)氏は報道の後に同社のブログでユーザーに対する謝罪を表明した。ガル氏は「我々がZoomミーティングにエンド・ツー・エンド暗号化の機能があるかのように誤って主張することで混乱を生じさせた」と述べている。同氏のブログポストには、Zoomが使用している暗号について詳細も述べられていた。
このブログポストや前述のトロント大学Citizen Labによるリポートに基づけば、Zoomの会議はこのように機能しているようである。
まずユーザーがZoomの会議を始めると、ユーザーのデバイスで稼働しているZoomソフトウエアは音声や動画の暗号に使用する暗号鍵をフェッチする。この暗号鍵はZoomのクラウドインフラストラクチャーから送られてくる。Zoomのクラウドは世界中にサーバーが置かれている。
特徴的なのは、暗号鍵は「鍵管理システム」と呼ばれる特定の種類のサーバーから送られてくることだ。鍵管理システムは暗号鍵を生成して、それを会議の参加者に送信する。会議の参加者は共通の暗号鍵を手に入れることで、会議に参加する。暗号鍵そのものはTLSによって暗号化した上でデバイス上のZoomソフトウエアに送られてくる。TLSはWebサイトの通信を保護するHTTPSプロトコルで使われているのと同じ技術だ。
Zoomで行われる会議の設定によるが、Zoomのクラウドにある幾つかのサーバーは「connectors」と呼ばれていて、これらの暗号鍵のコピーを持っている。例えば、もし誰かが電話を使って会議に参加したとすると、そのユーザーは実際には「Zoom Telephony Connector」というサーバーに電話をかけていることになり、このサーバーに暗号鍵のコピーが送られている。
トロント大学Citizen Labが調べたところ、73ある鍵管理システムのうちの5つが中国に設置されているようだった。その他の鍵管理システムは米国にあった。興味深いことに中国にあるサーバーは、Zoomの会話の参加者が中国にいない場合でも使われていた。トロント大学Citizen Labの2人の研究者、ビル・マクザック氏とジョン・スコット-リアルト氏は米国とカナダに住んでいる。彼らが2人でZoomの会話をテストしてみたところ、会議で使われる共有暗号鍵が「中国北京に置かれたZoomサーバーによってTLSで暗号化した上で、もう一方の会話の参加者に送られていた」(同リポートより)。
同リポートは、中国に設置されている鍵管理システムによって暗号鍵が生成されている場合、Zoomは中国政府当局と暗号鍵を共有するよう法律で義務付けられている可能性があると指摘する。もし中国政府当局や他の想定されうる攻撃者が暗号鍵にアクセスしてZoomの会議をスパイしようとするなら、彼らは同時に会議参加者のインターネットアクセスを監視したり、Zoomクラウドの内部ネットワークを監視したりできなければならない。何らかのかたちで会議の暗号化通信を入手できたら、攻撃者は暗号鍵を使って音声やビデオを復元できる。