创建机密数据保存工程
应用开发安全计算应用中,支持创建机密数据保存工程,包含CA、TA应用程序,使用TEE安全存储接口保存机密数据。可以支持应用将敏感数据如密钥进行加密操作,不再需要应用从软件层自行实现加密方案,可以替代KMC或白盒加密。
操作步骤
- 单击左侧树快捷功能区按钮,或者单击应用开发区域右侧的按钮,打开“鲲鹏应用工程”页面,如图1所示。
- 单击“安全计算应用”,打开“安全计算应用”页面,如图2所示。
- 单击“TEE GP”应用,打开“TEE GP应用”页面,在左侧工程类别中选择“模板工程”,然后选择“机密数据保存”,并进行其他参数配置。图3 创建机密数据保存工程
- 单击“下一步”,选择是否配置目标节点,配置时需要输入目标节点的IP地址、SSH端口、用户名、密码和存放目录;选择不配置目标节点将默认暂不部署SDK。如图4所示。
- 选择是否在创建工程时同时部署SDK,选择“是”在部署时可选择不同的部署方式,比如在线部署、离线部署如图5所示。参数配置完成后,单击“创建工程”,创建机密数据保存工程。
表1 TEE GP应用工程配置参数说明 参数
说明
工程类别
工程类别可选:
- 模板工程
- CA工程
- TA工程
- RSA工程
- 机密数据保存
- 匿名投票
- 证书签发
- 空工程
说明:
- CA工程运行在REE侧环境下,TA工程运行在TEE侧环境下,RSA工程基于CA、TA工程进行安全通信。
- 机密数据保存工程包含CA、TA工程, 使用TEE安全存储接口保存机密数据。
- 匿名投票工程包含CA、TA工程,基于RSA和AES加密。
- 证书签发工程包含CA、TA工程,基于RSA、SM2算法进行证书签发。
使用依赖:
- 确保已安装kunpeng-sc(机密数据保存工程、匿名投票工程还需确保安装 kunpeng-sc-devel,证书签发工程还需确保安装机密计算SDK和kunpeng-sc-devel。)
- 确保tzdriver正常加载,执行lsmod | grep tzdriver
- 确保守护进程正常启动,执行ps -ef| grep teecd
工程名称
默认生成一个工程名称。格式为“xxx_ProjectN”,可修改。
创建工程的名称。
说明:- N为递增的数字,从1开始。
- 工程名称只能由字母、数字、“.”、“-”、“+”、“()”和“_”组成,长度为1~64个字符且不能以“.”开头。
工程位置
默认生成一个工程位置,格式为“C:\Users\username\KunpengProject”,可修改。
创建工程的存储路径。
(可选)签名私钥
导入签名私钥文件
(可选)Config二进制
导入Config二进制文件
是否配置目标节点
选择“是”配置目标节点。
选择“否”不配置目标节点。
IP地址
允许进行操作的目标节点IP。
SSH端口
目标节点的SSH端口号
用户名
允许进行操作的目标节点账户
密码
目标节点用户名密码。
存放目录
目标节点存放目录
说明:工具会读写存放目录下的内容,避免造成用户内容丢失,建议使用空目录。
创建工程时同时部署SDK
选择“是”部署SDK。
选择“否”不部署SDK。
部署SDK
选择SDK部署方式。
- 在线部署
- kunpeng-sc
- kunpeng-sc-devel
- 离线部署
- kunpeng-sc
- kunpeng-sc-devel
说明:
选择在线部署方式,服务器必须能连接外网,若隔离网络环境下就需要通过代理方式访问外网,具体请参照配置代理。
- 模板工程
- 机密数据保存工程创建成功后,单击“打开工程”,可直接在本窗口打开工程。图6 打开机密数据保存工程
图7 查看机密数据保存工程
- 创建成功后的工程可使用编译调试工具进行编译调试。详细参考工程文件夹中的README文件。图8 data-sealing_README
编译完成后需参考“运行安全计算应用指导”,将编译生成的文件拷贝至指定目录。
- 需要进行加解密操作时,在目标服务器命令行中输入“/vendor/bin/data-sealing encrypt -k xxx -f xxx”进行加密操作;命令行中输入“/vendor/bin/data-sealing decrypt -k xxx -o xxx”进行解密操作。图9 加解密命令
图10 加密
图11 解密
- 命令只能是“encrypt”和“decrypt”,参数为“-h”时打印帮助信息并退出。
- 加密时,命令参数“-k”后指定小于128字符的字符串类型,参数“-f”不能为空,后指定的文件内容大小不超过4096字节。
- 解密时,命令参数“-k”后指定小于128字符的字符串类型,解密成功时输出到参数“-o”后指定的文件路径中。
- 进行加解密操作时,操作者必须确保其有执行应用的权限。
父主题: TEE GP应用