可信计算下数据安全存储研究

2017-11-20 20:14胡如会贺道德
电脑知识与技术 2017年25期
关键词:数据加密

胡如会+贺道德

摘要:随着网络技术的发展,信息安全受到了极大的威胁。针对用户隐私数据在存储环境、存储方式和存储保障3个方面的问题,提出了一种基于可信计算技术的安全存储方案。该方案利用可信计算平台的完整性度量机制来建立可信存储环境,不仅使用了椭圆曲线加密机制为用户数据提供机密性保护,还利用了密钥树对加密数据的密钥进行管理。

关键词:可信计算;数据加密;安全存储;密钥树

中图分类号:TP309 文献标识码:A 文章编号:1009-3044(2017)25-0017-03

Abstract: With the development of network technology, information security has been a great threat. A secure storage scheme Based on trusted computing is proposed to solve the three problems of user privacy data, which are storage environment, storage mode and storage support. The reliable storage environment is established, which applied the integrity measurement mechanism of trusted computing platform. The scheme not only applied elliptic curve encryption mechanism for user data, but also used the key tree to manage the keys of the encrypted data.

Key words: trusted computing;data encryption;secure storage;key tree

1 概述

随着信息技术的飞速发展,网络安全和用户隐私泄露的问题越来越严重,网络数据的安全性已成为国家和政府所面临的一个主要问题。传统的网络防护机制已经不能有效地保障网络数据的安全,网络的可信运行是数据安全的关键[1],可信计算是实现网络数据安全最有效的手段之一。面对网络数据易受攻击的威胁,可信计算可以从根本上转变传统的防御模式[2],基本实现数据在存储、传输、处理等全过程的主动免疫和可信管理。

可信计算是一种自我免疫计算模式[3],是信息系统安全新技术,计算机在运算时全程可测可控。可信计算技术需要可信计算平台(Trusted Platform Model,TPM)作为硬件支撑,TPM是一种含有密码运算器和存储部件的防篡改硬件芯片,运算器用于密钥生成、加密和解密,存储部件用来存储密钥。保障数据安全的核心是密码技术,密码技术是研究加密和解密的一门科学,是控制明文与密文交换的理论基础,其通过密钥管理机制来控制。在众多的网络安全问题中,数据存储的安全是关键,用什么方式存储尤为重要。将基于可信计算技术的TPM应用于网络数据安全,即便数据被黑客窃取,对方也无法解密获得内容,从而可确保数据存储的安全性。

2 数据安全存储问题分析

网络数据服务器平台在各个领域都得到应用并取得了很好的应用效果,尽管越来越多的用戶接受并使用了网络公共数据平台的存储服务,但对于数据的存储安全、传输安全、硬件安全以及用户隐私保护等仍存在一些安全性方面的担忧。网络数据平台的开放性和共享性,使得平台具有数据被窃取和被篡改的风险,在所有安全问题中,数据的安全存储是最受关注的问题。数据的安全存储问题主要包括以下3个方面:

(1) 存储环境:存储数据的公共服务器平台本身是否安全、可靠。传统的服务器平台体系结构简单,容易被恶意程序植入,程序执行代码容易被篡改,数据容易被窃取和被非法利用,而传统的监控预警、防火墙、杀毒软件等并不能有效地保障数据的安全,很难保证服务器平台存储环境的整体可靠。

(2) 存储方式:采用何种数据存储方式才能确保存储在服务器平台上的数据不被攻击和泄露,是否能实现用户数据在公共服务器平台上的隐匿,是否能实现即使数据被窃取也无法解密内容,数据存储的方式是关键。

(3) 存储保障:由于网络用户众多,数据服务器平台需要管理的用户密钥较多,一旦密钥泄露,与之相关的数据将会被窃取和篡改,将带来不可估算的损失。在TPM存储空间有限的前提下,如何保障数据存储机制的安全,如何保障用户密钥的安全,是解决数据存储安全必须要考虑的因素。

3 数据安全存储方案

可信计算是一种运算和防护并存的信息系统安全新技术,有别于传统网络安全的封堵查杀防护机制,其从终端开始主动防御,以可信平台模块TPM作为服务器平台的信任根,通过TPM提供的安全特性来提高网络服务器系统的整体安全性。针对数据安全存储提出的存储环境、存储方式和存储保障3个方面的问题,利用可信计算技术设计了数据安全存储方案,如图1所示。

由图1可知,系统平台本身的安全可靠是确保数据存储安全的基础,采用可信计算技术中的完整性度量机制可确保存储环境可信、可靠。确保平台环境可信后,利用加密机制保护数据的机密性,使数据在可信环境下加密、解密,而加密算法的安全性又取决于用户密钥的安全,利用密钥树管理密钥可把对多密钥的管理转化为单一密钥的管理,不仅降低了运算量,还减少了存储TPM的存储空间,而且为密钥的存储提供了更高的安全保障。

3.1 建立可信存储环境

