CN104917616B - 一种基于智能卡的软件定义网络中网络设备认证方法 - Google Patents

一种基于智能卡的软件定义网络中网络设备认证方法 Download PDF

Info

Publication number
CN104917616B
CN104917616B CN201510275146.1A CN201510275146A CN104917616B CN 104917616 B CN104917616 B CN 104917616B CN 201510275146 A CN201510275146 A CN 201510275146A CN 104917616 B CN104917616 B CN 104917616B
Authority
CN
China
Prior art keywords
network equipment
smart card
data packet
certificate authority
controller
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.)
Active
Application number
CN201510275146.1A
Other languages
English (en)
Other versions
CN104917616A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201510275146.1A priority Critical patent/CN104917616B/zh
Publication of CN104917616A publication Critical patent/CN104917616A/zh
Application granted granted Critical
Publication of CN104917616B publication Critical patent/CN104917616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于智能卡的软件定义网络中网络设备认证方法,主要包括:模块初始化;模块认证;设备更换。本发明在软件定义网络架构下,不需要公钥基础设备,只需要网络中配置一个可信认证机构,减少了公钥基础设施的投入,提高了系统的设置效率;将SDN中网络设备的身份同网络设备的使用地点、具体操作人和使用环境绑定,并存储于智能卡中,提高了网络设备升级或更换的效率;SDN网络设备认证同时需要读取智能卡和输入网络设备使用密码,能够有效防止智能卡被盗用带来的安全风险,提高了SDN中网络设备的认证安全性;本发明尽量采用杂凑函数作为密码学组件实施构造,可以有效提高SDN中网络设备认证的效率。

Description

