Closed oceanqdu closed 1 month ago
目前暂无简单方式可以来获取,所以暂时只能保留报告的内容以进行后续校验。现在可以做到的只是校验报告的签名是否正确。
另外目前CVM的度量还仅仅在VM层面,对于APP的度量需要额外的工作来支持,例如借助linux内核的IMA。这块工作我们内部正在开展中。
@zhongtianq 那我是不是可以这样理解,当前的trustedFlow只能对csv有没有被篡改进行度量,确保csv是安全的,但是如果管理员能够进入csv虚拟机,因为无法对app以及capsule manager进行度量,所以无法保证能进入csv的管理员是否对代码进行了篡改,那安全性的保证还需要进一步的工作来支持。所以现在的安全级别只能保证cvm层没有被篡改
@zhongtianq ,同样还是有关安全虚拟机的中安全级别的问题,在csv/TDX模式中,内存加密可以保证宿主机无法获得安全虚拟机中的内存,但是对于这个虚拟机的管理员来说,他能够正常的进入这个虚拟机。现在假设有这样一个场景: alice和bob是数据提供方,carol是TEE算力提供方(假设提供的算力基于csv),在此情况下,capsule manager以及teapps均由carol部署在csv中,此时carol是tee的管理员,假设密钥管理使用了 https://github.com/asterinas/trustflow-capsule-manager/issues/29 中提到的AECS,此时alice和bob授权carol可以做一个求交操作,teeapps成功从capsule manager中获取密钥对alice和bob的加密数据进行解密,并在明文情况下执行求交。在此情况下,虚拟机的内存虽然对宿主机来说是加密的安全的,但是carol作为虚拟机的管理员他能够进入csv虚拟机中,因此他是不是可以有办法获得运行中的内存数据,从而获取alice和bob的密钥,以及alice和bob的明文数据?或者如何保证csv的管理员无法获得csv中的内存信息?
对于APP层面的保护,除了要做度量层面的增强,还需要在操作系统上做额外的安全保障,例如去特权、禁用ssh、挂载只读卷等。有了这些保障,才能保证整个CVM在启动后不会被篡改,远程认证这件事情才有意义。
@zhongtianq ,同样还是有关安全虚拟机的中安全级别的问题,在csv/TDX模式中,内存加密可以保证宿主机无法获得安全虚拟机中的内存,但是对于这个虚拟机的管理员来说,他能够正常的进入这个虚拟机。现在假设有这样一个场景: alice和bob是数据提供方,carol是TEE算力提供方(假设提供的算力基于csv),在此情况下,capsule manager以及teapps均由carol部署在csv中,此时carol是tee的管理员,假设密钥管理使用了 #29 中提到的AECS,此时alice和bob授权carol可以做一个求交操作,teeapps成功从capsule manager中获取密钥对alice和bob的加密数据进行解密,并在明文情况下执行求交。在此情况下,虚拟机的内存虽然对宿主机来说是加密的安全的,但是carol作为虚拟机的管理员他能够进入csv虚拟机中,因此他是不是可以有办法获得运行中的内存数据,从而获取alice和bob的密钥,以及alice和bob的明文数据?或者如何保证csv的管理员无法获得csv中的内存信息?
@zhongtianq ,在这种情况下,当前的trustedFlow是不是没有办法来应对csv虚拟机管理员carol的内存窃取。
@zhongtianq ,同样还是有关安全虚拟机的中安全级别的问题,在csv/TDX模式中,内存加密可以保证宿主机无法获得安全虚拟机中的内存,但是对于这个虚拟机的管理员来说,他能够正常的进入这个虚拟机。现在假设有这样一个场景: alice和bob是数据提供方,carol是TEE算力提供方(假设提供的算力基于csv),在此情况下,capsule manager以及teapps均由carol部署在csv中,此时carol是tee的管理员,假设密钥管理使用了 #29 中提到的AECS,此时alice和bob授权carol可以做一个求交操作,teeapps成功从capsule manager中获取密钥对alice和bob的加密数据进行解密,并在明文情况下执行求交。在此情况下,虚拟机的内存虽然对宿主机来说是加密的安全的,但是carol作为虚拟机的管理员他能够进入csv虚拟机中,因此他是不是可以有办法获得运行中的内存数据,从而获取alice和bob的密钥,以及alice和bob的明文数据?或者如何保证csv的管理员无法获得csv中的内存信息?
@zhongtianq ,在这种情况下,当前的trustedFlow是不是没有办法来应对csv虚拟机管理员carol的内存窃取。
这是两件正交的事情哈。 trustflow做的是应用层的内容,保证数据和密钥在应用层的安全流转。它是运行在CVM里面的,而CVM自身的安全需要额外保障,这个运行环境是否禁用ssh等就由外部情况决定了。
谢谢老师的耐心解答,已经搞明白了
https://www.secretflow.org.cn/zh-CN/docs/trustflow/0.4.0b0/quick_start/step2#csv 在文档中的SGX模式中,数据所有方在进行密钥上传以及数据授权时都需要得到capsule manager 以及teeapps的度量值并填入授权文件,通过对比远程认证中度量值来保证capsule manager 以及teeapps没有被串改。 然而在csv/TDX模式中,均不需要填写度量值,在这种情况下如何验证capsule manager 以及teeapps是否被恶意篡改? “由CSV VM的度量值暂无简易工具可以获取,CSV模式下我们暂时不对CapsuleManager的度量值进行限制,您可以保留远程认证报告用于后验。”文档中存在这样一句解释,该如何进行后验?