我的云文档怎么没有了(我的云文档怎么找)
1065
2022-05-29
1.TrustZone简介
为了给移动设备提供一个安全的运行环境, ARM从ARMv6的架构开始引入了TrustZone技术。TrustZone技术将中央处理器(Central Processing Unit,CPU)的工作状态分为了正常世界状态 (Normal World Status,NWS)和安全世界状态(Secure World Status,SWS)。支持TrustZone技术的芯片提供了对外围硬件资源的硬件级别的保护 和安全隔离。当CPU处于正常世界状态时,任何应用都无法访问安全硬件设备,也无法访问属于安全世界状态下的内存、缓存(Cache)以及其他外围安全硬件设备。
TEE基于TrustZone技术提供可信运行环境,还为开发人员提供了应用程序编程接口(Application Programming Interface,API),以方便他们开发实际应用程序。在整个系统的软件层面,一般的操作系统(如 Linux、Android、Windows等)以及应用运行在正常世界状态中,TEE运行在安全世界状态中,正常世界状态内的开发资源相对于安全世界状态较为丰富,因此通常称运行在正常世界状态中的环境为丰富执行环境(Rich Execution Environment, REE),对应的客户端应用统称为CA(Client Application),而可信任的操作系统以及上层的可信应用 (Trusted Application,TA)运行于安全世界状态,运行在安全世界状态中的系统就是TEE(Trusted Execution Environment)。
鲲鹏处理器基于ARM CPU架构,提供TrustZone硬件TEE技术. 本文在搭载鲲鹏芯片的Taishan服务器上,基于官方demo和openEuler操作系统搭建云场景Trustzone开发环境。
2.openEuler OS环境搭建
首先在https://repo.openeuler.org/openEuler-20.03-LTS/ISO/aarch64/ 中下载openEuler镜像,建议选择Everything版本。
在华为iBMC中选择Taishan服务器,在远程控制中选择HTML5集成远程控制台
加载之前下载好的镜像
选择启动方式为光盘启动。
强制重启服务器
重启后进行初始化配置,选择简体中文语言
选择“安装位置”,这里选择sda,并选择回收空间
配置网络,选择“网络和主机名”,在安装过程中可以使用图形界面配置网络信息。
在这里手动添加IP地址和网关
返回到主菜单,选择“软件选择”
依次选择服务器->标准->开发工具->网络服务器
配置完成后,点击“开始安装”,安装系统,中间按要求输入账号密码即可
3.升级BIOS固件
进入iBMC 选择系统管理->固件升级->选择指定固件->开始升级
升级完成后,重启iBMC。
4.依赖包安装
python安装
工具名称
建议版本
说明
Python
python2.7.13及以上
此工具用于对TA进行签名
Gcc
V 7.3.0(2019.02x86_54)
openssl
签名脚本调用
进入https://www.python.org/downloads/release/python-2716/ 下载合适版本,这里选择的是2.7.16版本
下载完成后,传输文件Python-2.7.16.tar.xz到对应服务器的/opt路径中解压并安装,在/opt目录下依次执行
tar -xzvf demo.tar.xz ./configure make make install
等待完成,查询python版本验证是否安装成功
python -V
出现对应的版本号说明已经成功安装
openssl安装
将demo中提供的openssl-1.0.2d.tar.gz(或者自行下载更新的包)传入服务器中,执行:
tar –vxf openssl-1.0.2d.tar.gz // 解压
进入openssl-1.0.2文件夹下,执行:
./config make make install
将/usr/local/ssl/lib文件下的全部内容拷贝到/usr/local/lib64下
cd /usr/local/ssl/lib cp -rf * /usr/local/lib64/
将/usr/local/ssl/include文件下的内容拷贝到/usr/local/include/下
cd /usr/local/ssl/include cp -rf * /usr/local/include/
zilb安装
将demo中提供的zlib-1.2.8.tar.xz(或者自行下载更新的包)传入服务器中,执行:
tar –vxf zlib-1.2.8.tar.xz
进入zlib-1.2.8/文件夹下依次执行:
./configure make make install
5. CA、TA的RSA加解密demo执行
环境变量和路径配置
创建/vendor/bin和/data两个路径,将demo包中的/vendor/bin下的所有文件传到服务器/vendor/bin下,其中应该有 tzdriver.ko和teecd和其他库文件。
mkdir /vendor/bin mkdir /data
进入/root文件夹,编辑.bashrc文件添加库环境变量
cd /root/ vim .bashrc
在.bashrc文件中添加一行export LD_LIBRARY_PATH=/vendor/bin/:$LD_LIBRARY_PATH
加载驱动模块
insmod /vendor/bin/tzdriver.ko
开启守护进程teecd
/vendor/bin/teecd
TA sec文件编译
将demo包中TA demo程序拷贝到/home/中(或指定自定义路径),进入ta/demos文件夹下
cd /home/ta/demos
文件夹下有build_TA.sh文件和rsa-demo文件夹(内包含rsa加解密TA端的c代码)
打开build_TA.sh,修改CODE_PATH为rsa-demo
执行脚本进行编译
./build_TA.sh
生成*.o文件后需要输入账户密码对文件签名:
编译成功后,在ta/demos/output/路径下生成编译输出RSA加解密对应的可信应用.sec文件,格式为ID+.sec
拷贝ta/demos/output/下生成的.sec文件到/data文件夹下
CA执行程序编译
进入/tee_usr/rsa-demo文件夹中,可以看到RSA加解密的CA demo源码和对应的makefile文件
执行make命令,生成对应的可执行文件和.o文件
拷贝对应的可执行文件rsa-demoCA到/vendor/bin下
cp rsa-demoCA /vendor/bin
此时执行/vendor/bin下的rsa加解密可执行文件
/vendor/bin/rsa-demoCA
执行成功,则可以看见对应的rsa的加解密过程和数据打印,说明rsa加解密执行成功
云计算
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。