一种基于设备芯片的硬件指纹获取方法与流程

文档序号:30788268发布日期:2022-07-16 08:58阅读:354来源:国知局
一种基于设备芯片的硬件指纹获取方法与流程

1.本发明属于芯片技术领域,尤其涉及一种基于设备芯片的硬件指纹获取方法。


背景技术:

2.目前常使用mac地址作为硬件的唯一标识,其中,mac地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(network lnterface card)的eprom(一种闪存芯片,通常可以通过程序擦写),mac地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-ea-ae-3c-40就是一个mac地址,其中前3个字节,16进制数00-16-ea代表网络硬件制造商的编号,它由ieee(电气与电子工程师协会)分配,而后3个字节,16进制数ae-3c-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的mac地址,mac地址在世界是唯一的。形象地说,mac地址就如同身份证上的身份证号码,具有唯一性。
3.但是mac地址可以更改,修改mac地址有两种方法,一种是硬件修改,另外一种是软件修改。硬件修改的方法就是直接对网卡进行操作,修改保存在网卡的eprom里面的mac地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。软件修改的方法相对来说就简单得多了,在windows中,网卡的mac保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变mac,因此,mac地址作为硬件唯一标识,缺乏唯一性与不变性,复杂性也较差。


技术实现要素:

4.有鉴于此,本发明实施例提供一种基于设备芯片的硬件指纹获取方法,用于解决现有用mac地址作为硬件唯一标识,缺乏唯一性与不变性,复杂性也较差的问题。本发明能够根据设备的芯片确定所述设备的唯一标识指纹,保证了硬件标识的唯一性、不可修改性和安全可靠性。
5.本发明实施例提供一种基于设备芯片的硬件指纹获取方法,其特征在于,包括:
6.根据设备的芯片确定所述设备的唯一标识指纹。
7.在一可选实施例中,所述根据设备的芯片确定所述设备的唯一标识指纹,包括:
8.对设备硬件进行上电;
9.在所述设备未加载内存时,采集所述设备的芯片状态及所述芯片的生产编号;
10.根据所述芯片的芯片状态及所述芯片的生产编号,基于预设算法确定所述设备的唯一标识指纹。
11.在一可选实施例中,所述芯片状态至少包括:每个芯片引脚的功能状态,每个芯片引脚的启动电平状态。
12.在一可选实施例中,所述根据所述芯片的芯片状态及所述芯片的生产编号,基于预设算法确定所述设备的唯一标识指纹,包括:
13.根据所述设备硬件加电后未加载内存时所述芯片的每个芯片引脚的功能状态,确定芯片的功能硬件指纹;
14.根据所述设备硬件加电后未加载内存时所述芯片的每个芯片引脚的启动电平状态,确定芯片的启动硬件指纹;
15.根据所述芯片的功能硬件指纹、芯片的启动硬件指纹和芯片的生产编号,基于预设算法确定所述设备的唯一标识指纹。
16.在一可选实施例中,所述根据所述设备硬件加电后未加载内存时所述芯片的每个芯片引脚的功能状态,确定芯片的功能硬件指纹,包括:
17.根据以下第一公式确定芯片的功能硬件指纹;
[0018][0019]
其中,h2表示芯片的功能硬件指纹,其为二进制形式的数据;k(i)表示所述设备硬件加电后未加载内存时所述芯片的第i个芯片引脚的功能状态对应的状态值;[]2表示将括号内的数值转换为二进制数;《《表示左移符号;a=1,2,

i-1;len{}表示求取括号内二进制数值的位数;i=1,2,

