基于IBE的IPSec协议扩展

时间:2022-10-17 11:37:25

基于IBE的IPSec协议扩展

摘要:在分析IPSec协议的基础上,提出了将IPSec协议与IBE技术相结合的方法,即基于IBE的IPSec协议扩展。同时给出了IPSec协议扩展体系结构,以及基于IBE加密算法和基于IBE的密钥交换算法。

关键词:IBE;IPsec;PKI;加密算法

中图分类号:TP309文献标识码:A文章编号:1009-3044(2008)32-1074-03

Extend IPSec Protocol Based on IBE

WANG Jian-feng1, SONG Xiao-qiu2

(1.Fujian Institute of Economics Management,Fuzhou 350007,China;2.Fujian College of Financial Technology,Fuzhou 350007,China)

Abstract: Extend IPSec protocol based on IBE that is combined IPSec protocol with IBE technology is given in the paper. On the other hand, Extend IPSec protocol Architecture, encryption Algorithms and key exchange Algorithms based on IBE technology are also shown.

Key words: IBE; IPsec; PKI; encryption algorithms

1 前言

随着以Internet为代表的全球性信息化浪潮的兴起,信息技术的发展与广泛使用深刻地改变着人们的生活方式、生产方式与管理方式,加快了国家现代化和社会文明的发展。世界上大多数国家都已经将信息化提高到国家发展战略的高度。然而,人们在享受信息化带来的便利的同时,必须面对信息的安全风险。幸运地是,近几年网络安全技术也在发生着日新月异的变化,从对称加密到传统的公钥密码技术,一直到今天的基于身份的加密(IBE)技术。

众所周知,IP协议现在已成为事实上的网络标准协议,在Windows 2000 Server、Windows xp、Windows 2003 Server等操作系统中广泛使用。但是最初设计IP协议时并没有过多地考虑安全问题,只是为了能够使网络方便地进行互联互通,IP包的安全仅依靠其头部的校验和字段,非法修改IP包并重新正确计算校验和是很容易的,因此IP协议从本质上是不安全的。近几年随着Internet由IPv4协议向IPv6协议快速过度,伴随着IPv6协议制定而产生了一种新的协议IPSec(IP Security)。顾名思义,IPSec是保障IP层安全的网络技术,而且是目前唯一一个能够为Internet通信提供安全保障的协议。在IPv6中IPSec是强制实施的,而IPv4中则是可选的。值得注意的是,IPSec并不是指某一项具体的协议,而是指用于实现IP层安全的协议套件集合[1],它已经成为工业标准的网络安全协议。 IPSec实质上是一种隧道传输技术,它将IP分组或IP上层载荷封装在IPSec报文内,并根据需要进行加密和完整性保护处理,以此保证数据在公共网络中传输过程的安全。

IPSec协议在多年的使用中,人们发现其许多不足之处,因此也提出很多改进意见。2001年,Dan Boneh博士和Matt Franklin博士取得了数学上的突破,由强大的数学方法得到了一种方便的机制,可以将简单且易于辨认的身份转化为公/私钥对,从而保证通信的安全。这种机制就是实用的基于身份的加密(IBE)系统。目前,IBE与传统加密技术的结合使用,已经成为可能和必然的趋势。

2 IPSec协议

2.1 IPSec协议简介

1994年,Internet体系结构委员会(IAB)就网络安全问题提交了一个名为《Internet体系结构的安全》(RFC1636)的报告。报告指出,Internet需要更多更好的安全手段,并就安全机制的关键领域达成共识,其中包括:必须防止未经授权访问网络基础设施;必须对网络通信业务流进行控制;必须使用加密和验证机制;保护终端用户间的通信等。即IPSec的主要功能有:

1) 作为一个隧道协议实现VPN通信;

2) 保证数据来源可靠;

3) 保证数据完整性;

4) 保证数据机密性;

IAB的报告提出后,其下属机构IETF(Internet工程任务组)立即组织人员进行研究,并于1995年8月公布了RFC1825等IP安全标准的系列文档,即IPSec协议[2-3]。

