SENTIENT

Sentient の暗号化

送信前に、あなたのデバイス上で保護。

Sentient は、すべてのメッセージを Sentient のサーバーを通る前にあなたのデバイス上で暗号化・認証します。メッセージを保護する鍵を作るために、Sentient は 2 種類の暗号を組み合わせています。広く使われている従来型のアルゴリズムと、将来の量子コンピューターを見据えて設計された耐量子アルゴリズムです。

01メッセージの送信

送信をタップすると何が起きるのか。

これらはすべて Sentient が自動で行います。あなたが追加で操作する必要はありません。

  1. スマートフォンが必要な鍵をそろえます。

    受信者が公開している暗号鍵と、スマートフォン自身が新たに生成する暗号素材を組み合わせて使います。

  2. 2 つの方式がそれぞれ秘密を提供します。

    従来型のアルゴリズムと耐量子アルゴリズムが、それぞれメッセージ用の秘密素材の一部を生成します。

  3. 2 つの素材が 1 つの鍵になります。

    それらを組み合わせて、メッセージを保護する鍵素材を作ります。

  4. メッセージは封をしてから送信されます。

    スマートフォンはメッセージを暗号化し、改ざん検知を付けてから Sentient のサーバー経由で送信します。受信者のデバイスは、メッセージを表示する前にそれを検証します。

技術的な詳細

  1. 送信者は、受信者が公開している暗号鍵素材と、送信者側で新たに生成した暗号素材を使用します。
  2. ML-KEM-768 と X25519 がそれぞれ、メッセージ用の共有秘密素材を提供します。
  3. HKDF-SHA-256 が両方の素材を組み合わせ、メッセージ暗号化用の鍵素材を作ります。
  4. XChaCha20-Poly1305 は、メッセージ本文が Sentient のサーバー経由で送信される前に、その機密性と完全性を保護します。

02ハイブリッド設計

保護は 1 つではなく 2 つ。

Sentient は、メッセージの鍵を 1 つのアルゴリズムだけに頼って作るのではなく、広く使われている従来型のアルゴリズムと耐量子アルゴリズムを組み合わせます。メッセージの保護がどちらか一方だけに完全に依存しないようにする設計です。

X25519

Classical contribution

2 台のデバイスが共有秘密素材を得るための、広く使われている方式です。

楕円曲線ディフィー・ヘルマン関数(RFC 7748)。Sentient のハイブリッド構成では、メッセージ暗号化用の鍵に共有秘密素材を提供します。

ML-KEM-768

Post-quantum contribution

同じ鍵に独自の共有秘密素材を加える、より新しい耐量子方式です。

NIST が FIPS 203 で標準化したパラメーターセットの 1 つ。Sentient のハイブリッド構成では、メッセージ暗号化用の鍵に耐量子の共有秘密素材を提供します。

X25519従来型の共有秘密の提供
ML-KEM-768耐量子の共有秘密の提供
HKDF-SHA-256両方の素材を組み合わせる
メッセージ暗号化用の鍵素材送信者のデバイスで導出
XChaCha20-Poly1305メッセージ本文を認証・暗号化
暗号化された本文Sentient のサーバー経由で送信
Sentient のハイブリッド設計が 2 つの暗号素材を、メッセージを保護する鍵素材に変えるしくみ。

技術的な詳細

ML-KEM-768 と X25519 がそれぞれ共有秘密素材を提供します。HKDF-SHA-256 がそれらを組み合わせて、メッセージ暗号化用の鍵素材を作ります。ML-KEM-768 と X25519 は、メッセージ本文を直接暗号化するものではありません。

ハイブリッド構成は、メッセージの保護が 2 つの暗号コンポーネントのどちらか一方だけに完全に依存しないよう設計されています。

03耐量子

ポスト量子時代に備えて。

暗号化された通信は、今の時点で記録・保存される可能性があります。懸念されるのは、十分に強力な量子コンピューターでいつか解読できることを期待して、誰かがそれを保管しておくことです。これは「今収集し、後で解読する」攻撃と呼ばれます。

Sentient の耐量子の要素である ML-KEM-768 は、この種の攻撃への対策に役立ちます。X25519 の代わりではなく、X25519 と一緒に機能し、両方がメッセージを保護する鍵素材に寄与します。

長期的な耐性を見据えた設計

今日のメッセージの保護は、明日のコンピューターを見据えて設計されています。

技術的な詳細

ML-KEM-768 は、NIST が FIPS 203 (新しいタブで開きます) で標準化したパラメーターセットの 1 つです。

耐量子の要素は、「今収集し、後で解読する」 (新しいタブで開きます)攻撃への対策に役立ちます。これは、攻撃者が暗号化された通信を今のうちに記録し、十分に強力な量子コンピューターで後から解読しようとするものです。

04メッセージの保護

鍵を作ることと、メッセージに鍵をかけることは別です。

X25519 と ML-KEM-768 は鍵の作成を助けるだけです。別のステップがそれらの素材を鍵素材に変え、さらに別のアルゴリズムがその鍵素材でメッセージそのものを保護します。内容を秘密に保ち、改ざんがあれば検知できるようにするのです。

HKDF-SHA-256

Key derivation

2 つの秘密素材をまとめ、メッセージを保護する鍵素材にします。

