《云计算环境下密钥安全存储问题(共9页).docx》由会员分享,可在线阅读,更多相关《云计算环境下密钥安全存储问题(共9页).docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1 系统总体结构本文构建了一个基于隐秘映射组合公钥的云计算密钥管理架构,如图1所示:当有新密钥客户端节点要加入到云环境中时,它需要跟云计算密钥管理系统中的各个组件进行信息的交互,以获取节点的私钥。该系统主要包括以下几个组件:a) 云计算密钥管理中心。负责系统的初始化,椭圆曲线的产生、公私钥因子矩阵的组合和公私密钥对的生成及管理。b) 用户注册中心。负责用户的注册审核,并向公开信息数据库发放用户的有效及废弃的身份信息,同时还负责向云计算密钥管理中心转发注册用户的私钥发放申请。c) 公开信息数据库。保存用户有效的及废弃的身份信息,同时存储公钥因子矩阵列表。d) 云计算密钥
2、客户端。使用云计算服务的企业或者个人用户,向注册中心发起注册和私钥发放申请。e) 云管理员。云计算服务提供商,负责管理和维护整个云计算密钥管理系统。2 系统功能模块设计2.1 系统初始化云计算隐秘映射组合公钥密钥管理是基于椭圆曲线密码体制的,它的安全性建立在椭圆曲线离散对数难题上5,假设一个有限域F的特征p是素数,且p不等于2或3,P=(xp,yp)是椭圆曲线的基点。可将椭圆曲线EF定义5为y2=x3+ax+b a,bF设椭圆曲线的参数组为(a,b,P,n,p),P的子群M可以表示成P,2P,3P,(n-1)P,nP,可以从子群M中得出这样的等式:Rij=sijP。私钥因子矩阵SSK由元素si
3、j组成,公钥因子矩阵PSK由元素Rij组成,这两个矩阵就可以分别定义为:在CPK密码体制中,公私钥对是通过指向公私钥因子矩阵对应位置上的元素的组合而产生的。可以利用哈希函数和行映射算法以及列置换算法5实现标志到因子矩阵坐标的映射,以选出因子矩阵中的元素,具体的算法实现流程如图2所示。根据行映射和列置换得出的随机序列向量,分别为(i1,i2,ij)和(j1,j2,jj),取出私钥因子矩阵中对应的各个元素因子相加,即可得出用户的私钥为sk=si1,j1+si2,j2+sij,jj mod n同样,选取出公钥因子矩阵的元素因子,进行点加运算,组合出对应的用户公钥:pk=Ri1,j1+Ri2,j2+R
4、ij,jj=si1,j1P+si2,j2P+sij,jjP云计算组合公钥密钥管理系统中的pk与sk构成一对公私钥。从式(3)和(4)可以看出,公钥pk正好是私钥sk关于基点P的倍数。本方案采用隐秘映射机制,云计算密钥管理中心将密钥映射及矩阵变换采用物理保护的方式写入云计算客户端的硬件中,并采用加密手段,使得客户端只能使用该隐秘映射模块,但不能获取内部具体的流程和中间参数,比如根据行映射和列置换得出的随机序列向量等。算法流程如图3所示。2.2 密钥分发云计算组合公钥密钥管理系统中的密钥分发涉及到系统中的多个组件,主要包括:a) 公钥因子矩阵。云计算密钥管理中心生成公钥因子矩阵后,发送给公开信息数
5、据库保存。该数据库开放给所有用户,任何其他用户都可以通过访问该公开信息数据库以获取公钥因子矩阵。b) 私钥因子矩阵。私钥因子矩阵也是由云计算密钥管理中心生成,然后就始终存储于该密钥管理中心。在系统的整个密钥产生和分发的过程中,私钥因子矩阵都是要严格保密的。c) 公钥。由云计算密钥管理中心通过用户标志映射以及组合公钥因子矩阵产生。本方案采用隐秘映射机制,客户端用户根据用户标志和公钥矩阵,通过隐秘映射模块可以计算出需要的公钥。由于硬件物理保护,计算的中间过程及中间参数(如根据行映射和列置换得出的随机序列向量等)对客户端用户保密。d) 私钥。用户通过用户注册中心向云计算密钥管理中心申请私钥。云计算密
6、钥管理中心生成私钥后,通过安全信道向用户注册中心发放私钥,而用户注册中心则将私钥写入安全存储介质交给用户。2.3 密钥协商若云环境中有两个用户需要进行通信,那么它们必须采用组合公钥技术进行密钥协商,以获取只有双方知道的相同的会话密钥。设云中的用户A和用户B的标志分别为IDA、IDB,kAB表示用户A与用户B之间的会话密钥;ECCk(m)表示利用密钥k对消息m进行椭圆曲线加/解密和签名1,AESk(m)表示利用密钥k对消息m进行AES对称加解密;符号“|”表示消息的级联。则具体的密钥协商过程如图4所示。用户A和用户B都已经拥有了它们各自的私钥skA和skB,并且共同保存同一个随机序列码。当用户A
7、将消息包ECCpkB(kAB)和发送给用户B后,用户B可以利用自己的私钥skB对消息包ECCpkB(kAB)进行解密,获取由A生成的会话密钥kAB;然后继续利用该会话密钥解密消息包,获取消息包。由于云密钥管理系统中所有用户的身份标志以及公钥因子矩阵都可以在系统的公开信息数据库中查询到,因此,用户A和用户B的这两项信息对双方都是已知的。借助隐秘映射模块,利用公钥因子矩阵可以进一步获得对方的公钥。如果用户B利用自己计算出的用户A的公钥SA成功地验证了消息包中的ECC签名,就证明了发送消息包的用户A的身份是正确的。签名验证成功后,用户B就得到了用户A的随机序列码SA。如果用户B获取的随机序列码SA与
8、自身保存的随机序列码SB相同,那么这个消息包就是新鲜的,从而保证密钥协商过程能够抵御重放攻击。签名验证成功后,用户B同时也得到了kAB的哈希值hash(kAB),而用户B在解密消息包时就得到了会话密钥kAB,这时,同样计算kAB的哈希值hash2(kAB),比较hash(kAB)和 hash2(kAB),如果它们是相等的,则保证了消息的完整性。2.4 密钥更新随着密钥使用次数的增加,密钥的安全性降低。此外,随着系统中用户的撤销及加入,密钥矩阵也面临密钥资料枯竭的问题本方案的密钥更新包括两部分。1) 用户密钥对的更新 当用户A需要进行密钥更新时,向云计算密钥管理中心提交更新请求,并验证存放在用户
9、注册中心中的身份标志是否有效。若验证通过,密钥管理中心存储该节点身份标志到废弃标志库,并为用户A分配新的身份标志,更新用户注册中心中存放的旧的标志。云计算密钥管理中心则利用新的身份标志重新计算私钥,然后将用户A的新私钥及新的身份标志发送给用户A,同时将新标志存入公开信息数据库,并在系统内进行广播。具体的密钥更新过程如图5所示。2) 密钥矩阵的更新 云计算密钥管理中心根据系统需求指定整个系统密钥统一更新的时间,到了指定的更新时间,更新整个公私钥矩阵,并将公钥矩阵及用户私钥分发到各个用户中。分发过程的安全由用户的原有密钥进行保证,具体更新过程略。2.5 用户的加入和退出1) 用户的加入 当系统中有
10、新用户加入时,云计算密钥管理中心为该节点配置对应的参数信息,包括密钥初始化中的各种参数,用户标志ID,进而生成新用户的公私钥对; 并通过安全信道将用户标志ID、公私钥对分发给用户,具体流程略。2) 用户的退出 当有节点退出系统时,它向云计算密钥管理中心发出退出请求,密钥管理中心存储该节点身份标志到废弃标志库,防止以后再次将此身份标志分配给其他用户,保证系统的安全性,具体流程略。3 方案安全及性能分析通过以上方案的详细设计过程可以看出基于隐秘映射组合公钥技术的密钥管理方案不仅能够满足大规模密钥管理的需求,能很好地保证系统的安全,并且具有较高的性能。下面对方案的安全性和性能进行具体的分析。1) 安
11、全性分析(1) 加密机制安全性分析本文提出的密钥管理方案是建立在椭圆曲线离散对数难题上,因此产生的密钥是安全的。每个发送和接收的信息包都是加密的,可以对抗攻击者的截获偷听。关于椭圆曲线离散对数的安全性分析,在这里不再详述。(2) 前向安全和后向安全分析对每个客户端分配唯一的身份标志,任何两个节点拥有不同的公私钥对,可以保证节点的私钥是安全保密的。当系统中有新用户加入时,云计算密钥管理中心为其分配未使用过的身份标志,并通过安全方式将私钥和身份标志发送给用户。新用户无法获得之前用户的私钥,因此可以保证前向安全当系统由用户退出时,云计算密钥管理中心将该用户的身份标志存入废弃标志库,以后不再使用,因此
12、可以保证系统后向安全。(3) 数据完整性分析在密钥协商、密钥更新等过程中,对敏感数据采用哈希运算得到其哈希值,将哈希值连同哈希值的加密结果以及加密的敏感信息发送给对方当数据包被恶意窜改后,通过再次计算哈希值跟解密后的哈希值进行比对,可以发现恶意窜改攻击,从而保证数据的完整性。(4) 抵御重放攻击分析在每一次发送的数据包中添加随机序列码,并通过上述方式保证其完整性。在签名验证成功后,用户通过比对随机序列码可以判定某个消息包是否是新鲜的,从而保证密钥协商过程能够抵御重放攻击。(5) 抵御共谋攻击分析针对抵抗共谋攻击,由组合公钥的原理可知,用户的私钥是私钥矩阵和随机序列向量的线性组合。在以往的组合公
13、钥方案中,用户输入用户标志,经过映射算法得到随机序列向量,然后由公钥矩阵和随机序列向量计算出公钥。映射算法和随机序列向量都是公开的。由于公钥矩阵和私钥矩阵存在一对一的关系,因此共谋攻击者根据随机序列向量(即系数矩阵)和私钥(即常数列)可以构建线性方程组,获得全部组合私钥矩阵,进而破解整个CPK系统。在本方案中,采用隐秘映射机制将密钥映射及矩阵变换采用物理保护的方式,使用户只能使用映射算法和随机序列向量,而不能获取具体的过程和参数。共谋攻击者无法获得随机序列向量,即线性方程组中的系数矩阵,因此无法构建线性方程组对私钥矩阵进行破解,从而达到抵抗共谋攻击的目的。2) 性能分析(1) 存储开销在计算C
14、PK密钥管理系统中,用户只负责存储用户私钥以及公钥因子矩阵,而当公钥因子矩阵的大小为p*q时,它可以组合出pq对的公钥,却只需要p*q的存储量。该系统仅占用少量的存储空间,就实现了云计算大规模的密钥存储。(2) 可扩展性该系统中,p*q大小的公私钥因子矩阵就可以组合生成pq密钥量的公私钥对。例如,如果公钥的大小是192bit,则50KB大小的公钥因子矩阵可以组合出估计1048密钥量的公钥对。由数量有限的矩阵因子组合出如此庞大的公私钥对,极大地增强了系统的可扩展性。(3) 复杂性该系统集中生成密钥、将密钥分散存储,并通过映射算法将用户的标志组合成实体的公钥,密钥的管理就简化成了用户标志的管理。这
15、些方式都大大减小了云计算中大规模密钥管理的复杂性。1 引言云计算源自于商业计算模型1,它将计算任务分布到由大量计算机构成的资源池,从而使用户能够根据需要获取计算能力、存储空间和应用服务。“云计算”2是目前IT领域最热的技术概念,从亚马逊3谷歌的云计算推出,到“云计算”被看作是驱动下一代互联网的技术应用,该领域的研究风起云涌。“云”是一些可以自我维护和管理的虚拟计算资源,通常是服务集群,包括计算服务器、存储服务器和网络资源等。云计算将计算资源集中起来,并通过专门软件实现自动管理。用户可以动态申请部分资源来支持各种应用程序的运转。这样不仅使用户能够更加专注于自己的业务,也有利于提高效率、降低成本4
16、。美国高德纳咨询公司Gartner发布的云计算安全风险评估5称,虽然云计算产业具有巨大市场增长前景,但对于使用这项服务的企业用户来说,应该意识到云计算服务存在七大潜在的安全风险。(1) 优先访问权风险一般来说,企业数据都有其机密性。这些企业把数据交给云计算服务商后,具有数据优先访问权的并不是相应企业,而是云计算服务商。如此一来,就不能排除企业数据被泄露的可能性。(2) 管理权限风险虽然企业用户把数据交给云计算服务商托管,但数据安全及整合等事宜最终仍将由企业自身负责。传统服务提供商一般会由外部机构来进行审计或安全认证。如果云计算服务商拒绝这样做,则意味着企业用户无法对托管数据加以有效利用。(3)
17、 数据处所风险当企业用户使用云计算服务时,他们并不清楚自己数据被放置在哪台服务器上,甚至根本不了解这台服务器放置在哪个国家。出于数据安全考虑,企业用户在选择使用云计算服务之前,应事先向云计算服务商了解,这些服务商是否从属于服务器放置地所在国的司法管辖。在这些国家展开调查时,云计算服务商是否有权拒绝提交所托管数据。(4) 数据隔离风险在云计算服务平台中,大量企业用户的数据处于共享环境下,即使采用数据加密方式,也不能保证做到万无一失。(5) 数据恢复风险即使企业用户了解自己数据被放置到哪台服务器上,也得要求服务商作出承诺,必须对所托管数据进行备份,以防止出现重大事故时,企业用户的数据无法得到恢复。
18、(6) 调查支持风险如果企业用户只是想通过合法方式收集一些数据,云计算服务商也未必愿意提供,原因是云计算平台涉及多家用户的数据,在一些数据查询过程中,可能会牵涉云计算服务商的数据中心。(7) 长期发展风险如果企业用户选定了某家云计算服务商,最理想的状态是:这家服务商能够一直平稳发展,而不会出现破产或被大型公司收购的现象。其理由很简单:如果云计算服务商破产或被他人收购,企业用户既有服务将被中断或变得不稳定。由以上分析可以看出,云安全的主要问题都与数据的安全性有关,数据安全是云安全的基础性问题,本文在分析云数据安全需要解决问题的基础上,提出适于云计算数据安全的密钥管理框架。2 云计算数据安全2.1
19、 面临的威胁云计算分离了数据与基础设施的关系,屏蔽了数据存储、复制等底层操作的细节,但是带来了隐患。在面向服务的云计算平台上,用户的数据很可能会不受控制地被服务提供商所访问与泄露。云计算的另一特点是多租户的服务,这引起了许多安全和隐私问题,不仅影响到风险管理做法,而且还影响到遵守法规、审计和电子证据等法律问题的评估。云计算中的数据存储和应用处理都是在企业网络之外操作,数据安全是最关键的问题。云用户希望他们的提供商为其加密数据,以确保无论数据物理上存储在哪里都受到保护。同样的,云提供商也需要保护其用户的敏感数据。强加密及密钥管理是云计算系统需要用以保护数据的核心机制。加密提供了资源保护功能,同时
20、密钥管理也提供了对受保护资源的访问控制。加密磁盘上的数据或生产数据库中的数据很重要,可以用来防止恶意的云服务提供商、恶意的邻居“租户”及某些类型应用的滥用。2.2 数据加密模式(1) 用户加密数据对于只是想在云中存储备份自己长期档案的用户,他们可以加密自己的数据,然后发送密文到云数据存储商。这些客户控制并保存密钥,在自己需要的情况下解密数据。在IaaS环境中,使用多种提供商和第三方工具加密静态数据很普遍。目前,大多数该类解决方案是基于用户的数字证书进行认证和加密,用户可以使用数字证书向云管理系统进行身份认证,使用该对称密钥在本地加密云中存储的数据,同时使用数字证书加密对称密钥,然后将加密后的数
21、据传到云中进行存储。当用户要获取数据时,先将云中加密数据下载到本地,由用户自己解密该数据。该模式的优点是:只有用户可以解密云中的存储数据,可以有效地保证数据的机密性。缺点是:用户的客户端需要较强的密码运算能力来实现加密功能,同时用户数据的加密密钥必须安全保管,一旦丢失,将无法恢复用户数据。该模式只适用于用户自己生成的静态数据加密,对于在IaaS、PaaS、SaaS下用户在云中产生的动态数据无法使用该模式进行加密。(2) 云计算管理系统加密数据对于在云计算环境中产生的动态数据,只能由云计算管理系统进行加密。虽然云提供商网络可能比开放网络安全,但是它们使用其特有的、由许多不同组成部分构成的架构,且
22、由不同的组织共享云。因此,即便是在云提供商的网络中,保护这些传输中的敏感数据和受监管信息也是非常重要的。在多租户的云计算应用模式下,用户租用云计算系统计算能力,虚拟化技术使得一个用户的应用以不同层次与其他用户的应用共享物理资源,因此用户在云计算环境中产生的数据不可避免地交由云计算环境进行加密。该模式相对于用户加密数据来说,在云计算环境中应用更为广泛,同时也是云数据安全的基础和关键。它的优点是用户不需要为不同的云应用保管各种不同的密钥,而是交由云计算环境统一管理,具有更高的安全性。缺点是用户无法控制动态数据,一切依赖于云计算服务提供商,同时云计算管理系统需要提供一个统一、有效、可扩展的云计算密钥
23、管理框架,用于为各类用户提供各种类型密钥的统一管理,实现各种密钥操作。密钥的概念密码技术就是在一个可变参数的控制下,对数据进行可逆的数学变换。密码变化前的原始数据称为明文,变换后的数据称为密文,变换的过程称为加密,变换时使用的可变参数称为加密密钥,变换时使用的可逆数学变换称为加密算法11。加密变换通常用表示,其中m是明文,c是密文,ke是加密密钥。解密变换时使用的可变参数是解密密钥,变换时使用的可逆数学变换为解密密钥。解密变换通常用表示,其中kd是解密密钥。密码通信的基本结构如图 2.1 所示。密钥在使用密码技术对明文信息进行变换时起着十分关键的作用。为抵抗破译者的攻击,保证密码编制对明文信息
24、进行变换的效果,达到应用密码技术的目标,密钥必须具有以下基本性质12:(1)随机性 密钥必须是从一个(数据)集合(称为密钥空间)中随机选取的。所谓随机选取,要求选出的密钥在某指定集合中是均匀分布的,或者说在该密钥空间中哪一个数据作为密钥的事件是等概率、独立的随机事件。这一性质保证破译者通过猜测得到密钥的成功率达到最小,通过一个已知密钥猜测一个新密钥的成功概率也达到最小,从而保证在各种条件下破译者难以通过猜测获得密钥的信息。 (2)难穷尽性 密钥必须有足够大的变化量。一个密码编制对明文信息进行变换所使用的密钥变换量应该足够大,即密钥空间应该足够大,使得一定时期内利用最先进的计算手段也无法在较短时
25、间(有关信息的有效期)内完成对密钥空间的穷尽搜索。这一性质保证破译者不能通过穷尽搜索密钥空间的方法得到密钥。尤其在云计算环境中,充分的计算资源为攻击者提供了更高的计算能力。 (3)易更换性 密钥必须是易更换的。为了减少和控制破译者获得的密码因素(同一密钥下对应的明文和密文)的信息量,密钥必须经常更换。密钥如果不能容易地更换,则不能保证密钥定期地和在必要时及时地更换,因而危及密码应用目标的实现。 密钥的种类繁多,在不同的应用环境和不同的密码方案中有着不同的设计和使用方式,同一个密钥可以有多种不同的作用,同一系统安全和保密也涉及多个密钥。密钥的分层管理是密钥管理的基本手段,对密钥实施分层保护是密码
26、系统安全的必然要求。常用的密钥分层结构为三层:主密钥(根密钥)、密钥加密密钥(保护密钥)和数据加密密钥(会话密钥)三种13。密钥分层结构有以下优点: (1)当少量的处于最高层的密钥注入系统后,下面各层密钥在其上层密钥的保护下可以按照系统的协议不断变化,从而使密钥系统形成一个动态的系统,增加了攻击的难度。例如密码机的主密钥是终身不变的,而密钥加密密钥在主密钥的保护下定期更换。这样,即使当前时期的密钥加密密钥泄露,也不影响以前和以后时期密钥加密密钥所保护的秘密数据的安全。而对少量最高层密钥的保护往往是采取物理上分散保护的方法,从而大大简化了密钥管理的难度。 (2)密钥分层管理要求越低层的密钥更换得
27、越频繁,例如会话密钥通过用户共享的密钥加密密钥加密传送,一次会话一变。这样减少了各层密钥所加密保护的数据量,不为攻击者提供密码攻击的条件,即已知明文攻击和选择明文攻击。 (3)通过密码算法实现上层密钥对下层密钥的加密保护,使得下层密钥的丢失不影响上层密钥的安全,这样可将损失降低到最低限度。例如在一个系统中使用密钥加密密钥分配会话密钥,密钥加密密钥通常在较长的一段时间内不变(如半年或一年),而会话密钥是一次一变。密钥存储如果密钥不是在使用中临时产生并一次性使用,则它们必然要经历存储的过程。密钥存储设备应该对密钥的安全性提供保证,对秘密密钥提供机密性、真实性和完整性保护措施;对公开密钥提供真实性和
28、完整性保护措施。保护措施通常采用物理的(安全的设备与环境)或物理与加密相结合的措施,此外一定的行政措施是必不可少的,该行政措施应能保证有关密钥的接触和操作是在必要的授权之下进行。密钥管理概述 密码方法作为人类用来保护信息安全最常用的方法,在早期的密码体制中并没有密钥的概念,因此对密码算法和密钥没有明显的区别。随着信息加密需求量的迅速增加,且需要不断更换新的密码算法和设备,所以人力、物力、财力、时间耗费太大,于是人们采取固定一部分参数或加密算法,然后更换另一部参数或加密算法的方法。这种可经常变化的部分被称作密钥。引入密钥这一概念有两个优点:(1)可以使用不同的密钥用于保护不同的秘密,这样就意味着
29、当一个密钥被攻破时,受威胁的仅仅是这个被攻破密钥所保护的安全信息,其他的秘密仍然是安全的。由此可知密钥在这样的密码系统中处于非常重要的中心地位;(2)在一个密码系统中可以认为算法是公开的,只要保护好密钥就可以,不用担心算法的安全性。密钥管理就是在密钥通信各方之间建立和维护密钥关系的一整套技术和程序。密钥管理是密码学之中的一个重要分支,同时也是密码学最重要和最困难的部分,其负责密钥从产生至最终销毁的整个过程。这个过程包括密钥的生成、存储、分配、使用、备份/恢复、更新、撤销和销毁等。密钥管理是提供云计算环境机密性、数据源认证、实体认证、数据完整性和数字签名等安全密码技术的基础,由于现代密码学要求所有密码体制使用的密码算法必须经过公开评估,对密码设备、密码算法的保证并不能保证整个密码系统的安全性,密钥安全才是关键,一旦密钥遭受泄露、窃取、破坏,机密信息对于攻击者来说已失去保密性。密钥管理是一项综合性系统工程,其要求密钥技术与密钥管理同等重要,它的实施与技术性因素、人的因素密切相关,其中人的因素主要包括密钥管理等相关的行政管理制度和密钥管理人员自身的素质。所以,只有当技术和管理共同作用,才能确保密钥管理的有效性。下面介绍一种基于隐秘映射组合公钥的云计算密钥管理架构。专心-专注-专业
限制150内