针对工业4.0等具有强安全需求、计算功能相对固定的新型信息化应用场景,基于白名单思想提出了1种移动嵌入式平台可信代码执行方案.利用ARM Trustzone硬件隔离技术构建可信执行环境,结合ARM虚拟内存保护机制,构造内核飞地,确保系统监控模块无法被不可信内核篡改或绕过.以此为基础为可信进程提供可执行文件完整性、运行时代码完整性、控制流完整性3种层次的白名单保护,确保设备只能执行符合白名单策略的授权代码.通过构建通信客户端进程与Trustzone安全世界的安全共享内存区,利用Trustzone对外设中断事件的控制能力构建可信时钟中断源,确保Trustzone安全世界与中控服务器通信的隐私性、不可屏蔽性.在此基础上设计安全的白名单更新与平台状态证明协议.在真实设备上实现了原型系统,实验结果证明了该方案的安全性和较为理想的运行效率.
We propose a secure scheme for trusted code execution on mobile embedded devices based on the idea of program whitelist,which is focus on the application scenarios with strong security requirements and fixed calculation functions,such as industrial 4.0and"bring your own device".We leverage the trusted execution environment provided by ARM Trustzone and the virtual memory protection mechanism of ARM to build an enclave in the OS kernel’s address space,which cannot be tampered by the untrusted OS kernel itself.Some monitor functions are placed in the enclave to provide integrity protection for executable files,runtime code and runtime control flow of trusted processes,ensuring that only authorized code complying with the whitelist strategy can be executed on target devices.The sheme also enhances the security for communications between the target devices and the center control server by building secure shared memory areas between communication client processes and Trustzone secure world,and by building a trusted timer interrupt source in Trustzone secure world.Secure protocols for whitelist update and platform status attestation are proposed based on these security enhancements. We implement the prototype system on real Trustzone-enable hardware devices.The experimental results show that our scheme achieves ideal usability,security and efficiency.