基于BST-PUF的两方认证与会话密钥交换方法技术

技术编号:23241331 阅读:22 留言:0更新日期:2020-02-04 19:51
本发明专利技术涉及通信技术与信息安全领域,公开了一种基于BST‑PUF的两方认证与会话密钥交换方法,包括设备端和服务器端,通过BST‑PUF电路来实现密钥产生与交换,同时使用伪随机函数和异或运算来进行双向认证和异或加密。本发明专利技术中基于BST‑PUF的两方认证与会话密钥交换方法,不需要使用纠错机制就可以获取稳定的密钥,实现了双向认证和可靠的密钥交换,且能够抵抗各种攻击技术。

Two party authentication and session key exchange based on bst-puf

【技术实现步骤摘要】
基于BST-PUF的两方认证与会话密钥交换方法
本专利技术涉及通信技术与信息安全领域,具体涉及一种基于BST-PUF的两方认证与会话密钥交换方法。
技术介绍
在不安全的网络尤其是无线网络中进行通讯时,需要对传输的信息进行加密,通讯双方就需要协商建立一个公共的会话密钥,以便于后续的数据交换过程中用来加密消息。传统的通讯依赖于公开加密算法及存储在非易失性存储器(NVM)中的密钥进行安全会话,但现在出现了很多新型的物理攻击技术,试图避开加密算法本身来直接获取密钥,存储在NVM中的密钥已不再安全。因此,采用物理不可克隆电路(PUF)来产生和存储密钥成为了一个新的发展趋势,PUF是一组微型的电路,通过提取半导体器件制造过程中不可避免产生的物理构造差异值,生成无限多个、特有的密钥,这些密钥不可预测,PUF上电的时候,密钥存在,掉电的时候,密钥消失,即使时芯片制造商也无法仿制,从而这些密钥可以广泛地应用于安全通信和各种防伪。为了将PUF产生的密钥与其他通信实体共享以实现安全认证、数据加密等功能,需要在可信实体之间建立可靠的共享密钥,这就涉及到密钥交换问题。PUF输出受到环境因素的影响,不可避免会存在噪声数据,现有的密钥交换方法中普遍采用各种纠错机制来从PUF的噪声数据中提取稳定的密钥。但是纠错过程需要很大的执行开销,且纠错技术需要产生一种公开的辅助信息Helperdata来恢复原始密钥,这会泄露密钥的部分信息,因此并不安全。为此,现在提出了一种比特自测PUF电路结构(BST-PUF),在BST-PUF中,如图3所示,通过在PUF内部添加一个测试电路,自动测试每个输出的可靠性,一旦输入一个激励信息,PUF就可以输出一个响应和标识该响应的可靠性标识。因此,BST-PUF电路可以生成大量的激励-响应-可靠性比特对,外部电路据此可以挑选那些可靠的输出位来构建数字密钥,但该BST-PUF电路还没有被应用在密钥交换领域。
技术实现思路
本专利技术的目的就是针对上述技术的不足,提供一种基于BST-PUF的两方认证与会话密钥交换方法,利用BST-PUF电路来实现密钥产生与交换,不需要使用纠错机制就可以获取稳定的密钥,实现了双向认证和可靠的密钥交换,且能够抵抗各种攻击技术。为实现上述目的,本专利技术所设计的基于BST-PUF的两方认证与会话密钥交换方法,包括设备端和服务器端,所述设备端包括非易失性存储器模块,还包括:BST-PUF模块:输入一个长度为L比特的激励信息,L为正整数,输出一个L比特的PUF响应值和一个L比特的可靠性标识值,其中,可靠性标识值中的第i比特值标识了对应响应中第i比特输出的可靠性,当可靠性标识值为1时,证明输出是可靠的,否则是不可靠的;密钥提取模块:以所述BST-PUF模块输出的L比特的带噪声BST-PUF响应和可靠性标识值为输入,输出M位的可靠密钥,M为小于L的正整数;异或加密模块:实现异或功能;设备真随机数产生器:产生L位的真随机数;设备第一伪随机函数模块:以L位密钥和L位信息为输入,产生长度为L位的伪随机数;设备第二伪随机函数模块:以L位密钥和L位信息为输入,产生长度为5个L位的伪随机数;控制器模块:产生控制信号,控制所述设备端内部的各模块工作;所述服务器端包括:数据库模块:存储ID、密钥信息;异或加密模块:实现异或功能;服务器真随机数产生器:产生L位的真随机数;服务器第一伪随机函数模块:与所述设备第一伪随机函数模块相同,以L位密钥和L位信息为输入,产生长度为L位的伪随机数;服务器第二伪随机函数模块:与所述设备第二伪随机函数模块相同,以L位密钥和L位信息为输入,产生长度为5个L位的伪随机数;所述两方认证与会话密钥交换方法包括注册阶段和密钥交换阶段,所述注册阶段包括如下步骤:A)所述服务器真随机数产生器随机产生一个L比特的激励信息ci,并将该激励信息ci发送至所述设备端;B)所述设备端通过所述BST-PUF模块,以激励信息ci为输入,获取L比特的PUF响应值ri和L比特的可靠性标识rbi,并返回给所述服务器端;C)所述服务器端重复所述步骤A)~B)若干次,取得集合(C,RB,R)存储在所述数据库模块中,其中,C为激励信息,RB为可靠性标识,R为PUF响应值;D)所述服务器端从集合(C,RB,R)中随机挑选一个数据对(c1,rb1,r1),将激励信息c1发送至所述设备端,所述设备端通过所述BST-PUF模块,以激励信息c1为输入,获取L比特的PUF响应值r1和L比特的可靠性标识rb1,并通过所述密钥提取模块,取得可靠密钥k,将所述可靠密钥k和所述设备端的ID值IDi发送给所述服务器端,设定初始共享密钥k1=kold=k,kold为初始密钥;E)所述服务器端通过所述数据库模块存储所述设备端的ID值IDi、初始共享密钥k1、初始密钥kold及集合(C,RB,R):{IDi,k1,kold,(C,RB,R)},所述设备端通过所述非易失性存储器模块存储所述设备端的ID值IDi、激励信息c1和可靠性标识rb1:{IDi,c1,rb1},完成所述服务器端对所述设备端的注册;所述密钥交换阶段包括如下步骤:1)所述服务器端通过所述服务器真随机产生器产生一个随机数m1并发送至所述设备端;2)所述设备端接收到随机数m1后,由所述设备真随机数产生器产生一个随机数m2;3)所述设备端读取存储在所述非易失性存储器模块内的激励信息c1,并输入至所述BST-PUF模块,获取带有噪声的PUF响应值r′1;4)通过所述密钥提取模块,以带有噪声的PUF响应值r′1和存储在所述非易失性存储器模块内的可靠性标识rb1为输入,提取出初始共享密钥k1;5)所述设备端以初始共享密钥k1、m1||m2为输入,通过所述设备第二伪随机函数模块产生5个伪随机数s1,...,s5,每个伪随机数的长度均为L;6)所述设备端通过不安全的通信信道将所述设备端的ID值IDi、伪随机数s1、随机数m2发送至所述服务器端;7)所述服务器端收到所述设备端的ID值IDi、伪随机数s1、随机数m2后,在所述数据库模块中查找与IDi对应的初始共享密钥k1和初始密钥kold;8)所述服务器端以初始共享密钥k1、m1||m2为输入,通过所述服务器第二伪随机函数模块产生5个伪随机数s′1,...,s′5,若所述设备端是可信的,则伪随机数s′1,...,s′5和伪随机数s1,...,s5相同;9)所述服务器端首先验证伪随机数s′1和伪随机数s1是否相等,若相等,则所述服务器端通过对所述设备端的认证,跳转至步骤12);10)若伪随机数s′1和伪随机数s1不相等,则所述服务器端使用初始密钥kold替代初始共享密钥k1再次通过所述服务器第二伪随机函数模块产生5个伪随机数s′1,...,s′5;11)所述服务器端验证所述伪随机数s′1和随机数s1是否相等,若相等,本文档来自技高网
...