一种基于智能卡的软件定义网络中网络设备认证方法
技术领域
本发明提出一种基于智能卡的软件定义网络中网络设备认证方法,属于通讯领域。
背景技术
随着互联网技术的快速发展,软件定义网络(Software Defined Networking,SDN)由于其通过使用控制器将网络控制平面与数据平面分离开来,提高了网络安全、可管理和控制的能力,在很多行业都有良好的应用空间,而目前SDN存在首要的问题就是安全问题。此外,对于SDN中的控制器来说,获得真实数据平面的参数是实施控制和管理的必要操作。因此,对SDN中网络设备实施认证,并且协商会话密钥,从而用密码学的方法建立安全可信的通信路径,既是保证控制器收集网络设备参数的来源真实性,又是保证系统安全通讯的必要工作。
SDN中网络设备认证指的是控制器对网络设备实施的认证,发生在网络设备接入SDN中的时候。这种接入有两种典型情况,一是为了扩大网络的规模,SDN中增加一个新的网络设备;二是原有网络设备发生损坏,SDN中用一台新的网络设备替换旧的网络设备。目前,该类认证可以使用传统公钥和私钥的方法实施认证,即利用公钥基础设施完成网络设备和控制器的双向认证,毫无疑问这种认证方法是可行的。但是,由于需要利用公钥基础设施,这种认证方法建设和布置比较困难,认证时需要多次传递各实体的公钥信息。另外,传统网络设备认证和设备实体绑定,设备更新替换需要重新获得新设备的会话密钥,设备更换和升级时间较长。随着SDN的推广和应用,控制器管理网络设备的数量逐渐增多,网络设备的认证效率要求也在逐步提高,需要一种消耗系统资源较少的网络设备认证方法。智能卡是一种集成电路卡,广泛地应用于金融、身份证和社会保障等领域,它继承了磁卡以及其它集成电路卡的所有优点,并有极高的安全、保密、防伪能力。因此,本发明提出一种基于智能卡的软件定义网络中网络设备认证方法,对SDN应用和推广有十分重要的理论价值和现实意义。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于克服现有技术解决SDN中网络设备认证的不足,提出一种基于智能卡的软件定义网络中网络设备认证方法。本方法中网络设备实体可读取智能卡,由可信认证机构对网络设备的使用地点、具体操作人和使用环境组成的网络设备身份进行配置,并将身份秘密值存储在智能卡中,据此在可信认证机构的帮助下完成网络设备和控制器的双向认证。该方法能够有效解决网络设备认证问题,也可以避免相对复杂的公钥基础设施,同时网络设备更换和升级非常简单。
为了实现上述目的,本发明的第一方面的实施例公开了一种基于智能卡的软件定义网络中网络设备认证方法,包括以下步骤:A:可信认证机构生成所述可信认证机构与控制器之间的长期密钥,并向控制器发送所述长期密钥;B:第一网络设备将自身的身份信息通过智能卡发送给所述可信认证机构;C:所述可信认证机构对所述智能卡中所述第一网络设备的身份信息进行加密,并将加密后的信息通过所述智能卡写回所述第一网络设备中;D:第一网络设备向所述控制器发送包含所述第一网络设备的身份信息和经过可信认证机构加密后的信息的第一数据包;E:所述控制器根据接收到的所述第一数据包和所述长期密钥进行计算,并向所述可信认证机构发送包含所述计算结果的第二数据包;F:所述可信认证机构对所述第二数据包进行解密,并根据所述长期密钥对所述解密后的数据进行验证,若满足验证条件,所述可信认证机构对解密后的数据进行加密,将包含加密后的信息的第三数据包写回所述控制器;G:所述控制器对所述第三数据包的数据进行解密并验证,若满足验证条件,所述控制器对解密后数据进行计算,并将包含所述计算结果的第四数据包发送给所述第一网络设备;以及H:所述第一网络设备对所述第四数据包进行解密并验证,若满足验证条件,则认证成功,否则认证失败。
根据本发明实施例的一种基于智能卡的软件定义网络中网络设备认证方法,在软件定义网络架构下,不需要公钥基础设备,只需要网络中配置一个可信认证机构,减少了公钥基础设施的投入,提高了系统的设置效率;将SDN中网络设备的身份同网络设备的使用地点、具体操作人和使用环境绑定,并存储于智能卡中,提高了网络设备升级或更换的效率;SDN网络设备认证同时需要读取智能卡和输入网络设备使用密码,能够有效防止智能卡被盗用带来的安全风险,提高了SDN中网络设备的认证安全性;本发明尽量采用杂凑函数作为密码学组件实施构造,可以有效提高SDN中网络设备认证的效率。
另外,根据本发明上述实施例的一种基于智能卡的软件定义网络中网络设备认证方法,还可以具有如下附加的技术特征:
进一步地,在步骤A中,所述可信认证机构随机选择两个素数p、q和一个随机值作为主密钥和一个杂凑函数所述可信认证机构公开p,q和H(·)的具体参数,所述可信认证机构选择一个随机值作为可信认证机构和控制器之间的长期密钥,然后所述可信认证机构通过安全方式将长期密钥KCT发送给控制器,其中表示:长期密钥是由位数长度小于q位的二进制数0和1组成的随机字符串,并且不包括全为0的字符串;其中所述的表示:将由二进制数0和1组成的字符串通过杂凑函数H映射到群中。
进一步地,在步骤C中,所述可信认证机构收到所述智能卡后,读取所述第一网络设备的身份IDNE,并利用所述IDNE计算所述第一网络设备的加密身份值SIDNE和DIDNE,其中:
SIDNE=EKx(IDNE||IDTA)
DIDNE=H(IDNE)Kx mod p
所述可信认证机构将所述SIDNE、DIDNE和杂凑函数H(·)存储在所述智能卡中,
其中,SIDNE=EKx(IDNE||IDTA)表示SIDNE的计算过程,先将网络设备的身份IDNE和可信认证机构的身份IDTA组合起来形成IDNE||IDTA,然后用主密钥加密得出SIDNE;DIDNE=H(IDNE)Kxmod p表示DIDNE的计算过程,先得出网络设备的身份IDNE的杂凑函数值H(IDNE),然后求主密钥Kx次幂,并求结果的p模得出DIDNE
进一步地,在步骤C和步骤D之间,还存在以下步骤:
CD1:所述第一网络设备接收到所述智能卡后,选择一个随机值作为网络设备使用密码,读取所述智能卡,得到智能卡中的所述SIDNE和所述DIDNE
CD2:网络设备输入网络设备使用密码KNE,利用智能卡中的加密身份值SIDNE、DIDNE和杂凑函数H(·),计算两个在所述网络设备使用密码保护下的加密身份值,具体为:
用TIDNE存储替换智能卡中的SIDNE,用RIDNE存储替换智能卡中的DIDNE
其中,("0"||KNE)表示将所述密码KNE和字符"0"组合,输入杂凑函数H(·),将H("0"||KNE)和SIDNE按位异或得出TIDNE;("1"||KNE)表示所述RIDNE将所述密码KNE和字符"1"组合,输入杂凑函数H(·),将H("1"||KNE)和DIDNE按位异或得出RIDNE
进一步地,在步骤D中,所述第一网络设备读取所述智能卡,输入所述第一网络设备的身份IDNE和所述第一网络设备使用密码KNE;所述第一网络设备产生一个随机值并获取当前系统时间T1作为时间戳,利用所述智能卡中存储的所述TIDNE、所述RIDNE和所述H(·),计算
A=H(IDNE)a mod p
所述第一网络设备给所述控制器发送所述第一数据包Data1={IDTA,T1,A,CNT}。
进一步地,在步骤E中,所述控制器检查收到所述第一数据包的时间与所述第一数据包内的时间戳T1是否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;所述控制器获取当前时间T2,并根据所述控制的身份IDCL和所述长期密钥KCT
计算
所述控制器向所述可信认证机构发送所述第二数据包Data2={IDTA,IDCL,T2,CCT}。
进一步地,在步骤F中,所述可信认证机构检查收到所述第二数据包的时间与所述第二数据包内时间戳T2是否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述可信认证机构利用所述长期密钥KCT解密所述第二数据包Data2中的所述CCT,得到IDTA,T2和Data1;所述可信认证机构所述第二数据包Data2中IDTA和T2是否和CCT解密出来的IDTA和T2取值相同,如果不同退出认证模块,发出认证失败消息,否则继续运行以下步骤;
所述可信认证机构取出所述第一数据包Data1中的IDTA,T1,A,CNT,计算解密CNT,得到SIDNE,IDNE,IDCL;所述可信认证机构检查解密CNT得出的IDCL是否与所述第二数据包Data2中IDCL的值相同,如果不同退出认证模块,发出认证失败消息,否则继续运行以下步骤;
所述可信认证机构用所述主密钥Kx解密SIDNE,得出IDNE和IDTA,检查解密CNT和解密SIDNE得到的所述第一网络设备的身份IDNE是否相同,如果相同则继续以下步骤,否则退出认证模块,发出认证失败消息;
所述可信认证机构计算给所述控制器的验证值获取当前时间戳T3,并利用V1、IDNE、IDCL和长期密钥KCT计算加密值CTC,所述可信认证机构发送第三数据包Data3={IDCL,T3,CTC}给控制器。
进一步地,在步骤G中,所述控制器检查收到所述第三数据包的时间与所述第三数据包内时间戳T3是否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述控制器利用所述长期密钥KCT解密CTC,得到IDNE,IDCL,T3和V1;所述控制器判断从所述第一网络设备收到的IDNE和解密CTC得到的IDNE是否相同,如果相同则继续以下步骤,否则退出认证模块,发出认证失败消息;
所述控制器获取当前时间T4,并产生一个随机值利用解密得到的IDNE,IDCL和V1,先后计算发送给所述第一网络设备的验证值V2和CCN,其中:V2=H(IDNE||IDCL||T4||V1)
CCN的计算公式为:
CCN=H("0"||V2||b)
所述控制器发送第四数据包Data4=(IDCL,T4,b,CCN)给所述第一网络设备,并存储验证值V2为所述控制器和所述第一网络设备的会话密钥。
进一步地,在步骤H中,所述第一网络设备检查收到所述第四数据包的时间与所述第四数据包中的时间戳T4否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述第一网络设备计算验证值V1,V2和CCN,所述第一网络设备检查计算出的CCN是否等于所述第四数据包Data4中收到的CCN,如果相等通过认证否则退出认证模块,发出认证失败消息。
进一步地,在步骤H后,还包括以下步骤:
I:当所述第一网络设备出现故障或者升级时,将所述智能卡从所述第一网络设备中取出放入第二网络设备中;
J:所述第二网络设备读取所述加密身份值RIDNE和TIDNE记为RIDold和TIDold,读取会话密钥的保护值V3记为
K:所述第二网络设备选择一个随机值作为所述第二网络设备的使用密码。输入第一网络设备所述密码KNE和所述第二网络设备密码KNE2,计算新的加密身份值RIDNE和TIDNE,其中
计算新的会话密钥保护值存储并替换原有值RIDNE、TIDNE和V3
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一种基于智能卡的软件定义网络中网络设备认证方法流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
主要的数学符号及算法解释:
1)加解密运算:本发明中使用的加密运算EK(·),可以是任意加密密钥为K的对称加密运算。对应的解密运算DK(·)的解密密钥为相同的K。对于任意输入M,加解密运算符合如下公式:M=DK(EK(M)),并且没有密钥K,求解上式是困难的。
2)杂凑运算:本发明中使用的抗碰撞杂凑函数具备两个基本特性:单向性和抗碰撞性;单向性是指只能从杂凑函数输入推导出输出,而不能从杂凑函数输出计算出输入;抗碰撞性是指不能同时找到两个不同的输入使杂凑函数输出结果完全相同。
3)异或运算:本发明中使用的异或运算指的是异或运算符两边元素a和b按位进行异或,并输出最终结果。
4)组合运算:本发明中使用的组合运算a||b,指的是组合运算符||两边元素a和b按位首尾相连,并输出最终结果。
5)模幂运算:本发明中使用的模幂运算(a)b mod p,指的是数a做b次幂运算,然后取模p的结果,并最终输出。
以下结合附图描述根据本发明实施例的。
图1是本发明一种基于智能卡的软件定义网络中网络设备认证方法流程图。请参考图1,在本实施例中,SDN认证环境包含五个实体:可信认证机构、控制器、智能卡、第一网络设备和第二网络设备,其中可信认证机构的身份为IDTA,控制器的身份为IDCL,网络设备的身份为IDNE
流程一:模块初始化
可信认证机构生成初始参数,配置和分发其和控制器之间的长期密钥,接收、配置并分发第一网络设备的智能卡。控制器存储其和可信认证机构的长期密钥。网络设备初始化接收和配置智能卡。该模块功能的具体实现分为7步:
步骤1:可信认证机构随机选择2个大素数p和q。可信认证机构再选择一个大的随机值作为主密钥和一个杂凑函数可信认证机构公开p,q和H(·)的具体参数。可信认证机构选择一个大的随机值作为可信认证机构和控制器之间的长期密钥,然后可信认证机构通过安全方式将长期密钥KCT发送给控制器。其中,所述的“通过安全方式将长期密钥KCT发送给控制器”表示:可以是指定安全可信人员传送该密钥,也可以通过安全文件流转渠道传送该密钥,也可以在控制器设置之前在可信认证机构内进行安全的密钥注入;其中所述的“大的随机值”表示:长期密钥是由位数足够长但小于q位的二进制数0和1组成的随机字符串(并且不包括全为0的字符串);其中所述的“杂凑函数”表示:将由二进制数0和1组成的字符串通过杂凑函数H映射到群中。
步骤2:第一网络设备把自身的身份IDNE∈{0,1}*写入智能卡中。其中所述的“身份IDNE∈{0,1}*”主要包括第一网络设备的使用地点、具体操作人和使用环境。
步骤3:第一网络设备通过安全方式把智能卡提交给可信认证机构。其中所述的“安全方式提交给可信认证机构”可以是指定安全可信人员传送,也可以通过安全文件流转渠道传送。
步骤4:可信认证机构收到智能卡后,读取第一网络设备的身份IDNE,并利用其计算第一网络设备的加密身份值SIDNE和DIDNE,具体为SIDNE=EKx(IDNE||IDTA)和DIDNE=H(IDNE)Kxmodp。然后,可信认证机构将如上2个加密身份值SIDNE、DIDNE和杂凑函数H(·)存储在智能卡中。此时,智能卡中存储的是SIDNE,DIDNE和H(·)。
步骤5:可信认证机构通过安全方式返回智能卡给第一网络设备。其中,SIDNE=EKx(IDNE||IDTA)表示SIDNE的计算过程,先将第一网络设备的身份IDNE和可信认证机构的身份IDTA组合起来形成IDNE||IDTA,然后用主密钥加密得出SIDNE。DIDNE=H(IDNE)Kxmod p表示DIDNE的计算过程,先得出第一网络设备的身份IDNE的杂凑函数值H(IDNE),然后求主密钥Kx次幂,并求结果的p模得出DIDNE。同理,以下步骤中加密和求幂过程类似于本步骤执行。
步骤6:第一网络设备接收到智能卡后,选择一个大的随机值作为第一网络设备使用密码。然后读取智能卡,得到智能卡中的加密身份值SIDNE和DIDNE
步骤7:第一网络设备输入第一网络设备使用密码KNE,利用智能卡中的加密身份值SIDNE、DIDNE和杂凑函数H(·),计算2个在第一网络设备使用密码保护下的加密身份值,具体是然后,用TIDNE存储替换智能卡中的SIDNE,用RIDNE存储替换智能卡中的DIDNE。此时,智能卡中存储的参数是TIDNE、RIDNE和H(·)。其中,表示TIDNE的计算过程为先将第一网络设备使用密码KNE和字符"0"组合起来形成("0"||KNE),然后将其输入杂凑函数H(·),最后将结果H("0"||KNE)和SIDNE按位异或得出TIDNE表示RIDNE的计算过程,先将第一网络设备使用密码KNE和字符"1"组合起来形成("1"||KNE),然后将其输入杂凑函数H(·),最后将结果H("1"||KNE)和DIDNE按位异或得出RIDNE。同理,以下步骤中异或过程类似于本步骤执行。
流程二:模块认证
第一网络设备接入网络时向控制器发出认证需求和挑战,控制器通过将挑战和需求转发给可信认证机构,在可信认证机构的帮助下完成和第一网络设备的双向认证,并形成控制器和第一网络设备间会话密钥。该模块功能的具体实现分为5步:
步骤8:第一网络设备正式接入网络时,读取智能卡,输入第一网络设备的身份IDNE和第一网络设备使用密码KNE。第一网络设备产生一个随机值并获取当前系统时间T1作为时间戳,利用智能卡中存储的TIDNE,RIDNE和H(·),计算A=H(IDNE)a mod p,最后,第一网络设备发送第一数据包Data1={IDTA,T1,A,CNT}给控制器。
步骤9:控制器收到第一网络设备发来的第一数据包Data1,检查第一数据包Data1内的时间戳T1是否新鲜,如果时间戳新鲜继续以下步骤,否则退出认证模块,发出认证失败消息。控制器获取当前时间T2,并利用长期密钥KCT计算最后,控制器发送第二数据包Data2={IDTA,IDCL,T2,CCT}给可信认证机构。其中,所述的“检查数据包内的时间戳T1是否新鲜”表示收到数据包的时刻和T1所示时间相比,是否在合理的时间差内,如果是在合理的时间差内就称时间戳T1是“新鲜”,否则为“不新鲜”。同理,以下步骤中判断所收到时间戳是否新鲜过程类似于本步骤。
步骤10:可信认证机构收到控制器发来的数据包Data2,检查第二数据包Data2内时间戳T2是否新鲜,如果时间戳新鲜继续以下步骤,否则退出认证模块,发出认证失败消息。可信认证机构利用长期密钥KCT解密第二数据包Data2中的CCT,如公式所示,得到IDTA,T2和Data1。可信认证机构检查收到的第二数据包Data2中IDTA和T2是否和CCT解密出来的IDTA和T2取值相同,如果不同退出认证模块,发出认证失败消息,否则继续运行以下步骤。可信认证机构取出Data1中的IDTA,T1,A,CNT,并计算并用其解密CNT,如公式所示,得到SIDNE,IDNE,IDCL。可信认证机构检查解密CNT得出的IDCL是否同和接收到Data2中IDCL的值相同,如果不同退出认证模块,发出认证失败消息,否则继续运行以下步骤。可信认证机构用自己的主密钥Kx解密SIDNE,如(IDNE||IDTA)=DKx(SIDNE)公式所示,得出IDNE和IDTA,并检查解密CNT和解密SIDNE得到的第一网络设备的身份IDNE是否相同,如果相同则继续以下步骤,否则退出认证模块,发出认证失败消息。可信认证机构计算给控制器的验证值然后获取当前时间戳T3,并利用Vi、IDNE、IDCL和长期密钥KCT计算加密值CTC,如公式所示。最后,可信认证机构发送数据包Data3={IDCL,T3,CTC}给控制器。
步骤11:控制器收到可信认证机构发来的第三数据包Data3,检查第三数据包Data3内时间戳T3是否新鲜,如果新鲜继续以下步骤,否则退出认证模块,发出认证失败消息。控制器利用长期密钥KCT解密CTC,如公式所示,得到IDNE,IDCL,T3和V1。控制器判断从第一网络设备收到的IDNE和解密CTC得到的IDNE是否相同,如果相同则继续以下步骤,否则退出认证模块,发出认证失败消息。控制器获取当前时间T4,并产生一个随机值利用解密得到的IDNE,IDCL和V1,先后计算发送给第一网络设备的验证值V2和CCN,具体如V2=H(IDNE||IDCL||T4||V1)和CCN=H("0"||V2||b)公式所示。最后,控制器发送第四数据包Data4=(IDCL,T4,b,CCN)给第一网络设备,并存储验证值V2为控制器和第一网络设备的会话密钥。
步骤12:第一网络设备收到控制器发来的第四数据包Data4,检查第四数据包Data4中的时间戳T4是否新鲜,如果新鲜继续如下步骤,否则退出认证模块,发出认证失败消息。为了同控制器发送的验证值进行对比,第一网络设备计算验证值V1,V2和CCN,如公式V2=H(IDNE||IDCL||T4||V1)和CCN=H("0"||V2||b)所示。第一网络设备检查计算出的CCN是否等于第四数据包Data4中收到的CCN,如果相等通过认证,V2为控制器和第一网络设备的会话密钥,否则退出认证模块,发出认证失败消息。第一网络设备使用密码保护下的会话密钥并将V3存储于智能卡中。此时,智能卡中存储的参数是TIDNE、RIDNE、V3和H(·)。
流程三:设备更换
网络设备需要更换为网络设备2时,网络设备2利用原有智能卡存储的数据完成智能卡存储数据的更换。该模块功能的具体实现为3步:
步骤13:当网络设备出现故障或者需要升级更换为网络设备2时,将智能卡从网络设备中取出放入网络设备2中。
步骤14:网络设备2读取秘密身份值RIDNE和TIDNE记为RIDold和TIDold,读取会话密钥的保护值V3记为
步骤15:网络设备2选择一个大的随机值作为网络设备2使用密码。输入网络设备使用密码KNE和网络设备2使用密码KNE2,计算新的秘密身份值RIDNE和TIDNE,如
计算新的会话密钥保护值存储并替换原有值RIDNE、TIDNE和V3。网络设备2可以通过读取智能卡中存储的V3,计算同控制器的会话密钥V2,如公式所示。因为,身份IDNE∈{0,1}*主要包括网络设备的使用地点、具体操作人和使用环境,因此网络设备和网络设备2的IDNE相同。
另外,本发明实施例的一种基于智能卡的软件定义网络中网络设备认证方法的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

