CN115455379A - 一种对个人电脑的软件使用授权的方法 - Google Patents
一种对个人电脑的软件使用授权的方法 Download PDFInfo
- Publication number
- CN115455379A CN115455379A CN202211113003.7A CN202211113003A CN115455379A CN 115455379 A CN115455379 A CN 115455379A CN 202211113003 A CN202211113003 A CN 202211113003A CN 115455379 A CN115455379 A CN 115455379A
- Authority
- CN
- China
- Prior art keywords
- software
- serial number
- cpu
- identification code
- signature value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000008676 import Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 2
- 238000013475 authorization Methods 0.000 abstract description 21
- 238000012795 verification Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- 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/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种对个人电脑的软件使用授权的方法,涉及信息安全技术领域,具体的技术方案为:获取个人电脑的主板序列号和CPU序列号;按照主板序列号在前、CPU序列号在后的顺序把两者拼接成一个字符串;用SM3算法对该字符串进行杂凑,得到个人电脑的识别码;把识别码发送给软件开发者;软件开发者对该识别码进行识别并做签名,对获得的签名值进行编码,得到注册码,把注册码发送给使用者;使用者对注册码进行编码,得到签名值,并利用软件内部公钥对该签名值进行验签,该对个人电脑的软件使用授权的方法,对单一计算机进行授权,取得授权后,仅有该计算机可以使用某一软件,不会出现盗用授权码或者账号的问题,适合机密性的数据管理软件使用。
Description
技术领域
本发明涉及信息安全技术领域,具体为一种对个人电脑的软件使用授权的方法。
背景技术
随着移动安全技术的发展,越来越多的软件开发商,希望其研发的软件产品的使用权能够被保护,仅允许被授权的终端设备运行该软件产品。这种方法要求软件开发商在将软件产品交付客户后,对软件在终端设备上的运行许可进行授权管理。
软件的授权方法主要有在线授权、离线授权、集团授权和试用授权,采用在线授权的方法时,当软件程序运行在不可信的执行环境时,授权码的计算过程可能被破解,可能通过篡改授权状态绕过授权保护机制;离线鉴权一般使用软件激活码的方式,该方式往往只能对单个设备进行授权,且需要收集设备机器码(包括MAC地址、CUP序列号等)才能生成鉴权凭证,同时激活码还容易泄露,安全性差;采用集团授权时,集团自己部署认证服务器管理本集团内部的软件使用。这类情况下,软件提供者无法有效控制各集团内部的认证服务器;试用授权的方法,容易导致软件滥用,且终端设备软件卸载后重新安装软件试用期重新开始计算,使得用户能够获得无限期的软件使用试用期,损害软件开发者的利益。
上述软件的使用授权是针对软件本身授权或者在线登录后取得授权,这种策略固然方便,但是无法确保软件的授权码或者登录账号不被盗用或者滥用。
发明内容
本发明提供了一种对个人电脑的软件使用授权的方法,对单一计算机进行授权,取得授权后,仅有该计算机可以使用某一软件,解决了上述背景技术中提出的对软件本身授权或者在线登录后取得授权,无法确保软件的授权码或者登录账号不被盗用或者滥用问题。
本发明提供如下技术方案:一种对个人电脑的软件使用授权的方法,包括以下步骤:
步骤一、创建命令窗口,从该命令窗口输入预设命令以获取主板信息和CPU信息,从获取的主板信息中摘出主板序列号,从获取到的CPU信息中摘出CPU序列号;
步骤二、将主板序列号和CPU序列号拼接获得总体字符串;
步骤三、对总体字符串进行杂凑,获取电脑识别码;
步骤四、将识别码发送给软件开发者,软件开发者对识别码做签名,获得签名值,对签名值进行编码,生成注册码,软件开发者将注册码发送给使用者;
步骤五、使用者将签名值导入,软件内部公钥对签名值进行验签;
步骤六、验签成功,获得软件的使用权限,验签失败,限制软件的使用。
优选的,步骤一中创建的命令窗口处于隐藏的状态。
优选的,步骤二中主板序列号和CPU序列号拼接时,需要把主板序列号放在前面,CPU序列号放在后面。
优选的,步骤四中,软件开发者用预设的私钥对识别码进行识别,对识别码中的字符串用算法进行签名获得签名值,对获得的签名值进行编码,生成注册码。
优选的,识别码和注册码的交流方式在于开发者选用的注册模式。
优选的,步骤五中使用者对接收的注册码进行解码后,能够得到签名值。
与现有技术对比,本发明具备以下有益效果:
1、该对个人电脑的软件使用授权的方法,对单一计算机进行授权,取得授权后,仅有该计算机可以使用某一软件,不会出现盗用授权码或者账号的问题,适合机密性的数据管理软件使用。
2、该对个人电脑的软件使用授权的方法,通过远程解锁智能密码钥匙可以在保障安全的情况下提高解锁效率,不用通过快递发送设备,有很高的经济性及安全性,方便用户使用。
附图说明
图1为本发明工作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种实施例:请参阅图1,一种对个人电脑的软件使用授权的方法,包括以下步骤:
步骤一、创建命令窗口,并将该命令窗口隐藏,以隐藏个人电脑信息获取方式,从该命令窗口输入预设命令以获取主板信息和CPU信息,从获取的主板信息中摘出主板序列号,从获取到的CPU信息中摘出CPU序列号;
步骤二、将主板序列号和CPU序列号拼接获得总体字符串,且在拼接时,主板序列号和CPU序列号的拼接顺序为主板序列号在前、CPU序列号在后;
步骤三、对总体字符串用公开算法SM3算法进行杂凑,获得的杂凑值为这台电脑的识别码,获取电脑识别码;
步骤四、使用者根据软件开发者设置的注册模式,将识别码发送给软件开发者,软件开发者用预设的私钥对识别码进行识别,对识别码中的字符串用SM2算法进行SM2签名获得签名值,对获得的签名值进行Base64编码,生成注册码,软件开发者将注册码利用相同路径发送给使用者;
步骤五、使用者对接收的注册码进行Base64解码,获得签名值,使用者将签名值导入,软件内部公钥对签名值进行验签;
步骤六、验签成功,获得软件的使用权限,验签失败,限制软件的使用。
实施例1:
创建命令窗口,并将该命令窗口隐藏,从该命令窗口输入预设命令以获取主板信息和CPU信息,从获取的主板信息中摘出主板序列号,从获取到的CPU信息中摘出CPU序列号;将主板序列号在前、CPU序列号在后的顺序拼接成一个总体字符串;对总体字符串用公开算法SM3算法进行杂凑,获得的杂凑值为这台电脑的识别码,获取电脑识别码;使用者需要将识别码选中按ctrl+c复制,然后按ctrl+v粘贴到聊天软件按发送键发送给软件开发者,开发者对识别码用预设的私钥对字符串用国家发布的公开算法SM2算法进行SM2签名获得签名值,对获得的签名值进行Base64编码后作为注册码使用,然后软件开发者需要将注册码通过聊天软件发送给使用者;使用者将注册码导入,软件读取后,对注册码进行Base64解码,获得签名值,然后用内部的公钥对签名值进行SM2验签;验签成功,允许使用软件。
实施例2:
创建命令窗口,并将该命令窗口隐藏,从该命令窗口输入预设命令以获取主板信息和CPU信息,从获取的主板信息中摘出主板序列号,从获取到的CPU信息中摘出CPU序列号;将主板序列号在前、CPU序列号在后的顺序拼接成一个总体字符串;对总体字符串用公开算法SM3算法进行杂凑,获得的杂凑值为这台电脑的识别码,获取电脑识别码;使用者需要将识别码通过邮件发送给软件开发者,开发者对识别码用预设的私钥对字符串用国家发布的公开算法SM2算法进行SM2签名获得签名值,对获得的签名值进行Base64编码后作为注册码使用,然后软件开发者需要将注册码通过邮件发送给使用者;使用者将注册码导入,软件读取后,对注册码进行Base64解码,获得签名值,然后用内部的公钥对签名值进行SM2验签;验签失败,不允许使用软件。
用SM3算法对总体字符串进行杂凑的实施例为:
GetBaseBoardByCmd_WIN(motherBoardNum,&motherBoardNumLen);
GetCpuByCmd_WIN(cpuNum,&cpuNumLen);
strcat(motherBoardNum,cpuNum);
motherBoardNumLen+=cpuNumLen;
sm3_init(&Sm3_CTX);
sm3_update(&Sm3_CTX,motherBoardNum,motherBoardNumLen);
sm3_final(sm3Data_t,&Sm3_CTX);
str2hex(sm3Data_t,32,sm3DataHex_t);
memset(sm3Data,0,65);
memcpy((char*)sm3Data,(const char*)sm3DataHex_t,64);
return rv.
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种对个人电脑的软件使用授权的方法,其特征在于:包括以下步骤:
步骤一、创建命令窗口,从该命令窗口输入预设命令以获取主板信息和CPU信息,从获取的主板信息中摘出主板序列号,从获取到的CPU信息中摘出CPU序列号;
步骤二、将主板序列号和CPU序列号拼接获得总体字符串;
步骤三、对总体字符串进行杂凑,获取电脑识别码;
步骤四、将识别码发送给软件开发者,软件开发者对识别码做签名,获得签名值,对签名值进行编码,生成注册码,软件开发者将注册码发送给使用者;
步骤五、使用者将签名值导入,软件内部公钥对签名值进行验签;
步骤六、验签成功,获得软件的使用权限,验签失败,限制软件的使用。
2.根据权利要求1所述的一种对个人电脑的软件使用授权的方法,其特征在于:步骤一中创建的命令窗口处于隐藏的状态。
3.根据权利要求1所述的一种对个人电脑的软件使用授权的方法,其特征在于:步骤二中主板序列号和CPU序列号拼接时,需要把主板序列号放在前面,CPU序列号放在后面。
4.根据权利要求1所述的一种对个人电脑的软件使用授权的方法,其特征在于:步骤四中,软件开发者用预设的私钥对识别码进行识别,对识别码中的字符串用算法进行签名获得签名值,对获得的签名值进行编码,生成注册码。
5.根据权利要求1所述的一种对个人电脑的软件使用授权的方法,其特征在于:识别码和注册码的交流方式在于开发者选用的注册模式。
6.根据权利要求1所述的一种对个人电脑的软件使用授权的方法,其特征在于:步骤五中使用者对接收的注册码进行解码后,能够得到签名值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211113003.7A CN115455379A (zh) | 2022-09-14 | 2022-09-14 | 一种对个人电脑的软件使用授权的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211113003.7A CN115455379A (zh) | 2022-09-14 | 2022-09-14 | 一种对个人电脑的软件使用授权的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455379A true CN115455379A (zh) | 2022-12-09 |
Family
ID=84303723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211113003.7A Pending CN115455379A (zh) | 2022-09-14 | 2022-09-14 | 一种对个人电脑的软件使用授权的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455379A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574352A (zh) * | 2024-01-16 | 2024-02-20 | 苏州元脑智能科技有限公司 | 一种软硬件结合的防伪方法、系统、设备及存储介质 |
-
2022
- 2022-09-14 CN CN202211113003.7A patent/CN115455379A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574352A (zh) * | 2024-01-16 | 2024-02-20 | 苏州元脑智能科技有限公司 | 一种软硬件结合的防伪方法、系统、设备及存储介质 |
CN117574352B (zh) * | 2024-01-16 | 2024-04-05 | 苏州元脑智能科技有限公司 | 一种软硬件结合的防伪方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9292665B2 (en) | Secure serial number | |
CA2591968C (en) | Authentication device and/or method | |
US8590024B2 (en) | Method for generating digital fingerprint using pseudo random number code | |
CN110162936A (zh) | 一种软件内容的使用授权方法 | |
CN101291228B (zh) | 一种超级密码的生成、认证方法和系统、设备 | |
AU2005318933A1 (en) | Authentication device and/or method | |
CN112528257A (zh) | 安全调试方法、装置、电子设备及存储介质 | |
CN115618399A (zh) | 基于区块链的身份认证方法、装置、电子设备和可读介质 | |
CN111585762A (zh) | 一种基于零知识证明的服务器登录认证系统 | |
CN114758433A (zh) | 一种基于云端的动态密码生成方法、系统和智能锁 | |
CN115455379A (zh) | 一种对个人电脑的软件使用授权的方法 | |
WO2015062441A1 (zh) | CGI web界面下的多会话验证码的产生及验证方法 | |
CN1786864A (zh) | 一种计算机安全认证方法 | |
CN110995654B (zh) | 基于动态二维码的终端临时授权方法、装置及系统 | |
CN106452845B (zh) | 一种在线解锁的实现方法及装置 | |
CN109684791A (zh) | 一种软件保护方法及装置 | |
CN108234491A (zh) | 协议关联验证方法、装置及电子设备 | |
CN112150151B (zh) | 安全支付方法、装置、电子设备及存储介质 | |
CN113962195A (zh) | 车桩交互身份的识别系统、在线识别方法和离线识别方法 | |
JP3563012B2 (ja) | ユーザ認証システムおよびユーザ認証方法 | |
CN115859389B (zh) | 一种基于私有化部署的软件序列号授权方法及系统 | |
CN113873519B (zh) | 一种基于区块链的数字资产载体终端 | |
CN109779411B (zh) | 基于区块链的密码锁开锁方法、装置及设备 | |
CN117056879B (zh) | 一种分散控制系统可信策略启停授权方法和系统 | |
CN112449143B (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 |