CN115189929B - 授权认证的方法、装置、计算机设备和存储介质 - Google Patents

授权认证的方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115189929B
CN115189929B CN202210733780.5A CN202210733780A CN115189929B CN 115189929 B CN115189929 B CN 115189929B CN 202210733780 A CN202210733780 A CN 202210733780A CN 115189929 B CN115189929 B CN 115189929B
Authority
CN
China
Prior art keywords
authentication
content
licensed
authorization
public key
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
CN202210733780.5A
Other languages
English (en)
Other versions
CN115189929A (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.)
Suzhou HYC Technology Co Ltd
Original Assignee
Suzhou HYC Technology 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 Suzhou HYC Technology Co Ltd filed Critical Suzhou HYC Technology Co Ltd
Priority to CN202210733780.5A priority Critical patent/CN115189929B/zh
Publication of CN115189929A publication Critical patent/CN115189929A/zh
Application granted granted Critical
Publication of CN115189929B publication Critical patent/CN115189929B/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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及一种授权认证的方法、装置、计算机设备和存储介质。通过建立与加密硬件设备的认证进程;将使用公开密钥对待许可文件内容进行加密后的第一内容发送至认证进程;控制认证进程使用与公开密钥对应的解密私钥对第一内容进行解密,获取待许可文件内容;控制认证进程利用与待许可文件内容对应的许可公开密钥对待许可文件内容进行解密,获取解密后授权功能信息;接收认证进程利用认证密码信息对解密后授权功能信息进行加密的第二内容,利用认证密码信息对第二内容进行解密获取所述授权功能信息;根据许可解密授权功能信息开放相对应的功能模块,使得使用软硬件加密授权相结合的方式,既有硬件加密认证的可靠性,又有软件功能授权的便利性。

Description

