CN113569223B - 一种离线设备的安全认证方法 - Google Patents
一种离线设备的安全认证方法 Download PDFInfo
- Publication number
- CN113569223B CN113569223B CN202110744718.1A CN202110744718A CN113569223B CN 113569223 B CN113569223 B CN 113569223B CN 202110744718 A CN202110744718 A CN 202110744718A CN 113569223 B CN113569223 B CN 113569223B
- Authority
- CN
- China
- Prior art keywords
- slave device
- hash value
- authentication
- verification
- master device
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 18
- 230000015654 memory Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 4
- 238000004064 recycling Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Lock And Its Accessories (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种离线设备的安全认证方法,包括主设备首次与从设备连接后,执行首次认证步骤:从设备对初始密钥进行填充,得到第一填充密钥,将第一填充密钥与第一随机数进行异或计算形成第一组输入分组数据,使用第一组输入分组数据与ID识别码组合形成第一哈希函数的输入,计算第一哈希函数的第一哈希值;使用第一填充密钥与第二随机数进行异或计算形成第二组输入分组数据并与第一哈希值组合形成第二哈希函数的输入,并计算第二哈希函数的输出值作为从设备的第一验证哈希值;将从设备的ID识别码以及第一验证哈希值发送至主设备;主设备对第一验证哈希值进行验证,如第一验证哈希值不通过验证,则终止认证。本发明能够低成本的实现离线设备的认证。
Description
技术领域
本发明涉及主从设备的安全认证领域,具体地,是涉及一种离线设备的安全认证方法。
背景技术
随着电子技术的发展,一些电子设备的使用需要进行安全认证,例如,被认证的设备是一个从设备,用于执行安全认证的设备是主设备,当从设备需要进行安全认证时,需要将从设备连接至主设备,主设备读取从设备的数据并对从设备的数据进行校验,以判断从设备是否通过安全认证。
通常,主设备对从设备进行安全认证时,需要从服务器获取从设备ID号等数据或者密钥,因此,主设备需要设置网络通信模块,以实现与服务器之间的通信。然而,基于安全性的考虑,一些主设备不能够与服务器进行通信,这种设备通常被称为离线设备。由于离线设备不会与服务器等网络设备进行网络连接,在安全认证时主设备无法将从设备的ID号等上传服务器进行比对,而主设备本身不可能存储所有从设备的ID号,因此,现有离线设备的认证时,从设备无法做到一物一码。
目前通常的做法是采用单一的对称加密算法或非对称加密算法,即主设备与从设备上运行相同或者相对应的加密、解密算法,当采用对称加密算法时,则主设备和从设备需要存储相同的密钥,若主设备或从设备其中一种的密钥被攻破,则所有主从设备全部被破解;当采用非对称加密算法时,算法计算量大,功耗高,安全认证时间长且主从设备相应物理成本增加。
为此,一些离线设备设置一个计数器,通过计数器来计算使用的次数,通过对计数器的计数值进行安全认证。例如,主设备与从设备通过首次认证后,主设备记录从设备的计数器的计数值,且主设备后续与从设备连接时,从设备将ID识别码通过哈希算法计算获得一个哈希值,将ID识别码与哈希值发送至主设备,主设备判断该哈希值是否正确,如正确,则向从设备发送计数值增加1的指令,并读取从设备的从设备计数值;主设备判断所读取的从设备计数值是否大于主设备所记录的计数值加1,如是,则不通过从设备的认证。
然而,一方面,这种方法只能够验证连接至主设备的从设备的真伪,如果不法分子将废弃或者遗失的从设备连接至主设备,仍然能够通过安全认证,对离线设备的使用造成安全隐患。另一方面,现在有的离线设备认证方法对密文的处理基本上只依赖于哈希函数,加密算法单一,安全性不高,也存在安全隐患。
发明内容
本发明的第一目的是提供一种认证安全性高的离线设备的安全认证方法。
本发明的第二目的是提供一种能避免已经废弃或者遗失的从设备被再次利用的离线设备的安全认证方法。
为实现本发明的目的,本发明提供的离线设备的安全认证方法包括主设备首次与从设备连接后,执行首次认证步骤;主设备后续与从设备连接时,执行后续认证步骤;其中,该首次认证步骤包括:从设备对所存储的初始密钥进行填充,得到预设长度的第一填充密钥,将第一填充密钥与第一随机数进行异或计算形成第一组输入分组数据,使用第一组输入分组数据与ID识别码组合形成第一哈希函数的输入,并计算第一哈希函数的第一哈希值;使用第一填充密钥与第二随机数进行异或计算形成第二组输入分组数据,将第二组输入分组数据与第一哈希值组合形成第二哈希函数的输入,并计算第二哈希函数的输出值作为从设备的第一验证哈希值;将从设备的ID识别码以及第一验证哈希值发送至主设备;主设备对第一验证哈希值进行验证,如第一验证哈希值不通过验证,则终止认证。
由上述方案可见,主设备与从设备进行首次认证时,需要对初始密钥进行填充、异或计算等操作,并不仅仅依赖于哈希算法,因此,形成的第一验证哈希值的安全性更高,主设备对从设备的安全认证更加安全,能够避免单一使用哈希函数而导致的安全隐患。另外,主设备与从设备使用的初始密钥是预先设定的,只有主设备与从设备存储有相同的初始密钥,第三方无法获取该初始密钥,因此该算法的安全性更高。
一个优选的方案是,第一填充密钥的预设长度为哈希函数输入分组的宽度。这样,可以方便第一填充密钥与第一随机数进行运算,并且生成的第一组输入分组数据的宽度能够得到保障,有利于后续的计算。
进一步的方案是,对初始密钥进行填充包括:在初始密钥的左侧使用二进制数0进行填充。
更进一步的方案是,主设备对第一验证哈希值进行验证包括:主设备应用与从设备相同的验证算法,对从设备的ID识别码进行哈希计算并获得第一目标哈希值,判断第一验证哈希值是否与第一目标哈希值一致。
由此可见,主设备与从设备使用相同的算法进行计算,使第一验证哈希值与第一目标哈希值理论上是一致的,能够方便的实现对第一验证哈希值的验证。
更进一步的方案是,主设备通过第一验证哈希值的验证后,还执行:从设备生成第三随机数和第四随机数,应用初始密钥对第三随机数、第四随机数分别进行加密,分别形成第一密文与第二密文,将第一密文与第二密文拼接后形成第一拼接数据,并将第一拼接数据发送至主设备。
更进一步的方案是,主设备接收到第一拼接数据后,对第一拼接数据进行解密并获得第一解密随机数、第二解密随机数以及解密密钥,判断第一解密随机数是否与第三随机数一致,并判断第二解密随机数是否与第四随机数一致,并验证解密密钥与初始密钥的一致性。
进一步的,主设备验证通过解密密钥与初始密钥的一致性后,还执行:从设备使用第一填充密钥对ID识别码与计数器的计数值进行加密分别形成第三密文与第四密文,将第三密文与第四密文拼接形成第二拼接数据,将第二拼接数据发送至主设备。
进一步的,主设备接收到第二拼接数据后,对第二拼接数据进行解密,获得第三解密数据与第四解密数据,判断第三解密数据与ID识别码的一致性,并判断第四解密数据与计数值的一致性,如果通过验证,通过从设备的安全认证。
可见,从设备还将计数器的计数值经过加密后发送至主设备,主设备还需要对计数值进行验证,如果计数器的计数值不准确,则不会通过从设备的安全认证,实际上是通过对从设备的计数值来判断从设备是否为非法回收利用的从设备,以避免从设备被非法回收利用。
进一步的,后续认证步骤包括:从设备对所存储的初始密钥进行填充,得到预设长度的第二填充密钥,将第二填充密钥与第五随机数进行异或计算形成第三组输入分组数据,使用第三组输入分组数据与ID识别码分组合形成第三哈希函数的输入,并计算第三哈希函数的第三哈希值;使用第二填充密钥与第六随机数进行异或计算形成第四组输入分组数据,将第四组输入分组数据与第三哈希值组合形成第四哈希函数的输入,并计算第四哈希函数的输出值作为从设备的第二验证哈希值;将从设备的ID识别码以及第二验证哈希值发送至主设备;主设备应用与从设备相同的验证算法,对从设备的ID识别码进行哈希计算并获得第二目标哈希值,判断第二验证哈希值是否与第二目标哈希值一致。
进一步的,主设备通过第二验证哈希值的验证后,获取从设备的计数值,判断从设备所存储的计数值+1是否小于或等于主设备中存储的最大使用次数值,如是,则通过从设备的安全认证,否则,不通过从设备的安全认证。
由此可见,如果从设备所存储的计数值+1后大于主设备所存储的最大使用次数,表述该从设备已经被重复使用过,很可能是非法回收利用的从设备,因此不通过从设备的安全认证。这样,可以有效避免不法分子将从设备非法回收利用而产生的安全隐患。
附图说明
图1是应用本发明离线设备的安全认证方法实施例的主设备与从设备的结构框图。
图2是本发明离线设备的安全认证方法实施例的流程图。
图3是本发明离线设备的安全认证方法实施例中从设备首次认证的流程图的第一部分。
图4是本发明离线设备的安全认证方法实施例中从设备首次认证的流程图的第二部分。
图5是本发明离线设备的安全认证方法实施例中从设备后续认证的流程图的第一部分。
图6是本发明离线设备的安全认证方法实施例中从设备后续认证的流程图的第二部分。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的离线设备的安全认证方法应用于离线设备上,参见图1,离线设备包括主设备10以及从设备20,主设备10与从设备20均不设置网络通信模块,即不设置WIFI或者蓝牙等模块,不会与服务器进行通信,因此,主设备10与从设备20均不可以从服务器获取诸如从设备ID识别码等数据。
主设备10设置有主控制器11、认证协助处理器12、主设备通信接口模块13以及非易失性存储器14,从设备20设置有认证协助处理器22、从设备通信接口模块23以及非易失性存储器24。其中,主控制器11是主设备10的主要控制单元,例如选用MCU芯片;主设备10的认证协助处理器12是进行安全认证流程的处理模块,与主控制器11通过I2C总线进行通信。从设备20的认证协助处理器22是与主设备10的认证协助处理器12对应进行安全认证流程的处理模块。
主设备通信接口模块13与从设备通信接口模块23相互间进行数据通信,两个通信接口模块执行相同的通信数据协议,例如可以是接触式数据接口或者是非接触式接口,接触式数据接口可以是单总线数据接口、I2C通信接口等,非接触式接口可以是类NFC/RFID式的无线通信接口。
主设备10的非易失性存储器14和从设备20的非易失性存储器24均是在掉电情况下数据仍可存储的带有电擦除功能的存储器,非易失性存储器14用于存储主设备10的ID识别码、初始密钥以及计数值等数据,非易失性存储器24用于存储从设备20的ID识别码、初始密钥以及计数值等数据,本实施例中,非易失性存储器14、24不限于flash、EEPROM、FRAM、MTP等。
本实施例是应用主设备10对从设备20进行安全认证,具体的,分为从设备的首次认证步骤以及从设备的后续认证步骤。其中,从设备的首次认证步骤是从设备首次接入主设备的通信接口时所执行的认证步骤,从设备的后续认证步骤是从设备通过首次认证后,后续每次进行工作时,主设备与从设备之间进行的认证步骤。
参见图2,首先执行步骤S1,主设备判断是否连接到从设备,即判断是否有从设备与主设备建立连接。例如主设备通过压力或接口电平变化或场强变化监测到从设备接入,如果主设备确认连接到从设备,则执行步骤S2,判断从设备是否首次接入主设备,如是,则执行步骤S3,执行从设备首次认证步骤,否则,执行步骤S4,执行从设备后续认证步骤。
参见图3与图4,如果从设备首次连接至主设备,主设备的主控制器通过I2C总线向主设备的认证协助处理器发送安全认证启动的指令,此时,主设备的认证协助处理器通过主设备通信接口模块向从设备发送“寻找从设备”的指令。
从设备接收到“寻找从设备”的指令后,首先执行步骤S11,获取存储在非易失性存储器24中的初始密钥K,并且对初始密钥K进行填充,具体的,在初始密钥K的左侧填充0,获得第一填充密钥K1。优选的,第一填充密钥K1的长度为L,即具有L位二进制数,其中,长度L是哈希函数输入分组的宽度。接着,从设备生成一个随机数R1,随机数R1为本实施例的第一随机数。然后,将第一填充密钥K1与第一随机数R1进行异或计算,直到达到长度L,因此,异或计算获得的计算结果也是长度为L的数据,该数据作为第一哈希函数的第一组输入分组数据。
然后,执行步骤S12,使用第一组分组数据与从设备的ID识别码组合形成第一哈希函数的输入,并且计算第一哈希函数的结果,第一哈希函数的计算结果为第一哈希值,本实施例所采用的第一哈希函数是通用哈希算法,包括但不限于MD5、SHA-1、SHA-3、SHA-256等哈希算法。
然后,执行步骤S13,生成第二随机数R2,将第一填充密钥K1与第二随机数R2进行异或计算,形成第二组输入分组数据。接着,执行步骤S14,将第二组输入分组数据与第一哈希值组合形成第二哈希函数的输入,并且计算获得第二哈希函数的值,该至为第一验证哈希值Q。然后,从设备执行步骤S15,将非易失性存储器24所存储的ID识别码和第一验证哈希值Q一起被发送给主设备的认证协助处理器12。
主设备认证协助处理器收到从设备发送的ID识别码和第一验证哈希值后,执行步骤S16,对第一验证哈希值进行验证。具体的,主设备使用与从设备相同的算法,使用该从设备的ID识别码计算获得第一目标哈希值Q1,例如也是对初始密钥进行填充,并使用初始密钥与第一随机数进行异或计算、计算第一哈希函数的值等,并经过与从设备相同的一系列计算后获得第一目标哈希值Q1。
步骤S16中,比较第一验证哈希值与第一目标哈希值Q1是否相同,如果不相同,则执行步骤S25,终止从设备的安全认证,即从设备不通过安全认证。如果步骤S16的判断结果为是,则主设备的认证协助处理器12通过主设备通信接口模块13向从设备20发送“开始认证流程指令”,即执行步骤S17。
此时,从设备执行步骤S18,在接收到“开始认证流程指令”后,从设备的认证协助处理器22内部产生的两组随机数,分别是第三随机数RndB和第四随机数RndK。然后,认证协助处理器22使用初始密钥K对两组随机数进行加密,例如将第三随机数RndB和第四随机数RndK通过采用初始密钥K的对称加密算法以及初值为全零的密文分组链接模式进行加密,并分别计算获得两组密文数据,分别是第一密文ek(RndB)和第二密文ek(RndK),并将第一密文ek(RndB)和第二密文ek(RndK)进行拼接,形成第一拼接数据EK1,将第一拼接数据EK1发送给主设备。步骤S18所使用的对称加密算法是指主设备和从设备拥有相同密钥相同算法结构的加密算法,包括但不限于3DES、AES、SM7等对称加密算法。
主设备接收到第一拼接数据EK1后,执行步骤S19,使用对称加密算法以及初值为全零的密文分组链接模式计算流程对第一拼接数据EK1进行解密,获得第一解密随机数RndK’和第二解密随机数RndB’,还获得解密密钥。然后,执行步骤S20,判断第一拼接参数EK1是否通过验证。具体的,主设备比较第一解密随机数RndK’与第三随机数RndK是否相同,并且比较第二解密随机数RndB’与第四随机数RndB是否相同,并且比较解密密钥与初始密钥K的一致性。如果上述比较中,任意一项是不一致的,则验证不通过,执行步骤S25,终止从设备的认证,如果上述比较的三项均一致,则执行步骤S21。
步骤S21中,从设备将从设备的ID识别码P以及计数器计数值Counter采用第一填充密钥K1加密的方式分别生成第三密文ek(P)及第四密文ek(Counter),其中第三密文ek(P)是对应于ID识别码P的密文,第四密文ek(Counter)是对应于计数器计数值Counter的密文。然后将第三密文与第四密文拼接形成第二拼接数据EK2,将第二拼接数据EK2发送给主设备。
主设备接收到第二拼接数据EK2后,执行步骤S22,采用相同算法对第二拼接数据EK2进行解密,获得第三解密数据与第四解密数据,其中第三解密数据是对应于第三密文ek(P)的解密数据,即对应于ID识别码P的数据,第四解密数据是对应于第四密文ek(Counter)的解密数据,即对应于计数值Counter的数据。然后,执行步骤S23,判断第二拼接数据EK2是否通过验证。具体的,判断第三解密数据与从设备的ID识别码P的一致性,并判断第四解密数据与计数值Counter的一致性,如果第三解密数据与从设备的ID识别码P相同,并且第四解密数据与计数值Counter也相同,则通过验证,执行步骤S24,确认从设备通过首次认证,否则,执行步骤S25,终止从设备的认证,即从设备不通过首次认证。
优选的,当从设备通过首次认证后,主设备需要记录从设备的ID识别码以及该ID识别码对应的计数器的计数值,为后续安全认证提供比较的基础。
下面结合图5与图6介绍从设备每次启动时执行的后续认证流程。首先,主设备10的主控制器11通过I2C总线向认证协助处理器12发送安全认证启动的指令,认证协助处理器12通过主设备通信接口模块13向从设备20发送“寻找从设备指令”。
从设备接收到“寻找从设备指令”后,执行步骤S31,获取存储在非易失性存储器24中的初始密钥K,并且对初始密钥K进行填充,具体的,在初始密钥K的左侧填充0,获得第二填充密钥K2,本实施例中,长度L是哈希函数输入分组的宽度。接着,从设备生成第五随机数。然后,将第二填充密钥K2与第五随机数进行异或计算,直到达到长度L,应用异或计算获得的数据作为哈希函数的第三输入分组数据。
然后,执行步骤S32,使用第三组分组数据与从设备的ID识别码组合形成第三哈希函数的输入,并且计算第三哈希函数的结果,第三哈希函数的计算结果为第三哈希值,本实施例所采用的哈希函数是通用哈希算法,包括但不限于MD5、SHA-1、SHA-3、SHA-256等哈希算法。
然后,执行步骤S33,生成第六随机数,将第二填充密钥K2与第六随机数进行异或计算,形成第四组输入分组数据。接着,执行步骤S34,将第四组输入分组数据与第三哈希值组合形成第四哈希函数的输入,并且计算获得第四哈希函数的值,该至为第二验证哈希值。然后,执行步骤S35,从设备将非易失性存储器24所存储的ID识别码和第二验证哈希值一起被发送给主设备的认证协助处理器12。
主设备接收到从设备的ID识别码以及第二验证哈希值后,执行步骤S36,通过相同的算法计算从设备对应的ID识别码,并计算获得第二目标哈希值,并判断第二验证哈希值与第二目标哈希值是否相同,如果不相同,则执行步骤S40,终止从设备的认证,即从设备不通过认证。
如果第二验证哈希值与第二目标哈希值相同,则执行步骤S37,主设备的认证协助处理器12通过主设备通信接口模块13向从设备20发送“验证计数器数值指令”,从设备向主设备发送计数器的计数值,此时,主设备获取从设备发送的计数值。
然后,主设备执行步骤S38,判断从设备发送的计数器值+1是否小于或等于主设备中存储的最大使用次数,如果是,则执行步骤S39,确认从设备通过后续安全认证,否则,执行步骤S40,终止从设备的认证。
优选的,从设备每通过一次安全认证,计数器的计数值将自增一次,主设备也相应的记录从设备的计数值。
可见,首次认证时,主设备已经记录了从设备的计数值,后续认证时,主设备将根据从设备的计数值对从设备是否被非法使用进行验证,从而避免从设备被非法使用,尤其是针对不法分子利用已经丢弃的正品从设备进行回收再利用的情况。
并且,由于主设备与从设备的首次认证流程中,对数据的加密处理并不仅仅依赖于哈希函数,还包括对初始密钥进行填充、异或计算等一系列操作,使得认证的安全性更高,体现在以下的三个方面:第一,首次认证所使用的密钥是双方事先约定的,第三方不可能知道;第二,作为非法截获信息的第三方,能够得到的信息只有从设备的ID识别码和作为哈希函数“响应”的结果,无法根据这两个数据推算出初始密钥;第三,由于不法分子不知道密钥,所以无法仿造出一致的响应。
此外,由于对从设备发送的计数值进行了加密处理,对于验证流程具有更高的安全性和隐蔽性,且本实施例的认证过程还具有瞬时性,即认证只在当时有效,而一般加密算法被破解后,以前的加密结果就可能被解密,本实施例不存在这样的问题。并且,本实施例并不需要增加离线设备的硬件成本,能够低成本的实现离线设备的安全认证。
最后需要强调的是,本发明不限于上述实施方式,例如所使用的哈希算法的类型的变化,或者,主设备与从设备所使用的密钥的改变等,这些改变也应该包括在本发明权利要求的保护范围内。
Claims (8)
1.一种离线设备的安全认证方法,包括:
主设备首次与从设备连接后,执行首次认证步骤;
主设备后续与从设备连接时,执行后续认证步骤;
其特征在于:
所述首次认证步骤包括:
所述从设备对所存储的初始密钥进行填充,得到预设长度的第一填充密钥,将所述第一填充密钥与第一随机数进行异或计算形成第一组输入分组数据,使用所述第一组输入分组数据与ID识别码组合形成第一哈希函数的输入,并计算所述第一哈希函数的第一哈希值;
使用所述第一填充密钥与第二随机数进行异或计算形成第二组输入分组数据,将所述第二组输入分组数据与所述第一哈希值组合形成第二哈希函数的输入,并计算所述第二哈希函数的输出值作为所述从设备的第一验证哈希值;将所述从设备的ID识别码以及所述第一验证哈希值发送至所述主设备;
所述主设备对所述第一验证哈希值进行验证,如所述第一验证哈希值不通过验证,则终止认证;
其中,所述后续认证步骤包括:
所述从设备对所存储的初始密钥进行填充,得到预设长度的第二填充密钥,将所述第二填充密钥与第五随机数进行异或计算形成第三组输入分组数据,使用所述第三组输入分组数据与ID识别码分组合形成第三哈希函数的输入,并计算所述第三哈希函数的第三哈希值;
使用所述第二填充密钥与第六随机数进行异或计算形成第四组输入分组数据,将所述第四组输入分组数据与所述第三哈希值组合形成第四哈希函数的输入,并计算所述第四哈希函数的输出值作为所述从设备的第二验证哈希值;将所述从设备的ID识别码以及所述第二验证哈希值发送至所述主设备;
所述主设备应用与所述从设备相同的验证算法,对所述从设备的ID识别码进行哈希计算并获得第二目标哈希值,判断所述第二验证哈希值是否与所述第二目标哈希值一致;
所述主设备通过所述第二验证哈希值的验证后,获取所述从设备的计数值,判断所述从设备所存储的计数值+1是否小于或等于所述主设备中存储的最大使用次数值,如是,则通过所述从设备的安全认证,否则,不通过所述从设备的安全认证。
2.根据权利要求1所述的离线设备的安全认证方法,其特征在于:
所述第一填充密钥的所述预设长度为所述哈希函数输入分组的宽度。
3.根据权利要求1所述的离线设备的安全认证方法,其特征在于:
对所述初始密钥进行填充包括:在所述初始密钥的左侧使用二进制数0进行填充。
4.根据权利要求1所述的离线设备的安全认证方法,其特征在于:
所述主设备对所述第一验证哈希值进行验证包括:所述主设备应用与所述从设备相同的验证算法,对所述从设备的ID识别码进行哈希计算并获得第一目标哈希值,判断所述第一验证哈希值是否与所述第一目标哈希值一致。
5.根据权利要求1至4任一项所述的离线设备的安全认证方法,其特征在于:
所述主设备通过所述第一验证哈希值的验证后,还执行:
所述从设备生成第三随机数和第四随机数,应用所述初始密钥对所述第三随机数、所述第四随机数分别进行加密,分别形成第一密文与第二密文,将所述第一密文与所述第二密文拼接后形成第一拼接数据,并将所述第一拼接数据发送至所述主设备。
6.根据权利要求5所述的离线设备的安全认证方法,其特征在于:
所述主设备接收到所述第一拼接数据后,对所述第一拼接数据进行解密并获得第一解密随机数、第二解密随机数以及解密密钥,判断所述第一解密随机数是否与所述第三随机数一致,并判断所述第二解密随机数是否与所述第四随机数一致,并验证所述解密密钥与所述初始密钥的一致性。
7.根据权利要求6所述的离线设备的安全认证方法,其特征在于:
所述主设备验证通过所述解密密钥与所述初始密钥的一致性后,还执行:所述从设备使用所述第一填充密钥对所述ID识别码与计数器的计数值进行加密分别形成第三密文与第四密文,将所述第三密文与所述第四密文拼接形成第二拼接数据,将所述第二拼接数据发送至所述主设备。
8.根据权利要求7所述的离线设备的安全认证方法,其特征在于:
所述主设备接收到所述第二拼接数据后,对所述第二拼接数据进行解密,获得第三解密数据与第四解密数据,判断所述第三解密数据与所述ID识别码的一致性,并判断所述第四解密数据与所述计数值的一致性,如果通过验证,通过所述从设备的安全认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744718.1A CN113569223B (zh) | 2021-06-30 | 2021-06-30 | 一种离线设备的安全认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744718.1A CN113569223B (zh) | 2021-06-30 | 2021-06-30 | 一种离线设备的安全认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569223A CN113569223A (zh) | 2021-10-29 |
CN113569223B true CN113569223B (zh) | 2024-02-09 |
Family
ID=78163373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110744718.1A Active CN113569223B (zh) | 2021-06-30 | 2021-06-30 | 一种离线设备的安全认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569223B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114491593B (zh) * | 2022-01-24 | 2022-09-20 | 芯电智联(北京)科技有限公司 | 一种nfc标签的数据保护方法 |
CN114978785B (zh) * | 2022-08-03 | 2022-10-25 | 中科雨辰科技有限公司 | 一种用于专机互联认证的控制方法 |
CN116684870B (zh) * | 2023-08-03 | 2023-10-20 | 中国电力科学研究院有限公司 | 电力5g终端的接入认证方法、装置及系统 |
CN117353926B (zh) * | 2023-12-01 | 2024-02-27 | 苏州元脑智能科技有限公司 | 一种基于芯片的sm2算法密码处理方法、装置及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120010604A (ko) * | 2010-07-20 | 2012-02-06 | 충남대학교산학협력단 | 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법 |
CN105681271A (zh) * | 2014-12-08 | 2016-06-15 | 三星电子株式会社 | 提供完整性检查数据的方法及设备 |
KR101740179B1 (ko) * | 2016-02-18 | 2017-05-25 | 인하대학교 산학협력단 | 메시지 인증 코드를 위한 디지털 인감 |
CN106778292A (zh) * | 2016-11-24 | 2017-05-31 | 中国电子科技集团公司第三十研究所 | 一种Word加密文档的快速还原方法 |
US9673975B1 (en) * | 2015-06-26 | 2017-06-06 | EMC IP Holding Company LLC | Cryptographic key splitting for offline and online data protection |
CN108400970A (zh) * | 2018-01-20 | 2018-08-14 | 西安电子科技大学 | 云环境中相似数据消息锁定加密去重方法、云存储系统 |
CN111314084A (zh) * | 2020-01-21 | 2020-06-19 | 南京如般量子科技有限公司 | 基于秘密共享和在线离线签名的抗量子计算rfid认证方法和系统 |
CN112639855A (zh) * | 2018-10-02 | 2021-04-09 | 第一资本服务有限责任公司 | 用于非接触式卡的密码认证的系统和方法 |
CN113037498A (zh) * | 2021-03-15 | 2021-06-25 | 珠海晶通科技有限公司 | 离线设备的安全认证方法 |
CN114448607A (zh) * | 2022-02-24 | 2022-05-06 | 珠海晶通科技有限公司 | 一种基于puf技术的离线设备安全认证系统及实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2883313C (en) * | 2012-08-30 | 2020-06-16 | Los Alamos National Security, Llc | Multi-factor authentication using quantum communication |
-
2021
- 2021-06-30 CN CN202110744718.1A patent/CN113569223B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120010604A (ko) * | 2010-07-20 | 2012-02-06 | 충남대학교산학협력단 | 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법 |
CN105681271A (zh) * | 2014-12-08 | 2016-06-15 | 三星电子株式会社 | 提供完整性检查数据的方法及设备 |
US9673975B1 (en) * | 2015-06-26 | 2017-06-06 | EMC IP Holding Company LLC | Cryptographic key splitting for offline and online data protection |
KR101740179B1 (ko) * | 2016-02-18 | 2017-05-25 | 인하대학교 산학협력단 | 메시지 인증 코드를 위한 디지털 인감 |
CN106778292A (zh) * | 2016-11-24 | 2017-05-31 | 中国电子科技集团公司第三十研究所 | 一种Word加密文档的快速还原方法 |
CN108400970A (zh) * | 2018-01-20 | 2018-08-14 | 西安电子科技大学 | 云环境中相似数据消息锁定加密去重方法、云存储系统 |
CN112639855A (zh) * | 2018-10-02 | 2021-04-09 | 第一资本服务有限责任公司 | 用于非接触式卡的密码认证的系统和方法 |
CN111314084A (zh) * | 2020-01-21 | 2020-06-19 | 南京如般量子科技有限公司 | 基于秘密共享和在线离线签名的抗量子计算rfid认证方法和系统 |
CN113037498A (zh) * | 2021-03-15 | 2021-06-25 | 珠海晶通科技有限公司 | 离线设备的安全认证方法 |
CN114448607A (zh) * | 2022-02-24 | 2022-05-06 | 珠海晶通科技有限公司 | 一种基于puf技术的离线设备安全认证系统及实现方法 |
Non-Patent Citations (4)
Title |
---|
Secret Key Extraction using Bluetooth Wireless Signal Strength Measurements;Sriram N. Premnath 等;2014 Eleventh Annual IEEE International Conference on Sensing, Communication, and Networking (SECON);第293-301页 * |
多服务器环境下动态身份认证密钥协商方案;曹阳;;计算机技术与发展(第05期);第137-140页 * |
改进的具有PFS特性的口令认证密钥协商方案;汪定;薛锋;王立萍;马春光;;山东大学学报(理学版)(第09期);第22-28页 * |
设备通用管理系统设计与实现;黄文博;中国优秀硕士学位论文全文数据库 信息科技辑;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113569223A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113569223B (zh) | 一种离线设备的安全认证方法 | |
CN108377190B (zh) | 一种认证设备及其工作方法 | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
US10460314B2 (en) | Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions | |
DK2995039T3 (en) | SYSTEMS AND PROCEDURES FOR SECURE COMMUNICATION. | |
CN107358441B (zh) | 支付验证的方法、系统及移动设备和安全认证设备 | |
CN101828357B (zh) | 用于证书提供的方法和装置 | |
WO2020072551A1 (en) | Contactless card emulation system and method | |
CN110138562B (zh) | 智能设备的证书签发方法、装置及系统 | |
EP3082356A1 (en) | Method to check and prove the authenticity of an ephemeral public key | |
CN107743067B (zh) | 数字证书的颁发方法、系统、终端以及存储介质 | |
CN107948183B (zh) | 一种适用于物联网的密钥分配方法及系统 | |
CN108768963B (zh) | 可信应用与安全元件的通信方法和系统 | |
CN106227503A (zh) | 安全芯片cos固件更新方法、服务端、终端及系统 | |
CN111294203B (zh) | 信息传输方法 | |
CN112187544A (zh) | 固件升级方法、装置、计算机设备及存储介质 | |
US20170353315A1 (en) | Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity | |
WO2007072615A1 (ja) | 認証システム及び認証対象装置 | |
CN113326525A (zh) | 一种基于智能合约的数据处理方法及装置 | |
CN112672342A (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
CN110838919B (zh) | 通信方法、存储方法、运算方法及装置 | |
CN113037498B (zh) | 离线设备的安全认证方法 | |
CN110610360B (zh) | 一种硬件钱包绑定授权的方法及装置 | |
KR101771484B1 (ko) | 보안 토큰을 효율적으로 사용하기 위한 서명 키 생성방법 | |
CN115915131B (zh) | 车辆钥匙双向加密认证方法、系统、车辆绑定装置及nfc卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |