暗号化ダイレクトメッセージについて

Xはインターネット上で最も信頼できるプラットフォームになることを目指しており、暗号化ダイレクトメッセージは、その取り組みにおける重要な一要素です。イーロン・マスク氏が述べているように、ダイレクトメールに関して、Xは、たとえどんなに強い圧力を受けようとも、ユーザーのメッセージにアクセスできないことを標準とすべきです。現状はまだ完全とは言いがたいものの、その実現に向けた取り組みを進めています。こうした環境が整備されるまでの間、X上でそれに代替する新たなコミュニケーション手段となる、暗号化ダイレクトメッセージの提供をこのたび開始いたしました。暗号化ダイレクトメッセージは、受信トレイ内の既存のダイレクトメッセージの隣に独立して表示されます。

暗号化ダイレクトメッセージの仕組みを教えてください

最新バージョンのXアプリ(iOS、Android、ウェブ)では、公開鍵と秘密鍵という端末固有の鍵がペアで生成されます。公開鍵は、ユーザーが新しい端末またはブラウザでXにログインすると自動的に登録されますが、秘密鍵は各端末内にとどまるため、Xに伝達されることはありません。こうした公開鍵・秘密鍵のペアに加えて、メッセージ内容の暗号化に使用される、会話ごとの鍵も存在します。公開鍵・秘密鍵のペアは、会話に参加する端末間で、この会話鍵を安全に交換するために使用されます。

 

Xでは、複数の強力な暗号化スキームを組み合わせて使用し、暗号化された会話を構成する、すべてのメッセージ、リンク、返信を、送信者の端末内で暗号化し、それらはXのインフラストラクチャでは暗号化されたまま保存されます。メッセージは受信者の端末に届くと、ユーザーに読めるように復号されます。

 

Xでは今年中に、この実装をオープンソース化するとともに、技術ホワイトペーパーを通じて、その技術について詳細にわたり説明することを目指しています。

暗号化メッセージを送受信できるのはどのようなユーザーですか?

ユーザーが暗号化メッセージの送受信を行うには、次の条件を満たす必要があります。

  • 送信者と受信者のいずれも最新のXアプリ(iOS、Android、ウェブ)を使用していること。
  • 送信者と受信者のいずれも認証済みユーザーか、または認証済み組織の関連アカウントであること。
  • 受信者が送信者をフォローしているか、過去に送信者にメッセージを送信しているか、または事前に送信者からダイレクトメッセージのリクエストの許可を得ていること。

 

暗号化メッセージを送信するにはどうすればよいですか?

暗号化メッセージの送信は、暗号化されていない通常のメッセージの送信と同様に行います。暗号化メッセージを送信する条件を満たしているユーザーが、メッセージアイコン  をクリックすると、「暗号化」モードを有効にするためのスイッチが表示されます。暗号化メッセージを受け取る条件を満たしている受信者を選択し、メッセージを作成して [送信] をクリックすると、暗号化メッセージが送信されます。

または暗号化されていない会話の会話設定ページにより、暗号化メッセージを送信することもできます。

  • 受信トレイの暗号化されていない会話をタップします。
  • 情報アイコン  をタップします。
  • [暗号化メッセージを作成] を選択します。

暗号化された会話と暗号化されていない会話の見分け方

暗号化されている会話では、相手のプロフィール画像に鍵アイコンのバッジが表示されるため、暗号化されていない会話と見分けることができます。バッジ付きのプロフィール画像は、受信トレイと会話の両方に表示されます。

また、会話が暗号化されているかどうかは、会話情報ページでも確認することができます。会話情報ページでは、暗号化された会話の上部に「メッセージは暗号化されています」と記載されたラベルが表示されます。

制限事項

プロダクトに関してご意見やご感想がございましたら、どうぞご遠慮なくお寄せください。Xでは、次の制限事項の多くを解消することにより、ご利用体験からプロトコルのセキュリティまで、プロダクトのあらゆる要素を改善すべく積極的に取り組んでいます。

 

グループ

現在のところ、暗号化メッセージの宛先に指定できるアカウントは1つのみです。まもなくこの機能を拡張し、グループ会話ができるようにする予定です。

 

コンテンツ

暗号化メッセージには、テキストとリンクのみを含めることができます。メディアやその他の添付ファイルは現時点ではサポートされていません。暗号化メッセージを介してメディアを送信しようとしても、この操作は完了しません。暗号化メッセージへの返信も暗号化されます。ただし、メッセージ自体が暗号化されていても、メタデータ(受信者、作成日時など)やリンク先のコンテンツは暗号化されません(リンク自体のみが暗号化され、リンクの参照先のコンテンツは暗号化されません)。

 

