SENTIENT

Sentient 加密

在你的裝置上受保護,然後才傳送。

Sentient 會在你的裝置上為每則訊息進行加密及認證,然後才經 Sentient 的伺服器傳送。為產生保護訊息的密鑰,Sentient 結合兩類密碼學:一種廣泛使用的傳統演算法,以及一種針對未來量子電腦而設計的後量子演算法。

01傳送訊息

按下傳送時會發生甚麼事。

這一切均由 Sentient 自動完成,你毋須進行任何額外步驟。

  1. 你的手機會收集正確的密鑰。

    它會使用收件人已發佈的加密密鑰,以及你的手機自行產生的全新加密材料。

  2. 兩個系統各自貢獻一個秘密。

    一個傳統演算法和一個後量子演算法各自為訊息產生一部分秘密材料。

  3. 兩部分合成一條密鑰。

    這些部分會合併為用於保護訊息的密鑰材料。

  4. 訊息先密封,後傳送。

    你的手機會先加密訊息並加入防篡改檢查,然後才經 Sentient 的伺服器傳送。收件人的裝置會在顯示訊息前進行驗證。

技術細節

  1. 發送者使用收件人已發佈的加密密鑰材料,以及發送者一方新產生的加密材料。
  2. ML-KEM-768 和 X25519 各自為訊息貢獻共享秘密材料。
  3. HKDF-SHA-256 將兩份貢獻合併為訊息加密密鑰材料。
  4. XChaCha20-Poly1305 會在訊息內容經 Sentient 伺服器傳送前,保護其機密性和完整性。

02混合設計

雙重保護,而非單一保護。

Sentient 不依賴單一演算法產生訊息密鑰,而是結合一種廣泛使用的傳統演算法和一種後量子演算法。此設計旨在令訊息的保護不會完全依賴其中任何一種演算法。

X25519

Classical contribution

一種廣泛使用的方法,讓兩部裝置得出共享秘密材料。

一種橢圓曲線 Diffie-Hellman 函數(RFC 7748)。在 Sentient 的混合結構中,它為訊息加密密鑰貢獻共享秘密材料。

ML-KEM-768

Post-quantum contribution

一種較新的後量子方法,會為同一條密鑰加入自身的共享秘密材料。

NIST 在 FIPS 203 中標準化的參數集之一。在 Sentient 的混合結構中,它為訊息加密密鑰貢獻後量子共享秘密材料。

X25519傳統共享秘密貢獻
ML-KEM-768後量子共享秘密貢獻
HKDF-SHA-256合併兩份貢獻
訊息加密密鑰材料在發送者裝置上衍生
XChaCha20-Poly1305為訊息內容進行認證及加密
已加密內容經 Sentient 的伺服器傳送
Sentient 的混合設計如何將兩份加密貢獻轉化為保護訊息的密鑰材料。

技術細節

ML-KEM-768 和 X25519 各自貢獻共享秘密材料。HKDF-SHA-256 將這些貢獻合併為訊息加密密鑰材料。ML-KEM-768 和 X25519 均不會直接加密訊息內容。

混合結構的設計令訊息的保護不會完全依賴兩個密碼組件中的任何一個。

03後量子

為後量子時代而設。

已加密的流量今天已可被記錄及儲存。令人擔心的是,有人會保存這些資料,寄望日後足夠強大的量子電腦能讓他們解密。這種做法稱為「先收集,後解密」。

Sentient 的後量子貢獻 ML-KEM-768 有助應對這類攻擊。它與 X25519 協同運作,而不是取而代之:兩者都為保護訊息的密鑰材料作出貢獻。

為長遠抵禦能力而設計

今天訊息的保護,已為明天的電腦做好準備。

技術細節

ML-KEM-768 是 NIST 在 FIPS 203 (在新分頁開啟) 中標準化的參數集之一。

後量子貢獻有助應對「先收集,後解密」 (在新分頁開啟)攻擊:攻擊者今天記錄已加密的流量,寄望日後以足夠強大的量子電腦將其解密。

04訊息保護

產生密鑰不等於鎖上訊息。

X25519 和 ML-KEM-768 只負責協助產生密鑰。另一個步驟會把它們的貢獻轉化為密鑰材料,再由另一種演算法使用這些材料保護訊息本身:保持內容私密,並令任何篡改都能被察覺。

HKDF-SHA-256

Key derivation

把兩份秘密貢獻融合為用於保護訊息的密鑰材料。

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 鑰匙圈(Keychain),Android 使用 Android Keystore。

技術細節

加密密鑰材料在用戶裝置上衍生。Sentient 會在發送者裝置上為每則訊息的內容進行認證及加密,然後才經 Sentient 的伺服器傳送。收件人的裝置會在顯示訊息前驗證受保護的內容。

加密密鑰透過 iOS 鑰匙圈(Keychain)及 Android Keystore 以硬件支援方式儲存及保護。

06裝置及應用程式完整性

加密只是保安的一部分。

Sentient 的保安架構不止於訊息加密,亦會考慮應用程式本身、其運行的裝置,以及誰可存取你的帳戶。

  • 應用程式及裝置完整性

    來自 Apple 和 Google 的訊號有助 Sentient 評估應用程式及其運行裝置的完整性。

    Apple App Attest 和 Google Play Integrity 提供裝置及應用程式的完整性訊號。

  • 與你的裝置綁定的憑證

    你的帳戶憑證與你的裝置綁定,有助防止未經你授權的安裝進入你的帳戶。

    與裝置綁定的憑證有助防止未經授權的安裝存取帳戶。

  • 受信任裝置

    你可以查看哪些裝置已連接你的帳戶,並撤銷其中任何裝置的存取權。

    受信任裝置功能讓用戶查看已連接的裝置,並可撤銷其存取權。

  • 安全取回

    如你轉用新手機,安全取回憑證會保護還原帳戶的過程。

    安全取回憑證保護在替換裝置上還原帳戶的過程。

技術細節

Apple App Attest 和 Google Play Integrity 提供裝置及應用程式的完整性訊號,而與裝置綁定的憑證有助防止未經授權的安裝存取帳戶。加密密鑰透過 iOS 鑰匙圈(Keychain)及 Android Keystore 以硬件支援方式儲存及保護。受信任裝置功能讓用戶查看已連接的裝置並撤銷其存取權,而安全取回憑證則保護在替換裝置上還原帳戶的過程。

07技術參考

給技術讀者。

上述設計的簡要摘要,並附上其所依據的官方標準。

密鑰建立
混合結構。X25519(傳統)和 ML-KEM-768(後量子)各自貢獻共享秘密材料,使用收件人已發佈的加密密鑰材料,以及發送者一方新產生的加密材料。
密鑰衍生
HKDF-SHA-256 將兩份貢獻合併為訊息加密密鑰材料。
內容保護
XChaCha20-Poly1305 在發送者裝置上為訊息內容進行認證及加密,保護其機密性和完整性。ML-KEM-768 和 X25519 均不會直接加密訊息內容。
伺服器可見的內容
Sentient 的伺服器只會收到已加密的訊息內容,而不是訊息的明文。
收件人
收件人的裝置會在顯示訊息前驗證受保護的內容。
密鑰儲存
透過 iOS 鑰匙圈(Keychain)及 Android Keystore 以硬件支援方式儲存。
完整性訊號
Apple App Attest 和 Google Play Integrity。
帳戶存取
與裝置綁定的憑證、可撤銷的受信任裝置,以及安全取回憑證。

這些參考資料闡述底層演算法及混合設計的一般原則,並不構成對 Sentient 實作的認證或獨立驗證。