一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于PUF技术的离线设备安全认证系统及实现方法与流程

2022-05-08 04:25:27 来源:中国专利 TAG:

一种基于puf技术的离线设备安全认证系统及实现方法
技术领域
1.本发明涉及安全认证技术领域,具体为一种基于puf技术的离线设备安全认证系统及实现方法。


背景技术:

2.近年来,物联网(iot)技术日益成熟,智能灯、智能音箱、智能摄像头以及可穿戴设备等产品已经走进人们的日常生活,智能终端更是随处可见,虽然物联网有广阔的发展前景,但安全性问题已成为物联网发展的最大障碍,并被列为物联网的头号隐忧,为了解决带来的隐患和降低风险,一些重要场合的电子设备的使用需要进行安全认证,例如,被认证的设备是一个从设备,用于执行安全认证的设备是主设备,当从设备需要进行安全认证时,需要将从设备连接至主设备,主设备读取从设备的数据并对从设备的数据进行校验,以判断从设备是否通过安全认证。
3.通常,主设备对从设备进行安全认证时,需要从服务器获取从设备id号等数据或者密钥,因此,主设备需要设置网络通信模块,以实现与服务器之间的通信。然而,基于安全性的考虑,一些主设备不能够与服务器进行通信,这种设备通常被称为离线设备。由于离线设备不会与服务器等网络设备进行网络连接,在安全认证时主设备无法将从设备的id号等上传服务器进行比对,而主设备本身不可能存储所有从设备的id号,因此,现有离线设备的认证时,从设备无法做到一物一码。
4.目前通常的做法是采用单一的对称加密算法或非对称加密算法,即主设备与从设备上运行相同或者相对应的加密、解密算法,当采用对称加密算法时,则主设备和从设备需要存储相同的密钥,若主设备或从设备其中一种的密钥被攻破,则所有主从设备全部被破解;当采用非对称加密算法时,算法计算量大,功耗高,安全认证时间长且主从设备相应物理成本增加。
5.为此,一些离线设备设置一个计数器,通过计数器来计算使用的次数,通过对计数器的计数值进行安全认证。例如,主设备与从设备通过首次认证后,主设备记录从设备的计数器的计数值,且主设备后续与从设备连接时,从设备将识别码通过哈希算法计算获得一个哈希值,将识别码与哈希值发送至主设备,主设备判断该哈希值是否正确,如正确,则向从设备发送计数值增加1的指令,并读取从设备的从设备计数值;主设备判断所读取的从设备计数值是否大于主设备所记录的计数值加1,如是,则不通过从设备的认证。
6.然而,一方面,这种方法只能够验证连接至主设备的从设备的真伪,如果不法分子将废弃或者遗失的从设备连接至主设备,仍然能够通过安全认证,对离线设备的使用造成安全隐患。另一方面,现在有的离线设备认证方法对密文的处理基本上只依赖于哈希函数,加密算法单一,安全性不高,也存在安全隐患。
7.不难看出,现有技术中存在如下的问题和缺点:
8.由于离线设备没有网络连接,目前市面上在安全认证时主设备无法将从设备的id码上传服务器进行比对,而主设备本身不可能存储所有从设备的id码,所以从设备无法做
到一物一码。
9.目前市面上的离线设备相互认证通常采用单一的对称加密算法或非对称加密算法。当采用对称加密算法时,则主设备和从设备需要存储相同的密钥,若主设备或从设备其中一种的密钥被攻破,则所有主从设备全部被破解;当采用非对称加密算法时,算法计算量大,功耗高,安全认证时间长且主从设备相应物理成本增加,不适合市场应用。大部分离线设备安全认证的安全机制或者可信机制依赖于密钥的安全性。目前,密钥往往以非易失性形式存储,攻击者可以通过入侵式攻击或者非入侵式物理攻击读取密钥。对于绝大多数加密方案,密钥的安全生成和存储是保证系统安全的一个至关重要的前提。密钥生成需要一个随机源来保证密钥的不可预测和唯一性,密钥存储需要可靠的存储空间来保证密钥信息不会被未授权的机构获取。


技术实现要素:

