暗号化は転送中のメッセージを保護し、スクリーンショット制御は表示後に作られる一部のコピーを制御します。
エンドツーエンド暗号化を使っても、会話のスクリーンショットを防げるわけではありません。暗号化が保護するのは、想定されたエンドポイント間のメッセージ内容です。受信者の端末はメッセージを表示するために復号する必要があり、その読み取れる出力から新たなコピーが作られることがあります。
スクリーンショットの制御は一部のコピーを減らせますが、その範囲はアプリ、OS、端末によって異なります。大切なのは、チャットが単に「安全」かどうかではなく、どのコピーを防ぎたいのか、そしてどの端末がそれを制御するのかという点です。
暗号化が保護するものと、コピーが生まれる場所
エンドツーエンドで暗号化された会話では、サービスが暗号化された内容を配送し、想定された端末が内容を読むために必要な鍵を持ちます。これにより、特定の仲介者によるメッセージ内容の読み取りを防ぎます。ただし、正当な受信者にその内容を秘密にするよう強制するものではありません。
復号後のメッセージは、表示、読み上げ、保存、共有が可能になります。スクリーンショットは表示された結果をコピーするもので、暗号化アルゴリズムを破るものではありません。別のカメラで画面を撮影する場合にも、同じ区別が当てはまります。
誰にも悪意がなくても、この境界は重要です。画面共有、画面に見える通知、誤って転送した画像によって、暗号の仕組みを攻撃することなく私的な会話が漏れる可能性があります。
ブロック、検知、抑止は別々の制御です
| 制御 | 期待される効果 | 重要な限界 |
|---|---|---|
| スクリーンショットのブロック | 保護された画面に対し、対応する方式でのソフトウェアによるキャプチャを防ぐ | 別のカメラでの撮影や、受信者による文字の打ち直しは防げない |
| スクリーンショットの検知 | 対応するキャプチャイベントが起きたことをアプリに通知する | 検知は防止ではなく、すべての方法を網羅するわけではない |
| 消えるメッセージ | 対応クライアントがメッセージを保持する期間を短くする | 独立したコピーはタイマー終了後も残ることがある |
| 一度だけ閲覧できるメディア | アプリ内で通常の再表示や保存を制限する | 受信者がコピーを残していないとは保証しない |
| 通知プレビューの非表示 | チャット画面の外で内容が露出する機会を減らす | 会話を開いた後の内容は隠さない |
「プライベートモード」といった名称だけでは、どの保護が備わっているか判断できません。機能の説明を読み、使用するすべての端末で現在のリリースを確認してください。
Androidにはスクリーンショット検知がありますが、万能ではありません
Android 14では、スクリーンショット検知APIが導入されました。アプリは表示中のアクティビティにコールバックを登録し、対応する方式のスクリーンショットが撮られた際に通知を受け取れます。システムは撮影した人にも通知します。このコールバックはスクリーンショット画像をアプリに渡しません。
Androidのドキュメントには、重要な制限が記載されています。Android 14の検知対象は指定されたハードウェアボタンの組み合わせであり、すべてのスクリーンショットの仕組みではありません。チャットの相手に警告が届くかどうかも、メッセンジャーがその動作を実装しているかによって変わります。そのため、警告がないことは、コピーが作られなかった証拠にはなりません。
AndroidのFLAG_SECUREが行うこと
アプリは機密性の高いウィンドウにFLAG_SECUREを設定し、その内容がスクリーンショットや安全でないディスプレイに表示されることを防げます。これは独立した表示制御であり、エンドツーエンド暗号化によって得られる性質ではありません。
Googleの機密性の高いアクティビティに関するガイダンスにも制限が示されており、オーバーレイ攻撃に対する信頼できる防御にはならないことなどが記載されています。対応状況と実装が重要です。メッセンジャーのすべての画面でこのフラグが使われているとも、モバイルの設定がリンク済みのデスクトップやウェブのクライアントにも適用されるとも考えないでください。
この記事では、特定のLivaraリリースについてスクリーンショットのブロックや通知をテストしていません。上記はプラットフォームの能力を説明するもので、Livaraがそのすべてを有効にしているという主張ではありません。
実際の会話をさらさずにメッセンジャーを確認する方法
信頼できる連絡相手と、機密情報を含まないテストメッセージを使い、アプリとOSのバージョンを記録してください。
- スクリーンショット保護が任意の機能か、どの画面を対象にするかを確認します。
- 対応する端末で通常のスクリーンショット機能を試します。ブロックされるか、撮影できるか、通知されるかを観察します。
- 通知プレビューと通常の画面共有は別々に確認します。一方の結果で他方の動作まで確認できたことにはなりません。
- リンク済みの端末を確認します。スマートフォンの保護がデスクトップクライアントにはない場合があります。
- 結果はテストした構成についての証拠として扱い、あらゆるキャプチャ方法に対する保証とは考えないでください。
このテストに機密性の高い写真や、他人の私的なメッセージを使わないでください。
機密性の高い資料を送る前の実用的な対策
受信者と送信経路を慎重に選びましょう。グループでは受信者と端末が増えます。共有前にメンバーを確認し、予期しない連絡や鍵の変更は信頼できる経路で確かめてください。本人確認は誤った鍵の検出に役立ちますが、受信者の端末にマルウェアがないことや、受信者が決してメッセージを共有しないことを証明するものではありません。
不要な詳細を減らしましょう。関係のない識別情報を含むファイル全体ではなく、作業に必要な文書の部分だけを送ってください。適切な場合は、チャットに永続的なコピーを置く代わりに、管理された文書共有の手順を使いましょう。
期待することを合意しましょう。他人のメッセージや画像を共有する前に許可を求めてください。転送しないという約束は社会的な安全策であり、技術的な保証ではありません。
自分のエンドポイントを保護しましょう。プレビューを隠し、私的なチャットを開く前に画面共有を終了し、接続済みの端末を確認してください。メッセージがスマートフォンに届いた後に生じるリスクについては、Androidセッションセキュリティガイドを参照してください。
よくある質問
元のメッセージを削除してスクリーンショットを遠隔消去できますか?
そう考えないでください。メッセンジャー内で削除しても、その管理外にある独立したスクリーンショット、写真、エクスポートしたコピーを確実に消せるわけではありません。
スクリーンショットの警告は、画像が共有されたという意味ですか?
いいえ。キャプチャイベントが検知されても、できたファイルがどこへ渡ったのか、なぜ撮られたのかは分かりません。同様に、警告がないことも、何もコピーされなかった証明にはなりません。
消えるメッセージは今も役立ちますか?
対応しており、正しく設定されていれば、通常の保持期間を短くできます。内容の蓄積を抑えるために使い、受信者が内容を保存できないという約束とは考えないでください。
現実的な目標は、望まないコピーを減らし、信頼できる受信者を選ぶことです。読み取れる情報が絶対にコピーされないと約束することではありません。



