P2p网络中对等用户结点间的加密安全数据交换方法

文档序号:7568040阅读:127来源:国知局
专利名称:P2p网络中对等用户结点间的加密安全数据交换方法
技术领域
本发明涉及一种互联网的数据交换方法,特别是P2P网络中对等用户结点间安 全的加密通信方法。
背景技术
P2P(Peer to Peer,点对点)网络也被称为对等网络,与当前互联网上常见的S / C(服务器/客户端)模式相比,网络中每个结点可以自由地加入或退出网络,结点之间的 关系都是对等的,各个结点间可以更好地共享资源。P2P网络在用户间的直接通信、文件交 换以及分布计算方面都有广泛的应用前景。然而,P2P网络是非中心化网络,结点之间数据交换方便,资源分享频繁,各个结点 可以自由地加入或退出,病毒、木马很容易通过网络传播,所以用户数据在传输过程中遭遇 窃听、篡改、重放、中间人等多种攻击。为了避免上述问题,需要一种安全的信息通信机制实 现对P2P通信的安全保护。在现有技术中,P2P的通信往往是数据明文传输,缺乏对数据的安全保护。已有的 加密通信方法如SSL/TLS和IKE应用在P2P网络传输上过于庞大复杂,并且SSL/TLS和IKE 本身又有安全缺陷,容易遭到中间人攻击。具体来说,SSL/TLS协议证书完全是明文传输, 各户节点的身份很容易被窃听,IKE的nonce随机数也是明文发送,容易被中间人截获,因 而迫切需要一套解决方案来保护端对端的数据传输。目前对于P2P网络用户节点的认证已经提出了切实可行的方法,通过认证服务器 对用户颁发数字证书,认证时交换证书实现认证,可是没有考虑认证后数据的安全传输。网 络用户的认证归根结底是为了实现数据的安全交换,所以非常需要一种能够从认证开始, 到数据的传输都能保障P2P网络中对等用户结点间的安全通信的方法。

发明内容
本发明所要解决的技术问题是为了克服P2P网络中对等用户结点通信中的安全 问题,而设计出从认证开始到数据传输的安全通信方法。本发明为解决上述技术问题,采用如下技术方案
一种P2P网络中对等用户结点间的加密安全数据交换方法,包括如下步骤 步骤1 网络中任意两个对等用户结点A、B通过认证服务器登录网络获取公钥证书,证 书由认证服务器的私钥对用户结点公钥的数字签名产生;
步骤2 用户节点A向用户节点B发送用户结点A的公钥证书,结点B验证结点A的公 钥证书获得结点A的公钥;
步骤3 用户结点B向用户结点A发送结点B的公钥证书和随机数Nb用结点A的公钥 加密,用户结点A用自身私钥解密用户结点B发来公钥证书和随机数Nb,验证结点B的证书 获得结点B的公钥;
步骤4 用户结点A向用户结点B发送自身的随机Na,用B的公钥加密,用户结点B用自身的私钥解密用户结点A发来的随机数Na。步骤5 结点A拥有自身的随机数Na和结点B发来的随机数Nb,结点B拥有自身 的随机数Nb和结点A发来的随机数Na,应用加密算法用户结点A和用户结点B形成加密通 道,进行数据加密传输。所述的步骤1中,P2P网络中对等用户结点间的公钥证书产生包括如下步骤 步骤1-1 对于信任域的任意用户结点先下载有认证服务器的公钥,然后用户结点在
登录时生成自身的公、私密钥对,将其中的公钥与登录时所输入的用户名、密码一起用认证 服务器的公钥加密,发送到认证服务器;
步骤1-2 认证服务器用自身的私钥解密所接收到的加密的用户名、密码信息后,核对 登录用户结点的用户名、密码,核对成功则该用户结点登录成功;
步骤1-3 认证服务器用自身的私钥对用户结点的公钥进行数字签名,得到该用户结 点的公钥证书;
步骤1-4 用户结点的公钥证书采用该用户结点的公钥加密后发送给该用户结点,该 用户结点利用私钥解密后保存所得到的公钥证书。所述步骤1-1中用户结点在各次登录时所生成的自身的公、私密钥对互不相同。所述的P2P网络中对等用户结点间的加密安全数据交换方法,其特征在于所述 步骤5所述加密算法为DH加密算法。本发明实现了下列有益效果
1、本发明提出了对等用户建立安全通信的方法,不仅仅建立互相的认证,还考虑了通 信过程中的加密传输。2、将认证和加密通信的建立紧密地结合起来,通过认证获得的对方公钥,立即用 于加密通道的建立。3、用户每次登录都产生新的公私密钥对,应用新的证书,每次交换随机数都用不 同的公钥对其进行加密,极大地减少了 DH密钥被破解实施中间人攻击的可能性。4、每一次建立加密通道,所交互的随机数不同,加密通道不易被破解。5、安全通信建立过程简单,交互次数少,除第一次发送证书是明文,其余都在密文 情况下进行信息交互,具有较好的安全性。


图1为本发明在两个结点间建立安全通信的示意图; 图2为本发明认证服务器获取证书的流程图3为本发明中利用证书建立安全通信的流程图。
具体实施例方式下面结合附图,对本发明做进一步的说明。为了方便理解,以一个简单的P2P网络为例,对本发明的实现方法加以说明。如图 1所示,在这一 P2P网络中,有两个用户结点,分别为用户结点A和用户结点B,还有一个认
4证服务器通过网络连接。网络中的用户结点在登录过程中会得到各自的证书,利用这一证 书,应用公钥算法可实现加密环境中随机数的交换,建立加密安全通信。参考图2,首先对用 户结点证书的获取过程进行说明。一个用户结点,假设为用户结点A,首先从认证服务器下载认证服务器公钥,然后 输入用户名和密码登录网络。在登录过程中,根据用户结点A终端的非对称加密算法会自 动生成一对公私密钥对,其中的私钥以安全方式予以保存,而公钥则会与用户结点所输入 的用户名、密钥一起采用认证服务器的公钥加密,然后将加密结果通过网络发送给认证服 务器。需要说明的是,用户结点每次登录所生成的公私密钥对是不同的,此次登录所生成的 公私密钥对不能用于下次登录的过程中。当认证服务器收到用户结点A所发送的加密结果后,采用自身的密钥对加密结果 进行解密,并对解密所得的用户名和密码进行检查,如果用户名和密码正确,则表示用户结 点A登录成功。在用户结点A登录成功后,
认证服务器将用户结点A所发送的用户结点A公钥用自己的私钥进行数字签名,形成 用于身份认证的证书。认证服务器采用用户结点A的公钥将该证书加密后,返还给用户结 点A。用户结点A收到后用自己的私钥予以解密,保存所得到的证书。在上述登录过程中,用户结点A经过与认证服务器的交互后得到用于身份认证的 证书,该证书包括由认证服务器私钥签名的用户结点A公钥。上述过程对于用户结点B而 言,同样如此。用户结点B在成功登录到网络中后,也能够从认证服务器得到一个用于身份 认证的证书,只是该证书中所包括的是由认证服务器私钥签名的用户结点B公钥。当用户结点在登录网络后,根据实际应用的需要,一个用户结点需要与网络中的 其它用户结点建立连接安全通信,实现数据的加密交换。首先要做的就是证书交换,在公钥 保护下进行随机数的交换,建立DH加密通道。下面仍以用户结点A、B为例,参考图3,对两 个用户结点间建立加密通道加以说明。假设数据连接的建立过程由用户结点A发起,则用户结点A需要向用户结点B发 送自己的证书,用户结点B收到后,用认证服务器公钥对证书A予以解密,获得用户A的公 钥。用户结点B向用户结点A发送结点B的证书和随机数Nb用结点A的公钥加密,用户结 点A用自身私钥解密用户结点B发来证书和随机数Nb,验证结点B的证书获得结点B的公 钥。用户结点A向用户结点B发送自身的随机Na,用B的公钥加密,用户结点B用自身的私 钥解密用户结点A发来的随机数Na。结点A拥有自身的随机数Na和结点B发来的随机数 Nb,结点B拥有自身的随机数Nb和结点A发来的随机数Na,应用DH加密算法用户结点A和 用户结点B形成加密通道。上述加密通信建立的过程,若在认证过程中有一个用户结点C对用户结点B所返 回的消息进行拦截,由于它不具有用户结点A的私钥,因此不能对拦截结果进行解密,也就 无法伪装成用户结点B与用户结点A建立连接,从而造成安全通信建立的失败。同样如果 该结点拦截A发来的随机数,由于它不具有用户结点A的私钥,因此不能对拦截结果进行解 密,如此建立的DH加密通道是安全的,可以防止中间人攻击。在上述加密通信建立的过程中;用户结点A、B之间的身份认证过程并不涉及到认 证服务器。认证服务器只在用户登录过程中为该用户结点授予此次登录时的身份认证证 书,以后这一用户结点在此次登录中无论与多少个用户结点建立连接,都和认证服务器无关,大大降低了认证服务器的负载,也就不会因为认证服务器负载过重而延缓两个用户结 点间的数据连接过程。 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参 照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方 案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明 的权利要求范围当中。
权利要求
1.在一种P2P网络中对等用户结点间的加密安全数据交换方法,其特征在于,包括如 下步骤步骤1 网络中任意两个对等用户结点A、B分别通过认证服务器登录网络获取公钥证 书,所述证书由认证服务器的私钥对用户结点公钥的数字签名产生;步骤2 用户结点A向用户结点B发送用户结点A的公钥证书,用户结点B验证用户结 点A的公钥证书获得用户结点A的公钥;步骤3 用户结点B采用用户结点A的公钥加密自身的公钥证书和随机数Nb后发送给 用户结点A,用户结点A用自身私钥解密用户结点B发来公钥证书和随机数Nb,验证用户结 点B的证书,获得用户结点B的公钥;步骤4 用户结点A采用用户结点B的公钥加密自身的随机数Na,并发送给用户结点B ; 用户结点B用自身的私钥解密用户结点A发来的随机数Na ;步骤5 用户结点A拥有自身的随机数Na和用户结点B发来的随机数Nb,用户结点B拥 有自身的随机数Nb和用户结点A发来的随机数Na ;应用加密算法,使用户结点A和用户结 点B形成加密通道,进行数据加密传输。
2.根据权利要求1所述的P2P网络中对等用户结点间的加密安全数据交换方法,所述 的步骤1中,P2P网络中对等用户结点间的公钥证书产生包括如下步骤步骤1-1 对于信任域的任意用户结点先下载有认证服务器的公钥,然后用户结点在 登录时生成自身的公、私密钥对,将其中的公钥与登录时所输入的用户名、密码一起用认证 服务器的公钥加密,发送到认证服务器;步骤1-2 认证服务器用自身的私钥解密所接收到的加密的用户名、密码信息后,核对 登录用户结点的用户名、密码,核对成功则该用户结点登录成功;步骤1-3 认证服务器用自身的私钥对用户结点的公钥进行数字签名,得到该用户结 点的公钥证书;步骤1-4 用户结点的公钥证书采用该用户结点的公钥加密后发送给该用户结点,该 用户结点利用私钥解密后保存所得到的公钥证书。
3.根据权利要求2所述的P2P网络中对等用户结点间的加密安全数据交换方法,其特 征在于所述步骤1-1中用户结点在各次登录时所生成的自身的公、私密钥对互不相同。
4.根据权利要求1所述的P2P网络中对等用户结点间的加密安全数据交换方法,其特 征在于所述步骤5所述加密算法为DH加密算法。
全文摘要
本发明提供一种P2P网络中对等用户结点间的加密安全数据交换方法,网络中任意两个对等用户结点A、B分别通过认证服务器登录网络获取公钥证书,通过交换操作,用户结点A拥有自身的随机数NA和用户结点B发来的随机数NB,用户结点B拥有自身的随机数NB和用户结点A发来的随机数NA;然后应用加密算法,使用户结点A和用户结点B形成加密通道,进行数据加密传输。本发明安全通信建立过程简单,交互次数少,除第一次发送证书是明文,其余都在密文情况下进行信息交互,具有较好的安全性。
文档编号H04L9/32GK102111411SQ20111002315
公开日2011年6月29日 申请日期2011年1月21日 优先权日2011年1月21日
发明者李天目, 韩进 申请人:南京信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1