一种基于物理不可克隆函数的Kerberos鉴权系统和方法

文档序号:1172715 发布日期:2020-09-18 浏览:4次 >En<

阅读说明:本技术 一种基于物理不可克隆函数的Kerberos鉴权系统和方法 (Kerberos authentication system and method based on physical unclonable function ) 是由 柳亚男 邱硕 董如婵 程远 阎浩 卞志国 李晓蓉 于 2020-06-03 设计创作,主要内容包括:本发明公开了一种基于物理不可克隆函数的Kerberos鉴权系统和方法,本发明系统包括设备A、设备B、密钥分配中心KDC,所述密钥分配中心KDC中包括:认证服务器AS、票据授权服务器TGS、数据库DB;本发明方法包括以下步骤:对设备A和设备B在密钥分配中心KDC进行注册;设备A向认证服务器AS请求票据授权票据TGT;设备A获得票据授权票据TGT;设备A向TGS请求服务授权票据;设备A获得服务授权票据SGT;设备A向设备B请求通信服务。本发明能够防止攻击者通过入侵、半入侵及侧信道攻击等物理攻击造成的密钥泄露,同时克服公钥计算复杂度高、速度慢,通信带宽占用过多的问题,适合资源受限的网络应用。(The invention discloses a Kerberos authentication system and a method based on a physical unclonable function, wherein the system comprises a device A, a device B and a key distribution center KDC, and the key distribution center KDC comprises: the system comprises an authentication server AS, a bill authorization server TGS and a database DB; the method comprises the following steps: registering the device A and the device B in a key distribution center KDC; the device A requests a bill authorization bill (TGT) from an Authentication Server (AS); the device A obtains a bill authorization note TGT; the device A requests a service authorization ticket from the TGS; the device A obtains a service authorization ticket SGT; device a requests communication service from device B. The invention can prevent key leakage caused by physical attacks such as intrusion, semi-intrusion, side channel attack and the like by an attacker, simultaneously overcomes the problems of high computation complexity, low speed and excessive communication bandwidth occupation of a public key, and is suitable for network application with limited resources.)

一种基于物理不可克隆函数的Kerberos鉴权系统和方法

技术领域

本发明属于信息安全和密码协议技术领域,具体涉及一种基于物理不可克隆函数的 Kerberos鉴权系统和方法。

背景技术

Kerberos协议提供一个在客户端跟服务器端之间或者服务器与服务器之间的双向身份验 证机制,利用密钥分配中心KDC作为可信第三方提供认证和密钥分配服务。系统设计上通过 对称密码技术执行双向认证服务,即客户端和服务器端均可借助于KDC对彼此进行身份认证。 可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进 行密钥管理的系统。1988年,Bryant等人对Kerberos进行扩展,利用公开密钥加密方法进行 认证。另外,Windows Server 2003还通过使用智能卡的公共密钥证书进行初始身份验证来扩 展此协议。

但是传统的基于密钥库或公钥基础设施的认证和密钥管理机制效率不高:一方面攻击者 可能通过入侵、半入侵及侧信道攻击等物理攻击导致密钥泄漏,造成整个安全系统崩溃;另 一方面,公钥计算复杂度高、速度慢,通信带宽占用过多资源,影响设备和系统的可用性。 因此针对资源受限设备,寻求轻量级的终端保护机制,实现设备的安全认证与密钥管理,是 亟须解决完善的关键问题。

发明内容

本发明所要解决的技术问题是针对上述现有技术的不足,利用PUF结构代替传统Kerberos协议中设备存储的主密钥,实现设备与密钥分配中心KDC之间的双向认证和密钥分 配,可防止设备因主密钥泄露而引发的伪造攻击、仿冒攻击、中间人攻击的情况,提供一种 基于物理不可克隆函数的Kerberos鉴权系统和方法。

为实现上述技术目的,本发明采取的技术方案为:

一种基于物理不可克隆函数的Kerberos鉴权系统,其中:包括设备A、设备B、密钥分 配中心KDC,所述密钥分配中心KDC中包括:认证服务器AS、票据授权服务器TGS、数据库DB;

所述设备A和设备B内均安装有PUF芯片,所述数据库DB中存储PUF芯片的激励响应对 集合;所述设备A和设备B与密钥分配中心KDC进行双向认证;所述密钥分配中心KDC为设备A和B之间分配对称的会话密钥KA,B

一种基于物理不可克隆函数的Kerberos鉴权方法,包括以下步骤:

步骤S1:对设备A和设备B在密钥分配中心KDC进行注册;

步骤S2:设备A向认证服务器AS请求票据授权票据TGT;

步骤S3:设备A获得票据授权票据TGT;

步骤S4:设备A向TGS请求服务授权票据;

步骤S5:设备A获得服务授权票据SGT;

步骤S6:设备A向设备B请求通信服务。

为优化上述技术方案,采取的具体措施还包括:

进一步地,步骤1具体为:

S11:设备A和设备B分别安装物理不可克隆函数PUF芯片:PUFA、PUFB

S12:设备A和设备B分别生成若干个随机数作为激励集合,将每个激励输入PUF芯片生 成对应的响应;

S13:将设备A和设备B的激励响应对CRP集合按设备标识索引,安全地存储在KDC的数 据库DB中,KDC中认证服务器AS和票据授权服务器TGS可以对数据库DB中的激励响应对集 合CRP进行访问。

进一步地,步骤2具体为:

S21:设备A向认证服务器AS发送TGT的请求,发送信息中包含设备A的标识A_id;

S22:认证服务器AS收到消息后生成设备A与TGS之间的随机会话密钥:KA,TGS

S23:认证服务器AS根据设备A标识,从设备A的激励响应对CRP集合 <ChalA,ResA>i=1,......n中任取一个激励响应对<ChalA,ResA>,生成设备A的临时密钥 KA=Hash(ResA),并用KA加密KA,TGS得到:

Figure BDA0002521667910000021

S24:认证服务器AS访问到TGS的主密钥KTGS,生成票据许可票据TGT:KA,TGS,并用KA,TGS对票据许可票据TGT加密:

其中,A_id表示设备A的标识,A_address表示设备A的地址,TGS_name表示TGS服务器的名称(或标识),time_stamp表示时间戳,lifetime表示有效期,KA,TGS表示设备A与TGS之间的随机会话密钥;

S25:认证服务器AS将激励值ChalA

Figure BDA0002521667910000032

和TGT发送给设备A。

进一步地,步骤S3具体为:

S31:设备A收到认证服务器AS发来的ChalA和TGT;

S32:设备A利用物理不可克隆函数结构PUFA,生成激励值ChalA对应的响应值ResA

S33:设备A根据响应生成临时密钥KA=Hash(ResA),并用KA解密

Figure BDA0002521667910000034

得到KA,TGS

S34:设备A生成验证器AuthA,TGS,通过验证器验证发送该请求的设备A是否为TGT中所 声明的设备A:

Figure BDA0002521667910000031

进一步地,步骤S4具体为:

S41:设备A将设备B的标识B_id,AuthA,TGS和TGT发送给TGS;

S42:TGS使用主密钥KTGS解密TGT得到:

{A_id,A_address,TGS_name,time_stamp,lifetime,KA,TGS};

S43:TGS使用随机会话密钥KA,TGS解密AuthA,TGS并验证

{A_id,A_address,time_stamp,lifetime}和TGT中的是否一致,若验证通过则继续进行;否则 退出;

S44:TGS生成设备A与设备B之间的随机会话密钥KA,B

S45:TGS用随机会话密钥KA,TGS加密随机会话密钥KA,B得到:

S46:TGS根据设备B的标识,从设备B的激励响应对CRP集合<ChalB,ResB>i=1,......n 中任取一个激励响应对<ChalB,ResB>,生成设备B的临时密钥KB=Hash(ResB),生成服务授 权票据SGT:TA,B,并用KB加密:

其中,B_id表示设备B的标识,KA,B表示设备A与设备B之间的随机会话密钥;

S47:TGS将和ChalB,SGT发送给设备A。

进一步地,步骤S5具体为:

S51:设备A收到TGS发来的

Figure BDA0002521667910000042

ChalB和SGT;

S52:设备A使用与TGS共享的随机会话密钥KA,TGS解密得到随机会话密钥KA,B

S53:设备A生成验证器AuthA,B

S54:通过验证器验证发送该请求的设备A是否为SGT中所声明的设备A。

进一步地,步骤S6具体为:

S61:设备A将AuthA,B和ChalB,SGT发送给设备B;

S62:设备B利用自己的物理不可克隆函数结构PUFB,生成激励值ChalB对应的响应值 ResB

S63:设备B生成临时密钥KB=Hash(ResB),并用KB解密SGT得到

{A_id,A_address,B_id,time_stamp,lifetime,KA,B};

S64:设备B使用KA,B解密AuthA,B并验证{A_id,A_address,time_stamp,lifetime}和SGT中 的是否一致,若验证通过则允许设备A接入,否则退出;

S65:设备A与设备B之间使用KA,B进行通信。

本发明的有益效果:

本发明结合物理不可克隆函数PUF,在信息通信过程中有效实现身份认证,同时根据响 应的杂凑值构造临时密钥,来实现会话密钥的安全传输;本发明能够防止攻击者通过入侵、 半入侵及侧信道攻击等物理攻击造成的密钥泄露,同时克服公钥计算复杂度高、速度慢,通 信带宽占用过多的问题,适合资源受限的网络应用。

附图说明

图1是本发明的设备认证与密钥分发协议扩展示意图;

图2是本发明作为单点登陆的示意图;

图3是本发明物联网中网关节点和终端设备的认证与会话密钥建立示意图。

具体实施方式

以下结合附图对本发明的实施例作进一步详细描述。

具体实施例一

如图2所示,本发明方法用于单点登陆SSO时,系统包括客户端、应用服务器端和密钥 分配中心KDC,所述密钥分配中心KDC中包括:认证服务器AS、票据授权服务器TGS、数据库DB;

所述客户端、应用服务器端均安装有PUF芯片,所述数据库DB中存储PUF芯片的激励响 应对集合;所述设备A和设备B与密钥分配中心KDC进行双向认证;所述密钥分配中心KDC 为设备A和B之间分配对称的会话密钥KA,B

方法包括以下步骤:

步骤S1:对客户端和应用服务器端在密钥分配中心KDC进行注册。

S11:客户端和应用服务器端分别安装物理不可克隆函数PUF芯片;

S12:客户端和应用服务器端分别生成若干个随机数作为激励集合,将每个激励输入对应 PUF芯片生成对应的响应值;

S13:将客户端和应用服务器端的激励响应对CRP集合按设备标识索引,安全地存储在 KDC的数据库DB中,KDC中认证服务器AS和票据授权服务器TGS可以对数据库DB中的激励响应对集合CRP进行访问。

步骤S2:客户端向认证服务器AS请求票据授权票据TGT。

S21:客户端向认证服务器AS发送TGT的请求,发送信息中包含客户端的标识Client_id;

S22:认证服务器AS收到消息后生成客户端与TGS之间的随机会话密钥:KA,TGS

S23:认证服务器AS根据客户端标识,从客户端的激励响应对CRP集合 <ChalC,ResC>i=1,......n中任取一个激励响应对<ChalC,ResC>,生成客户端的临时密钥 KC=Hash(ResC),并用KC加密KC,TGS得到:

Figure BDA0002521667910000051

S24:认证服务器AS访问到TGS的主密钥KTGS,生成票据许可票据TGT:TC,TGS,并用KTGS对票据许可票据TGT加密:

Figure BDA0002521667910000052

其中,Client_id表示客户端的标识,Client_address表示客户端的地址,TGS_name表示 TGS服务器的名称,time_stamp表示时间戳,lifetime表示有效期,KC,TGS表示客户端与TGS 之间的随机会话密钥;

S25:认证服务器AS将激励值ChalC

Figure BDA0002521667910000061

和TGT发送给客户端。

步骤S3:客户端获得票据授权票据TGT。

S31:客户端收到认证服务器AS发来的ChalC

Figure BDA0002521667910000062

和TGT;

S32:客户端利用物理不可克隆函数芯片,生成激励值ChalC对应的响应值ResC

S33:客户端根据响应值生成临时密钥KC=Hash(ResA),并用KC解密得到 KC,TGS

S34:客户端根据其标识、地址、时间戳和有效期生成验证器AuthA,TGS,通过验证器验证 发送该请求的客户端是否为TGT中所声明的客户端;

步骤S4:客户端向票据授权服务器TGS请求服务授权票据SGT。

S41:客户端将Service_name,AuthC,TGS和TGT发送给TGS;

S42:TGS使用主密钥KTGS解密TGT得到:

{Client_id,Client_address,TGS_name,time_stamp,lisftime,KC,TGS};

S43:TGS使用随机会话密钥KC,TGS解密AuthC,TGS并验证

{Client_id,Client_address,time_stamp,lisftime}和TGT中的是否一致,若验证通过则继续进行;

否则退出;

S44:TGS生成客户端与应用服务器端之间的随机会话密钥KC,S

S45:TGS用随机会话密钥KC,TGS加密随机会话密钥KC,S得到:

Figure BDA0002521667910000065

S46:TGS根据应用服务器端的Service_name标识,从应用服务器端的激励响应对CRP 集合<ChalS,ResS>i=1,......n中任取一个激励响应对<ChalS,ResS>,生成应用服务器端的临时密 钥KS=Hash(ResS),生成服务授权票据SGT:TC,S,并用KS加密:

Figure BDA0002521667910000071

其中,Service_name表示应用服务器名称,KC,S表示客户端与应用服务器之间的随机会话 密钥;

S47:TGS将

Figure BDA0002521667910000072

和ChalS,SGT发送给客户端。

步骤S5:客户端获得服务授权票据SGT;

S51:客户端收到TGS发来的ChalS和SGT;

S52:客户端使用与TGS共享的随机会话密钥KC,TGS解密得到随机会话密钥KC,S

S53:客户端根据其标识、地址、时间戳和有效期生成验证器AuthC,S,通过验证器验证发 送该请求的客户端是否为SGT中所声明的客户端:

步骤S6:客户端向应用服务器请求通信服务。

S61:客户端将AuthC,S和ChalS,SGT发送给应用服务器端;

S62:应用服务器端利用自己的物理不可克隆函数芯片,生成激励值ChalS对应的响应值 ResS

S63:应用服务器端生成临时密钥KS=Hash(ResS),并用KS解密SGT得到

{Client_id,Client_address,Service_name,time_stamp,lifetime,KC,S};

S64:应用服务器端使用KC,S解密AuthC,S并验证

{Client_id,Client_address,time_stamp,lisftime}和SGT中的是否一致,若验证通过则允许客户端接 入,否则退出;

S65:客户端与应用服务器端之间使用KC,S进行通信。

如图2所示:在TGT有效期内,客户端直接使用TGT向TGS证明自己的身份,重复以上步骤4、5、6,申请其它应用服务器的SGT,从而实现一次认证、访问多个应用服务的单 点登录SSO。

其中,客户端会等待应用服务器端发送确认信息,如果不是正确的应用服务器端,就无 法解开SGT,也就无法获得会话秘钥KC,S,从而避免用户使用错误的应用服务器,即实现对 应用服务器的认证。

所涉及到的加密和解密均为对称加密算法,如AES、DES、国密SM1,Hash算法可以为MD5、SHA1、国密SM3。具体使用时,根据加密算法调整Hash函数的输出值长度。

具体实施例二

本发明应用于物联网中网关节点和终端设备的认证与会话,包括服务器、网关节点和终 端设备,其中,服务器只有一个,是网络的控制中心;若干网关节点,服务器管理若干网关 节点,每个网关节点管理若干终端设备;当网关节点与终端设备发生物理连接后,需要进行 认证和建立会话密钥。

具体步骤如下:

步骤S1:对网关和终端设备在密钥分配中心KDC进行注册。

S11:网络投放前,所有网关和终端设备安装物理不可克隆函数PUF结构;

S12:网关和终端设备分别生成若干个随机数作为激励集合,将每个激励输入PUF芯片生 成对应的响应;

S13:将网关和终端设备的激励响应对CRP集合按设备标识索引,安全地存储在KDC的数 据库DB中,KDC中认证服务器AS和票据授权服务器TGS可以对数据库DB中的激励响应对集 合CRP进行访问,网关和终端设备不存储激励响应对(CRP)集合;

步骤S2:网关向认证服务器AS请求票据授权票据TGT。

S21:当网关节点与终端设备在彼此物理通信范围以内,为实现数据的安全传输,需要建 立网关与终端设备之间的会话密钥。此时,网关首先向AS发送TGT的请求,发送信息中包含 网关标识和终端设备的标识:Gateway_id;

S22:认证服务器AS收到消息后生成网关与TGS之间的随机会话密钥:KG,TGS

S23:认证服务器AS根据网关标识,从网关的激励响应对CRP集合<ChalG,ResG>i=1,......n中 任取一个激励响应对<ChalG,ResG>,生成网关的临时密钥KG=Hash(ResG),并用KG加密 KG,TGS得到:

Figure BDA0002521667910000081

S24:认证服务器AS访问到TGS的主密钥KTGS,生成票据许可票据TGT:KG,TGS,并用KTGS对票据许可票据TGT加密:

其中,Gateway_id表示网关的标识,TGS_name表示TGS的标识,time_stamp表示时间戳, lifetime表示有效期,KG,TGS表示网关与TGS之间的随机会话密钥;

S25:认证服务器AS将激励值ChalG

Figure BDA0002521667910000092

和TGT发送给网关。

步骤S3:网关获得票据授权票据TGT。

S31:网关收到认证服务器AS发来的ChalG和TGT;

S32:网关利用物理不可克隆函数芯片,生成激励值ChalG对应的响应值ResG

S33:网关根据响应值生成临时密钥KG=Hash(ResG),并用KG解密得到KG,TGS

S34:网关根据其标识、时间戳和有效期生成验证器AuthG,TGS,通过验证器验证发送该请 求的网关是否为TGT中所声明的网关;

Figure BDA0002521667910000095

其中,Gateway_id表示网关的标识,time_stamp表示时间戳,lifetime表示有效期。

步骤S4:网关向票据授权服务器TGS请求服务授权票据SGT。

S41:网关将Thing_id,AuthG,TGS和TGT发送给TGS;

为减少通信开销,或者为建立安全群组通信,网关可以同时向KDC申请与多个终端设备 建立会话密钥,此时设备标识是一个集合:Thing_id1,Thing_id2,...,Thing_idm

S42:TGS使用主密钥KTGS解密TGT得到:

{Gateway_id,TGS_name,time_stamp,lisftime,KG,TGS};

S43:TGS使用随机会话密钥KG,TGS解密AuthG,TGS并验证

{Gateway_id,time_stamp,lisftime}和TGT中的是否一致,若验证通过则继续进行;否则退出;

S44:TGS生成网关与终端设备之间的随机会话密钥KG,T

S45:TGS用随机会话密钥KG,TGS加密随机会话密钥KG,T得到:

S46:TGS根据终端设备的Thing_id,从终端设备的激励响应对CRP集合 <ChalT,ResT>i=1,......n中任取一个激励响应对<ChalT,ResT>,生成终端设备的临时密钥 KT=Hash(ResT),生成服务授权票据SGT:TG,T,并用KT加密:

其中,Gateway_id表示网关的标识,Thing_id表示终端设备的标识,time_stamp表示时间戳, lifetime表示有效期,KG,T表示网关与终端设备之间的随机会话密钥;

S47:TGS将和ChalT,SGT发送给网关。

步骤S5:网关获得服务授权票据SGT。

S51:网关收到TGS发来的

Figure BDA0002521667910000103

和ChalT,SGT;

S52:网关使用与TGS共享的随机会话密钥KG,TGS解密得到随机会话密钥KG,T

S53:网关根据其标识、时间戳和有效期生成验证器AuthG,T

S54:通过验证器验证发送该请求的网关是否为SGT中所声明的网关。

步骤S6:网关向应用服务器请求通信服务。

S61:网关将AuthG,T和ChalT,SGT发送给终端设备;

S62:终端设备利用自己的物理不可克隆函数芯片,生成激励值ChalT对应的响应值ResT

S63:终端设备生成临时密钥KT=Hash(ResT),并用KT解密SGT得到

{Gateway_id,Thing_id,time_stamp,lifetime,KG,T};

S64:终端设备使用KG,T解密AuthG,T并验证{Gateway_id,time_stamp,lifetime}和SGT 中的是否一致,若验证通过则允许网关接入,否则退出;

S65:网关与终端设备之间使用KG,T进行通信。

在TGT有效期内,网关直接使用TGT向TGS证明自己的身份,并申请与进入其通信区域内所有终端设备的SGT,获得会话密钥。

其中,网关会等待终端设备发送确认信息,如果不是正确的终端设备,就无法解开SGT, 也就无法获得会话秘钥KG,T,从而实现对终端设备的认证。

其中所涉及到的加密和解密均为对称加密算法,如AES、DES、国密SM1,Hash算法可以为MD5、SHA1和国密SM3。具体使用时,根据加密算法调整Hash函数的输出值长度。

为减少通信开销,或者为建立安全群组通信,网关可以同时向KDC申请与多个终端设备 建立会话密钥。全过程只有两次加/解密计算,计算和通信开销都比较小。而且网关和终端节 点中都不存储密钥本身,降低了密钥泄露的风险和密钥存储开销。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于 本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术 人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:增强型CPK的密钥申请与分发方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!