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 实现的认证或独立验证。