【技术保护点】
1.一种基于BST-PUF的两方认证与会话密钥交换方法,其特征在于:包括设备端和服务器端,所述设备端包括非易失性存储器模块,还包括:/nBST-PUF模块:输入一个长度为L比特的激励信息,L为正整数,输出一个L比特的PUF响应值和一个L比特的可靠性标识值,其中,可靠性标识值中的第i比特值标识了对应响应中第i比特输出的可靠性,当可靠性标识值为1时,证明输出是可靠的,否则是不可靠的;/n密钥提取模块:以所述BST-PUF模块输出的L比特的带噪声BST-PUF响应和可靠性标识值为输入,输出M位的可靠密钥,M为小于L的正整数;/n异或加密模块:实现异或功能;/n设备真随机数产生器:产生L位的真随机数;/n设备第一伪随机函数模块:以L位密钥和L位信息为输入,产生长度为L位的伪随机数;/n设备第二伪随机函数模块:以L位密钥和L位信息为输入,产生长度为5个L位的伪随机数;/n控制器模块:产生控制信号,控制所述设备端内部的各模块工作;/n所述服务器端包括:/n数据库模块:存储ID、密钥信息;/n异或加密模块:实现异或功能;/n服务器真随机数产生器:产生L位的真随机数;/n服务器第一伪随机函数模块:与所述设备第一伪随机函数模块相同,以L位密钥和L位信息为输入,产生长度为L位的伪随机数;/n服务器第二伪随机函数模块:与所述设备第二伪随机函数模块相同,以L位密钥和L位信息为输入,产生长度为5个L位的伪随机数;/n所述两方认证与会话密钥交换方法包括注册阶段和密钥交换阶段,所述注册阶段包括如下步骤:/nA)所述服务器真随机数产生器随机产生一个L比特的激励信息c...

