チャットについて

 

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

XおよびX Chatアプリ(詳細は下記および全体に記載)には、新しいダイレクトメッセージ機能(「チャット」)が含まれています。初めてチャットに入ると、ユーザーごとに固有の秘密鍵と公開鍵のペアが作成されます。ユーザーはPINコード(これは端末から外に出ることはありません)を入力するよう求められます。このPINコードは、秘密鍵をXのインフラストラクチャ上に安全に保存するために使用されます。ユーザーがPINを知っていれば、この秘密鍵はどのデバイスからでも回復できます。秘密鍵と公開鍵のペアに加えて、メッセージの内容を暗号化するために使用される会話ごとの鍵があります。秘密鍵と公開鍵のペアは、参加ユーザー間で会話鍵を安全に交換するために使用されます。

当社では、強力な暗号化方式を組み合わせて使用し、暗号化された会話に含まれるすべてのメッセージ、リンク、反応を、送信者のデバイスから送信される前に暗号化し、Xのインフラストラクチャに保存されている間も暗号化されたままにします。メッセージは受信者の端末に届くと、ユーザーに読めるように復号されます。

私たちは、実装をオープンソース化し、今年後半に技術ホワイトペーパーを通じて暗号化技術を詳しく説明することを目指しています。

 

チャットに参加できるのは誰ですか?

ユーザーが暗号化されたチャットメッセージを送受信するには、以下の条件を満たす必要があります。

  • 送信者と受信者の両方が、(1)X iOSまたはAndroidアプリまたはウェブ版でチャットに登録しているか、(2)X ChatアプリをダウンロードしてXログイン情報を使用してログインしていること、かつ
  • 受信者
    • が送信者をフォローまたはサブスクライブしているか、過去に送信者にメッセージを送信しているか、または事前に送信者から暗号化チャットメッセージの承諾を得ていること、または
    • 送信者と同じ プレミアムビジネス または プレミアム組織 のメンバーです。
 

チャットメッセージリクエストの送信

ユーザーは、フォローしていない他のユーザーが以下の条件に該当する場合、暗号化されていないメッセージリクエストをそのユーザーに送信できる場合があります。

  • 誰からでも暗号化されたチャットメッセージを受信することを選択した、または
  • 認証済みであり、他の認証済みアカウントからのチャットメッセージを受信するよう設定している(かつ送信者も認証済みアカウントである)。

他のユーザーにメッセージリクエストを送信すると、これらのリクエストは承認されるまで、従来のダイレクトメッセージと同様に、他のチャットメッセージとは別に保管されます。受信側のユーザーは、会話を続けるリクエストを受け入れるか、会話を無視するか、送信者をブロックするかを選択できます。メッセージリクエストは、ユーザーがリクエストを受け入れるまで暗号化されていません。会話が暗号化されるとき、両方のユーザーに通知されます。Grokは、これらのメッセージリクエストを「優先度」または「非表示」のメッセージリクエスト受信トレイに分類するために使用されます。

 

メッセージリクエスト制限

サブスクリプションのレベルに応じて、24時間の間に送信できるメッセージリクエストの数に制限があります。現在の制限は以下のとおりです。

  • プレミアムビジネス:500

  • プレミアムプラス:75

  • プレミアム:35

  • 無料:7

より多くのメッセージリクエストを利用したい場合は、こちらをクリックしてあなたのサブスクリプションのレベルをアップグレードしてください。

 

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

メッセージ作成ボタンをタップして受信者を検索します。メッセージを作成し、「送信」をクリックします。

メッセージの送信先のユーザーがチャットに登録していない場合、公開鍵がないため、メッセージは暗号化されずに送信されます。新しいXチャット会話を作成すると、そのことを示すロック解除アイコンが送信ボタンの横に表示されます。

 

登録/登録解除

ユーザーは、ツールバーの「チャット」タブを開くか、Xチャットアプリをダウンロードして既存のXアカウントにログインし、指示に従うことでチャットに登録できます。これにより、公開鍵と秘密鍵のペアの作成が開始され、任意のデバイスから取得できるようになります。デバイスから秘密鍵を削除するには、アカウントからログアウトします。

 

制限事項

現時点では、既存のXアカウントのみがXチャットアプリにログインできます。Xアカウントを作成するには、X iOSまたはAndroidアプリをダウンロードするか、ウェブサイトでX.com/signupにアクセスして指示に沿って手順を実行してください(詳細はこちらをご覧ください)。

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

