一种授权方法、装置、计算机设备及存储介质与流程

专利检索2022-05-10  20



1.本技术涉及通信技术领域,尤其涉及一种授权方法、装置、计算机设备及存储介质。


背景技术:

2.随着全球化贸易进程的开展,厂商为了提高设备的生产效率,通常会在通过第三方平台代生产设备。例如,厂商可以将功能不同的设备交由不同的第三个平台来生产。为了降低设备功能的开发成本,厂商可以将开发的全部功能对应的程序集成在固件程序上,各个第三方平台基于相同的固件程序,进行不同程度的授权,实现生产不同功能的设备的效果。
3.传统的授权方法是,在第三个平台中预先设置所有功能对应的私钥,在设备中预先设置所有私钥对应的公钥,第三方平台提取出固件程序中某一功能对应的程序,并通过该功能对应的私钥进行加密,将加密后的程序发送至设备,如果设备预存的公钥中存在一个公钥可以对加密后的程序进行解密,那么完成授权,将解密后的程序写入设备。
4.可见,授权过程中,不仅需要预先对所有可能的功能分配公私钥对,还需要在设备中预先存储所有公钥,设备还需要在接收加密后的程序之后,遍历每个公钥是否可以对加密后的程序进行解密,在成功解密后,还需要将解密后的程序写入设备,授权过程较为复杂,授权效率较低。


技术实现要素:

5.本技术实施例提供一种授权方法、装置、计算机设备及存储介质,用于解决授权效率较低的问题。
6.第一方面,提供一种授权方法,包括:
7.待授权设备接收第三方授权设备发送的授权文件;
8.若基于预存的根公钥,对所述签授权文件包含的第一签名信息验签成功,则所述待授权设备获得所述签授权文件包含的子公钥信息,其中,所述子公钥信息中包括子公钥;
9.若基于所述子公钥,对所述授权文件包含的第二签名信息验签成功,则所述待授权设备获得所述签授权文件包含的授权信息,其中,所述授权信息包括指定授权功能;
10.所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限,其中,所述固件程序用于集成开发出的全部功能对应的程序。
11.可选的,所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限,包括:
12.若所述子公钥信息中还包括针对所述待授权设备的可授权范围,则所述待授权设备确定所述指定授权功能和所述可授权范围是否匹配;
13.若所述指定授权功能和所述可授权范围匹配,则所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限。
14.可选的,所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限,包括:
15.若所述授权信息还包括目标设备信息,则所述待授权设备确定所述目标设备信息与所述待授权设备的设备信息是否一致;
16.若所目标设备信息与所述待授权设备的设备信息一致,则所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限。
17.可选的,在所述待授权设备确定所述目标设备信息与所述待授权设备的设备信息是否一致之前,还包括:
18.所述待授权设备接收所述第三方授权设备发送的信息获取请求,其中,所述信息获取请求用于获取所述待授权设备的设备属性;
19.基于所述信息获取请求,所述待授权设备向所述第三方授权设备反馈获得的设备属性,以使所述第三方授权设备接收到所述待授权设备发送的设备属性后,基于接收的设备属性生成所述目标设备信息。
20.第二方面,提供一种授权方法,包括:
21.基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,第三方授权设备生成授权文件,其中,所述子公钥信息包括子公钥,所述授权信息包括针对待授权设备的指定授权功能;
22.所述第三方授权设备向待授权设备发送授权文件,以使所述待授权设备接收所述第三方授权设备发送的授权文件,以及,若基于预存的根公钥,对所述签授权文件包含的第一签名信息验签成功,则所述待授权设备获得所述签授权文件包含的子公钥信息,以及,若基于所述子公钥,对所述授权文件包含的第二签名信息验签成功,则所述待授权设备获得所述签授权文件包含的授权信息,以及,所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限,其中,所述固件程序用于集成开发出的全部功能对应的程序。
23.可选的,在基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,第三方授权设备生成授权文件之前,还包括:
24.所述第三方授权设备接收厂商设备发送的固件程序,其中,所述固件程序中携带根公钥,所述根公钥用于对根私钥签名后的信息进行验签处理;
25.所述第三方授权设备向所述待授权设备发送所述固件程序,以使所述待授权设备接收所述第三方授权设备发送的固件程序,并获得所述固件程序携带的所述根公钥。
26.可选的,在基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,第三方授权设备生成授权文件之前,还包括:
27.所述第三方授权设备接收所述厂商设备发送的所述子公钥信息、子私钥和第一签名信息,其中,所述子公钥信息包含的所述子公钥用于对所述子私钥签名后的信息进行验签处理,所述第一签名信息是所述厂商设备基于预存的根私钥对所述子公钥信息进行签名处理获得的;
28.基于所述子私钥,对预存的授权信息进行签名处理,获得第二签名信息。
29.第三方面,提供一种授权装置,包括:
30.收发模块:用于接收第三方授权设备发送的授权文件;
31.处理模块:用于若基于预存的根公钥,对所述签授权文件包含的第一签名信息验签成功,则获得所述签授权文件包含的子公钥信息,其中,所述子公钥信息中包括子公钥;
32.所述处理模块还用于:若基于所述子公钥,对所述授权文件包含的第二签名信息验签成功,则获得所述签授权文件包含的授权信息,其中,所述授权信息包括指定授权功能;
33.所述处理模块还用于:开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限,其中,所述固件程序用于集成开发出的全部功能对应的程序。
34.可选的,所述处理模块具体用于:
35.若所述子公钥信息中还包括针对所述待授权设备的可授权范围,则确定所述指定授权功能和所述可授权范围是否匹配;
36.若所述指定授权功能和所述可授权范围匹配,则开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限。
37.可选的,所述处理模块具体用于:
38.若所述授权信息还包括目标设备信息,则确定所述目标设备信息与所述待授权设备的设备信息是否一致;
39.若所目标设备信息与所述待授权设备的设备信息一致,则开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限。
40.可选的,所述收发模块还用于:
41.在确定所述目标设备信息与所述待授权设备的设备信息是否一致之前,接收所述第三方授权设备发送的信息获取请求,其中,所述信息获取请求用于获取所述待授权设备的设备属性;
42.所述处理模块还用于:基于所述信息获取请求,向所述第三方授权设备反馈获得的设备属性,以使所述第三方授权设备接收到所述待授权设备发送的设备属性后,基于接收的设备属性生成所述目标设备信息。
43.第四方面,提供一种授权装置,包括:
44.处理模块:用于基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,生成授权文件,其中,所述子公钥信息包括子公钥,所述授权信息包括针对待授权设备的指定授权功能;
45.收发模块:用于向待授权设备发送授权文件,以使所述待授权设备接收所述授权文件,以及,若基于预存的根公钥,对所述签授权文件包含的第一签名信息验签成功,则所述待授权设备获得所述签授权文件包含的子公钥信息,以及,若基于所述子公钥,对所述授权文件包含的第二签名信息验签成功,则所述待授权设备获得所述签授权文件包含的授权信息,以及,所述待授权设备开启预存的固件程序中,与所述指定授权功能对应的程序的运行权限,其中,所述固件程序用于集成开发出的全部功能对应的程序。
46.可选的,所述收发模块还用于:
47.在基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,生成授权文件之前,接收厂商设备发送的固件程序,其中,所述固件程序中携带根公钥,所述根公钥用于对根私钥签名后的信息进行验签处理;
48.向所述待授权设备发送所述固件程序,以使所述待授权设备接收所述固件程序,
并获得所述固件程序携带的所述根公钥。
49.可选的,所述收发模块还用于:
50.在基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,生成授权文件之前,接收所述厂商设备发送的所述子公钥信息、子私钥和第一签名信息,其中,所述子公钥信息包含的所述子公钥用于对所述子私钥签名后的信息进行验签处理,所述第一签名信息是所述厂商设备基于预存的根私钥对所述子公钥信息进行签名处理获得的;
51.所述处理模块还用于:
52.基于所述子私钥,对预存的授权信息进行签名处理,获得第二签名信息。
53.第五方面,提供一种授权系统,包括如第三方面所述的授权装置和第四方面所述的授权装置。
54.第六方面,提供一种计算机设备,包括:
55.存储器,用于存储程序指令;
56.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面或如第二方面所述的方法。
57.第七方面,提供一种计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面或如第二方面所述的方法。
58.本技术实施例中,待授权设备中可以仅预存一个根公钥,在接收第三方授权设备发送的授权文件之后,可以基于该一个根公钥获得授权文件中包含的子公钥,通过密钥链的形式,简化待授权设备中需要存储的公私钥对,仅将密钥作为签名或验签的工具,而指定授权功能在第三方授权设备对待授权设备进行授权时向待授权设备发送,不需要预先对所有可能的功能分配公私钥对,不需要在待授权设备中预先存储所有公钥,降低了授权复杂度,提高了授权效率。
59.进一步的,待授权设备基于第三方授权设备设定的指定授权功能,可以在预存的固件程序中,可以开启与指定授权功能对应的程序的运行权限。所有待授权设备中可以预先存储有包括所有功能的固件程序,通过对不同程序的授权,使得待授权设备可以具备不同的功能,指定授权功能仅用于指示固件程序中需要授权的程序,不需要携带通过密钥加密后的程序,待授权设备不需要遍历每个公钥是否可以对加密后的程序进行解密,待授权设备不需要在成功解密后,将解密后的程序写入待授权设备,降低了授权复杂度,提高了授权效率。
附图说明
60.图1为本技术实施例提供的授权方法的一种原理示意图一;
61.图2为本技术实施例提供的授权方法的一种应用场景;
62.图3为本技术实施例提供的授权方法的一种流程示意图一;
63.图4为本技术实施例提供的授权方法的一种流程示意图二;
64.图5a为本技术实施例提供的授权方法的一种原理示意图二;
65.图5b为本技术实施例提供的授权方法的一种原理示意图三;
66.图6为本技术实施例提供的授权装置的一种结构示意图一;
67.图7为本技术实施例提供的授权装置的一种结构示意图二;
68.图8为本技术实施例提供的授权装置的一种结构示意图三。
具体实施方式
69.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
70.下面对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
71.(1)签名:
72.签名(又称数字签名)是由信息的发送者产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送的信息的真实性的一个有效证明。一套签名通常定义两种互补的运算,一个用于签名处理,另一个用于验证处理。
73.(2)验签:
74.验签(又称验证数字签名)是数字签名的验证过程,信息的接收者在接收到信息的发送方签名后的信息之后,对数字签名和信息进行验证处理,确定信息的真实性和完整性等。
75.下面对本技术实施例提供的授权方法的应用领域进行简单介绍。
76.随着全球化贸易进程的开展,厂商为了提高设备的生产效率,通常会在通过第三方平台代生产设备。例如,厂商可以将功能不同的设备交由不同的第三个平台来生产;又例如,厂商可以将具备的功能属于同一功能集合的设备交由同一第三个平台来生产。为了降低设备功能的开发成本,厂商可以将开发的全部功能对应的程序集成在固件程序上,各个第三方平台基于相同的固件程序,进行不同程度的授权,实现生产不同功能的设备的效果。
77.传统的授权方法是,在第三个平台中预先设置所有功能对应的私钥,在设备中预先设置所有私钥对应的公钥,第三方平台提取出固件程序中某一功能对应的程序,并通过该功能对应的私钥进行加密,将加密后的程序发送至设备,如果设备预存的公钥中存在一个公钥可以对加密后的程序进行解密,那么完成授权,将解密后的程序写入设备。
78.可见,授权过程中,不仅需要预先对所有可能的功能分配公私钥对,还需要在设备中预先存储所有公钥,设备还需要在接收加密后的程序之后,遍历每个公钥是否可以对加密后的程序进行解密,在成功解密后,还需要将解密后的程序写入设备,授权过程较为复杂,授权效率较低。
79.为了解决授权效率较低的文本,本技术提出一种授权方法。请参考图1,该方法中待授权设备在接收第三方授权设备发送的授权文件之后,如果基于预存的根公钥,对签授权文件包含的第一签名信息验签成功,那么待授权设备获得签授权文件包含的子公钥信息,其中,子公钥信息中包括子公钥。如果基于子公钥,对授权文件包含的第二签名信息验签成功,那么待授权设备获得签授权文件包含的授权信息,其中,授权信息包括指定授权功能。待授权设备开启预存的固件程序中,与指定授权功能对应的程序的运行权限,其中,固件程序用于集成开发出的全部功能对应的程序。
80.本技术实施例中,待授权设备中可以仅预存一个根公钥,在接收第三方授权设备发送的授权文件之后,可以基于该一个根公钥获得授权文件中包含的子公钥,通过密钥链的形式,简化待授权设备中需要存储的公私钥对,仅将密钥作为签名或验签的工具,而指定授权功能在第三方授权设备对待授权设备进行授权时向待授权设备发送,不需要预先对所
有可能的功能分配公私钥对,不需要在待授权设备中预先存储所有公钥,降低了授权复杂度,提高了授权效率。
81.进一步的,待授权设备基于第三方授权设备设定的指定授权功能,可以在预存的固件程序中,可以开启与指定授权功能对应的程序的运行权限。所有待授权设备中可以预先存储有包括所有功能的固件程序,通过对不同程序的授权,使得待授权设备可以具备不同的功能,指定授权功能仅用于指示固件程序中需要授权的程序,不需要携带通过密钥加密后的程序,待授权设备不需要遍历每个公钥是否可以对加密后的程序进行解密,待授权设备不需要在成功解密后,将解密后的程序写入待授权设备,降低了授权复杂度,提高了授权效率。
82.下面对本技术提供的授权方法的应用场景进行说明。
83.请参考图2,为本技术实施例提供的授权方法的一种应用场景。该应用场景中包括厂商设备端101、第三方授权设备端102和待授权设备端103。厂商设备端101和第三方授权设备端102之间可以通信,第三方授权设备端102和待授权设备端103之间可以通信,通信方式可以是采用有线通信技术进行通信,例如通过连接网线或串口线进行通信;也可以是采用无线通信技术进行通信,例如通过蓝牙或无线保真(wireless fidelity,wifi)等技术进行通信,具体不做限制。
84.厂商设备端101泛指可以开发固件程序的设备,例如,服务器、终端设备、终端设备可以访问的第三方应用程序或终端设备可以访问的网页等。例如,服务器包括云服务器或本地服务器等。例如,终端设备包括但不限于手机、电脑或平板等。第三方授权设备端102泛指可以对待授权设备进行授权的设备,例如,服务器、终端设备、终端设备可以访问的第三方应用程序或终端设备可以访问的网页等。待授权设备端103泛指可以基于开启了运行权限的程序执行相应功能的设备,例如,服务器、终端设备、终端设备可以访问的第三方应用程序或终端设备可以访问的网页等。厂商设备端101、第三方授权设备端102和待授权设备端103均可以采用云计算,以减少本地计算资源的占用;同样也可以采用云存储,以减少本地存储资源的占用。
85.作为一种实施例,厂商设备端101和第三方授权设备端102可以是同一个设备,第三方授权设备端102和待授权设备端103可以是同一个设备,厂商设备端101、第三方授权设备端102和待授权设备端103可以是同一个设备,具体不做限制。本技术实施例中,以厂商设备端101、第三方授权设备端102和待授权设备端103分别为不同的设备为例进行介绍。
86.下面基于图2,以待授权设备的角度,对本技术实施例提供的授权方法进行具体介绍,以待授权设备为待授权设备端103,第三方授权设备为第三方授权设备端102,厂商设备为厂商设备端101为例。
87.请参考图3,为本技术实施例提供的授权方法的流程示意图。
88.s301,待授权设备接收第三方授权设备发送的授权文件。
89.待授权设备中可以预存有固件程序,固件程序用于集成开发出的全部功能对应的程序。在待授权设备未被授权时,待授权设备无法启动固件程序,在待授权设备基于授权文件对固件程序中的相应程序进行了授权之后,才可以基于已授权的程序运行。从而,不需要为不同的第三方授权设备开发不同的程序,也不需要为不同的设备开发不同的程序,降低了开发成本,降低了不同程序的维护成本。
90.待授权设备预存固件程序的方式例如是,厂商设备开发完成固件程序之后,可以将固件程序发送至各个第三方授权设备,第三方授权设备在接收固件程序之后,将固件程序写入到每个生产出的待授权设备中,后文中将以第三方授权设备的角度进行具体介绍,在此不再赘述。
91.在第三方授权设备为待授权设备进行授权时,第三方授权设备可以向待授权设备发送授权文件,待授权设备可以接收第三方授权设备发送的授权文件,从而,待授权设备可以基于授权文件进行授权。
92.s302,若基于预存的根公钥,对签授权文件包含的第一签名信息验签成功,则待授权设备获得签授权文件包含的子公钥信息。
93.待授权设备在接收授权文件之后,可以基于预存的根公钥,对签授权文件包含的第一签名信息进行验签处理。待授权设备预存根公钥的方法有多种,例如,待授权设备预存的固件程序中可以携带根公钥,从而待授权设备在获得固件程序时就可以获得根公钥。又例如,第三方授权设备可以在向待授权设备进行授权时,向厂商设备获取根公钥,在接收厂商设备发送的根公钥之后,向待授权设备发送根公钥,从而待授权设备预存根公钥等,待授权设备预存根公钥的方法不作具体限制。
94.待授权设备基于预存的根公钥,对签授权文件包含的第一签名信息进行验签处理。第一签名信息是厂商设备基于预设的根私钥,对子公钥信息进行签名处理后获得的,其中,子公钥信息中包括子公钥。厂商设备在获得子私钥、子公钥信息和第一签名信息之后,向第三方授权设备发送子私钥、子公钥信息和第一签名信息,第三方授权设备接收厂商设备发送的子私钥、子公钥信息和第一签名信息,并进行后续获得授权文件的相关处理流程。
95.待授权设备在获得授权文件之后,可以根据预存的与根私钥对应的根公钥,对签授权文件包含的第一签名信息进行验签处理。如果验签成功,表明授权文件包含的子公钥信息的真实性和完整性,那么待授权设备获得授权文件包含的子公钥信息。待授权设备在获得子公钥信息之后,即获得了子公钥。如果验签失败,表明授权文件包含的子公钥信息的真实性和完整性存在问题,那么待授权设备可以向厂商设备发送消息,或通过第三方授权设备转发消息,该消息用于指示厂商设备重新发送子公钥信息和第一签名信息等;待授权设备也可以向第三方授权设备发送消息,该消息用于指示第三方授权设备重新发送授权文件等,具体不做限制。
96.作为一种实施例,子公钥信息中还可以包括可授权范围,可授权范围用于表征接收该子公钥信息的第三方授权设备可以对待授权设备进行授权的所有功能。从而,第三方授权设备可以基于厂商设备发送的子公钥信息包含的可授权范围,对待授权设备的指定授权功能进行设置。
97.s303,若基于子公钥,对授权文件包含的第二签名信息验签成功,则待授权设备获得签授权文件包含的授权信息。
98.待授权设备在获得子公钥之后,可以基于子公钥,对授权文件包含的第二签名信息进行验签处理。第二签名信息是第三方授权设备基于接收的厂商设备发送的子私钥,对第三方授权设备设置的授权信息进行签名处理获得的,其中,授权信息包括指定授权功能。
99.在待授权设备基于子公钥对第二签名信息验签成功之后,表明授权文件包含的授权信息的真实性和完整性,那么待授权设备获得授权文件包含的授权信息。待授权设备在
获得授权文件包含的授权信息之后,即获得了指定授权功能。在待授权设备基于子公钥对第二签名信息验签失败之后,表明授权文件包含的授权信息的真实性和完整性存在问题,那么待授权设备可以向第三方授权设备发送消息,该消息用于指示第三方授权设备重新向待授权设备发送授权文件;待授权设备也可以向第三方授权设备发送验签结果文件,以使第三方授权设备基于验签结果文件,确定验签失败原因,从而确定是否存在非法篡改授权文件的非法设备等,提高授权安全性。
100.作为一种实施例,授权信息中还可以包括目标设备信息,用于表征指定授权功能是针对目标设备信息对应的待授权设备的。目标设备信息可以包括待授权设备的媒体存取控制位(media access control address,mac)地址,中央处理器(central processing unit,cpu)编号或设备序列号中的一种或多种等,目标设备信息还可以是用于唯一的表征待授权设备的其他信息,本技术实施例中不做具体限制。
101.作为一种实施例,如果授权信息中还可以包括目标设备信息,那么第三方授权设备可以预先获得目标设备信息。预先获得目标设备信息的方法有多种,例如,第三方授权设备在设置指定授权功能时,根据预存的各个待授权设备的设备信息,确定目标设备信息。
102.又例如,在确定对待授权设备进行授权时,向待授权设备发送信息获取请求,其中,信息获取请求用于获取待授权设备的设备属性,如mac地址或cpu编号等。
103.待授权设备接收第三方授权设备发送的信息获取请求,并基于信息获取请求,获取自身的设备属性。信息获取请求中可以指定需要获取的设备属性,从而待授权设备在接收信息获取请求之后,可以根据信息获取请求指定的设备属性获取相应的设备属性值。信息获取请求中也可以不指定设备属性,待授权设备在接收信息获取请求之后,可以获取所有可查询的设备属性等,具体不做限制。
104.待授权设备向第三方授权设备反馈获得的设备属性,以使第三方授权设备接收到待授权设备发送的设备属性后,基于接收的设备属性生成目标设备信息。从而,第三方授权设备在向待授权设备发送授权文件时,可以通过目标设备信息,确定接收授权文件的待授权设备与接收信息获取请求的待授权设备是否是同一个设备,避免授权文件发送错误的情况。
105.s304,待授权设备开启预存的固件程序中,与指定授权功能对应的程序的运行权限。
106.待授权设备在获得指定授权功能之后,可以在预存的固件程序中,开启与指定授权功能对应的程序的运行权限,从而待授权设备可以具备指定授权功能。指定授权功能可以是一个功能,也可以是多个功能的集合,具体不做限制。指定授权功能的表示形式可以有多种,例如可以是对功能的描述信息,也可以是用于唯一的表征每个功能的功能编号,也可以是固件程序中相应程序的所在位置等,具体不做限制。
107.作为一种实施例,如果子公钥信息中还包括针对待授权设备的可授权范围,那么待授权设备在获得指定授权功能之后,可以确定指定授权功能和可授权范围是否匹配。从而,确定第三方授权设备针对待授权设备设置的指定授权功能,是否是厂商设备允许第三方授权设备授权的功能,避免了由于针对第三方授权设备的误操作造成的授权错误的问题,在一定程度上,提高了授权的准确性。也避免了非法第三方设备,恶意对待授权设备进行授权的行为,提高了授权的安全性。
108.待授权设备确定指定授权功能和可授权范围是否匹配的方法有多种,本技术中不做具体限制。例如,如果可授权范围为多个功能的集合,那么待授权设备可以确定指定授权功能是否属于可授权范围对应的集合。如果指定授权功能属于可授权范围对应的集合,那么待授权设备确定指定授权功能和可授权范围匹配。如果指定授权功能不属于可授权范围对应的集合,那么待授权设备确定指定授权功能和可授权范围不匹配。
109.又例如,如果可授权范围为功能的描述信息,那么待授权设备可以确定指定授权功能的描述信息,与可授权范围对应的描述信息之间的相似度。如果相似度大于预设阈值,那么待授权设备确定指定授权功能和可授权范围匹配。如果相似度小于或等于预设阈值,那么待授权设备确定指定授权功能和可授权范围不匹配。
110.如果待授权设备确定指定授权功能和可授权范围匹配,那么待授权设备可以在预存的固件程序中,开启与指定授权功能对应的程序的运行权限,完成对待授权设备的授权。如果待授权设备确定指定授权功能和可授权范围不匹配,那么待授权设备可以向第三方授权设备进行反馈,以使第三方授权设备重新对待授权设备进行授权,也可以输出提示信息,用于提示授权失败。
111.作为一种实施例,如果授权信息中还包括目标设备信息,那么待授权设备在获得授权信息之后,可以确定目标设备信息与自身的设备信息是否一致,从而确定授权信息中指定授权功能所针对的待授权设备,是否是接收到授权信息的这个待授权设备。从而,可以避免一些情况下,同一个第三方授权设备分别对不同的待授权设备进行不同功能的授权时,由于网络延迟或传输通道拥挤造成的授权文件下发错误,而造成的授权错误的问题,在一定程度上,提高了授权的准确性。
112.待授权设备确定目标设备信息与自身的设备信息是否一致的方法有多种,本技术实施例中不作具体限制。例如,如果目标设备信息中包括多个设备属性,如包括mac地址和cpu编号等,那么待授权设备可以确定目标设备信息中,是否存在与自身的设备信息相同的设备属性,如果目标设备信息中存在与自身的设备信息相同的设备属性,如目标设备信息中存在mac地址与自身的mac地址相同,那么待授权设备可以确定目标设备信息与自身的设备信息一致。如果待授权设备确定目标设备信息中,不存在与自身的设备信息相同的设备属性,那么待授权设备可以确定目标设备信息与自身的设备信息不一致。
113.又例如,待授权设备可以确定目标设备信息与自身的设备信息之间的相似度,如果相似度大于预设阈值,那么待授权设备可以确定目标设备信息与自身的设备信息一致。如果相似度小于或等于预设阈值,那么待授权设备可以确定目标设备信息与自身的设备信息不一致。
114.如果待授权设备确定目标设备信息与自身的设备信息一致,那么待授权设备可以在预存的固件程序中,开启与指定授权功能对应的程序的运行权限,完成对待授权设备的授权。如果待授权设备确定目标设备信息与自身的设备信息不一致,那么待授权设备可以向第三方授权设备进行反馈,以使第三方授权设备重新对待授权设备进行授权,也可以输出提示信息,用于提示授权失败。
115.下面基于图2,以第三方授权设备的角度,对本技术实施例提供的授权方法进行具体介绍。
116.请参考图4,为本技术实施例提供的授权方法的流程示意图。
117.s401,基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息生成授权文件。
118.第三方授权设备可以根据预存的子公钥信息、第一签名信息、授权信息和第二签名信息生成授权文件,例如,请参考图5a,为一种授权文件的结构示意图,子公钥信息可以包括子公钥和可授权范围,授权信息可以包括指定授权功能和目标设备信息。下面分别对子公钥信息、第一签名信息、授权信息和第二签名信息的获得过程进行示例介绍,具体不做限制。
119.厂商设备可以预先设置根公私钥对,厂商设备可以在开发出的固件程序中集成根公钥,从而,厂商设备在向第三方授权设备发送固件程序时可以将根公钥一同发送至第三方授权设备,从而,第三方授权设备在向待授权设备发送固件程序时,可以将根公钥一同发送至待授权设备,以使待授权设备接收第三方授权设备发送的固件程序,并获得固件程序和固件程序携带的根公钥。
120.厂商设备还可以预先针对每个第三方授权设备设置对应的子公私钥对。从而,根私钥可以用于对子公钥进行签名处理,子私钥用于对授权信息进行签名处理。授权信息包括针对待授权设备的指定授权功能。从而,待授权设备仅需要预存根公钥,就可以通过验签处理获得子公钥,在获得子公钥之后,就可以通过验签处理获得授权信息,即指定授权功能。
121.授权信息可以是第三方授权设备生成的,例如,第三方授权设备可以针对待授权设备设定指定授权功能,从而,第三方授权设备可以基于针对待授权设备的指定授权功能生成授权信息,第三方授权设备也可以基于针对待授权设备的指定授权功能,以及该待授权设备的目标设备信息,生成授权信息等,具体不做限制。
122.第三方授权设备获得目标设备信息的过程,可以参照前文的介绍,第三方授权设备向待授权设备发送信息获取请求,待授权设备基于接收的信息获取请求向第三方授权设备反馈设备属性,第三方授权设备基于接收的设备属性,生成目标设备信息。
123.例如,请参考图5b,厂商设备预先设置了根公私钥对,并分别针对三个第三方授权设备,即第三方授权设备a、第三方授权设备b和第三方授权设备c,设置了三个子公私钥对,即子公钥a

子私钥a、子公钥b

子私钥b和子公钥c

子私钥c。从而,厂商设备可以将根公钥集成在开发的固件程序中,将子公钥分别发送至相应的第三方授权设备。
124.厂商设备可以针对每个第三方授权设备设定可授权范围,用来表征第三方授权设备最多可以对待授权设备设置的功能。厂商设备可以将子公钥和可授权范围作为子公钥信息,也可以仅将子公钥作为子公钥信息,厂商设备采用根私钥对子公钥信息进行签名处理,获得第一签名信息。从而,在厂商设备需要修改针对某个第三方授权设备的可授权范围的时候,可以仅修改可授权范围,不需要为新的可授权范围分配新的公私钥对,也不需要在待授权设备中预先存储新的公钥,简化了重新授权时修改可授权范围的过程,提高了重新授权时的授权效率。
125.厂商设备可以将子私钥、子公钥信息和第一签名信息发送至第三方授权设备,第三方授权设备接收厂商设备发送的子私钥、子公钥信息和第一签名信息。第三方授权设备在获得子私钥、子公钥信息和第一签名信息之后,可以采用子私钥对授权信息进行签名处理,获得第二签名信息。
126.在第三方授权设备的角度,子私钥、子公钥信息和第一签名信息是由厂商设备预先设定好的,厂商设备对第三方授权设备进行了子私钥和子公钥的规定,以及可授权范围的规定,第三方授权设备可以采用同一个子私钥和子公钥,为不同的待授权设备进行可授权范围内功能的授权,不需要预先为所有可能的功能分配相应的公私钥对,也不需要在待授权设备中预先存储所有公钥,简化了授权过程,提高了授权效率。且,在第三方授权设备需要修改某一待授权设备的授权功能时,可以直接修改授权信息,重新利用授权文件对待授权设备进行授权,不需要重新为新的功能分配公私钥对,也不需要将新分配的公钥预先存储在待授权设备中,简化了重新授权时修改授权功能的过程,提高了重新授权时的授权效率。
127.s402,向待授权设备发送授权文件。
128.第三方授权设备在获得授权文件之后,可以向待授权设备发送授权文件,以使待授权设备接收授权文件,并基于授权文件进行授权,待授权设备的授权过程可以参考前文的介绍,在此不再赘述。
129.基于同一发明构思,本技术实施例提供一种授权装置,该装置相当于前文论述的待授权设备,能够实现前述的授权方法对应的功能。请参考图6,该装置包括收发模块601和处理模块602,其中:
130.收发模块601:用于接收第三方授权设备发送的授权文件;
131.处理模块602:用于若基于预存的根公钥,对签授权文件包含的第一签名信息验签成功,则获得签授权文件包含的子公钥信息,其中,子公钥信息中包括子公钥;
132.处理模块602还用于:若基于子公钥,对授权文件包含的第二签名信息验签成功,则获得签授权文件包含的授权信息,其中,授权信息包括指定授权功能;
133.处理模块602还用于:开启预存的固件程序中,与指定授权功能对应的程序的运行权限,其中,固件程序用于集成开发出的全部功能对应的程序。
134.在一种可能的实施例中,处理模块602具体用于:
135.若子公钥信息中还包括针对待授权设备的可授权范围,则确定指定授权功能和可授权范围是否匹配;
136.若指定授权功能和可授权范围匹配,则开启预存的固件程序中,与指定授权功能对应的程序的运行权限。
137.在一种可能的实施例中,处理模块602具体用于:
138.若授权信息还包括目标设备信息,则确定目标设备信息与待授权设备的设备信息是否一致;
139.若所目标设备信息与待授权设备的设备信息一致,则开启预存的固件程序中,与指定授权功能对应的程序的运行权限。
140.在一种可能的实施例中,收发模块601还用于:
141.在确定目标设备信息与待授权设备的设备信息是否一致之前,接收第三方授权设备发送的信息获取请求,其中,信息获取请求用于获取待授权设备的设备属性;
142.处理模块602还用于:基于信息获取请求,向第三方授权设备反馈获得的设备属性,以使第三方授权设备接收到待授权设备发送的设备属性后,基于接收的设备属性生成目标设备信息。
143.基于同一发明构思,本技术实施例提供一种授权装置,该装置相当于前文论述的第三方授权设备,能够实现前述的授权方法对应的功能。请参考图7,该装置包括处理模块701和收发模块702,其中:
144.处理模块701:用于基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,生成授权文件,其中,子公钥信息包括子公钥,授权信息包括针对待授权设备的指定授权功能;
145.收发模块702:用于向待授权设备发送授权文件,以使待授权设备接收授权文件,以及,若基于预存的根公钥,对签授权文件包含的第一签名信息验签成功,则待授权设备获得签授权文件包含的子公钥信息,以及,若基于子公钥,对授权文件包含的第二签名信息验签成功,则待授权设备获得签授权文件包含的授权信息,以及,待授权设备开启预存的固件程序中,与指定授权功能对应的程序的运行权限,其中,固件程序用于集成开发出的全部功能对应的程序。
146.在一种可能的实施例中,收发模块702还用于:
147.在基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,生成授权文件之前,接收厂商设备发送的固件程序,其中,固件程序中携带根公钥,根公钥用于对根私钥签名后的信息进行验签处理;
148.向待授权设备发送固件程序,以使待授权设备接收固件程序,并获得固件程序携带的根公钥。
149.在一种可能的实施例中,收发模块702还用于:
150.在基于预存的子公钥信息、第一签名信息、授权信息和第二签名信息,生成授权文件之前,接收厂商设备发送的子公钥信息、子私钥和第一签名信息,其中,子公钥信息包含的子公钥用于对子私钥签名后的信息进行验签处理,第一签名信息是厂商设备基于预存的根私钥对子公钥信息进行签名处理获得的;
151.处理模块701还用于:
152.基于子私钥,对预存的授权信息进行签名处理,获得第二签名信息。
153.基于同一发明构思,本技术实施例提供一种授权系统,包括相当于前文论述的待授权设备的授权装置和相当于前文论述的第三方授权设备的授权装置。
154.基于同一发明构思,本技术实施例提供一种计算机设备,下面对该计算机设备800进行介绍。
155.请参照图8,上述授权装置可以运行在计算机设备800上,数据存储程序的当前版本和历史版本以及数据存储程序对应的应用软件可以安装在计算机设备800上,该计算机设备800包括显示单元840、处理器880以及存储器820,其中,显示单元840包括显示面板841,用于显示由用户交互操作界面等。
156.在一种可能的实施例中,可以采用液晶显示器(liquid crystal display,lcd)或有机发光二极管oled(organic light

emitting diode)等形式来配置显示面板841。
157.处理器880用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器880读取数据存储程序或文件等,从而在该计算机设备800上运行数据存储程序,在显示单元840上显示对应的界面。处理器880可以包括一个或多个通用处理器,还可包括一个或多个dsp(digital signal processor,数字信号处理器),用于执行相关操作,以实现本技术
实施例所提供的技术方案。
158.存储器820一般包括内存和外存,内存可以为随机存储器(ram),只读存储器(rom),以及高速缓存(cache)等。外存可以为硬盘、光盘、usb盘、软盘或磁带机等。存储器820用于存储计算机程序和其他数据,该计算机程序包括各客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本技术实施例中程序指令存储在存储器820中,处理器880执行存储其中820中的程序指令,实现前文图论述的任意的一种授权方法。
159.上述显示单元840用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与计算机设备800的用户设置以及功能控制有关的信号输入等。具体地,本技术实施例中,该显示单元840可以包括显示面板841。显示面板841例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板841上或在显示面板841的操作),并根据预先设定的程式驱动相应的连接装置。
160.在一种可能的实施例中,显示面板841可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。
161.其中,显示面板841可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元840,计算机设备800还可以包括输入单元830,输入单元830可以包括图形输入设备831和其他输入设备832,其中其他输入设备可以但不限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
162.除以上之外,计算机设备800还可以包括用于给其他模块供电的电源890、音频电路860、近场通信模块870和rf电路810。计算机设备800还可以包括一个或多个传感器850,例如加速度传感器、光传感器、压力传感器等。音频电路860具体包括扬声器861和麦克风862等,例如计算机设备800可以通过麦克风862采集用户的声音,进行相应的操作等。
163.作为一种实施例,处理器880的数量可以是一个或多个,处理器880和存储器820可以是耦合设置,也可以是相对独立设置。
164.作为一种实施例,图8中的处理器880可以用于实现如图6中的收发模块601和处理模块602的功能,也可以用于实现如图7中的处理模块701和收发模块702的功能。
165.作为一种实施例,图8中的处理器880可以用于实现前文论述的待授权设备对应的功能或第三方授权设备对应的功能。
166.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
167.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以
是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
168.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
转载请注明原文地址:https://win.8miu.com/read-50070.html

最新回复(0)