10.为此,为了解决现有技术中的上述问题,本发明提出一种基于puf技术的离线设备安全认证方法。
11.本发明通过以下技术手段解决上述问题:
12.一种基于puf技术的离线设备安全认证系统,包括:
13.主设备和从设备,所述主设备包括:主控制器模块、认证协处理器模块、第一非易失性存储器、第一puf模块和主设备通信接口模块;所述认证协处理器分别与所述主控制器、主设备通信接口模块、第一非易失性储存器电连接;
14.所述从设备包括:从设备通信接口模块、第二puf模块、第二非易失性存储器以及认证处理模块;所述认证处理模块分别与所述从设备通信接口模块和第二非易失性存储器电连接,所述第二puf模块与所述第二非易失性存储器电连接;
15.所述主设备和从设备通过主设备通信接口模块和从设备通信接口模块以相同的通信数据协议连接。
16.进一步的,主控制器是主设备的控制单元,认证协处理器是进行安全认证流程的处理模块;从设备中的认证处理模块是与主设备中的认证协处理器模块对应进行安全认证流程的处理模块;主非易失性存储器和从非易失性存储器,是在掉电情况下数据仍可存储的带有电擦除功能的存储器,该存储器内存储主设备和从设备的id码、密钥以及计数器数值数据;第一puf模块和第二puf模块是产生认证过程中所需的密钥和随机数模块。
17.本发明还提供一种基于puf技术的离线设备安全认证系统的实现方法:
18.s1、主设备和从设备首次连接子流程,从设备首次接入主设备通信接口模块时开启的认证流程;
19.s10、所述主设备通过主设备通信接口模块监测到从设备接入;主控制器向所述认证协处理器发送安全认证启动指令;认证协处理器通过主设备通信接口模块向从设备发送寻找设备指令;
20.s11、从设备接收到寻找设备指令,对第二puf模块产生的密钥进行填充形成第一填充密钥,与第二puf模块产生的第一随机数异或计算获得第一组输入分组数据,计算哈希函数的输出数据;
21.s12、计算第一外部哈希值,将从设备id码以及第一验证哈希值q发送至主设备;
22.s13、验证第一验证哈希值是否通过验证;否,执行s20;是,执行s14;
23.s14、从设备应用第二puf模块产生的第三随机数、第四随机数加密初始密钥,形成第一拼接数据并发送至主设备;
24.s15、主设备对第一拼接数据进行解密并进行验证;
25.s16、是否通过验证;否,执行s20;是,执行s17;
26.s17、从设备将id码与计数器的计数值加密,形成第二拼接数据发送至主设备;
27.s18、主设备对第二拼接数据进行解密并进行验证;
28.s19、是否通过验证;否,执行s20;是,执行s21;
29.s20、终止认证;
30.s21、通过从设备的首次认证。
31.s2、从设备每次启动子流程,从设备每次进行工作时,主设备和从设备之间再次进行认证流程。
32.进一步的,所述s2包括:
33.s200、所述主设备通过主设备通信接口模块监测到从设备接入;主控制器向所述认证协处理器发送安全认证启动指令;认证协处理器通过主设备通信接口模块向从设备发送寻找设备指令;
34.s201、从设备接收到寻找设备指令,对第二puf模块产生的密钥进行填充形成第一填充密钥,与第二puf模块产生的第一随机数异或计算获得第一组输入分组数据,计算哈希函数的输出数据;
35.s202、计算第一外部哈希值,将从设备id码以及第一验证哈希值q发送至主设备;
36.s203、验证第一验证哈希值是否通过验证;否,执行s20;是,执行s14;
37.s204、从设备应用第二puf模块产生的第三随机数、第四随机数加密初始密钥,形成第一拼接数据并发送至主设备;
38.s205、主设备对第一拼接数据进行解密并进行验证;
39.s206、是否通过验证;否,执行s20;是,执行s17;
40.s207、从设备将id码与计数器的计数值加密,形成第二拼接数据发送至主设备;
41.s208、主设备对第二拼接数据进行解密并进行验证;
42.s209、是否通过验证;否,执行s20;是,执行s21;
43.s210、终止认证;
44.s211、通过从设备的认证。
45.进一步的,所述s11中第一填充密钥为:
46.第二puf模块接收到寻找设备指令后产生相关密钥k,将k进行左边填充得到长度位为l位第一填充密钥k1,其中l是哈希函数输入分组的宽度。
47.进一步的,所述s11中第一组输入分组数据为:
48.第一填充密钥k1与第二puf模块产生的随机数ri进行异或操作,达到长度l,异或操作后输出形成哈希函数的第一输入分组数据。
49.进一步的,所述s13中是否通过验证的判断方法为:
50.主设备的认证协处理器收到从设备id码和第一验证哈希值q,通过相同的算法计算从设备对应id码得到哈希值q1,判断q和q1是否相等;是,通过;否,终止认证。
51.进一步的,所述s14中第一拼接数据为:
52.从设备的认证处理模块内部的两组随机数rndb和rndk和密钥k由puf模块产生,将rndb和rndk通过采用密钥k的对称加密算法以及初值为全零的密文分组链接模式计算流程分别加密生成密文ek(rndb)和ek(rndk),进行拼接后得到第一拼接数据。
53.进一步的,所述s16中是否验证通过的判断方法为:
54.主设备收到第一拼接数据后使用对称加密算法以及初值为全零的密文分组链接模式计算流程解密后得到rndk’和rndb’;通过判断rndk’与rndk的一致性,以及rndb’和rndb的一致性,校验主设备的合法性及秘钥k的一致性;是,通过;否,终止认证。
55.进一步的,所述s17中第二拼接数据为:
56.从设备再把id码p值及计数器计数值counter采用k1加密生产密文ek(p)及ek(counter)拼接成得到第二拼接数据。
57.进一步的,所述s19中是否通过验证的判断方法为:
58.主设备收到第二拼接数据后采用相同算法将其解密后得到id码p1值和计数值counter1;通过分别比较p和p1,以及counter和counter1值的一致性来校验从设备的合法性,若校验失败则主设备终止认证,若通过则完成认证。
59.本发明提供的一种基于puf技术的离线设备安全认证系统及实现方法,
60.本发明结合了puf产生密钥技术、puf产生随机数技术、哈希算法、加密算法和唯一id码及对应的计数器各自的优点,提出了一种完整的低成本离线设备安全认证方式。本发明提高主从设备的安全性,降低物理成本、减小交互功耗、缩短认证时间、简化认证交互过程。
附图说明
61.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1是本发明所述主设备和从设备首次连接认证的简要流程图。
具体实施方式
63.为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。需要指出的是,所描述的实施例子仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
64.实施例
65.下面对本发明进行较为详细叙述:
66.一种基于puf技术的离线设备安全认证系统,包括:
67.主设备和从设备,所述主设备包括:主控制器模块、认证协处理器模块、第一非易失性存储器、第一puf模块和主设备通信接口模块;所述认证协处理器分别与所述主控制器、主设备通信接口模块、第一非易失性储存器电连接;
68.所述从设备包括:从设备通信接口模块、第二puf模块、第二非易失性存储器以及认证处理模块;所述认证处理模块分别与所述从设备通信接口模块和第二非易失性存储器电连接,所述第二puf模块与所述第二非易失性存储器电连接;所述主设备和从设备通过主设备通信接口模块和从设备通信接口模块以相同的通信数据协议连接,不限于接触式数据接口如单总线数据接口、类i2c通信接口等或非接触式接口,如类nfc/rfid式的无线通信接口。
69.需要说明的是,主控制器是主设备的控制单元,一般情况为mcu芯片;认证协处理器是进行安全认证流程的处理模块,与主控制器通过i2c总线数据连接;从设备中的认证处理模块是与主设备中的认证协处理器模块对应进行安全认证流程的处理模块;主非易失性存储器和从非易失性存储器,是在掉电情况下数据仍可存储的带有电擦除功能的存储器,该存储器内存储主设备和从设备的id码、密钥以及计数器数值数据,主非易失性存储器和从非易失性存储器不限于flash、eeprom、fram、mtp等;第一puf模块和第二puf模块是产生认证过程中所需的密钥和随机数模块。第一puf模块和第二puf模块包括但不限于基于延时的puf、基于存储的puf、基于电阻的puf、基于阈值电压的puf等。
70.本发明还提供一种基于puf技术的离线设备安全认证系统的实现方法:
71.s1、主设备和从设备首次连接子流程,从设备首次接入主设备通信接口模块时开启的认证流程;如图1所示:
72.s10、所述主设备通过主设备通信接口模块监测到从设备接入;主控制器向所述认证协处理器发送安全认证启动指令;认证协处理器通过主设备通信接口模块向从设备发送寻找设备指令;
73.s11、从设备接收到寻找设备指令,对第二puf模块产生的密钥进行填充形成第一填充密钥,与第二puf模块产生的第一随机数异或计算获得第一组输入分组数据,计算哈希函数的输出数据;作为优选,所述s11中第一填充密钥为:第二puf模块接收到寻找设备指令后产生相关密钥k,将k进行左边填充得到长度位为l位第一填充密钥k1,其中l是哈希函数输入分组的宽度。所述s12中第一组输入分组数据为:第一填充密钥k1与第二puf模块产生的随机数ri进行异或操作,达到长度l,异或操作后输出形成哈希函数的第一输入分组数据。
74.s12、计算第一外部哈希值,将从设备id码以及第一验证哈希值q发送至主设备。
75.从设备接收到“寻找从设备指令”,同时puf模块接收到信号后产生相关密钥k,然后将k进行左边填充得到长度位为l位k1,其中l是哈希函数输入分组的宽度。k1与puf模块产生的随机数ri进行异或操作,直到达到长度l,异或操作后输出形成了哈希函数的第一输入分组,后续的输入分组为id码分组(x1,x2,x3
……
,xn)使用填充后的密钥k1与第一个哈希的输出一起计算出第二个外部哈希。这里的密钥也是puf模块产生的并使用0进行填充的,并与puf模块产生的随机数ro进行异或操作,操作的结果作为外部哈希的第一个输入分组,其他输入分组为内部哈希的输出。计算完外部哈希得到的输出就是哈希q值的消息验证码,q(k1,id)=h(k1

ro∣h(k1

ri∣id))从设备中的id码和哈希q值一起被发送给主设备认证协处理器。该哈希算法为通用哈希算法,包含但不限于md5,sha-1,sha-3,sha-256,sm3等类似哈希算法。
76.s13、验证第一验证哈希值是否通过验证;否,执行s20;是,执行s14。
77.s14、从设备应用第二puf模块产生的第三随机数、第四随机数加密初始密钥,形成第一拼接数据并发送至主设备。
78.作为优选,所述s13中是否通过验证的判断方法为:主设备的认证协处理器收到从设备id码和第一验证哈希值q,通过相同的算法计算从设备对应id码得到哈希值q1(此处所述相同的算法,是指与“主设备的认证协处理器收到从设备id码和第一验证哈希值q”中收到的第一验证哈希值q的计算算法相同),判断q和q1是否相等;否,执行s20;是,执行s14。所述s14中第一拼接数据为:从设备的认证处理模块内部的两组随机数rndb和rndk和密钥k由puf模块产生,将rndb和rndk通过采用密钥k的对称加密算法以及初值为全零的密文分组链接模式计算流程分别加密生成密文ek(rndb)和ek(rndk),进行拼接后得到第一拼接数据。
79.从设备接收到“开始认证流程指令”,从设备的认证处理模块内部的两组随机数rndb和rndk和密钥k由puf模块产生,将rndb和rndk通过采用密钥k的对称加密算法以及初值为全零的密文分组链接模式计算流程分别加密生成密文ek(rndb)和ek(rndk),进行拼接后得到第一拼接数据ek,将第一拼接数据ek发送给主设备。该对称加密算法是指主设备和从设备拥有相同密钥相同算法结构的加密算法,包含但不限于3des,aes,sm7等类似对称加密算法。
80.s15、主设备对第一拼接数据进行解密并进行验证。
81.s16、是否通过验证;否,执行s20;是,执行s17;
82.s17、从设备将id码与计数器的计数值加密,形成第二拼接数据发送至主设备。
83.作为优选,所述s16中是否验证通过的判断方法为:主设备收到第一拼接数据后使用对称加密算法以及初值为全零的密文分组链接模式计算流程解密后得到rndk’和rndb’;通过判断rndk’与rndk的一致性,以及rndb’和rndb的一致性,校验主设备的合法性及秘钥k的一致性;是,通过;否,终止认证。所述s15中第二拼接数据为:从设备再把id码p值及计数器计数值counter采用k1加密生产密文ek(p)及ek(counter)拼接成得到第二拼接数据。
84.主设备收到第一拼接数据ek后使用对称加密算法以及初值为全零的密文分组链接模式计算流程解密后得到rndk’和rndb’,通过比较rndk’rndk和rndb’,rndb的一致性校验主设备的合法性及秘钥k的一致性,若校验失败则芯片退出认证并返回错误代码,若校验通过则从设备再把id码p值及计数器计数值counter采用k1加密生产密文ek(p)及ek(counter)拼接成得到第二拼接数据ek2,将第二拼接数据ek2发送给主设备。
85.s18、主设备对第二拼接数据进行解密并进行验证。
86.s19、是否通过验证;否,执行s20;是,执行s21。
87.s20、终止认证。
88.s21、通过从设备的首次认证。
89.作为优选,所述s19中是否通过验证的判断方法为:主设备收到第二拼接数据后采用相同算法将其解密后得到id码p1值和计数值counter1(此处所述相同算法,是指与“把id码p值及计数器计数值counter采用第一填充密钥k1加密生产密文ek(p)”的算法相同);通过分别比较p和p1,以及counter和counter1值的一致性来校验从设备的合法性,若校验失败则主设备终止认证,若通过则完成认证。
90.s2、从设备每次启动子流程,从设备每次进行工作时,主设备和从设备之间再次进行认证流程。
91.作为优选,所述s2包括:
92.s200、所述主设备通过主设备通信接口模块监测到从设备接入;主控制器向所述认证协处理器发送安全认证启动指令;认证协处理器通过主设备通信接口模块向从设备发送寻找设备指令;
93.s201、从设备接收到寻找设备指令,对第二puf模块产生的密钥进行填充形成第一填充密钥,与第二puf模块产生的第一随机数异或计算获得第一组输入分组数据,计算哈希函数的输出数据;
94.s202、计算第一外部哈希值,将从设备id码以及第一验证哈希值q发送至主设备;
95.从设备接收到“寻找从设备指令”,从设备中puf模块产生密钥k,将密钥k进行左边填充得到长度位为l位k1,其中l是哈希函数输入分组的宽度。k1与puf模块产生的随机数ri进行异或操作,直到达到长度l,异或操作后输出形成了哈希函数的第一输入分组,后续的输入分组为id码分组(x1,x2,x3
……
,xn)使用填充后的密钥k1与第一个哈希的输出一起计算出第二个外部哈希。这里的密钥也是使用0进行填充的,并与puf模块产生的随机数ro进行异或操作,操作的结果作为外部哈希的第一个输入分组,其他输入分组为内部哈希的输出。计算完外部哈希得到的输出就是哈希q值的消息验证码,q(k1,id)=h(k1

ro∣h(k1

ri∣id))从设备中的id码和哈希q值一起被发送给主设备认证协处理器。该哈希算法为通用哈希算法,不限于md5,sha-1,sha-3,sha-256等类似哈希算法。
96.s203、验证第一验证哈希值是否通过验证;否,执行s20;是,执行s14;
97.s204、从设备应用第二puf模块产生的第三随机数、第四随机数加密初始密钥,形成第一拼接数据并发送至主设备;
98.s205、主设备对第一拼接数据进行解密并进行验证;
99.s206、是否通过验证;否,执行s20;是,执行s17;
100.s207、从设备将id码与计数器的计数值加密,形成第二拼接数据发送至主设备;
101.s208、主设备对第二拼接数据进行解密并进行验证;
102.s209、是否通过验证;否,执行s20;是,执行s21;
103.s210、终止认证;
104.s211、通过从设备的认证。
105.本发明提供的一种基于puf技术的离线设备安全认证系统及实现方法,
106.本发明结合了puf产生密钥技术、puf产生随机数技术、哈希算法、加密算法和唯一id码及对应的计数器各自的优点,提出了一种完整的低成本离线设备安全认证方式。本发明提高主从设备的安全性,降低物理成本、减小交互功耗、缩短认证时间、简化认证交互过程。
107.本发明优点在于针对于主从设备首次连接子流程,增加了密钥和随机数及其它数据的一系列处理,特别是密钥和随机数是由puf技术产生,其安全性已经不完全依赖于所使用的哈希函数,安全性更高。安全性主要有:
108.使用的密钥和随机数是通过puf技术生成的,加密使用的密钥和随机数在使用时才会通过“物理电子指纹”生成,且puf的不可预知的随机唯一性和无可复制性,保证了加密密钥和随机数的安全唯一,从而实现”一芯一密”、”一次一密”的密钥管理方式,提高私钥安全性。并利用此安全密钥对私钥使用非对称算法进行加密存储。通过上述方法,本发明可以
大幅提高非对称密码算法的私钥安全性,且具有良好的应用前景。
109.作为非法截获信息的第三方,能够得到的信息只有id码和作为哈希函数“响应”的结果,无法根据这两个数据推算出密钥。
110.由于不知道密钥,所以无法仿造出一致的响应。
111.本发明解决了防止不法分子回收利用的问题;针对从设备的计数值进行了加密处理,对于验证流程具有更高的安全隐蔽性;与一般的加密重要的区别在于它具有“瞬时"性,即认证只在当时有效,而一般加密算法被破解后,以前的加密结果就可能被解密。
112.在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、“优选实施例”等,指的是结合该实例描述的具体特征、结构或者特点包含在本技术概括描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明内。尽管这里参照本发明的多个解释性实例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式降落在本技术公开的原则范围和精神之内。更具体地说,在本技术公开、附图和权利要求的范围内,可以对主题结合布局的组成部件和/或布局进行的变形和改进外,对于本领域技术人员来说,其他的用途也将是明显。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献