基于可信安全模型的可信计算机平台密钥管理

时间:2022-07-04 07:50:47

基于可信安全模型的可信计算机平台密钥管理

【摘要】基于可信安全模型的可信计算机平台框架是针对于软件安全防护存在的不足而提出的。并根据可信计算密钥管理的方法,进一步提出该平台的密钥管理体系,分别把密码算法,随机密钥生成以及密钥管理功能等植入可信安全模型环境。实现可信安全模型密钥管理体系的基本功能,并提出外部密钥存储管理及双端口密钥缓存管理的方案。

【关键词】可信安全模型;可信计算机平台;密钥管理

一、引言

一般传统系统安全防护是由病毒检测或防火墙等进行的,该技术以软件作为基础,防御是其主要的侧重点,因此防御措施日趋复杂和多样化,对系统的性能要求也不断上升,然而仍然存在着安全隐患。如今通常是,立足于软件防护的基础,增加硬件防护,并辅助于软件技术,从而大大提高系统安全性能。正如可信密码支撑平台恰恰可提供可靠的软件计算机平台和硬件计算机平台,它的核心是操作系统,技术支撑是密码学,利用认证技术来及解密技术来保障系统的安全[1]。

可信密码支撑平台核心是可信密码模块,可信密码模块利用多种模块为系统提供以下功能:

(1)TCM具有密钥以及敏感数据存储功能,安全性高,且能使存储的密钥或信息免于遭受破坏、泄漏等,实现存储。

(2)检验内部数据及外部实体是否正确。

(3)利用报告机制查询平台的可信性,创建可信身份,防止伪劣现象。

本文设计实现一种嵌入式双核可信安全模型(ETSM),此板卡运行的操作系统高度安全,插于PCI插槽,从而具备可信安全处理以及密码算法功能,并通过与Windows系统之间的协同处理,实现主机保护可信性,所以ETSM板卡其实就是TCM,在Windows主机插入此板卡后形成的可信计算平台。

二、基于可信安全模型的可信计算机平台

本文采用的硬件结构技术是依靠双处理器进行处理的,该Windows安全中断是双处理器双系统的,也就是硬件结构采用维持PC机软硬件不变并且增加ARM系统的方式[2]。

正如图1显示,从PCI插槽处将运行Linux系统的ARM板卡插入到Windows主机,ARM板卡和Windows主机之间通过PCI9054芯片连接在一起。随机数发生器模块、可信处理模块以及密码算法模块等全部都被集成进此板卡。ARM板卡双端口存储器是Windows及Linux系统开展内部数据通信的主要凭借,Windows主机同可信密码模块开展密钥管理凭借的缓冲存储器正是该双端口处理器,无疑该处理器是可信计算平台关键部分,授权数据、存储、以及密钥的加载的管理是主核Windows与辅核Linux两个系统凭借中断机制协同进行的。

三、密钥管理

HMAC-消息认证、SMS4-对称、SM2-椭圆曲线、SM3-杂凑等密码算法均可由可信密码模块提供。密钥是以上算法功能的共同基础,所以密钥管理对于整个可信计算平台安全性能起着决定性的作用。

1.总体密钥管理架构

树形结构是密钥在可信计算中的存储形式,整体密钥层次就是此结构,该结构根密钥也就是存储主密钥,其他密钥均以父密钥加密子密钥的方式保护根密钥,或直接或间接。本文就ETSM平台,以密钥树形结构为基础,凭借双核处理硬件结构,设计出可信计算机密钥体系总体框架结构,正如下图2显示。

随机数发生器和密码算法的特点是快速高效,产生真随机数,他是靠FPGA实现的,ETSM的基本可信密码算法就是由它提供的,同时数据加解密及随机数产生也是由它提供的。ETSM核心模块也就是ETSM密钥模块,它可按树形结构的管理方式有效的管理密钥生成、注册等。ETSM板卡与PC机之间通信枢纽是密钥双端口缓存管理,它担负数据和命令字之间的交换。ETSM生成加密的数据块是由外部数据库来存放的,同时需注用户册的密钥也是存储在这里的[3]。

2.ETSM密钥管理

可将可信密码模块密钥使用的围分成以下三类:

(1)包含密码模块密钥,平台加密密钥以及平台身份密钥的身份类密钥。

(2)例如SMK等的平台存储类密钥,它是保护用户密钥和PIK的主密钥,同时还是树结构根密钥。

(3)例如UK等的用户类密钥,此类密钥可实现用户密码功能,其中包含机密性以及身份认证等。

若信息系统中密钥为无限制类明文存储,那么不管访问控制有多复杂,特权用户投机存取密钥的现象总是无法避免,这严重威胁系统安全。所以通常在可信计算使用多级密钥管理,其中整个密钥层次根密钥、密钥存储关键为SMK,其他一切密钥都起保护作用。父密钥派生很多子密钥。子密钥存储是经父密钥加密的,在叶子节点处,密钥层次愈高安全性也就愈高,然而管理会变的更为复杂,通常三层就可达到安全要求。

