asterinas / trustflow-capsule-manager

The authorization and key management module of TrustedFlow
7 stars 6 forks source link

Trustedflow 关于TEE问题2 #11

Open qinjuana opened 6 months ago

qinjuana commented 6 months ago

可信app如何保证可信?

zhongtianq commented 6 months ago

可信app需要向CapsuleManager获取数据密钥才能对加密数据文件解密,进行计算。 CapsuleManager会对可信app的身份进行验证,具体就是验证可信app提供的远程认证报告,只有通过验证的可信app才能拿到数据密钥。

qinjuana commented 6 months ago

我的意思是内置了较多app,如何能让客户信服这些app自身是可信?比如他们可能有疑问这些app有没有带后门等等

zhongtianq commented 6 months ago

@qinjuana 可以参考一下下面两部分的文档。可以简单理解为teeapps打包后有一个度量值,这个度量值会在远程认证报告中,无法被伪造。 客户做授权的时候可以限定app的度量值,只有符合预期的app可以获取到数据密钥。

https://www.secretflow.org.cn/zh-CN/docs/trustedflow/0.2.0b0/architecture/tee/sgx#enclave-mrenclave-mrsigner

以及

https://www.secretflow.org.cn/zh-CN/docs/trustedflow/0.2.0b0/quick_start/step3#app

qinjuana commented 6 months ago

如果想你们代码中集成第三方APP,请问对第三方app有什么要求吗?其接口与你们的该如何对接?

zhongtianq commented 6 months ago

如果想你们代码中集成第三方APP,请问对第三方app有什么要求吗?其接口与你们的该如何对接?

每个app可以看成一个teeapps的组件,我们的app通过secretflow的component spec来定义。这是隐语开放标准中用于定义组件的标准。用这套标准我们可以定义组件的名称、版本,参数的类型、取值范围、说明,定义输入输出的格式。

定义完组件再在app仓库中注册并实现相关的逻辑即可。

目前的架构中集成三方APP会涉及到比较大的开发量,我们会在下次发版中简化这个开发步骤,并给出开发新应用的教程。在此之前,您可以先阅读理解一下component spec,因为整体流程都是基于这套标准定义,不会发生变化。

qinjuana commented 6 months ago

宣讲中的密态spark,未来也是这么实现吗?

zhongtianq commented 6 months ago

宣讲中的密态spark,未来也是这么实现吗?

spark应用也可以看成是一个组件,所以整体流程上还是可以follow的。

spark在我们的未来规划中,您这边对spark是有什么明确的诉求吗?或者说有什么应用场景?可以提供给我们参考一下吗?感谢🤝

Chiliad-Spring commented 5 months ago

@qinjuana 可以参考一下下面两部分的文档。可以简单理解为teeapps打包后有一个度量值,这个度量值会在远程认证报告中,无法被伪造。 客户做授权的时候可以限定app的度量值,只有符合预期的app可以获取到数据密钥。

https://www.secretflow.org.cn/zh-CN/docs/trustedflow/0.2.0b0/architecture/tee/sgx#enclave-mrenclave-mrsigner

以及

https://www.secretflow.org.cn/zh-CN/docs/trustedflow/0.2.0b0/quick_start/step3#app

请教下这个问题,通过度量值似乎只能确定软件符合预期吧,但软件是否有问题、是否有后门怎么确定呢? 因为客户没法确定“自己的预期”是否就是安全的