一种基于安全芯片的CA方案设计和实现.doc

上传人:吴起龙 文档编号:1592029 上传时间:2018-12-26 格式:DOC 页数:14 大小:21.36KB
返回 下载 相关 举报
一种基于安全芯片的CA方案设计和实现.doc_第1页
第1页 / 共14页
一种基于安全芯片的CA方案设计和实现.doc_第2页
第2页 / 共14页
一种基于安全芯片的CA方案设计和实现.doc_第3页
第3页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种基于安全芯片的CA方案设计和实现.doc》由会员分享,可在线阅读,更多相关《一种基于安全芯片的CA方案设计和实现.doc(14页珍藏版)》请在三一文库上搜索。

1、一种基于安全芯片的方案设计和实现 (1.中国科学院 计算技术研究所, 北京 100080; 2.中国科学院 研究生院, 北京 100049; 3.联想研究院, 北京 100085) 摘要:以符合可信计算联盟标准的安全芯片为基础,提出一种基于安全芯片的CA方案,它不仅解决了CA抵抗外部攻击,而且也解决了CA抵抗内部攻击的问题,同时该方案具有较高的性能和较低的成本。 中图法分类号:TP309文献标识码:A Design and Implementation of CA Scheme Based on Secure Chip CHEN Jun 1,2, HOU Zi feng 1,3, WEI We

2、i 1,3, QU Ya dong1,3 (1.Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100080, China; 2.Graduate School, Chinese Academy of Sciences, Beijing 100049, China; 3.Lenovo Research & Development Corp., Beijing 100085, China) Abstract:In contrast with other CA schemes, the scheme h

3、as not only the property of intrusion tolerant but the property of resisting external attack as well the internal attack, and has higher performance and lower cost. Key words:CA(Certificate Authority); PKI(Public Key Infrastructure); Security Chip; Trusted Platform Module 在PKI(Public Key Infrastruct

4、ure)中,CA用其私钥对证书签名执行认证作用,因此CA私钥的安全至关重要。许多解决在线CA安全的方法被提出来14,其中最基本的思想是采用门限密码技术实现容错,这种方法主要考虑CA抵抗外部攻击。据2002年FBI报道,70%的攻击是从内部发起的,并且其危害性更大,因此现有的CA方案都有一定的不足。本文在已经实现的符合TCG(Trusted Computing Group)规范的安全芯片基础上9,设计并实现一种基于安全芯片的CA方案,较好地解决了在线CA内外安全问题。它不仅有入侵容错,能够抵抗外部攻击,而且使用安全芯片的可信测量、可信存储等功能,能够抵抗内部攻击。同时与其他方案相比有较高的性能和

5、较低的成本。本文分析了现有的主要CA方案,并指出其局限性,提出基于安全芯片的CA方案,并分析了基于安全芯片的CA方案的安全性。 1现有CA方案的分析 现有的CA方案主要有:斯坦福大学研究的基于门限RSA签名方案的入侵容错系统ITTC(Intrusion Tolerance via Thres hold Cryptography)1,8;Cornell大学Li Dong zhou研究的通过异步的、主动的秘密共享设计与实现的分布式在线的CA方案COCA (Cornell On line Certification Authority)2;荆继武、冯登国提出的一种基于门限RSA、具有可伸缩性的入侵容

6、忍CA方案3和Liu Duan yang研究的基于Trusted Dealer的在线CA方案4等。 11(t,n)秘密共享 上述的ITTC、COCA、荆方案和Liu Duan yang方案均采用 (t,n)门限方案实现对密钥的容错保护。将一秘密值d分割成t份影子,然后将此t份影子分别存储在n个不同的服务器上。只有通过t份影子才能恢复秘密值d,称为(t,n)秘密共享1。把d分割成t 份的方法有许多种,其中一种是根据Frankel的方法5,选择 t个属于-N,N的随机数d1,d1,dt,使得d=d1+d2+dt, 文献13采用这种方法;另一种是根据Shamir的秘密共享方法6,利用LaGrange

7、插值公式,文献4采用这种方法。采用随机和方法计算量小,本方案采用随机和的方法实现CA私钥的秘密共享。 在 (t,n)秘密共享中,即使攻击者成功入侵了t-1个服务器,也得不到秘密值d。但如果某台服务器崩溃或者它所存的影子丢失,则该秘密值将会丢失。为了保证可用性,文献1提出的(t,n)共享方案中,秘密值d按(t,t)共享方法分割成多种组合,每种组合含有t份影子,每种组合的t份影子分别存储在n个服务器中的t个服务器上。例如,当t=3,n=4时,秘密值d的(t,n) 秘密共享方法如表1所示。 表1中,每个di都是属于-N,N的随机整数,且满足给定的方程。表的第j列表示服务器j 可存储的不同影子。由表1

