一种硬件的授权方法及系统与流程

文档序号:27097244发布日期:2021-10-27 17:12阅读:795来源:国知局
一种硬件的授权方法及系统与流程

1.本发明涉及电子信息技术领域,特别涉及一种硬件的授权方法。


背景技术:

2.为了实现生产的硬件上的软件知识产权的保护,例如生产的开发板上的软件被盗用在其他公司生产的开发板上,这样客户将不再需要我们提供的开发板,通过购买其他厂家或者我们竞争者的产品也能使用我们的产品,这将严重损害到企业的利益。为了解决生产者产品知识产权保护问题,当前针对这种情况,常用的方法是对硬件产品进行软件授权,常用的方式是离线授权,通过对生产硬件的唯一标识,一般是mac地址进行软件加密后生成机器码,后续通过软件解密机器码,验证成功后才可使用软件的相应功能。
3.对于这个方案可能需要芯片含有唯一的mac信息,且由于离线授权,很容易被他人软件破解,如window的序列号就容易被破解。另外,有些芯片可能不含有唯一的mac地址信息,这种方案就难以适用。
4.在线授权更安全且可以监控设备授权信息,但由于条件限制,大部分的授权还是采用离线授权,生产的时候指定序列号(机器码)写入设备,当需要查找其相应序列号的生产时间和型号时候,很难简单的通过查询生产序列号获取到设备生产的时间和批次等信息,硬件的信息追溯困难。


技术实现要素:

5.为了解决上述技术问题,本发明的技术方案为:
6.一种硬件的授权方法,包括生产测试步骤和硬件使用步骤:
7.所述生产测试步骤,包括:
8.s11:采集硬件属性信息生成机器码,所述硬件属性信息包含硬件生产日期、硬件序号以及硬件型号信息;
9.s12:将所述机器码发送至服务器进行验证,具体为:服务器将该机器码与其上预存储的待授权机器码列表进行比对,若该机器码在待授权列表中则通过验证;
10.s13:机器码验证通过后,服务器将所述机器码进行加密形成加密字符串,并将加密字符串发送至硬件;
11.s14:硬件将收到的加密字符串存储到硬件的otp存储空间内;
12.所述硬件使用步骤,包括:
13.s21:读取上述硬件otp存储空间内的信息,通过硬件上的软件对硬件otp存储空间内的加密字符串信息进行解密,若解密出的信息为合法机器码,则判定该硬件获得授权,允许硬件使用其上的软件功能。
14.进一步的,所述步骤s11中采集硬件属性信息生成机器码,包括:
15.将所述服务器配置为:根据生产计划,制作待授权机器码列表,具体为:提取待生产的硬件生产日期、硬件型号以及硬件序号信息,组合后生成机器码,以及机器码二维码;
16.将待授权机器码以及对应的二维码标记在对应的硬件本体上;
17.通过扫码设备扫描硬件本体上的机器码二维码获取机器码信息。
18.进一步的,所述步骤s21中读取硬件otp存储空间内的信息后还包括:若otp存储空间内无内容,则判定该硬件未通过生产测试。
19.进一步的,所述的一种硬件的授权方法,还包括软件升级步骤:
20.s31:向服务器发送升级请求,所述升级请求中包含读取到的硬件otp存储空间内的信息;
21.s32:服务器接收到升级请求后解密还原出硬件的机器码信息,将机器码与服务器上的待升级机器码列表进行比对,若该机器码需要升级,则将对应升级软件文件发送到硬件上;
22.所述服务器被配置为:根据待升级的软件信息,匹配出待升级的硬件对应的生产日期、硬件型号以及硬件序号信息,根据编码规则形成待升级机器码列表,并为待升级机器码配置对应的升级软件文件;
23.进一步的,所述步骤s31中加密信息还包含硬件当前系统时间,服务器接收到加密信息后进行解密还原出硬件的机器码以及上述硬件当前系统时间,将硬件当前系统时间与服务器当前系统时间进行比较,若时间差大于预设值则忽略该升级请求。
24.一种硬件授权系统,包括生产测试单元和硬件使用授权单元,
25.所述生产测试单元包括:
26.机器码生成模块,用于采集硬件属性信息生成机器码,所述硬件属性信息包含硬件生产日期、硬件序号以及硬件型号信息;
27.机器码验证模块,用于将所述机器码发送至服务器进行验证,具体为:服务器将该机器码与其上预存储的待授权机器码列表进行比对,若该机器码在待授权列表中则通过验证;
28.服务器加密模块,用于将验证通过的机器码进行加密形成加密字符串,并将加密字符串发送至硬件;
29.硬件机器码接收模块,用于接收服务器发送的加密字符串,并存储到硬件的otp存储空间内;
30.所述硬件使用授权单元,包括:
31.授权模块,用于读取上述硬件otp存储空间内的信息,通过硬件上的软件对硬件otp存储空间内的加密字符串信息进行解密,若解密出的信息为合法机器码,则判定该硬件获得授权,允许硬件使用其上的软件功能。
32.进一步的,所述硬件授权系统还包括软件升级单元,所述软件升级单元包括:
33.升级请求模块,用于向服务器发送升级请求,所述升级请求中包含读取到的硬件otp存储空间内的信息;
34.服务器解密模块,用于将接收到的升级请求进行解密并解析出机器码;
35.升级验证模块,用于将机器码与服务器上的待升级机器码列表进行比对,若该机器码需要升级,则将对应升级软件文件发送到硬件上。
36.与现有技术相比,本发明具有如下有益效果:
37.1、采用硬件属性信息编码成起机器,可以适用于没有唯一mac的设备;2、本发明的
硬件授权方法采用硬件的生产日期、硬件序号以及硬件型号信息作为机器码,可以与生产日期及生产数量挂钩,快速形成机器码列表,在硬件生产测试阶段,与机器码列表进行对比验证,验证通过则表示已经完成生产,可以对当前日期的生产数量及进度进行管理;3、由于硬件需要经过测试后才会将加密的机器码写入otp空间,当应用软件检测到硬件otp空间内没有信息,则表示该机器没有经过测试,可以快速判断出该硬件是否经过测试,从而可以防止硬件漏检测的问题;4、本发明的硬件授权方法通过在测试阶段对将机器码在服务器端加密再返回到硬件本体,存入硬件opt空间内的方式,硬件端的应用软件只需读取otp空间内的加密机器码并进行解密,解密正确则可以进行授权,若硬件opt空间内的加密机器码不正确或软件无法对该加密信息进行正确解密,均无法通过授权,防止硬件或软件被盗版的问题发生;5、二维码扫码实现opt的写入,读取简单易读的序列号,当设备出现问题时候,可以根据机器码上的时间信息以及序号信息、型号信息等,可以直接判断出是否是批次问题。
附图说明
38.图1为本发明硬件授权方法的生产测试步骤流程图;
39.图2为本发明硬件授权方法的硬件使用步骤流程图;
40.图3为本发明一实施例中海思开发板的机器码。
具体实施方式
41.下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
42.一种硬件的授权方法,包括生产测试步骤和硬件使用步骤:
43.所述生产测试步骤,包括:
44.s11:采集硬件属性信息生成机器码,所述硬件属性信息包含硬件生产日期、硬件序号以及硬件型号信息;
45.上述步骤s11中采集硬件属性信息生成机器码,包括:
46.将所述服务器配置为:根据生产计划,制作待授权机器码列表,具体为:提取待生产的硬件生产日期、硬件型号以及硬件序号信息,按预定的规则组合后生成机器码,以及机器码二维码;
47.将待授权机器码以及对应的二维码标记在对应的硬件本体上;
48.通过扫码设备扫描硬件本体上的机器码二维码获取机器码信息。
49.本发明一种实施例,生产海思hi3559av100开发板时,采用生产日期+板子序号+板子型号方式形成机器码,打印贴到开放板的指定位置上,或通过蚀刻技术标识在开发板上。参见图3,为海思开发板的机器码,扫码出来为2019120008nle

ai800,可以判断出为2019年12 月生产的第8块开发板,板子产品型号为nle

