apache / incubator-teaclave-trustzone-sdk

Teaclave TrustZone SDK enables safe, functional, and ergonomic development of trustlets.
https://teaclave.apache.org
Apache License 2.0
204 stars 58 forks source link

动态库三方依赖需求 #57

Closed gaojunjie03 closed 2 years ago

gaojunjie03 commented 2 years ago

您好!是这样的,我们这边用了python写了一堆的算法,引入了各种第三方的依赖库。现在我们想把这个python代码放到tee环境下运行,想法是:将这些python代码打包成动态库.so,然后rust那边链接该动态库执行里面的python代码,然后编译rust项目再normarl world上执行,由于是动态库,(normarlworld?secure world?)需要有python环境并且安装上了python的第三方依赖(如numpy、pandas、sklearn等)。 请问这样做是否妥当呢?(因为我们目前暂不掌握rust语言,并且就算掌握了 需要用rust重写python实现的那些算法逻辑,成本还有时间非常大,故采用rust调python代码的方式)

DemesneGH commented 2 years ago

@gaojunjie03 在normal world (CA) 中用Rust调动态库没有问题。 在secure world (TA) 理论上应该不能调用动态库(但我没有试过,你也可以试一下)。可以链接静态库至TA中。

gaojunjie03 commented 2 years ago

我想问,其实ca和ta是不是宿主机虚拟出来的两个linux系统?如果我再宿主机装了python环境,其实ca和ta是不知道且用不了宿主机的python对吧?

mssun commented 2 years ago

CA 是 host 操作系统环境(也就是 Linux),TA 运行在 TEE OS 中(也就是 OP-TEE OS)。不是“虚拟出来的两个 Linux 系统”。

gaojunjie03 commented 2 years ago

CA 是 host 操作系统环境(也就是 Linux),TA 运行在 TEE OS 中(也就是 OP-TEE OS)。不是“虚拟出来的两个 Linux 系统”。

您好 那个有个问题, 我再CA上启动了一个程序,暴露了个8080端口,我的宿主机要怎么才能访问到这个ca 的8080端口?telnet 不通 甚至也无法ping得通CA的ip地址?

mssun commented 2 years ago

可以查看 QEMU 的文档:https://wiki.qemu.org/Documentation/Networking 修改启动的网络选项。