授权认证的方法、装置、计算机设备和存储介质
技术领域
本公开涉及加密狗认证技术领域,特别是涉及一种授权认证的方法、装置、计算机设备和存储介质。
背景技术
在软硬件结合的软件系统中,软硬件往往是捆绑销售的,在软件使用中需要认证配套使用的硬件设备是否为认证授权的产品,避免出现使用非授权硬件。
现有的技术中主要是通过软授权和硬授权的方式进行授权认证。软授权是指通过包含License信息的加密文件方式,但是其缺点为防拷贝困难、文件易损坏,较易模拟和篡改。硬授权是指通过加密狗等硬件认证的方式,其缺点为易损坏,易丢失,无法对软件功能授权,增加硬件成本,制作、分发流程复杂,更新内容困难,硬件停产、厂商更换风险等。现有的上述两种认证方式不管是由于成本问题,还是技术问题,厂商往往只会选择一种方式进行授权认证;而且不论是采用软授权还是硬授权,当在一台电脑系统中如果同时使用一家公司的不同产品时,就会出现每套软件都重复的包含相关认证模块,甚至需要插入多个加密狗才能使用的情况。
发明内容
基于此,有必要针对上述技术问题,提供一种能够将软硬件认证分开的授权认证的方法、装置、计算机设备和存储介质。
第一方面,本公开提供了一种授权认证的方法。所述方法包括:
建立与加密硬件设备的认证进程;
将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的;
控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容;
控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息;
根据所述许可解密授权功能信息开放相对应的功能模块。
在其中一个实施例中,所述认证密码信息是由本地随机产生,并通过公开密钥对所述认证密码加密后传输至所述认证进程,以使所述认证进程利用解密私钥进行解密后获取得到。
在其中一个实施例中,所述认证密码信息是由本地随机产生,并通过公开密钥对所述认证密码加密后传输至所述认证进程,以使所述认证进程利用解密私钥进行解密后获取得到包括:
随机产生认证密码信息,利用公开密钥对所述认证密码信息进行加密;
发送经过加密后的认证密码信息至认证进程;
认证进程利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
第二方面,本公开提供了一种授权认证的方法。所述方法包括:
建立认证终端与加密硬件设备的通信;
接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由所述认证终端产生的;
使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容;
利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述许可解密授权功能信息开放相对应的功能模块。
在其中一个实施例中,所述认证密码信息的获取方式至少包括:
接收由认证终端发送的利用公开密钥进行加密的认证密码信息,所述认证密码信息由所述认证终端随机产生;
利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
第三方面,本公开还提供了一种授权认证的装置。所述装置包括:
认证进程建立模块,用于建立与加密硬件设备的认证进程;
第一内容发送模块,用于将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的;
第一内容解密模块,用于控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容;
待许可文件解密模块,用于控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
第二内容接收模块,用于接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息;
功能开放模块,用于根据所述许可解密授权功能信息开放相对应的功能模块。
第四方面,本公开还提供了一种授权认证的装置。所述装置包括:
通信建立模块,用于建立认证终端与加密硬件设备的通信;
第三内容接收模块,用于接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由本地产生的;
第三内容解密模块,用于使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容;
授权功能信息解密模块,用于利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
授权功能信息获取模块,用于发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述许可解密授权功能信息开放相对应的功能模块。
第五方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开任一项实施例所述的方法。
第六方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本公开任一项实施例所述的方法。
第七方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一项实施例所述的方法。
本公开提供的实施方案,通过建立与加密硬件设备的认证进程;将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程;控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容;控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息;根据所述许可解密授权功能信息开放相对应的功能模块。本公开提供的实施方案通过将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,并且控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,可以使得使用软硬件加密授权相结合的方式,既有硬件加密认证的可靠性,又有软件功能授权的便利性;独立认证后台程序,便于扩展,支持多个软件同时认证;许可软件功能授权与硬件信息解绑,便于扩展为批量应用的授权认证;屏蔽了加密密钥的硬件相关性,降低了硬件停产,更换厂商造成的应用软件修改风险;将解密用的公开密钥存放在加密狗中,并且只有后台认证程序才能访问,避免了公开密钥分发后,不同的许可文件都可以解密的问题。
附图说明
为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为常见的软授权认证流程示意图;
图2为常见的硬授权认证流程示意图;
图3为多个加密狗使用情况的示意图;
图4为常见的软授权认证示意图;
图5为常见的软授权认证示意图;
图6为常见的软授权认证示意图;
图7为一个实施例中授权认证的方法的应用环境图;
图8为一个实施例中授权认证的方法的流程示意图;
图9为一个实施例中授权认证的方法的流程示意图;
图10为一个实施例中授权认证的方法的流程示意图;
图11为一个实施例中授权认证的方法的流程示意图;
图12为一个实施例中授权认证的方法的流程示意图;
图13为一个实施例中授权认证的方法的流程示意图;
图14为一个实施例中授权认证的装置的结构框图;
图15为一个实施例中授权认证的装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
常见的软授权的流程如图1所示,通过读取硬件特征码,然后解密License文件,解析存储的硬件特征码后,比对硬件特征码一致性,授权通过后进入正常使用流程,如果硬件特征码的存在不一致性时,那么就提示用户未授权后结束软授权流程。常见的硬授权认证流程如图2所示,通过读取硬件特征码以及读取加密狗中存储的硬件特征码,然后比对硬件特征码的一致性,如果授权通过进入正常使用流程后,结束硬授权认证流程;如果硬件特征码的比对存在不一致性,那么就提示用户未授权后,结束硬授权认证流程。
上述两种认证方式存在以下问题:1)出于成本问题和技术问题的限制,厂商往往只会选择一种方式进行授权认证。2)不论是采用软授权还是硬授权认证,在一台电脑系统里如果同时使同一家公司的不同产品(SW A,SW B,SW..)时,就会出现每套软件都重复的包含相关认证模块,甚至需要插入多个加密狗才能使用,如图3所示,在使用不同的产品时,需要插入多个加密狗才能使用。3)如图4所示,硬件特征信息和功能授权信息通过Privatekey加密后生成License文件,通过Public key解密后,得到硬件特征信息和功能授权信息;在使用软授权时,授权License文件通常采用RSA非对称加密中的私钥加密,公钥解密的形式,私钥内部保管,公钥随软件分发,用于软件解密License文件使用。
针对上述认证方式存在的问题,本公开采用将RSA Key保存在带有加密存储空间的USB Key上,实现软授权与硬授权双认证的方式,如图5所示,包含以下两种Key:解密License授权文件的License Public Key;认证后台程序与客户端程序通信用Private/Public Key。USB Key和RSA Key结合后可以得到Communication Key,其中,RSA可以为一种公开密钥密码体制。在软件层面上,如图6所示,通过采用独立的加密狗认证授权后台服务进程的方式,实现一套授权认证系统同时支持多套软件的认证,支持独立License功能授权,共用USB加密狗硬件。其中后台认证服务进程为独立的后台加密狗监测及License管理软件,客户端App为需要获得License授权认证的程序,其中App A,App B,App C表示应用A,应用B和应用C。
本公开实施例提供的授权认证的方法,可以应用于如图7所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102建立与加密硬件设备的认证进程;终端102将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述认证进程可以包括在服务器104上,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的;控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容;控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息;根据所述许可解密授权功能信息开放相对应的功能模块。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图8所示,提供了一种授权认证的方法,以该方法应用于图7中的终端为例进行说明,包括以下步骤:
S802,建立与加密硬件设备的认证进程。
S804,将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的。
S806,控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容。
S808,控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息。
S810,接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息。
S812,根据所述许可解密授权功能信息开放相对应的功能模块。
其中,建立与加密硬件设备的认证进程的方式可以包括采用套接字socket、共享内存、进程通信等多种方式。
具体地,客户端建立与加密硬件设备的认证进程,并且将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容,控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息,接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息,根据所述许可解密授权功能信息开放相对应的功能模块。
上述授权认证的方法中,通过将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,并且控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,可以使得使用软硬件加密授权相结合的方式,既有硬件加密认证的可靠性,又有软件功能授权的便利性;独立认证后台程序,便于扩展,支持多个软件同时认证;许可软件功能授权与硬件信息解绑,便于扩展为批量应用的授权认证;屏蔽了加密密钥的硬件相关性,降低了硬件停产,更换厂商造成的应用软件修改风险;将解密用的公开密钥存放在加密狗中,并且只有后台认证程序才能访问,避免了公开密钥分发后,不同的许可文件都可以解密的问题。
在一个实施例中,所述认证密码信息是由本地随机产生,并通过公开密钥对所述认证密码加密后传输至所述认证进程,以使所述认证进程利用解密私钥进行解密后获取得到。
其中,所述认证密码信息可以包括由客户端软件随机产生的一组对称密码串。
本实施例中,通过公开密钥对本地随机产生的认证密码加密后传输至所述认证进程,能够达到屏蔽加密密钥的硬件相关性,降低了硬件停产,更换厂商造成的应用软件修改风险。
在一个实施例中,如图9所示,所述认证密码信息是由本地随机产生,并通过公开密钥对所述认证密码加密后传输至所述认证进程,以使所述认证进程利用解密私钥进行解密后获取得到包括:
S902,随机产生认证密码信息,利用公开密钥对所述认证密码信息进行加密。
S904,发送经过加密后的认证密码信息至认证进程。
S906,认证进程利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
具体的,由客户端的应用随机产生认证密码信息,并且利用公开密钥对所述认证密码信息进行加密后发送至认证进程,认证进程利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
本实施例中,通过由客户端的应用随机产生认证密码信息,并且利用公开密钥对所述认证密码信息进行加密后发送至认证进程,能够达到屏蔽加密密钥的硬件相关性,降低了硬件停产,更换厂商造成的应用软件修改风险。
在一个实施例中,如图10所示,提供了一种授权认证的方法,以该方法应用于图7中的终端为例进行说明,包括以下步骤:
S1002,建立认证终端与加密硬件设备的通信。
S1004,接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由所述认证终端产生的。
S1006,使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容。
S1008,利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息。
S1010,发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述许可解密授权功能信息开放相对应的功能模块。
具体地,可以通过建立认证终端与加密硬件设备的通信,所述加密硬件设备可以包括加密狗;然后接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由本地产生的,使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容,利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述许可解密授权功能信息开放相对应的功能模块。
上述授权认证的方法中,通过接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由本地产生的,并且发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,可以使得使用软硬件加密授权相结合的方式,既有硬件加密认证的可靠性,又有软件功能授权的便利性;独立认证后台程序,便于扩展,支持多个软件同时认证;许可软件功能授权与硬件信息解绑,便于扩展为批量应用的授权认证;屏蔽了加密密钥的硬件相关性,降低了硬件停产,更换厂商造成的应用软件修改风险;将解密用的公开密钥存放在加密狗中,并且只有后台认证程序才能访问,避免了公开密钥分发后,不同的许可文件都可以解密的问题。
在一个实施例中,所述认证密码信息的获取方式至少包括:
接收由认证终端发送的利用公开密钥进行加密的认证密码信息,所述认证密码信息由所述认证终端随机产生;
利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
具体地,可以通过接收由认证终端发送的利用公开密钥进行加密的认证密码信息,利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。在一些实施方式中,所述认证密码信息由所述认证终端随机产生,也可以由认证终端中的应用随机产生的一组对称密码串。
本实施例中,通过接收由认证终端发送的利用公开密钥进行加密的认证密码信息,利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息,可以使得使用软硬件加密授权相结合的方式,既有硬件加密认证的可靠性,又有软件功能授权的便利性。
在一个实施例中,如图11所示,提供了一种授权认证的方法,所述方法包括以下步骤:
S1102,建立与加密硬件设备的认证进程。
S1104,将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的。
S1106,控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容。
S1108,控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息。
S1110,随机产生认证密码信息,利用公开密钥对所述认证密码信息进行加密。
S1112,发送经过加密后的认证密码信息至认证进程。
S1114,认证进程利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
S1116,接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息。
S1118,根据所述许可解密授权功能信息开放相对应的功能模块。
在一个实施例中,如图12和图13所示所示,提供了一种授权认证的方法,所述方法包括以下步骤:
1)客户端App软件开启后,建立与后台认证进程通信,可以采用socket、共享内存、进程通信等多种方式。
2)通信建立后,后台认证进程会发送通信信息用的PublicKey。
3)客户端App获取PublicKey之后,后续向后台认证服务进程发送的信息都使用PublicKey加密,后台认证服务进程则使用加密狗中保存的PrivateKey解密信息。
4)客户端App软件随机产生一组对称密码串,发送给后台认证进程。
5)后台认证进程使用通信用的PrivateKey,解密出密码串。
6)此后后台认证服务进程向客户端App发送的消息,都使用该密码串加解密。来保证通信的一对一,避免通信的串改和截获,相应的信息也只有唯一的客户端App使用密码串才能机密,加解密过程就不再描述。
7)客户端App发送License文件内容给后台认证服务进程。
8)后台认证服务进程使用License PublicKey解密授权功能信息,并发送给客户端App。
9)客户端App获取到授权功能信息后,按需开发功能模块。
10)至此整个软硬结合授权认证过程结束。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的授权认证的方法的授权认证的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个授权认证的装置实施例中的具体限定可以参见上文中对于授权认证的方法的限定,在此不再赘述。
在一个实施例中,如图14所示,提供了一种授权认证的装置1400,包括:认证进程建立模块1402、第一内容发送模块1404、第一内容解密模块1406、待许可文件解密模块1408、第二内容接收模块1410和功能开放模块1412,其中:
认证进程建立模块1402,用于建立与加密硬件设备的认证进程。
第一内容发送模块1404,用于将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的。
第一内容解密模块1406,用于控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容。
待许可文件解密模块1408,用于控制所述认证进程利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息。
第二内容接收模块1410,用于接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息。
功能开放模块1412,用于根据所述许可解密授权功能信息开放相对应的功能模块。
在一个实施例中,如图15所示,提供了一种授权认证的装置1500,包括通信建立模块1502、第三内容接收模块1504、第三内容解密模块1506、授权功能信息解密模块1508和授权功能信息获取模块1510,其中:
通信建立模块1502,用于建立认证终端与加密硬件设备的通信。
第三内容接收模块1504,用于接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由所述认证终端产生的。
第三内容解密模块1506,用于使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容。
授权功能信息解密模块1508,用于利用与所述待许可文件内容对应的许可公开密钥对所述待许可文件内容进行解密,获取解密后授权功能信息。
授权功能信息获取模块1510,用于发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述许可解密授权功能信息开放相对应的功能模块。
上述授权认证的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种授权认证的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。