2.2 IPsec协议体系主要功能模块

Ipsec安全体系主要由验证头(AH)协议、封装安全载荷(ESP)协议、密钥交换(IKE)协议、安全关联(SA)以及加密和验证算法共同组成。

1) AH协议。AH协议为数据包提供身份验证、完整性和抗重播功能,并签署整个数据报,但不加密该包,因此不提供机密性。

2) ESP协议[4]。ESP协议提供身份验证、完整性、抗重播及机密性。在传输模式下,只保护数据而不保护IP报头。

3) IKE协议[5]。IKE协议是一种实现密钥交换定义的协议,是Oakley和SKEME协议的一种组合,并在ISAKMP(Internet Security Association and Key Management Protocol)定义的框架内运作。ISAKMP、Oakley、SKEME三个协议构成了IKE的基础,IKE沿用了ISAKMP的基础、Oakley的模式及SKEME的共享和密钥更新技术,从而定义出验证加密生成技术以及协商共享策略。因此IKE可用于在对等端之间验证密钥,并在他们之间建立共享的安全策略。

4) SA安全关联。SA是策略和密钥的结合,用来定义保护端到端通信的安全服务、机制和密钥,它可以看成是两个IPSec对等端之间的一条隧道,可以为不同类型的流量创建独立的SA。比如为TCP创建独立的SA,也可以为UDP创建独立的SA。

5) 加密和验证算法。为保护通信安全,IKE执行两个阶段的操作:密钥交换和数据保护。通过在彼此通信的计算机或网关上协商,从而达成一致的加密和身份验证算法,保证机密性和身份验证。在进行密钥安全交换时,用于生成实际密钥的基本密钥材料的组是DH(Diffie一Hellman)组,可以生成768位或1024位的主密钥的密钥材料。加密算法有DES、3DES。完整性算法包括MDS和SHAI。身份验证方式有Kerberos V5、公钥证书和预共享密钥。

3 IPsec协议扩展

3.1 IPsec协议扩展体系结构

IPSec协议扩展是指在原来IPSec协议下结合了IBE的优点进行扩展,其安全体系结构由验证头(Authentication Header)协议、封装安全载荷(Encapsulating security Payload)协议、密钥交换IKE(Internet Key Exchange)协议、安全关联 SA(Security Association)以及IBE加密和IB验证算法共同组成,其安全体系如图1所示。

3.2 基于身份的加密(IBE)技术

3.2.1 IBE发展概况

1984年,Adi Shamir,RSA公钥系统的发明人之一,首先提出了不依赖于认证,而将身份直接作为公钥的思想,认为这也许是简化公钥密码学的最好的途径。

2001年,Dan Boneh博士和Matt Franklin博士发明了可实际应用的基于身份的加密(IBE)系统。他们的方案是应用双线性映射,也就是Weil对和Tate对(Weil and Tate pairing)[6],在椭圆曲线[7]上得到一种算法,这种强大的数学方法可以实现将简单、易于辨认的身份转化为公/私钥对,得到一种方便的机制从而保证通信的安全。

3.2.2 IBE的优点

基于身份的加密(IBE)技术是继非对称加密技术之后的新一代加密机制,克服了现有技术的种种弊端,满足了安全通信的重要需求。其主要优点有:

1) IBE不需要证书,也不需要对证书进行管理,因而可以减少管理成本。

2) 在IBE体系中,任何种类的串(string)都可用来作为IBE的加密密钥。这个“串”包括任何字符或比特序列,例如一篇文章,一个名字,一个电子邮件地址,一幅图片,一个项目和条件列表,一个角色描述等等。信息由这个串加密。在本方案中采用IP地址+计算机名作为身份ID来加密信息,这种双重身份识别大大增加了系统的安全性。

3) IBE的解密密钥(与IBE加密密钥相关联)可以延迟生成。换句话说,PKG(Private Key Generator)可以在生成加密密钥很长一段时间之后再生成相应的IBE解密密钥。

4)IBE使管理员更易于操作。

