CN115001749B - 设备授权方法、装置、设备及介质 - Google Patents

设备授权方法、装置、设备及介质 Download PDF

Info

Publication number
CN115001749B
CN115001749B CN202210481726.6A CN202210481726A CN115001749B CN 115001749 B CN115001749 B CN 115001749B CN 202210481726 A CN202210481726 A CN 202210481726A CN 115001749 B CN115001749 B CN 115001749B
Authority
CN
China
Prior art keywords
data information
authentication
server
information
authorization
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
Application number
CN202210481726.6A
Other languages
English (en)
Other versions
CN115001749A (zh
Inventor
李新文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ThunderSoft Co Ltd
Original Assignee
ThunderSoft Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ThunderSoft Co Ltd filed Critical ThunderSoft Co Ltd
Priority to CN202210481726.6A priority Critical patent/CN115001749B/zh
Publication of CN115001749A publication Critical patent/CN115001749A/zh
Application granted granted Critical
Publication of CN115001749B publication Critical patent/CN115001749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种设备授权方法、装置、设备及介质,该方法包括:在服务器认证通过的情况下,向服务器上报包括Mac地址、第一随机数和加密的第一目标值的第一数据信息,第一目标值基于第一认证次数确定;接收服务器反馈的加密的第二数据信息并进行解密,第二数据信息在服务器确定第一认证次数与第二认证次数相同时基于第一授权信息生成,根据第三数据信息和第二数据信息,检测第二授权信息和第一授权信息是否相同,第三数据信息基于第二授权信息生成;在第二授权信息与第一授权信息相同的情况下,确定获取算法程序的运行权限,并更新第一认证次数、向服务器发送更新第二认证次数的更新指示。本申请可准确的对终端设备进行授权认证。

Description

设备授权方法、装置、设备及介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种设备授权方法、装置、设备及介质。
背景技术
在将算法程序部署在设备上时,为了保护算法开发者的权益,防止算法程序在未授权的设备上运行,需要对设备进行授权认证。
目前,在对设备进行授权认证时,主要包括以下两种方式:
1、通过设备的身份标识(Identity document,ID)对设备进行授权认证。
2、采用加密狗方式进行设备授权认证,即,在设备上***类似U盘一样的加密狗,通过算法程序与加密狗通信等方式对设备进行授权验证,由于算法程序只能在有加密狗的设备上运行,通过控制发放的加密狗的数量从而达到防止算法程序在非授权设备上运行的目的。
针对第一种认证方式而言,若无法获取设备ID,易出现通过打包镜像的方式在非授权设备上应用算法程序的情况,此时无法对设备进行准确的授权认证,影响算法开发者的权益。
针对第二种认证方式而言,由于需要新增硬件,在设备数量较多时会大量增加成本,且市场上主流的加密狗设备,可通过硬件克隆或者复制等方式进行破解,导致算法程序在非授权设备上运行,此时也无法对设备进行准确的授权认证,影响算法开发者的权益。
由此可见,现有技术中,对设备进行授权认证的方式存在无法准确的授权认证以及增加授权认证成本的弊端。
发明内容
本申请实施例提供一种设备授权方法、装置、设备及介质,以解决现有技术中对设备进行授权认证时存在的无法准确的授权认证以及增加授权认证成本的问题。
第一方面,本申请实施例提供一种设备授权方法,应用于部署算法程序的终端设备,包括:
在服务器认证通过的情况下,向所述服务器上报第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,所述第二数据信息在所述服务器确定所述第一认证次数与第二认证次数相同时,基于所述服务器存储的与所述终端设备关联的第一授权信息生成,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数,所述服务器基于所述第一数据信息确定所述第一认证次数与所述第二认证次数是否相同;
根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成;
在所述第二授权信息与所述第一授权信息相同的情况下,确定获取所述算法程序的运行权限,并更新所述第一认证次数、向所述服务器发送更新所述第二认证次数的更新指示。
第二方面,本申请实施例提供一种设备授权方法,应用于服务器,包括:
在终端设备对所述服务器认证且认证通过的情况下,接收所述终端设备上报的第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数;
在所述第一认证次数与所述第二认证次数相同的情况下,基于存储的与所述终端设备关联的第一授权信息生成第二数据信息、对所述第二数据信息加密后发送至所述终端设备;
在所述终端设备基于第三数据信息和解密后的所述第二数据信息确定第二授权信息和所述第一授权信息相同的情况下,接收所述终端设备发送的更新所述第二认证次数的更新指示,并更新所述第二认证次数;
其中,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成,在所述第二授权信息与所述第一授权信息相同的情况下,部署算法程序的所述终端设备获取所述算法程序的运行权限。
第三方面,本申请实施例提供一种设备授权装置,应用于部署算法程序的终端设备,包括:
第一上报模块,用于在服务器认证通过的情况下,向所述服务器上报第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
接收解密模块,用于接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,所述第二数据信息在所述服务器确定所述第一认证次数与第二认证次数相同时,基于所述服务器存储的与所述终端设备关联的第一授权信息生成,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数,所述服务器基于所述第一数据信息确定所述第一认证次数与所述第二认证次数是否相同;
第一检测模块,用于根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成;
第一处理模块,用于在所述第二授权信息与所述第一授权信息相同的情况下,确定获取所述算法程序的运行权限,并更新所述第一认证次数、向所述服务器发送更新所述第二认证次数的更新指示。
第四方面,本申请实施例提供一种设备授权装置,应用于服务器,包括:
第一接收模块,用于在终端设备对所述服务器认证且认证通过的情况下,接收所述终端设备上报的第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
第二检测模块,用于根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数;
生成发送模块,用于在所述第一认证次数与所述第二认证次数相同的情况下,基于存储的与所述终端设备关联的第一授权信息生成第二数据信息、对所述第二数据信息加密后发送至所述终端设备;
接收更新模块,用于在所述终端设备基于第三数据信息和解密后的所述第二数据信息确定第二授权信息和所述第一授权信息相同的情况下,接收所述终端设备发送的更新所述第二认证次数的更新指示,并更新所述第二认证次数;
其中,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成,在所述第二授权信息与所述第一授权信息相同的情况下,部署算法程序的所述终端设备获取所述算法程序的运行权限。
第五方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面或者第二方面所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面或者第二方面所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述第一方面或者第二方面所述的方法。
本申请实施例的技术方案,在服务器认证通过的情况下,向服务器上报第一数据信息,由服务器基于第一数据信息确定终端设备存储的第一认证次数与服务器存储的第二认证次数相同时、基于第一授权信息生成第二数据信息,并加密后反馈至终端设备,终端设备根据第二数据信息和基于第二授权信息生成的第三数据信息,检测第一授权信息和第二授权信息是否相同,在二者相同的情况下,确定终端设备的授权认证通过、终端设备获取算法程序的运行权限,并更新第一认证次数、向服务器发送更新指示,可以基于认证次数以及授权信息确定算法程序是否可在终端设备上正常运行,实现准确的对部署算法程序的终端设备进行授权认证,且由于无需增加硬件可以节约授权认证成本。
进一步而言,通过对第一目标值和第二数据信息进行加密,可以防止数据被非法篡改,保证数据的安全性,进而可以保证授权认证的正常进行,且可以保证准确的对终端设备进行授权认证。
附图说明
图1表示本申请实施例提供的终端设备侧的设备授权方法示意图;
图2表示本申请实施例提供的服务器侧的设备授权方法示意图;
图3表示本申请实施例提供的服务器与终端设备交互流程的示意图;
图4表示本申请实施例提供的终端设备侧的设备授权装置示意图;
图5表示本申请实施例提供的服务器侧的设备授权装置示意图;
图6是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
针对现有技术中在对部署算法程序的设备进行授权认证时,存在的无法准确的授权认证、授权认证成本高的弊端,本申请提供了一种设备授权方法,通过比较终端设备和服务器的认证次数,来决定终端设备上所部署的算法程序是否可以正常运行,以避免出现通过克隆镜像在非授权设备上运行算法程序的情况,保证算法开发者的权益,同时可以节约授权认证成本。
下面对本申请实施例提供的设备授权方法进行介绍,该方法应用于部署算法程序的终端设备,参见图1所示,该方法包括:
步骤101、在服务器认证通过的情况下,向所述服务器上报第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定。
本申请实施例提供的设备授权方法,首先由终端设备对服务器进行认证,在认证通过的情况下,由服务器对终端设备进行认证,以实现双向认证,服务器对终端设备的认证为对终端设备运行算法程序的授权认证。
下面针对服务器对终端设备认证的情况进行介绍,终端设备基于与服务器之间的通信,向服务器上报包括终端设备的媒体访问控制(Media Access Control,Mac)地址、第一随机数以及经过加密的第一目标值的第一数据信息。其中,第一目标值基于Mac地址、第一随机数以及终端设备存储的对终端设备认证对应的第一认证次数确定,且第一随机数为终端设备随机选取的数值,终端设备在确定第一目标值之后,对第一目标值进行加密处理,根据Mac地址、第一随机数以及经过加密的第一目标值确定第一数据信息,然后向服务器上报第一数据信息。其中,通过对第一目标值进行加密处理,可以防止第一目标值被篡改,以保证第一目标值的安全性。
步骤102、接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,所述第二数据信息在所述服务器确定所述第一认证次数与第二认证次数相同时,基于所述服务器存储的与所述终端设备关联的第一授权信息生成,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数,所述服务器基于所述第一数据信息确定所述第一认证次数与所述第二认证次数是否相同。
终端设备在向服务器上报第一数据信息之后,由于第一数据信息包括经过加密的第一目标值,第一目标值基于Mac地址、第一随机数以及第一认证次数确定,可以由服务器根据第一数据信息检测第一认证次数与服务器存储的与当前终端设备关联的第二认证次数是否相同。针对服务器而言,会记录每个终端设备对应的认证次数。
在第一认证次数与第二认证次数相同时,服务器生成第二数据信息,并对第二数据信息加密处理后反馈至终端设备,其中第二数据信息基于服务器存储的与终端设备(当前终端设备)关联的第一授权信息生成,第一授权信息为服务器存储的当前终端设备对应的授权字符串,具体为设备授权码。终端设备接收服务器反馈的经过加密的第二数据信息,对经过加密的第二数据信息进行解密,获取第二数据信息。通过对第二数据信息进行加密处理,可以防止第二数据信息被篡改。
步骤103、根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成。
终端设备可以基于终端设备关联的第二授权信息生成第三数据信息,第二授权信息为终端设备的授权字符串,具体为设备授权码。其中,第三数据信息与第二数据信息基于相同的策略生成,且第二数据信息对应的生成参数包括第一授权信息以及目标参数、第三数据信息对应的生成参数包括第二授权信息以及目标参数。第三数据信息可以预先生成,也可以在获取第二数据信息后生成。
在获取第二数据信息以及第三数据信息之后,由于第二数据信息对应的生成参数包括第一授权信息以及目标参数、第三数据信息对应的生成参数包括第二授权信息以及目标参数,可以根据第三数据信息和第二数据信息,检测第二授权信息和第一授权信息是否相同。
步骤104、在所述第二授权信息与所述第一授权信息相同的情况下,确定获取所述算法程序的运行权限,并更新所述第一认证次数、向所述服务器发送更新所述第二认证次数的更新指示。
在第二授权信息与第一授权信息相同的情况下,确定终端设备的授权认证通过,终端设备获取算法程序的运行权限,可以执行算法程序。且在第二授权信息与第一授权信息相同的情况下,终端设备完成一次认证,在第一认证次数的基础上加1,以更新第一认证次数。终端设备需要向服务器发送更新第二认证次数的更新指示,以使得服务器可以根据更新指示,在第二认证次数的基础上加1,以更新第二认证次数。
本申请上述实施过程,在服务器认证通过的情况下,向服务器上报第一数据信息,由服务器基于第一数据信息确定终端设备存储的第一认证次数与服务器存储的第二认证次数相同时、基于第一授权信息生成第二数据信息,并加密后反馈至终端设备,终端设备根据第二数据信息和基于第二授权信息生成的第三数据信息,检测第一授权信息和第二授权信息是否相同,在二者相同的情况下,确定终端设备的授权认证通过、终端设备获取算法程序的运行权限,并更新第一认证次数、向服务器发送更新指示,可以基于认证次数以及授权信息确定算法程序是否可在终端设备上正常运行,实现准确的对部署算法程序的终端设备进行授权认证,且由于无需增加硬件可以节约授权认证成本。
进一步而言,通过对第一目标值和第二数据信息进行加密,可以防止数据被非法篡改,保证数据的安全性,进而可以保证授权认证的正常进行,且可以保证准确的对终端设备进行授权认证。
下面对终端设备对服务器认证的过程进行介绍,该方法还包括:接收所述服务器发送的经第一私钥加密的请求信息;根据预制证书中的第一公钥对加密后的请求信息进行解密;在解密成功的情况下,确定所述服务器认证通过,并向所述服务器反馈携带认证通过通知的响应信息。
终端设备存储有预制证书,预制证书中至少包括第一公钥、证书有效期以及证书颁发者。在终端设备对服务器进行认证时,接收服务器发送的经第一私钥加密的请求信息,服务器所发送的请求信息可以为HTTP请求或者HTTPS请求。
在接收到服务器发送的经第一私钥加密的请求信息之后,利用预制证书中的第一公钥对加密后的请求信息进行解密,在解密成功的情况下,可以获取请求信息,此时确定第一公钥和第一私钥为公私钥对、服务器认证通过,可以向服务器反馈携带认证通过通知的响应信息。在解密不成功的情况下,确定服务器认证未通过,此时,可以向服务器反馈携带认证不通过通知的响应信息。响应信息可以为HTTP响应或者HTTPS响应。通过向服务器发送认证通过或者认证不通过的通知,可以便于服务器及时了解终端设备对服务器的认证情况。
上述实施过程,通过接收服务器发送的经第一私钥加密的请求信息,利用预制证书中的第一公钥对其进行解密,在解密成功的情况下,确定服务器认证通过,向服务器反馈携带认证通过通知的响应信息,在解密未成功的情况下,确定服务器认证未通过,向服务器反馈携带认证未通过通知的响应信息,可以基于解密情况进行服务器认证,并向服务器反馈对应的通知。
其中,步骤101向所述服务器上报第一数据信息,包括:
基于所述Mac地址、所述第一随机数以及所述第一认证次数,采用第一目标计算策略确定所述第一目标值;
采用第二私钥对所述第一目标值进行加密;
根据所述Mac地址、所述第一随机数以及经过加密的第一目标值确定所述第一数据信息,将所述第一数据信息上报至所述服务器。
终端设备在向服务器上报第一数据信息时,需要基于Mac地址、第一随机数以及第一认证次数,采用第一目标计算策略确定第一目标值,第一目标计算策略可以为安全散列算法(Secure Hash Algorithm,SHA),如SHA128算法、SHA256算法、SHA512算法,本实施例中以SHA256算法为例进行阐述,通过SHA256算法对Mac地址、第一随机数以及第一认证次数进行计算,得到的SHA256值为第一目标值。
在获取第一目标值之后,利用第二私钥对第一目标值进行加密处理,然后根据Mac地址、第一随机数以及经过加密的第一目标值确定第一数据信息,将第一数据信息上报至服务器。需要说明的是,通过对第一目标值进行加密,可以对第一认证次数进行保护,避免非授权设备篡改第一目标值或者盗用第一目标值。
通过基于第一目标计算策略生成第一目标值,对第一目标值进行加密处理后,基于Mac地址、第一随机数以及经过加密的第一目标值确定第一数据信息,可以便于服务器基于第一数据信息验证第一认证次数与服务器存储的第二认证次数是否相同。
其中,所述第二数据信息经第二公钥加密,所述终端设备存储有所述第二公钥对应的第二私钥;
所述接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,包括:
在接收到经过所述第二公钥加密的第二数据信息时,基于所述第二私钥进行解密,获取所述第二数据信息。
服务器采用第二公钥对第二数据信息进行加密,终端设备存储有与第二公钥对应的第二私钥,终端设备在接收服务器反馈的经过加密的第二数据信息并进行解密时,具体为:接收服务器反馈的经第二公钥加密的第二数据信息,然后基于第二私钥对加密的第二数据信息进行解密处理,以获取第二数据信息。
其中,第二公钥与第二私钥为公私钥对,且第二公钥由终端设备上报至服务器,具体为:终端设备在向服务器上报第一数据信息之前,还包括:
向所述服务器上报所述终端设备的MAC地址和所述终端设备对应的第二公钥,所述第二公钥与所述第二私钥配合形成公私钥对;
所述MAC地址与所述第二公钥形成关联关系,在所述第二私钥用于加密时、所述第二公钥用于解密,在所述第二私钥用于解密时、所述第二公钥用于加密。
终端设备获取公私钥对(第二公钥和第二私钥)之后,将第二私钥保留,第二公钥上报至服务器,终端设备也需要将MAC地址上报至服务器,且终端设备上报的MAC地址和第二公钥形成关联关系。其中,本实施例中的公私钥对可以为非对称加密算法(RivestShamir Adleman,RSA)公私钥对,即,第二公钥为RSA公钥、第二私钥为RSA私钥,也可以为ECC椭圆加密算法公私钥对。
服务器在基于终端设备上报的第一数据信息确定第一认证次数与服务器存储的第二认证次数相同时,生成第二数据信息,基于终端设备的MAC地址确定对应的第二公钥,基于所确定的第二公钥对第二数据信息进行加密处理,向终端设备反馈经过第二公钥加密的第二数据信息。终端设备基于第二私钥对加密后的第二数据信息进行解密获取第二数据信息,此时,第二公钥用于加密、第二私钥用于解密。
终端设备在生成第一目标值之后,利用第二私钥对第一目标值进行加密,根据Mac地址、第一随机数以及加密后的第一目标值确定第一数据信息,并上报至服务器。服务器在获取第一数据信息之后,基于Mac地址、第一随机数以及服务器存储的第二认证次数,采用第一目标计算策略确定第二目标值,利用第二公钥对加密的第一目标值进行解密,获取第一目标值,此时,第二公钥用于解密、第二私钥用于加密。然后比较第一目标值和第二目标值,在第一目标值和第二目标值相等时,确定第一认证次数与第二认证次数相同。由于第一目标值基于Mac地址、第一随机数以及第一认证次数确定,第二目标值基于Mac地址、第一随机数以及第二认证次数确定,且确定方式相同,因此,在第一目标值和第二目标值相等时,确定第一认证次数与第二认证次数相同。且服务器基于第一数据信息可以获取第一目标值,因此可以基于第一数据信息验证第一认证次数与第二认证次数是否相同。
本申请上述实施过程,通过向服务器上报MAC地址以及第二公钥,可以在上传包括Mac地址、第一随机数以及采用第二私钥加密后的第一目标值的第一数据信息之后,由服务器基于第二公钥进行解密获取第一目标值,以保护第一目标值;服务器在生成第二数据信息之后,可以基于第二公钥进行加密并反馈至终端设备,终端设备基于第二私钥进行解密获取第二数据信息,以保护第二数据信息;通过进行数据加密可以避免数据被非法篡改,保证数据的安全性。
其中,步骤103根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,包括:
检测所述第三数据信息和所述第二数据信息是否相同,所述第二数据信息根据所述Mac地址、所述第一随机数以及所述第一授权信息生成,所述第三数据信息根据所述Mac地址、所述第一随机数以及所述第二授权信息生成,且所述第二数据信息与所述第三数据信息均对应于第二目标计算策略;
在所述第三数据信息和所述第二数据信息相同的情况下,确定所述第二授权信息和所述第一授权信息相同。
终端设备在获取服务器反馈的加密后的第二数据信息,并进行解密获取第二数据信息之后,需要基于第三数据信息和第二数据信息检测第二授权信息和第一授权信息是否相同。
其中,第二数据信息由服务器基于Mac地址、第一随机数以及服务器存储的与终端设备关联的第一授权信息,采用第二目标计算策略生成;第三数据信息由终端设备基于Mac地址、第一随机数以及终端设备存储的终端设备关联的第二授权信息,采用第二目标计算策略生成。第三数据信息可以预先生成,也可以在终端设备获取第二数据信息后生成。本申请实施例中第二目标计算策略为SHA算法,如SHA128算法、SHA256算法、SHA512算法,本实施例中以SHA256算法为例进行阐述,通过SHA256算法对Mac地址、第一随机数以及第一授权信息进行计算,得到的SHA256值为第二数据信息,通过SHA256算法对Mac地址、第一随机数以及第二授权信息进行计算,得到的SHA256值为第三数据信息。
由于第二数据信息与第三数据信息对应于相同的计算策略,第二数据信息对应的生成参数包括第一授权信息以及目标参数(Mac地址和第一随机数)、第三数据信息对应的生成参数包括第二授权信息以及目标参数(Mac地址和第一随机数),可以根据第三数据信息和第二数据信息,检测第二授权信息和第一授权信息是否相同。在第三数据信息和第二数据信息相同的情况下,确定第二授权信息和第一授权信息相同。
上述实施过程,终端设备通过比较服务器反馈的第二数据信息和终端设备生成的第三数据信息,确定第一授权信息与第二授权信息是否相同,可以通过简便的方式进行授权信息的检验。
可选地,所述算法程序至少包括主程序文件、加密的模型文件以及至少一个库文件;在所述算法程序运行且调用所述模型文件时,还包括:基于图形处理器GPU对加密的模型文件进行解密,以基于所述模型文件获取模型输入信息对应的模型输出结果;在所述算法程序运行且所述主程序文件调用目标库文件时,还包括:对所述目标库文件进行校验,并在校验通过的情况下允许正常调用所述目标库文件。
本申请实施例中的算法程序至少包括主程序文件、加密的模型文件以及至少一个库文件。其中模型文件可以采用高级加密标准(Advanced Encryption Standard,AES)进行加密,以防止模型文件被用于其他项目。
在算法程序运行且调用模型文件时,图形处理器(Graphics Processing Unit,GPU)对加密的模型文件进行解密,在完成解密之后,利用模型文件对模型输入信息进行处理,获取模型输出结果,实现在无需使用模型文件时对其进行加密保护,在需要使用模型文件时基于GPU对其进行快速解密,以基于模型文件获取模型输出结果。
下面以模型文件对应于检测反光衣是否穿戴规范的检测模型为例,简述基于模型训练确定模型文件、基于模型文件获取模型输出结果的过程。在模型训练时,采集大量工地等现场作业中正确穿戴反光衣、不规范穿戴反光衣、不穿戴反光衣的图片,作为正负样本,通过yolov5算法进行模型训练,得到检测模型(对应于模型文件)。其中(You Only LookOnce,yolo)算法为深度学习算法。通过检测模型可以区分正确穿戴反光衣、不规范穿戴反光衣、不穿戴反光衣的情况。终端设备在调用模型文件时,利用模型文件对施工工人在工地现场施工的图像进行检测,以识别出工人是否规范穿戴反光衣。
在算法程序运行且主程序文件调用目标库文件时,需要对目标库文件进行校验,在校验通过的情况下允许正常调用目标库文件。在对目标库文件进行校验时,将第一参数以及基于第一参数和第一字符确定的第二参数写入目标库文件的初始化函数中,其中第一字符为与目标库文件约定的字符。第一参数可以为明文的库名称+第二随机数,第二参数可以为基于第一参数和第一字符采用特定算法确定,如第二参数为基于SHA256算法对第一参数和第一字符进行计算所确定的SHA256值。由于第一参数和第二参数已写入目标库文件的初始化函数中,目标库文件可以依据第一参数和存储的第二字符采用相同的计算方法计算第三参数,在第三参数与第二参数相同的情况下,确定第二字符与第一字符相同,进而确定校验通过,此时可以正常调用目标库文件。
上述实施过程,在无需使用模型文件时对其进行加密保护,在需要使用模型文件时基于GPU对其进行快速解密,可以在防止模型文件被用于其他项目的同时、基于模型文件快速获取模型输出结果;通过对目标库文件进行验证,可以对目标库文件进行保护。
以上为本申请实施例终端设备侧的设备授权方法,在服务器认证通过的情况下,向服务器上报第一数据信息,由服务器基于第一数据信息确定终端设备存储的第一认证次数与服务器存储的第二认证次数相同时、基于第一授权信息生成第二数据信息,并加密后反馈至终端设备,终端设备根据第二数据信息和基于第二授权信息生成的第三数据信息,检测第一授权信息和第二授权信息是否相同,在二者相同的情况下,确定终端设备的授权认证通过、终端设备获取算法程序的运行权限,并更新第一认证次数、向服务器发送更新指示,可以基于认证次数以及授权信息确定算法程序是否可在终端设备上正常运行,实现准确的对部署算法程序的终端设备进行授权认证,且由于无需增加硬件可以节约授权认证成本。
进一步地,通过对第一目标值和第二数据信息进行加密,可以防止数据被非法篡改,保证数据的安全性,进而可以保证授权认证的正常进行,且可以保证准确的对终端设备进行授权认证。
通过基于解密是否成功进行服务器认证,可以快速地实现服务器的认证;通过比较第二数据信息和第三数据信息,确定第一授权信息与第二授权信息是否相同,可以基于简便的方式进行授权信息的检验;通过加密模型文件、对目标库文件进行验证,可以实现对模型文件、目标库文件进行保护。
本申请实施例还提供一种设备授权方法,应用于服务器,参见图2所示,包括:
步骤201、在终端设备对所述服务器认证且认证通过的情况下,接收所述终端设备上报的第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定。
本申请实施例提供的设备授权方法,在终端设备对服务器进行认证且认证通过后,服务器对终端设备进行认证,以实现双向认证,服务器对终端设备的认证为对终端设备运行算法程序的授权认证。
下面针对服务器对终端设备认证的情况进行介绍,服务器基于与终端设备的通信,接收终端设备上报的包括终端设备的Mac地址、第一随机数以及经过加密的第一目标值的第一数据信息。其中,第一目标值基于Mac地址、第一随机数以及终端设备存储的第一认证次数确定,且第一随机数为终端设备随机选取的数值,终端设备在确定第一目标值之后,对第一目标值进行加密处理,根据Mac地址、第一随机数以及经过加密的第一目标值确定第一数据信息。其中,通过对第一目标值进行加密处理,可以防止第一目标值被篡改,以保证第一目标值的安全性。
步骤202、根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数。
服务器会记录每个终端设备对应的认证次数,由于第一目标值基于Mac地址、第一随机数以及第一认证次数确定,第一数据信息包括经过加密的第一目标值,服务器在接收终端设备上报的第一数据信息之后,可以根据第一数据信息检测第一认证次数与服务器存储的与当前终端设备关联的第二认证次数是否相同。
步骤203、在所述第一认证次数与所述第二认证次数相同的情况下,基于存储的与所述终端设备关联的第一授权信息生成第二数据信息、对所述第二数据信息加密后发送至所述终端设备。
在第一认证次数与第二认证次数相同时,服务器生成第二数据信息,并对第二数据信息加密处理后反馈至终端设备,其中第二数据信息基于服务器存储的与终端设备(当前终端设备)关联的第一授权信息生成,第一授权信息为服务器存储的终端设备对应的授权字符串,具体为设备授权码。终端设备接收服务器反馈的经过加密的第二数据信息后进行解密处理,以获取第二数据信息。通过对第二数据信息进行加密处理,可以防止第二数据信息被篡改。
步骤204、在所述终端设备基于第三数据信息和解密后的所述第二数据信息确定第二授权信息和所述第一授权信息相同的情况下,接收所述终端设备发送的更新所述第二认证次数的更新指示,并更新所述第二认证次数;其中,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成。
服务器向终端设备发送加密后的第二数据信息之后,终端设备对其进行解密获取第二数据信息,并根据第二数据信息和第三数据信息确定第一授权信息和第二授权信息是否相同。其中,第二授权信息为终端设备存储的终端设备的授权字符串,具体为设备授权码。第三数据信息与第二数据信息基于相同的策略生成,且第二数据信息对应的生成参数包括第一授权信息以及目标参数、第三数据信息对应的生成参数包括第二授权信息以及目标参数。第三数据信息可以预先生成,也可以在获取第二数据信息后生成。
在第二授权信息与第一授权信息相同的情况下,确定部署算法程序的终端设备的授权认证通过,终端设备获取算法程序的运行权限,且在第二授权信息与第一授权信息相同的情况下,终端设备完成一次认证,在第一认证次数的基础上加1,以更新第一认证次数,服务器接收终端设备发送的更新第二认证次数的更新指示,根据更新指示,在第二认证次数的基础上加1,实现更新第二认证次数。
本申请上述实施过程,在服务器认证通过的情况下,接收终端设备上报的第一数据信息,基于第一数据信息确定第一认证次数与第二认证次数相同时,基于第一授权信息生成第二数据信息,并加密后反馈至终端设备,使得终端设备根据第二数据信息和基于第二授权信息生成的第三数据信息,检测第一授权信息和第二授权信息是否相同,在二者相同的情况下,确定终端设备的授权认证通过,并更新第一认证次数、向服务器发送更新指示,服务器根据更新指示更新第二认证次数,可以基于认证次数以及授权信息确定算法程序是否可在终端设备上正常运行,实现准确的对部署算法程序的终端设备进行授权认证,且由于无需增加硬件可以节约授权认证成本。
进一步而言,通过对第一目标值和第二数据信息进行加密,可以防止数据被非法篡改,保证数据的安全性,进而可以保证授权认证的正常进行,且可以保证准确的对终端设备进行授权认证。
下面对终端设备对服务器认证的过程进行介绍,该方法还包括:向所述终端设备发送经第一私钥加密的请求信息;在所述终端设备根据预制证书中的第一公钥对加密后的请求信息解密成功的情况下,接收所述终端设备反馈的携带认证通过通知的响应信息,确定所述服务器认证通过。
终端设备存储有预制证书,预制证书中至少包括第一公钥、证书有效期以及证书颁发者。在终端设备对服务器进行认证时,服务器向终端设备发送经第一私钥加密的请求信息,请求信息可以为HTTP请求或者HTTPS请求。
终端设备在接收到服务器发送的经第一私钥加密的请求信息之后,利用预制证书中的第一公钥对加密后的请求信息进行解密,在解密成功的情况下,可以获取请求信息,此时确定第一公钥和第一私钥为公私钥对、服务器认证通过,服务器接收终端设备反馈的携带认证通过通知的响应信息。在解密不成功的情况下,确定服务器认证未通过,服务器接收终端设备反馈的携带认证不通过通知的响应信息。响应信息可以为HTTP响应或者HTTPS响应。通过接收终端设备发送的认证通过或者认证不通过的通知,可以及时了解认证情况。
上述实施过程,在终端设备基于第一公钥对加密的请求信息解密成功的情况下,确定服务器认证通过,服务器接收携带认证通过通知的响应信息,在解密未成功的情况下,确定服务器认证未通过,服务器接收携带认证未通过通知的响应信息,可以实现基于解密情况进行服务器认证。
其中,步骤202根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,包括:
基于所述Mac地址、所述第一随机数和所述第二认证次数,采用第一目标计算策略确定第二目标值;
利用第二公钥对经过密的第一目标值进行解密,获取所述第一目标值;
在所述第一目标值与所述第二目标值相同的情况下,确定所述第一认证次数与所述第二认证次数相同;
其中,经过加密的第一目标值对应的加密密钥为第二私钥,所述第二公钥与所述第二私钥对应。
服务器在获取第一数据信息之后,基于Mac地址、第一随机数以及服务器存储的第二认证次数,采用第一目标计算策略确定第二目标值。其中加密后的第一目标值对应的加密密钥为第二私钥,第二公钥与第二私钥形成公私钥对,服务器利用第二公钥对加密的第一目标值进行解密,获取第一目标值。然后比较第一目标值和第二目标值,由于第二目标值基于Mac地址、第一随机数和第二认证次数,采用第一目标计算策略确定,第一目标值基于Mac地址、第一随机数和第一认证次数,采用第一目标计算策略确定,在第一目标值和第二目标值相同时,确定第一认证次数与第二认证次数相同。
通过确定第二目标值,将第二目标值与第一目标值比较,在两者相同时确定第一认证次数与第二认证次数相同,可以基于简便的方式进行认证次数的检验。
其中,所述对所述第二数据信息加密后发送至所述终端设备,包括:
基于第二公钥对所述第二数据信息进行加密,并将加密后的所述第二数据信息发送至所述终端设备。
服务器在生成第二数据信息,将第二数据信息加密发送至终端设备时,通过第二公钥对第二数据信息进行加密,并将加密后的第二数据信息发送至终端设备,使得终端设备基于存储的第二私钥进行解密,以获取第二数据信息。
服务器在生成第二数据信息时,基于所述Mac地址、所述第一随机数以及所述第一授权信息,采用第二目标计算策略生成,具体为:服务器基于Mac地址、第一随机数以及服务器存储的与终端设备关联的第一授权信息,采用第二目标计算策略生成第二数据信息。第二目标计算策略可以为SHA算法,如SHA256算法、SHA128算法、SHA512算法,本申请实施例中可以以SHA256算法为例进行说明,即,通过SHA256算法对Mac地址、第一随机数以及第一授权信息进行计算,得到的SHA256值为第二数据信息。其中,第二目标计算策略与第一目标计算策略可以相同,也可以不同,两种策略均属于SHA系列的算法,如第一目标计算策略与第二目标计算策略均为SHA256算法,或者,第一目标计算策略为SHA256算法、第二目标计算策略为SHA512算法。
针对上述实施过程,在接收所述终端设备上报的第一数据信息之前,还包括:
接收所述终端设备上报的所述MAC地址和所述终端设备对应的第二公钥,所述第二公钥与第二私钥配合形成公私钥对;
其中,所述MAC地址与所述第二公钥形成关联关系,在所述第二私钥用于加密时、所述第二公钥用于解密,在所述第二私钥用于解密时、所述第二公钥用于加密。
终端设备可以获取公私钥对(第二公钥和第二私钥),服务器接收终端设备上报的第二公钥以及MAC地址,建立MAC地址和第二公钥的关联关系,第二私钥在终端设备保留。其中,本实施例中的公私钥对可以为RSA公私钥对,即,第二公钥为RSA公钥、第二私钥为RSA私钥,也可以为ECC椭圆加密算法公私钥对。
服务器在基于终端设备上报的第一数据信息确定第一认证次数与服务器存储的第二认证次数相同时,生成第二数据信息,基于终端设备的MAC地址确定对应的第二公钥,根据第二公钥对第二数据信息进行加密处理,向终端设备反馈经过第二公钥加密的第二数据信息。终端设备可以基于第二私钥对加密后的第二数据信息进行解密获取第二数据信息,此时,第二公钥用于加密、第二私钥用于解密。
终端设备在生成第一目标值之后,利用第二私钥对第一目标值进行加密,根据Mac地址、第一随机数以及加密后的第一目标值确定第一数据信息,并上报至服务器。服务器在获取第一数据信息之后,基于Mac地址、第一随机数以及服务器存储的第二认证次数,采用第一目标计算策略确定第二目标值,利用第二公钥对加密的第一目标值进行解密,获取第一目标值,此时,第二公钥用于解密、第二私钥用于加密。然后比较第一目标值和第二目标值,在第一目标值和第二目标值相等时,确定第一认证次数与第二认证次数相同。
上述过程,通过接收终端设备上报的MAC地址以及第二公钥,可以利用第二公钥进行加密或者解密,在保证数据安全的同时,通过解密获取需求的数据。
以上为本申请实施例服务器侧的设备授权方法,在服务器认证通过的情况下,接收终端设备上报的第一数据信息,基于第一数据信息确定第一认证次数与服务器存储的第二认证次数相同时,基于第一授权信息生成第二数据信息,并加密后反馈至终端设备,使得终端设备根据第二数据信息和基于第二授权信息生成的第三数据信息,检测第一授权信息和第二授权信息是否相同,在二者相同的情况下,确定终端设备的授权认证通过,并更新第一认证次数、向服务器发送更新指示,服务器根据更新指示更新第二认证次数,可以基于认证次数以及授权信息确定算法程序是否可在终端设备上正常运行,实现准确的对部署算法程序的终端设备进行授权认证,且由于无需增加硬件可以节约授权认证成本。
进一步而言,通过对第一目标值和第二数据信息进行加密,可以防止数据被非法篡改,保证数据的安全性,进而可以保证授权认证的正常进行,且可以保证准确的对终端设备进行授权认证。
通过基于解密是否成功进行服务器认证,可以快速地实现服务器的认证;通过比较第一目标值与第二目标值,在两者相同时确定第一认证次数与第二认证次数相同,可以基于简便的方式进行认证次数的检验。
下面通过一实施流程对终端设备与服务器交互的过程进行介绍,参见图3所示,包括如下步骤:
步骤301、服务器向终端设备发送经第一私钥加密的请求信息。
步骤302、终端设备根据预制证书中的第一公钥对加密后的请求信息进行解密。在解密成功的情况下,确定服务器认证通过,并向服务器反馈携带认证通过通知的响应信息,在解密失败的情况下,确定服务器认证未通过,并向服务器反馈携带认证未通过通知的响应信息。且在解密成功的情况下,继续执行步骤303。
步骤303、终端设备向服务器上报第一数据信息,第一数据信息包括Mac地址、第一随机数以及经过加密的第一目标值,其中,第一目标值基于Mac地址、第一随机数以及第一认证次数确定。
步骤304、服务器根据第一数据信息检测第一认证次数与服务器存储的第二认证次数是否相同,在相同的情况下执行步骤305,否则确定终端设备的认证未通过。
步骤305、服务器基于存储的与终端设备关联的第一授权信息生成第二数据信息、对第二数据信息加密后发送至终端设备。
步骤306、终端设备对加密的第二数据信息进行解密,以获取第二数据信息,根据第三数据信息和第二数据信息,检测第二授权信息和第一授权信息是否相同,在相同的情况下,执行步骤307,否则确定终端设备的认证未通过。其中,第三数据信息基于第二授权信息确定。
步骤307、终端设备确定获取算法程序的运行权限,并更新第一认证次数、向服务器发送更新第二认证次数的更新指示。
步骤308、服务器根据更新指示更新第二认证次数。
上述实施流程对终端设备与服务器之间的交互进行了介绍,可以基于认证次数以及授权信息确定终端设备中的算法程序是否可正常运行,实现准确的对部署算法程序的终端设备进行授权认证,且由于无需增加硬件可以节约授权认证成本。
本申请实施例还提供一种设备授权装置,应用于部署算法程序的终端设备,参见图4所示,包括:
第一上报模块401,用于在服务器认证通过的情况下,向所述服务器上报第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
接收解密模块402,用于接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,所述第二数据信息在所述服务器确定所述第一认证次数与第二认证次数相同时,基于所述服务器存储的与所述终端设备关联的第一授权信息生成,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数,所述服务器基于所述第一数据信息确定所述第一认证次数与所述第二认证次数是否相同;
第一检测模块403,用于根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成;
第一处理模块404,用于在所述第二授权信息与所述第一授权信息相同的情况下,确定获取所述算法程序的运行权限,并更新所述第一认证次数、向所述服务器发送更新所述第二认证次数的更新指示。
可选地,所述装置还包括:
第二接收模块,用于接收所述服务器发送的经第一私钥加密的请求信息;
第一解密模块,用于根据预制证书中的第一公钥对加密后的请求信息进行解密;
确定反馈模块,用于在解密成功的情况下,确定所述服务器认证通过,并向所述服务器反馈携带认证通过通知的响应信息。
可选地,所述第一上报模块包括:
第一确定子模块,用于基于所述Mac地址、所述第一随机数以及所述第一认证次数,采用第一目标计算策略确定所述第一目标值;
加密子模块,用于采用第二私钥对所述第一目标值进行加密;
确定上报子模块,用于根据所述Mac地址、所述第一随机数以及经过加密的第一目标值确定所述第一数据信息,将所述第一数据信息上报至所述服务器。
可选地,所述第二数据信息经第二公钥加密,所述终端设备存储有所述第二公钥对应的第二私钥;
所述接收解密模块进一步用于:
在接收到经过所述第二公钥加密的第二数据信息时,基于所述第二私钥进行解密,获取所述第二数据信息。
可选地,该装置还包括:
第二上报模块,用于在所述第一上报模块向所述服务器上报第一数据信息之前,向所述服务器上报所述终端设备的MAC地址和所述终端设备对应的第二公钥,所述第二公钥与所述第二私钥配合形成公私钥对;
其中,所述MAC地址与所述第二公钥形成关联关系,在所述第二私钥用于加密时、所述第二公钥用于解密,在所述第二私钥用于解密时、所述第二公钥用于加密。
可选地,所述第一检测模块包括:
检测子模块,用于检测所述第三数据信息和所述第二数据信息是否相同,所述第二数据信息根据所述Mac地址、所述第一随机数以及所述第一授权信息生成,所述第三数据信息根据所述Mac地址、所述第一随机数以及所述第二授权信息生成,且所述第二数据信息与所述第三数据信息均对应于第二目标计算策略;
第二确定子模块,用于在所述第三数据信息和所述第二数据信息相同的情况下,确定所述第二授权信息和所述第一授权信息相同。
可选地,所述算法程序至少包括主程序文件、加密的模型文件以及至少一个库文件;在所述算法程序运行且调用所述模型文件时,该装置还包括:
第二解密模块,用于基于图形处理器GPU对加密的模型文件进行解密,以基于所述模型文件获取模型输入信息对应的模型输出结果;
在所述算法程序运行且所述主程序文件调用目标库文件时,该装置还包括:
第二处理模块,用于对所述目标库文件进行校验,并在校验通过的情况下允许正常调用所述目标库文件。
本申请实施例还提供一种设备授权装置,应用于服务器,参见图5所示,包括:
第一接收模块501,用于在终端设备对所述服务器认证且认证通过的情况下,接收所述终端设备上报的第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
第二检测模块502,用于根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数;
生成发送模块503,用于在所述第一认证次数与所述第二认证次数相同的情况下,基于存储的与所述终端设备关联的第一授权信息生成第二数据信息、对所述第二数据信息加密后发送至所述终端设备;
接收更新模块504,用于在所述终端设备基于第三数据信息和解密后的所述第二数据信息确定第二授权信息和所述第一授权信息相同的情况下,接收所述终端设备发送的更新所述第二认证次数的更新指示,并更新所述第二认证次数;
其中,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成,在所述第二授权信息与所述第一授权信息相同的情况下,部署算法程序的所述终端设备获取所述算法程序的运行权限。
可选地,该装置还包括:
发送模块,用于向所述终端设备发送经第一私钥加密的请求信息;
第三接收模块,用于在所述终端设备根据预制证书中的第一公钥对加密后的请求信息解密成功的情况下,接收所述终端设备反馈的携带认证通过通知的响应信息,确定所述服务器认证通过。
可选地,所述第二检测模块包括:
第三确定子模块,用于基于所述Mac地址、所述第一随机数和所述第二认证次数,采用第一目标计算策略确定第二目标值;
获取子模块,用于利用第二公钥对经过加密的第一目标值进行解密,获取所述第一目标值;
第四确定子模块,用于在所述第一目标值与所述第二目标值相同的情况下,确定所述第一认证次数与所述第二认证次数相同;
其中,经过加密的第一目标值对应的加密密钥为第二私钥,所述第二公钥与所述第二私钥对应。
可选地,所述生成发送模块进一步用于:
基于第二公钥对所述第二数据信息进行加密,并将加密后的所述第二数据信息发送至所述终端设备。
可选地,该装置还包括:
第四接收模块,用于在所述第一接收模块接收所述终端设备上报的第一数据信息之前,接收所述终端设备上报的所述MAC地址和所述终端设备对应的第二公钥,所述第二公钥与第二私钥配合形成公私钥对;
其中,所述MAC地址与所述第二公钥形成关联关系,在所述第二私钥用于加密时、所述第二公钥用于解密,在所述第二私钥用于解密时、所述第二公钥用于加密。
可选地,所述生成发送模块进一步用于:
基于所述Mac地址、所述第一随机数以及所述第一授权信息,采用第二目标计算策略生成所述第二数据信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
请参考图6,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可用于实施上述实施例中提供的设备授权方法。该计算机设备可以是终端设备或者服务器,或者其它具备数据处理和存储能力的设备。具体来讲:
所述计算机设备600包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的***存储器604,以及连接***存储器604和中央处理单元601的***总线605。所述计算机设备600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)606,和用于存储操作***613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出***606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到***总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出***606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到***总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为计算机设备600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器604和大容量存储设备607可以统称为存储器。
根据本申请的各种实施例,所述计算机设备600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备600可以通过连接在所述***总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述设备授权方法的指令。
在示例中实施例中,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述设备授权方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述设备授权方法。
可选地,上述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述设备授权方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种设备授权方法,其特征在于,应用于部署算法程序的终端设备,包括:
在服务器认证通过的情况下,向所述服务器上报第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,所述第二数据信息在所述服务器确定所述第一认证次数与第二认证次数相同时,基于所述服务器存储的与所述终端设备关联的第一授权信息生成,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数,所述服务器基于所述第一数据信息确定所述第一认证次数与所述第二认证次数是否相同;
根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成;
在所述第二授权信息与所述第一授权信息相同的情况下,确定获取所述算法程序的运行权限,并更新所述第一认证次数、向所述服务器发送更新所述第二认证次数的更新指示。
2.根据权利要求1所述的设备授权方法,其特征在于,所述方法还包括:
接收所述服务器发送的经第一私钥加密的请求信息;
根据预制证书中的第一公钥对加密后的请求信息进行解密;
在解密成功的情况下,确定所述服务器认证通过,并向所述服务器反馈携带认证通过通知的响应信息。
3.根据权利要求1所述的设备授权方法,其特征在于,所述向所述服务器上报第一数据信息,包括:
基于所述Mac地址、所述第一随机数以及所述第一认证次数,采用第一目标计算策略确定所述第一目标值;
采用第二私钥对所述第一目标值进行加密;
根据所述Mac地址、所述第一随机数以及经过加密的第一目标值确定所述第一数据信息,将所述第一数据信息上报至所述服务器。
4.根据权利要求1所述的设备授权方法,其特征在于,所述第二数据信息经第二公钥加密,所述终端设备存储有所述第二公钥对应的第二私钥;
所述接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,包括:
在接收到经过所述第二公钥加密的第二数据信息时,基于所述第二私钥进行解密,获取所述第二数据信息。
5.根据权利要求3或4所述的设备授权方法,其特征在于,在向所述服务器上报第一数据信息之前,还包括:
向所述服务器上报所述终端设备的Mac地址和所述终端设备对应的第二公钥,所述第二公钥与所述第二私钥配合形成公私钥对;
其中,所述Mac地址与所述第二公钥形成关联关系,在所述第二私钥用于加密时、所述第二公钥用于解密,在所述第二私钥用于解密时、所述第二公钥用于加密。
6.根据权利要求1所述的设备授权方法,其特征在于,所述根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,包括:
检测所述第三数据信息和所述第二数据信息是否相同,所述第二数据信息根据所述Mac地址、所述第一随机数以及所述第一授权信息生成,所述第三数据信息根据所述Mac地址、所述第一随机数以及所述第二授权信息生成,且所述第二数据信息与所述第三数据信息均对应于第二目标计算策略;
在所述第三数据信息和所述第二数据信息相同的情况下,确定所述第二授权信息和所述第一授权信息相同。
7.根据权利要求1所述的设备授权方法,其特征在于,所述算法程序至少包括主程序文件、加密的模型文件以及至少一个目标库文件;
在所述算法程序运行且调用所述模型文件时,还包括:
基于图形处理器GPU对加密的模型文件进行解密,以基于所述模型文件获取模型输入信息对应的模型输出结果;
在所述算法程序运行且所述主程序文件调用所述目标库文件时,还包括:
对所述目标库文件进行校验,并在校验通过的情况下允许正常调用所述目标库文件。
8.一种设备授权方法,其特征在于,应用于服务器,包括:
在终端设备对所述服务器认证且认证通过的情况下,接收所述终端设备上报的第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数;
在所述第一认证次数与所述第二认证次数相同的情况下,基于存储的与所述终端设备关联的第一授权信息生成第二数据信息、对所述第二数据信息加密后发送至所述终端设备;
在所述终端设备基于第三数据信息和解密后的所述第二数据信息确定第二授权信息和所述第一授权信息相同的情况下,接收所述终端设备发送的更新所述第二认证次数的更新指示,并更新所述第二认证次数;
其中,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成,在所述第二授权信息与所述第一授权信息相同的情况下,部署算法程序的所述终端设备获取所述算法程序的运行权限。
9.一种设备授权装置,其特征在于,应用于部署算法程序的终端设备,包括:
第一上报模块,用于在服务器认证通过的情况下,向所述服务器上报第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
接收解密模块,用于接收所述服务器反馈的经过加密的第二数据信息并进行解密,以获取所述第二数据信息,所述第二数据信息在所述服务器确定所述第一认证次数与第二认证次数相同时,基于所述服务器存储的与所述终端设备关联的第一授权信息生成,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数,所述服务器基于所述第一数据信息确定所述第一认证次数与所述第二认证次数是否相同;
第一检测模块,用于根据第三数据信息和所述第二数据信息,检测第二授权信息和所述第一授权信息是否相同,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成;
第一处理模块,用于在所述第二授权信息与所述第一授权信息相同的情况下,确定获取所述算法程序的运行权限,并更新所述第一认证次数、向所述服务器发送更新所述第二认证次数的更新指示。
10.一种设备授权装置,其特征在于,应用于服务器,包括:
第一接收模块,用于在终端设备对所述服务器认证且认证通过的情况下,接收所述终端设备上报的第一数据信息,所述第一数据信息包括所述终端设备的媒体访问控制Mac地址、第一随机数以及经过加密的第一目标值,所述第一目标值基于所述Mac地址、所述第一随机数以及所述终端设备存储的对所述终端设备认证对应的第一认证次数确定;
第二检测模块,用于根据所述第一数据信息检测所述第一认证次数与所述服务器存储的第二认证次数是否相同,所述第二认证次数为所述服务器存储的对所述终端设备认证对应的认证次数;
生成发送模块,用于在所述第一认证次数与所述第二认证次数相同的情况下,基于存储的与所述终端设备关联的第一授权信息生成第二数据信息、对所述第二数据信息加密后发送至所述终端设备;
接收更新模块,用于在所述终端设备基于第三数据信息和解密后的所述第二数据信息确定第二授权信息和所述第一授权信息相同的情况下,接收所述终端设备发送的更新所述第二认证次数的更新指示,并更新所述第二认证次数;
其中,所述第三数据信息为基于所述终端设备关联的第二授权信息而生成,在所述第二授权信息与所述第一授权信息相同的情况下,部署算法程序的所述终端设备获取所述算法程序的运行权限。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项或者如权利要求8所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项或者如权利要求8所述的方法。
CN202210481726.6A 2022-05-05 2022-05-05 设备授权方法、装置、设备及介质 Active CN115001749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210481726.6A CN115001749B (zh) 2022-05-05 2022-05-05 设备授权方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210481726.6A CN115001749B (zh) 2022-05-05 2022-05-05 设备授权方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115001749A CN115001749A (zh) 2022-09-02
CN115001749B true CN115001749B (zh) 2024-02-09

Family

ID=83025784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210481726.6A Active CN115001749B (zh) 2022-05-05 2022-05-05 设备授权方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115001749B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224684A (ja) * 2015-05-29 2016-12-28 キヤノン株式会社 サーバーシステム、サーバーシステムの制御方法、およびプログラム
CN108023873A (zh) * 2017-11-08 2018-05-11 深圳市文鼎创数据科技有限公司 信道建立方法及终端设备
CN109150509A (zh) * 2018-07-04 2019-01-04 北京海泰方圆科技股份有限公司 一种设备开锁方法、装置、终端设备和介质
CN109639644A (zh) * 2018-11-13 2019-04-16 东软集团股份有限公司 授权验证方法、装置、存储介质和电子设备
CN112149067A (zh) * 2020-09-29 2020-12-29 济南博观智能科技有限公司 一种软件授权方法、终端设备、授权服务器及存储介质
CN112202772A (zh) * 2020-09-29 2021-01-08 北京海泰方圆科技股份有限公司 一种授权管理方法及装置
CN112989426A (zh) * 2021-04-30 2021-06-18 腾讯科技(深圳)有限公司 授权认证方法及装置、资源访问令牌的获取方法
CN113343185A (zh) * 2021-08-02 2021-09-03 统信软件技术有限公司 一种客户端应用的授权方法、计算设备及存储介质
CN113553572A (zh) * 2021-07-02 2021-10-26 深圳追一科技有限公司 资源信息获取方法、装置、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768664B (zh) * 2018-06-06 2020-11-03 腾讯科技(深圳)有限公司 密钥管理方法、装置、***、存储介质和计算机设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224684A (ja) * 2015-05-29 2016-12-28 キヤノン株式会社 サーバーシステム、サーバーシステムの制御方法、およびプログラム
CN108023873A (zh) * 2017-11-08 2018-05-11 深圳市文鼎创数据科技有限公司 信道建立方法及终端设备
CN109150509A (zh) * 2018-07-04 2019-01-04 北京海泰方圆科技股份有限公司 一种设备开锁方法、装置、终端设备和介质
CN109639644A (zh) * 2018-11-13 2019-04-16 东软集团股份有限公司 授权验证方法、装置、存储介质和电子设备
CN112149067A (zh) * 2020-09-29 2020-12-29 济南博观智能科技有限公司 一种软件授权方法、终端设备、授权服务器及存储介质
CN112202772A (zh) * 2020-09-29 2021-01-08 北京海泰方圆科技股份有限公司 一种授权管理方法及装置
CN112989426A (zh) * 2021-04-30 2021-06-18 腾讯科技(深圳)有限公司 授权认证方法及装置、资源访问令牌的获取方法
CN113553572A (zh) * 2021-07-02 2021-10-26 深圳追一科技有限公司 资源信息获取方法、装置、计算机设备和存储介质
CN113343185A (zh) * 2021-08-02 2021-09-03 统信软件技术有限公司 一种客户端应用的授权方法、计算设备及存储介质

