本发明是关于mcu安全保护,特别是关于一种基于uid的mcu内部程序防抄袭的方法。
背景技术:
1、微控制单元(microcontroller unit;mcu),又称单片微型计算机(single chipmicrocomputer)或者单片机。mcu中能够存储用于操作控制对象的程序,在一个具体场景中,目前几乎所有电喷汽车内部均设置有mcu,车载mcu可以控制车辆的换挡逻辑、刹车辅助系统、节气门开度与油门踏板之间的配合关系等等。一些mcu中的程序是开源的通用程序,这类程序不存在保密需求,但是例如某些高端轿车内的mcu程序则需要保密。例如,某些知名高档汽车具有多种驾驶模式(比如舒适模式、运动模式、运动+模式等等),这类汽车实现不同模式实际上是通过mcu内部程序调整换挡逻辑、节气门开度与油门踏板之间的配合关系、缓震避震系统响应幅度等参数来实现的,在机械构件完全一致的情况下,一套好的mcu内部程序能够大幅度提升用户体验,也更能够发挥机械结构的潜力,mcu内部程序反映出的特点也是各大汽车公司重点宣传的卖点。因此,这类mcu内部程序(也即操作汽车的操作逻辑)是各大汽车公司需要保密的内容。
2、目前,常见的非授权拷贝mcu内部程序的方法主要是非授权用户通过各种手段获取用户身份标识符uid,随后使用该uid非法登录或者接入mcu,从而从mcu内部读取mcu的操作逻辑或者直接获取mcu内部的程序。如何防止这类非授权拷贝mcu内部程序的行为,是当前现有技术面临的问题。
技术实现思路
1、为实现上述目的,本发明提供了一种基于uid的mcu内部程序防抄袭的方法,其特征在于,方法包括:
2、由授权设备向mcu发送第一进程标识符,其中,第一进程标识符是从进程标识符列表中选择的;
3、在mcu接收到第一进程标识符之后,由mcu基于第一进程标识符以及预定义的映射表生成第二进程标识符,其中,授权设备中不保存预定义的映射表;
4、由授权设备向服务器发送随机数请求指令,其中,随机数请求指令中至少包括uid、第一进程标识符以及授权设备的硬件标识符,其中,uid与授权设备的硬件标识符相对应;
5、在服务器接收到随机数请求指令之后,由服务器基于uid、第一进程标识符以及授权设备的硬件标识符来验证授权设备的合法性;
6、在服务器验证授权设备为合法的授权设备之后,由服务器向授权设备发送第一随机数。
7、在一优选的实施方式中,方法还包括:
8、在mcu生成第二进程标识符之后,由mcu将第二进程标识符发送给服务器;
9、在服务器接收到第二进程标识符并且服务器已经向授权设备发送第一随机数之后,由服务器基于第一进程标识符以及第二进程标识符之间的映射关系向mcu发送第一随机数。
10、在一优选的实施方式中,方法还包括:
11、如果服务器验证授权设备不是合法的授权设备,则服务器不向授权设备发送第一随机数。
12、在一优选的实施方式中,方法还包括:
13、在授权设备接收到第一随机数之后,由授权设备向mcu发送第一程序读取命令,其中,第一程序读取命令中包括第一进程标识符以及第一随机数;
14、在mcu接收到第一程序读取命令之后,由mcu确定第一程序读取命令中是否包括第一进程标识符以及第一随机数;
15、在mcu确定第一程序读取命令中包括第一进程标识符以及第一随机数之后,由mcu向授权设备发送mcu中包括的程序的第一分段以及第二进程标识符。
16、在一优选的实施方式中,方法还包括:
17、在授权设备接收到mcu中包括的程序的第一分段以及第二进程标识符之后,由授权设备将第二进程标识符发送给服务器;
18、在服务器接收到由授权设备发送的第二进程标识符之后,由服务器验证第二进程标识符与第一进程标识符之间的映射关系;
19、在服务器成功验证第二进程标识符与第一进程标识符之间的映射关系之后,由服务器向授权设备发送继续进程指令;
20、在授权设备接收到继续进程指令之后,由授权设备向mcu发送第二程序读取命令,其中,第二程序读取命令中包括第一进程标识符以及第二随机数,其中,第二随机数是基于第一随机数以及预定义规则生成的。
21、在一优选的实施方式中,方法还包括:
22、在mcu接收到第二程序读取命令之后,由mcu基于第一随机数以及预定义规则生成第二随机数;
23、在mcu生成第二随机数之后,由mcu确定第二程序读取命令中是否包括第一进程标识符以及第二随机数;
24、在mcu确定第二程序读取命令中包括第一进程标识符以及第二随机数之后,由mcu向授权设备发送mcu中包括的程序的第二分段以及第二进程标识符。
25、本发明提供了一种非暂时性计算机可读存储介质,其特征在于,非暂时性计算机可读存储介质中包括指令,指令在由处理器执行时能够使得处理器执行以下操作:
26、由授权设备向mcu发送第一进程标识符,其中,第一进程标识符是从进程标识符列表中选择的;
27、在mcu接收到第一进程标识符之后,由mcu基于第一进程标识符以及预定义的映射表,生成第二进程标识符;
28、由授权设备向服务器发送随机数请求指令,其中,随机数请求指令中至少包括uid、第一进程标识符以及授权设备的硬件标识符,其中,uid与授权设备的硬件标识符相对应;
29、在服务器接收到随机数请求指令之后,由服务器基于uid、第一进程标识符以及授权设备的硬件标识符来验证授权设备的合法性;
30、在服务器验证授权设备为合法的授权设备之后,由服务器向授权设备发送第一随机数。
31、在一优选的实施方式中,指令在由处理器执行时还能够使得处理器执行以下操作:
32、在mcu生成第二进程标识符之后,由mcu将第二进程标识符发送给服务器;
33、在服务器接收到第二进程标识符,并且服务器已经向授权设备发送第一随机数之后,由服务器基于第一进程标识符以及第二进程标识符之间的映射关系向mcu发送第一随机数。
34、在一优选的实施方式中,指令在由处理器执行时还能够使得处理器执行以下操作:
35、在授权设备接收到第一随机数之后,由授权设备向mcu发送第一程序读取命令,其中,第一程序读取命令中包括第一进程标识符以及第一随机数;
36、在mcu接收到第一程序读取命令之后,由mcu确定第一程序读取命令中是否包括第一进程标识符以及第一随机数;
37、在mcu确定第一程序读取命令中包括第一进程标识符以及第一随机数之后,由mcu向授权设备发送mcu中包括的程序的第一分段以及第二进程标识符。
38、在一优选的实施方式中,指令在由处理器执行时还能够使得处理器执行以下操作:
39、在授权设备接收到mcu中包括的程序的第一分段以及第二进程标识符之后,由授权设备将第二进程标识符发送给服务器;
40、在服务器接收到由授权设备发送的第二进程标识符之后,由服务器验证第二进程标识符与第一进程标识符之间的映射关系;
41、在服务器验证第二进程标识符与第一进程标识符之间的映射关系之后,由服务器向授权设备发送继续进程指令;
42、在授权设备接收到继续进程指令之后,由授权设备向mcu发送第二程序读取命令,其中,第二程序读取命令中包括第一进程标识符以及第二随机数,其中,第二随机数是基于第一随机数以及预定义规则生成的;
43、在mcu接收到第二程序读取命令之后,由mcu基于第一随机数以及预定义规则生成第二随机数;
44、在mcu生成第二随机数之后,由mcu确定第二程序读取命令中是否包括第一进程标识符以及第二随机数;
45、在mcu确定第二程序读取命令中包括第一进程标识符以及第二随机数之后,由mcu向授权设备发送mcu中包括的程序的第二分段以及第二进程标识符。
46、与现有技术相比,本发明具有如下优点,目前常见的非授权拷贝mcu内部程序的方法主要是非授权用户通过各种手段获取用户身份标识符uid,随后使用该uid非法登录或者接入mcu,从而从mcu内部读取mcu的操作逻辑或者直接获取mcu内部的程序。针对现有技术的问题,本发明的方法主要通过避免任何用户仅通过uid验证就可以登录或者接入mcu,以保证mcu内部程序的安全。