3.2.3 基于IBE的加密方案

IBE方案主要由四个部分组成,如图2所示。

1) PKG运行setup程序,生成系统参数和主密钥。

2) PKG验证用户身份,运行extract程序,生成ID相关联的私钥。

3) 发送方运行encrypt程序,使用接收方ID加密信息。

4) 接收方运行decrypt程序,利用PKG生成的私钥解密信息。

3.3 基于IBE的加密算法[8]

1) PKG运行初始化算法,公开系统参数。

Setup:给定一个安全参数k∈Z+,步骤如下:

① 用k生成一个素数q,G1和G2的阶为q,双线性影射ê:G1×G1G2,选择一个随机的P∈G1;

② 选择一个随即的s∈Zq*,使PPUB=s.P;

③ 选择一个hash函数:H1: {0,1}* G1*,再选择一个hash函数,对某一个n来说:H2:G2 {0,1}n,明文空间M={0,1}n,密文空间C=G1*×{0,1}n,系统参数params=,主密钥s∈Zq*。

2) 用户A使用PKG提供的公开系统参数加密消息,并把加密后的密文传送给用户B。

Encrypt:用ID加密明文M,步骤如下:

① 计算QID=H1(ID)∈G1*;

② 选择一个随机的r∈Zq*;

③ 使密文C=,其中gID =ê(QID,PPUB)∈G2*。

3) 用户B收到用户A的密文后向PKG申请解密的私钥,接着PKG执行私钥生成程序Extract:对于给定的ID∈{0,1}*,算法如下:

① 计算QID=H1(ID)∈G1*;

② 设定dID=s. QID。

4) 用户B使用从PKG处得到的私钥解密密文得到明文

Decrypt:是密文C=〈U,V〉,用dID∈G1*解密C,计算VH2(ê(dID,U)))=M

3.4 基于IBE的IKE(密钥交换)[9]

基于IBE的IKE密钥交换算法的根本目的是为了允许两个主机产生和共享一个秘密密钥,该算法的工作过程如下:

1) 通讯双方中A随机选择a∈Z*q,然后计算TA=aP,并把TA送给B

2) 通讯双方中B随机选择b∈Z*q,然后计算TB=BP,并把TB送给A

3) A计算共享密钥KAB=e(a.QB,PPUB)e(SA,TB)

4) 同样地,B计算共享密钥KBA=e(b.QA,PPUB)e(SB,TA)

5) 这样A,B双方在通讯时就拥有了共同的共享密钥:

KAB=KBA=e(aSB+bSA,P)

共享密钥:K=kdf(KAB)= kdf(KBA),kdf是一个hash函数H2: G2{0,1}*

4 讨论

IPSec协议扩展主要是在IPSec协议的基础上引进了基于IBE加密算法和基于IBE的密钥交换算法。

IPSec协议扩展中的加密算法采用了椭圆曲线加密算法(ECC),椭圆曲线加密算法是定义在有限域(Fp 或F(2m))的椭圆曲线(y2=x3+ax+b)上的点(x,y),再加上无穷点O,如按一定的规则运算(估且称为乘法)将组成一个群(数学中的一种代数结构)。有限域上椭圆曲线乘法群也有相对应的离散对数计算困难性问题。它与IPSec协议中采用的RSA方法相比有着很多技术优点:

1) 安全性能更高

加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其它几种公钥系统相比,其抗攻击性具有绝对的优势。因为椭圆曲线的离散对数计算困难性(ECDLP)在计算复杂度上目前是完全指数级,而RSA 是亚指数级的,所以ECC比RSA的每bit安全性能更高。

2) 计算量小,处理速度快

在一定的相同计算资源条件下,虽然在RSA中可以通过选取较小公钥(可以小到3)的方法提高公钥的处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性。但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多,如ECC系统的密钥生成速度比RSA快百倍以上。总体来看,ECC的速度比RSA、DSA要快得多。因此,在相同条件下,ECC具有更高的加密性能。

3) 存储空间占用小

ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多。如160位 ECC与1024位 RSA、DSA具有相同的安全强度,210位 ECC则与2048bit RSA、DSA具有相同的安全强度。由此可见,ECC所占用的存贮空间要小得多。这对于加密算法在资源受限环境上(如智能卡等)的应用具有特别重要的意义。

4) 带宽要求低

当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC对带宽要求却低得多。通常情况下,公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

另外,IPSec协议扩展所采用的基于IBE的密钥交换算法对IKE算法做了些改进,在原来Diffie-Hellman密钥交换算法基础上进行了优化,具体如下:

在IKE中,协议的协商是基于Diffie-Hellman密钥交换的,这就决定了协议通信的响应方具有的存储和计算能力是有限的,拒绝服务Dos(Denial of Service)[10]攻击正是利用这一点来实施对通信双方密钥协商进行破坏的攻击方法。因此,原IKE协议不能抵御Dos攻击。但基于IBE的密钥交换算法采用cookie[11]技术,响应方在接收并验证发起方返回cookie之前,不会进行大量的计算和存储操作,同时也不用为交换保存任何状态,这样可以在一定程度上抵御Dos攻击。

另外,基于IBE的密钥交换算法引入了连锁协议[12],连锁协议的思想是将通信双方所需传输的报文划分为两半,利用通信双方各自的公共密钥为前一半报文加密,然后用后一半报文进行再次加密,以达到防止中间人攻击的目的。

由此可以看出,在IPSec协议中采用基于IBE的密钥交换算法是对原Diffie-Hellman密钥交换算法的优化。

5 结论与展望

本文通过研究目前比较流行的IPSec协议的不足之处,提出了一种基于IBE的IPSec扩展协议,并给出了IPSec扩展协议的安全体系结构,以及加密算法和密钥交换算法。IPSec扩展协议只须对原IPSec协议进行少许改动,在理论及技术上都是可行的。由于系统是基于IBE的系统,不需要进行证书产生、保存、交换、注销等管理,而且其加密算法也优于3DES,所以IPSec扩展协议与原来的IPSec协议相比较,机大地提高了系统的安全性和使用灵活性。当然,IPsec协议扩展协议的安全性和过程简化方面,仍然存在不少问题有待进一步的研究与认证,相信随着对这些问题的逐步解决,IPsec协议扩展协议将会走向完善。

参考文献:

[1] IPsec协议相关的RFC[EB/OL]./rfcs.

[2] Doraswamy N,Harkins D.IPSec新一代因特网安全标准[M].北京:机械工业出版社,2000.

[3] 宋健,王玉英,孙为. IPv6网络应用IPsec策略的网络性能分析与研究. 网络于通信,2004.

[4] Kent S,Atkinson R.IP Encapsulating security Payload(ESP),RFC2406[S].Internet Engineering Task Force,1998.

[5] Harkins D,Carrel D.The Internet Key Exehange(IKE),RFC2409[S].Internet Engineering Task Force,1998.

[6] Boneh D,Franklin M.Identity-Based Encryption from the WeilPairing[M].Springer-Verlag:volume 2139 of LectureNotes in Computer Science,2001:213-229.

[7] 邱慧敏,杨义先,胡正名.一种基于椭圆曲线密码机制的用户认证方案设计[J].计算机工程与应用,2005(3):28-30.

[8] Boneh D,Franklin M.Identity-based Encryption from the Weil pairing[J].SIAM J of Computing,2003,32(3):586-615. [9] Smart N P.An ID-based authenticated key agreement protocol based on the Weil pairing[J].Electron Lett,2002,38(13):630-632.

[10] 赵小林.网络安全技术教程[M].北京:国防工业出版社,2002:147-158.

[11] Kam R.The Photuris Key Management Protocol(draft-kam-Poturis-00.tzt)[S].Dec 1999.

[12] 郭丰娟,宋雨.IKE分析与改进[J].微机发展,2004,14(3):123-24.

上一篇:抗数据偏斜的高效并行join运算算法研究 下一篇:基于网格技术的电算化考试系统联网研究