CN101815294B - P2p网络的接入认证方法、设备和系统 - Google Patents

P2p网络的接入认证方法、设备和系统 Download PDF

Info

Publication number
CN101815294B
CN101815294B CN200910009154.6A CN200910009154A CN101815294B CN 101815294 B CN101815294 B CN 101815294B CN 200910009154 A CN200910009154 A CN 200910009154A CN 101815294 B CN101815294 B CN 101815294B
Authority
CN
China
Prior art keywords
network equipment
private key
opposite end
local terminal
terminal network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200910009154.6A
Other languages
English (en)
Other versions
CN101815294A (zh
Inventor
江为强
杨亚涛
周元
樊唱东
辛阳
李雪莲
白媛
谷勇浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200910009154.6A priority Critical patent/CN101815294B/zh
Publication of CN101815294A publication Critical patent/CN101815294A/zh
Application granted granted Critical
Publication of CN101815294B publication Critical patent/CN101815294B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种P2P网络的接入认证方法、设备和系统,属于网络通讯技术领域。所述P2P网络中的网络设备采用基于身份公钥机制IBC进行接入认证,方法包括:本端网络设备接收对端网络设备发送的接入请求;根据所述本端网络设备的私钥级别和所述对端网络设备的私钥级别,从所述本端网络设备的私钥中选择一个作为所述本端网络设备的会话私钥;根据所述本端网络设备的会话私钥、所述本端网络设备的会话私钥对应的所述对端网络设备的身份信息、第一协商参数和所述本端网络设备确定的第二随机数,计算所述本端网络设备的会话主密钥;向所述对端网络设备返回接入响应。通过利用IBC机制,解决了P2P网络模式下分布式接入认证,非常适合P2P网络。

Description

P2P网络的接入认证方法、设备和系统
技术领域
本发明涉及通讯技术领域,特别涉及一种P2P(Peer to Peer,对等)网络的接入认证方法、设备和系统。
背景技术
P2P网络是一种直接将人们联系起来,让人们通过互联网直接交互的网络。P2P网络摆脱了传统的C(Client,客户端)/S(Server,服务端)模式的服务,使得网络中的各个用户之间都可以进行数据的交换,充分利用了网络边缘的资源。一种典型的P2P网络是无线Mesh(网状)网络。无线Mesh网络由一组呈网状分布的MP(Mesh Point,网状网络节点)构成,每个MP均采用P2P方式通过无线中继链路互联。无线Mesh网络的多跳连接将成为下一代无线通信网络发展的趋势,可以为用户提供真正的无处不在的连接。
现有技术中,Mesh网络认证常用的是EAP-TLS(Extensible AuthenticationProtocol-Transport Level Security,基于证书安全环境的可扩展的身份验证协议)等。已有采用EAP-TLS的Mesh网络认证与鉴权方案的核心是PKI(Public KeyInfrastructure,公开密钥体系)技术,PKI技术保护数据和通信安全的基础设施是基于证书的。具体的认证过程为:所有的无线客户端以及服务器都需要事先申请一个标准证书并安装,在认证的时候无线客户端和服务器要相互交换证书。在交换证书的同时,无线客户端和服务器要协商出一个基于会话的密钥,一旦通过认证,服务器就将会话密钥传给AP(Access Point,接入节点),并通知AP允许该无线客户端使用网络服务。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
现有技术中,P2P网络的接入认证方法自身机制复杂,伴随持续增长的互联设备之间的通信越来越频繁,PKI的证书管理工作负担越来越沉重、密钥管理工作也越来越复杂。
发明内容
为了使P2P网络的接入认证更加轻松、简单,本发明实施例提供了一种P2P网络的接入认证方法、设备和系统。所述技术方案如下:
一种对等P2P网络的接入认证方法,所述P2P网络中的网络设备采用基于身份公钥机制IBC进行接入认证,所述方法包括:
本端网络设备接收对端网络设备发送的接入请求,所述接入请求携带所述对端网络设备的身份信息和第一协商参数,所述身份信息包括对端网络设备的身份标识和对端网络设备私钥级别;
根据所述本端网络设备的私钥级别和所述对端网络设备的私钥级别,从所述本端网络设备的私钥中选择一个与系统主密钥级别相同的私钥作为所述本端网络设备的会话私钥;所述本端网络设备根据自身选择的会话私钥对应的所述对端网络设备的身份信息,验证所述对端网络设备的私钥是否有效;
根据所述本端网络设备的会话私钥、所述本端网络设备的会话私钥对应的所述对端网络设备的身份信息、第一协商参数和所述本端网络设备确定的第二随机数,计算所述本端网络设备的会话主密钥和校验码;
向所述对端网络设备返回接入响应。
一种网络设备,所述网络设备采用基于身份公钥机制IBC进行接入认证,所述网络设备包括:
接收模块,用于接收对端网络设备发送的接入请求,所述接入请求携带所述对端网络设备的身份信息和第一协商参数,所述身份信息包括对端网络设备的对端网络设备的身份标识和私钥级别;
选择模块,用于根据本端网络设备的私钥级别和所述对端网络设备的私钥级别,从所述本端网络设备的私钥中选择一个与系统主密钥级别相同的私钥作为所述本端网络设备的会话私钥;
验证模块,用于根据所述对端网络设备的身份信息,查询所述本端网络设备中预先保存的身份有效信息;如果所述身份有效信息中,所述对端网络设备的私钥为有效,则通知计算模块计算所述本端网络设备的会话主密钥;
计算模块,用于根据所述选择模块选择的会话私钥、所述选择的会话私钥对应的所述对端网络设备的身份信息、第一协商参数和所述本端网络设备确定的第二随机数,计算所述本端网络设备的会话主密钥和校验码;
发送模块,用于向所述对端网络设备返回接入响应。
一种对等P2P网络的接入认证系统,包括:本端网络设备和对端网络设备,所述本端网络设备和所述对端网络设备通过P2P网络相连;
所述本端网络设备或所述对端网络设备为所述的网络设备。
本发明实施例提供的技术方案带来的有益效果是:
通过利用IBC(Identity-Based Cryptography,基于身份公钥)机制,使用用户公开的身份信息作为用户的公钥,密钥管理相当简单,可以很方便地对数据信息进行加解密,使得P2P网络的接入认证工作更加轻松、简单;同时,解决了P2P网络模式下分布式接入认证,在该机制下,任何一个实体都可以直接验证另一个实体的真实性,非常适合P2P网络这种对等的网络架构,简化了现有技术的流程。
附图说明
图1是本发明实施例1中提供的P2P网络的接入认证方法的流程图;
图2是本发明实施例2中提供的P2P网络的接入认证方法准备工作的流程图;
图3a是本发明实施例2中提供的P2P网络的接入认证方法的流程图;
图3b是本发明实施例2中提供的验证过程流程图;
图4a是本发明实施例3中提供的P2P网络的接入认证方法的流程图;
图4b是本发明实施例3中提供的P2P网络的接入认证方法的另一流程图;
图5是本发明实施例4中提供的网络设备的结构示意图;
图6是本发明实施例4中提供的网络设备的第二种结构示意图;
图7是本发明实施例4中提供的网络设备的第三种结构示意图;
图8是本发明实施例5中提供的P2P网络的接入认证系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
为了使P2P网络的接入认证更加轻松、简单,本发明实施例提供了一种P2P网络的接入认证方法,该P2P网络中的网络设备采用IBC机制进行接入认证,参见图1,该方法包括:
101:本端网络设备接收对端网络设备发送的接入请求,接入请求携带对端网络设备的身份信息和第一协商参数,身份信息包括对端网络设备的身份标识和对端网络设备私钥级别;
102:根据本端网络设备的私钥级别和对端网络设备的私钥级别,从本端网络设备的私钥中选择一个作为本端网络设备的会话私钥;
103:根据本端网络设备的会话私钥、本端网络设备的会话私钥对应的对端网络设备的身份信息、第一协商参数和本端网络设备确定的第二随机数,计算本端网络设备的会话主密钥;其中,本端网络设备的会话私钥具有一个私钥级别,具有该私钥级别的对端网络设备的身份信息即为本端网络设备的会话私钥对应的对端网络设备的身份信息,即本端网络设备的会话私钥的私钥级别对应的对端网络设备的身份信息;
104:向对端网络设备返回接入响应。
本发明实施例通过利用IBC机制,使用用户公开的身份信息作为用户的公钥,密钥管理相当简单,可以很方便地对数据信息进行加解密,使得P2P网络的接入认证工作更加轻松、简单;同时,解决了P2P网络模式下分布式接入认证,在该机制下,任何一个实体都可以直接验证另一个实体的真实性,非常适合P2P网络这种对等的网络架构,简化了现有技术的流程。简单,方便,安全性很高。
实施例2
为了使P2P网络的接入认证更加轻松、简单,本发明实施例提供了一种P2P网络的接入认证方法,该P2P网络中的网络设备采用IBC机制进行接入认证。
以Mesh这种典型的P2P网络为例,参见图2,该P2P网络的接入认证方法的准备工作包括:
201:建立IBC系统。
(1)由一个离线的可信任机构KGC(Key Generation Center,密钥分发中心)生成系统参数 params = < G 1 , G 2 , q , e &OverBar; , P , H 1 , H 2 , H >
其中,G1是加法群,G2是乘法群,
Figure GSB00001046927200051
H2为密钥派生函数,H2:G2→{0,1}n,H为一般散列函数,如SHA等,P是KGC产生的用于计算私钥的参数。
系统参数params可以公开。
(2)随机选择一个数
Figure GSB00001046927200053
作为系统主密钥
其中,
Figure GSB00001046927200054
表示阶为q的有限元集合。
这里需要对系统主密钥k进行说明的是,为了保证系统秘密参数的新鲜性,KGC会对其系统主密钥k进行更新。同时,为保证系统的平滑过渡,KGC在更新系统主密钥k时,采取在一定时间之内(如一年)逐步更新系统内各节点的私钥,并且在这段时间之内允许两代系统主密钥颁发的节点私钥同时存在。即:如果某节点有两代系统主密钥颁发的私钥且两代私钥均在有效期之内,则两代私钥允许同时使用。
(3)计算IPS(Identity Policy Server,身份策略服务器)的私钥Ppriv-off=kP
其中,私钥Ppriv-off用于IPS在向Mesh网络中其他MP节点发送消息时签名使用。
这里需要说明的是,IPS是一种收集和维护本网所有节点的身份有效信息的服务器,可以是一个独立的实体存在,也可以位于某个MP节点上,或者可以分布式地存在于多个MP节点上,每个MP节点均可以与IPS进行交互,或者通过其他MP节点与IPS进行交互。
202:MP节点加入IBC系统前,从KGC处获取其私钥。
具体的,KGC接收到MP节点申请私钥的请求时,可以根据当前系统使用的主密钥的级别及该申请私钥的节点的身份标识(ID,identification)等为其分发私钥。
私钥的计算可以但不限于按照如下公式进行计算:Priv_Key=kPub_Key。
其中,可以使用该申请私钥的MP节点的身份标识ID作为Pub_Key(公钥),身份标识包括但不限于:email(电子邮件)、地址、电话号码、IP地址、MAC(Media Access Control,介质访问控制子层)地址、姓名等等。当然,也可以以MP节点的ID加以运算获得Pub_Key,例如Pub_Key为ID乘以一个预设的常数,或者Pub_Key为ID加上一个预设的常数。
203:IPS从KGC处获得Mesh网络内全部MP节点的身份有效信息,并将获得的全部身份有效信息进行维护和保存。
这里,MP节点的身份有效信息至少包括:MP节点的身份标识、私钥级别和私钥是否有效;还可以包括私钥的有效期;还可以包括MP节点的角色标识,用以识别不同等级的角色实体等。这里,私钥级别代表了颁发私钥的系统主密钥的级别,私钥级别与颁发私钥的系统主密钥的级别相同。
身份有效信息的维护和保存方式有很多种,例如,IPS可以维护一个身份有效信息表,如表1所示。
表1
身份标识 私钥级别 有效期 是否有效 备注
MPa SN1 2009年8月
MPa SN0 2009年5月
MPb SN1 2010年7月
MPc SN1 2009年8月
MPc SN0 2009年5月 已丢失
...... ...... ...... ...... ......
当然,身份有效信息的维护和保存并不只局限在身份有效信息表,本领域普通技术人员不进行创造性的劳动即可得出的方式均在本发明的保护范围之内。
至此,通过步骤201-步骤203完成了P2P网络接入认证的准备工作。下面,结合图3a的步骤,以MPa(网状网络节点a)接入网络,MPb(网状网络节点b)对其进行接入认证为例,描述P2P网络的接入认证方法。由于P2P网络是对等网络,对等的两个网络设备需要相互进行接入认证,当MPa接入网络时,其整个的P2P网络接入认证过程可以分为:MPa接入MPb的过程,和MPb接入MPa的过程。
MPa接入MPb的过程如下,步骤301至步骤305:
301:本端网络设备MPb接收对端网络设备MPa发送的第一接入请求;其中,第一接入请求中包括:MPa的身份标识、私钥级别和第一协商参数。
其中,MPa的第一接入请求还可以包括:时间等与MPa的私钥相关的信息。
需要说明的是,由于一个系统中最多存在两代系统主密钥颁发的私钥,因此,系统中的每个节点最多拥有两个私钥,每个私钥对应不同的私钥级别。MPa的身份标识、私钥级别可以以MPa的身份信息的形式携带在第一接入请求中,MPa的身份信息包括MPa的身份标识、和全部的私钥级别信息。
例如,假设MPa的身份标识为UDa,MPa拥有一个私钥,则MPa的身份信息可以为Tmp_ID(MPa)=(IDa|SN)。其中,SN用于标识颁发MPa的私钥的系统主密钥的级别,即MPa的当前私钥为第几代系统主密钥颁发。如果MPa拥有两代(第0代和第1代)系统主密钥颁发的私钥,且两代系统主密钥颁发的私钥均在其有效期内,则MPa的身份信息可以如下所示:
Tmp_ID0(MPa)=(IDa|SN0)以及Tmp_ID1(MPa)=(IDa|SN1),其中Tmp_ID0(MPa)与私钥级别为SN0的私钥相对应,Tmp_ID1(MPa)与私钥级别为SN1的私钥相对应。
与MPa的私钥相关的信息可以但不限于包括:Timestamp(时间标识)、私钥是否有效等。其中,Timestamp用于标识私钥的有效期。因此,MPa的身份信息可以有多种形式,例如,ID、SN与一个或多个相关信息的组合Tmp_ID(MPa)=(IDa|Timestamp|SN)。
当MPa拥有一个私钥时,第一协商参数具体可以为:(a×Pub_Keya),其中,随机数a用来协商此次会话的主密钥,随机数a由MPa确定,Pub_Keya为MPa的私钥对应的公钥,×表示非可逆运算。当MPa拥有两个私钥时,由于每个私钥对应的公钥不同,因此每个私钥对应一个第一协商参数,具体可以为:私钥级别为SN0的私钥对应的第一协商参数为(a×Pub_Keya0),其中,a是随机数,Pub_Keya0为私钥级别为SN0的私钥对应的公钥;私钥级别为SN1的私钥对应的第一协商参数为(a×Pub_Keya1),其中,a是随机数,Pub_Keya1为私钥级别为SN1的私钥对应的公钥;两个不同私钥对应的第一协商参数可以采用相同的随机数或者不同的随机数产生;两个不同私钥对应的第一协商参数都要携带在第一接入请求中。
会话主密钥依赖于MPa和MPb分别选择一个秘密的、其他节点不知道的随机数计算产生,才能达到其他节点无法获悉这个会话主密钥的目的。由于公钥与随机数运算得到第一协商参数的过程是不可逆的,即通过第一协商参数和公钥无法逆运算获取随机数,所以将该随机数与MPa的公钥做运算,可以对该随机数实现密文传播。
进一步地,为了防止重放攻击,第一接入请求中还可以包括随机数Nonce1,例如使用MPa的身份信息Tmp_ID(MPa)=(IDa|SN|Nonce1)。
302:MPb根据接收到的MPa的私钥级别和MPb本身的私钥级别,选择MPb的私钥作为会话私钥。
这里需要说明的是,之所以携带MP节点的私钥级别,是因为如果把每一个SN标识的系统主密钥颁发的私钥当作一个身份证,则相当于这个系统为了保持更换系统主密钥时系统的平滑过渡,会同时允许两代身份证在系统中并存使用,任何两个节点只有使用相同代(即SN相同)主密钥颁发的私钥才能成功进行互相鉴权认证,所以需要将MP节点的全部私钥级别(一般为1到2个)都进行交互,以便彼此选择相同级别的主密钥颁发的私钥进行鉴权认证。
选择私钥的方法为:MPb选择系统主密钥的级别SN与MPa相同的私钥作为MPb的私钥,具体的原则可以如表2所示:
表2
Figure GSB00001046927200081
其中,表2中的SN0表示MP节点拥有SN0所标识的系统主密钥颁发的私钥,即私钥级别为SN0的私钥;SN1表示MP节点拥有SN1所标识的系统主密钥颁发的私钥,即私钥级别为SN1的私钥。
以case(情形)3为例,MPa拥有SN0级别的有效私钥,MPb拥有SN0、SN1级别的有效私钥,这两个对等的MPa和MPb在进行互相鉴权认证时,都选择采用各自SN0级别的有效私钥进行鉴权认证协商。
再以case5为例,MPa拥有SN1级别的有效私钥,MPb拥有SN0、SN1级别的有效私钥,这两个对等的MPa和MPb在进行互相鉴权认证时,都选择采用各自SN1级别的有效私钥进行鉴权认证协商。
其他case可依此类推。
这里需要说明的是,在MPb选定私钥的同时,MPb也同时选定了MPa全部身份信息中的一个和MPb全部身份信息中的一个,即MPb已选定私钥的私钥级别对应的MPa的身份信息和MPb的身份信息。由于每个身份信息对应一个私钥级别,即每个身份信息对应一个私钥(私钥与私钥级别一一对应),携带在接入请求中的一个MP的各个身份信息分别对应不同的私钥级别,在选定私钥的同时,私钥级别也随之确定,这时,各MP的身份信息中与选定私钥级别对应的身份信息也被选定,即与选定私钥对应的身份信息被选定。
303:MPb根据步骤302中自身选择的会话私钥对应的MPa的身份信息,验证MPa的私钥是否有效。例如,假设MPb有一个私钥,其私钥级别为SN1,MPa有两个私钥,其私钥级别分别为SN0、SN1,MPb选中的私钥的私钥级别为SN1,该选定的私钥为Pri_Keyb,以下步骤中以此假设为例进行说明。
步骤303的目的是为了克服IBC机制本身存在的私钥更新和私钥丢失的问题,本步骤为可选步骤。
验证的方法可以为:MPb将选择的MPa的身份信息发送给IPS进行查询,并接收IPS的查询结果,如果IPS的查询结果为有效,验证结果即为有效;如果IPS的查询结果为无效,验证结果即为无效。
304:MPb计算会话主密钥、校验码。
A:MPb根据步骤302中选定的会话私钥对应的MPa身份信息计算MPa的公钥Pub_keya=H1(Tmp_IDs(MPa)),其中,如步骤201的内容所述
Figure GSB00001046927200091
Tmp_IDs(MPa)表示选定私钥对应的MPa身份信息,例如,如果选定私钥级别为SN0则Tmp_IDs(MPa)=Tmp_ID0(MPa)=(IDa|SN0),或者,如果选定私钥级别为SN1则Tmp_IDs(MPa)=Tmp_ID1(MPa)=(IDa|SN1),此时MPb计算出的MPa的公钥用Pub_keya1;
B:MPb根据步骤302中所选择的会话私钥Pri_Keyb、选定的私钥(私钥级别SN1的私钥)对应的MPa的身份信息Tmp_IDs(MPa)及其对应的第一协商参数(a×Pub_Keya1),MPb确定的第二随机数b,计算此次会话主密钥 K = H 2 ( e &OverBar; ( b &times; Pub _ Keya 1 + a &times; Pub _ Keya 1 , Pri _ Keyb ) ) ; 其中,H2为密钥派生函数,H2:H2→{0,1}n;其中,Pub_Keya1为MPa和MPb公知,×表示非可逆运算;
C:MPb根据此次会话主密钥K、MPa的身份标识IDa、MPb的身份标识IDb,计算MPb的校验码Vb=H(K,IDa|IDb),用以向MPa节点证明MPb节点知道该会话的主密钥,并可让MPa验证彼此产生的会话主密钥是否一致;H为一般散列函数。
这里需要说明的是,当第一接入请求中携带随机数Nonce1,第二接入请求中携带随机数Nonce2时,校验码Vb的获取方式可以为Vb=H(K,IDa|IDb|Nonce1|Nonce2)。其中,第二接入请求为MPb向MPa发送的接入请求消息。
305:MPb向MPa发送第一接入响应,完成MPa接入MPb的过程;
第一接入响应中可以包括:MPb计算的校验码Vb和MPb选择的私钥的私钥级别SN1,或者,MPb计算的校验码Vb和MPb选定私钥级别对应的MPa或MPb的身份信息。
以上步骤301至305完成了MPa接入MPb的过程,下面的步骤306至314示出了MPb接入MPa的过程:
306:MPb发送第二接入请求给MPa;其中,第二接入请求中包括:MPb的身份标识、私钥级别和第二协商参数。
其中,MPb的第二接入请求还可以包括:时间等与MPb的私钥相关的信息。
需要说明的是,由于一个系统中最多存在两代系统主密钥颁发的私钥,因此,系统中的每个节点最多拥有两个身份私钥,每个私钥对应不同的级别。MPb的身份标识、私钥级别可以以MPb的身份信息的形式携带在第二接入请求中,MPb的身份信息包括MPb的身份标识、和全部的私钥级别信息,每一个私钥级别对应一个身份信息。例如,假设MPb的身份标识为IDb,MPb拥有一个私钥,则其身份信息可以为Tmp_ID(MPb)=(IDb|SN)。其中,SN用于标识颁发MPb的私钥的系统主密钥的级别,即MPb的当前私钥为第几代系统主密钥颁发。
与MPb的私钥相关的信息可以但不限于包括:Timestamp、私钥是否有效等。其中,Timestamp用于标识私钥的有效期。因此,MPb的身份信息可以有多种形式,例如,Tmp_ID(MPb)=(IDb|Timestamp|SN)。
第二协商参数具体可以为:(b×Pub_Keyb)。其中,随机数b用来协商此次会话的主密钥,随机数b由MPb确定,Pub_Keyb表示MPb的公钥,×表示非可逆运算。会话主密钥依赖于MPa和MPb分别选择一个秘密的、其他节点不知道的随机数计算产生,才能达到其他节点无法获悉这个会话主密钥的目的。由于公钥Pub_Keyb与随机数b运算得到第一协商参数的过程是不可逆的,即通过第二协商参数和公钥无法逆运算获取随机数,所以将该随机数与MPb的公钥Pub_keyb做运算,可以对该随机数实现密文传播。
进一步地,为了防止重放攻击,第二接入请求中还可以包括随机数Nonce2。
307:MPa根据接收到的第二接入请求中的MPb的私钥级别和MPa本身的私钥级别,选择MPa的会话私钥;
具体的选择方法可以参考步骤302中的表2,在此不做详述。例如,假设MPa有两个私钥(Pri_Keya0、Pri_Keya1),其私钥级别分别为SN0、SN1,MPb有一个私钥,其私钥级别为SN1,MPa选中的私钥Pri_Keya1的私钥级别为SN1,以下步骤中以此假设为例进行说明。
308:MPa根据步骤307中自身选择的私钥级别对应的MPb的身份信息,验证MPb的私钥是否有效。
步骤308与步骤303的目的均是为了克服IBC机制本身存在的私钥更新和私钥丢失的问题,本步骤为可选步骤。
验证的方法可以为:MPa将选择的MPb的身份信息发送给IPS进行查询,并接收IPS的查询结果,如果IPS的查询结果为有效,验证结果即为有效;如果IPS的查询结果为无效,验证结果即为无效。
309:MPa计算会话主密钥、校验码。
MPa采用与步骤304中MPb的计算方法相类似的计算方法计算MPa的会话主密钥、校验码。其中,MPa计算的MPb的公钥为Pub_Keyb=H1(Tmp_ID(MPb)),会话主密钥为 K = H 2 ( e &OverBar; ( Pri _ Keya 1 , b &times; Pub _ Keyb + a &times; Pub _ Keyb ) ) , 校验码Va=H(K,IDb|IDa);当考虑机数Nonce1,随机数Nonce2时,校验码Va的获取方式可以为Va=H(K,IDb|IDa|Nonce2|Nonce1)。
310:MPa向MPb发送第二接入响应,完成MPb接入MPa的过程;
第二接入响应中可以包括:MPa计算的校验码Va和MPa选择的私钥级别SN1,或者,MPa计算的校验码Va和MPa选定私钥级别对应的MPa或MPb的身份信息。
以上步骤301至310分别完成了MPa接入MPb的过程和MPb接入MPa的过程,为了保证接入的正确性,防止接入异常,P2P网络的接入认证方法还可以进一步对接入过程进行验证,参考图3b,该验证过程包括下面的步骤311至313:
311:MPa接收MPb发送的第一接入响应,该第一接入响应中可以包括MPb计算的校验码Vb和MPb选择的私钥的私钥级别SN1,或者,MPb计算的校验码Vb和MPb选定私钥级别对应的MPa或MPb的身份信息;
当然,该第一接入响应还可以包括随机数Nonce1和随机数Nonce2。
312:MPa判定MPb选择的身份信息是否与自己的选择一致;如果不一致,拒绝接入;如果一致,执行313;
由于在第一接入响应中,携带了MPb选择的私钥级别SN1,或者MPb选定私钥级别对应的MPa或MPb的身份信息,这些身份信息中包括MPb选择的私钥级别SN1,所以,根据MPb选择的私钥级别SN1,MPa判断自身选择的私钥的私钥级别是否也是SN1,如果是则认为MPa与MPb选择了相同私钥级别的私钥,即两个节点选择的身份信息一致,如果不是则认为MPa与MPb选择了不同私钥级别的私钥,即两个节点选择的身份信息不一致。
313:MPa根据接收到的MPb发送的校验码Vb,验证MPb计算的会话主密钥是否与自身计算的会话主密钥相同;
具体的,MPa接收到Vb后,MPa计算自身的校验码Va,如果Va和Vb相同,则认为MPa和MPb计算的会话主密钥相同,允许MPb接入网络。
上述步骤311至步骤313完成了MPa对MPb的验证,当然,还可以进行MPb对MPa的验证,如下步骤314至316:
314:MPb接收MPa发送的第二接入响应,该第二接入响应中可以包括MPa计算的校验码Va和MPa选择的私钥级别SN1,或者,MPa计算的校验码Va和MPa选定私钥级别对应的MPa或MPb的身份信息;
当然,该第二接入响应还可以包括接收随机数Nonce1和随机数Nonce2。
315:MPb判定MPa选择的身份信息是否与自己的选择一致;如果不一致,拒绝接入;如果一致,执行316;
具体判断方式参考步骤312。
316:MPb根据接收到的MPa发送的校验码Va,验证MPa计算的会话主密钥是否与自身计算的会话主密钥相同;
具体的,MPb接收到Va后,MPb计算自身的校验码Vb,如果Va和Vb相同,则认为MPa和MPb计算的会话主密钥相同,则允许MPa接入网络。
至此,两个MP节点完成互相鉴权认证,并建立对等链路。两个MP节点根据其鉴权协商的会话主密钥,通过四步握手协议建立临时会话密钥,进行安全通信。当然,在上述步骤311至316的验证过程中,需要利用响应消息中携带的校验码和选定私钥的私钥级别,由于验证过程不是P2P网络的接入所必须的,因此当P2P网络的接入认证不包括上述的验证过程时,接入响应中可以不携带验证码和选定私钥的私钥级别,在计算主密钥时也不必计算校验码。
需要说明的是,本实施例中给出的是一个顺序的执行流程,实际中MPa接入MPb的过程和MPb接入MPa的过程可以是相互独立的,两个MP节点发送接入请求时,是可以竞争的,双方没有先后顺序,任何一个MP节点都可以向另一个对等的MP节点发起接入请求,任何一个MP节点在收到对等MP节点发送的接入请求时,须马上向对方发起一个接入请求或者接入响应消息。
这里,对于本实施例中的步骤303需要说明的是,采用MPb将选择的MPa的身份信息发送给IPS进行查询验证的方法,这种验证方法虽然很常用,但是也有其缺点。例如,每一次的查询交互均会浪费节点的硬件资源和网络的网络资源等。因此,本发明实施例提供了以下验证私钥是否有效的方法,解决了上述验证方法的缺点,即:本网中的每个节点均在本地维护身份有效信息,根据本地的身份有效信息进行验证。
其中,每个节点在本地维护的身份有效信息可以是本网内全部节点的身份有效信息,也可以是本网内部分节点的身份有效信息。这些身份有效信息的获得途径为:
(A)身份有效信息的交互查询
A1:MPb向IPS发起查询请求;
其中,查询请求中可以包括:消息序号和欲查询的MPa的身份标识。其中,消息序号可以随机产生,也可以顺序递增,用以识别一对“请求-响应”对,并防止重放攻击。查询请求可以明文传播。
A2:IPS接收到MPb的查询请求,在自身维护的本网中所有节点的身份有效信息中进行查询,得到MPa的身份有效信息,并发送查询响应给MPb;
其中,查询响应中可以包括:消息序号和MPa的身份有效信息。查询响应可以明文传播。
需要说明的是,IPS在发送查询响应时,为保证身份有效信息的机密性,需要使用系统的私有密钥Ppriv-off对查询响应进行签名,并将签名信息附加在查询响应中。
A3:MPb接收到IPS发送的查询响应,校验签名的有效性;
如果无效,直接丢弃该查询响应;如果有效,根据该查询响应中携带的内容更新自己维护的身份有效信息中关于MPa的信息。校验签名的有效性可以包括:直接使用系统的公钥对签名进行校验,此种校验在现有技术中有标准的签名算法,此处不做赘述。
这里需要说明的是,在Mesh网络中,以上的交互信息可以通过Mesh网络中的多跳管理帧封装承载。
还需要说明的是,如果查询响应需要经过某些节点的转发才能够到达MPb,那么,当某一节点在转发IPS发送的查询响应时,也可以根据查询响应中的内容进行主动学习,并更新其身份有效信息中MPa的相关信息。
(B)主动广播节点的身份有效信息
当节点的身份有效信息有更新,或者某个节点被频繁多次查询时,IPS可以对某节点的身份有效信息进行主动广播。广播信息中可以包括:消息序号、某节点的身份有效信息和IPS的签名。
系统内的其他节点在收到广播信息后,校验消息序号和签名,如果正确,则根据该广播信息中的节点身份有效信息更新身份有效信息中该节点的相关信息。
其中,消息序号的校验可以包括:节点根据自身保存的上次收到的有效广播信息的消息序号与此次广播信息的消息序号比较,如果此次广播信息的消息序号小于上次收到的有效广播的消息序号或者可以直接判定比上次收到的有效广播的消息序号陈旧,则直接丢弃该广播信息,否则校验成功。
签名信息的校验可以包括:直接使用系统的公钥对签名进行校验,此种校验在现有技术中有标准的签名算法,此处不做赘述。
通过以上几种方式,当然并不局限于这几种方式,当某一节点的私钥已更新、或者私钥已丢失等情况时,本网中的其他节点可以获得相关信息,并更新自身维护的身份有效信息。
这里需要说明的是,在验证私钥是否有效的过程中,都是依赖于已保存在本地的身份有效信息,对于网络初次形成或者两个对等节点为初次建立链路时,各对等节点的本地身份有效信息中可能会没有邻居节点的信息的情况,本发明实施例也给予了考虑。这种情况下,节点可以选择不同的方法进行处理。例如:
如果MPb自身维护的身份有效信息中没有MPa的记录,则先假设MPa的私钥有效,后续可以向IPS进行主动查询、学习,或者被动接收IPS的广播信息更新其身份有效信息,主动根据更新后的身份有效信息对MPa的权限做更新,如果更新后的身份有效信息的记录中MPa的表项显示该MPa接入使用的身份是无效的,则断开与该MPa的链路连接,关闭该MPa的通信通道。或者,如果没有任何表项指示该MPa为无效,则主动向IPS发起查询请求,根据查询结果更新身份有效信息,主动根据更新后的身份有效信息对MPa的私钥是否有效进行验证。
这里需要说明的是,MPa验证MPb的私钥是否有效的过程(步骤308)与上述方法相类似,这里不做赘述。
这里需要说明的是,本发明实施例以Mesh网络为例,其他P2P网络中的节点也同样可以使用本发明实施例提供的方法进行接入认证鉴权,这里不做赘述。
本发明实施例通过在IBC机制下的身份标识附加其他信息作为节点的身份信息,并根据身份信息标识用户私钥的有效性,同时在每个节点上都维护一个身份有效信息,用以记录本网内各个节点的身份标识、私钥级别、私钥的有效期及私钥是否有效等身份有效信息,解决了IBC机制本身存在的私钥更新和私钥遗失等有关问题;同时,也避免了每次节点接入都需要访问IPS的麻烦;又通过利用IBC机制,解决了P2P网络模式下分布式接入鉴权认证。在该机制下,任何一个实体都可以直接验证另一个实体的真实性,非常适合P2P网络这种对等的网络架构。简单,方便,安全性很高。
实施例3
为了使P2P网络的接入认证更加轻松、简单,本发明实施例提供了一种P2P网络的接入认证方法,该P2P网络中的网络设备采用IBC机制进行接入认证。为了方便论述,假设本端网络设备MPb有一个私钥Pri_Keyb,其私钥级别为SN1,对端网络设备MPa有两个私钥Pri_Keya0和Pri_Keya1,其私钥级别分别为SN0、SN1,该P2P网络的接入认证方法包括,参考图4a、图4b:
401:节点MPb接收节点MPa发送的接入请求,该接入请求包括:MPa的身份标识、全部私钥级别和与私钥级别对应的第一协商参数。
第一协商参数可以为:(a×Pub_Keya),其中,第一随机数a为由MPa确定的随机数,用来协商会话的主密钥,Pub_Keya为MPa的私钥对应的公钥,×表示非可逆运算。不同私钥级别的私钥可以由相同的或不同的公钥得到,例如,以Pub_Keya0为Pri_Keya0对应的公钥,以Pub_Keya1为Pri_Keya1对应的公钥,则私钥级别SN0对应的第一协商参数为(a×Pub_Keya0),私钥级别SN1对应的第一协商参数为(a×Pub_Keya1),当Pub_Keya0和Pub_Keya1相同时,则不同的私钥级别可以对应相同的第一协商参数。
当然,接入请求中还可以进一步包括随机数Nonce1或其他与私钥相关的信息。随机数Nonce1由MPa确定,可以用于防止重放攻击。
P2P网络的接入认证的准备工作,可以参考实施例2中的步骤201至步骤203,这里不再赘述。
402:MPb根据接入请求中的MPa的全部私钥级别和MPb本身的私钥级别,确定一个私钥级别,选择MPb的私钥中与该确定的一个私钥级别对应的私钥,作为MPb协商会话的私钥。
根据前述假设,MPb可以按照表2的选择规则,确定私钥级别SN1,然后以SN1对应的私钥Pri_Keyb作为MPb协商会话的私钥。
403:MPb根据确定的私钥级别和MPa的身份标识,验证该确定的私钥级别对应的MPa的私钥是否有效。
步骤403为可选步骤,其目的是为了克服IBC机制本身存在的私钥更新和私钥丢失的问题。验证的方法可以为:MPb根据协商会话的私钥Pri_Keyb,将协商会话的私钥Pri_Keyb对应的私钥级别SN1和MPa的身份标识发送给IPS进行查询;接收IPS的查询结果,如果IPS的查询结果为有效,验证结果即为该确定的私钥级别SN1对应的MPa的私钥Pri_Keya1有效;如果IPS的查询结果为无效,验证结果即为该确定的私钥级别SN1对应的MPa的私钥Pri_Keya1无效。或者,验证的方法可以参考实施例2中介绍的根据本地的身份有效信息进行验证的方式。
404:MPb根据确定的私钥级别和MPa的身份标识,计算该确定的私钥级别对应的MPa的公钥;MPb根据该对应的MPa的公钥、第一协商参数、第二随机数、和MPb协商会话的私钥计算会话主密钥。
MPb根据确定的私钥级别和MPa的身份标识,计算该确定的私钥级别对应的MPa的公钥可以是:确定的私钥级别为SN1,则SN1对应的MPa的公钥Pub_keya1=H1((IDa|SN1)),其中
Figure GSB00001046927200171
MPb根据该对应的MPa的公钥、第一协商参数、第二随机数、和协商会话的私钥计算会话主密钥可以是:计算出SN1对应的MPa的公钥Pub_keya1后,再利用SN1对应的第一协商参数(a×Pub_Keya1)、第二随机数b、MPb协商会话的私钥Pri_Keyb,计算会话主密钥K,
K = H 2 ( e &OverBar; ( b &times; Pub _ Keya 1 + a &times; Pub _ Keya 1 , Pri _ Keyb ) ) , 其中,H2为密钥派生函数,H2:G2→{0,1}n。其中,第二随机数b为由MPb确定的随机数,用来协商会话的主密钥。
405:MPb向MPa发送接入响应,完成MPa接入MPb的过程;接入响应中可以包括:MPb的身份标识、全部私钥级别和与私钥级别对应的第二协商参数,或者,MPb的身份标识、在步骤402中确定的一个私钥级别和与该私钥级别对应的第二协商参数。
第二协商参数可以为:(b×Pub_Keyb),其中,b为由MPb确定的第二随机数,用来协商会话的主密钥(参考步骤404),Pub_Keyb为MPb的私钥Pri_Keyb(私钥级别为SN1)对应的公钥,×表示非可逆运算。不同的私钥级别可以对应相同或不同的第二协商参数。
当然,接入响应中还可以进一步包括随机数Nonce2或其他与私钥相关的信息。随机数Nonce2由MPb确定,可以用于防止重放攻击。
MPa接收到接入响应后,根据接入响应中携带的不同内容,进行不同的操作:当接入响应中包括MPb的身份标识、在步骤402中确定的一个私钥级别和与该私钥级别对应的第二协商参数时,执行步骤406至步骤407,参考图4a;当接入响应中包括MPb的身份标识、全部私钥级别和与私钥级别对应的第二协商参数时,执行步骤408至步骤411,参考图4b。
406:MPa根据接入响应中的私钥级别和MPb的身份标识,验证该确定的私钥级别对应的MPb的私钥是否有效。
步骤406为可选步骤,其验证的方法可以参考步骤403,在此不再赘述。
407:MPa根据接入响应中的私钥级别和MPb的身份标识,计算该私钥级别对应的MPb的公钥;MPa根据该对应的MPb的公钥、第二协商参数、第一随机数、和MPa协商会话的私钥计算会话主密钥,其中,MPa协商会话的私钥为接入响应中的私钥级别对应的MPa的私钥。
MPa根据接入响应中的私钥级别和MPb的身份标识,计算该私钥级别对应的MPb的公钥可以是:确定的私钥级别为SN1,则SN1对应的MPb的公钥Pub_keyb=H1((IDb|SN1)),其中
Figure GSB00001046927200181
MPa根据该对应的MPb的公钥、第二协商参数、第一随机数、和MPa协商会话的私钥计算会话主密钥可以是:计算出SN1对应的MPb的公钥Pub_keyb后,以SN1对应的MPa的私钥Pri_Keya1作为MPa协商会话的私钥,再利用SN1对应的第二协商参数(b×Pub_Keyb)、第一随机数a,计算会话主密钥K,
K = H 2 ( e &OverBar; ( Pri _ Keya 1 , b &times; Pub _ Keyb + a &times; Pub _ Keyb ) ) , 其中,H2为密钥派生函数,H2:G2→{0,1}n
当通过步骤406至步骤407,MPa计算出了会话主密钥K,就完成MPb接入MPa的过程,这样,通过两次握手(MPa发送接入请求至MPb、MPb发送接入响应至MPa)实现了P2P网络的接入认证。而且,由于在接入响应中携带了MPb确定的一个私钥级别和与该私钥级别对应的第二协商参数,MPa直接根据接入响应选择该确定的一个私钥级别对应的MPa的私钥,使得MPa和MPb选择的私钥必然具有相同的私钥级别,从而免去了MPa和MPb相互验证的过程(参考实施例2中的步骤311至步骤316)。
408:MPa根据接入响应中的MPb的全部私钥级别和MPa本身的私钥级别,确定一个私钥级别,选择MPa的私钥中与该确定的一个私钥级别对应的私钥,作为MPa协商会话的私钥。
根据前述假设,MPa可以按照表2的选择规则,确定私钥级别SN1,然后以SN1对应的私钥Pri_Keya1作为MPa协商会话的私钥。
409:MPa根据确定的私钥级别和MPb的身份标识,验证该确定的私钥级别对应的MPb的私钥是否有效。
步骤409为可选步骤,其验证的方法可以参考步骤403,在此不再赘述。
410:MPa根据确定的私钥级别和MPb的身份标识,计算该确定的私钥级别对应的MPb的公钥;MPa根据该对应的MPb的公钥、第二协商参数、第一随机数、和MPa协商会话的私钥计算会话主密钥。
对应的MPb的公钥和会话主密钥的计算方式可以参考步骤407,在此不再赘述。
当通过步骤408至步骤410,MPa计算出了会话主密钥K,就完成MPb接入MPa的过程,这样,通过两次握手(MPa发送接入请求至MPb、MPb发送接入响应至MPa)实现了P2P网络的接入认证。另外,在完成了P2P网络的接入认证后,为了保证接入的正确性,防止接入异常,P2P网络的接入认证方法还可以进一步对接入过程进行验证,该验证过程包括下面的步骤411至413:
411:MPa向MPb发送接入确认消息;该接入确认消息中可以包括MPa计算的校验码Va和MPa选择的私钥级别SN1;
当然,该接入确认消息还可以包括接收随机数Nonce1和随机数Nonce2。
MPa计算校验码Va方式可以为:Va=H(K,IDb|IDa);或者,当考虑随机数Nonce1,随机数Nonce2时,Va=H(K,IDb|IDa|Nonce2|Nonce1)。
412:MPb根据确认消息中MPa选择的私钥级别,判定MPa选择的私钥级别是否与MPb自己选择的私钥级别一致;如果不一致,拒绝接入;如果一致,执行413。
413:MPb根据接收到的MPa发送的校验码Va,验证MPa计算的会话主密钥是否与自身计算的会话主密钥相同;
具体的,MPb接收到Va后,MPb计算自身的校验码Vb,如果Va和Vb相同,则认为MPa和MPb计算的会话主密钥相同,则允许MPa接入网络。MPb计算Vb的方式可以是:Vb=H(K,IDa|IDb);或者,当考虑随机数Nonce1,随机数Nonce2时,Vb=H(K,IDa|IDb|Nonce1|Nonce2)。
至此,通过三次握手(MPa发送接入请求至MPb、MPb发送接入响应至MPa、MPa发送接入确认消息至MPb),在完成了P2P网络的接入认证后,进一步对接入过程进行验证。当然,MPb在发送接入响应至MPa之前(步骤405),也可以计算自身的校验码Vb,并将校验码Vb携带在接入响应中向MPa发送,从而MPa在计算出会议主密钥K后(步骤407或步骤410),利用Vb和MPa计算出的Va进行验证。
本发明实施例通过利用IBC机制,使用用户公开的身份标识计算用户的公钥,密钥管理相当简单,可以很方便地对数据信息进行加解密,使得P2P网络的接入认证工作更加轻松、简单;同时,解决了P2P网络模式下分布式接入认证,在该机制下,任何一个实体都可以直接验证另一个实体的真实性,非常适合P2P网络这种对等的网络架构,简化了现有技术的流程。当进一步使用验证码进行验证时,可以进一步保证主密钥的一致性,从而防止接入异常,提高接入安全性。
实施例4
为了使P2P网络的接入认证更加轻松、简单,本发明实施例提供了一种网络设备,采用基于身份公钥机制IBC进行接入认证,参见图5,该网络设备包括:
接收模块501,用于接收对端网络设备发送的接入请求,接入请求携带对端网络设备的身份信息和第一协商参数,身份信息包括对端网络设备的身份标识和对端网络设备私钥级别;
选择模块502,用于根据本端网络设备的私钥级别和对端网络设备的私钥级别,从本端网络设备的私钥中选择一个作为本端网络设备的会话私钥;
计算模块503,用于根据本端网络设备的会话私钥、本端网络设备的会话私钥对应的对端网络设备的身份信息、第一协商参数和本端网络设备确定的第二随机数,计算本端网络设备的会话主密钥;
发送模块504,用于向对端网络设备返回接入响应。
进一步地,参见图6,该网络设备还包括:
第二发送模块505,用于向对端网络设备发送第二接入请求,第二接入请求携带本端网络设备的身份信息和第二协商参数,身份信息包括本端网络设备的身份标识和本端网络设备的私钥级别;第二协商参数由第二随机数与本端网络设备的公钥通过不可逆运算获得;第二接入请求用于对端网络设备计算对端网络设备的会话主密钥;
第二接收模块506,用于接收对端网络设备返回的第二接入响应或接入确认消息,第二接入响应或接入确认消息中携带对端网络设备的校验码;
校验模块507,用于根据接收到的对端网络设备的校验码,校验对端网络设备的会话主密钥是否与本端网络设备的会话主密钥相同;
接入模块508,用于如果校验模块的校验结果为相同,允许对端网络设备接入P2P网络。
其中,选择模块502包括:
确定单元,用于根据本端网络设备的全部私钥级别和对端网络设备的全部私钥级别,确定本端网络设备和对端网络设备共有的私钥级别;
选择单元,用于选择一个共有的私钥级别对应的私钥作为本端网络设备的会话私钥。
其中,计算模块503具体包括:
公钥计算单元,用于根据对端网络设备的身份信息计算对端网络设备的公钥;
主密钥计算单元,用于根据公钥计算单元计算的对端网络设备的公钥、选择的会话私钥、第一协商参数和本端网络设备确定的第二随机数计算本端网络设备的会话主密钥;
校验码计算单元,用于根据本端网络设备的会话主密钥计算本端网络设备的校验码。
进一步地,参见图7,该网络设备还包括:
验证模块509,用于根据对端网络设备的身份信息,查询本端网络设备中预先保存的身份有效信息;如果身份有效信息中,对端网络设备的私钥为有效,则通知计算模块计算本端网络设备的会话主密钥。
本发明实施例提供的网络设备,通过在IBC机制下的身份标识中附加其他信息作为节点的身份信息,并根据身份信息标识用户私钥的有效性,同时在每个节点上都维护一个身份有效信息,用以记录本网内各个节点的身份标识、私钥级别、私钥的有效期及私钥是否有效等身份有效信息,解决了IBC机制本身存在的私钥更新和私钥遗失等有关问题;同时,也避免了每次节点接入都需要访问IPS的麻烦;又通过利用IBC机制,解决了P2P网络模式下分布式接入鉴权认证。在该机制下,任何一个实体都可以直接验证另一个实体的真实性,非常适合P2P网络这种对等的网络架构。简单,方便,安全性很高。
实施例5
为了使P2P网络的接入认证更加轻松、简单,本发明实施例提供了一种P2P网络的接入认证系统,参见图8,该系统包括:本端网络设备801和对端网络设备802,本端网络设备801和对端网络设备802通过P2P网络相连;
其中,本端网络设备801或对端网络设备802可以如实施例4中描述的网络设备,这里不做详细描述。
本发明实施例提供的系统,通过在IBC机制下的身份标识中附加其他信息作为节点的身份信息,并根据身份信息标识用户私钥的有效性,同时在每个节点上都维护身份有效信息,用以记录本网内各个节点的身份标识、私钥级别、私钥的有效期及私钥是否有效等身份有效信息,解决了IBC机制本身存在的私钥更新和私钥遗失等有关问题;同时,也避免了每次节点接入都需要访问IPS的麻烦;又通过利用IBC机制,解决了P2P网络模式下分布式接入鉴权认证。在该机制下,任何一个实体都可以直接验证另一个实体的真实性,非常适合P2P网络这种对等的网络架构。简单,方便,安全性很高。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,路由器的硬盘、缓存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种对等P2P网络的接入认证方法,其特征在于,所述P2P网络中的网络设备采用基于身份公钥机制IBC进行接入认证,所述方法包括:
本端网络设备接收对端网络设备发送的接入请求,所述接入请求携带所述对端网络设备的身份信息和第一协商参数,所述身份信息包括对端网络设备的身份标识和对端网络设备私钥级别;
根据所述本端网络设备的私钥级别和所述对端网络设备的私钥级别,从所述本端网络设备的私钥中选择一个与系统主密钥级别相同的私钥作为所述本端网络设备的会话私钥;所述本端网络设备根据自身选择的会话私钥对应的所述对端网络设备的身份信息,验证所述对端网络设备的私钥是否有效;
根据所述本端网络设备的会话私钥、所述本端网络设备的会话私钥对应的所述对端网络设备的身份信息、第一协商参数和所述本端网络设备确定的第二随机数,计算所述本端网络设备的会话主密钥和校验码;
向所述对端网络设备返回接入响应。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
本端网络设备在向对端网络设备发送的消息中携带所述本端网络设备的身份信息和第二协商参数,所述身份信息包括本端网络设备的身份标识和本端网络设备的全部私钥级别;所述第二协商参数由所述第二随机数与本端网络设备的公钥通过不可逆运算获得;
所述向对端网络设备发送的消息为第二接入请求或所述接入响应;所述向对端网络设备发送的消息用于所述对端网络设备计算所述对端网络设备的会话主密钥。
3.如权利要求2所述的方法,其特征在于,本端网络设备在向对端网络设备发送第二接入请求或所述接入响应后,所述方法还包括:
本端网络设备接收所述对端网络设备返回的消息,所述对端网络设备返回的消息为第二接入响应或接入确认消息;
所述第二接入响应或接入确认消息中携带对端网络设备计算的会话主密钥校验码,所述校验码用于本端网络设备校验对端网络设备和本端网络设备计算的主密钥是否一致。
4.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述本端网络设备的私钥级别和所述对端网络设备的私钥级别,从所述本端网络设备的私钥中选择一个与系统主密钥级别相同的私钥作为所述本端网络设备的会话私钥,包括:
根据本端网络设备的全部私钥级别和对端网络设备的全部私钥级别,确定所述本端网络设备和所述对端网络设备共有的私钥级别,选择一个所述共有的私钥级别对应的私钥作为所述本端网络设备的会话私钥。
5.如权利要求4所述的方法,其特征在于,所述本端网络设备根据自身选择的会话私钥对应的所述对端网络设备的身份信息,验证所述对端网络设备的私钥是否有效,具体包括:
根据所述对端网络设备的身份信息,查询所述本端网络设备中预先保存的身份有效信息;所述身份有效信息至少包括,所述P2P网络中的网络设备的身份标识、私钥级别和私钥是否有效;
如果所述保存的身份有效信息中,所述对端网络设备的私钥为有效,则计算所述本端网络设备的会话主密钥。
6.如权利要求5所述的方法,其特征在于,所述预先保存的身份有效信息通过如下方法获得:
向所述P2P网络中的身份策略服务器发送查询消息,所述查询消息中携带欲获得的网络设备的身份信息;接收所述身份策略服务器发送的查询响应消息,所述查询响应消息中携带所述欲获得的网络设备的身份有效信息;保存所述欲获得的网络设备的身份有效信息;或
接收所述P2P网络中的身份策略服务器的广播消息,所述广播消息中携带网络设备的身份有效信息;保存所述网络设备的身份有效信息;或
转发携带有网络设备的身份有效信息的消息时,学习并保存所述网络设备的身份有效信息。
7.如权利要求4所述的方法,其特征在于,所述计算所述本端网络设备的会话主密钥,包括:
根据所述对端网络设备的身份信息计算所述对端网络设备的公钥;
根据所述对端网络设备的公钥、选择的会话私钥、所述第一协商参数和所述第二随机数计算所述本端网络设备的会话主密钥;
所述第一协商参数由所述对端网络设备确定的第一随机数和所述对端网络设备的公钥通过不可逆运算获得。
8.一种网络设备,其特征在于,所述网络设备采用基于身份公钥机制IBC进行接入认证,所述网络设备包括:
接收模块,用于接收对端网络设备发送的接入请求,所述接入请求携带所述对端网络设备的身份信息和第一协商参数,所述身份信息包括对端网络设备的对端网络设备的身份标识和私钥级别;
选择模块,用于根据本端网络设备的私钥级别和所述对端网络设备的私钥级别,从所述本端网络设备的私钥中选择一个与系统主密钥级别相同的私钥作为所述本端网络设备的会话私钥;
验证模块,用于根据所述对端网络设备的身份信息,查询所述本端网络设备中预先保存的身份有效信息;如果所述身份有效信息中,所述对端网络设备的私钥为有效,则通知计算模块计算所述本端网络设备的会话主密钥;
计算模块,用于根据所述选择模块选择的会话私钥、所述选择的会话私钥对应的所述对端网络设备的身份信息、第一协商参数和所述本端网络设备确定的第二随机数,计算所述本端网络设备的会话主密钥和校验码;
发送模块,用于向所述对端网络设备返回接入响应。
9.如权利要求8所述的网络设备,其特征在于,所述网络设备还包括:
第二发送模块,用于向对端网络设备发送第二接入请求,所述第二接入请求携带所述本端网络设备的身份信息和第二协商参数,所述身份信息包括本端网络设备的身份标识和本端网络设备的全部私钥级别;所述第二协商参数由所述第二随机数与本端网络设备的公钥通过不可逆运算获得;所述第二接入请求用于所述对端网络设备计算所述对端网络设备的会话主密钥;
第二接收模块,用于接收所述对端网络设备返回的第二接入响应或接入确认消息,所述第二接入响应或接入确认消息中携带所述对端网络设备的校验码;
校验模块,用于根据接收到的所述对端网络设备的校验码,校验所述对端网络设备的会话主密钥是否与所述本端网络设备的会话主密钥相同;
接入模块,用于如果所述校验模块的校验结果为相同,允许所述对端网络设备接入P2P网络。
10.如权利要求8所述的网络设备,其特征在于,所述选择模块包括:
确定单元,用于根据所述本端网络设备的全部私钥级别和所述对端网络设备的全部私钥级别,确定所述本端网络设备和所述对端网络设备共有的私钥级别;
选择单元,用于选择一个所述共有的私钥级别对应的私钥作为所述本端网络设备的会话私钥。
11.如权利要求8所述的网络设备,其特征在于,所述计算模块具体包括:
公钥计算单元,用于根据所述对端网络设备的身份信息计算所述对端网络设备的公钥;
主密钥计算单元,用于根据所述公钥计算单元计算的对端网络设备的公钥、选择的会话私钥、所述第一协商参数和所述本端网络设备确定的第二随机数计算所述本端网络设备的会话主密钥;
校验码计算单元,用于根据所述本端网络设备的会话主密钥计算所述本端网络设备的校验码。
12.一种对等P2P网络的接入认证系统,其特征在于,包括:本端网络设备和对端网络设备,所述本端网络设备和所述对端网络设备通过P2P网络相连;
所述本端网络设备或所述对端网络设备为如权利要求8至11中任一权利要求所述的网络设备。
CN200910009154.6A 2009-02-20 2009-02-20 P2p网络的接入认证方法、设备和系统 Expired - Fee Related CN101815294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910009154.6A CN101815294B (zh) 2009-02-20 2009-02-20 P2p网络的接入认证方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910009154.6A CN101815294B (zh) 2009-02-20 2009-02-20 P2p网络的接入认证方法、设备和系统

Publications (2)

Publication Number Publication Date
CN101815294A CN101815294A (zh) 2010-08-25
CN101815294B true CN101815294B (zh) 2013-08-14

Family

ID=42622381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910009154.6A Expired - Fee Related CN101815294B (zh) 2009-02-20 2009-02-20 P2p网络的接入认证方法、设备和系统

Country Status (1)

Country Link
CN (1) CN101815294B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490887B (zh) 2012-06-14 2017-06-13 中兴通讯股份有限公司 一种网络设备及其认证和密钥管理方法
JP5987552B2 (ja) * 2012-08-21 2016-09-07 株式会社リコー 無線通信装置、プログラムおよび方法
TW201626767A (zh) * 2015-01-15 2016-07-16 Universal Global Scient Ind Co 物聯網裝置離線分享之存取權限控制方法
CN104660417B (zh) * 2015-03-17 2018-02-27 联想(北京)有限公司 验证方法、验证装置和电子设备
CN108282329B (zh) * 2017-01-06 2021-01-15 中国移动通信有限公司研究院 一种双向身份认证方法及装置
CN108347417B (zh) * 2017-01-24 2020-08-07 华为技术有限公司 一种网络认证方法、用户设备、网络认证节点及系统
CN109391907A (zh) * 2018-12-13 2019-02-26 武汉盛硕电子有限公司 一种加密、解密方法及其应用
CN110213230B (zh) * 2019-04-26 2020-01-31 特斯联(北京)科技有限公司 一种用于分布式通信的网络安全验证方法及装置
WO2020237453A1 (zh) * 2019-05-27 2020-12-03 云图有限公司 安全多方计算的实现方法、装置、计算机设备和存储介质
CN115314278B (zh) * 2022-08-04 2023-06-30 长扬科技(北京)股份有限公司 可信网络连接身份认证方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN101815294A (zh) 2010-08-25

Similar Documents

Publication Publication Date Title
CN101815294B (zh) P2p网络的接入认证方法、设备和系统
CN110581854B (zh) 基于区块链的智能终端安全通信方法
Kim et al. A secure smart-metering protocol over power-line communication
Nikravan et al. A lightweight defense approach to mitigate version number and rank attacks in low-power and lossy networks
CN1980123B (zh) 基于ibe的pki系统的实现方法及其密钥管理装置
Xi et al. A trust management scheme based on behavior feedback for opportunistic networks
KR20090104421A (ko) 무선센서네트워크에서의 타원곡선암호 기반 키 설정 방법과이를 이용한 무선센서네트워크 시스템 및 기록매체
Yadav et al. An EAP-based mutual authentication protocol for WLAN-connected IoT devices
CN112187450A (zh) 密钥管理通信的方法、装置、设备及存储介质
Zhang et al. Sapfs: An efficient symmetric-key authentication key agreement scheme with perfect forward secrecy for industrial internet of things
Braeken et al. Anonymous lightweight proxy based key agreement for IoT (ALPKA)
Luo et al. A security communication model based on certificateless online/offline signcryption for Internet of Things
Li et al. CAKA: a novel certificateless-based cross-domain authenticated key agreement protocol for wireless mesh networks
Daza et al. Cryptographic techniques for mobile ad-hoc networks
Aura et al. Towards a survivable security architecture for ad-hoc networks
Wen et al. Provably secure authenticated key exchange protocols for low power computing clients
Shikfa et al. Bootstrapping security associations in opportunistic networks
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
Yasmin et al. Provable security of a pairing-free one-pass authenticated key establishment protocol for wireless sensor networks
Xingliang et al. A new authentication scheme for wireless ad hoc network
Jiang et al. Multiple Key Sharing and Distribution Scheme With $(n, t) $ Threshold for NEMO Group Communications
Zouridaki et al. Distributed CA-based PKI for mobile ad hoc networks using elliptic curve cryptography
Juang Efficient user authentication and key agreement in wireless sensor networks
Zhang et al. Towards privacy-preserving and secure opportunistic routings in VANETs
Porambage et al. Public Key Based Protocols–EC Crypto

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130814

Termination date: 20190220

CF01 Termination of patent right due to non-payment of annual fee