zoukankan      html  css  js  c++  java
  • Trustzone——利用硬件对数据加密,秘钥存在芯片里

    我是看 https://zhuanlan.zhihu.com/p/26441212 这个文章知道trustzone自身会存储秘钥,这个秘钥可以来自用户指纹,也可以来自云端下发的key。

    Truztzone和已有trust computing比如TPM技术的区别。

    trustzone并没有打算取代TPM,它们关注的点不一样,TPM最关注的Key的安全,它的endorsement key从不会让外界知道,所以这个秘钥加密过的东西十分安全,你只有把密文扔给之前加密的那块TPM芯片才能解密。但是TPM没办法保护运行时的攻击,比如某个黑客直接在运行时进行破解,直接去内存访问你解密过的东西,那TPM秘钥就形同虚设了。Trustzone正好能保护这一点,即使黑客root了你的设备,他也没法访问trustzone里面保护的东西,只有生产者自己写的“trust”的代码模块才能访问。(因为OS是没法直接读取trustzone数据的!)而且一整套secure boot的技术保证了别人没法篡改你的代码image。然而trustzone也没有定义关于key保存的技术标准,所以它并不与TPM技术冲突,假如说SoC制造商即支持了trustzone,又实现了一套只有secure world才能访问的key存储技术,那么按理说这时候trustzone就能取代TPM了。那样trustzone看起来就像是一个超级功能的TPM,所有的安全操作都可以在里面完成(甚至键盘驱动,显示驱动等一条龙走到底都在安全世界里完成),攻击者就没任何办法拿到敏感信息。
    2.Trustzone技术的关键:隔离
    每个物理的处理器核提供两个虚拟核,一个是非安全核(Non-secure, NS),另一个是安全核(Secure, S),arm体系保证了很多硬件资源都是双份的,每个虚拟核独享自己的那份资源,大大简化了软件设计。在这二者之间切换的机制叫做monitor模式。NS核只能访问NS的系统资源,而安全核能访问所有资源。普通世界的软件可以使用SMC指令或者通过硬件异常机制的一个子集来进入到monitor模式,从而获取安全世界的服务。普通世界只能获取安全世界的服务,要想拿到点其他东西,就连门都没有了。
    CP15的SCR寄存器中有一个NS位代表了当前cpu所处的世界,NS=0表示安全世界,只有安全世界能修改SCR寄存器,另外,monitor模式下总是安全世界。
     
    TrustZone初探(一)
     
     
    参考:https://blog.csdn.net/u011279649/article/details/50935588
  • 相关阅读:
    数组添加元素到特定位置
    jquery $().each,$.each的区别
    JSON字符串 与 JSON对象 互转
    js 获取 url 参数
    js 获取随机数 Math.random()
    js中的|| 与 &&
    js立即执行函数
    css 蒙层
    css 多行文本的溢出显示省略号(移动端)
    移动端利用-webkit-box水平垂直居中(旧弹性盒)
  • 原文地址:https://www.cnblogs.com/bonelee/p/9069223.html
Copyright © 2011-2022 走看看