首页> 中国专利> 基于可信嵌入式平台的移动设备及其安全存储方法

基于可信嵌入式平台的移动设备及其安全存储方法

摘要

本发明提供了基于可信嵌入式平台的移动设备及其安全存储方法。本发明包括嵌入式平台和加解密芯片,还包括TPM模块,嵌入式平台、TPM模块、加解密芯片均和高速总线相连。该设备及其存储方法根据嵌入式系统的特点,将嵌入式平台、TPM可信平台模块和硬件加密芯片结合在一起,有效地解决密钥安全存储的问题,突破了嵌入式系统与加密引擎的传输速度瓶颈,能够保证加解密操作的可靠环境。

著录项

  • 公开/公告号CN101430747A

    专利类型发明专利

  • 公开/公告日2009-05-13

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN200810197078.1

  • 申请日2008-09-26

  • 分类号G06F21/00(20060101);

  • 代理机构42102 湖北武汉永嘉专利代理有限公司;

  • 代理人王守仁

  • 地址 430072 湖北省武汉市武昌区八一路299号

  • 入库时间 2023-12-17 21:57:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-09-07

    授权

    授权

  • 2009-07-08

    实质审查的生效

    实质审查的生效

  • 2009-05-13

    公开

    公开

说明书

技术领域

本发明涉及计算机信息安全技术领域,特别是涉及一种基于可信嵌入式平台的移动设备的数据安全存储。

背景技术

移动设备PDA(个人数字助理)是个人的数字助理,其内部包含有大量的私人信息和关键数据。移动设备可能遗失和被窃,如果数据在其存储介质中以明文方式保存,则易导致信息泄露。移动设备使用的嵌入式系统对重要机密数据的保护多以PIN码的形式实现,目前推出的加密存储保护也存在密钥存储和加解密操作环境不安全等问题。且嵌入式系统的资源有限,加解密操作会对系统的性能有所损耗。如何针对嵌入式系统的特点,提高加解密速度,同时在保证密钥的安全存储环境下进行加解密操作,这是数据安全存储所面临的一个主要难题。

可信计算平台是一种可以考虑的解决方案,可信计算平台的核心是可信平台模块(Trusted Platform Module,TPM)[1],是一个含有密码运算部件和存储部件的小型SoC片上系统。目前市场上尚未出现基于TPM芯片的可信PDA等移动设备。

TPM的安全存储功能是利用一种树形密钥结构实现的。其树的根节点是永远储存在TPM中的存储根密钥(Storage Root Key,SRK)。包含TPM的系统可以通过SRK创建密钥并对其进行加密,使其只能通过TPM解密。这一过程通常称为打包或绑定密钥,有助于防止密钥泄露。TPM中创建的密钥对的私钥部分决不会暴露给任何其他组件、软件、进程或个人。

在TPM规范中,TPM提供平台绑定功能,即将秘密信息绑定到特定平台。TPM可将这些秘密数据连同一个或几个PCR值封装在一起作为一个整体进行加密处理。加密密钥作为需要TPM保护的秘密信息,也可以与PCR值绑定。当前的身份验证一般使用PIN码或是USB Key设备,前者容易被暴力破解或由于用户的安全意识不足而泄露,后者是单独的物理身份验证元素,难以缓解用户同时丢失PDA和USB设备的风险。而指纹识别等用户生物信息基于人体生物信息的唯一性与特定性进行身份确认,在一定程度上杜绝了身份信息泄漏和遗失。而现在尚未有将用户生物信息绑定到特定平台的应用。

TPM将数据与特定的密钥及平台状态绑定在一起,只有被授权的用户,使用该密钥在相同的平台状态下才可以解密被加密的数据。有关平台特定的硬件或软件配置信息可以实现这种逻辑绑定,这些配置信息通过TPM软件栈来收集,然后被存储到TPM内部的PCR(PlatformConfiguration Registers,平台配置寄存器)中。TPM将密钥数据连同一个或几个PCR值合在一起,作为一个整体进行加密处理。当存取被保护的密钥数据时,TPM需要首先计算对应的平台配置信息,如果一致则允许访问。对于加密文件系统中被加密的文件密钥,当只有在此平台上且平台当前的配置信息与加密时指定的配置信息相符时才能够解密此数据。

由于嵌入式系统专用性强,资源有限,要对大批量数据进行加解密操作势必影响其执行效率。如果使用硬件加解密芯片实现密码算法,由于硬件实现的高速及高效的处理能力,可以大大减轻处理器的负担,较之软件加密速度快100多倍,极大提高了系统的性能。但目前的嵌入式系统与加密引擎的传输速度存在瓶颈,也不能保证加解密操作的可靠环境。

发明内容

本发明所要解决的技术问题是:提供一种基于可信嵌入式平台的移动设备及其数据安全存储方法。该设备及其存储方法根据嵌入式系统的特点,将嵌入式平台、TPM可信平台模块和硬件加密芯片结合在一起,有效地解决密钥安全存储的问题,突破了嵌入式系统与加密引擎的传输速度瓶颈,能够保证加解密操作的可靠环境。

本发明所采用的技术方案是:基于可信嵌入式平台的移动设备,包括嵌入式平台和加解密芯片,还包括TPM模块。嵌入式平台、TPM模块、加解密芯片通过高速总线相连。

基于可信嵌入式平台的移动设备的安全存储方法,包括用户层、系统调用层、文件系统层、页高速缓冲层、通用块层、IO调度层、块设备驱动层、物理块设备层。用户层、系统调用层、文件系统层、页高速缓冲层依次双向传递信息,通用块层、IO调度层、块设备驱动层、物理块设备层依次双向传递信息。本移动设备还包括加解密模块和密钥管理模块。加解密模块从密钥管理模块获取密钥,加解密模块还通过加解密芯片驱动向加解密芯片传递数据。密钥管理模块依次通过TSS密钥安全存储接口、可信设备驱动库函数TDDL和可信设备驱动TDD,从TPM模块获取文件级密钥FEK。页高速缓冲层和通用块层都和加解密模块双向通信。

本发明提供的方法与现有技术相比具有以下的主要优点:

1.在密钥管理方面,实现三层密钥管理体系,上层密钥加密下层密钥,绑定了可信平台环境,实现了更高的安全性。

2.在密钥保护措施方面,将密钥和存储在TPM内部的用户身份验证授权信息进行绑定,提高了系统的安全强度。

3.硬件加密芯片通过国家商务密码算法SMS4[2]实现加解密操作,且加密芯片连接在高速总线上,解决了嵌入式系统与加密引擎的传输速度瓶颈问题,可在物理上保证高度安全的数据存储。

附图说明

图1是本发明的功能结构

图2是TPM模块密钥管理的体系结构。

图3是密钥管理模块获取文件级密钥的流程。

图4是基于可信嵌入式平台的移动设备的体系结构。

图5是加密流程框图。

图6是解密流程框图。

具体实施方式

本发明提出了基于可信嵌入式平台的移动设备及其安全存储方法。本发明的原理是根据嵌入式系统的特点,将嵌入式平台、TPM硬件模块和由现场可编程门阵列(Field ProgrammableGate Array,FPGA)制得的硬件加密芯片结合在一起,改写嵌入式操作系统Linux内核代码,在Linux访问文件的流程中,密钥模块使用TSS密钥安全存储接口访问TPM芯片,利用其硬件安全存储以及平台绑定功能安全获取文件级密钥FEK,加解密模块调用硬件加密芯片通过FEK完成对数据的加解密操作,从而实现对数据的机密性保护。

在嵌入式系统中,内部总线的传输速度最高,而且其时钟频率也不高,普通FPGA都可以在该频率下稳定工作,因此,可将FPGA加解密引擎设计为嵌入式系统的高速设备,接在其系统总线上。体系结构如图4所示,本发明的移动设备包括嵌入式平台和加解密芯片(如FPGA),还包括TPM模块。嵌入式平台、TPM模块、加解密芯片通过内部高速总线相连。如图4所示,嵌入式平台可包括处理器CPU、作为内存的非易失性存储器(如Nand Flash)。TPM模块和加解密芯片构成加密引擎。内部总线通过桥接器(Bridge)和外部总线相连。IIC总线和USB等外接设备接在外部总线上。

本移动设备的功能体系结构如图1所示。基于可信嵌入式平台的移动设备的安全存储方法,包括用户层、系统调用层、文件系统层、页高速缓冲层、通用块层、IO调度层、块设备驱动层、物理块设备层。用户层、系统调用层、文件系统层、页高速缓冲层依次双向传递信息,通用块层、IO调度层、块设备驱动层、物理块设备层依次双向传递信息。本移动设备还包括加解密模块和密钥管理模块。加解密模块从密钥管理模块获取密钥,加解密模块还通过加解密芯片驱动向加解密芯片传递数据。密钥管理模块依次通过TSS密钥安全存储接口、可信设备驱动库函数TDDL和可信设备驱动TDD,从TPM模块获取文件级密钥FEK。页高速缓冲层和通用块层都和加解密模块双向通信。

基于可信嵌入式平台的移动设备的安全存储方法,包括加密和解密流程。

如图5所示,加密流程包括以下步骤:

a1)用户进程发出写请求。

a2)根据步骤a1)的写请求,块设备驱动层请求处理函数将数据写入通用块层,同时页高速缓冲层捕获对通用块层的访问。

a3)密钥管理模块通过TPM模块进行验证,若验证通过则获取文件级密钥FEK,若验证未通过则转至步骤a6)。

a4)加解密模块调用加解密芯片,使用步骤a3)所得FEK对页高速缓冲层中明文进行加密。

a5)页高速缓冲层将加密的缓冲区块提交给块设备驱动层,然后写入设备,结束加密流程。

a6)加密失败,结束加密流程。

如图6所示,解密流程包括以下步骤:

b1)用户进程发出读请求。

b2)根据步骤b1)的读请求,通用块层从物理块设备层读取密文数据到缓冲区,通用块层在I/O完成方法中截获对页高速缓冲层的读取。

b3)密钥管理模块通过TPM模块进行验证,若验证通过则获取文件级密钥FEK,若验证未通过则转至步骤b6)。

b4)加解密模块调用加解密芯片,使用步骤b3)所得FEK对页高速缓冲层中密文进行解密。

b5)步骤b4)完成后,通过系统调用层将页高速缓冲层状态设置成刷新、解锁后,使明文数据被用户可读。然后结束解密流程。

b6)解密失败,结束加密流程。

密钥管理如图2示。对于密码体制,加密密钥的安全性是整个系统安全性的关键,其主要体现在密钥生成、存储和密钥粒度等方面。所以加密系统需要一个可信的根,而其他应用密钥都以此可信密钥根加密存储。本发明中实现三层密钥管理体系,各级密钥层层加密,绑定了可信平台环境,实现了更高的安全性。

TPM芯片内部的加密过程与操作系统是隔离的,与系统软件实现的加密函数相比,硬件级的保护,传统的攻击方法将难以窃取敏感数据,TPM加密具有更高的安全性。且加解密操作的环境受到了平台绑定的保护,更加安全可靠。

本系统采用链式加密方法来保护密钥和文件。如图3所示,使用的各参数说明:

VEKAuth:被SRK加密的用户级密钥的授权。

VEKHandle:VEK加载后返回的句柄。

DataAuth:FEK作为一个加密数据的使用授权。

PcrSelect:所选择的PCR标记,即平台配置。

PcrValue:所选择的PCR的值。

PcrInfo:PcrSelect和PcrValue的封装。

FEK:文件级密钥。

SealedData:FEK和PcrInfo被TPM_Seal命令密封后生成的数据块。

具体而言,在加密和解密流程之前还包括以下密钥生成步骤:

c1)通过厂商的配置得到TPM模块的所有者(owner)权限,生成存储根密钥SRK。

c2)由TPM模块通过SRK创建一个密钥作为用户级密钥VEK,VEK被以SRK作为父密钥的密钥树加密存储在TPM模块内部。

c3)通过内核函数初始化生成文件级密钥FEK。为提高安全性,生成文件级密钥FEK的算法可使用快速而安全的对称加密算法——商用密码标准SMS4,相应的生成FEK的内核函数为get_sms4key()。然后将FEK和平台配置信息PcrInfo封装在一起,其中PcrInfo又包括PcrSelect和PcrValue。最后由TPM_Seal命令,将封装后的数据通过相应对称加密算法,使用VEK加密为封装数据SealedData。SealedData存贮在非易失性存储器中。

且步骤a3)和b3)的具体步骤包括:

d1)根据操作系统的命令,密钥安全存储模块上的TSS密钥安全存储接口发出TPM启封指令TPM_Unseal,将验证参数通过传输模块传入TPM模块。其中验证参数包括VEKAuth、VEKHandle、DataAuth和SealedData。

d2)根据VEK句柄VEKHandle,在以SRK为父密钥的密钥树中找出加密存储的VEK节点,然后验证VEK使用授权VEKAuth,若验证成功,解密得到VEK,若验证不成功,转至步骤d5)。

d3)验证FEK使用授权DataAuth,若验证成功,通过VEK解密d1)所得封装数据,得到FEK和平台配置信息PcrInfo,若验证不成功,转至步骤d5)。

d4)验证步骤d3)所得平台配置信息PcrInfo(包括PcrSelect和PcrValue)的正确性,若验证成功,将结果FEK传出,若验证不成功,转至步骤d5)。

d5)验证未通过,转相应处理。

加密密钥是加密解决方案的依据,为了增强密钥的保护力度,本发明中将密钥和存储在TPM内部的用户身份验证授权信息进行绑定,提高了系统的安全强度,即前述步骤c3)中,平台配置信息包含用户生物信息。

本发明可将用户身份验证信息——指纹特征码的HASH值保存在TPM的平台配置注册表PCR中,由TPM校验其完整性从而保证了指纹校验模块的安全性,防止了对指纹验证模块的恶意攻击或对指纹特征码的篡改导致的身份信息泄露。同时将用户唯一的生物特征指纹特征码和密钥紧密地绑定起来,从而使用户身份与其加密密钥之间的联系大大增强,只有被授权的用户,当只有在此平台上且平台当前的配置信息与加密时指定的配置信息相符时才能够解密得出加密密钥。

加密的介质存储容量相对于普通PC的硬盘来说较小,所以可采用加密整个介质的方式,即在前述加密流程的步骤a4)中对明文所在的整个存储介质进行加密,加密内容包括分区表、文件分配表和文件内容。这样即可防止攻击者通过分析磁盘介质的任何部分来恢复有用信息,而不用恢复密钥。

实施例:

如图4所示,本发明的移动设备包括嵌入式平台和由FPGA制得的加解密芯片,还包括TPM模块。嵌入式平台、TPM模块、加解密芯片通过内部高速总线相连。嵌入式平台包括CPU、非易失性存储器Nand Flash。TPM模块和加解密芯片构成加密引擎。内部总线通过桥接器Bridge和外部总线相连。IIC总线和USB等外接设备接在外部总线上。

本移动设备的功能体系结构如图1所示。基于可信嵌入式平台的移动设备的安全存储方法,包括用户层、系统调用层、文件系统层、页高速缓冲层、通用块层、IO调度层、块设备驱动层、物理块设备层。用户层、系统调用层、文件系统层、页高速缓冲层依次双向传递信息,通用块层、IO调度层、块设备驱动层、物理块设备层依次双向传递信息。本移动设备还包括加解密模块和密钥管理模块。加解密模块从密钥管理模块获取密钥,加解密模块还通过加解密芯片驱动向加解密芯片传递数据。密钥管理模块依次通过TSS密钥安全存储接口、可信设备驱动库函数TD DL和可信设备驱动TDD,从TPM模块获取文件级密钥FEK。页高速缓冲层和通用块层都和加解密模块双向通信。

基于可信嵌入式平台的移动设备的安全存储方法,包括密钥生成、加密和解密流程,如图2、3所示。

密钥生成流程包括以下步骤:

A1)在TPM模块中,通过厂商的配置得到TPM模块的所有者(owner)权限,生成存储根密钥SRK。

A2)由TPM模块通过步骤A1)所得SRK创建一个密钥作为用户级密钥VEK,VEK被以SRK作为父密钥的密钥树加密存储在TPM模块内部。

A3)通过内核函数get_sms4key(),使用商用密码标准SMS4生成文件级密钥FEK。然后将FEK和TPM模块的平台配置信息PcrInfo封装在一起,其中PcrInfo包括PcrSelect和PcrValue,含有用户指纹特征码的HASH值。封装后的数据再由TPM_Seal命令,通过步骤2)所得VEK加密生成SealedData。SealedData存贮在内存Nand Flash中。

加密流程包括以下步骤:

B1)用户通过指纹登录,由用户进程发出写请求。

B2)根据步骤B1)的写请求,块设备驱动层请求处理函数将数据写入通用块层,同时页高速缓冲层捕获对通用块层的访问,得到需要加密的明文数据和验证参数。其中验证参数包括VEKAuth、VEKHandle、DataAuth、密钥生成的步骤A3)所得封装数据SealedData。

B3)TSS密钥安全存储接口发出TPM启封指令TPM_Unseal,将步骤B2)所得验证参数传入TPM模块。

B4)TPM模块根据VEK句柄VEKHandle,在以SRK为父密钥的密钥树中找出加密存储的VEK节点,然后验证VEK使用授权VEKAuth,若验证成功,解密得到VEK,然后转至步骤B5),若验证不成功,转至步骤B9)。

B5)TPM模块验证FEK使用授权DataAuth,若验证成功,通过步骤B4)所得VEK解密步骤B2)的封装数据SealedData,得到FEK和平台配置信息PcrInfo,然后转至步骤B6),若验证不成功,转至步骤B9)。

B6)TPM模块验证步骤B5)所得平台配置信息PcrInfo的正确性,并进行用户指纹HASH比对。若验证成功,TPM模块通过密钥管理模块将B5)所得FEK传至加解密模块,然后转至步骤B7),若验证不成功,转至步骤B9)。

B7)加解密模块调用加解密芯片,使用步骤B6)所得FEK对步骤B2)的明文加密为缓冲区块。

B8)页高速缓冲层将加密的缓冲区块提交给块设备驱动层,然后写入存贮设备SD卡。写入过程中,对SD卡的整个存储介质进行加密,加密内容包括分区表、文件分配表和文件内容。

B9)加密失败,结束加密流程。

解密流程包括以下步骤:

C1)用户通过指纹登录,由用户进程发出读请求。

C2)根据步骤C1)的读请求,通用块层从物理块设备层(SD卡)读取密文数据和验证参数到缓冲区,通用块层在I/O完成方法中截获对页高速缓冲层的读取。其中验证参数包括VEKAuth、VEKHandle、DataAuth、密钥生成的步骤A3)所得封装数据SealedData。

C3)TSS密钥安全存储接口发出TPM启封指令TPM_Unseal,将步骤C2)所得验证参数传入TPM模块。

C4)TPM模块根据VEK句柄VEKHandle,在以SRK为父密钥的密钥树中找出加密存储的VEK节点,然后验证VEK使用授权VEKAuth,若验证成功,解密得到VEK,然后转至步骤C5),若验证不成功,转至步骤C9)。

C5)TPM模块验证FEK使用授权DataAuth,若验证成功,通过步骤C4)所得VEK,解密步骤C3)的封装数据SealedData,得到FEK和平台配置信息PcrInfo,然后转至步骤C6),若验证不成功,转至步骤C9)。

C6)验证步骤C5)所得平台配置信息PcrInfo的正确性,并进行用户指纹HASH比对。若验证成功,TPM模块通过密钥管理模块将C5)所得FEK传至加解密模块,然后转至步骤C7),若验证不成功,转至步骤C9)。

C7)加解密模块调用加解密芯片,使用步骤C5)所得FEK对步骤C2)的密文进行解密。

C8)通过系统调用层将页高速缓冲层状态设置成刷新、解锁后,使明文数据被用户可读。

C9)解密失败,结束解密流程。

本发明在内核合适的层次中插入加解密操作,屏蔽了具体文件系统的不同且充分利用Linux的缓冲机制,使系统具有通用性和高性能;将国家商务密码算法SMS4集成到硬件加密芯片中实现加解密操作,速度快于软件实现,且可在物理上保证高度安全的数据存储;在密钥管理方面,实现三层密钥管理体系,各级密钥层层加密,绑定了可信平台环境以及用户生物信息,实现了更高的安全性。

参考文献:

[1]Trusted Computing Group.TPM Main-Part1 Design Principles-SpecificationVersion1.2[EB/OL][2006-03-29]https://www.trustedcomputinggroup.org/specs/TPM/Main Part1 Rev94.zip.

[2]国家密码管理局,无线局域网产品使用的sms4密码算法,http://www.oscca.gov.cn/,2006年1月6日

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号