我发现:https ://www.youtube.com/watch?v=0-ISmJNxGiY
观看 11:00-15:30 似乎我对内部 Web 服务器的理论非常接近它的设计方式。
所以这证实了它确实是可能的。这是巨大的:只要我们信任 CPU,我们将能够在不受信任的硬件上运行。所以这个答案确实已经过时了:如何防止托管公司访问虚拟机的加密密钥?答案并不完全错误,因为专门的攻击者可以打开 AMD CPU 并在 CPU 内部连接电线,但这会使攻击变得更加困难——尤其是如果 AMD 主动使 CPU 防篡改。
但由于谷歌似乎没有在 15:00 提供幻灯片中的信息(即我没有得到 PDH,也没有直接与 CPU 对话),谷歌似乎仍然控制着服务器:他们有一个 (毫不掩饰)中间人,即他们的控制面板,这可能是关于您的 VM 是在 AMD CPU 上生成的。
这使我得出结论,谷歌机密计算虚拟机可能很好地防范了来自同一服务器上运行的其他虚拟机的攻击(如https://rambleed.com/),但它们目前还没有防范谷歌的攻击。
但是,如果 Google 允许我访问 PDH,这可能会改变。
借助 AMD 安全处理器的证书,我可以使用 Diffie-Hellmann(芯片背书密钥https://youtu.be/0-ISmJNxGiY?t=728和平台 Diffie-Hellmann https)设置到这个独特 CPU 的安全通道://youtu.be/0-ISmJNxGiY?t=660 ) - 非常类似于 https,您还可以通过遵循其信任链来检查证书是否来自正确的网站。
因此,在使用 https 时,CPU 外部的硬件将类似于互联网:您不需要信任硬件(就像您不需要信任互联网一样),因为它只看到加密数据。
换一种说法:使用普通计算机,我们可以毫无问题地将它们连接到我们认为不可信的互联网:我们使用加密,因此任何人监视进出计算机的数据只会看到加密的数据。我们仍然可以检查我们是否正在使用数字证书与正确的收件人进行通信。
AMD SEV 只是在 CPU 内部移动了这个限制:进出 CPU 的所有内容都将被加密。云客户可以使用数字证书检查他是否正在与独特的 AMD 安全处理器通话。
虚拟机管理程序(这是在机器上启动的第一个操作系统,用于提供对 AMD 安全处理器的 Internet 访问)不必被信任。虚拟机管理程序与虚拟机隔离:虚拟机管理程序可以读取和写入加密内存,但不能读取和写入此加密的密钥(https://youtu.be/0-ISmJNxGiY?t=86)。有点像 VPN:你可以让一个不受信任的连接在其上携带一个受信任的连接。
虚拟机管理程序可以控制虚拟机,但不能为虚拟机设置加密密钥。有点像 ISP,它可以限制您的 Internet 连接而无法解密您的 VPN。
受信任的虚拟机首先具有未加密、不受信任的 BIOS ( https://youtu.be/0-ISmJNxGiY?t=563 )。然后这个 BIOS 由受信任的 CPU 进行散列和加密,并将散列提供给客户。通过这种方式,客户将知道 VM 的 BIOS 是否已更改。如果客户接受哈希正确,他将注入一个秘密(例如加密磁盘映像或打开存储在不受信任存储上的加密磁盘映像的密钥)(https://youtu.be/0-ISmJNxGiY?t= 639),然后VM在加密的RAM中启动。
总结 https 和 AMD SEV 的相似之处:
特征 |
HTTPS 服务器 |
AMD SEV |
不受信任的功能 |
|
|
快速存储 |
全盘加密SSD |
加密内存 |
存储慢 |
加密远程备份 |
全盘加密SSD |
控制通道(“网络流量”) |
https 加密 |
Diffie Hellman 加密 |
受信任的功能 |
整个服务器 |
AMD 安全处理器 |
证书 |
https 的 TLS 证书 |
安全处理器证书 |
证书颁发机构 |
例如解冻 |
AMD |
快速存储的关键 |
全盘加密密钥 |
RAM 加密密钥 |
慢存储的关键 |
备份加密密钥 |
全盘加密密钥 |
密钥存储 |
小启动盘 |
安全加密 NV 存储 |
我会推荐中央情报局在朝鲜的机密云中进行机密数据处理(假设他们有)吗?
否:AMD 的 SEV 使攻击者更难。攻击者不能简单地拍摄快照并使用它。然而,他仍然可以破坏内存,如果他愿意打开 CPU,他也许可以通过连接电线来绕过一些安全措施。但是这些攻击对于普通的云托管提供商来说是遥不可及的。
因此,它不能防止真正专门的恶意托管服务提供商,但它似乎确实可以防止草率的托管服务提供商,他们没有主要资源来攻击客户的数据。