8、可知,任何一台服务器出现故障或影子丢失都不会影响系统的工作,任何两台服务器被入侵后不会泄露 d的任何信息,因为任何两台以上的服务器都能够产生秘密值d。因此,基于(t,n)秘密共享的具有容错和容忍入侵的能力。当n固定时, t越小,系统的容错能力越强,但系统越不安全;t越大,系统容忍入侵的能力强,但容错能力差,因此对t的选择要从可用性和安全性的角度折中考虑。 12各CA方案的优缺点 ITTC方案的基本实现原理是上述的 (t,n)密钥分享,所有的分享密钥di都是区间-N,N的随机大整数。每个服务存储和管理多个密钥。如(3,4)分享,服务器1管理密钥d1,d4;服务器3管理d3,d5。 ITTC为防止

9、“单点”失效,没有采用集中式的密钥生成方法,而是采用改进的分布式密钥生成算法BF协议7,整个系统无论是认证签名,还是密钥更新,RSA私钥都是以分享的形式存在。ITTC方案采用了门限技术,使CA认证系统有入侵容错、负载均衡等特性,并且密钥生成和更新时采用了分布式算法,避免了单点失效。但系统也存在不足,如BF协议复杂,计算耗时、缺乏足够的强健性,以及密钥管理复杂等。 荆方案的入侵容错CA方案原理与ITTC系统相同,也是把RSA私钥d分成若干个随机数之和。其结构如图2所示。 其中RA Agent是RA(注册机构)的接口,它负责与RA进行保密通信,并负责检查CA的签名。同时,它也是通向外部网络的唯一途

10、径。Share Server是用于CA签名的,每一个都有自己的ID号。RA Agent通过广播信道B1与这些服务器连接。当有证书cer需要CA签名时,RA为此签名设定一个可以区分任务号的Task(cer)。RA Agent通过广播将需要的签名的信息与设定的任务号Task(cer)广播到Share Server的网络上。Share Serveri 收到广播后,根据自己的忙闲程度和设定的算法,计算自己的忙闲因子Fi(Task(cer)。然后向网络B1广播自己对应此任务的Fi(Task(cer)当收到其他服务器关于此任务的忙闲因子Fi(Task(cer)之后,与自己计算的忙闲因子Fi(Task(ce

11、r)进行比较。当发现有m(m大于等于t)个服务器的忙闲因子小于自己的忙闲因子时,抛弃此任务。Key Distributor平时是离线的,由安全策略和管理规定与Share Servers的连网时间和方式。连接的方式可以采用经典的密钥注入方式。Key Distributor负责更换Share Servers的密钥,Combiner是收集各Share Server的计算结果,并寻找正确的签名。Respository Agent是与数据库的接口,同时赋有系统错误检测和告警的任务。 荆方案与ITTC系统同样有容错功能,但没有明显的负载均衡能力,每次认证Share Server都参与计算,并且每完成一次C

12、A的认证都需要Combiner去搜索正确的组合,计算量增加,计算时间增大。同时为防止Combiner和Share Server和谋取得私钥,需要多个Combiner。在门限 t3,n=6, 每个Share Server存放两个子密钥时需要两个Combiner。其成本也比ITTC系统高。在 (t,n) 门限更改,需要Key Distributer依据CA私钥重新计算 Ctn 组合,重新布置或更新Combiner,并且荆方案中密钥发布缺少必要的密钥验证机制。 COCA采用主动秘密共享,实现安全在线CA,但实现 t门限需要3t+1 台机器,需要较高的实现成本。Liu Duan yang研究基于Tru

13、sted Dealer实现在线CA,其密钥分享采用Lagrange插值,但没有方法保证Dealer本身是可信任的。 上述CA方案中都只考虑了外部的入侵,没有考虑内部的入侵,没有考虑子密钥(影子密钥)的安全保护问题。而实际上大部分系统的入侵是从内部发起的。因此构造一个既能抵挡外部入侵,又能抵挡内部入侵的CA系统是很重要的问题。我们提出的基于安全芯片的CA方案较好地解决了这个问题。 2基于安全芯片的CA方案 21安全芯片简介 由Intel、微软和IBM等公司组成的国际机构TCG提出了可信计算平台,其通过在现有PC上附加一个TPM(Trusted Platform Module,安全芯片),达到增强

14、平台安全的能力。TPM本身是可信的,然后在RTM(Root of Trust for Measure)的合作下,将信任扩展到整个平台。TPM提供可信的测量功能、可信的报告功能、可信的存储功能10。 TPM的结构如图3所示,它包含执行引擎、RSA引擎、HAMC引擎、SHA 1引擎、RNG(随机数产生器)、密钥产生器、选项开关、易失存储器、非易失存储器、电源模块和接口模块。TPM是单独的物理芯片,它能够抗软件攻击和一定的物理攻击。 利用TPM安全芯片提供的密码功能服务,我们构建了一个安全的CA系统。其中用到TPM安全芯片的如下功能: (1)TPM的密码学身份。它是由TPM内部产生的,表示TPM身份

15、的签名密钥。 (2)TPM的可信度量功能。TPM在RTM的配合下,度量本机上的软件和硬件状态,并将结果签名后发送给挑战者。利用TPM这种可信测量功能和可信报告功能能够检测机器是否遭受攻击,如软件攻击(安装后门、替换软件)或物理攻击(窃取硬盘)。 (3)TPM的可信存储功能。CA的私钥存放在TPM安全芯片里,从不外泄,有效地抵抗内部攻击的窃取。 (4)TPM的密钥生成功能。CA的私钥由TPM产生,并且保存在TPM里,能够有效地保护密钥。 (5)TPM的密码学服务,如真随机数生成器、签名、加解密,这些提高了我们CA系统的性能。 安装有TPM的平台上的软件通过TSS(TCG Software Sta

16、ck)11与TPM通信。 22基于安全芯片的CA方案 基于安全芯片的CA方案结构如图4所示,每台机器上都装有安全芯片。初始条件是,每台机器上的TPM产生身份密钥,Server上的TPM身份证书发给CA和Manager,Server也获得CA和Manager的身份证书。身份私钥是在TPM内部产生,从不向外面泄露,并且只用来执行签名,不用来加密。身份公钥存储在TPM内部。每个TPM还产生存储密钥,存取密钥只用来加密,不用来签名,存取密钥的分配和身份密钥的分配一样。同时每台机器都保存其他机器正常运行时PCR(Platform Configuration Register)值,以在后面可以验证其他机器

17、的运行状态。Manager与Server之间,Manager与CA之间通过B2网通信。Server与CA之间通过B1网通信。 在本方案中,密钥共享采用 (t,n) 秘密共享方案,CA的私钥分成若干随机子密钥的和,保存在Server的TPM内。整个系统结构如图3所示。 221密钥生成和发布 CA密钥由Manager的TPM产生,根据共享方案,对产生的子密钥用身份私钥签名然后对不同的Server用存取密钥加密,发给对应的Share Server,同时把组合方案和CA的公钥签名后发给CA。子密钥的产生、签名和加密都在TPM内部完成,TPM主机上的软件只是完成接收TPM的数据,发送给其他主机,以及接收

18、其他主机数据发送给TPM。Manager在发送子密钥后,并不在TPM内部保留CA的私钥,只是保留CA的公钥。这样避免从内部窃取CA私钥。 Server接收到加密的子密钥后,用TPM完成解密和验证,正确后将子密钥保存在TPM里,然后将发送成功的消息发送给Manager,否则返回失败的消息。CA也验证从Manager来的组合方案和CA公钥。整个协议如下: (1)Manager的TPM调用TPM产生密钥的功能,TPM产生公钥和私钥 d 。 (2)Manager的TPM根据门限值 t将私钥分成t个随机数d1,d2,dt,其和等于d,其中每个随机数不少于200bits,并对每个子密钥di产生一个授权数据

19、KeyAuthDatai(授权数据也是160bit的随机数),同时也产生一个160bits的随机数nonceA。 (3)Manager的TPM对每个子密钥di、KeyAuthDatai 和nonceA用身份密钥签名然后用Serveri 的存储密钥加密,将结果输出给Manager,Manager把加密的数据发送给Serveri 。 (4)Serveri 接收到数据后,调用TPM解密和验证,如果结果正确,则在TPM内部保存子密钥 i 和其授权数据KeyAuthDatai ,同时将“接收正确”+nonceA用身份密钥签名,再用管理者的存取密钥加密,结果返回给Serveri ,Serveri 再将结果

20、发送给Manager,否则将失败消息返回给Serveri ,Serveri 向TPM报告失败消息。(5)重复(2),(3)产生多组子密钥。 (6)Manager接收到成功消息,解密数据,验证Serveri 身份,并比较nonceA,确认是本次操作。在接收到所有的Server应答后,在TPM内部把CA公钥和组合方案签名,销毁CA私钥 d ,保存CA公钥和组合方案,把签名结果返回给Manager,Manager将结果发送给CA。同时输出加密的KeyAuthDatai 给不同的人保管。 (7)如果Manager在一定的时间内没有接收到Serveri 的应答,则通知Serveri 失败。 222认证

21、CA从RA接收到认证请求和认证数据,选择空闲的Server提交从RA接收的数据和运行状态。接收到CA请求的Server首先验证CA运行状态和CA的身份,然后用TPM的RSA引擎完成模乘运算,并用TPM对运算结果和运行状态(PCR值)签名,返回给CA。CA验证签名和Serveri 的运行状态后,把收到的所有模乘运算结果相乘得到证书的签名,并用CA的公钥验证,如果正确则把结果发送给RA。 如果CA验证Server的签名失败或用CA公钥验证失败或验证Serveri 的运行状态失败,表明这些Server受到攻击。此时可以重新选择其他的Server执行认证,同时通知哪台或哪几台Server失败,以进一步

22、处理。同样Server验证CA的运用状态或身份失败时也通知人员。如果是CA的运用状态没有通过验证,表示CA主机受到攻击,可以重新安装软件。如果是验证CA身份失败,表示CA被替换,可以重新更换CA。由于CA知道组合方案和Server的忙闲程度,因此不像荆方案那样需要每个 Server都参与计算,因此具有较高的负载均衡能力。 223受损密钥的检查和更新 本方案不主动检查受损密钥,当发现Server遭受攻击或子密钥被泄露时候,执行子密钥更新算法,对子密钥进行更新。把KeyAuthDatai 输入到Manager的TPM中。由Manager向运行正常的 t 个Server发出请求子密钥的指令,各Ser

23、ver在验证Ma nager身份、Manager的运行状态以及子密钥的授权数据KeyAuthDatai 后,用Manager的存储密钥加密的子密钥,并签名返回发给Manager。Manager用TPM解密把所有加密的数据,解出子密钥得到CA的私钥,然后重新运行密钥生成和发布算法。 在此算法中KeyAuthDatai 拥有的也采用秘密共享原则分配。 224密钥更新 更换CA的私钥,重新运行密钥生成和发布算法,即可完成密钥的更新。 225门限的扩充 门限的扩充也通过重新运行密钥生成和发布算法。 3安全性 (1)假定 本方案假定RSA算法是安全的,假定TPM是按照TCG规范9实现的,能够抵抗软件攻击

24、和一定的物理攻击,并且BIOS能够正确度量平台的运行状态,并将度量结果保存到PCR中。 (2)威胁模型 我们考虑的威胁为两类,即外部攻击和内部攻击。外部攻击是通过网络入侵到系统的攻击;内部攻击是能够直接触到CA系统硬件的攻击者所发出的攻击。 (3)安全性分析 本方案采用门限密码技术对CA的私钥进行共享,使得在获得小于t个子密钥也不能获得CA的私钥,在小于t个Server失效时候仍然可以提供认证签名。无论是外部攻击还是内部攻击只要不获得超过t个子密钥,就不能获得CA的私钥。 在Manager与Server,Server与CA的交互过程中均使用TPM的身份密钥和存取密钥,数据都必须用TPM签名和加

25、密,验证和解密也在TPM内部。这样即使主机上安装了后门软件或窃取硬盘也不能获得CA的私钥。由于秘密只是在TPM内部,所以本方案能有效地抵抗内部攻击。同时Server和CA互相验证对方的运行状态,使得在机器受到攻击时候能够被检测出来,极大地提高了整个系统的安全性。 4性能 根据我们的设计方案,在五台安装有安全芯片的机器上,实现(3,5)门限的CA系统。在认证过程实现了负载均衡,能够根据Server运行状态选择Server有较高的效率。利用的TPM的RSA加速引擎后,本方案中密钥产生和认证的平均时间如表2所示。 5结束语 基于安全芯片的CA方案和以往的CA方案相比不仅有容错机制,够抵抗外部攻击,同时使用TPM的功能抵抗内部攻击。每台机器多安装一块安全芯片,相对荆方案实现中需要额外的Combiner, COCA方案中需 3t+1台机器才能实现t 门限,其成本也是很低的。本方案虽然是基于RSA体制,但也很容易改为椭圆曲线体制。此外随着Intel的LT技术12,Microsoft的Palladium项目中13都会使用TPM,因此基于安全芯片TPM的CA方案是有意义的和可行的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1