可信存储环境的建立是数据安全存储的前提,内置于网络系统服务器中的可信计算模块TPM是硬件基础。服务器启动数据存储时需要借助于可信计算技术对启动软件进行完整性报告度量,以判断服务器平台是否被篡改[4]。这一过程是通过TPM中的AIK对平台配置寄存器(Platform Configuration Register,PCR)进行签名,然后根据完整度量日志SML(Stored Measurement Log)及其完整性参考值进行校验来实现,如图2所示。endprint

由图2可知,服务器数据存储的启动从信任根开始,信任根被启动后先度量BIOS,其度量值被扩展到PCR中,然后将控制权转移给BIOS的指定代码继续度量,依次继续度量系统启动模块、系统内核、系统上的应用程序,从而建立起一条信任链,每一次度量值都被扩展到PCR中。系统服务器端使用身份密钥对平台状态的最终值进行签名后报告给用户端。用户访问服务器时,先通过公开的身份证书验证签名以证实服务器平台的身份,然后通过度量值与SML中的标准度量参考值进行比对,如果一致说明该服务器平台计算环境可信。如果信任链中某个软件的代码被恶意篡改,在计算过程中各操作步骤扩展出的度量值将会被改变,当其与SML中的标准度量参考值不一致时,说明系统在启动过程中数据已经发生了改变,表明该计算环境不可信。

3.2 加密存储

要确保用户数据不被攻击和泄露,对数据进行加密存储是关键。数据在被上传到服务器平台后,服务器可能因被恶意程序植入而导致数据泄露,或是被非法入侵后数据被篡改。如果数据在上传服务器之前就对其进行拆分、加密,即使数据在存储过程中丢失,也会因为事先对数据采用了加密机制而不会被窃取者獲得数据内容。

自1976年Diffie-Hellman在其论文中提出公开密钥密码机制思想[5,6]后,很多公开密钥密码机制被陆续提出来,所有密钥管理机制的安全性都依赖于数学问题的难解性,大量的密钥机制已经被攻破,迄今只有两类密码机制被证明是安全有效的:基于RSA(Rivest-Shamir- Adleman)的密钥机制和基于ECC(Elliptic Curve Cryptosystem)的密钥机制。

RSA自提出以来一直是研究的焦点,目前国内外大多数加密、解密、数字签名等产品使用的标准都是RSA密钥机制。由于RSA的安全性完全依赖于大整数因子分解问题,随着计算机网络的发展,为保障RSA密码的安全性,研究人员不得不通过使用更大的整数来实现RSA密码,以增加其被破解的难度,这使得用RSA实现的代价变大,应用效率也随着计算量的增大而降低,已经成为制约RSA密钥机制发展的主要瓶颈。

ECC是1985年由Victor Miller和Neal Koblitz提出的密钥机制,其安全性完全依赖于椭圆曲线上的离散对数问题(ECDLP,Elliptic Curve Discrete Logarithm Problem)的难解性,它是指数级的难解度,抗攻击更强,不易被破解和篡改。

设有限域[Fp]上的椭圆曲线[EFp:y2=x3+ax+b (mod p)],其中[a,b∈Fp],且[4a3+27b2≠0],[(x,y)∈E(Fp)]。假设[ P、Q]是椭圆曲线[E(Fp)]上的任意两点,求[x ]使得[xP=Q],称为椭圆曲线[E(Fp)]上的离散对数问题,显然不是[E(Fp)]上任意两点都有解[ x ],已知[ P ]和[ Q ]要计算[ x ]是非常困难的,特别是当[E(Fp)]上的点[P ]是较高阶时,计算[ x ]是不可行的。

ECC算法较RSA算法的优点在于,ECC算法可用较短的密钥即可获得与RSA算法相等的安全性,ECC加密算法采用160bits的密钥与RSA采用1024bits的密钥相当,且随着模数的增大,ECC算法的安全性比RSA更强,且密钥长度的增长比RSA慢,因此ECC在密钥计算消耗上较RSA少[7]。ECC加密算法具有大数运算、大容量存储的特点[8],是目前已知的公钥体制中加密强度最高的一种密钥机制。因此,本方案中采用ECC椭圆曲线加密机制对用户密钥进行机密保护。

3.3 密钥树管理

数据存储的安全性很大程度上取决于数据加密密钥的安全性,网络数据平台用户众多,服务器需要管理大量的用户密钥。TPM具有防篡改、防攻击的特点,数据和密钥存放在其内部相对较安全,但TPM内部存储空间有限,只能存储少量的数据和密钥,大部分数据和密钥则存放在TPM外部。为了有效地利用有限的存储空间来装载更多的用户密钥,可信计算组织TCG将TPM密钥管理分为内部密钥和外部密钥[9]。在所有的密钥类型中,只有背书密钥EK和存储根密钥SRK必须以明文形式存储在TPM内部。其它密钥被加密后以密文形式保存在TPM外部存储区中,需要时再加载到TPM的内部进行解密。为了保护存储在外部的数据和密钥,采用加密机制以及密钥树形结构进行管理[10]:以存储根密钥SRK为根结点,存储密钥为分支节点,通过父密钥对子密钥进行数据加密,并辅以密钥访问授权机制。TPM的密钥管理树结构如图3所示[11]:

从图3可以看出,TPM密钥树顶层的根密钥为SRK,其他密钥的父密钥都通过TPM中的SRK加密生成,SRK受TPM保护,主要对其子密钥进行加密,生成二级密钥,二级密钥又对其子密钥进行加密,生成三级密钥,以此类推,父密钥节点对子密钥节点进行层层加密,构成了密钥树结构[12]。所有用户密钥都是以密文形式存在,而所有的密钥操作都需要密钥以明文形式在TPM内部完成。当密钥槽中的密钥离开TPM时,必须用其父密钥的公钥进行加密,加密后通过可信计算软件协议栈(TCG Software Stack,简称TSS)分配一个唯一标识符UUID,该UUID便于系统对TPM外部存储的密钥进行搜索和调度。当用户需要使用某个目标密钥时,需要先将该密钥进行解密后导入TPM内部。要想解密目标密钥,需要先将其从SRK到该密钥所有的父密钥(非SRK)依次解密并层层授权后加载到TPM内部密钥槽中,最后通过验证密钥合法后才能操作该密钥。

如图4所示,假设K3是一个需要操作的签名密钥对象,K3的父密钥是K2,K2的父密钥是K1,K1的父密钥是SRK,K3被加载到TPM的过程如下:

(1) 首先通过UUID定位目标密钥K3;

(2) 以K3为起点创建一条密钥链:K3→K2→K1→SRK;endprint

(3) 将K1导入到TPM中:通过输入正确的SRK授权值,TPM中的ECC引擎利用SRK解密K1,解密后的K1被放入密钥槽中;

(4) 然后将K2导入到TPM中:通过输入正确的K1授权值,TPM中的ECC引擎利用密钥槽中的K1将K2解密,解密后的K2被放入到密钥槽中;

(5) 再将K3导入到TPM中:通过输入正确的K2授权值,TPM中的ECC引擎利用密钥槽中的K2将K3解密,解密后的K3将被放在密钥槽中;

(6) 最后输入K3的授权值之后,K3才能在TPM中进行签名操作。

假设ECC加密算法足够安全可抵御攻击,那么TPM密钥管理树的安全取决于对根密钥SRK的保护。根密钥SRK存儲在具有防篡改功能的可信平台TPM内部,所以整个密钥树的安全都有保障。采用密钥树存储管理用户数据密钥,既保障了数据存储的安全性,又解决了TPM内部存储空间小的问题。

4 结束语

随着网络技术的发展,公共数据服务器平台的数据存储服务已被人们接受和使用,所以平台的存储安全是关注的焦点。本文针对用户隐私数据在存储环境、存储方式和存储保障3个方面的问题,根据TPM芯片具有防攻击、防篡改等安全防护的特点,提出了一种基于可信计算技术的安全存储方案。该方案利用可信计算平台的完整性度量机制来建立可信存储环境,利用椭圆曲线加密机制为用户数据提供机密性保护,还利用了密钥树对加密数据的密钥进行管理。可信计算技术的研究与应用在国内已经比较成熟,使用可信计算技术提升公共网络服务器的安全性是解决数据存储安全的有效方法之一。

参考文献:

[1] 沈昌祥,公备.基于国产密码体系的可信计算体系框架[J].密码学报, 2015, 2(5):381-389.

[2] 沈昌祥,陈兴蜀.基于可信计算构建纵深防御的信息安全保障体系[J].四川大学学报:工程科学版,2014,46(1):1-7.

[3] 沈昌祥.密码在网络空间安全中的作用和地位[J].中国金融电脑,2016.1:57-61.

[4] 黄宁玉,李爽,宋式斌.公共数据平台上数据安全存储方案研究[J].武汉大学学报:理学版, 2012, 58(S1):61-64.

[5] Neal Koblitz, Alfred Menezes, Scott Vanstone. The State of Elliptic Curve Cryptography[J]. Designs, Codes and Cryptography, 19(2002):173-193.

[6] Mugino Saeki. Elliptic Curve Cryptosystems, A thesis Masters degree, McGill University, 2,1997.

[7] William Stallings. 密码编码学与网络安全——原理与实践:第三版[M]. 北京: 电子工业出版社, 2005.

[8] S. A. Miura. Overview of Elliptic Curve crypto-graphy. Springer- Verlag, 1998, LNCS, 1431: 29-49.

[9] 陈仁海.嵌入式可信计算平台中加解密算法的研究[D].山东大学,2012.

[10] 杨波.可信计算平台密钥管理机制的应用与研究[D].西安电子科技大学,2008.

[11] 王海燕.可信计算平台密钥管理技术及应用[D].陕西师范大学,2010.

[12] 刘觅.基于USBKey的移动TPM密钥管理管理 [D].北京交通大学,2009.endprint

猜你喜欢
数据加密
云数据存储安全关键技术研究