HKDF(RFC 5869)と SHA-256 で、ML-KEM-768 と X25519 の素材を組み合わせ、メッセージ暗号化用の鍵素材を作ります。

XChaCha20-Poly1305

Message encryption

メッセージを読めないように暗号化し、変更があれば検知できるように認証します。

導出された鍵素材を使ってメッセージ本文を認証・暗号化し、Sentient のサーバー経由で送信される前に機密性と完全性を保護します。

技術的な詳細

ML-KEM-768 と X25519 がそれぞれ共有秘密素材を提供します。HKDF-SHA-256 がそれらを組み合わせて、メッセージ暗号化用の鍵素材を作ります。ML-KEM-768 と X25519 は、メッセージ本文を直接暗号化するものではありません。

XChaCha20-Poly1305 は導出された鍵素材を使い、メッセージ本文を Sentient のサーバー経由で送信する前に認証・暗号化します。Sentient のサーバーが受け取るのは暗号化されたメッセージ本文であり、メッセージの平文ではありません。

05あなたのデバイス上で

保護は、あなたのデバイスから始まります。

鍵素材はあなたのデバイス上で導出され、各メッセージはデバイスを離れる前にそこで暗号化されます。Sentient のサーバーが受け取るのは暗号化されたメッセージであり、読める内容ではありません。

  • 送信前に暗号化

    各メッセージは、Sentient のサーバー経由で送信される前に、送信者のデバイス上で認証・暗号化されます。

  • 表示前に検証

    受信者のデバイスは、保護されたメッセージを表示する前に検証します。

  • ハードウェアに裏付けられた保管場所の鍵

    暗号鍵は、iPhone では iOS キーチェーン、Android では Android Keystore による、ハードウェアに裏付けられた保管で保護されます。

技術的な詳細

暗号鍵素材はユーザーのデバイス上で導出されます。Sentient は各メッセージ本文を送信者のデバイス上で認証・暗号化してから、Sentient のサーバー経由で送信します。受信者のデバイスは、メッセージを表示する前に保護された本文を検証します。

暗号鍵は、iOS キーチェーンと Android Keystore による、ハードウェアに裏付けられた保管で保護されます。

06デバイスとアプリの完全性

暗号化は、セキュリティの一部にすぎません。

Sentient のセキュリティ設計は、メッセージの暗号化にとどまりません。アプリそのもの、アプリが動作するデバイス、そしてアカウントにアクセスできる人まで考慮しています。

  • アプリとデバイスの完全性

    Apple と Google からのシグナルにより、Sentient はアプリとそれが動作するデバイスの完全性を評価します。

    Apple App Attest と Google Play Integrity が、デバイスとアプリの完全性シグナルを提供します。

  • デバイスに結び付いた認証情報

    アカウントの認証情報はデバイスに結び付いているため、許可していないインストールからアカウントを守るのに役立ちます。

    デバイスに結び付いた認証情報は、許可されていないインストールからのアカウントアクセスを防ぐのに役立ちます。

  • 信頼済みデバイス

    アカウントに接続されているデバイスを確認し、どのデバイスのアクセスも取り消せます。

    信頼済みデバイス機能では、接続されているデバイスを確認し、そのアクセスを取り消すことができます。

  • 安全な復元

    新しいスマートフォンに移行するとき、安全な復元用の認証情報がアカウントの復元を保護します。

    安全な復元用の認証情報が、代わりのデバイスでのアカウント復元を保護します。

技術的な詳細

Apple App Attest と Google Play Integrity がデバイスとアプリの完全性シグナルを提供し、デバイスに結び付いた認証情報が、許可されていないインストールからのアカウントアクセスを防ぐのに役立ちます。暗号鍵は、iOS キーチェーンと Android Keystore による、ハードウェアに裏付けられた保管で保護されます。信頼済みデバイス機能では接続されているデバイスを確認してアクセスを取り消すことができ、安全な復元用の認証情報が代わりのデバイスでのアカウント復元を保護します。

07技術リファレンス

技術者の方へ。

上記の設計を簡潔にまとめ、その根拠となる公式の標準を併記しています。

鍵の確立
ハイブリッド構成。X25519(従来型)と ML-KEM-768(耐量子)が、受信者の公開暗号鍵素材と送信者側で新たに生成した暗号素材を使って、それぞれ共有秘密素材を提供します。
鍵の導出
HKDF-SHA-256 が両方の素材を組み合わせ、メッセージ暗号化用の鍵素材を作ります。
本文の保護
XChaCha20-Poly1305 は送信者のデバイス上でメッセージ本文を認証・暗号化し、機密性と完全性を保護します。ML-KEM-768 と X25519 は、本文を直接暗号化するものではありません。
サーバーから見えるもの
Sentient のサーバーが受け取るのは暗号化されたメッセージ本文であり、メッセージの平文ではありません。
受信者
受信者のデバイスは、メッセージを表示する前に保護された本文を検証します。
鍵の保管
iOS キーチェーンと Android Keystore による、ハードウェアに裏付けられた保管。
完全性シグナル
Apple App Attest と Google Play Integrity。
アカウントへのアクセス
デバイスに結び付いた認証情報、アクセスを取り消せる信頼済みデバイス、安全な復元用の認証情報。

これらの資料は、基盤となるアルゴリズムとハイブリッド設計の一般原則を説明するものです。Sentient の実装を認証または独自に検証するものではありません。