ai800。
50.具体的,本发明提供一种实施例,服务器根据当天的生产计划,对当天预计生产的所有硬件按序号规则进行预编码,存储在服务器中并形成预分配机器码列表,即待授权机器码列表,列表中的机器码信息同时还存储成二维码形式;硬件生产出来后,按序号将机器码明文信息以及二维码信息均标识在硬件指定位置,明文信息方便读出硬件的生产信息和
型号信息等,二维码信息可以方便扫码设备识读。
51.完成生产后,进入硬件测试,开发板上预留有扫码枪接口,接入扫码枪,扫描开发板上的二维码读取到机器码。
52.s12:将所述机器码发送至服务器进行验证,具体为:服务器将该机器码与其上预存储的待授权机器码列表进行比对,若该机器码在待授权列表中则通过验证,一种实施例中,可以将已通过验证的机器码标识为已验证状态;表明该硬件机身上的编号是这一批次的合法机器码,以及该机器码未被重复验证过。这样可以在服务器上管理硬件的授权情况,例如查看授权数量,另一方面,经过测试的开发板才能执行验证步骤,根据待授权列表,还可以查看测试阶段是否存在设备漏测试的情况,防止漏测试情况发生。
53.s13:机器码验证通过后,服务器将所述机器码进行加密形成加密字符串,并将加密字符串发送至硬件;
54.s14:硬件将收到的加密字符串存储到硬件的otp存储空间内;
55.本发明实施例中,硬件为海思开发板,开发板cpu内含有otp(one timer programmable) 存储空间,该存储空间特点是通过特定寄存器操作,写一次后无法擦除,即只能写一次该空间地址,后续无法再重复写,但是可以重复读操作。
56.测试完成的硬件才可投入使用,所述硬件使用步骤,包括:
57.s21:读取上述硬件otp存储空间内的信息,通过硬件上嵌入的软件对硬件otp存储空间内的加密字符串信息进行解密,若解密出的信息为合法机器码,则判定该硬件获得授权,允许硬件使用其上的软件功能。
58.若otp存储空间内无内容,则判定该硬件未经过生产测试。这种情况下,若是批量未测试的情况,还可以通过硬件上的机器码追溯一个批次的硬件,便于后续产品召回。
59.本发明的一种实施例中,软件对加密字符串进行解密,若解密出来的机器码为符合预设编码规则的信息,即上述实施例中生产日期+板子序号+板子型号的方式,则判定是合法机器码,就允许软件在硬件上运行。
60.本发明实施例中,服务器端对机器码的加密规则,与软件对otp空间信息的解密规则是匹配的,这样设备端才可以还原出机器码明文。一种实现方式如下:解密程序采用静态库的方式给应用程序调用,当开发板上我们自己的算法或软件需要使用时,解密程序调用静态库对opt存储空间的信息进行解密,若otp存储空间内无信息或者存储的不是合法机器码,解密出来的可能是一堆乱码。这种情况,说明开发板硬件与开发板上的软件不是匹配的,可能是硬件被替换,不是原厂的,也有可能是软件不是原装的,无法授权成功。
61.上述硬件使用步骤的授权可以在离线状态下进行。
62.本发明的方案还包括软件升级步骤:
63.s31:向服务器发送升级请求,所述升级请求中包含读取到的硬件otp存储空间内的信息,服务器接收到升级请求后解密还原出硬件的机器码信息;
64.s32:将机器码与服务器上的待升级机器码列表进行比对,若该机器码需要升级,则将对应升级软件文件发送到硬件上;
65.所述服务器被配置为:根据待升级的软件信息,匹配出待升级的硬件对应的生产日期、硬件型号以及硬件序号信息,根据编码规则形成待升级机器码列表,并为待升级机器码配置对应的升级软件文件;
66.本发明的方案可以指定某一时间段生产的开发板,或者某一时间段生产的特定型号的开发板进行批量升级。一种实施例中,当某个版本软件需要升级,根据该升级软件需替换的软件版本,调取出需替换旧版本的生产时间、针对的开发板型号,从而批量得出待升级的机器码,实现高效的针对开发板配置升级方案。
67.所述步骤s31中加密信息还包含硬件当前系统时间,服务器接收到加密信息后进行解密还原出硬件的机器码以及上述硬件当前系统时间,将硬件当前系统时间与服务器当前系统时间进行比较,若时间差大于预设值则忽略该升级请求。这样可以有效防止升级请求在通讯过程中被篡改的风险。
68.本发明还提供一种硬件授权系统,包括生产测试单元和硬件使用授权单元,
69.所述生产测试单元包括:
70.机器码生成模块,用于采集硬件属性信息生成机器码,所述硬件属性信息包含硬件生产日期、硬件序号以及硬件型号信息;
71.机器码验证模块,用于将所述机器码发送至服务器进行验证,具体为:服务器将该机器码与其上预存储的待授权机器码列表进行比对,若该机器码在待授权列表中则通过验证;
72.服务器加密模块,用于将验证通过的机器码进行加密形成加密字符串,并将加密字符串发送至硬件;
73.硬件机器码接收模块,用于接收服务器发送的加密字符串,并存储到硬件的otp存储空间内;
74.所述硬件使用授权单元,包括:
75.授权模块,用于读取上述硬件otp存储空间内的信息,通过硬件上的软件对硬件otp存储空间内的加密字符串信息进行解密,若解密出的信息为合法机器码,则判定该硬件获得授权,允许硬件使用其上的软件功能。
76.进一步的,所述硬件授权系统还包括软件升级单元,所述软件升级单元包括:
77.升级请求模块,用于向服务器发送升级请求,所述升级请求中包含读取到的硬件otp存储空间内的信息;
78.服务器解密模块,用于将接收到的升级请求进行解密并解析出机器码;
79.升级验证模块,用于将机器码与服务器上的待升级机器码列表进行比对,若该机器码需要升级,则将对应升级软件文件发送到硬件上。
80.以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1