Claims (10)

1.一种基于智能卡的软件定义网络中网络设备认证方法,其特征在于,包括以下步骤:
A:可信认证机构生成所述可信认证机构与控制器之间的长期密钥,并向控制器发送所述长期密钥;
B:第一网络设备将自身的身份信息通过智能卡发送给所述可信认证机构;
C:所述可信认证机构对所述智能卡中所述第一网络设备的身份信息进行加密,并将加密后的信息通过所述智能卡写回所述第一网络设备中;
D:第一网络设备向所述控制器发送包含所述第一网络设备的身份信息和经过可信认证机构加密后的信息的第一数据包;
E:所述控制器根据接收到的所述第一数据包和所述长期密钥进行计算,并向所述可信认证机构发送包含所述计算结果的第二数据包;
F:所述可信认证机构对所述第二数据包进行解密,并根据所述长期密钥对所述解密后的数据进行验证,若满足验证条件,所述可信认证机构对解密后的数据进行加密,将包含加密后的信息的第三数据包写回所述控制器;
G:所述控制器对所述第三数据包的数据进行解密并验证,若满足验证条件,所述控制器对解密后数据进行计算,并将包含所述计算结果的第四数据包发送给所述第一网络设备;以及
H:所述第一网络设备对所述第四数据包进行解密并验证,若满足验证条件,则认证成功,否则认证失败。
2.根据权利要求1所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤A中,所述可信认证机构随机选择两个素数p、q和一个随机值作为主密钥和一个杂凑函数H:所述可信认证机构公开p,q和H(·)的具体参数,所述可信认证机构选择一个随机值作为可信认证机构和控制器之间的长期密钥,然后所述可信认证机构通过安全方式将长期密钥KCT发送给控制器,其中表示:长期密钥是由位数长度小于q位的二进制数0和1组成的随机字符串,并且不包括全为0的字符串;其中所述的“H:”表示:将由二进制数0和1组成的字符串通过杂凑函数H映射到群中。
3.根据权利要求2所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤C中,所述可信认证机构收到所述智能卡后,读取所述第一网络设备的身份IDNE,并利用所述IDNE计算所述第一网络设备的加密身份值SIDNE和DIDNE,其中:
SIDNE=EKx(IDNE||IDTA)
DIDNE=H(IDNE)Kxmod p
所述可信认证机构将所述SIDNE、DIDNE和杂凑函数H(·)存储在所述智能卡中,
其中,SIDNE=EKx(IDNE||IDTA)表示SIDNE的计算过程,先将网络设备的身份IDNE和可信认证机构的身份IDTA组合起来形成IDNE||IDTA,然后用主密钥加密得出SIDNE;DIDNE=H(IDNE)Kxmod p表示DIDNE的计算过程,先得出网络设备的身份IDNE的杂凑函数值H(IDNE),然后求主密钥Kx次幂,并求结果的p模得出DIDNE
4.根据权利要求3所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤C和步骤D之间,还存在以下步骤:
CD1:所述第一网络设备接收到所述智能卡后,选择一个随机值作为网络设备使用密码,读取所述智能卡,得到智能卡中的所述SIDNE和所述DIDNE
CD2:网络设备输入网络设备使用密码KNE,利用智能卡中的加密身份值SIDNE、DIDNE和杂凑函数H(·),计算两个在所述网络设备使用密码保护下的加密身份值,具体为:
用TIDNE存储替换智能卡中的SIDNE,用RIDNE存储替换智能卡中的DIDNE
其中,("0"||KNE)表示将所述密码KNE和字符"0"组合,输入杂凑函数H(·),将H("0"||KNE)和SIDNE按位异或得出TIDNE;("1"||KNE)表示所述RIDNE将所述密码KNE和字符"1"组合,输入杂凑函数H(·),将H("1"||KNE)和DIDNE按位异或得出RIDNE
5.根据权利要求4所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤D中,所述第一网络设备读取所述智能卡,输入所述第一网络设备的身份IDNE和所述第一网络设备使用密码KNE;所述第一网络设备产生一个随机值并获取当前系统时间T1作为时间戳,利用所述智能卡中存储的所述TIDNE、所述RIDNE和所述H(·),计算:
A=H(IDNE)a mod p
所述第一网络设备给所述控制器发送所述第一数据包Data1={IDTA,T1,A,CNT}。
6.根据权利要求5所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤E中,所述控制器检查收到所述第一数据包的时间与所述第一数据包内的时间戳T1是否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述控制器获取当前时间T2,并根据所述控制的身份IDCL和所述长期密钥KCT计算
所述控制器向所述可信认证机构发送所述第二数据包Data2={IDTA,IDCL,T2,CCT}。
7.根据权利要求6所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤F中,所述可信认证机构检查收到所述第二数据包的时间与所述第二数据包内时间戳T2是否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述可信认证机构利用所述长期密钥KCT解密所述第二数据包Data2中的所述CCT,得到IDTA,T2和Data1;所述可信认证机构所述第二数据包Data2中IDTA和T2是否和CCT解密出来的IDTA和T2取值相同,如果不同退出认证模块,发出认证失败消息,否则继续运行以下步骤;
所述可信认证机构取出所述第一数据包Data1中的IDTA,T1,A,CNT,计算解密CNT,得到SIDNE,IDNE,IDCL;所述可信认证机构检查解密CNT得出的IDCL是否与所述第二数据包Data2中IDCL的值相同,如果不同退出认证模块,发出认证失败消息,否则继续运行以下步骤;
所述可信认证机构用所述主密钥Kx解密SIDNE,得出IDNE和IDTA,检查解密CNT和解密SIDNE得到的所述第一网络设备的身份IDNE是否相同,如果相同则继续以下步骤,否则退出认证模块,发出认证失败消息;
所述可信认证机构计算给所述控制器的验证值获取当前时间戳T3,并利用V1、IDNE、IDCL和长期密钥KCT计算加密值CTC,所述可信认证机构发送第三数据包Data3={IDCL,T3,CTC}给控制器。
8.根据权利要求7所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤G中,所述控制器检查收到所述第三数据包的时间与所述第三数据包内时间戳T3是否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述控制器利用所述长期密钥KCT解密CTC,得到IDNE,IDCL,T3和V1;所述控制器判断从所述第一网络设备收到的IDNE和解密CTC得到的IDNE是否相同,如果相同则继续以下步骤,否则退出认证模块,发出认证失败消息;
所述控制器获取当前时间T4,并产生一个随机值利用解密得到的IDNE,IDCL
V1,先后计算发送给所述第一网络设备的验证值V2和CCN,其中:
V2=H(IDNE||IDCL||T4||V1)
CCN的计算公式为:
CCN=H("0"||V2||b)
所述控制器发送第四数据包Data4=(IDCL,T4,b,CCN)给所述第一网络设备,并存储验证值V2为所述控制器和所述第一网络设备的会话密钥。
9.根据权利要求8所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤H中,所述第一网络设备检查收到所述第四数据包的时间与所述第四数据包中的时间戳T4否在一个预设的时间差内,如果是则继续以下步骤,否则退出,发出认证失败消息;
所述第一网络设备计算验证值V1,V2和CCN,所述第一网络设备检查计算出的CCN是否等于所述第四数据包Data4中收到的CCN,如果相等通过认证否则退出认证模块,发出认证失败消息。
10.根据权利要求9所述的基于智能卡的软件定义网络中网络设备认证方法,其特征在于,在步骤H后,还包括以下步骤:
I:当所述第一网络设备出现故障或者升级时,将所述智能卡从所述第一网络设备中取出放入第二网络设备中;
J:所述第二网络设备读取所述加密身份值RIDNE和TIDNE记为RIDold和TIDold,读取会话密钥的保护值V3记为V3 old
K:所述第二网络设备选择一个随机值作为所述第二网络设备的使用密码;输入第一网络设备所述密码KNE和所述第二网络设备密码KNE2,计算新的加密身份值RIDNE和TIDNE,其中
计算新的会话密钥保护值存储并替换原有值RIDNE、TIDNE和V3
CN201510275146.1A 2015-05-26 2015-05-26 一种基于智能卡的软件定义网络中网络设备认证方法 Active CN104917616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510275146.1A CN104917616B (zh) 2015-05-26 2015-05-26 一种基于智能卡的软件定义网络中网络设备认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510275146.1A CN104917616B (zh) 2015-05-26 2015-05-26 一种基于智能卡的软件定义网络中网络设备认证方法

