ImageVerifierCode 换一换
格式:PPT , 页数:73 ,大小:1.17MB ,
文档编号:7817465      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-7817465.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《信息安全工程》课件第9章.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《信息安全工程》课件第9章.ppt

1、第9章基于身份的公钥体制 第9章基于身份的公钥体制 9.1基本概念基本概念 9.2Shamir的基于的基于ID的签名方案的签名方案 9.3Girault的自证实公钥方案的自证实公钥方案 9.4SOK密钥共享系统密钥共享系统 9.5Boneh和和Franklin的基于的基于ID的密码体制的密码体制 9.6Boneh-Franklin体制的扩展体制的扩展 9.7基于基于ID公钥体制在公钥体制在WSN中的应用举例中的应用举例9.8两种公钥体制比较两种公钥体制比较 第9章基于身份的公钥体制 9.1基本概念基本概念9.1.1历史背景历史背景就通常的公钥密码而言,密钥的生成过程始终包含如下步骤:publi

2、c-key=F(private-key)由于每一个公钥都包含着一段看似随机的成分,因此有必要让主体(用户)的公钥以一种可验证的和可信的方式与主体(用户)的身份信息相关。很显然,为了传递一条用公钥加密的秘密消息,发送者必须确信这个看似随机的公钥的确属于所声称的签名人。第9章基于身份的公钥体制 9.1.2基于基于ID的密码功能的密码功能在通常意义下的公钥密码中,Bob运用Alice的公钥来验证Alice的签名,同时他也应该验证Alice公钥的真实性。例如,Bob可以通过验证Alice的公钥证书(Alice的公钥与她的身份相关联)来验证Alice公钥的真实性,即Bob应该确信与Alice的密钥信道已

3、经正确地建立。在基于ID的签名方案中,意识到Bob不需要执行一个基于密钥信道建立的认证,这点是十分重要的。当Bob验证签名为True时,同时表明以下两个问题:第9章基于身份的公钥体制(1)Alice用基于她的ID的私钥生成签名。(2)Alice的ID已经被可信中心认证,她的ID证书使得Alice可以生成签名。在一个逻辑步骤内能够同时验证两件事是基于ID签名方案所提供的一个很好的特征,能够避免从签名者到验证者的证书传递,节约通信带宽。这种特性给基于ID的密码体制带来了另一个名字非交互式的公钥密码体制(NoninteractivePublicKeyCryptography)。非交互式的公钥密码体制

4、在基于ID的加密系统中有非常重要的意义。第9章基于身份的公钥体制 9.1.3两个挑战两个挑战基于ID密码的用户的密钥生成过程如下:private-key=F(master-key,public-key)(9.1.2)在这个用户私钥的提取方法中,用户提交他所选择的公钥。这是个危险的模型,用户可能就是潜在的恶意者,然而可信中心Trent必须无条件地计算并把私钥privatekey返回给用户。第9章基于身份的公钥体制 注意:为了使密码系统是一个基于ID的密码系统,或者说是没有交互的或无证书的密码系统,函数F必须是确定性的(Deterministic)。这样,用户的密钥生成过程就不含随机输入。换句话说

5、,每个用户的私钥privatekey是主密钥masterkey的一个确定的像。通常认为这个计算(对抵制masterkey的密码分析而言)是一个具有潜在不安全性的运算。在了解GoldwasserMicali对DiffieHellman的确定性陷门函数模型的批评之后,可以很容易地理解这个不安全性。在标准的公钥密码应用中,Trent通过增加随机输入广泛地避免了这种不安全性。第9章基于身份的公钥体制 研究具有随机私钥的基于ID的公钥密码是一件有意义的事,这是第一个公开问题。第二个具有挑战性的问题就是设计一个基于ID的具有非交互身份撤销特点的密码系统。如果用户的私钥被泄露,则有必要撤销他的身份。第9章基

6、于身份的公钥体制 9.2Shamir的基于的基于ID的签名方案的签名方案9.2.1方案描述方案描述在Shamir的基于身份的签名方案中有以下四个算法:(1)建立:由Trent运行建立算法以生成系统参数和主密钥,Trent为可信中心。(2)用户密钥的生成:这个算法也由Trent执行,输入为主密钥和一条任意的比特串id0,1*,输出与id对应的私钥,这是式(9.1.2)的一个实例。(3)签名:签名算法的输入为一条消息和签名者的私钥,输出一个签名。(4)验证:签名的验证算法的输入为一个消息签名对和id,输出True或False。第9章基于身份的公钥体制 第9章基于身份的公钥体制 第9章基于身份的公钥