Claims (10)

1.一种授权认证的方法,其特征在于,所述方法用于执行认证终端与加密硬件设备之间的授权认证,所述方法应用于所述认证终端,包括:
建立与加密硬件设备的认证进程;
将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的;
控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容;
控制所述认证进程利用与所述待许可文件内容对应的许可密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息;
根据所述授权功能信息开放相对应的功能模块。
2.根据权利要求1所述的方法,其特征在于,所述认证密码信息是由本地随机产生,并通过公开密钥对所述认证密码加密后传输至所述认证进程,以使所述认证进程利用解密私钥进行解密后获取得到。
3.根据权利要求2所述的方法,其特征在于,所述认证密码信息是由本地随机产生,并通过公开密钥对所述认证密码加密后传输至所述认证进程,以使所述认证进程利用解密私钥进行解密后获取得到包括:
随机产生认证密码信息,利用公开密钥对所述认证密码信息进行加密;
发送经过加密后的认证密码信息至认证进程;
认证进程利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
4.一种授权认证的方法,其特征在于,所述方法用于执行认证终端与加密硬件设备之间的授权认证,所述方法应用于所述认证终端与所述加密硬件设备的认证进程,包括:
建立认证终端与加密硬件设备的通信;
接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由所述认证终端产生的;
使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容;
利用与所述待许可文件内容对应的许可密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述授权功能信息开放相对应的功能模块。
5.根据权利要求4所述的方法,其特征在于,所述认证密码信息的获取方式至少包括:
接收由认证终端发送的利用公开密钥进行加密的认证密码信息,所述认证密码信息由所述认证终端随机产生;
利用解密私钥对所述经过加密后的认证密码信息进行解密,得到认证密码信息。
6.一种授权认证的装置,其特征在于,所述装置用于执行认证终端与加密硬件设备之间的授权认证,所述装置应用于所述认证终端,包括:
认证进程建立模块,用于建立与加密硬件设备的认证进程;
第一内容发送模块,用于将使用公开密钥对待许可文件内容进行加密后的第一内容发送至所述认证进程,所述公开密钥是通过所述认证进程从所述加密硬件设备中获取的;
第一内容解密模块,用于控制所述认证进程使用与所述公开密钥对应的解密私钥对所述第一内容进行解密,获取待许可文件内容;
待许可文件解密模块,用于控制所述认证进程利用与所述待许可文件内容对应的许可密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
第二内容接收模块,用于接收所述认证进程利用认证密码信息对所述解密后授权功能信息进行加密的第二内容,利用所述认证密码信息对所述第二内容进行解密获取所述授权功能信息;
功能开放模块,用于根据所述授权功能信息开放相对应的功能模块。
7.一种授权认证的装置,其特征在于,所述装置用于执行认证终端与加密硬件设备之间的授权认证,所述装置应用于所述认证终端与所述加密硬件设备的认证进程,包括:
通信建立模块,用于建立认证终端与加密硬件设备的通信;
第三内容接收模块,用于接收由认证终端发送的第三内容,所述第三内容包括由公开密钥进行加密的待许可文件内容,所述公开密钥是建立认证终端与加密硬件设备的通信后由所述认证终端产生的;
第三内容解密模块,用于使用与所述公开密钥对应的解密私钥对所述第三内容进行解密,获取待许可文件内容;
授权功能信息解密模块,用于利用与所述待许可文件内容对应的许可密钥对所述待许可文件内容进行解密,获取解密后授权功能信息;
授权功能信息获取模块,用于发送利用认证密码信息对所述解密后授权功能信息进行加密的第四内容至认证终端,以使所述认证终端利用所述认证密码信息对所述第四内容进行解密获取所述授权功能信息,并根据所述授权功能信息开放相对应的功能模块。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202210733780.5A 2022-06-27 2022-06-27 授权认证的方法、装置、计算机设备和存储介质 Active CN115189929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210733780.5A CN115189929B (zh) 2022-06-27 2022-06-27 授权认证的方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210733780.5A CN115189929B (zh) 2022-06-27 2022-06-27 授权认证的方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115189929A CN115189929A (zh) 2022-10-14
CN115189929B true CN115189929B (zh) 2024-06-07

Family

ID=83516206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210733780.5A Active CN115189929B (zh) 2022-06-27 2022-06-27 授权认证的方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115189929B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118585971A (zh) * 2024-08-07 2024-09-03 浙江康勒工业软件有限公司 软件许可授权方法、系统和电子设备

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005020580A (ja) * 2003-06-27 2005-01-20 Toshiba Tec Corp ネットワークシステム
CN1780218A (zh) * 2004-11-18 2006-05-31 华为技术有限公司 一种用户跟踪控制方法
CN103221957A (zh) * 2010-11-22 2013-07-24 英特尔公司 利用基于硬件的安全引擎的安全软件许可和供应
CN105022952A (zh) * 2014-04-28 2015-11-04 深圳市茁壮网络股份有限公司 一种中间件授权认证方法及装置
CN109583156A (zh) * 2018-12-05 2019-04-05 杭州安恒信息技术股份有限公司 基于认证授权的代码保护方法、装置、系统及设备
CN111611552A (zh) * 2020-05-21 2020-09-01 浩云科技股份有限公司 一种软硬结合的license授权方法及装置
CN112486607A (zh) * 2020-11-20 2021-03-12 湖南麒麟信安科技股份有限公司 一种基于软硬件结合的虚拟桌面授权许可方法
CN112968774A (zh) * 2021-02-01 2021-06-15 中国海洋石油集团有限公司 一种组态存档加密及解密方法、装置存储介质及设备
CN113343212A (zh) * 2021-06-25 2021-09-03 成都商汤科技有限公司 设备注册方法及装置、电子设备和存储介质
CN114006736A (zh) * 2021-10-22 2022-02-01 中易通科技股份有限公司 一种基于硬件密码设备的即时通信消息保护系统及方法
CN114070548A (zh) * 2021-08-11 2022-02-18 无锡信捷电气股份有限公司 一种基于软加密狗装置的软件版权加密保护方法
CN114070614A (zh) * 2021-11-15 2022-02-18 中国工商银行股份有限公司 身份认证方法、装置、设备、存储介质和计算机程序产品
CN114547558A (zh) * 2022-02-24 2022-05-27 科东(广州)软件科技有限公司 授权方法、授权控制方法及装置、设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765600B2 (en) * 2004-05-04 2010-07-27 General Instrument Corporation Methods and apparatuses for authorizing features of a computer program for use with a product

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005020580A (ja) * 2003-06-27 2005-01-20 Toshiba Tec Corp ネットワークシステム
CN1780218A (zh) * 2004-11-18 2006-05-31 华为技术有限公司 一种用户跟踪控制方法
CN103221957A (zh) * 2010-11-22 2013-07-24 英特尔公司 利用基于硬件的安全引擎的安全软件许可和供应
CN105022952A (zh) * 2014-04-28 2015-11-04 深圳市茁壮网络股份有限公司 一种中间件授权认证方法及装置
CN109583156A (zh) * 2018-12-05 2019-04-05 杭州安恒信息技术股份有限公司 基于认证授权的代码保护方法、装置、系统及设备
CN111611552A (zh) * 2020-05-21 2020-09-01 浩云科技股份有限公司 一种软硬结合的license授权方法及装置
CN112486607A (zh) * 2020-11-20 2021-03-12 湖南麒麟信安科技股份有限公司 一种基于软硬件结合的虚拟桌面授权许可方法
CN112968774A (zh) * 2021-02-01 2021-06-15 中国海洋石油集团有限公司 一种组态存档加密及解密方法、装置存储介质及设备
CN113343212A (zh) * 2021-06-25 2021-09-03 成都商汤科技有限公司 设备注册方法及装置、电子设备和存储介质
CN114070548A (zh) * 2021-08-11 2022-02-18 无锡信捷电气股份有限公司 一种基于软加密狗装置的软件版权加密保护方法
CN114006736A (zh) * 2021-10-22 2022-02-01 中易通科技股份有限公司 一种基于硬件密码设备的即时通信消息保护系统及方法
CN114070614A (zh) * 2021-11-15 2022-02-18 中国工商银行股份有限公司 身份认证方法、装置、设备、存储介质和计算机程序产品
CN114547558A (zh) * 2022-02-24 2022-05-27 科东(广州)软件科技有限公司 授权方法、授权控制方法及装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于LabVIEW的测控系统加密程序设计与实现;周先飞;;佳木斯大学学报(自然科学版)(第02期);全文 *

