CN114978554B - 一种软件授权认证系统及方法 - Google Patents
一种软件授权认证系统及方法 Download PDFInfo
- Publication number
- CN114978554B CN114978554B CN202210903102.9A CN202210903102A CN114978554B CN 114978554 B CN114978554 B CN 114978554B CN 202210903102 A CN202210903102 A CN 202210903102A CN 114978554 B CN114978554 B CN 114978554B
- Authority
- CN
- China
- Prior art keywords
- authorization
- key
- software
- random number
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013475 authorization Methods 0.000 claims abstract description 85
- 238000000605 extraction Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种软件授权认证系统及方法。软件授权认证系统通过第一存储模块仅授权密钥提取模块提取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性;通过预先设置软件授权公钥与软件授权私钥,并预先采用第二软件授权密钥加密软件授权私钥得到第一私钥,使得后续通过第二软件授权密钥解密得到的第二私钥与软件授权私钥相同,即无法通过其他密钥解密第一私钥得到软件授权私钥,进而通过第二私钥解密软件授权公钥加密的第一随机数得到第二随机数,并通过比对第一随机数和第二随机数得到授权认证结果,间接验证了第一软件授权密钥,无需依赖外部加密芯片、固件加密和服务器,实现了低成本、安全可靠、复杂度低的软件授权认证。
Description
技术领域
本申请涉及嵌入式技术领域,尤其是一种软件授权认证系统及方法。
背景技术
在嵌入式应用中,如何通过软件授权来保护软件知识产权是软件开发商关心的核心问题之一。根据不同的应用场景,软件授权保护可以分为系统软件的整体保护和部分软件模块保护。其中,系统软件的整体保护通常采用外部加密芯片或者固件加密的方式进行保护,部分软件模块保护铜层采用外部加密芯片、外部加密芯片运行加密代码或者服务器授权认证的方式进行保护。
然而,在采用外部加密芯片的方式时系统需要预留通信接口,并且在设计时需要额外考虑远程通讯问题,再加上加密芯片的价格较高,提高了成本较高和方案复杂度;同时由于通信信道裸露在系统之外,容易受到攻击,存在信息安全隐患;固件加密仅能用于保护整体的系统软件,并且在固件启动过程中必须先将固件解密,降低了固件启动的速度;服务器授权认证方式应用场景存在局限,且由于服务器的存在,运营成本较高。
发明内容
本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
为此,本发明实施例提供一种软件授权认证系统及方法,实现了低成本、安全可靠、复杂度低的软件授权认证。
为了达到上述技术目的,本发明实施例所采取的技术方案包括:
第一方面,本发明实施例提供了一种软件授权认证系统,包括:
密钥提取模块,用于响应于软件程序运行请求,提取第一软件授权密钥,并对所述第一软件授权密钥进行处理,生成第二软件授权密钥;
第一存储模块,用于存储所述第一软件授权密钥,所述第一存储模块仅授权所述密钥提取模块进行所述第一软件授权密钥的提取;
随机数生成模块,用于生成第一随机数;
对称加密算法模块,用于采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;
非对称加密算法模块,用于采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;用于采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;
授权认证模块,用于比对所述第一随机数和所述第二随机数,生成授权认证结果。
另外,根据本发明上述实施例的一种软件授权认证系统,还可以具有以下附加的技术特征:
进一步地,本发明实施例的一种软件授权认证系统中,所述第一存储模块采用一次性可编程存储器。
进一步地,在本发明的一个实施例中,所述系统还包括第二存储模块,用于存储所述第二软件授权密钥和所述第二私钥,所述第二存储模块仅授权所述对称加密算法模块和所述非对称加密算法模块的访问。
进一步地,在本发明的一个实施例中,所述授权认证模块比对所述第一随机数和所述第二随机数,当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;
当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。
进一步地,在本发明的一个实施例中,所述授权认证模块包括第一处理模块和第二处理模块;
响应于授权认证成功,所述第一处理模块运行所述软件程序运行请求对应的软件程序;
响应于授权认证失败,所述第二处理模块拒绝所述软件程序运行请求。
进一步地,在本发明的一个实施例中,所述系统还包括寄存器,用于获取所述软件授权公钥和所述第一私钥。
第二方面,本发明实施例提出了一种软件授权认证方法,所述方法应用于软件授权认证系统,所述软件授权认证系统包括密钥提取模块、第一存储模块、随机数生成模块、对称加密算法模块、非对称加密算法模块和授权认证模块,所述方法包括:
响应于软件程序运行请求,通过所述密钥提取模块从所述第一存储模块中获取第一软件授权密钥;
通过所述密钥提取模块对所述第一软件授权密钥进行处理,生成第二软件授权密钥;
通过所述对称加密算法模块采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;
通过所述随机数生成模块生成第一随机数;
通过所述非对称加密算法模块采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;
通过所述非对称加密算法模块采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;
通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果。
进一步地,在本发明的一个实施例中,所述软件授权认证系统还包括寄存器;
在所述通过所述对称加密算法模块采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥之前,所述方法还包括:
通过所述寄存器获取所述软件授权公钥和所述第一私钥。
进一步地,在本发明的一个实施例中,所述通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果,包括:
比对所述第一随机数和所述第二随机数;
当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;
当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。
进一步地,在本发明的一个实施例中,所述授权认证模块包括第一处理模块和第二处理模块;
在通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果之后,所述方法还包括:
响应于授权认证成功,通过所述第一处理模块运行所述软件程序运行请求对应的软件程序;
响应于授权认证失败,通过所述第二处理模块拒绝所述软件程序运行请求。
本发明的优点和有益效果:
本发明实施例通过第一存储模块仅授权密钥提取模块提取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性;通过预先设置软件授权公钥与软件授权私钥,并预先采用第二软件授权密钥加密软件授权私钥得到第一私钥,使得后续通过第二软件授权密钥解密得到的第二私钥与软件授权私钥相同,即无法通过其他密钥解密第一私钥得到软件授权私钥,进而通过第二私钥解密软件授权公钥加密的第一随机数得到第二随机数,并通过比对第一随机数和第二随机数得到授权认证结果,间接验证了第一软件授权密钥,无需依赖外部加密芯片、固件加密和服务器,实现了低成本、安全可靠、复杂度低的软件授权认证。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本发明一种软件授权认证方法具体实施例的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在采用外部加密芯片的方式时系统需要预留通信接口,并且在设计时需要额外考虑远程通讯问题,再加上加密芯片的价格较高,提高了成本较高和方案复杂度;同时由于通信信道裸露在系统之外,容易受到攻击,存在信息安全隐患;固件加密仅能用于保护整体的系统软件,并且在固件启动过程中必须先将固件解密,降低了固件启动的速度;服务器授权认证方式应用场景存在局限,且由于服务器的存在,运营成本较高。为此,本发明提出了一种软件授权认证系统及方法,通过第一存储模块仅授权密钥提取模块提取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性;通过预先设置软件授权公钥与软件授权私钥,并预先采用第二软件授权密钥加密软件授权私钥得到第一私钥,使得后续通过第二软件授权密钥解密得到的第二私钥与软件授权私钥相同,即无法通过其他密钥解密第一私钥得到软件授权私钥,进而通过第二私钥解密软件授权公钥加密的第一随机数得到第二随机数,并通过比对第一随机数和第二随机数得到授权认证结果,间接验证了第一软件授权密钥,无需依赖外部加密芯片、固件加密和服务器,实现了低成本、安全可靠、复杂度低的软件授权认证。
下面参照附图详细描述根据本发明实施例提出的一种软件授权认证系统及方法,首先描述根据本发明实施例提出的一种软件授权认证系统。
本发明实施例中的一种软件授权认证系统包括:
密钥提取模块,用于响应于软件程序运行请求,提取第一软件授权密钥,并对所述第一软件授权密钥进行处理,生成第二软件授权密钥;
第一存储模块,用于存储所述第一软件授权密钥,所述第一存储模块仅授权密钥提取模块进行第一软件授权密钥的提取;
随机数生成模块,用于生成第一随机数;
对称加密算法模块,用于采用第二软件授权密钥对第一私钥进行解密,生成第二私钥,第一私钥预先通过第二软件授权密钥对软件授权私钥进行加密产生;
非对称加密算法模块,用于采用软件授权公钥对第一随机数进行加密,生成加密的随机数,软件授权公钥与软件授权私钥为同时产生的密钥对;用于采用第二私钥对加密的随机数进行解密,生成第二随机数;
授权认证模块,用于比对第一随机数和第二随机数,生成授权认证结果。
其中,在本发明的实施例中,对称加密算法模块为实现对称加密算法的硬件模块,可选地,本发明实施例采用的对称加密算法包括AES加密算法和DES加密算法中的至少一种。
非对称加密算法模块为实现非对称加密算法的硬件模块,可选地,本发明实施例采用的非对称加密算法包括RSA加密算法和ECC加密算法(椭圆曲线加密算法)中的至少一种。
在本发明的实施例中,第一存储模块授权密钥提取模块进行第一软件授权密钥的提取,其他模块(包括CPU)无法获取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性。
具体地,在本发明的实施例中,为了节约存储空间,第一软件授权密钥长度较短,实现了在第一存储模块中存放更多的第一软件授权密钥,以支持更多类型的软件的授权认证。密钥提取模块提取第一软件授权密钥后,对第一软件授权密钥进行变换处理,生成满足对称加密算法模块要求的第二软件授权密钥。可选地,第一软件授权密钥的长度为32比特,密钥提取模块提取第一软件授权密钥后,对第一软件授权密钥进行变换处理,生成128比特长度的第二软件授权密钥,以适用于对称加密算法模块。
可选地,本发明实施例的第一软件授权密钥由软件厂商提供,在所述的一种软件授权认证系统集成过程中写入第一存储模块。
可选地,本发明实施例的软件授权私钥和软件授权公钥为同时产生的密钥对,由软件厂商提供,其中软件授权私钥经过第二软件授权密钥加密生成第一私钥,并于对应的软件程序(软件中间件)以及软件授权公钥一起集成到设备的系统软件中。
作为一种可选的实施方式,第一存储模块采用一次性可编程存储器。
可选地,采用一次性可编程电子熔丝(electric Fuse, eFuse)作为第一存储模块。
作为一种可选的实施方式,所述的一种软件授权认证系统还包括第二存储模块,用于存储第二软件授权密钥和第二私钥,第二存储模块仅授权对称加密算法模块和非对称加密算法模块的访问,其他模块无法访问第二存储模块,降低了第二软件授权密钥和第二私钥的泄露风险,提高了软件授权认证过程的安全性。
作为一种可选的实施方式,授权认证模块比对第一随机数和第二随机数,当第一随机数和第二随机数相同时,授权认证结果为授权认证成功;
当第一随机数和第二随机数不相同时,授权认证结果为授权认证失败。
可以理解的是,当第一随机数和第二随机数相同时,表明第二私钥即为软件授权私钥,即用于解密第一私钥(预先通过第二软件授权密钥加密)的密钥为第二软件授权密钥;当第一随机数和第二随机数不相同时,表明第二私钥不是软件授权私钥,即用于解密第一私钥的密钥不是第二软件授权密钥。
作为一种可选的实施方式,授权认证模块包括第一处理模块和第二处理模块;
响应于授权认证成功,第一处理模块运行软件程序运行请求对应的软件程序;
响应于授权认证失败,第二处理模块拒绝软件程序运行请求。
可选地,在本发明的一个实施例中,若授权认证成功,则在预设的时间间隔后再次进行软件授权认证,以周期严重软件程序生命周期内的授权合法性。
作为一种可选的实施方式,所述的一种软件授权认证系统还包括寄存器,用于获取软件授权公钥和第一私钥。
可选地,寄存器从设备的系统软件中获取软件授权公钥和第一私钥。
综上所述,本发明通过第一存储模块授权密钥提取模块提取第一软件授权密钥,降低了第一软件授权密钥泄露的风险,提高了安全性;通过预先设置软件授权公钥与软件授权私钥,并预先采用第二软件授权密钥加密软件授权私钥得到第一私钥,使得后续通过第二软件授权密钥解密得到的第二私钥与软件授权私钥相同,即无法通过其他密钥解密第一私钥得到软件授权私钥,进而通过第二私钥解密软件授权公钥加密的第一随机数得到第二随机数,并通过比对第一随机数和第二随机数得到授权认证结果,间接验证了第一软件授权密钥,无需依赖外部加密芯片、固件加密和服务器,实现了低成本、安全可靠、复杂度低的软件授权认证。
其次,参照图1,本发明实施例提出了一种软件授权认证方法,所述方法应用于软件授权认证系统,所述软件授权认证系统包括密钥提取模块、第一存储模块、随机数生成模块、对称加密算法模块、非对称加密算法模块和授权认证模块,所述方法包括:
S101、响应于软件程序运行请求,通过密钥提取模块从第一存储模块中获取第一软件授权密钥;
可选地,本发明实施例的第一软件授权密钥由软件厂商提供,在所述的一种软件授权认证系统集成过程中写入第一存储模块。
S102、通过密钥提取模块对第一软件授权密钥进行处理,生成第二软件授权密钥;
具体地,在本发明的实施例中,为了节约存储空间,第一软件授权密钥长度较短,实现了在第一存储模块中存放更多的第一软件授权密钥,以支持更多类型的软件的授权认证。密钥提取模块提取第一软件授权密钥后,对第一软件授权密钥进行变换处理,生成满足对称加密算法模块要求的第二软件授权密钥。
可选地,第一软件授权密钥的长度为32比特,密钥提取模块提取第一软件授权密钥后,对第一软件授权密钥进行变换处理,生成128比特长度的第二软件授权密钥,以适用于对称加密算法模块。
S103、通过对称加密算法模块采用第二软件授权密钥对第一私钥进行解密,生成第二私钥;
在本发明的实施例中,软件授权认证系统还包括寄存器。在步骤S103之前,通过寄存器获取软件授权公钥和第一私钥。
可选地,通过寄存器从设备的系统软件中获取软件授权公钥和第一私钥。
其中,第一私钥预先通过第二软件授权密钥对软件授权私钥进行加密产生。
可选地,本发明实施例的软件授权私钥和软件授权公钥为同时产生的密钥对,由软件厂商提供,其中软件授权私钥经过第二软件授权密钥加密生成第一私钥,并于对应的软件程序(软件中间件)以及软件授权公钥一起集成到设备的系统软件中。
S104、通过随机数生成模块生成第一随机数;
S105、通过非对称加密算法模块采用软件授权公钥对第一随机数进行加密,生成加密的随机数;
其中,软件授权公钥与软件授权私钥为同时产生的密钥对。
S106、通过非对称加密算法模块采用第二私钥对加密的随机数进行解密,生成第二随机数;
可以理解的是,若第二私钥与软件授权私钥相同,即用于解密第一私钥(预先通过第二软件授权密钥加密)的密钥为第二软件授权密钥,则通过非对称加密算法模块采用第二私钥对加密的随机数进行解密生成的第二随机数与第一随机数相同;若第二私钥与软件授权私钥不相同,即用于解密第一私钥的密钥不为第二软件授权密钥,则通过非对称加密算法模块采用第二私钥对加密的随机数进行解密生成的第二随机数与第一随机数不相同。
S107、通过授权认证模块比对第一随机数和第二随机数,生成授权认证结果。
具体地,比对第一随机数和第二随机数;
当第一随机数和第二随机数相同时,授权认证结果为授权认证成功;
当第一随机数和第二随机数不相同时,授权认证结果为授权认证失败。
可以理解的是,当第一随机数和第二随机数相同时,表明第二私钥即为软件授权私钥,即用于解密第一私钥(预先通过第二软件授权密钥加密)的密钥为第二软件授权密钥;当第一随机数和第二随机数不相同时,表明第二私钥不是软件授权私钥,即用于解密第一私钥的密钥不是第二软件授权密钥。
在本发明的实施例中,授权认证模块包括第一处理模块和第二处理模块。
在步骤S107之后,本发明实施例的软件授权认证方法还包括:
响应于授权认证成功,通过第一处理模块运行软件程序运行请求对应的软件程序;
响应于授权认证失败,通过第二处理模块拒绝软件程序运行请求。
可选地,在本发明的一个实施例中,若授权认证成功,则在预设的时间间隔后再次进行软件授权认证,以周期验证软件程序生命周期内的授权合法性。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于所述实施例,熟悉本领域的技术人员在不违背本申请精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种软件授权认证系统,其特征在于,包括:
密钥提取模块,用于响应于软件程序运行请求,提取第一软件授权密钥,并对所述第一软件授权密钥进行处理,生成第二软件授权密钥;
第一存储模块,用于存储所述第一软件授权密钥,所述第一存储模块仅授权所述密钥提取模块进行所述第一软件授权密钥的提取;
随机数生成模块,用于生成第一随机数;
对称加密算法模块,用于采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;
非对称加密算法模块,用于采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;用于采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;
授权认证模块,用于比对所述第一随机数和所述第二随机数,生成授权认证结果。
2.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述第一存储模块采用一次性可编程存储器。
3.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述系统还包括第二存储模块,用于存储所述第二软件授权密钥和所述第二私钥,所述第二存储模块仅授权所述对称加密算法模块和所述非对称加密算法模块的访问。
4.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述授权认证模块比对所述第一随机数和所述第二随机数,当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;
当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。
5.根据权利要求4所述的一种软件授权认证系统,其特征在于,所述授权认证模块包括第一处理模块和第二处理模块;
响应于授权认证成功,所述第一处理模块运行所述软件程序运行请求对应的软件程序;
响应于授权认证失败,所述第二处理模块拒绝所述软件程序运行请求。
6.根据权利要求1所述的一种软件授权认证系统,其特征在于,所述系统还包括寄存器,用于获取所述软件授权公钥和所述第一私钥。
7.一种软件授权认证方法,其特征在于,所述方法应用于软件授权认证系统,所述软件授权认证系统包括密钥提取模块、第一存储模块、随机数生成模块、对称加密算法模块、非对称加密算法模块和授权认证模块,所述方法包括:
响应于软件程序运行请求,通过所述密钥提取模块从所述第一存储模块中获取第一软件授权密钥;
通过所述密钥提取模块对所述第一软件授权密钥进行处理,生成第二软件授权密钥;
通过所述对称加密算法模块采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥,所述第一私钥预先通过所述第二软件授权密钥对软件授权私钥进行加密产生;
通过所述随机数生成模块生成第一随机数;
通过所述非对称加密算法模块采用软件授权公钥对所述第一随机数进行加密,生成加密的随机数,所述软件授权公钥与所述软件授权私钥为同时产生的密钥对;
通过所述非对称加密算法模块采用所述第二私钥对所述加密的随机数进行解密,生成第二随机数;
通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果。
8.根据权利要求7所述的一种软件授权认证方法,其特征在于,所述软件授权认证系统还包括寄存器;
在所述通过所述对称加密算法模块采用所述第二软件授权密钥对第一私钥进行解密,生成第二私钥之前,所述方法还包括:
通过所述寄存器获取所述软件授权公钥和所述第一私钥。
9.根据权利要求7所述的一种软件授权认证方法,其特征在于,所述通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果,包括:
比对所述第一随机数和所述第二随机数;
当所述第一随机数和所述第二随机数相同时,所述授权认证结果为授权认证成功;
当所述第一随机数和所述第二随机数不相同时,所述授权认证结果为授权认证失败。
10.根据权利要求9所述的一种软件授权认证方法,其特征在于,所述授权认证模块包括第一处理模块和第二处理模块;
在通过所述授权认证模块比对所述第一随机数和所述第二随机数,生成授权认证结果之后,所述方法还包括:
响应于授权认证成功,通过所述第一处理模块运行所述软件程序运行请求对应的软件程序;
响应于授权认证失败,通过所述第二处理模块拒绝所述软件程序运行请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903102.9A CN114978554B (zh) | 2022-07-29 | 2022-07-29 | 一种软件授权认证系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903102.9A CN114978554B (zh) | 2022-07-29 | 2022-07-29 | 一种软件授权认证系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978554A CN114978554A (zh) | 2022-08-30 |
CN114978554B true CN114978554B (zh) | 2022-10-18 |
Family
ID=82969844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210903102.9A Active CN114978554B (zh) | 2022-07-29 | 2022-07-29 | 一种软件授权认证系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978554B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127062A (zh) * | 2006-08-14 | 2008-02-20 | 北京握奇数据系统有限公司 | 电子钥匙与计算机之间实现绑定功能的方法 |
CN102647279A (zh) * | 2011-08-15 | 2012-08-22 | 华为终端有限公司 | 加密方法、加密卡、终端设备和机卡互锁装置 |
CN103701792A (zh) * | 2013-12-20 | 2014-04-02 | 中电长城网际系统应用有限公司 | 可信授权方法、系统、可信安全管理中心和服务器 |
CN106850207A (zh) * | 2017-02-28 | 2017-06-13 | 南方电网科学研究院有限责任公司 | 无ca的身份认证方法和系统 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
WO2018103166A1 (zh) * | 2016-12-07 | 2018-06-14 | 百富计算机技术(深圳)有限公司 | 一种 pos 终端的密钥下载方法和装置 |
CN108376211A (zh) * | 2018-02-07 | 2018-08-07 | 杭州矩视科技有限公司 | 一种软件授权管理方法、服务器及系统 |
CN109861817A (zh) * | 2019-02-26 | 2019-06-07 | 数安时代科技股份有限公司 | 生成密钥的方法、装置、系统、设备和介质 |
CN110348181A (zh) * | 2019-07-15 | 2019-10-18 | 广东名阳信息科技有限公司 | 一种校验软件使用权合法性的方法 |
CN110691098A (zh) * | 2019-10-29 | 2020-01-14 | 北京龙德时代技术服务有限公司 | 民爆信息多重加密通讯方法 |
CN110968844A (zh) * | 2019-12-02 | 2020-04-07 | 卫盈联信息技术(深圳)有限公司 | 离线状态下的软件授权方法、服务器及可读存储介质 |
CN113242224A (zh) * | 2021-04-30 | 2021-08-10 | 北京市商汤科技开发有限公司 | 授权方法及装置、电子设备和存储介质 |
CN113886771A (zh) * | 2021-09-29 | 2022-01-04 | 新开普电子股份有限公司 | 一种软件授权认证方法 |
CN114765534A (zh) * | 2020-12-31 | 2022-07-19 | 天翼数字生活科技有限公司 | 基于国密标识密码算法的私钥分发系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1569378A4 (en) * | 2002-12-03 | 2006-08-02 | Matsushita Electric Ind Co Ltd | TOGETHER FOR USING KEYS, PRODUCING EQUIPMENT FOR SHARED KEYS, AND RESTORING KEYS TO SHARED KEYS |
CN109690543B (zh) * | 2016-09-26 | 2021-04-09 | 华为技术有限公司 | 安全认证方法、集成电路及系统 |
-
2022
- 2022-07-29 CN CN202210903102.9A patent/CN114978554B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127062A (zh) * | 2006-08-14 | 2008-02-20 | 北京握奇数据系统有限公司 | 电子钥匙与计算机之间实现绑定功能的方法 |
CN102647279A (zh) * | 2011-08-15 | 2012-08-22 | 华为终端有限公司 | 加密方法、加密卡、终端设备和机卡互锁装置 |
CN103701792A (zh) * | 2013-12-20 | 2014-04-02 | 中电长城网际系统应用有限公司 | 可信授权方法、系统、可信安全管理中心和服务器 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
WO2018103166A1 (zh) * | 2016-12-07 | 2018-06-14 | 百富计算机技术(深圳)有限公司 | 一种 pos 终端的密钥下载方法和装置 |
CN106850207A (zh) * | 2017-02-28 | 2017-06-13 | 南方电网科学研究院有限责任公司 | 无ca的身份认证方法和系统 |
CN108376211A (zh) * | 2018-02-07 | 2018-08-07 | 杭州矩视科技有限公司 | 一种软件授权管理方法、服务器及系统 |
CN109861817A (zh) * | 2019-02-26 | 2019-06-07 | 数安时代科技股份有限公司 | 生成密钥的方法、装置、系统、设备和介质 |
CN110348181A (zh) * | 2019-07-15 | 2019-10-18 | 广东名阳信息科技有限公司 | 一种校验软件使用权合法性的方法 |
CN110691098A (zh) * | 2019-10-29 | 2020-01-14 | 北京龙德时代技术服务有限公司 | 民爆信息多重加密通讯方法 |
CN110968844A (zh) * | 2019-12-02 | 2020-04-07 | 卫盈联信息技术(深圳)有限公司 | 离线状态下的软件授权方法、服务器及可读存储介质 |
CN114765534A (zh) * | 2020-12-31 | 2022-07-19 | 天翼数字生活科技有限公司 | 基于国密标识密码算法的私钥分发系统 |
CN113242224A (zh) * | 2021-04-30 | 2021-08-10 | 北京市商汤科技开发有限公司 | 授权方法及装置、电子设备和存储介质 |
CN113886771A (zh) * | 2021-09-29 | 2022-01-04 | 新开普电子股份有限公司 | 一种软件授权认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114978554A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8909932B2 (en) | Method and apparatus for security over multiple interfaces | |
US8160244B2 (en) | Stateless hardware security module | |
CN100468438C (zh) | 实现硬件和软件绑定的加密和解密方法 | |
KR101714108B1 (ko) | 검증가능 누출 방지 암호화 및 복호화 | |
JP4616345B2 (ja) | 配布cdを用いて直接証明秘密鍵を装置に配布する方法 | |
CN110490008B (zh) | 安全装置及安全芯片 | |
CN1708942B (zh) | 设备特定安全性数据的安全实现及利用 | |
US20060072748A1 (en) | CMOS-based stateless hardware security module | |
EP1855224B1 (en) | Method and system for command authentication to achieve a secure interface | |
WO2006053304A9 (en) | Volatile device keys and applications thereof | |
JP2004538584A (ja) | 電子装置における情報の処理方法、システム、電子装置及び処理ブロック | |
JP2018500823A (ja) | 装置鍵保護 | |
CN103138939A (zh) | 云存储模式下基于可信平台模块的密钥使用次数管理方法 | |
US9338003B2 (en) | Secure modules using unique identification elements | |
US20110116635A1 (en) | Methods circuits devices and systems for provisioning of cryptographic data to one or more electronic devices | |
KR102645542B1 (ko) | 차량 내부 네트워크 장치 및 방법 | |
US8774407B2 (en) | System and method for executing encrypted binaries in a cryptographic processor | |
JP2005157930A (ja) | 機密情報処理システムおよびlsi | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
CN102196317A (zh) | 一种机顶盒的保护方法及机顶盒 | |
CN112152802A (zh) | 数据加密方法、电子设备及计算机存储介质 | |
US9076002B2 (en) | Stored authorization status for cryptographic operations | |
KR20070059891A (ko) | 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법 | |
CN109495269A (zh) | 车载端对接入设备的可信验证方法及其系统、车载端 | |
CN114978554B (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 |