以前とは異なり、グループ メッセージとメディアを暗号化できるようになりました。
 

コンテンツ

暗号化されたチャットの会話内容は、リンク、メディア、ファイルなどを含め、常に暗号化されます。メッセージへのリアクションも暗号化されます。メッセージの内容自体は暗号化されますが、関連するメタデータ (受信者、作成時刻など) は暗号化されないことに注意することが重要です。暗号化されたチャットで投稿が共有された場合、Xにはそれらの投稿が共有されたという記録が残ります。
 

新しい端末

Chat on Xを使用できるデバイスの数に制限はありません。
 

安全番号

セーフティナンバーは、チャットの相手が本人であるかどうかを確認するために使用されます。チャット相手と安全番号を比較します。一致するはずです!

技術的な面では、安全番号はチャットの両者からの公開鍵を使用して導出されます。すべてのメッセージは相手の公開鍵で署名されます。つまり、安全番号が一致すれば、そのメッセージは他の誰からも送信されたものではないことになります。
 

報告

メッセージ報告機能が構築され、機能として追加されました。メッセージを長押しすると、Xのポリシーに違反していると思われるメッセージを報告するオプションが表示されます。この報告機能は、そのメッセージ、その内容、および関連するメタデータを送信し、当社のエージェントが内容を確認し、必要に応じて送信ユーザーに対して措置を取ることができるようにします。報告されたメッセージが実際にチャットシステムを通じて送信されたことを認証するために、メッセージフランキングとも呼ばれる暗号技術が用いられます。アカウント自体に関する報告を引き続き提出することもできます。弊社のチームが確認いたします。 

他のユーザーから暗号化されたチャットメッセージを送信されないようにするには、そのユーザーをフォローしないでください。また、そのユーザーとすでにダイレクトメッセージの会話を行っている場合は、そのユーザーをブロックしてください
 

ログアウトとキーのバックアップ

いつでもXからログアウトすると、現在使用しているデバイス上の暗号化されたチャットメッセージを含むすべてのメッセージが削除されます。これは、ログインしている他のデバイスには影響しません。XアプリとXチャットアプリの両方にログインしている場合、デバイス上のメッセージを削除するには、両方のアプリからログアウトする必要があることに注意してください。

ログアウトすると、デバイス管理のパスコード オプションを使用していない限り、Xはすべての秘密鍵と会話鍵を消去します。デバイス管理のパスコード オプションを使用している場合、パスコードはiCloudキーチェーンに保存されます (iOSデバイスのみ)。同じデバイスに再度ログインすると、デバイスはログアウトする前にアクセスしていた秘密鍵を使用して、暗号化された会話を再度取得して復号化できるようになります。

パスコードを忘れた場合は、すでにチャットを使用している端末であればどの端末からでもパスコードをリセットできます。ログイン済みの端末からリセットできない場合、暗号化された会話の履歴を回復することはできません。近い将来、この制限を改善する予定です。
 

前方秘匿性

登録済みデバイスの秘密鍵が漏洩した場合、攻撃者はそのデバイスで送受信されたすべての暗号化されたチャットメッセージを復号化できるようになります。つまり、この実装は「前方セキュリティ」を備えていません。将来的には、秘密鍵のローテーションによって前方セキュリティを確保できるメカニズムの開発に取り組んでいます。

 

暗号化メッセージの削除

チャットでは、ユーザーはメッセージを「送信取り消し」することができ、これにより受信者の受信トレイからメッセージが削除されます。これは暗号化されたメッセージにのみ可能です。  暗号化された会話を削除したり残したりしても、相手が将来あなたにDM (暗号化されているかどうかに関係なく) を送信することを妨げるものではありません。

暗号化されたメッセージまたは会話(送信または受信)を削除すると、データはデバイスから即座に削除されます(その後すぐに、他のすべてのデバイスからも削除されます)。今後閲覧できなくなります。ただし、受信者は、あなたが削除した暗号化メッセージまたは会話を引き続き見ることができます。

 

消える暗号化メッセージ

チャットには「消えるメッセージ」と呼ばれる新機能があり、ユーザーが選択した期間を過ぎるとデバイスとXのサーバーからメッセージが削除されます。期間を設定するには、会話情報画面に移動し、「消えるメッセージ」メニューをタップします。

Grokで編集/Grokに質問する/Grokコンパニオン