新しい端末

現在のところ、新しい端末で既存の暗号化された会話に参加することはできません。新しい端末でXにログインすると、既存の暗号化された会話とその会話内のメッセージは、表示対象から除外されます。新しい端末で、新しいメッセージの作成手順を踏んで既存の暗号化された会話にアクセスしようとすると、その端末では会話にアクセスできない旨を示すエラーメッセージが表示されます。

 

注記: 端末上でXアプリを再インストールすると、その端末は暗号化メッセージの仕組みにおいては新しい端末とみなされます。

 

端末の登録/登録解除

現在のところ、暗号化メッセージを送受信できる端末は、ユーザー1人につき最大で10台までです。Xにログインしている11台目以降の新しい端末では、暗号化メッセージの送受信を行えなくなります。また、ユーザーが登録端末の一覧を確認する機能や、登録済み端末の登録を解除する機能は提供しておりません。

 

会話の完全性の検証

現在のところ、中間者攻撃を防御する機能は提供しておりません。そのため、たとえば悪意のある内部関係者や、強制力のある法的手続きを受けたX自身が、暗号化された会話の内容にアクセスしたとしても、送信者と受信者のいずれもそのことを把握することはできません。ただしXでは、以下を実現する今後のリリースに向けた仕組み作りに取り組んでいます。

  • 端末で(「署名チェック」により)コンテンツの信頼性やメッセージの出所を確認できる機能

  • 双方のユーザーが暗号化された会話にアクセスできる端末を(「セキュリティ番号」により)認証できる機能


署名チェックやセキュリティ番号が導入されれば、中間者攻撃は、不可能とまではいかないものの、実行が難しくなり、送信者と受信者のいずれにも、攻撃が行われた場合にはアラートが表示されます。 

 

報告

現在のところ、会話の暗号化の性質上、暗号化メッセージをXに報告することはできません。現段階で、暗号化DMにメディアを使用できないことが重視されているのはそのためです。暗号化された会話の参加者に関する何らかの問題に遭遇した場合、当該アカウントを報告することをおすすめします。Xチームは報告を受け取り次第、状況を確認します。 

 

他のユーザーがあなたに暗号化メッセージを送信できないようにするには

  1. あなたと、ブロックしたい参加者との間の暗号化された会話を開きます。

  2. 情報アイコンをタップして会話情報を開きます。

  3. 画面下部に当該アカウントをブロックするオプションが表示されます。

     

ログアウトと鍵のバックアップ

Xからログアウトすると、現在の端末の、暗号化メッセージを含むすべてのメッセージは必ず削除されますが、他の端末にその影響が及ぶことはありません。

 

現在のところ、Xからログアウトしても、秘密鍵は端末から消去されません。同じ端末でXにログインし直すと、その端末がログアウトする前にアクセスした秘密鍵を使用して、暗号化された会話の再取得と復号を行うことができます。Xでは、鍵のバックアップ機能の提供後に、ログアウト時の鍵の消去を開始する予定ですが、それまでの間、公共のパソコンなど、共有端末を使用する際はご注意ください。

 

前方秘匿性

登録端末の秘密鍵が漏えいすると、攻撃者はその端末で送受信されたすべての暗号化メッセージを復号できるようになります。つまり、この実装では「前方秘匿性」は確保されていません。Xユーザーは、自身の(暗号化されていない)DM履歴がクラウドに保存されていることや、ログインしているどの端末にもダウンロードできることを望んでいます。残念ながら、こうしたユーザー体験は、前方秘匿性のあるメッセージプロトコルでは十分に機能しません。暗号化メッセージにおけるこうしたユーザー体験の維持および拡張のため、Xでは前方秘匿性の確保を見送ることにしました。この制限事項に対応する予定はありません。

 

暗号化メッセージの削除

ダイレクトメッセージと同様に、暗号化メッセージを削除すると、その操作を行ったアカウントからのみ削除され、他の参加者の受信トレイからは削除されません。暗号化された会話を削除したり、離脱したりしても、他のユーザーが今後、あなたにダイレクトメッセージを送信するのを防ぐことはできません。

 

(送信済みまたは受信済みの)暗号化されたメッセージや会話を削除すると、そのデータは端末からすぐに削除されます(その後まもなく、その操作を行ったユーザーの他のすべての端末からも削除されます)。それ以降、それらは表示できなくなります。ただし、受信者は、あなたが削除した暗号化メッセージまたは会話を引き続き見ることができます。

ご不明な点がありますか?

@XEng宛にツイートでお問い合わせください。

この記事を共有する