7、体制 2.用户的密钥生成用户的密钥生成假设ID表示用户Alice唯一可以识别的身份。在进行Alice身份的物理验证和确认ID具有唯一性之后,Trent生成的密钥如下:(mod)dgIDN第9章基于身份的公钥体制(mod)etrN所得到的签名为(t,s)。第9章基于身份的公钥体制 第9章基于身份的公钥体制 9.2.2 方方案案说说明明 如果签名的验 证是True 的 情况,就表明Alice 拥 有(|)h t MID t 和(|)h t MID t 模N唯一确定的e-次 方根((|)h t MID t 模N的e-次方根就是s,唯一性由gcd(,()1eN 保证)。(|)h t MID t 的构造

8、不是一件困难的事。例如,可 以选择一个随机数r,构造(|)h t M,然后,计算(|)h t Mt(mod N)并乘 以身份ID,最后得到 结果(|)h t MID t。然 而,因为在 构造过程中引入 了密码杂凑函数,所构造的值是可 识别的,但是,要求 所构造的值的e-次方 根是困难的。因 此,假设Alice 拥有 身份ID的e次方根,这 是Trent 发 给Alice的私钥,她 能够使用该密钥 构造一个签名对。第9章基于身份的公钥体制 9.3Girault的自证实公钥方案的自证实公钥方案9.3.1自证实公钥自证实公钥假设(s,P)是一公、私钥对,公钥认证框架提供了一个密钥对和一种保证书G,将

9、P与身份I联系起来。在一个基于PKI的公钥认证框架中,保证书G上有CA对(I,P)的数字签名。这个认证框架由四个不同的属性值(s,I,P,G)构成。其中的三个属性值(I,P,G)是公开的,且可以在公共目录上获得。当一个主体需要的公钥时,他可以得到公开的三元组(I,P,G),用CA的公钥验证G之后,可利用P来认证用户。第9章基于身份的公钥体制 在基于身份的认证框架(例如9.2节中Shamir的方案)中,公钥就是身份I。因此,PI,并且这个认证框架由两个属性值(s,I)构成。我们知道,当一个主体需要认证Alice的公钥I时,就必须验证她的签名,结果为True则表明这个公钥是真实的。所以,保证书就是

10、他的私钥,即Gs。Girault建议的公钥认证框架方案介于基于证书方案和基于身份方案之间。在Girault方案中,保证书等于公钥,即GP,所以可以说它是自证实的,每个用户都有三个属性(s,P,I)。在Girault方案中,用户的私钥可以由用户选择。第9章基于身份的公钥体制 9.3.2 Girault 的方案描述的方案描述 1.系统密钥数据系统密钥数据 Trent 生成 RSA密钥数据如下:一个公开模数 NPQ,其中P,Q 是长度相等大素数,例如|P|512Q;一个公开指数e 且与()N互素,其中()(1)(1)NPQ;一个秘密指数d 且满足1()edN;一个公开元素 g Z*n具有最大的乘法阶

11、,为了计算 g,Trent 找Pg 作为模P 的生 成元和Qg 作为模Q 的生成元,然后 Trent 可以运用中国剩余定理来构造 g。Trent 公开系统参数(N,e,g),并秘密保存系统私钥d。第9章基于身份的公钥体制 2.用户的密钥数据用户的密钥数据Alice随机选择一个长度为160bit的整数sA作为私钥,计算:(mod)AsvgN并把v发送给Trent。然后,她运用协议向Trent证明她知道sA且不泄漏sA,并发送她的身份IA给Trent。Trent创建Alice的公钥为v-IA的RSA签名:()(mod)dAAPvINTrent发送PA给Alice作为Alice公钥的一部分。因此,下

12、面的等式成立:(mod)eAAIPvN(9.3.1)第9章基于身份的公钥体制 第9章基于身份的公钥体制 9.3.3方案说明方案说明Girault的自证实公钥拥有Shamir的基于身份的公钥的一个特点,即不需要对可信赖的第三方发给密钥所有者的密钥证书进行验证。这个验证是暗含的,并且与验证密钥所有者的密码能力同时进行。验证者除了需要一个身份,还需要一个独立的公钥,即除了I外还需要P,前者不能由后者得到,这就意味着验证者在使用密钥所有者的公钥之前,必须向其发出使用公钥的请求。这是一个额外的通信步骤。因此,Girault的自证实公钥不是非交互的公钥密码体制,这是自证实公钥的一个缺陷。第9章基于身份的公

13、钥体制 9.4SOK密钥共享系统密钥共享系统9.4.1方案描述方案描述像Shamir的基于ID的签名方案一样,Sakai、Ohgishi和Kasahara的基于ID的密钥共享系统(简称为SOK密钥共享系统)也需要一个可信的机构Trent来操作密钥建立中心。这个SOK密钥共享系统包含下面三个组成部分:(1)系统参数建立:Trent运行这个算法来建立全局系统参数和主密钥。(2)用户密钥生成:Trent运行这个算法,其输入为主密钥和一个任意比特串id0,1*,输出相应于id的私钥,这是式(9.1.2)的一个实例。(3)密钥共享方案:两个端用户以非交互的方式执行该方案,该方案以用户的私钥和意定通信方的

14、公钥(id)为输入,最后该方案输出一个由这两个用户共享的密钥。第9章基于身份的公钥体制 第9章基于身份的公钥体制 2.用户密钥生成用户密钥生成假设IDA表示Alice的唯一可识别的身份,且IDA包含足够多的冗余以至于系统中其他用户不可能以IDA作为她/他的身份。在对Alice的身份进行物理识别并确定IDA的唯一性之后,Trent的密钥生成服务如下:(1)计算PIDAf(IDA),这是G1中的一个元素,并且是Alice的基于ID的公钥。(2)Alice的私钥为SIDA,且满足SIDAlPIDA。第9章基于身份的公钥体制 3.密钥共享方案密钥共享方案对于用户Alice和Bob而言,IDA和IDB分

15、别是他们的身份信息且他们都相互知道对方的身份。因此,各自的公钥分别为PA=f(IDA)和PB=f(IDB),而且他们彼此也知道。Alice通过计算:(,)ABABIDIDKe SP可以产生一个共享的密钥 2(,)ABKGBob通过计算(,)BABAIDIDKe SP可以产生一个共享的密钥2(,)BAKG。第9章基于身份的公钥体制 注意根据这个对的双线性特性,我们可以得到(,)(,)(,)ABABABlABIDIDIDIDIDIDKe SPe l PPe PP同理:(,)BAlBAIDIDKe PP 因此,即使Alice和Bob不交互信息,他们也确实能够共享一个密钥。第9章基于身份的公钥体制 9

16、.4.2方案说明方案说明对于除Alice、Bob和Trent之外的另一方而言,由公共数据(P,PIDA,PIDB,Ppub)求kAB是一个双线性DiffieHellman问题(BilinearDiffieHellmanProblem),它本质上是一个CDH(ComputationalDiffieHellman)问题。第9章基于身份的公钥体制 当Bob收到一条用kAB认证的消息时,只要这条消息不是他本人发送的,他就确切地知道Alice是这条消息的所有者。然而,因为Bob同样具有构建这个消息的密码的能力,所以尽管Alice向指定验证者Bob证明了消息的来源,她仍然可以在第三方面前否认她参与通信。考

17、虑Alice和Bob是间谍的情况,当他们联系时,他们必须向对方认证自己。然而,作为一个双重代理,Alice可能担心Bob也是一个双重代理。因此,一个对间谍的认证方案必须有一个绝对不可否认的认证特性。SOK密码共享系统恰好具有这样的特性,它是一个基于公钥的系统,即认证不需要基于在线的可信第三方。第9章基于身份的公钥体制 9.5Boneh和和Franklin的基于的基于ID的密码体制的密码体制9.5.1方案描述方案描述Boneh和Franklin的基于ID的密码体制由以下四个算法组成:(1)系统参数的建立:Trent运行该算法来生成系统的全局参数和主密钥。(2)用户密钥的生成:Trent运行该算法

18、,其输入为主密钥和一个任意的比特串id0,1*,输出相应于id的私钥。(3)加密:这是个概率算法,用公钥id来加密消息。(4)解密:把密文和私钥输入该算法,最后返回相应的明文。第9章基于身份的公钥体制 第9章基于身份的公钥体制 2.用户密钥的生成用户密钥的生成假设ID表示用户Alice的唯一可识别的身份。对Alice进行物理鉴定以确信ID具有唯一性。Trent的密钥生成方式如下:(1)计算QIDf(ID),这是G1中的一个元素,并且也是Alice的基于身份的公钥。(2)Alice的私钥为dID,且满足dIDsQID。第9章基于身份的公钥体制 3.加密加密为了发送秘密消息给Alice,Bob要首

19、先获得公开参数(G1,G2,e,n,P,Ppub,f,h)。运用这些参数,Bob计算:(ID)IDQf第9章基于身份的公钥体制 4.解密解密假设c=(U,V)C是用Alice的公钥ID加密的密文。为了用它的密钥dIDG1来解密C,Alice计算:(,)IDVH e dU第9章基于身份的公钥体制 9.5.2方案说明方案说明可以证明,9.5.1节所描述的系统的确是一个密码系统。我们注意到:(,)(,)(,)(,)(,)IDIDsIDIDIDpubIDe dUe s Qr Pe Qr Pe Qr s Pe Qr Pg 因此,在解密过程中,Alice输入杂凑函数h的值实际上是gID,即与Bob在加密过

20、程中输入的杂凑函数的值一样。又因为异或运算是自取逆,所以(,)()()IDIDIDVH e dUMH gH gM第9章基于身份的公钥体制 9.6BonehFranklin体制的扩展体制的扩展9.6.1方案描述方案描述1.系统参数的建立系统参数的建立假设参数(G1,G2,e,n,P,h,f)的定义同9.5节,进一步有:11PsP22PsP满足,三元组(P,P1,P2)起9.5节中(P,Ppub)的作用。也就是说,s1和s2分别是Trent1和Trent2的主密钥。因此,(G1,G2,e,n,P,h,f)是系统的公共参数,这些参数被固化在应用中。第9章基于身份的公钥体制(1)(2)IDIDIDdd

21、d如果这两个Trent不勾结,那么他们就不知道这个私钥。注意:Alice有唯一的公钥ID。第9章基于身份的公钥体制 3.加密加密为了发送一条秘密消息给Alice,Bob首先获得系统参数(G1,G2,e,n,P,h,f),然后,利用这些参数计算:()IDQF ID假设消息被分成n比特的块,为了加密m0,1n,Bob选取一个数rUZp,并计算:12(,()IDIDge Qr PP(,()IDCr P MH g这个密文就是C,因此,密文是由G1中的一个点和0,1n中的一个比特串组成的对。即密文空间。第9章基于身份的公钥体制 4.解密解密假设c=(U,V)C是用Alice的公钥ID加密的密文,为了用她

22、的私钥dIDG1解密密文c,Alice计算:(,)IDVH e dU其中:121212(,)(,)(,)(,)(,()IDIDIDIDIDIDe s Qr P e sQr Pe Qr sP e Qr sPe Qr PPg12(,)(,)IDIDIDe dUe sQsQr P第9章基于身份的公钥体制 因此,Alice恢复了gID。因为比特异或是自取逆运算,所以Alice能够解密:(,)()()IDIDIDVH e dUMH gH gM第9章基于身份的公钥体制 9.6.2方案说明方案说明有以下问题值得讨论:(1)与一个Trent时的情况相比,加密和解密需要双倍的计算量,但是Alice的ID数目没有

23、增加,密文的长度也没有增加。(2)勾结的Trent能够联合起来解密,但是他们中任何单个人都不能解密。当使用多个Trent时,对无勾结的信心就增大了。很容易看到,增加Trent的数目,Alice的ID数目和密文的长度保持不变,然而,加密和解密所需要的计算量随着Trent的数目的增加而线性增加。第9章基于身份的公钥体制(3)当使用几个Trent时,要对用户的密文解密,需要所有的Trent勾结。如果相信至少一个Trent是可信赖的,那么就可以防止Trent的搭线窃听。因此,这个扩展的IBE方案适合于开放环境下的应用。第9章基于身份的公钥体制 9.7基于基于ID公钥体制在公钥体制在WSN中的应用举例中

24、的应用举例 第9章基于身份的公钥体制 第9章基于身份的公钥体制 第9章基于身份的公钥体制 9.7.2节点之间双向认证及密钥协商协议节点之间双向认证及密钥协商协议如果节点1向其下一个节点2发送信息之前,不进行身份认证,则节点1会默认节点2是有效节点,并认为自己到节点2的路由是通的,这时就很可能选取通过节点2的一些路由,在以后通信中源源不断地向节点2发送信息。假设节点2不是合法节点,尽管不会对消息的保密性造成威胁,但这会耗费带宽资源和设备能量。同时,也很可能造成网络黑洞攻击。如果节点2是攻击者设置的节点,那么它会在收集到通信数据后,以节点2的身份作为公钥,设法骗取第三方密钥生成中心PKG为其生成私

25、钥,从而获取通信明文。另外,由于节点数目庞大,每对节点之间的各种控制、命令和数据通信也更为频繁,因此频繁地使用同一加密密钥是不安全的,必须进行定期更新,而基于身份直接计算的密钥无法更新,这也可能造成安全问题。事实上,很少有系统直接使用基于身份直接计算的密钥作为会话密钥,而只是把基于身份直接计算的密钥用于身份认证和进一步的会话密钥协商。因此,不管是从安全性考虑,还是从性能方面考虑,在无线传感器网络中,都必须在节点通信之前进行节点认证和会话密钥协商。第9章基于身份的公钥体制 首先由A发送给B如下消息:Message1=IDa,IDb,Nonce,CKey 第9章基于身份的公钥体制 Message2

26、=IDb,IDa,Nonce,MIC 第9章基于身份的公钥体制 第9章基于身份的公钥体制 9.7.3安全性分析安全性分析1.重放攻击重放攻击在9.7.2节的协议中,协议的每一次执行都由协议的发起方随机选取一个随机数Nonce来标识,如果收到两次或两次以上使用相同Nonce的协议分组,则将其视为重放消息而丢弃。第9章基于身份的公钥体制 2.消息认证消息认证在构造Message1消息时,发送方A会使用自己的私钥和B的公钥计算一个和B共享的完整性校验密钥,并对传送的消息计算完整性校验码。由DiffieHellman密钥交换安全机制可知,只有A和B可以计算该完整性密钥,这样B就可以通过验证确认该消息是

27、A发送的。Message2由A和B共享的密钥进行完整性保护,同样,A可以验证B是否正确获取自己传送的密钥,从而确定B的有效性。第9章基于身份的公钥体制 3.抗伪造性抗伪造性一个恶意攻击者除非设法获取发送者的私钥或接收方的私钥,否则,无法构造合法消息通过最后的完整性验证。攻击者要在之前协议的条件下,通过消息内容获取合法参与者的私钥,等同于攻破椭圆曲线离散对数问题,这在计算上是不可行的。第9章基于身份的公钥体制 4.私钥验证私钥验证由上述分析可知,如果没有发送者的私钥,则无法构造消息来使接收方验证成功,接收方可以通过签密方案中的验证方法来验证发送者的私钥有效性;如果接收方没有正确的解密密钥,那么他

28、将无法正确解密密钥Key,从而无法构造有效的Message2,因此,发送方通过验证Message2的有效性,可以验证接收方的私钥有效性。第9章基于身份的公钥体制 9.7.4性能分析性能分析无线传感器网络节点之间的安全认证及密钥协商协议采用了基于身份的公钥密码系统的特点,使方案的实施避免了传统公钥系统中复杂的公钥管理难题。用户的公钥就是用户的身份信息或由身份信息生成的信息。用户不需要管理公钥簿。协议消息的构造和解析过程不再需要证书的传递和验证,只要接收者和发送者的身份信息和一些系统参数即可。接收者和发送者最耗时的运算均为1次双线性映射,这样就大大降低了对终端节点的计算、存储能力的需求和系统密钥管

29、理的通信开销。第9章基于身份的公钥体制 另外,椭圆曲线上双线性对的使用能使方案以较短的密钥得到同等安全强度,而且非超奇异椭圆曲线离散对数问题的难度远远超过有限域Fp上离散对数问题(DLP)的难度,这使得椭圆曲线密码可使用长度小得多的密钥。例如,在同等安全的前提下,160bit的椭圆曲线密码相当于1024bit的RSA,而加密和解密速度比RSA快很多。这样可使文中的方案以更少的计算量和数据传输量达到同等的安全要求。目前基于椭圆曲线双线性对的安全协议已成为一些低性能设备的首选,如智能卡等。第9章基于身份的公钥体制 相比之下,已有的无线网络安全协议,如IEEE802.11(i)和WAPI等,都基于传

30、统公钥密码体系,其方案的实施要依赖于代价昂贵的传统公钥基础设施,用户要面临公钥及其证书的管理、传递和验证等繁琐问题,而且密钥长度相对较长,从而所需的计算量、传输量和存储量也更大。接收者和发送者最耗时的运算为1次双线性映射,而无需存储对方的公钥及数字证书,因此,基于身份和双线性对的安全协议在计算和存储性能上相当高效,能够满足无线传感器网络的安全性和性能要求。第9章基于身份的公钥体制 9.7.5安全性增强安全性增强对于无线传感器网络来说,一个好的安全协议不仅仅要求具有高的安全性,一般更要求具有较好的性能,能够适合无线传感器网络节点的应用。现有的绝大多数安全认证协议对计算、通信、存储等资源要求较大,

31、不适合无线传感器网络。在设计无线传感器网络安全协议时,必须在安全性和性能要求方面做一折中。9.7.2节中给出的安全协议是一个2轮协议,而且计算性能较高,但是其安全性仅仅能够满足基本的安全性要求。例如,在一些网络协议中,要求所协商的密钥由协议双方共同提供密钥材料,不能只由协议某一方单独决定;在更高的安全要求下,安全协议往往要求具备完备的前向保密性,也就是说,即使协议双方的私钥全部泄露,也不会影响之前所协商的会话密钥。显然,9.7.2节中的协议不能满足这些要求,但是,如果愿意牺牲一些计算性能,那么可以很容易地将协议进行改进。第9章基于身份的公钥体制 改进一:在9.7.2节的协议中,如果在A通过Me

32、ssage1向B发送密钥Key的同时增加一条消息,那么由B通过相同构成的Message1向A也发送一个密钥Key1。最终协商的主密钥为Key和Key1的异或值,从而导出会话加密密钥EK和消息完整性密钥IK。这样,协议双方共同决定了最终协商的密钥。这里,A和B只需分别向对方发送Message1即可,而不再需要发送Message2。该协议也是一个2轮协议。第9章基于身份的公钥体制 改进二:为了使得协议具有完备的前向保密性,可以在上面改进方法的基础上再做一些修改。A在选取Key时,随机选取一个秘密整数x,令Key=xP;B在选取Key1时,随机选取一个秘密整数y,令Key1=yP。在执行完协议后,协

33、议双方可以计算相同的主密钥MK=e(Key,y)=e(x,Key1),然后利用MK作为种子,导出所需的会话加密密钥EK和消息完整性密钥IK。即使A和B的私钥都被泄露,由于攻击者不知道x和y的值,因此他也无法计算出MK,这是由双线性DiffieHellman问题(BDH问题)决定的。第9章基于身份的公钥体制 9.8两种公钥体制比较两种公钥体制比较9.8.1历史背景历史背景通常在实际应用中为了应用公钥密码系统,需要一个能够简单验证公钥与主体身份相关的验证机制,即要求公钥的拥有者可以向系统证实该公钥就是他自己的公钥。目前,我们可以使用两种不同的方法来实现公钥证实问题:一种是使用证书的公钥基础设施(P

34、KI,PublicKeyInfrastructure);另一种是基于身份的公钥密码学(IdentityBasedPublicKeyCryptography)。第9章基于身份的公钥体制 9.8.2两种公钥体制的异同点两种公钥体制的异同点相比于PKI技术,基于身份的密码技术具有以下优点:(1)系统存储负担小。在PKI中,每个用户需要由可信中心CA为其颁发一个数字证书,并将其安全保存。在认证过程中,该用户需要向其他用户出示自己的证书。另外,如果需要和其他用户进行通信,则必须事先设法获得其数字证书。每个用户需要保存自己和其他用户的多个数字证书。在基于ID的密码中,用户的公钥和身份信息是一致的,无需数字

35、证书支持。因此,在实现时,基于ID的密码系统可以节约存储空间。第9章基于身份的公钥体制(2)系统实现代价小。基于PKI的密码系统需要很大的代价来实现公钥基础设施平台,该平台一般都由运营商管理。基于身份的公钥密码系统的使用减小了建立和管理公钥基础设施PKI的代价。基于PKI的应用大多是大规模应用,而对于小的家庭应用、应急环境等场合,基于ID的密码系统更为适合。第9章基于身份的公钥体制(3)系统通信量较小。基于PKI的密码系统中,在认证时,用户需要和通信方交换和传递数字证书,并通过几轮消息交互来实现对用户公钥的验证,而且为了验证证书是否过期等问题,需要和可信第三方CA进行交互,处理比较复杂。基于身

36、份的公钥密码系统中,不存在证书传输和公钥验证问题,协议相对简单。对于系统带宽较窄和处理能力较弱的应用场景,基于ID的密码技术较PKI更为合适。第9章基于身份的公钥体制(4)能够避免证书盗用问题。证书是公开信息,不能从证书内容验证其与拥有者之间的关联关系。在PKI中,由于协议设计问题通常会导致攻击者冒用合法用户的证书来接入系统,一般这样的系统实现的是只认证、不加密功能。PKI中的数字证书及其拥有者之间的关联关系是必须通过私钥验证来确认的,这往往会诱使攻击者设法避开私钥验证过程从而实施攻击。基于ID的密码技术中,公钥本身就是其拥有者的身份,天然地将公钥及其拥有者绑定起来,无需进行验证,因此,冒用别

37、人身份ID是没有意义的,协议一开始就能够被对方识别出来。基于PKI协议的设计漏洞往往可以导致证书盗用,而基于ID的密码可以避免这种问题。第9章基于身份的公钥体制 在大规模应用中,基于PKI的密码系统能够很好地实现密钥管理、证书更新、密钥更新等问题,但其实现代价较大,开发周期较长,使之对于一些小规模应用、应急任务等场合是不适合的。基于ID的密码系统却非常适合小规模应用、应急任务等场合。另外,比起PKI技术,基于ID的密码系统也存在固有的缺点,就是身份更新和密钥更新问题。身份一般是唯一的,不能随便变动,对于身份更新,我们可以采用用户身份信息和一个随时间更新的、公开的、确定的信息作为用户公钥;对于密

38、钥更新问题,在公钥不变的情况下,每个用户需要和可信中心交互进行私钥更新。如果是大规模应用,这些都会带来不便,但是在小规模、临时性、应急任务中,这些问题都被弱化了,不会影响系统的应用。第9章基于身份的公钥体制 9.8.3基于基于ID公钥体制的特殊用法公钥体制的特殊用法除了9.8.2节所述的差异外,基于PKI的公钥体制和基于ID的公钥体制在应用中还存在一些差别。在基于PKI的公钥体制中,通信双方必须事先选取自己的公钥,并将自己的私钥在可信第三方处进行注册和公证,即申请数字证书。在通信之前,通信双方除了要设法获取对方的公钥外,还要通过其证书验证对方公钥的有效性。只有完成通信验证,通信双方才可以进行安

39、全通信。第9章基于身份的公钥体制 对于基于ID的公钥体制来说,一方面可以和基于PKI的公钥体制一样,事先由可信第三方为其计算私钥,接着通信双方可以以对方的身份ID为公钥进行保密通信。另一方面,对于基于ID的公钥体制来说,通信双方不一定必须在通信开始之前到可信第三方处获取自己的私钥,他们完全可以直接根据对方的身份ID作为公钥先进行保密通信。通信的接收方收到密文信息后,只有当他真的需要读取明文信息时,才需要向可信第三方出示自己的身份证明,以获取私钥。利用该私钥可以解密所获取的密文。基于ID的通信流程如图9.8.1所示。第9章基于身份的公钥体制 图9.8.1基于ID的通信流程 第9章基于身份的公钥体

40、制 图9.8.1中,当左边的用户Bob给右边用户Alice通过加密方式发送信息时,Alice还没有从应用服务器(可信第三方)获取密钥,甚至她根本不知道存在这种应用。这种方式有很重要的应用,很像中国移动的彩信业务,任何人都可以给你发送彩信,具有接收彩信功能的手机可以接收彩信消息,但只有开通了GPRS网络服务的手机才可以下载彩信。如果用户已开通了GPRS网络及各种所需服务,则可以直接下载并读取彩信内容。如果用户没有开通这些功能,那么这时他有两种选择:一是对彩信内容不感兴趣,直接删除;二是注册开通GPRS网络及各种所需服务以便读取彩信内容。也许这种应用的安全解决方案可以借鉴基于ID公钥体制的独特用法

41、。第9章基于身份的公钥体制 另外,图9.8.1所示的这种应用模式还适合这种情况:假设Alice已经从应用服务器获取了自己的私钥,这时Bob给Alice发送信息时,不必使用Alice的身份作为公钥,他可以选取一个可公开的杂凑函数f,并随机选取一个随机数N,使用“f(Alice)N”作为公钥加密信息。通信时,Bob会将密文及公钥f(Alice)N一起发送给Alice。Alice收到Bob发送的密文及公钥f(Alice)N后,将自己的身份Alice和f(Alice)N一起发送给应用服务器以索取解密私钥。应用服务器收到Alice的密钥索取请求后,首先验证Alice身份是否有效,然后验证公钥的前半部分是

42、否等于Alice身份的杂凑值f(Alice)。第9章基于身份的公钥体制 如果都验证通过,则应用服务器计算公钥f(Alice)N对应的私钥,并将其以Alice的身份作为公钥加密发送给Alice。Alice收到应用服务器发送的信息后,用自己的私钥解密,获取公钥f(Alice)N对应的私钥,从而解密得到Bob发送的明文信息。这样就可以避免普通用户之间直接使用身份作为公钥加密,降低了公钥的使用次数。这一点很重要,因为基于ID的公钥体制不支持身份更新,而密钥使用一段时间或若干次加密操作后,安全性就降低了,需要更新密钥,但这对于基于ID的公钥体制来说又是不可能的。因此,这样做可以减少用户ID的使用次数,从

43、而确保用户ID更长的使用期。另外,迫使接收者到应用服务器验证自己的身份、权限等信息,避免了接收者身份已经失效而给发送者带来损失(往往发送者是不知情的)。第9章基于身份的公钥体制 9.8.4两种公钥体制的融合两种公钥体制的融合前面充分论述了两种方案的异同,其实两种方案各有优缺点。基于PKI的公钥体制易于进行身份验证、身份更新、身份管理等,但需要证书支持;基于ID的公钥体制不需要公钥验证、证书支持等,但无法处理ID更新、ID有效性验证等。这里我们给出一种融合思想,供读者在工程实践中参考。图9.8.2为两种公钥体制的融合思路。第9章基于身份的公钥体制 图9.8.2两种公钥体制的融合技术 第9章基于身

44、份的公钥体制 图9.8.2中,用户A和B要通过基于ID的公钥体制进行某种安全协议,IDa和IDb分别表示他们的身份信息,即他们的公钥;S为后台服务器,用于验证用户身份,维护合法用户列表及其权限、时效等信息;Na和Nb表示随机数,用于实现协议消息的新鲜性验证。协议过程如下:(1)通信发起方A将自己的身份IDa、随机选取的随机数Na、协议消息内容P_DATA_A发送给B。(2)收到A的协议请求后,B将自己和A的身份一起发送给S,让S给出身份验证结果。第9章基于身份的公钥体制(3)S根据自己维护的用户、权限、时效等信息,给出A和B身份有效性验证结果R_IDa和R_IDb,同时给出自己的签名信息,可以是基于ID的签名Sig_ID,也可以是基于PKI的签名Sig_PKI。(4)当B收到S发送的信息后,可以验证S的签名以确认A的身份有效性。如果A的身份有效,则将S发来的信息以及自己的协议消息内容P_DATA_B一起发送给A。(5)当A收到B发送的信息后,可以验证S的签名以确认B的身份有效性。(6)如果A和B的身份都有效,则他们可以进一步完成协议的其他功能。如果有一方身份无效,则需要终止协议。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|