一种基于SSL协议的点对点通信架构❋

2014-10-11 03:16
微处理机 2014年2期
关键词:公钥密钥加密

李 锋

(广东交通职业技术学院,广州510650)

一种基于SSL协议的点对点通信架构❋

李 锋

(广东交通职业技术学院,广州510650)

P2P打破传统的C/S模式,每个节点在网络中的地位都是对等的,既充当服务器,同时也共享其它服务。早期P2P网络仅考虑可用性,安全问题一直没有得到很好的解决。以下提出一种基于SSL协议的点对点通信架构,将安全套接字层SSL协议植入P2P网络,实现点对点安全通信,最后通过仿真实验和数据分析说明该实现方法的可行性。

对等网络;SSL协议;密钥;隧道

1 引 言

P2P打破传统的C/S模式,每个节点在网络中的地位都是对等的,既充当服务器,同时也共享其它服务,各节点具有相同的能力与责任,协同完成任务。对等节点之间通过直接互连实现资源共享而无需依赖于传统服务器的支持,从而避免信息孤岛和资源孤岛。早期P2P网络资源共享仅考虑可用性,基本没有安全机制。即使后来发展的一些P2P资源共享技术,其安全机制也仅限于口令认证和信任授权,并没有统一的安全协议作为保障,通用性和安全性极其有限。面对P2P共享系统中存在的诸多安全隐患,如何保证P2P系统在没有中心节点过多干预的情况下提供身份认证、授权以及信息通信的保密性和完整性,并将现有安全协议与P2P网络共享整合,以此提高P2P系统应用的安全性,是近年研究的一个热点。

安全隧道是目前P2P最新采用的安全技术。鉴于网络层安全隧道虽然实现简单,但功能有限,灵活性较差,而且对网络底层依赖性较高,不能穿越NAT和防火墙;应用层安全隧道虽然具有较好的管理性和灵活性,可以满足不同安全级别需求,但缺乏统一安全标准,兼容性较差;而传输层安全隧道在管理性和灵活性方面虽不及应用层安全隧道,但具有统一安全协议和安全标准,正好可以弥补应用层安全隧道的不足。有鉴于此,提出将传输层安全隧道协议标准嵌入应用层安全隧道,在应用层安全隧道上引入用于传输层中的SSL协议,用统一协议规范作为安全机制,实现节点间信息通信的安全性和统一性。

然而,P2P系统中引入SSL协议是一个崭新的课题。首先,必先解决网络的拓扑问题,否则无法穿越NAT和防火墙;其次,基于SSL协议的P2P应用软件必须建立在与之相适应的网络模型上。鉴于上述两点,致使目前流行的P2P应用软件难以植入SSl协议。有鉴于此,本论文采用P2P网络模型作为研究对象,在实践基础上证明P2P系统中引入SSL协议的可行性。

2 SSL协议在P2P网络中的安全性分析

SSL(Secure Socket Layer)安全套接层协议是Netscape公司开发的一种基于RSA算法和传统加密技术,用于浏览器和Web服务之间的安全隧道技术。它位于TCP/IP应用层与传输层之间,采用典型的C/S结构,提供通信双方身份识别和数字认证,通过TCP实现可靠的端到端安全服务,以透明方式保证通信双方通信信道的安全性。

针对上述P2P网络中信息传递所面临的安全性威胁(身份假冒,信息窃取和信息篡改等),SSL协议可以给出如下解决方案:

(1)身份认证:对于安全性要求较高的节点,SSL协议可以利用证书技术和可信第三方CA(Certification Authority)对通信节点进行双向认证。为了确保认证证书持有者是合法用户,SSL要求证书持有者在握手时相互交换数字证书,通过认证来保证对方身份的合法性。

(2)保密性:节点间通过密钥协商和密码算法建立安全通道,在通道中传输的所有信息都可经过加密处理。

(3)完整性:SSL协议利用密码算法和hash函数,通过对传输信息特征值的提取来保证信息的完整性。

3 基于SSL协议的P2P安全模型设计

SSL协议应用于WEB客户机和WEB服务器的超文本传输。然而,尽管上述步骤使用的是客户端和服务器术语,但SSL协议也可应用于P2P文件共享,因为在SSL握手协议中,客户端和服务器本身可以视为一对对等节点[1]。由此可见,P2P单节点和单节点中引入SSL协议进行传输,在理论上是可以实现的。若能将单节点和单节点引入的SSL协议延伸至网络中所有节点,则可实现整个P2P网络资源交互的安全性。