【技术特征摘要】
1.一种基于BST-PUF的两方认证与会话密钥交换方法,其特征在于:包括设备端和服务器端,所述设备端包括非易失性存储器模块,还包括:
BST-PUF模块:输入一个长度为L比特的激励信息,L为正整数,输出一个L比特的PUF响应值和一个L比特的可靠性标识值,其中,可靠性标识值中的第i比特值标识了对应响应中第i比特输出的可靠性,当可靠性标识值为1时,证明输出是可靠的,否则是不可靠的;
密钥提取模块:以所述BST-PUF模块输出的L比特的带噪声BST-PUF响应和可靠性标识值为输入,输出M位的可靠密钥,M为小于L的正整数;
异或加密模块:实现异或功能;
设备真随机数产生器:产生L位的真随机数;
设备第一伪随机函数模块:以L位密钥和L位信息为输入,产生长度为L位的伪随机数;
设备第二伪随机函数模块:以L位密钥和L位信息为输入,产生长度为5个L位的伪随机数;
控制器模块:产生控制信号,控制所述设备端内部的各模块工作;
所述服务器端包括:
数据库模块:存储ID、密钥信息;
异或加密模块:实现异或功能;
服务器真随机数产生器:产生L位的真随机数;
服务器第一伪随机函数模块:与所述设备第一伪随机函数模块相同,以L位密钥和L位信息为输入,产生长度为L位的伪随机数;
服务器第二伪随机函数模块:与所述设备第二伪随机函数模块相同,以L位密钥和L位信息为输入,产生长度为5个L位的伪随机数;
所述两方认证与会话密钥交换方法包括注册阶段和密钥交换阶段,所述注册阶段包括如下步骤:
A)所述服务器真随机数产生器随机产生一个L比特的激励信息ci,并将该激励信息ci发送至所述设备端;
B)所述设备端通过所述BST-PUF模块,以激励信息ci为输入,获取L比特的PUF响应值ri和L比特的可靠性标识rbi,并返回给所述服务器端;
C)所述服务器端重复所述步骤A)~B)若干次,取得集合(C,RB,R)存储在所述数据库模块中,其中,C为激励信息,RB为可靠性标识,R为PUF响应值;
D)所述服务器端从集合(C,RB,R)中随机挑选一个数据对(c1,rb1,r1),将激励信息c1发送至所述设备端,所述设备端通过所述BST-PUF模块,以激励信息c1为输入,获取L比特的PUF响应值r1和L比特的可靠性标识rb1,并通过所述密钥提取模块,取得可靠密钥k,将所述可靠密钥k和所述设备端的ID值IDi发送给所述服务器端,设定初始共享密钥k1=kold=k,kold为初始密钥;
E)所述服务器端通过所述数据库模块存储所述设备端的ID值IDi、初始共享密钥k1、初始密钥kold及集合(C,RB,R):{IDi,k1,kold,(C,RB,R)},所述设备端通过所述非易失性存储器模块存储所述设备端的ID值IDi、激励信息c1和可靠性标识rb1:{IDi,c1,rb1},完成所述服务器端对所述设备端的注册;
所述密钥交换阶段包括如下步骤:
1)所述服务器端通过所述服务器真随机产生器产生一个随机数m1并发送至所述设备端;
2)所述设备端接收到随机数m1后,由所述设备真随机数产生器产生一个随机数m2;
3)所述设备端读取存储在所述非易失性存储器模块内的激励信息c1,并输入至所述BST-PUF模块,获取带有...

【专利技术属性】
技术研发人员:贺章擎项链高杨陈万博焦磊明吴铁洲
申请(专利权)人:湖北工业大学
类型:发明
国别省市:湖北;42

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

1