#技术资源# 可信计算应用入门 2015年TPM 2.0 library specification(Trusted Platform Module)正式成为国际标准ISO/IEC11889,首次成体系支持中国密码算法体系,包括SM2/SM3/SM4密码算法。这是中国密码算法技术和标准的又一次重要突破,也是中国信息安全标准在国际标准化工作中的重要进展。 ISO/IEC 11889标准带来哪些好处? ISO/IEC 11889的核心在于一颗可信密码安全芯片,它可有效阻止硬件设备运行非法程序,包括BIOS级别,外设固件级别的恶意程序;能有效的保护具有计算能力的设备,防止非法用户/设备访问;提供物理安全级别的敏感数据的加密保护,保护加密密钥,安全配置策略等信息。软件方式的数据盗取,通信链路上的中间人和重放攻击,以及本地物理现场的探针、抛片等物理攻击方式对可信安全芯片来说都不管用。ISO/IEC 11889 支持中国商用密码算法体系(SM2/SM3/SM4),使得在数据安全保护上更加牢不可破。 可信计算的应用场景是什么? 有计算能力的设备都可使用可信计算,例如小型机、服务器、台式机、笔记本、平板电脑、智能手机、打印机、手写板、工业控制系统、电动汽车控制系统、IoT设备等,用途非常广泛。 拥有自己的TPM应用,就不用操心防御中间人攻击,重放攻击,字典攻击这些问题,采用TPM协议不管走到网络的那个角落都不会遭受到这些攻击,即使TPM指令的通信传输协议不加密。 快速入门 如何快速建立基于ISO/IEC11889标准的学习、开发与应用环境呢?下面我们以国民技术Z32H330TC芯片为例,做一详细介绍: 1 硬件平台:中国型号的Surface Pro 5/6/7/8/9,Surface book内嵌了国民技术的TPM 2.0密码安全芯片,更多平台也已经支持。 2 安全BIOS:BIOS中的度量应用安全机制在您购买的硬件设备上已经集成啦,可以抵御badBIOS这样的恶意攻击。当然有研究精神的小伙伴可以研究下BIOS中的TPM 2.0开发,您参考下面链接,它提供了TPM2.0的BIOS驱动和TREE操作代码。 https://svn.code.sf.net/p/edk2/code/branches/UDK2015/SecurityPkg/Tcg/ 3 OS驱动:Linux Kernel 4.0开始支持TPM 2.0芯片,如Ubuntu 20.04, Fedora 等,完美支持国民技术Z32H330TC芯片。
TPM中间件:开源项目TPM2.0-TSS实现了TPM2.0的各种API: n Feature API n Enhanced System API n TPM Command Transmission Interface (TCTI) n Trusted Access Broker/Resource Manager(TAB/RM) 从下面的链接获取完全的资源,依照INSTALL安装编译: 以管理员权限resourcemgr成功运行中间件,"Initializinglocal TPM Interface"提示成功找到物理TPM驱动,现在有API啦,试试吧。 软件工具: 开源项目TPM 2.0 Tool在TSS 2.0基础上包装了常用的TPM 2.0功能,可以直接使用。功能包括: ─ NV Tool: 芯片内部用于用户使用的存储空间的操作,包括定义分配存储区/释放存储区/读存储区/写存储区/所有存储区列表/锁定存储区读等操作。 ─ 证明工具:包括声明所有者/获取平台背书密钥公钥/获取芯片生产商/获取身份密钥公钥/身份密钥解析/生成身份报告凭据请求/激活身份报告凭据/平台配置寄存器列表/平台状态引证。 ─ 密钥管理工具:生成主密钥/存储密钥/密钥生成/密钥对象加载/外部密钥对象加载。 ─ 加密工具:对称加/解密、RSA加/解密、数据封装。 ─ 签名工具:签名/验签 (RSA,ECC,SM2)、密钥来源证明。 ─ 其他工具:获取随机数/计算Hash值/计算HMAC/读取密钥公钥对象。 以上常用的安全操作、密码服务操作非常齐全,快快动手开发自己的TPM应用吧,TPM 2.0 Tool资源可从下面链接获取: https://github.com/tpm2-software/tpm2-tools 开源项目对TPM 2.0的支持显示出ISO/IEC11889标准强大的生命力,为新一代标准的广泛应用奠定了基础,也为安全可信应用系统开发提供了高端体验。
|