Publications (2)

Publication Number Publication Date
CN104917616A CN104917616A (zh) 2015-09-16
CN104917616B true CN104917616B (zh) 2018-09-14

Family

ID=54086348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510275146.1A Active CN104917616B (zh) 2015-05-26 2015-05-26 一种基于智能卡的软件定义网络中网络设备认证方法

Country Status (1)

Country Link
CN (1) CN104917616B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376252B (zh) * 2015-12-02 2019-06-14 福建星网锐捷网络有限公司 分布式架构数据通信设备及其认证方法、业务板
CN109005178B (zh) * 2018-08-09 2021-03-19 中国联合网络通信集团有限公司 一种认证方法和认证系统
CN111726325B (zh) * 2019-03-20 2021-12-03 华为技术有限公司 一种确定网络设备状态的方法、相关设备及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471274A (zh) * 2003-07-07 2004-01-28 江苏移动通信有限责任公司 基于互联网的智能卡远程并发写卡系统
CN101364986A (zh) * 2008-09-19 2009-02-11 广东南方信息安全产业基地有限公司 一种网络环境下可信设备的认证方法
WO2009143713A1 (zh) * 2008-05-28 2009-12-03 北京易恒信认证科技有限公司 双因子组合公钥生成和认证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471274A (zh) * 2003-07-07 2004-01-28 江苏移动通信有限责任公司 基于互联网的智能卡远程并发写卡系统
WO2009143713A1 (zh) * 2008-05-28 2009-12-03 北京易恒信认证科技有限公司 双因子组合公钥生成和认证方法
CN101364986A (zh) * 2008-09-19 2009-02-11 广东南方信息安全产业基地有限公司 一种网络环境下可信设备的认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于SDN的宽带接入网用户认证方式研究";刘汉江等;《移动通信》;20150113;全文 *

