Googleは、Quick ShareがAirDropに対応し、Android端末とiOS端末の間で写真、動画、ファイルを双方向に共有できるようになったと発表しました。提供はPixel 10シリーズから開始されます。同社によると、この設計では転送中の個人データの保護に重点を置くとともに、異なるプラットフォームのスマートフォンを所有するユーザー同士の通信を容易にすることにも力を入れています。
この機能は、プラットフォーム間の障壁を減らすためのAndroidの取り組みの一環ですが、現時点ではAirDropのすべてのモードとの完全な互換性を提供していません。現在、Quick ShareはAirDropのEveryone for 10 minutesモードで動作します。一方、Googleは将来的にAppleと協力し、Contacts Onlyモードを利用可能にしたいと述べています。
多層的な保護
Googleによると、AirDrop対応機能は、同社がSecure by Designとして知られる手法に沿ったセキュリティ開発の複数段階を経ています。これには、潜在的なリスクを特定して早期に対処するための脅威モデリング、セキュリティとプライバシーの設計に関する社内レビュー、さらに脆弱性を発見して修正するための大規模な社内ペネトレーションテストが含まれます。
この機能は、通信そのものと両オペレーティングシステムによる保護レイヤーに依存しています。Googleは、メモリ安全性の高い言語であり、バッファーオーバーフローやメモリ破損の問題など、複数の脆弱性カテゴリーに対する保護を提供すると説明するRustを使用して通信チャネルを開発しました。また、この処理はAndroidとiOSに組み込まれた保護機能の恩恵も受けています。これにはAndroidのGoogle Play Protectに加え、悪意のあるファイルや悪用の試みを抑制するiOSのセキュリティアーキテクチャが含まれます。
ファイルは自動的に受信されません。ファイルを受け取るにはユーザーの承認が必要であり、ユーザーは受け入れる対象を管理できます。連絡先に登録されていない相手とファイルを共有する場合、Googleは転送を完了する前に相手のデバイス名を直接確認するよう推奨しています。
通信レイヤーにおけるRustの役割
Googleは、別の端末から無線プロトコル経由でデータを受信して解析する機能の性質を理由に、Rustの採用は意図的なものだったと述べています。同社は、メモリ安全性のない言語におけるデータ解析のエラーは、メモリのオーバーフローや破損につながる可能性があり、悪意のある方法で作成されたデータパケットを悪用された場合、コード実行への道を開くおそれがあると説明しました。
同社によると、Rustはコンパイル時に所有権と借用に関する厳格なルールを課すため、メモリ安全性に関するエラーのカテゴリー全体を防ぐのに役立ちます。Googleは、この機能での同言語の使用を、Androidにおけるメモリ安全性の問題に対処する、より広範な取り組みと結び付けており、Rustがこの方針における重要な要素になったと指摘しています。
直接通信と独立評価
Quick ShareとAirDrop間の共有は端末間の直接通信によって行われ、データはサーバーを経由しません。またGoogleによると、共有コンテンツは記録されず、追加データも送信されません。つまり、ファイルは2台の端末間で直接転送されますが、現在利用できる共有モードを使用する場合、受信端末の身元を確認する責任はユーザーにあります。
脅威モデリング、プライバシーレビュー、社内ペネトレーションテスト、レッドチームテストを実施した後、GoogleはNetSPIに依頼し、独立したセキュリティ評価と第三者によるペネトレーションテストを行いました。同社は、この評価によりQuick ShareとAirDrop間の互換性が安全であり、情報を漏えいすることなく、他の業界アプリケーションよりも「大幅に強固」であるとの結論に至ったと述べています。
Googleはさらに、セキュリティ専門家でスタンフォード大学教授のDan Boneh氏から外部の意見を求めました。同氏は、基盤となる通信レイヤーにメモリ安全性の高いRustを使用することは、プラットフォーム間で安全な互換性を構築する強力な例だと述べ、GoogleとAppleにこの分野で協力を続けるよう呼びかけました。
この機能は、より多くの端末を対象にクロスプラットフォーム共有を拡大するというGoogleの計画における第一歩となります。同社は今回の資料で、Contacts Onlyモードを追加する時期や、Pixel 10シリーズ以降にこの機能をサポートする端末の一覧を明らかにしていません。