欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021104411667
申请人: 湖北工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于比特自检PUF的身份认证系统的认证方法,包括设备端和服务器端;

设备端包括:

非易失性存储器模块,用于存储激励信号和辅助数据;

异或加密模块,实现异或加密功能;

BST‑PUF密钥生成模块,用于从BST‑PUF生成的响应中提取可靠且随机的密钥,包括BST‑PUF电路、鲁棒响应提取器和SPONGENT Hash算法模块;BST‑PUF电路在激励信号的作用下产生大量的响应r和相应的可靠标志位F;鲁棒响应提取器根据可靠位标志F,将可靠标志位为“1”的响应提取出来,将可靠标志位为“0”的响应丢弃,从而得到高可靠性鲁棒响应rc;

SPONGENT Hash算法模块以鲁棒响应rc作为输入,生成随机性好且固定长度的密钥;

设备真随机数产生器,产生L比特的真随机数;

设备第一伪随机函数模块,以L比特密钥和L比特信息为输入,产生长度为4个L比特的伪随机数;

设备第二伪随机函数模块,以L比特密钥和L比特信息为输入,产生长度为1个L比特的伪随机数;

控制器模块,产生控制信号,控制设备端内部各模块工作;

服务器端包括:

数据库模块,存储密钥信息;

异或加密模块,实现异或加密功能;

服务器真随机数产生器,产生L比特的真随机数;

服务器第一伪随机函数模块,与设备第一伪随机函数模块相同,以L比特密钥和L比特信息为输入,产生长度为4个L比特的伪随机数;

服务器第二伪随机函数模块,与设备第二伪随机函数模块相同,以L比特密钥和L比特信息为输入,产生长度为1个L比特的伪随机数;

其特征是,认证方法通过设备端和服务器端实现注册与密钥交换;

S1、注册包括以下步骤:

S1.1、服务器真随机数产生器随机产生一个L比特的激励信息c1,并将激励信息c1发送至设备端;

S1.2、设备端通过BST‑PUF密钥生成模块,以一个长度为L比特的激励信息c1作为BST‑PUF电路输入,输出一个L比特的PUF响应值r1和一个L比特的可靠性标识值F;再由鲁棒响应提取器将可靠性标志值为1的响应提取出来得到高可靠性鲁棒响应rc,输入到SPONGENT Hash算法模块中生成L比特的加密密钥k1,并将密钥k1返回服务器端;其原始激励c1和辅助数据h1存储在非易失性存储器NVM中;

S1.3、设定初始共享密钥k1=kold,kold为初始密钥;

S1.4、服务器端通过数据库模块存储设备端的初始共享密钥k1、初始密钥kold,设备端通过非易失性存储器模块存储设备端的激励信息c1和辅助数据h1,完成服务器端对设备端的注册;

S2、密钥交换包括以下步骤:

S2.1、服务器端通过服务器真随机产生器产生一个随机数m1并发送至设备端;

S2.2、设备端接收到随机数m1后,由设备真随机数产生器产生一个随机数m2;

S2.3、设备端读取存储在非易失性存储器模块内的激励信息c1输入到BST‑PUF电路中产生带噪声的响应r′;然后鲁棒响应提取器从NVM中读取辅助数据h1,并使用h1从r′中提取鲁棒响应rc;最后通过SPONGENT Hash算法模块恢复加密密钥k1;

S2.4、设备端以初始共享密钥k1、m1||m2为输入,通过设备第一伪随机函数模块产生4个伪随机数s1,...,s4,每个伪随机数的长度均为L,用于后续的认证和加密;

S2.5、设备端通过设备真随机产生器产生一个激励c2;

S2.6、设备端与步骤S1.2相同的方式,以激励c2作为输入,生成密钥k2和辅助数据h2;

S2.7、设备端将之前设备第一伪随机函数模块生成的一个随机数s2与k2利用异或加密模块生成加密数据u;

S2.8、设备端以s3,m2‖u作为输入,利用伪随机函数PRF'生成伪随机数v,将信息(s1,m2,u,v)发送至服务器端进行身份认证;其中,数据v作为消息认证码参与认证消息的传递,服务器端对信息传递的完整性进行验证,防止攻击者对认证信息的篡改;

S2.9、服务器收到信息(s1,m2,u,v)之后,在数据库模块中利用穷举的方法查找对应的初始共享密钥k1和初始密钥kold;

S2.10、服务器端以初始共享密钥k1、m1||m2为输入,通过服务器第二伪随机函数模块产生4个伪随机数s1′,...,s4′,若设备端是可信的,则伪随机数s1′,...,s4′和伪随机数s1,...,s4相同;

S2.11、服务器端首先验证伪随机数s1′和伪随机数s1是否相等,若相等,且参数v:=PRF'(s′3,m2||u)验证成功,则服务器端通过对设备端的认证,跳转至步骤2.14;

S2.12、若伪随机数s1′和伪随机数s1不相等,则服务器端使用初始密钥kold替代初始共享密钥k1再次通过服务器第二伪随机函数模块产生4个伪随机数s1′,...,s4′;

S2.13、服务器端验证伪随机数s1′和伪随机数s1是否相等,若相等,且参数v:=PRF'(s′3,m2||u)验证成功,则服务器端通过对设备端的认证,跳转至步骤2.14;否则,认证失败,服务器端通过服务器真随机产生器产生一个随机数s4′送至设备端;

S2.14、服务器端利用异或加密模块,将伪随机数s2和u异或得到密钥k2,并进行存储数据的更新(k1,kold):=(k2,k1);

S2.15、设备端接收信息s4′后,验证s4是否等于s4′,若相等则更新设备端的存储数据(c1,h1):=(c2,h2),作为下一次认证的认证信息,实现服务器端和设备端之间的安全认证,否则认证失败。