Also Published As

Publication number Publication date
CN104917616A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
CN108270571B (zh) 基于区块链的物联网身份认证系统及其方法
CN103699920B (zh) 基于椭圆曲线的射频识别双向认证方法
CN108064440B (zh) 基于区块链的fido认证方法、装置及系统
Sun et al. Improvements of Juang's password-authenticated key agreement scheme using smart cards
Kaveh et al. A lightweight mutual authentication for smart grid neighborhood area network communications based on physically unclonable function
CN102098157B (zh) 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法
Deebak et al. Lightweight authentication for IoT/Cloud-based forensics in intelligent data computing
CN109714167A (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN108667616A (zh) 基于标识的跨云安全认证系统和方法
Mustapa et al. Hardware-oriented authentication for advanced metering infrastructure
CN107566128A (zh) 一种两方分布式sm9数字签名生成方法与系统
CN106130716A (zh) 基于认证信息的密钥交换系统及方法
CN101938354B (zh) 一种基于模幂运算的密钥分发方法及其应用
CN107979840A (zh) 一种密钥隔离安全的车联网v2i认证系统及方法
CN105635135A (zh) 一种基于属性集及关系谓词的加密系统及访问控制方法
CN110381055A (zh) 医疗供应链中的rfid系统隐私保护认证协议方法
CN109474419A (zh) 一种活体人像照片加密、解密方法及加解密系统
CN104917616B (zh) 一种基于智能卡的软件定义网络中网络设备认证方法
CN105281910A (zh) 带ca数字证书作为入网身份识别的物联网锁及其入网身份识别方法
CN103634788A (zh) 前向安全的无证书多代理签密方法
CN102594551A (zh) Rfid标签隐私数据可靠统计方法
Chen et al. FSMFA: Efficient firmware-secure multi-factor authentication protocol for IoT devices
CN110225028A (zh) 一种分布式防伪系统及其方法
CN103873257A (zh) 密钥更新、数字签名及签名验证的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant