请选择 进入手机版 | 继续访问电脑版
查看: 3166|回复: 0

TinyTEE系列之四:手把手教你使用TinyTEE的安全存储功能

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32001
    最后登录
    2024-4-9
    发表于 2020-5-29 09:59:51 | 显示全部楼层 |阅读模式
    TinyTEE系列之四:手把手教你使用TinyTEE的安全存储功能


    本文是TinyTEE系列文章的第四篇,系列文章组成如下:
    ___________________________________________________________
    一《TinyTEE基本功能介绍
    介绍TinyTEE的基本功能及特点、TinyTEE解决了哪些物联网安全风险。

    二《TinyTEE与云服务,软硬结合保障物联网设备全链路安全
    介绍如何将TinyTEE与物联网云服务结合,研发高安全等级的物联网产品。

    三《TinyTEE与OTA,如何为LPC55Sxx安全远程升级?
    介绍如何将TinyTEE与固件升级功能结合,实现高安全等级远程升级方案。

    四《手把手教你使用TinyTEE的安全存储功能》
    介绍TinyTEE安全存储功能的方案实现与应用。

    五《手把手教你使用TinyTEE的数据加解密功能》
    介绍TinyTEE数据加解密功能的方案实现与应用。
    ___________________________________________________________
    1、简介

    物联网产品研发过程中,可能需要将一些重要数据持久的保存在flash中。

    比如我们在本系列第二篇《TinyTEE系列之二:软硬结合保障物联网设备全链路安全》这篇文章中提到过,每个物联网设备都有一个唯一的“数字证书”来证明自己的合法身份,云端只为合法设备提供服务,这个“数字证书”一般在出厂前写死在设备中,是不能泄露的,不然会有伪造设备上传非法数据的风险。

    再比如,给我们生活带来极大便利的智能门锁,用户无需随身携带钥匙,用APP生成一个密码就可以开锁了。在门锁端,开锁密码的生成一般与用户的用户ID、用户口令以及本地系统时间相关。用户ID与用户口令是非常敏感的数据,如何保证它们能安全的存储于芯片中,关系到整个智能门锁方案的安全等级。

    以上两个例子中的数据,数字证书、用户ID、口令,当然不能明文存储于flash中。那么,能否对它们进行加密,然后再保存至flash中呢?也不能,这样对加密密钥的存储又成了问题。

    安全存储是TinyTEE提供的一项基础且重要的功能,为用户提供一个安全存取数据的方式,可以用来保存密钥、隐私信息、敏感数据等内容,用户不用关心“怎么存”、“存在哪”等实现细节,只要调用相应接口就能轻松实现密钥的生成与管理,数据的加密与存储。

    2、GP规范

    GlobalPlatform(GP)是一个跨行业的国际标准组织,致力于开发、制定并发布安全芯片的技术标准,其工作重心主要集中在安全单元(SE)、可信执行环境(TEE)和系统消息(Mobile Messaging)等领域。GP规范规定了TEE解决方案的架构、接口、使用流程,无论是安全区还是非安全区,函数、参数、数据类型与结构体都有明确的定义,开发者可以使用这些规定的统一标准开发实际应用,由于标准统一,开发好的应用可以运行于不同的TEE解决方案中。
    TinyTEE中安全存储的接口遵循GP规范开发,支持的接口如下:


    1.png
    3、安全存储

    TinyTEE的安全存储模块帮助用户实现了密钥的生成与管理,数据的加密与存储功能。在生成密钥时,首先利用LPC55SXX系列的PUF生成HUK,由于PUF具备不可克隆特性,由其生成的HUK具有每个芯片独一无二的特点;接着使用芯片ID和HUK经HMAC算法计算得到SSK,SSK在每个芯片中也不同;最后使用SSK和TA的UUID经HMAC算法计算得到TSK,每个TA拥有不同的TSK,密钥生成方式及关系如下图:
    2.png
    用户基于不同TA调用安全存储接口存储重要数据时,安全存储模块会利用不同TA的TSK对数据进行AES加密,接着将加密后的数据存储于芯片非安全区flash中的文件系统中,加密及存储过程如下图:
    3.png
    4、视频演示

    5、名词解释

    PUF(PhysicalUnclonable Functions)物理层防克隆功能
    HUK(Hardware Unique Key) 硬件唯一密钥
    SSK(Secure Storage Key) 安全存储密钥
    TSK(Trustedapp Storage Key) 可信应用存储密钥
    HMAC(Hash-based Message AuthenticationCode)哈希运算消息认证码  


    文章出处:恩智浦MCU加油站

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-19 03:32 , Processed in 0.101752 second(s), 19 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表