Also Published As

Publication number Publication date
CN115001749A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
US11258792B2 (en) Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium
TWI454111B (zh) 用於確保通訊之鑑別及完備性的技術
EP2659373B1 (en) System and method for secure software update
US11228438B2 (en) Security device for providing security function for image, camera device including the same, and system on chip for controlling the camera device
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
TWI813894B (zh) 資料的加解密方法、裝置、系統及存儲介質
CN103051451A (zh) 安全托管执行环境的加密认证
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN110855426B (zh) 一种用于软件使用授权的方法
CN110177111B (zh) 一种信息验证方法、***及装置
JP6387908B2 (ja) 認証システム
CN112241527B (zh) 物联网终端设备的密钥生成方法、***及电子设备
CN116232593B (zh) 多密码模组敏感数据分类分级与保护方法、设备及***
JP2010182070A (ja) 情報処理装置及び情報処理方法及びプログラム
CN110838919A (zh) 通信方法、存储方法、运算方法及装置
CN110445774B (zh) IoT设备的安全防护方法、装置及设备
CN111934862B (zh) 服务器访问方法、装置、可读介质及电子设备
CN112383577A (zh) 授权方法、装置、***、设备和存储介质
US8522046B2 (en) Method, apparatus and system for acquiring service by portable device
CN116881936A (zh) 可信计算方法及相关设备
CN115001749B (zh) 设备授权方法、装置、设备及介质
CN108242997B (zh) 安全通信的方法与设备
TW201916630A (zh) 圖像傳輸裝置、操作圖像傳輸裝置的方法以及片上系統
CN107343276B (zh) 一种终端的sim卡锁数据的保护方法及***
CN113037494B (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