3.1 CA的构建

P2P网络应尽量避免单个中心节点的存在,模型倘若仅由单个CA构建,CA不仅会成为网络性能的瓶颈,其崩溃亦会造成整个P2P网络的瘫痪,埋下安全隐患[2]。因此,本文提出由多个CA分布式协作方式,从而避免上述问题的出现。具体在P2P网络中,为不增加额外的认证服务器,拟采用超节点充当CA认证中心。超节点在提供自身P2P不同应用的同时,还提供认证服务。网络上其它节点可根据具体连接状况,选取就近CA认证中心获取证书,模型结构如图1所示。

图1 P2P网络中CA分布图

P2P节点间的双向认证根据其所属CA认证中心位置,可分为区域内认证和区域间认证,如图2所示。

图2 P2P网络中节点认证图

(1)区域内认证:如果N1要和N2之间进行通信,可通过本区域认证服务器CA1进行认证;同理,N3要和N4之间进行通信,可通过本区域认证服务器CA2进行认证。

(2)区域间认证:如果N1要和另外一区域节点N3进行通信,其认证过程如下:

N1向自身所处区域CA1进行认证,并从CA1得知目的节点N3处于另外一区域的信息。于是CA1向CA2请求为N1与N3之间分配会话密钥。CA2生成会话密钥后直接传给N3,并通过CA1转发给N1,从而达到N1与N3之间双向认证目的。

3.2 P2P安全通信的建立

通信节点在双方握手连接之前先获得对方公钥证书及CA公钥证书,而握手协议实现了P2P节点之间的双向身份鉴别、密钥交换和保密会话。在达到安全通信之前,握手协议需进行4次交互,具体过程如图3所示。

图3 节点之间SSL握手过程

(1)节点A与节点B建立握手连接,握手成功后向对方节点B发送会话密钥序列号、加密说明及节点A随机数。

(2)节点B接收到来自节点A发送过来的消息,将会话序列号、加密说明、节点B公钥证书、节点B随机数及节点B密钥交换消息(用节点B私钥(N,ssk)加密后的节点随机数)

X=NodeA.randomssk(mod N)发送给节点A。

(3)节点A利用CA公钥,认证节点B公钥证书的合法性,再用节点B公钥(N,spk)认证节点B身份。即:若(1)式成立,则可确认节点B身份,然后将加密规格说明、节点A公钥证书和节点A密钥交换信息,包括利用节点A和私钥(N,csk)加密后的节点B随机数Y=NodeB.randomcsk(mod N)和用节点B公钥加密的节点A随机前主密钥

B=PreMasterKeyspk(mod N)。

(4)节点B用同样方法认证节点A公钥证书的合法性及其身份,并用其私钥(N,ssk)对节点B解密。

通过式(2),获得前主密钥。同时,将改变加密规格说明发送给节点A,表示同意用协商好的加密规格进行数据加密。

通过上述握手过程,通信双方共得到3个共享随机数,即NodeA.random,NodeB.radom和PreMasterKey。以它们作为参考可以动态生成主密钥、报文加密密钥和报文认证密钥。

至此,节点A和节点B完成双向认证,并协商好会话密钥和相关的安全通信参数,建立了安全连接。SSL植入P2P后,用于实际数据加密的对称密钥k由双方私钥相乘所得,即使单方私钥不慎外泄亦可保证对称密钥的安全,因此密钥安全性比传统C/S模式更高。

3.3 密钥管理

密钥管理是有关密钥从产生到销毁的整个过程的理论,包括系统初始化,密钥产生、存储、分配、保护、更新和销毁。传统P2P分布式结构使用CA管理节点密钥,这些“热点”往往成为攻击目标。而自生成证书公钥密码体制由于对可信中心依赖较少,通过使用秘密分享技术将可信中心分散到多个节点,提高了中心的可靠性和安全性,适合在P2P节点中使用。

设p是大素数,其长度不小于512bit;q是p-1的一个大素因子,其长度不小于160bit;g是Z*p中的一个q阶生成元;k是门限值,n是分享者的人数。分发者A选择Zq上一个随机的t-1次多项式:

f(0)=a0=SK为要在P1,P2,...,Pn中分享公钥。A对f(x)保密,计算:

ði是A要发送给第i个分享者Pi的秘密份额,将其广播αj=gαjmod p,j=0,1,2,...,t-1。

验证算法,对j=1,2,...,n,每一个Pj检验是否有

如果式(5)不成立,那么Pj所收到的份额ðj无效,以此抵抗(n-1)/2个恶意分享者,由于gsk== ga0mod p被公开,所以该方案是计算安全的。

4 实验测试

P2P系统引入SSL协议后,其性能可从两方面进行分析,分别是数据流吞吐量和并发连接建立能力。在相同硬件条件下,数据流吞吐量是由SSL对称加密信息认证码(MAC:Message Authentication Code)算法决定的。一方面,不同加密算法对传输性能有显著影响;另一方面,连接的建立涉及到一次SSL连接和一次TCP连接,这将受到网络状态和网络设施的影响。Siege是一个负载测试和评估软件,可以对同一时间内TCP连接和并发连接性能进行测试,性能测试结果及分析如下:

Siege一次连接测试包含一次SSL连接和一次TCP连接。图4是P2P采用SSL加密传输的并发流量统计信息图。从图中可以得出:随着并发数目增大,并发平均流量也不断增加,主机A的工作负载趋于饱和。在并发数值达60时,并发流量到达峰值,这说明此时主机A处于饱和工作状态(包含连接建立操作和数据加密、解密操作,受主机配置影响)。当并发请求数值超过60时,并发流量迅速下降,追其原因有二:

图4 并发流量统计信息图

(1)连接请求过多,主机A资源耗尽,不能对数据及时转发导致并发流量下降;

(2)随着并发连接数目增大,主机A来不及响应请求,致使主机B发送过来的连接请求被丢弃,从而导致连接成功率下降,如图5所示。

图5 并发连接成功率图

5 结束语

对等网络在资源共享、海量存储、分布式计算、协调工作等领域有着广泛的应用前景,未来的工作重点将着眼于提高对等网络的安全性。如何保障对等网络安全一直是悬而未决的问题,亦是一个崭新的研究方向。安全是个相对概念,随着P2P和网络安全技术的不断进步,新问题、新思想、新理论层出不穷,还有更多的挑战和任务需要去探索和研究。

[1] 冯国柱,李超,吴翊.RSA公钥密码的信息论分析[J].计算机工程与科学,2007(2):4-6.

[2] 谢朝海.RSA密码攻击进展[J].信息网络安全,2007(1):49-52.

[3] 王玲.网络信息安全的数据加密技术[J].信息安全与通信保密,2006(4):64-68.

[4] 王丹,于戈.P2P系统模型研究[J].计算机工程,2005(4):128-132.

[5] 王涛,卢显良,段翰聪.基于SSL的P2P安全通信模型[J].计算机科学,2006(5):104-109.

[6] 周敬利.SSL VPN中动态密码的研究与应用[J].计算机应用研究,2006(8):19-25.

[7] 李旭峰,陈海涛.通用P2P模拟器的构造技术研究[J].计算机应用研究,2006(5):31-37.

[8] 曹玉辉,王卫红,覃征.面向P2P的动态资源模型[J].计算机工程,2006(12):19-22.

[9] 唐焱,张延园,张琳.一个通用P2P协议模拟器[J].计算机工程与应用,2005(10):129-135.

A P2P Communication Architecture Base on SSL Protocol

LIFeng
(Guangdong Communication Polytechnic,Guangzhou 510650,China)

P2P technology breaks the traditional C/Smode and each node in the network is peer,which is not only used as server but also shares other services.Previous P2P network only considers its usability except for the security mechanism.This paper puts forward a P2P communication architecture base on SSL protocol,which combines SSL protocol into P2P network to realize point to point communication security and the feasibility of thismethod is proved by the simulation and experimental data.

P2P;SSL protocol;Key;Tunnel

10.3969/j.issn.1002-2279.2014.02.006

TP393

A

1002-2279(2014)02-0015-04

2012年广东省高等学校教学质量与教学改革工程省级精品资源共享课程(粤教高函[2013]13号);2013年广东省高职教育教学指导委员会教学教改项目(xxjs-2013-2001);2013年广东省高职高专校长联席会议教改项目(GDXLHQN012)

李锋(1981-),男,广东龙川人,硕士研究生,讲师,主研方向:网络安全和图像处理。

2013-10-14

猜你喜欢
公钥密钥加密
一种新型离散忆阻混沌系统及其图像加密应用
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
一种基于熵的混沌加密小波变换水印算法
一种基于混沌的公钥加密方案
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
加密与解密
P2X7 receptor antagonism in amyotrophic lateral sclerosis
HES:一种更小公钥的同态加密算法