当前位置: 首页 > 专利查询>浙江大学专利>正文

移动P2P用户身份认证方法技术

技术编号:4058127 阅读:348 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种移动P2P用户身份认证方法。现有的方法计算量大、认证复杂度高。本发明专利技术方法首先系统初始化和用户注册,包括设置系统参数、公开一部分系统参数和用户向注册服务器提交自身账号和密码进行注册。然后进行登录认证,包括用户输入自己的账号和密码进行登录。最后是服务请求认证,包括用户向移动P2P网络发起查询,向另一用户提出服务请求,另一用户进行验证,直至连接成功。本发明专利技术在认证服务器对用户身份认证时采用虚拟智能卡和静态密码的双因素认证,有较高的安全性;用户之间的认证不需要服务器的参与,降低了认证服务器的负担,也降低了移动终端的运算量。

【技术实现步骤摘要】

本专利技术属于互联网身份认证领域,涉及一种在移动P2P网络中用户身份认证方法。
技术介绍
在P2P(Peer-to-Peer)网络中,每个用户的地位都是对等的,同时具有客户端(Client)和服务器(Server)的功能,因此P2P网络也称为对等网络。在P2P网络中,每个用户都可以自由地加入和退出网络,用户之间可以更好地共享资源。P2P技术在文件共享、即时通信、分布式计算和流媒体播放等众多领域都得到了广泛的应用。P2P技术在带来突破性优势的同时,也不可避免的产生一些问题,其中网络安全问题尤为突出。P2P网络的对等性和匿名性会使得恶意用户不易被发现,恶意用户会发布虚假资源、传播病毒、恶意攻击正常用户等等,不仅影响到部分正常用户的使用,甚至会导致整个P2P系统的崩溃。保证P2P网络安全最直接的方法是采用身份认证技术,来验证用户身份的真实性和合法性,并阻止非法用户进入网络。身份认证技术是P2P系统安全的第一道防线。当前的P2P网络中常用的身份认证技术有以下几种:(1)基于PKI(Public Key Infrastructure,公钥基础设施)机制的身份认证技术传统的PKI技术通常由可信的第三方为合法用户颁发数字证书,用户之间可以通过对方的数字证书进行相互认证而不需要认证服务器的参与。传统的PKI技术安全性强,可靠性高,但存在着证书获取、撤销和跨域认证等困难,在用户加入和退出频繁的P2P网络中问题尤为突出。(2)基于ID-PKC(Identity based-Public Key Cryptograph,基于身份的公钥加密体系)机制的身份认证技术在ID-PKC中,用户的公钥直接由其身份信息ID导出,而相应的私钥则由PKG(Private Key Generator,私钥生成器)生成。ID-PKC解决了PKI中证书管理的问题,但其仍需要一个可信的PKG来生成所有用户的私钥,因此PKG知道所有用户的私钥并可以冒充任意一个用户,所以基于ID-PKC的认证技术存在密钥托管的问题。(3)基于零知识证明的身份认证技术在零知识证明中,证明者试图向验证者证明某个论断是正确的,或者证明者拥有某个知识,却不向验证者透露任何有用的消息。零知识证明简单有效,同样不需要认证服务器的参与,但零知识证明通常需要多轮的交互来降低证明者欺骗验证者的概率,在连接容易断开的P2P网络中,认证过程交互次数越多,认证失败的可能性就越大。因此零知识证明不适合用户会频繁退出和加入,或者连接容易断开的P2P应用场景。移动P2P采用无线通信技术来实现可移动终端之间数据资源的共享。除了具有传统的P2P技术一些特点外,由于移动性和无线性,移动P2P技术有以下突出的特点:(1)网络的高度动态性。用户的移动性和频繁的加入和退出,使移动P2P网络的拓-->扑结构变化频繁。(2)用户自身资源受限。移动终端的处理能力、存储能力和能量供应等都受一定的限制。(3)有限的带宽。移动P2P采用无线通信技术,链路带宽与固定网络相比较低。由于移动P2P技术有其自身的特点,因此移动P2P网络中的用户身份认证机制必须适合移动P2P网络中高度动态,用户资源受限,带宽有限,连接容易断开等特点。主要从以下3个方面来考虑:(1)认证方法要尽量简单,交互次数少,计算量小。(2)认证过程不需要认证服务器的参与。由于用户可以自由地和其它用户进行通信,因此用户之间需要频繁地进行认证。所以认证过程尽量不要认证服务器的参与。(3)用户之间的移动性和无线连接的不稳定性导致用户和用户容易断开,这时已经建立连接的用户之间需要进行再次认证。因此需要有快速的重认证方法,降低认证的复杂度。
技术实现思路
由于现有P2P网络中身份认证技术不能很好地适用于移动P2P网络的应用场景,因此本专利技术提出一种适合移动P2P网络架构特点的身份认证方法。本专利技术所提出的移动P2P身份认证方法适用于具有基础设施的3G移动网络的应用场景,本专利技术所提出的移动P2P网络结构由注册服务器、认证服务器和移动用户组成,其架构见附图1。本专利技术所提出的身份认证方法包括用户注册和用户身份认证,其中用户身份认证包括登录认证、服务请求认证和短暂断线之后的快速重认证。本专利技术方法具体包括如下步骤:步骤(1)系统初始化和用户注册。在系统初始化阶段,移动P2P网络设置系统参数,并将其中一部分系统参数公开,公开的系统参数包括大素数p及其本原根g,认证服务器的公钥PUAS,注册服务器的公钥PUREG。用户注册是指第一次使用移动P2P网络的用户,向注册服务器提交自身账号(ID)和密码(PW)进行注册。通过账号和密码,用户可以登录到移动P2P网络并获取服务。用户注册的具体步骤是:a)用户发送注册请求消息至注册服务器。注册请求消息是用户使用注册服务器的公钥PUREG对自身账号(ID)和密码(PW)进行加密后的消息,具体为E(PUREG,[ID||PW]),其中E()是公钥加密算法,“||”为比特连接符,用于将一个比特串连接到另一个比特串上;b)注册服务器对注册请求消息用自身私钥进行解密,得到该用户的账号ID和密码PW,具体为D(PRREG,E(PUREG,[ID||PW])),其中D()为对应于E()的公钥解密算法;注册服务器再从整数域中随机选择参数β,作为用户密钥,并计算秘密参数其中K为注册服务器的主密钥,h(.)为单向哈希函数,为异或运算;注册服务器将包含参数<h(.),ID,N,h(PW),β>的虚拟智能卡发放给提交注册请-->求的用户,h(PW)为用户密码的哈希值;c)注册服务器将该用户的身份信息用认证服务器的公钥加密后发送给认证服务器,所述的用户的身份信息包括用户的账号ID和密钥β,具体为E(PUAS,[β||ID]),认证服务器用自身私钥解密后即可获得注册用户的身份信息;d)用户获得注册服务器返回的虚拟智能卡,将其保存到移动终端。注册成功后,用户可以通过虚拟智能卡、账号和密码登录到移动P2P网络中。步骤(2)登录认证。登录认证是指用户在存有虚拟智能卡的移动终端上通过输入正确的账号和密码登录到认证服务器并进行身份认证。登录认证包括本地登录和服务器验证。本地登录是指移动终端在本地验证用户输入的账号和密码的正确性。本地登录的具体方法是:e)用户输入自己的账号ID和密码PW进行登录,移动终端利用本地存储的虚拟智能卡对密码PW进行哈希运算,得到h(PW)’,并将用户输入的ID和计算得到的h(PW)’,与保存在虚拟智能卡中的ID和h(PW)进行比较。若两者一致,则本地登录成功;若两者不一致,说明用户输入的ID或PW有误,本地登录失败;本地登录成功后,移动终端发送登录认证信息到认证服务器进行验证,服务器验证的具体方法是:f)移动终端随机选择整数u,使得u<p,并计算公开参数a=gu mod p;mod表示取模运算;g)移动终端计算登录的动态ID(DID)、验证参数C和用户标示符UID,具体为C=h(DID//β//a//T1),UID=ID||a;其中T1为用户的本地时间戳,由于DID的生成依赖于本地时间戳,因此用户每次登录都会生成不同的DID,C为用于验证自身身份的验证参数,用户将UID、C和T1发送到认证服务器;h)认证服务器在T’时间收到用户本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201010238066.html" title="移动P2P用户身份认证方法原文来自X技术">移动P2P用户身份认证方法</a>

【技术保护点】
移动P2P用户身份认证方法,其特征在于该方法包括以下步骤:步骤(1)系统初始化和用户注册;在系统初始化阶段,移动P2P网络设置系统参数,并将其中一部分系统参数公开,公开的系统参数包括大素数p、大素数p的本原根g,认证服务器的公钥PU↓[AS]和注册服务器的公钥PUREG;用户注册是指第一次使用移动P2P网络的用户,向注册服务器提交自身账号ID和密码PW进行注册,通过账号和密码,用户可以登录到移动P2P网络并获取服务;用户注册的具体步骤是:a)用户发送注册请求消息至注册服务器;modp;mod表示取模运算;g)移动终端计算登录的动态ID(DID)、验证参数C和用户标示符UID,具体为DID=h((N⊕h(ID‖PW))‖T↓[1]),C=h(DID//β//a//T↓[1]),UID=ID||a;其中T↓[1]为用户的本地时间戳,由于DID的生成依赖于本地时间戳,因此用户每次登录都会生成不同的DID,C为用于验证自身身份的验证参数,用户将UID、C和T↓[1]发送到认证服务器;h)认证服务器在T’时间收到用户的认证请求、UID、C和T↓[1],认证服务器对T↓[1]进行验证,若T’-T↓[1]≤ΔT,继续验证;若T’-T↓[1]>ΔT,则认证失败;其中ΔT为时间参数,由P2P系统根据用户和认证服务器的时延进行确定;i)认证服务器从UID中得到ID和a,并查找与该用户ID对应的β,然后计算DID’=h(h(K||ID)||T↓[1]),C’=h(DID’||β||a||T↓[1]),验证C’和收到的C是否一致,若C’=C,表明该用户为合法用户,用户通过认证,若C’≠C,则认证失败;j)用户通过身份认证后,认证服务器用私钥PR↓[AS]为用户生成票据Ticket,具体为Ticket=E(PR↓[AS],[ID||a||h(DID’)||T↓[2]||Lifetime]),并将票据Ticket发送给用户;其中T↓[2]为认证服务器生成票据Ticket的时间,Lifetime为票据的生存时间,T↓[2]与Lifetime用于确定票据的有效期,防止用户使用过期的票据;k)认证服务器向P2P系统发布用户的身份标识符UID,其它用户可通过移动P2P网络提供的搜索和查询协议发现该用户并进行服务请求;步骤(3)服务请求认证;服务请求认证是指通过登录认证的合法用户,需要向移动P2P网络中的其它用户请求服务时,用户之间进行的相互身份认证;服务请求认证的具体步骤是:l)用户A需要获取B提供的服务,则用户A向移动P2P网络发起查询,找到符合要求的用户B及其UID↓[B],用户A从返回的UID↓[B]中得到用户B的公开参数b,b=g↑[u↓[B]]modp;m)用户A向用户B提出服务请求,并发送认证信息Ticket↓[A]和UID↓[A]给用户B,Ticket↓[A]为认证服务器为用户A发放的票据,UID↓[A]为用户A此次登录的用户标识符,UID↓[A]=ID↓[A]||a↓[A];n)用户B使用认证服务器的公钥PU↓[AS]解密Ticket↓[A],得到ID↓[A]||a↓[A]||h(DID↓[A]’)||T↓[2]||Lifetime,根据T↓[2]和Lifetime检查Ticket↓[A]是否过期,若Ticket↓[A]未过期,则将解密后的ID↓[A]、a↓[A]和用户A发送的UID↓[A]进行比较,若解密后的ID↓[A]、a↓[A]与用户A发送的注册请求消息是用户使用注册服务器的公钥PU↓[REG]对自身账号ID和密码PW进行加密后的消息,加密算法为E(PU↓[REG],[ID||PW]),其中E()是公钥加密算法,“||”为比特连接符,用于将一个比特串连接到另一个比特串上;b)注UID↓[A]中的ID↓[A]、a↓[A]相同,则继续认证;若解密后的ID↓[A]、a↓[A]与用户A发送的UID↓[A]中的ID↓[A]、a↓[A]不同,则认为A的身份被假冒,直接退出认证过程;o)用户B从整数域中随机选择一个整数r,计算中间值Temp=a↑[u↓[B]]modp、对称密钥K↓[AB]=h(Temp||r)和参数M=h(K↓[AB]||r||ID↓[B]),并将M和r发送给用户A;p)用户A收到用户B发送的M和r后,计算K↓[AB]’=h((b↑[u↓[A]]modp)‖r)、M’=h(K↓[AB]’||r||ID↓[B]),并与M进行比较,若M’=M,则认证了用户B和K↓[AB]的真实性,继续下一步骤;否则退出认证;K↓[AB]为用户A和用户B之间共享的对称密钥;q)用户A用对称密钥K↓[AB]对DID↓[A]和Nonce↓[AB]进行加密,并发送Nonce↓[AB]给用户B,加密算法为:E(K↓[AB],DID↓[A]||Nonce↓[AB]),...

【技术特征摘要】
1.移动P2P用户身份认证方法,其特征在于该方法包括以下步骤:步骤(1)系统初始化和用户注册;在系统初始化阶段,移动P2P网络设置系统参数,并将其中一部分系统参数公开,公开的系统参数包括大素数p、大素数p的本原根g,认证服务器的公钥PUAS和注册服务器的公钥PUREG;用户注册是指第一次使用移动P2P网络的用户,向注册服务器提交自身账号ID和密码PW进行注册,通过账号和密码,用户可以登录到移动P2P网络并获取服务;用户注册的具体步骤是:a)用户发送注册请求消息至注册服务器;注册请求消息是用户使用注册服务器的公钥PUREG对自身账号ID和密码PW进行加密后的消息,加密算法为E(PUREG,[ID||PW]),其中E()是公钥加密算法,“||”为比特连接符,用于将一个比特串连接到另一个比特串上;b)注册服务器对注册请求消息用自身私钥进行解密,得到该用户的账号ID和密码PW,解密算法为D(PRREG,E(PUREG,[ID||PW])),其中D()为对应于E()的公钥解密算法;注册服务器再从整数域中随机选择参数β作为用户密钥,并计算秘密参数其中K为注册服务器的主密钥,h(.)为单向哈希函数,为异或运算;注册服务器将包含参数h(.)、ID、N、h(PW)和β的虚拟智能卡发放给提交注册请求的用户;c)注册服务器将该用户的身份信息用认证服务器的公钥加密后发送给认证服务器,用户的身份信息包括用户的账号ID和密钥β,加密算法为E(PUAS,[β||ID]),认证服务器用自身私钥解密后即可获得注册用户的身份信息;d)用户获得注册服务器返回的虚拟智能卡,将其保存到移动终端;注册成功后,用户可以通过虚拟智能卡、账号和密码登录到移动P2P网络中;步骤(2)登录认证;登录认证是指用户在存有虚拟智能卡的移动终端上通过输入正确的账号和密码登录到认证服务器并进行身份认证;登录认证包括本地登录和服务器验证;本地登录是指移动终端在本地验证用户输入的账号和密码的正确性,本地登录的具体方法是:e)用户输入自己的账号ID和密码PW进行登录,移动终端利用本地存储的虚拟智能卡对密码PW进行哈希运算,得到h(PW)’;将用户输入的ID和计算得到的h(PW)’与保存在虚拟智能卡中的ID和h(PW)进行比较;若用户输入的ID与保存在虚拟智能卡中的ID一致且计算得到的h(PW)’与保存在虚拟智能卡中的h(PW)一致,则本地登录成功;若用户输入的ID与保存在虚拟智能卡中的ID不一致或计算得到的h(PW)’与保存在虚拟智能卡中的h(PW)不一致,说明用户输入的ID或PW有误,本地登录失败;本地登录成功后,移动终端发送登录认证信息到认证服务器进行验证,服务器验证的具体方法是:f)移动终端随机选择整数u,使得u<p;计算公开参数a,a=gu mod p;mod表示取模运算;g)移动终端计算登录的动态ID(DID)、验证参数C和用户标示符UID,具体为C=h(DID//β//a//T1),UID=ID||a;其中T1为用户的本地时间戳,由于DID的生成依赖于本地时间戳,因此用户每次登录都会生成不同的DID,C为用于验证自身身份的验证参数,用户将UID、C和T1发送到认证服务器;h)认证服务器在T’时间收到用户的认证请求、UID、C和T1,认证服务器对T1进行验证,若T’-T1≤ΔT,继续验证;若T’-T1>ΔT,则认证失败;其中ΔT为时间参数,由P2P系统根据用户和认证服务器的时延进行确定;i)认证服务器从UID中得到ID和a,并查找与该用户ID对应的β,然后计算DID’=h(h(K||ID)||T1),C’=h(DID’||β||a||T1),验证C’和收到的C是否一致,若C’=C,表明该用户为合法用户,用户通过认证,若C’≠C,则认证失败;j)用户通过身份认证后,认证服务器用私钥PRAS为用户生成票据Ticket,具体为Ticket=E(PRAS,[ID||a||h(DID’)||T2||Lifetime]),并将票据Ticke...

【专利技术属性】
技术研发人员:陈惠芳谢磊陈高翔谭云栈
申请(专利权)人:浙江大学
类型:发明
国别省市:86

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1