Grokを使用して画像を編集したり、Grokにメッセージを分析させたりすることができます。画像またはメッセージを選択し、コンテキスト メニューを開きます。[Grokに質問する] を選択すると、選択した画像またはメッセージが [Grok] タブに開きます。Grokに送信すると、画像またはテキストは暗号化されなくなることに注意してください (元の会話の内容は暗号化されたままです)。

チャットでは、Grok Companionとチャットすることもできます。メッセージはエンドツーエンドで暗号化されますが、コンパニオンがメッセージを読み取って回答するには、最終的にGrokがメッセージを復号する必要があります。Grokについての詳細は こちらをご覧ください

 

その他の注目すべき機能

  • グループチャット招待: 公開リンクを作成して他のユーザーと直接共有したり、タイムラインに共有したりすることで、簡単にグループ会話を作成できます。リンクをクリックして参加をリクエストしたユーザーは、あなたが承認した場合にのみ追加されます。また、管理者はいつでもグループチャットの招待リンクを有効または無効にすることができます。カスタムアバターとグループチャット名は暗号化されずに公開されます。
  • 音声メモ:テキストボックスの右側にある音声アイコンを選択して、音声メモを録音してください。録音が完了したら、停止ボタンを選択してください。ユーザーは、会話で音声メモを送信する前に、その音声メモを聞くことができます。

私の秘密鍵はどこに保存されていますか?

Xにおけるエンドツーエンド暗号化チャットでは、各ユーザーが秘密鍵と公開鍵のペアを持っている必要があります。この鍵ペアは、送信者から受信者へのメッセージを暗号化する会話のシークレットを安全に交換するのに役立ちます。エンドツーエンド暗号化における主な課題は、秘密鍵を安全に保管することです。秘密鍵にアクセスされてしまうと、誰かがあなたのメッセージを読み取ってしまう可能性があります。

多くのアプリでは公開鍵がデバイス上のみに保存されますが、これでは複数のデバイス間でチャットにシームレスにアクセスしづらくなり、多くのXユーザーの期待に応えることができません。

この問題に対処するために、XではオープンソースのJuiceboxプロトコルを利用して秘密鍵をクラウド上に安全に保存し、非公開の状態を維持します。Juiceboxプロトコルによって秘密鍵が複数のシェアに分割され、"レルム"と呼ばれる複数の独立したサーバーに保存されます。キーは、暗号化チャットを有効にした際に設定したPINコードを使ってのみ復元できます。このPINコードがデバイスから外部に送信されることはありません。

Xの実装では:

  • 鍵シェアは、現在すべてXが運営する3つのJuiceboxレルムに保存されます。

  • これらのうち2つは、ハードウェアセキュリティモジュール(HSM)を使用して保存前にデータを暗号化する、ハードウェアベースのレルムです。

  • キーを復元するには3つの鍵シェアのうち少なくとも2つが必要であり、セキュリティを徹底するために、少なくとも1つはハードウェアベースのレルムから取得する必要があります。

これらのハードウェアレルムにおけるキー設定手順の詳細については、こちらで公開されています:チャットHSMレルムキーセレモニー

PINコードを推測することで、Xが私のチャットにアクセスすることは可能ですか?

いいえ。Juiceboxプロトコルは、すべてのレルムが不正ユーザーの制御下にあったとしても、総当たり攻撃を防ぐよう設計されています。

ハードウェアベースのレルムには、厳密な制限付きの推測カウンターが内蔵されています。チャットの場合はこの制限が20回に設定されています。この上限に達すると、鍵シェアには永久にアクセスできなくなります。この保護はマークルツリー構造を用いた暗号学的手法によって実行され、ルートがHSMの非公開エンクレーブ内に安全に保存されます。HSM上で動作するソフトウェアは、オープンソースとしてこちらで公開されています:https://github.com/juicebox-systems/juicebox-hsm-realm 

つまり、XであってもPINコードの推測や総当たり攻撃によってユーザーの秘密鍵を復元し、チャットにアクセスすることはできないことを意味します。

Xでは、ユーザーが異なる組織が運営するレルムを選択できるなど、将来的により多くの選択肢を提供することで、信頼の分散と鍵の自己管理をさらに推進していく予定です。

Juiceboxプロトコルに関する技術的な詳細については、juicebox.xyz/blogをご覧ください。

チャットプロトコルは安全ですか?

チャットプロトコルは第三者機関による監査を受け、その結果がこちらで公開されています:https://github.com/trailofbits/publications/blob/master/reviews/2025-10-x-xchat-securityreview.pdf

 

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

@XEngにポストしましょう。

この記事を共有する