Also Published As

Publication number Publication date
CN115189929A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN105260668B (zh) 一种文件加密方法及电子设备
CN106462718B (zh) 存储设备的快速数据保护
US10020939B2 (en) Device, server and method for providing secret key encryption and restoration
US9904629B2 (en) Backup system with multiple recovery keys
US8181266B2 (en) Method for moving a rights object between devices and a method and device for using a content object based on the moving method and device
US8180709B2 (en) Method and device for consuming rights objects having inheritance structure in environment where the rights objects are distributed over plurality of devices
CN101014944A (zh) 数字版权管理的方法和设备
CN114070614B (zh) 身份认证方法、装置、设备、存储介质和计算机程序产品
US20060155651A1 (en) Device and method for digital rights management
JP6756056B2 (ja) 身元検証による暗号チップ
JPWO2014049830A1 (ja) 情報処理装置および半導体装置
JP6476167B2 (ja) 自己認証デバイス及び自己認証方法
US8438112B2 (en) Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device
CN115189929B (zh) 授权认证的方法、装置、计算机设备和存储介质
CN111008400A (zh) 数据处理方法、装置及系统
CN117041956A (zh) 通信认证方法、装置、计算机设备和存储介质
CN116049802A (zh) 应用单点登陆方法、系统、计算机设备和存储介质
CN116366289A (zh) 无人机遥感数据的安全监管方法及装置
KR20160128170A (ko) 비밀키 암호화 및 복원을 제공하는 단말, 서버 및 방법
CN115529129B (zh) 加密通信方法、系统、计算机设备、可读存储介质及程序产品
WO2024120039A1 (zh) 数据的处理方法、装置、车辆和存储介质
JP7170588B2 (ja) データ処理方法及びデータ処理システム
CN117375823A (zh) 一种密钥分发方法、装置、电子设备及存储介质
CN115830745A (zh) 一种锁具开锁系统及方法
CN114666154A (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