#memory-protection #memory #encryption #secure #encryption-key

shielded

屏蔽内存。防止推测和Spectre、Meltdown、Rowhammer和Rambleed等旁路攻击的内存保护。

3个版本

0.1.2 2023年10月17日
0.1.1 2021年2月18日
0.1.0 2019年6月25日

#1010 in 密码学

Download history 66/week @ 2024-03-10 2/week @ 2024-03-17 42/week @ 2024-03-31 19/week @ 2024-04-21 67/week @ 2024-04-28 119/week @ 2024-05-05 2/week @ 2024-05-26 51/week @ 2024-06-02

每月51次下载

MIT许可证

10KB
133 代码行

屏蔽内存

一个从OpenBSD的/ OpenSSH的提交中汲取灵感和部分文档的crate。

此crate实现了屏蔽内存,提供对内存中存储的秘密的保护,以防止推测和Spectre、Meltdown、Rowhammer和Rambleed等内存旁路攻击。当构造Shielded时,内存内容会被加密,然后在需要时解密,当内存不再需要时再次加密。

通过生成一个16KB的安全随机预密钥来实现内存保护,然后使用SHA512对其进行散列,以构建ChaCha20-Poly1305密码的加密密钥。然后使用此密码加密内存中的内容。

攻击者必须在尝试解密屏蔽内存之前,以高精度恢复整个预密钥,但当前一代攻击的比特错误率,当累积应用于整个预密钥时,使得这不太可能。

依赖项

~5–13MB
~235K SLoC