APP下载

基于无证书公钥密码体制的密钥管理

2010-03-21郑晓丽姜迪刚

通信技术 2010年7期
关键词:发送给私钥公钥

郑晓丽, 姜迪刚

(军事体育进修学院,广东 广州 510500)

0 引言

由于移动通信系统越来越多地使用IP通信技术,未来的移动通信系统必然朝着全IP网络方向发展,而移动IP技术为未来的全 IP移动通信系统提供了一个标准的全球移动性解决方案。移动IP协议在实际应用中,实现主机移动性的同时,也带来了潜在的安全问题。为了保障移动IP在实际注册过程中的安全,国内外专家已提出多种移动IP注册协议,其中无证书公钥技术更适合IPv6[1]环境下的注册认证[2-3],现提出一种新的接入注册技术,采用移动IPv6,IPSec相融合的安全体系,来完成用户的注册与认证[4]。

1 无证书的签名方案

一个无证书签名方案一般由七个算法组成:系统初始化、部分私钥提取、秘密值生成、公钥生成、私钥生成、签名和验证。

1.1 系统初始化

输入安全参数k,KGC运行算法:输出〈G1, G2, e〉,其中G1和G2是两个q阶循环群,e:G1×G2→G2是一个双线性映射。选择一个随机数s∈和G1的一个生成元P∈G1。计算Ppub=sP和g=e (P,P)。选择三个密码学哈希函数H1:{0,1}*→,

公开系统参数params=〈G1, G2, e, q, g, P, Ppub, H1, H2,H3〉。消息空间为M={0,1}*。系统主密钥master-key为s∈。

1.2 部分私钥提取

KGC在证实了用户A的身份后,输入系统参数params、主密钥 master-key和一个用户 A的身份标识符 IDA,IDA∈{0,1}*,计算qA=H1(IDA)∈G1并返回用户A的部分私钥DA= ( s + qA)-1P∈G1,然后将DA通过安全信道传送给用户A。

1.3 秘密值生成

输入用户A的身份标识符IDA和安全参数k,输出一个随机数xA∈作为用户A的秘密值。该算法由用户A运行。

1.4 公钥生成

输入系统参数 params和秘密值 xA,计算QA=Ppub+H1(IDA)P∈G1和RA=xAQA∈G1,并返回用户A 的公钥PKA=RA∈G1。该算法由用户A运行。

1.5 私钥生成

输入用户A的秘密值xA、公钥RA和部分私钥DA,计算yA=H2(RA)∈ Z∗q和SA= ( xA+ yA)-1DA∈G1,并返回用户A的私钥SKA=SA。该算法由用户A运行。

1.6 签名

输入消息明文m∈M、签名者身份IDA、私钥SA及系统参数params,该算法运行如下:选择一个随机数r∈;计算 U=gr=e(P,P)r;设 h=H3(m, U) ∈;计算V=(r+h)SA;返回σ=(U,V)作为签名者A对m的签名。

1.7 验证

输入消息m、签名σ、签名者身份IDA、公钥RA及系统参数params,若签名被验证通过则输出“1”,否则输出“0”。

① 计算 QA=(s+qA)P=Ppub+H1(IDA)P,yA=H2(RA)及h=H3(m, U);

② 检查e (V, RA+ yAQA) = Ugh是否成立。如果等式成立,验证者输出“1”,否则输出“0”。

该CLS方案满足完整性如下:

e (V, RA+ yAQA) = e ((r + h) SA, xA(Ppub+ qAP) + yA(Ppub+((r + h)P, P) = e (P, P)r+h= Ugh,该签名方案的安全性证明将归约到k-CAA问题和群上的CDH问题,可以得出该签名方案在随机预言模型下是安全的。

2 协议的仿真设计

现所提出的协议,着重考虑现有IPSec协议的不足,通过将无证书公钥技术融入 IKEv2协议,形成了一种新型的IPSec接入认证方法,实现了在移动Ipv6网络环境下移动节点MN对代理的安全注册。

2.1 MN与HA的认证过程设计

MN与HA的认证过程执行如下步骤:步骤1 MN发送向HA注册的IKE/SA初始化消息。

当MN开机后检测到HA时,选择随机数Ni,发送向HA注册的IKE/SA初始化消息{IDMN,Ni,SAi1,KEi}||SigMN。

IDMN为MN的身份标识。

MN的公钥RMN由MN本地计算得出,并发送给KGC保管。本协议用无证书方式签名,与MN通信的HA需向KGC提交申请获取RMN。MN的部分私钥由存在于MN与HA之间信任的KGC通过秘密通道传送给MN。

SAi1,可供选择的IKE/SA算法提议,表示发起方MN所支持的密码算法列表。

KEi,发起方MN的Diffie-Hellman密钥交换参数。

MN对所传递的消息签名,并以MN的家乡地址为源地址将IKE/SA初始化消息发送给HA,即可实现对HA的注册。

步骤2 HA对收到的消息验证后,向MN发送IKE/SA响应消息。HA收到消息后,对IDMN和所收到消息的签名SigMN进行验证,验证后HA选择随机数Nr,向移动节点MN发送消息{IDHA,Ni,Nr,SAr1,KEr}||SigHA。其中SAr1,响应方HA选择的IKE/SA算法,该算法为最终建立的IKE/SA所使用的算法,IDMN为MN的身份标识。KEr,响应方HA的Diffie-Hellman密钥交换参数。步骤1和步骤2完成后,不仅实现了MN对HA的注册,而且还基于DH密钥交换协议创建了密钥交换安全关联IKE/SA,用于保护之后创建MIPSec/SA的消息。

步骤3 MN对收到的消息验证后,向HA发送IKE/AUTH初始消息。MN收到消息后,对IDHA和消息签名SigHA验证后,通过KEr计算出与HA之间的共享密钥SK,用该共享密钥SK加密消息{IDMN,AUTH,SAi2,SAis}后,发送给HA,用于创建IPSec/SAMN-HA和SAH/SAMN-HA。AUTH为认证载荷,由IKE/SA生成的消息认证码。SAi2为可供选择的MIPSec/SA算法提议,表示发起方MN所支持的密码算法列表。SAis为可供选择的源接入认证安全关联SAH/SA提议,表示MN支持的可用于源接入认证的密码算法列表。

步骤4 HA对收到的消息验证后,向HA发送IKE/AUTH响应消息。HA对收到的加密消息用共享密钥SK解密,对AUTH验证后,用SK加密消息{IDHA,AUTH,SAr2,SArs},发送给MN。其中SAr2为响应方HA选择的MIPSec/SA算法,该算法为最终建立的MIPSec/SA所使用的算法。SArs,响应方HA选择的SAH/SA算法,该算法为最终建立的SAH/SA所使用的算法。该消息达到MN并验证通过后,就完成了整个接入认证过程。在该过程中,不但完成了MN向HA的注册,而且同时建立了用于保护MN到HA的消息的MIPSec/SA和源接入认证安全关联SAH/SA。这样,通过一次认证就能实现两类SA的创建。当SA的生存期限到期或者MN离开HA时,SA自动销毁。

2.2 MN与FA的认证过程设计(其中包括MN向家乡代理的绑定更新)

MN与FA的认证过程执行如下步骤:

步骤1 MN发送向FA注册的IKE/SA初始化消息。当MN开机后检测到FA时,选择随机数Ni,发送向FA注册的IKE/SA初始化消息{IDMN,HoAMN,CoAMN,Ni,SAi1,KEi}||SigMN。MN对所传递的消息签名,并以MN的家乡地址为源地址将IKE/SA初始化消息发送给FA,即可实现对FA的注册。该消息中,HoAMN是MN的家乡地址,CoAMN是MN的转交地址。MN对该消息签名后,实现了MN的转交地址CoAMN和家乡地址HoAMN绑定。

步骤2 FA对收到的消息验证后,向MN发送IKE/SA响应消息。FA收到消息后,对IDMN和所收到消息的签名SigMN进行验证,验证后FA将HoAMN与CoAMN绑定缓存,选择随机数Nr,向移动节点MN发送消息{IDFA,Ni,Nr,SAr1,KEr}||SigFA。

步骤1和步骤2完成后,不仅实现了MN对FA的注册,而且还基于DH密钥交换协议创建了密钥交换安全关联IKE/SA,用于保护之后创建MIPSec/SA的消息。

步骤3 MN对收到的消息验证后,向LA发送IKE/AUTH初始消息。MN收到消息后,对IDFA和所收到消息的签名SigLA验证后,通过KEr计算出与FA之间的共享密钥SK,用该共享密钥SK加密消息{IDMN,AUTH,SAi2,SAis}后,发送给FA,用于创建IPSec/SAMN-FA和SAH/SAMN-FA。SAis的含义与MN在家乡网络注册时步骤3中的SAis的说明一致。SAH/SAMN-FA的建立使得MN无法伪造或重放数据包。

步骤4 FA对收到的消息验证后,向MN发送IKE/AUTH响应消息。FA对收到的加密消息用共享密钥SK解密,对AUTH验证后,用SK加密消息{IDFA,AUTH,SAr2,SArs},发送给MN;步骤4完成后,不但完成了MN向FA的注册,而且同时建立了用于保护MN到LA的消息的MIPSec/SA和SAH/SA。这样,通过一次认证就能实现两类SA的创建。当SA的生存期限到期或者MN离开HA时,SA自动销毁。

步骤5 MN向HA发送快速绑定更新消息FBU。MN注册完成后向HA发送快速绑定更新消息FBU,FBU用MIPSec/SAMN-HA来保护,实现家乡地址HoAMN与转交地址CoAMN对家乡代理HA的绑定。

步骤6 HA向MN返回绑定确认消息Back,完成注册过程。成功注册后,双方之间的通信即可套用IPSec协议。

3 安全性分析

3.1 假冒攻击

敌手若想要冒充MN与HA进行通信,首先必须向KGC申请得到HA的公钥RHA,显然敌手不可能得到RHA,即无法冒充MN;同理,敌手也不能冒充HA与MN进行通信。

3.2 完整性保护

IPSec中的IKEv2协议本身就对消息的完整性进行了保护,此协议中并没有改动其对完整性的保护。

3.3 恶意攻击

通过确保节点之间消息的完整性,可以防止恶意攻击。这个可以通过消息认证码和哈希函数来实现。

3.4 中间人攻击

通过在移动实体之间采用认证机制可以抵御中间人攻击。

3.5 重放攻击

如果一个攻击者重放一个以前被HA成功接收过的注册请求消息,由于这个请求消息里面旧的nonce不等于HA端目前保存的nonce,所以HA将会拒绝这个注册请求消息。同理,NMN能够为注册回复消息提供重放保护。如果一个攻击者从一些以前成功运行的注册过程中选择按次序重放一个有效的注册请求消息和之对应的回复消息给 FA,由于这里的协议在注册消息中使用了FA的nonce随机数NFA,那么FA通过查看将会发现这两个注册消息中的NFA不同于FA在最近一次代理广播中发送的nonce,所以攻击者不能欺骗FA,从而免费使用外地网络的资源。因此,包含NFA、NMN和NHA的注册消息能够抵制所有的重放攻击。

3.6 保密性

在IKE第二次交换过程中会生成共享密钥SK,保证了双方通信内容的可靠性。

3.7 一次注册后密钥的安全分发

由于密钥是在MN本地产生,除MN自己任何第三方都无法获取此密钥,所以密钥是绝对保密的。

4 结语

针对 IPSec协议对移动 IPv6网络安全保护所存在的不足,在IPSec安全体系之上加入了无证书公钥密码体制来管理密钥,加强了IPSec的可行性,改善了其不足,综合设计出了一种新的接入认证方法,并讨论了此协议的安全性。

[1] JOHNSON D, PERKINS C, ARKKO J. Mobility Support in IPv6 [DB/OL].(2007-01-20)[2009-09-21]. http://rfc.sunsite.dk/ rfc/rfc 3775.html.

[2] CHOI K Y, PARK J H, HWANG J Y, et al. Efficient Certificateless Signature Schemes[C]// Katz J. LNCS 4521: ACNS 2007. Berlin:Springer-Verlag, 2007:443-458.

[3] ZHANG L, ZHANG F T, ZHANG F G. New efficient certificateless signature scheme[C]// Denko M. LNCS 4809: EUC Workshops 2007.Berlin: Springer-Verlag, 2007:692-703.

[4] 蔺萌,陈乐然,刘正军.WCDMA系统安全机制研究[J].通信技术,2007,40(04):51-53.

猜你喜欢

发送给私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
【微信小课堂】:如何向好友发送语音
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
P2X7 receptor antagonism in amyotrophic lateral sclerosis
你说我说大家说
HES:一种更小公钥的同态加密算法
公告