关于trustzone,个人理解如下,有些是猜测,欢迎拍砖、指正
可以简单理解为:原来arm linux只分用户态和内核态。下载分为3态,即用户态、内核态和安全态。
用户态通过系统调用进入内核态。内核态通过一条指令(具体指令不记得了)调用可以进入安全态。安全态下还分用户态和内核态。
如果使用trustzone属性,就必须从最初的启动使用,即安全启动,uboot和内核镜像都是加密的。并且,在最初启动时将硬件空间划分为安全的区域和非安全的区域。有安全要求的软件,如各种密钥管理,安全支付等,将在trustzone 区域运行。linux内核和用户程序将在非安全区域运行。
系统运行后,如果需要安装由安全要求的支付app,需要在linux内核态触发进入安全域,在安全域对app固件进行认证,只有认证成功(app固件中携带的秘钥和trustzone中匹配)才允许安装。
可以简单理解为:原来arm linux只分用户态和内核态。下载分为3态,即用户态、内核态和安全态。
用户态通过系统调用进入内核态。内核态通过一条指令(具体指令不记得了)调用可以进入安全态。安全态下还分用户态和内核态。
如果使用trustzone属性,就必须从最初的启动使用,即安全启动,uboot和内核镜像都是加密的。并且,在最初启动时将硬件空间划分为安全的区域和非安全的区域。有安全要求的软件,如各种密钥管理,安全支付等,将在trustzone 区域运行。linux内核和用户程序将在非安全区域运行。
系统运行后,如果需要安装由安全要求的支付app,需要在linux内核态触发进入安全域,在安全域对app固件进行认证,只有认证成功(app固件中携带的秘钥和trustzone中匹配)才允许安装。