n;n表示所述芯片的引脚总数;
[0020]
所述根据所述设备硬件加电后未加载内存时所述芯片的每个芯片引脚的启动电平状态,确定芯片的启动硬件指纹,包括:
[0021]
根据以下第二公式确定芯片的启动硬件指纹:
[0022][0023]
其中,q2表示芯片的启动硬件指纹数据,其为二进制形式的数据;d(i)表示所述设备硬件加电后未加载内存时所述芯片的第i个芯片引脚的启动电平值;
[0024]
所述根据所述芯片的功能硬件指纹、芯片的启动硬件指纹和芯片的生产编号,基于预设算法确定所述设备的唯一标识指纹,包括:
[0025]
根据以下第三公式确定所述设备的唯一标识指纹:
[0026]
c2=[h2<<len(q2)+q2]<<len(b2)+b2[0027]
其中,c2表示所述设备的唯一标识指纹,其为二进制形式的数据;b2表示所述设备硬件加电后未加载内存时采集到的芯片的生产编号的二进制形式。
[0028]
在一可选实施例中,在所述根据设备的芯片确定所述设备的唯一标识指纹之前,还包括:
[0029]
预先定义芯片引脚的功能状态和状态值的对应关系为:当芯片引脚的功能状态为io引脚时,对应状态值为1;当芯片引脚的功能状态为串口时,对应状态值为2;当芯片引脚的功能状态为spi口时,对应状态值为3;当芯片引脚的功能状态为i2c口时,对应状态值为4;当芯片引脚的功能状态为除io引脚、串口、spi口、i2c口外的其它功能状态时,对应状态值为5。
[0030]
在一可选实施例中,当所述设备硬件加电后未加载内存时所述芯片的第i个芯片引脚的启动电平为高电平则d(i)=1,反之d(i)=0。
[0031]
本发明提供的一种基于设备芯片的硬件指纹获取方法,根据设备的芯片确定所述设备的唯一标识指纹,本发明能够根据设备的芯片确定所述设备的唯一标识指纹,保证了
硬件标识的唯一性、不可修改性和安全可靠性。
附图说明
[0032]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0033]
图1为本发明实施例提供的一种基于设备芯片的硬件指纹获取方法流程图;
[0034]
图2为s103的一种实施方法流程图。
具体实施方式
[0035]
下面结合附图对本发明实施例进行详细描述。
[0036]
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0037]
本发明实施例提供的一种基于设备芯片的硬件指纹获取方法,包括:根据设备的芯片确定所述设备的唯一标识指纹。
[0038]
本发明实施例提供的一种基于设备芯片的硬件指纹获取方法,根据设备的芯片确定所述设备的唯一标识指纹,本发明能够根据设备的芯片确定所述设备的唯一标识指纹,保证了硬件标识的唯一性、不可修改性和安全可靠性。
[0039]
图1为本发明实施例提供的一种基于设备芯片的硬件指纹获取方法流程图。如图1所示,所述方法可以包括以下步骤s101-s103:
[0040]
s101:对设备硬件进行上电。
[0041]
作为一可选实施例,本步骤s101之前,还包括:预先定义芯片引脚的功能状态和状态值的对应关系为:当芯片引脚的功能状态为io引脚时,对应状态值为1;当芯片引脚的功能状态为串口时,对应状态值为2;当芯片引脚的功能状态为spi口时,对应状态值为3;当芯片引脚的功能状态为i2c口时,对应状态值为4;当芯片引脚的功能状态为除io引脚、串口、spi口、i2c口外的其它功能状态时,对应状态值为5。
[0042]
s102:在所述设备未加载内存时,采集所述设备的芯片状态及所述芯片的生产编号。
[0043]
s103:根据所述芯片的芯片状态及所述芯片的生产编号,基于预设算法确定所述设备的唯一标识指纹。
[0044]
其中,所述芯片状态至少包括:每个芯片引脚的功能状态,每个芯片引脚的启动电平状态。
[0045]
本实施例中,芯片的每个芯片引脚的功能状态、每个芯片引脚的启动电平状态和芯片的生产编号这些信息都与其他芯片存在的差异性,从而根据这些信息和预设算法计算获得的设备的唯一标识,具有唯一性以及安全可靠性。
[0046]
作为一可选实施例,如图2所示,本步骤s103,可以包括以下步骤s201-s203:
[0047]
s201:根据所述设备硬件加电后未加载内存时所述芯片的每个芯片引脚的功能状
态,确定芯片的功能硬件指纹。
[0048]
优选地,本步骤s201,包括,根据以下第一公式确定芯片的功能硬件指纹:
[0049][0050]
其中,h2表示芯片的功能硬件指纹,其为二进制形式的数据;k(i)表示所述设备硬件加电后未加载内存时所述芯片的第i个芯片引脚的功能状态对应的状态值;[]2表示将括号内的数值转换为二进制数;《《表示左移符号;a=1,2,

i-1;len{}表示求取括号内二进制数值的位数;i=1,2,

n;n表示所述芯片的引脚总数。
[0051]
本实施例中,芯片引脚的定义是在上电时,芯片会加载一段芯片内部的引脚定义的程序文件,通过加载的引脚定义的程序文件就可以知道每个引脚的引脚状态,这个程序文件已经下载到芯片里面了,所以在未加载内存时就可以知晓芯片的引脚状态值,即k(i)。根据第一公式及硬件加电后未加载内存时芯片的状态中每个芯片引脚的功能状态得到芯片的功能硬件指纹,从而从硬件功能上增加硬件指纹的复杂程度,确保指纹的安全保密。
[0052]
s202:根据所述设备硬件加电后未加载内存时所述芯片的每个芯片引脚的启动电平状态,确定芯片的启动硬件指纹。
[0053]
优选地,本步骤s202,包括,根据以下第二公式确定芯片的启动硬件指纹:
[0054][0055]
其中,q2表示芯片的启动硬件指纹数据,其为二进制形式的数据;d(i)表示所述设备硬件加电后未加载内存时所述芯片的第i个芯片引脚的启动电平值,当所述设备硬件加电后未加载内存时所述芯片的第i个芯片引脚的启动电平为高电平则d(i)=1,反之d(i)=0。
[0056]
本实施例中,根据硬件加电后未加载内存时芯片的状态中每个芯片引脚的启动电平状态得到芯片的启动硬件指纹,从而根据芯片的启动电平状态增加与其他硬件指纹的差异性,保证了芯片的启动硬件指纹的唯一性。
[0057]
s203:根据所述芯片的功能硬件指纹、芯片的启动硬件指纹和芯片的生产编号,基于预设算法确定所述设备的唯一标识指纹。
[0058]
优选地,本步骤s203,包括,根据以下第三公式确定所述设备的唯一标识指纹:
[0059]
c2=[h2<<len(q2)+q2]<<len(b2)+b2ꢀꢀꢀ
(3)
[0060]
其中,c2表示所述设备的唯一标识指纹,其为二进制形式的数据;b2表示所述设备硬件加电后未加载内存时采集到的芯片的生产编号的二进制形式。
[0061]
本实施例中,根据硬件加电后未加载内存时采集到的芯片的生产编号以及芯片的功能硬件指纹和芯片的启动硬件指纹得到芯片硬件的唯一标识码,从而确保硬件指纹的唯一性以及安全可靠性。
[0062]
本发明实施例提供的一种基于设备芯片的硬件指纹获取方法,根据硬件加电后未加载内存时每个芯片引脚的功能状态和每个芯片引脚的启动电平状态,及芯片的生产编号进行算法计算,形成硬件的唯一标识码,作为设备的硬件指纹。本发明能够根据设备的芯片确定所述设备的唯一标识指纹,保证了硬件标识的唯一性、不可修改性和安全可靠性。
[0063]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0064]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0065]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0066]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1