密钥数据的实现与管理是ETSM密钥管理的核心。密钥数据结构正如表1所示,标识密钥为何种密钥的是algorithm字段,各子密钥均需父密钥加密,对SMS4密钥来说,整个密钥数据都需加密,然而SM2的公钥部分却不需加密。因父密钥可为SMS4或SM2中任意一种,所以必要密钥信息均是通过hSMS4Key与hSM2Key存放的。其中flag表明密钥是不是解密,1和0分别表示已解密和已加密。

ETSM板卡通过Tspi_Key_CreateKey函数生成指定密钥,生成的密钥是由父密钥加密的。通过Tspi_Key_LoadKey函数的调用使密钥加载至ETSM板卡之后才可使用,同时也只有父密钥对所需加载密钥解密之后才可正确加载[4]。

FPGA硬件是实现密钥生成的依赖条件,生成密钥后,只可由特定父密钥加密。同样,只有父密钥对加载密钥解密才可正确进行密钥加载。若密钥需授权,则必须设置正确授权数据才不会加载失败。

3.双端口密钥缓存管理

ETSM与PC机展开信息交换的关键就是双端口存储器,它可为上层程序提供可信保障。一旦用户动用ESPI函数,相应数据就被写入PC机Windows双端口存储器,ETSM板卡于内部请求相应处理后将结果返还给Windows。

双端口存储器一定要能够对各种命令加以区分,它的存储器格式如表2。

命令字段为密钥缓存重要组成,ETSM会在用户需要服务时依命令字段类型适当加以处理,表3可显示部分密钥相关定义。

4.外部密钥存储

ETSM中仅有SMK与EK存在可信模块内,其余密钥均在外部设备中。外部密钥只有在使用时才可被导入可信模块内部,使用完后再释放,从而大大节省空间。若想保存ETSM生成的密钥,可将其存在Windows磁盘保护空间,并分配独一无二的UUID号,以此对密钥进行操作。密钥可分对称密钥与非对称密钥两类。模块外部,密钥不可以明文存储,必须用密钥加密,为方便检索,可分四种情况存储[5]。

(1)父密钥是SMS4密钥的SMS4存储密钥

需存储密钥是128比特位,父密钥加密之后不会变化,此密钥存储格式简单,如表4所示以SMS4_SMS4.txt文件进行存储。

各密钥项以换行符在文件中隔开,便于存取。若父密钥ID是0,表明该密钥是由SMK主密钥加密的。子密钥ID若是0,表明无子密钥。

(2)父密钥是SM2密钥的SMS4存储密钥

SM2的公钥是256位的两个整数,共64字节,其非对称密钥部分不需加密,只需对其私钥部分进行保护即可。如表5所示该钥以SMS4_SM2.txt文件进行存储。

(3)父密钥是SMS4密钥的SM2存储密钥

非对称SM2密钥公钥部分共64字节,无需加密。然而其私钥部分利用SMS4算法存储加密之后变为32字节。该钥如表6所示以SM2 SMS4.txt文件进行存储。

(4)父密钥是SM2密钥的SM2存储密钥

SM2私钥部分存储时需用其父钥的公钥加密,加密以后共占128字节。然而其公钥则无需加密。该钥如表7所示以SM2_SM2.txt文件进行存储。

密钥产生存储是在可信模块内进行的,临时使用是不需存储的,仅当用户需存储密钥时,才需经双端口缓存存储。在模块内,将父密钥加密后的数据写入双端口,依长度的不同判断存入的文件。

5.系统测试

Linux的C编程已经实现此系统密钥管理及加密算法等模块,随机密钥也通过Altera FPGA逻辑设计实现生成模块。当ARM处理器内,完成密钥管理以及加密程序的加载后,客户应用程序在Windows系统下运行,从而搭成可信验证平台。凭借此平台信息的处理传递,从而验证方案是否准确[6]。

四、结束语

可信计算的实现离不开密钥管理。以可信安全模型为基础的可信计算平台的密钥管理具有十分重要的意义。我们应加大力度完善和开发该方面技术,从而真正实现网络和系统平台环境中信息的高度安全。

参考文献

[1]周毅,郑雪峰,于义科.分层可信计算平台模型的研究与实现[J].计算机应用研究,2010(27).

[2]魏晶晶.关于密钥管理在可信计算机平台中的应用探讨[J].科研发展,2011(11).

[3]兰帅.基于可信计算平台的密钥管理算法研究[J].长春理工大学学报,2011(05).

[4]蒋敏慧.可信计算平台的应用兼容性研究[J].北京工业大学学报,2009(07).

[5]罗捷,严飞,余发江,张焕国.可信计算平台模块密码机制研究[J].计算机应用,2008(28).

[6]张亮.浅论可信计算机平台密钥管理[J].计算机光盘软件与应用,2010(16).

上一篇:对传感器在机电产品中的使用调查与思考 下一篇:浅论智能公交云服务平台的建设