CN111414611B - 一种芯片验证方法及系统 - Google Patents
一种芯片验证方法及系统 Download PDFInfo
- Publication number
- CN111414611B CN111414611B CN202010186942.9A CN202010186942A CN111414611B CN 111414611 B CN111414611 B CN 111414611B CN 202010186942 A CN202010186942 A CN 202010186942A CN 111414611 B CN111414611 B CN 111414611B
- Authority
- CN
- China
- Prior art keywords
- chip
- sequence
- identifier
- segment
- verified
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种芯片验证方法及系统,通过将加密基准芯片标识预先存储在目标设备中,在获取待验证芯片对应的待验证芯片标识后,获取预先存储的加密基准芯片标识,加密基准芯片标识是服务器利用随机数序列对与目标设备对应的基准芯片的标识进行加密得到的;然后对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;通过比较所述待验证芯片标识与解密后的基准芯片标识是否一致,对待验证芯片进行验证。本发明能够利用预先存储在目标设备中的基准芯片标识对待验证芯片的合法性进行验证,并且,本发明中的预先存储在目标设备中的基准芯片标识是呈现加密状态,确保基准芯片标识的安全性,进一步保证待验证芯片合法性验证的准确性。
Description
技术领域
本发明涉及数据处理技术领域,更具体的说,是涉及一种芯片验证方法及系统。
背景技术
随着电子技术的不断发展,越来越多的嵌入式设备被应用到生活和生产中。在设备出厂的时候,都会根据设备的性能,以及处理器芯片的功能,为每个设备配置与其对应的处理器芯片,因此,为了提高设备在运行过程中的可靠性和安全性,在设备运行之前,提出了将要在设备中运行的处理器芯片的合法性进行验证的需求。
发明内容
有鉴于此,本发明提供了一种芯片验证方法及系统,以在设备运行之前,对将要在设备中运行的处理器芯片的合法性进行验证。
为实现上述目的,本发明提供如下技术方案:
一种芯片验证方法,所述方法应用于目标设备,所述方法包括:
获取待验证芯片对应的待验证芯片标识;
获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;
对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;
通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
优选的,在所述加密基准芯片标识为加密芯片标识序列的情况下,所述对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识包括:
按照预先设置的解密规则,从所述加密芯片标识序列中依次检索到至少一段存储芯片标识的分段序列;
从每段分段序列中提取出其内部存储的分段芯片标识;
按照分段序列的索引值大小,对每段分段序列对应的分段芯片标识进行拼接,将拼接得到的芯片标识作为所述解密后的基准芯片标识。
优选的,所述按照预先设置的解密规则,从所述加密芯片标识序列中依次检索到至少一段存储芯片标识的分段序列包括:
按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离;
按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位的索引位置;
利用至少一个分段序列起始标志位的索引位置,以及至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离,确定至少一个分段序列起始标志位各自对应的一分段序列的索引位置;
利用至少一段分段序列的索引位置,定位到至少一段分段序列。
优选的,所述通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证包括:
比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致;
在所述待验证芯片标识与所述解密后的基准芯片标识一致的情况下,确定待验证芯片合法;
在所述待验证芯片标识与所述解密后的基准芯片标识不一致的情况下,确定待验证芯片非法。
一种芯片验证方法,所述方法应用于服务器,所述方法包括:
从目标设备中接收基准芯片的标识;
对所述基准芯片的标识进行加密,得到加密基准芯片标识;
将所述加密基准芯片标识发送至目标设备,使所述目标设备对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;并比较待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
优选的,在所述基准芯片的标识为基准芯片标识序列的情况下,所述对所述基准芯片的标识进行加密,得到加密基准芯片标识包括:
按照预先设置的加密规则,对所述基准芯片标识序列进行分段,得到预设个数的分段芯片标识;
将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
优选的,所述将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识包括:
在所述随机数序列中确定与每个分段芯片标识各自对应的分段序列,每个分段序列至少满足与其对应的分段芯片标识的大小需求;
依据每个分段芯片标识,对随机数序列中与其对应的分段序列中的原始随机数值进行修改,并将随机数值修改后的随机数序列作为加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
优选的,所述方法还包括:
将分段序列各自对应的分段序列起始标志位设置在随机数序列中,并将分段序列起始标志位与与其对应的分段序列之间的偏移距离设置在随机数序列中。
一种芯片验证系统,所述系统包括:目标设备以及服务器;
所述目标设备用于执行如上目标设备一侧的芯片验证方法;
所述服务器用于执行如上服务器一侧的芯片验证方法。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种芯片验证方法及系统,通过将加密基准芯片标识预先存储在目标设备中,在获取待验证芯片对应的待验证芯片标识后,获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;然后对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。也就是说,本发明实施例能够利用预先存储在目标设备中的基准芯片标识对待验证芯片的合法性进行验证,并且,本发明实施例中的预先存储在目标设备中的基准芯片标识是呈现加密状态,确保基准芯片标识的安全性,进一步保证待验证芯片合法性验证的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的芯片验证系统的结构示意图;
图2为本发明实施例提供的芯片验证方法的信令流程图;
图3为本发明实施例提供的芯片验证方法的流程图;
图4为本发明实施例提供的对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识的方法流程图;
图5为本发明实施例提供的芯片验证方法的另一流程图;
图6为本发明实施例提供的随机数序列示意图;
图7为本发明实施例提供的芯片验证装置结构图;
图8为本发明实施例提供的另一种芯片验证装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在设备出厂的时候,都会根据设备的性能,以及处理器芯片的功能,为每个设备配置与其对应的处理器芯片,每个设备对应的处理器芯片都是与该设备的性能、该设备所要实现的功能相对应的,如果设备中的处理器芯片安装错误,则会影响芯片的正常运行。另一方面来说,如果设备安装上具有非法功能的处理器芯片之后,在芯片运行过程中,具有非法功能的处理器芯片有可能会窃取设备运行过程中产生的各项数据,对设备运行的安全性造成一定的影响。为了提高设备在运行过程中的可靠性和安全性,在设备运行之前,提出了将要在设备中运行的处理器芯片的合法性进行验证的需求。
为了解决上述技术问题,本发明实施例中提出了一种芯片验证方法,通过将加密基准芯片标识预先存储在目标设备中,在获取待验证芯片对应的待验证芯片标识后,获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;然后对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。也就是说,本发明实施例能够利用预先存储在目标设备中的基准芯片标识对待验证芯片的合法性进行验证,并且,本发明实施例中的预先存储在目标设备中的基准芯片标识是呈现加密状态,确保基准芯片标识的安全性,进一步保证待验证芯片合法性验证的准确性。
图1为本发明实施例提供的芯片验证系统的结构示意图,本发明实施例提供的芯片验证方法可由该芯片验证系统实施;参照图1,该芯片验证系统可以包括:目标设备10和服务器20。
其中,目标设备10具体可以为工业生产中各种类型的设备,本发明实施例不做具体限定。
服务器20具体可为集群服务器,其具备通过网络与目标设备进行通信的功能。
基于图1所示的芯片验证系统,图2示出了本发明实施例提供的芯片验证方法的信令流程图,参照图2,该流程可以包括:
步骤S10、目标设备将基准芯片的标识发送至服务器;
具体的本发明实施例中的目标设备可以通过与一台运行桌面操作系统Windows/Linux的PC机相连接,通过该PC机将基准芯片的标识传输给服务器。
步骤S11、服务器对所述基准芯片的标识进行加密,得到加密基准芯片标识;
服务器通过加载加密静态库,从加密静态库中调取加密API,利用加密API对所述基准芯片的标识进行加密,得到加密基准芯片标识。
步骤S12、服务器将所述加密基准芯片标识发送至目标设备;
步骤S13、目标设备获取待验证芯片对应的待验证芯片标识;
步骤S14、目标设备获取预先存储的加密基准芯片标识;
所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的。
步骤S15、目标设备对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;
目标设备在需要对待验证芯片标识进行验证的情况下,从解密静态库中调取解密API,利用解密API对加密基准芯片标识进行解密,得到解密后的基准芯片标识。
步骤S16、目标设备通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
本发明实施例通过服务器对基准芯片的标识进行加密,得到加密基准芯片标识;将加密基准芯片标识发送至目标设备,使得目标设备将加密基准芯片标识预先存储在存储器中,在获取待验证芯片对应的待验证芯片标识后,从存储器中获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;然后对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。也就是说,本发明实施例能够利用预先存储在目标设备中的基准芯片标识对待验证芯片的合法性进行验证,并且,本发明实施例中的预先存储在目标设备中的基准芯片标识是呈现加密状态,确保基准芯片标识的安全性,进一步保证待验证芯片合法性验证的准确性。
下面以目标设备的角度,对本发明实施例提供的芯片验证方法进行介绍,下文描述的芯片验证方法可与上文描述的信令流程内容相互对应参照。
图3为本发明实施例提供的芯片验证方法的流程图,该方法可应用于所述目标设备,参照图3,所述方法可以包括:
步骤S100、获取待验证芯片对应的待验证芯片标识;
需要说明的是,对于目标设备中的处理器芯片,都具有一个唯一标识该芯片的标识,不同芯片的芯片标识不同,待验证芯片标识为能够唯一标识待验证芯片的标识。具体的,待验证芯片标识可以为待验证芯片DNA。待验证芯片标识可以为由任意字符组成的不定长度的序列,例如仅由数字组成的不定长度的序列,或者仅由字母组成的不定长度的序列,还可以由数字与字母的组合组成的不定长度的序列,本发明实施例不做具体限定。
步骤S110、获取预先存储的加密基准芯片标识;
所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的。
本发明实施例预先将加密基准芯片标识存储在目标设备中的存储器中(具体可以为非易失性存储器),在需要进行芯片验证的时候,从存储器中提取出加密基准芯片标识,利用加密基准芯片标识对待验证芯片标识的合法性进行验证。
步骤S120、对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;
由于本发明实施例中是通过服务器对基准芯片标识按照预设的加密规则进行加密的,相应的,在目标设备对加密基准芯片标识进行解密的时候,则需要按照与加密规则对应的解密规则对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识,所述解密规则是服务器将所述加密基准芯片标识发送至目标设备的时候,服务器同步发送给目标设备的,每个加密基准芯片标识对应一种解密规则。
步骤S130、通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
具体的,本发明实施例比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致;在所述待验证芯片标识与所述解密后的基准芯片标识一致的情况下,确定待验证芯片合法;在所述待验证芯片标识与所述解密后的基准芯片标识不一致的情况下,确定待验证芯片非法。
在确定待验证芯片合法之后,则触发待验证芯片的运行;在确定待验证芯片非法之后,触发待验证芯片退出运行,并向用户提示芯片合法性验证不通过的提示信息。
待验证芯片合法即所述待验证芯片是与目标设备对应的合法的芯片;待验证芯片非法即所述待验证芯片并不是与目标设备对应的合法的芯片。
本发明实施例通过服务器对基准芯片的标识进行加密,得到加密基准芯片标识;将加密基准芯片标识发送至目标设备,使得目标设备将加密基准芯片标识预先存储在存储器中,在获取待验证芯片对应的待验证芯片标识后,从存储器中获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;然后对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。也就是说,本发明实施例能够利用预先存储在目标设备中的基准芯片标识对待验证芯片的合法性进行验证,并且,本发明实施例中的预先存储在目标设备中的基准芯片标识是呈现加密状态,确保基准芯片标识的安全性,进一步保证待验证芯片合法性验证的准确性。因此,在嵌入式应用程序设计时,需要在关键的代码区块(例如重要的功能、算法入口等)加入本发明实施例公开的芯片验证的程序,保证嵌入式应用程序运行的合法性。
优选的,在所述加密基准芯片标识为加密芯片标识序列的情况下,图4示出了本发明实施例提供的对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识的方法流程图,参照图4,该方法可以包括:
步骤S200、按照预先设置的解密规则,从所述加密芯片标识序列中依次检索到至少一段存储芯片标识的分段序列;
由于本发明实施例中是将基准芯片标识序列按照预设分段规则进行分段之后,得到分段的基准芯片标识序列,并将分段的基准芯片标识序列随机分散设置在一段随机数序列中,得到加密芯片标识序列。因此,在解密的过程中需要在加密芯片标识序列中检索到至少一段存储基准芯片的标识的分段序列,才能从分段序列中恢复出基准芯片标识。
本发明实施例中的解密规则与服务器采用的对基准芯片标识进行加密的加密规则相对应。
具体的,本发明实施例中可以按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离;按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位的索引位置;利用至少一个分段序列起始标志位的索引位置,以及至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离,确定至少一个分段序列起始标志位各自对应的一分段序列的索引位置;利用至少一段分段序列的索引位置,定位到至少一段分段序列。
需要说明的是,分段序列起始标志位与与其对应的分段序列之间的偏移距离会存储在加密芯片标识序列中的某个位置,而该位置的位置信息也会存储在加密芯片标识序列中,因此,本发明实施例可以通过在加密芯片标识序列中确定存储所述偏移距离的位置对应的位置信息,进而根据该位置信息在加密芯片标识序列中定位到存储所述偏移距离的位置,从而从该位置对应的随机数中确定恢复出所述偏移距离。
分段序列起始标志位中存储了分段序列的相关属性信息,本发明实施例通过确定分段序列起始标志位在随机数序列中的索引位置,进而利用分段序列起始标志位与与其对应的一分段序列之间的偏移距离,得到分段序列的索引位置。
步骤S210、从每段分段序列中提取出其内部存储的分段芯片标识;
由于分段序列中存储分段芯片标识,为了提高加密的安全性,分段序列中还可以存储有欺骗字节,分段序列中分段芯片标识的存储位置可以预先设置在服务器中,例如:分段序列中的高8位字节存储的是分段芯片标识,低8位字节存储的是欺骗字节等,本发明实施例不做具体限定。
步骤S220、按照分段序列的索引值大小,对每段分段序列对应的分段芯片标识进行拼接,将拼接得到的芯片标识作为解密后的基准芯片标识。
本发明实施例可以按照分段序列的索引值由小到大的顺序,或者,按照分段序列的索引值由大到小的顺序,将从每段分段序列中提取的分段芯片标识进行拼接,将拼接得到的芯片标识作为解密后的基准芯片标识。具体的拼接顺序可以预先设置在服务器中,本发明实施例不做具体限定。
本发明实施例在目标设备中存储的是加密基准芯片标识,并且所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的,提高了基准芯片标识的安全性,防止基准芯片标识被篡改,只有在需要对待验证芯片标识进行验证的时候,才会对加密基准芯片标识进行解密,得到解密后的基准芯片标识,利用解密后的基准芯片标识对待验证芯片标识进行验证,进一步保证待验证芯片合法性验证的准确性。下面以服务器的角度对本发明实施例提供的芯片验证方法进行介绍,下文描述的芯片验证方法可与上文描述的信令流程内容,及目标设备角度描述的芯片验证方法相互对应参照。
图5为本发明实施例提供的芯片验证方法的另一流程图,该方法可应用于服务器,该方法需要与上面描述的目标设备角度的芯片验证方法结合应用实现芯片验证。本发明实施例中主要是通过服务器对基准芯片的标识进行加密的过程,该加密的过程是上述解密过程的逆过程,具体内容可以互相对应参照。该加密过程可以在目标设备出厂之前执行,参照图5,该方法可以包括:
步骤S300、从目标设备中接收基准芯片的标识;
步骤S310、对所述基准芯片的标识进行加密,得到加密基准芯片标识;
本发明实施例主要通过将基准芯片的标识分段,并将分段的基准芯片标识分散隐藏到随机数字序列中形成加密基准芯片标识。
在所述基准芯片的标识为一个字符(数字、字母、特殊字符等)的时候,则可以将这个字符隐藏在随机数字序列中形成加密基准芯片标识。
在所述基准芯片的标识为基准芯片标识序列(至少由两个字符组成)的情况下,对所述基准芯片的标识进行加密,得到加密基准芯片标识包括:
按照预先设置的加密规则,对所述基准芯片标识序列进行分段,得到预设个数的分段芯片标识;将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
具体的,本发明实施例中可以按照基准芯片标识序列的长度,对基准芯片标识序列进行等长度的分段,还可以对基准芯片标识序列进行不等长度的分段,本发明实施例不做具体限定。
本发明实施例主要是将每段分段芯片标识替换掉随机数序列中某位置上的随机数,达到将基准芯片标识序列隐藏在随机数序列中的目的,得到加密芯片标识序列。
基于此,具体的将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识包括:
在所述随机数序列中确定与每个分段芯片标识各自对应的分段序列,每个分段序列至少满足与其对应的分段芯片标识的大小需求;依据每个分段芯片标识,对随机数序列中与其对应的分段序列中的原始随机数值进行修改,并将随机数值修改后的随机数序列作为加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
本发明实施例可以按照预先设定的规则,在随机数序列中找到与每个分段芯片标识各自对应的分段序列,分段序列的长度大于或等于与其对应的分段芯片标识的长度,并将每个分段芯片标识替换掉各自对应的分段序列中相应位置上的随机数,得到最终的加密芯片标识序列。
可选的,为了进一步提高基准芯片标识的安全性,在分段序列的长度大于与其对应的分段芯片标识的长度的情况下,在将分段芯片标识替换掉分段序列中相应位置上的随机数之后,分段序列中其余位置上的随机数可以设置为预先设定的欺骗字节,从而增加加密算法的复杂度。
为了能够准确存储各个分段序列在加密芯片标识序列中的位置,从而在解密的时候能够准确定位到分段序列,方便解密出分段芯片标识,本发明实施例还包括:
将分段序列各自对应的分段序列起始标志位设置在随机数序列中,并将分段序列起始标志位与与其对应的分段序列之间的偏移距离设置在随机数序列中。
在所述随机数序列中确定用于存储分段序列起始标志位与与其对应的分段序列之间的偏移距离的第一索引位置;将所述偏移距离的数值替换掉在随机数序列中确定的位于第一索引位置上的随机数值,从而在第一索引位置上存储分段序列起始标志位与与其对应的分段序列之间的偏移距离。在所述随机数序列中确定用于存储分段序列起始标志位的第二索引位置;将分段序列起始标志位的数值替换掉在随机数序列中确定的位于第二索引位置上的随机数值,从而在第二索引位置上存储分段序列起始标志位。
需要说明的是,本发明实施例还在随机数序列中确定用于存放第一索引位置的位置信息的第三索引位置,并将第一索引位置的位置信息替换掉在随机数序列中确定的位于第三索引位置上的随机数值,从而在第三索引位置上存储第一索引位置的位置信息;并且,本发明实施例还需要在随机数序列中确定用于存放第二索引位置的位置信息的第四索引位置,并将第二索引位置的位置信息替换掉在随机数序列中确定的位于第四索引位置上的随机数值,从而在第四索引位置上存储第二索引位置的位置信息。
从而在解密过程中首先在第三索引位置上获取第一索引位置的位置信息,依据第一索引位置的位置信息定位到第一索引的位置,进而获取第一索引位置上的信息;然后在第四索引位置上获取第二索引位置的位置信息,依据第二索引位置的位置信息定位到第二索引的位置,进而获取第二索引位置上的信息。
本发明实施例主要是利用分段序列起始标志位的位置,以及分段序列起始标志位与与其对应的分段序列之间的偏移距离,定位到分段序列的位置。
步骤S320、将所述加密基准芯片标识发送至目标设备,使所述目标设备对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;并比较待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
本发明实施例在将加密基准芯片标识发送至目标设备的同时,还将加密算法一同发送至目标设备。
通过上述加密方式,将基准芯片的标识分段,并将分段的基准芯片标识分散隐藏到随机数字序列中形成加密基准芯片标识,达到对基准芯片的标识进行加密的目的,提高基准芯片标识的安全性,防止基准芯片标识被篡改,并将所述加密基准芯片标识发送至目标设备,同时将加密算法发送至目标设备,只有在需要对待验证芯片标识进行验证的时候,才会对加密基准芯片标识进行解密,得到解密后的基准芯片标识,利用解密后的基准芯片标识对待验证芯片标识进行验证,进一步保证待验证芯片合法性验证的准确性。
需要说明的是,本发明实施例上述加密方式为软件加密方式,不需要额外硬件支持,使用方便,成本低,过程操作简单。
本发明实施例提供的上述对基准芯片标识进行加/解密的应用例可以如下:
基准芯片标识为一64位长度的芯片DNA,将其隐藏在160位字节的随机数据中,达到加密的效果。参照图6所示的随机数序列示意图;
加密过程:
1、首先对所述基准芯片标识序列进行分段,64位长度的芯片DNA被分为3个分段芯片标识”,3个分段芯片标识分开隐藏于随机数据中。划分规则见表1:
表1
2、参照图6所示的随机数序列示意图,在160字节的随机数据中,图6所示标识“1”的部分中嵌入的内容是标识“2”部分的位置信息,标识“2”的部分长度为3个字节,每个字节分别指示了“分段序列起始标志位”(图6中的标识4、5、6部分)与各自对应的存储分段芯片标识的“分段序列”(图6中的标识7、8、9部分)的偏移距离,即:图6中的标识“4”部分和标识“7”部分之间的偏移距离、标识“5”部分和标识“8”部分之间的偏移距离、标识“6”部分和标识“9”部分之间的偏移距离。
3、“分段序列起始标志位”的位置信息由图6中标识“3”部分给出,标识“3”部分在标识“2”部分之后2个字节,标识“3”部分的长度为10个字节,其中只有5个字节存放“分段序列起始标志位”的位置信息。具体的,用于存放“分段序列起始标志位”相关信息的5个字节可以为标识“3”部分的前5个字节,还可以为标识“3”部分的后5个字节,本发明实施例不做具体限定。具体采用标识“3”部分中的前5个字节还是采用标识“3”部分的后5个字节,由目标设备中运行的程序主版本号的奇偶性决定,当目标设备中运行的程序主版本号为奇数时,选择标识“3”部分的前5个字节;当目标设备中运行的程序主版本号为偶数时,选择标识“3”部分的后5个字节。
用于存放“分段序列起始标志位”相关信息的5个字节中,第0个字节为索引字节(用于标识后续四个字节中的具体哪个字节存放的是哪种信息),第1-4字节放的是各“分段序列起始标志位”的位置和一个欺骗字节。这4个字节的索引值分别为0、1、2和3。例如:索引字节的[1:0]位放的是标识“4”部分的索引值;[3:2]放的是标识“5”部分的索引值;[5:4]放的是欺骗字节的索引值;[7:6]放的是标识“6”部分”的索引值。
4、将分段序列各自对应的分段序列起始标志位的内容替换掉在随机数序列中确定的“分段序列起始标志位”位置上的随机数数值。
5、将每段分段芯片标识替换掉在随机数序列中确定的“分段序列”位置上的随机数数值,形成加密芯片标识序列。
解密过程:
1、依据解密算法,在加密芯片标识序列标识“1”的部分中获取标识“2”部分的位置信息,从而定位到标识“2”部分的位置;
2、从标识“2”部分中获取每个“分段序列起始标志位”(图6中的4、5、6部分)与各自对应的存储分段芯片标识的“分段序列”(图6中的7、8、9部分)的偏移距离;并从标识“3”部分中获取各个“分段序列起始标志位”的位置;
3、依据各个“分段序列起始标志位”的位置,以及各个“分段序列起始标志位”与各自对应的存储分段芯片标识的“分段序列”的偏移距离,确定各个“分段序列”的位置,从各个“分段序列”中提取分段芯片标识;按照各个“分段序列”的索引值大小,对每段分段芯片标识进行拼接,将拼接得到的芯片标识作为解密后的基准芯片标识。
下面对本发明实施例提供的芯片验证装置进行介绍,下文描述的芯片验证装置可与上文芯片验证方法相互对应参照。
图7为本发明实施例提供的芯片验证装置的结构框图,该芯片验证装置具体可以为目标设备,参照图7,该芯片验证装置可以包括:
待验证芯片标识获取单元400,用于获取待验证芯片对应的待验证芯片标识;
加密基准芯片标识获取单元410,用于获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;
解密单元420,用于对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;
验证单元430,用于通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
在所述加密基准芯片标识为加密芯片标识序列的情况下,所述解密单元包括:
分段序列检索单元,用于按照预先设置的解密规则,从所述加密芯片标识序列中依次检索到至少一段存储芯片标识的分段序列;
分段芯片标识提取单元,用于从每段分段序列中提取出其内部存储的分段芯片标识;
拼接单元,用于按照分段序列的索引值大小,对每段分段序列对应的分段芯片标识进行拼接,将拼接得到的芯片标识作为解密后的基准芯片标识。
所述分段序列检索单元包括:
偏移距离确定单元,用于按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离;
第一索引位置确定单元,用于按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位的索引位置;
第二索引位置确定单元,用于利用至少一个分段序列起始标志位的索引位置,以及至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离,确定至少一个分段序列起始标志位各自对应的一分段序列的索引位置;
分段序列定位单元,用于利用至少一段分段序列的索引位置,定位到至少一段分段序列。
所述验证单元包括:
验证单元子单元,用于比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致;在所述待验证芯片标识与所述解密后的基准芯片标识一致的情况下,确定待验证芯片合法;在所述待验证芯片标识与所述解密后的基准芯片标识不一致的情况下,确定待验证芯片非法。
下面对本发明实施例提供的另一种芯片验证装置进行介绍,该芯片验证装置具体可以为服务器,下文描述的芯片验证装置可以与上文信令流程内容,以及以服务器角度描述的芯片验证方法相互对应参照。
图8为本发明实施例提供的一种芯片验证装置的另一结构框图,请参阅图8,该芯片验证装置可以包括:
基准芯片标识接收单元500,用于从目标设备中接收基准芯片的标识;
加密单元510,用于对所述基准芯片的标识进行加密,得到加密基准芯片标识;
加密基准芯片标识发送单元520,用于将所述加密基准芯片标识发送至目标设备,使所述目标设备对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;并比较待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证。
在所述基准芯片的标识为基准芯片标识序列的情况下,所述加密单元包括:
分段单元,用于按照预先设置的加密规则,对所述基准芯片标识序列进行分段,得到预设个数的分段芯片标识;
分段芯片标识设置单元,用于将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
所述分段芯片标识设置单元包括:
分段序列确定单元,用于在所述随机数序列中确定与每个分段芯片标识各自对应的分段序列,每个分段序列至少满足与其对应的分段芯片标识的大小需求;
修改单元,用于依据每个分段芯片标识,对随机数序列中与其对应的分段序列中的原始随机数值进行修改,并将随机数值修改后的随机数序列作为加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
所述装置还用于:
将分段序列各自对应的分段序列起始标志位设置在随机数序列中,并将分段序列起始标志位与与其对应的分段序列之间的偏移距离设置在随机数序列中。
下面对本发明提供的芯片验证系统进行介绍,该芯片验证系统的结构可以如图1所示,包括目标设备10和服务器20。
其中,目标设备用于:执行以上实施例中介绍的目标设备侧的芯片验证方法;
服务器用于:执行以上实施例中介绍的服务器侧的芯片验证方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种芯片验证方法,其特征在于,所述方法应用于目标设备,所述方法包括:
获取待验证芯片对应的待验证芯片标识;
获取预先存储的加密基准芯片标识,所述加密基准芯片标识是服务器利用随机数序列对与所述目标设备对应的基准芯片的标识进行加密得到的;
对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;
通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证;
在所述加密基准芯片标识为加密芯片标识序列的情况下,所述对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识包括:
按照预先设置的解密规则,从所述加密芯片标识序列中依次检索到至少一段存储芯片标识的分段序列;
从每段分段序列中提取出其内部存储的分段芯片标识;
按照分段序列的索引值大小,对每段分段序列对应的分段芯片标识进行拼接,将拼接得到的芯片标识作为所述解密后的基准芯片标识;
所述按照预先设置的解密规则,从所述加密芯片标识序列中依次检索到至少一段存储芯片标识的分段序列包括:
按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离;
按照预先设置的解密规则,从所述加密芯片标识序列中依次确定至少一个分段序列起始标志位的索引位置;
利用至少一个分段序列起始标志位的索引位置,以及至少一个分段序列起始标志位与与其对应的一分段序列之间的偏移距离,确定至少一个分段序列起始标志位各自对应的一分段序列的索引位置;
利用至少一段分段序列的索引位置,定位到至少一段分段序列。
2.根据权利要求1所述的方法,其特征在于,所述通过比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证包括:
比较所述待验证芯片标识与所述解密后的基准芯片标识是否一致;
在所述待验证芯片标识与所述解密后的基准芯片标识一致的情况下,确定待验证芯片合法;
在所述待验证芯片标识与所述解密后的基准芯片标识不一致的情况下,确定待验证芯片非法。
3.一种芯片验证方法,其特征在于,所述方法应用于服务器,所述方法包括:
从目标设备中接收基准芯片的标识;
对所述基准芯片的标识进行加密,得到加密基准芯片标识;
将所述加密基准芯片标识发送至目标设备,使所述目标设备对所述加密基准芯片标识进行解密,得到解密后的基准芯片标识;并比较待验证芯片标识与所述解密后的基准芯片标识是否一致,对所述待验证芯片进行验证;
在所述基准芯片的标识为基准芯片标识序列的情况下,所述对所述基准芯片的标识进行加密,得到加密基准芯片标识包括:
按照预先设置的加密规则,对所述基准芯片标识序列进行分段,得到预设个数的分段芯片标识;
将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识;
所述将所述预设个数的分段芯片标识设置在随机数序列中,得到加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识包括:
在所述随机数序列中确定与每个分段芯片标识各自对应的分段序列,每个分段序列至少满足与其对应的分段芯片标识的大小需求;
依据每个分段芯片标识,对随机数序列中与其对应的分段序列中的原始随机数值进行修改,并将随机数值修改后的随机数序列作为加密芯片标识序列,将所述加密芯片标识序列作为加密基准芯片标识。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将分段序列各自对应的分段序列起始标志位设置在随机数序列中,并将分段序列起始标志位与与其对应的分段序列之间的偏移距离设置在随机数序列中。
5.一种芯片验证系统,其特征在于,所述系统包括:目标设备以及服务器;
所述目标设备用于执行如上权利要求1-2任意一项所述的芯片验证方法;
所述服务器用于执行如上权利要求3-4任意一项所述的芯片验证方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010186942.9A CN111414611B (zh) | 2020-03-17 | 2020-03-17 | 一种芯片验证方法及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010186942.9A CN111414611B (zh) | 2020-03-17 | 2020-03-17 | 一种芯片验证方法及系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111414611A CN111414611A (zh) | 2020-07-14 |
| CN111414611B true CN111414611B (zh) | 2024-03-08 |
Family
ID=71493116
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010186942.9A Active CN111414611B (zh) | 2020-03-17 | 2020-03-17 | 一种芯片验证方法及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111414611B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101479984A (zh) * | 2006-04-25 | 2009-07-08 | 斯蒂芬·L.·博伦 | 用于身份管理、验证服务器、数据安全和防止中间人攻击的动态分发密钥系统和方法 |
| CN103761660A (zh) * | 2014-02-24 | 2014-04-30 | 陈建生 | 产品真伪验证方法及装置 |
| EP3340098A1 (fr) * | 2016-12-23 | 2018-06-27 | IDEMIA France | Procédé pour la sécurité d'une opération électronique avec une carte à puce |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105471575B (zh) * | 2014-09-05 | 2020-11-03 | 创新先进技术有限公司 | 一种信息加密、解密方法及装置 |
-
2020
- 2020-03-17 CN CN202010186942.9A patent/CN111414611B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101479984A (zh) * | 2006-04-25 | 2009-07-08 | 斯蒂芬·L.·博伦 | 用于身份管理、验证服务器、数据安全和防止中间人攻击的动态分发密钥系统和方法 |
| CN103761660A (zh) * | 2014-02-24 | 2014-04-30 | 陈建生 | 产品真伪验证方法及装置 |
| EP3340098A1 (fr) * | 2016-12-23 | 2018-06-27 | IDEMIA France | Procédé pour la sécurité d'une opération électronique avec une carte à puce |
Non-Patent Citations (2)
| Title |
|---|
| 张玉浩 ; 徐志鹏 ; 黄新锐 ; 胡航 ; 单伟伟 ; .基于AES加密电路的防复制电路及系统设计.电子器件.2015,(01),全文. * |
| 李莉 ; 史国振 ; 耿魁 ; 董秀则 ; 王璇 ; 李凤华 ; .密码芯片的多算法随机作业流调度方法.通信学报.2016,(12),全文. * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111414611A (zh) | 2020-07-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7506381B2 (en) | Method for securing an electronic device, a security system and an electronic device | |
| EP1415430B1 (en) | A method and a system for processing information in an electronic device | |
| CN108023874B (zh) | 单点登录的校验装置、方法及计算机可读存储介质 | |
| CN111666564B (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
| KR101078546B1 (ko) | 범용 저장장치의 식별정보를 기반으로 하는 보안 데이터 파일 암호화 및 복호화 장치, 그를 이용한 전자 서명 시스템 | |
| CN106909421B (zh) | 一种安全的金融pos机固件升级方法 | |
| CN112199644A (zh) | 移动终端应用程序安全检测方法、系统、终端及存储介质 | |
| KR20100121535A (ko) | 보안 소프트웨어 갱신 | |
| CN110334531B (zh) | 虚拟机密钥的管理方法、主节点、系统、存储介质及装置 | |
| CN113872770A (zh) | 一种安全性验证方法、系统、电子设备及存储介质 | |
| CN108667815A (zh) | 基于生物识别的区块链秘钥加解密方法、装置及终端 | |
| US20060106729A1 (en) | Method and apparatus for restricting use of a computer program | |
| CN112565265A (zh) | 物联网终端设备间的认证方法、认证系统及通讯方法 | |
| CN106203100A (zh) | 一种完整性校验方法和装置 | |
| CN111327561B (zh) | 认证方法、系统、认证服务器和计算机可读存储介质 | |
| JP2003256060A (ja) | プログラム使用認証方法 | |
| CN114238922B (zh) | 一种登录身份验证方法和装置 | |
| CN111585995A (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
| CN115914294A (zh) | 一种车辆系统的升级方法、装置及设备 | |
| CN111414611B (zh) | 一种芯片验证方法及系统 | |
| CN114791834A (zh) | 一种应用程序的启动方法、装置、电子设备及存储介质 | |
| CN114285581A (zh) | 应用管理方法及相关产品 | |
| CN108416209B (zh) | 程序安全验证方法、装置及终端设备 | |
| CN116566744B (zh) | 数据处理方法和安全校验系统 | |
| CN108363912B (zh) | 一种程序代码的密保方法及装置 |
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 |