一种简易的嵌入式可信终端系统及方法技术方案

技术编号:8801320 阅读:387 留言:0更新日期:2013-06-13 05:57
本发明专利技术公开了一种简易的嵌入式可信终端系统及其方法,包括只读存储器ROM、TPM芯片、NAND?Flash和CPU;将启动加载程序Bootloader和操作系统内核烧录到ROM中;将应用程序、用户数据存放于NandFlash中;TPM设备驱动程序还具有TPM字节流发生器的功能;在TPM设备驱动程序中加入并发访问技术,使不同的进程能够有序访问TPM芯片,确保TPM芯片的可靠性和高效性;TPM设备驱动程序运行在操作系统的内核态,多个进程对同一个内核模块进行访问,比多个进程对同一个守护进程访问的效率高很多。

【技术实现步骤摘要】

本专利技术涉及嵌入式数据终端
,尤其涉及的是。
技术介绍
嵌入式数据终端主要负责采集、存储和传输数据。存储和传输环节都需要进行数据加密,防止用户隐私信息和重要传感器数据的泄露。传统方法采用纯软件的方式,对于大量数据,为了提高加密解密速度,通常使用一种对称加密算法将原始数据映射到密文空间后存储或传输。由于现代密码学算法公开的特点,密钥才是真正要保护的对象,由于操作系统和应用程序往往存在漏洞,纯软件方式实现的安全策略不能从根本上有效保护密钥。因此常常借助可信计算的思想,通过扩展TPM芯片来实现密钥的存储、证书签名、平台配置信息的存储和验证等等。可信计算技术是由可信计算组织(TCG)组织发起的,旨在通过软硬件相结合的方式加强信息安全,可信计算的保护范围涉及从服务器、桌面工作站、嵌入式设备等各种平台,为了兼容性和完善性的考虑,可信计算组织采用了可信计算软件栈(TSS)的形式规范了实施细节。TSS功能完善,函数和接口复杂庞大。可信平台模块:TPM(Trusted Platform Module)安全芯片,是指符合TCG标准的安全芯片,它能有效地保护PC、防止非法用户访问。平台配置寄存器(PCR):平台配置寄存器位于TPM芯片内部,是用来记录系统运行状态的寄存器。平台配置信息包含相当大的数据,如操作系统内核镜像、应用程序的二进制可执行代码等,TPM能存储的信息容量有限,只能存储平台运行状态的摘要,TPM中常用的摘要算法是SHA-1。对称加密:用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。由于其速度快,对称性加密通常适用于加密大量数据。所谓对称,就是采用这种加密方法的双方使用同样的密钥进行加密和解密,因此对称式加密本身不是安全的。非对称加密:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。本专利技术中用到的非对称加密算法是RSA,公钥和私钥被称为RSA密钥对。数据密封:密封是指在加密消息的同时加入平台状态信息,如某些平台配置信息PCR值及平台验证信息。在解密时首先判断解密方的平台状态是否与加密时的平台状态一致,如果一致对消息解密,否则消息不被解密。数据解封:数据密封的逆过程,即解密操作。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足提供。本专利技术的技术方案如下:一种简易的嵌入式可信终端系统,包括只读存储器ROM、TPM芯片、NAND Flash和CPU ;将启动加载程序Bootloader和操作系统内核烧录到ROM中;将应用程序、用户数据存放于NandFlash中;仅仅保留TPM设备驱动程序一层,TPM设备驱动程序直接访问TPM芯片,同时应用程序能够直接通过输入输出控制(ioctl O )系统调用访问TPM设备驱动程序;TPM设备驱动程序还具有TPM字节流发生器的功能,应用程序只需要提供自定义命令和参数就可以访问TPM芯片;在TPM设备驱动程序中加入并发访问技术,使不同的进程能够有序访问TPM芯片,确保TPM芯片的可靠性和高效性;TPM设备驱动程序运行在操作系统的内核态,多个进程对同一个内核模块进行访问,比多个进程对同一个守护进程访问的效率高很多。所述的嵌入式可信终端系统,所述TPM芯片采用AT97SC3204T,该芯片通过IIC总线接口和CPU进行通信。所述的嵌入式可信终端系统的工作方法,包括以下步骤:Al、系统上电后,CPU首先从只读存储器ROM的0x00000000地址处取出第一条指令执行;A2、启动加载程序Bootloader对CPU和外围芯片进行初始化,并建立设置堆栈,之后设置启动参数,加载Linux操作系统内核;A3、操作系统内核启动时会逐个加载TPM设备驱动程序,当TPM设备驱动程序加载完成后,TPM正常工作;A4、接下来,操作系统内核会对根文件系统中的重要文件进行完整性度量,借助驱动程序将度量值扩散到TPM的PCR寄存器当中,实现可信启动;A5、启动应用程序;A6、应用程序通过系统调用接口与TPM芯片通讯,完成可信计算相关的功能;A7、如果应用程序需要更新,则首先确保终端处于可信状态,释放出所有密封过的密钥,向内核申请重新度量文件系统,最后重新密封所有密钥。所述的工作方法,所述应用程序通过两种方式调用TPM,第一种方式,通过写(write O )系统调用发送原始字节流;第二种方式,通过输入输出控制(ioctl O )系统调用发送上层命令给TPM设备驱动程序,TPM设备驱动程序根据上层命令的参数构建字节流;输入输出控制(ioctl O )系统调用的参数使用结构体表示,结构体中包含了传入参数缓冲区地址,传入参数大小,返回值缓冲区地址,返回值缓冲区大小等信息。所述的工作方法,通过CMD_RSA、CMD_SEAL命令实现数据加密的流程如下:B1、内核进行文件系统度量,度量值存放于PCR中,此步骤在终端启动时自动完成;B2、生成对称密钥randKey,只需要生成一个随机数即可;如果借助TPM生成随机数,可以采用TPM_GetRandom命令,通过读(read O )或写(write O )系统调用实现;B3、调用CMD_RSA命令,生成RSA密钥对sealKey,该密钥用于对randKey进行密封;B4、调用CMD_SEAL命令,TPM内部会将randKey和PCR值绑定,然后用sealKey的公钥部分对randKey密封,得到randKey* ;B5、使用randKey对原始数据data进行加密,得到data* ;B6、将randKey*、data*以及sealKey的公钥部分存储在文件系统中;通过CMD_UNSEAL命令实现数据解密的流程如下:Cl、内核对进行文件系统度量,度量值存放于PCR中,此步骤在终端启动时自动完成;C2、从文件系统中读取randKey* ;C3、调用CMD_UNSEAL命令,TPM内部会使用sealKey的私钥部分对randKey*解封,如果PCR值与密封时相同,贝U释放出randKey,否则,randKey*无法解封;C4、使用randKey对data*进行解密,得到原始数据data。本专利技术只采纳了可信计算最核心的思想,将复杂操作交给TPM设备驱动程序处理。硬件上,仅仅扩展了 TPM芯片,并加入了一片ROM存放引导加载程序和操作系统内核。对TPM设备驱动程序的功能进行增强,将原本TSS需要完成的复杂功能裁剪整合,移交给驱动程序处理。这种方式结构简洁,多进程访问效率更高。附图说明图1为可信数据采集终端硬件结构图;图2为可信数据终端工作流程图;图3为应用程序、驱动程序、TPM芯片调用关系图;图4为数据密封和解封示意图。具体实施例方式以下结合具体实施例,对本专利技术进行详细说明。参考图1,可信数据采集终端硬件结构图,在传统的嵌入式硬件电路的基础上,增加了只读存储器R0M,并将启动加载程序(Bootloader)和操作系统内核烧录到ROM中;将应用程序、用户数据等存放于NandFlash中;仅仅保留TPM设备本文档来自技高网
...

【技术保护点】
一种简易的嵌入式可信终端系统,其特征在于,包括只读存储器ROM、TPM芯片、NAND?Flash和CPU;将启动加载程序Bootloader和操作系统内核烧录到ROM中;将应用程序、用户数据存放于NandFlash中;仅仅保留TPM设备驱动程序一层,TPM设备驱动程序直接访问TPM芯片,同时应用程序能够直接通过输入输出控制(ioctl())系统调用访问TPM设备驱动程序;TPM设备驱动程序还具有TPM字节流发生器的功能,应用程序只需要提供自定义命令和参数就可以访问TPM芯片;在TPM设备驱动程序中加入并发访问技术,使不同的进程能够有序访问TPM芯片,确保TPM芯片的可靠性和高效性;TPM设备驱动程序运行在操作系统的内核态,多个进程对同一个内核模块进行访问。

【技术特征摘要】
1.一种简易的嵌入式可信终端系统,其特征在于,包括只读存储器ROM、TPM芯片、NANDFlash和CPU ;将启动加载程序Bootloader和操作系统内核烧录到ROM中;将应用程序、用户数据存放于NandFlash中;仅仅保留TPM设备驱动程序一层,TPM设备驱动程序直接访问TPM芯片,同时应用程序能够直接通过输入输出控制(ioctl O )系统调用访问TPM设备驱动程序;TPM设备驱动程序还具有TPM字节流发生器的功能,应用程序只需要提供自定义命令和参数就可以访问TPM芯片;在TPM设备驱动程序中加入并发访问技术,使不同的进程能够有序访问TPM芯片,确保TPM芯片的可罪性和闻效性;TPM设备驱动程序运行在操作系统的内核态,多个进程对同一个内核模块进行访问。2.根据权利要求1所述的嵌入式可信终端系统,其特征在于,所述TPM芯片采用AT97SC3204T,该芯片通过IIC总线接口和CPU进行通信。3.根据权利要求1所述的嵌入式可信终端系统的工作方法,其特征在于,包括以下步骤: Al、系统上电后,CPU首先从只读存储器ROM的0x00000000地址处取出第一条指令执行; A2、启动加载程序Bootloader对CPU和外围芯片进行初始化,并建立设置堆栈,之后设置启动参数,加载Linux操作系统内核; A3、操作系统内核启动时会逐个加载TPM设备驱动程序,当TPM设备驱动程序加载完成后,TPM正常工作; A4、接下来,操作系统内核会对根文件系统中的重要文件进行完整性度量,借助驱动程序将度量值扩散到TPM的PCR寄存器当中,实现可信启动; A5、启动应用 程序; A6、应用程序通过系统调用接口与TPM芯片通讯,完成可信计算相关的功能; A7、如果应用程序需要更新,则首先确保终端处于可信状态,释放出所有密封过的密钥,向内核申请重新度量文件系统,最后重新密封所有密钥。4.根据权利要求3所述的工作方法,其特征...

【专利技术属性】
技术研发人员:李美玲田文艳罗洪达董增寿牛丹丹任昭晶
申请(专利权)人:太原科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1