CN113886771A - 一种软件授权认证方法 - Google Patents

一种软件授权认证方法 Download PDF

Info

Publication number
CN113886771A
CN113886771A CN202111152354.4A CN202111152354A CN113886771A CN 113886771 A CN113886771 A CN 113886771A CN 202111152354 A CN202111152354 A CN 202111152354A CN 113886771 A CN113886771 A CN 113886771A
Authority
CN
China
Prior art keywords
authorization
information
software
service system
opening
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
Application number
CN202111152354.4A
Other languages
English (en)
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.)
Newcapec Electronics Co Ltd
Original Assignee
Newcapec Electronics 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 Newcapec Electronics Co Ltd filed Critical Newcapec Electronics Co Ltd
Priority to CN202111152354.4A priority Critical patent/CN113886771A/zh
Publication of CN113886771A publication Critical patent/CN113886771A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种软件授权认证方法,属于软件加密技术领域。方法包括:业务系统向授权认证服务器发起授权申请信息,授权认证服务器使用平台公钥对授权申请信息进行加密生成授权申请文件;授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息,进而生成授权开通信息,接着使用平台私钥对授权开通信息进行签名,生成授权开通文件;授权认证服务器使用平台公钥验证授权开通文件的签名,并解析出授权开通信息;业务系统根据客户编码查询授权信息,通过软件公钥对授权信息进行解密后进行授权认证。本发明的授权认证过程中无需获取主机的硬件信息,提高了授权认证的可靠性。

Description

一种软件授权认证方法
技术领域
本发明涉及一种软件授权认证方法,属于软件加密技术领域。
背景技术
软件开发商为了保障自己的权利,对软件进行了各式各样的保护,客户端在使用该软件时,需要得到软件的授权认证。
目前软件系统的授权认证均是通过获取用户的主机硬件信息实现的,例如:申请公布号为CN 111625783 A的中国发明专利申请文件,该申请文件公开了一种基于多级加密的软件授权管理系统,其认证方法包括:首先,软件授权客户端在获取到用户对目标软件的注册请求时,基于对用户主机硬件指纹信息的收集和加密形成申请文件,并将申请文件发送至软件授权管理服务器,软件授权管理服务器对申请文件进行加密和签名形成注册文件,并将其反馈至软件授权客户端,软件授权客户端对接收到的注册文件进行验证签名,完成软件授权。该认证方法在软件授权客户端获取到对目标软件的注册请求时,对该目标软件进行加密形成申请文件,以形成对软件的第一道防护,然后由软件授权管理服务器对申请文件进行加密及签名形成唯一的注册文件,以形成对软件的第二道防护,多级加密,以对软件形成有效防护,从而防止未经授权用户使用软件。
上述认证方法的前提是需要获取用户的主机硬件信息,然而在实际认证的过程中,获取用户的主机硬件信息的认证方法存在以下缺陷:
1.当用户软件是基于docker容器化环境进行安装部署时,无法获取到用户主机的硬件信息,进而无法实现软件授权认证。
2.当软件集群化部署时,多台用户主机通过负载提供服务时,获取到的用户硬件信息就不是固定某一台的,也存在验证不过的情况。
综上,现有的认证方法可靠性差。
发明内容
本申请的目的在于提供一种软件授权认证方法,用以解决现有认证方法可靠性差的问题。
为实现上述目的,本申请提出了一种软件授权认证方法的技术方案,软件授权认证方法包括以下步骤:
1)业务系统向授权认证服务器发起授权申请信息,授权认证服务器使用平台公钥对授权申请信息进行加密生成授权申请文件,并将授权申请文件发送至业务系统;授权申请信息包括软件产品编码、客户编码、授权申请类型、期望授权到期日期;平台公钥由授权管理平台生成并导出至授权认证服务器;
2)业务系统将授权申请文件发送至授权管理平台,授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息,根据授权申请信息生成授权开通信息,接着使用平台私钥对授权开通信息进行签名,生成授权开通文件,将生成的授权开通文件发送至业务系统;授权开通信息包括客户编码和对应的使用软件私钥进行加密的授权信息;授权信息包括授权功能、系统到期时间;
3)业务系统将授权开通文件发送至授权认证服务器,授权认证服务器使用平台公钥验证授权开通文件的签名,并解析出授权开通信息,将授权开通信息发送至业务系统;
4)业务系统根据客户编码查询授权信息,通过软件公钥对授权信息进行解密后进行授权认证;软件公钥由授权管理平台生成并导出至业务系统。
本发明的软件授权认证方法的技术方案的有益效果是:本发明的业务系统通过调用授权认证服务器生成授权申请文件,并且授权管理平台根据授权申请文件生成授权开通文件,最后业务系统再次调用授权认证服务器对授权开通文件进行解密得到授权开通信息,使得业务系统根据授权开通信息进行授权认证。本发明的授权认证过程中无需获取主机的硬件信息,提高了授权认证的可靠性。
进一步地,为了提高安全性,所述步骤1)中,授权认证服务器使用平台公钥对授权申请信息进行加密生成授权申请文件的过程包括:
授权认证服务器使用它自身的服务公私钥对中的服务私钥对授权申请信息进行加密,并将加密后的授权申请信息和服务公钥组成授权申请信息明文,进而使用平台公钥对授权申请信息明文进行加密生成授权申请文件;
所述步骤2)中授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息的步骤包括:
授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息明文,并解析出授权申请信息明文中的服务公钥,接着使用服务公钥对加密后的授权申请信息进行解密,得到解密后的授权申请信息。
进一步地,为了提高安全性,所述步骤2)中授权管理平台还包括使用服务公钥对授权开通信息进行加密的步骤,将加密后的授权开通信息密文使用平台私钥进行签名,得到授权开通文件;所述步骤3)中授权认证服务器还包括使用服务私钥对授权开通信息进行解密的步骤。
进一步地,为了提高安全性,所述步骤2)的授权开通信息中还包括使用软件私钥进行加密的业务系统敏感信息,所述步骤4)中还包括业务系统使用软件公钥对业务系统敏感信息进行验证的步骤。
进一步地,授权申请文件和授权开通文件均采用链状结构。
进一步地,为了避免多次导入授权开通信息至业务系统,授权开通文件中包括上一次授权开通的hash值,所述步骤3)中授权认证服务器还包括将授权开通文件中上一次授权开通的hash值与本地存储的上一次授权申请的hash值进行比较的步骤,若hash值相同,则验证成功,将授权开通信息发送至业务系统,若不相同,则认为非法,向业务系统返回非法结果。
进一步地,为了提高安全性,业务系统与授权服务器之间进行授权开通信息的交互时,还包括采用双方协议的共享会话密钥进行加密解密的步骤。
进一步地,所述授权开通信息还包括业务系统差异化信息,业务系统差异化信息包括硬件特征码、数据库特征码、关键数据唯一标识,所述步骤4)中业务系统还包括验证业务系统差异化信息的步骤。
进一步地,业务系统和授权认证服务器采用JWT方式的接口通讯。
进一步地,平台公私钥对采用国密SM2算法。
附图说明
图1是本发明软件授权认证系统的系统框图;
图2是本发明软件授权认证方法的流程图。
具体实施方式
软件授权认证方法实施例:
本发明的主要构思在于,基于现有认证方法需获取主机硬件信息而导致授权认证失败的问题,本发明的软件授权认证系统包括授权管理平台、授权认证服务器、以及业务系统,业务系统通过调用授权认证服务器生成申请文件,进而将申请文件发送至授权管理平台,授权管理平台根据申请文件生成授权开通文件发送至业务系统,进而业务系统再次调用授权认证服务器完成授权开通文件的解密,最终实现授权认证,提高了认证的可靠性。
软件授权认证系统如图1所示,包括授权管理平台、授权认证服务器、以及业务系统。授权认证服务器是软件开发商的工作人员进行现场部署的,授权认证服务器与业务系统的接口通讯采用JWT方式,使用业务接口之前需要先进行登录,得到访问业务接口的Token。
同时,为了授权认证服务器部署的便利性,若用户软件部署在docker容器化环境中,那么直接将授权认证服务器部署在docker容器化环境中。当然,作为其他实施方式,授权认证服务器也可以部署在其他位置,本发明并不做限制。
上述软件授权认证系统中,授权管理平台用于进行业务系统软件产品维护、非对称密钥生成及管理等;授权认证服务器:部署在客户现场,为业务系统软件提供授权认证服务;业务系统:部署在客户现场或云端,用于调用授权认证服务器获取的授权申请文件、导入授权开通文件,验证业务系统授权状态。
具体地,软件授权认证系统进行授权认证的软件授权认证方法如图2所示,包括以下步骤:
1)授权管理平台生成平台公私钥对,将平台公钥在安全环境下预制在授权认证服务器中,平台私钥密文进行保存。
将平台公钥在安全环境下预制在授权认证服务器的过程包括:将平台公钥按照自定义算法打散导出至授权认证服务器。
2)授权管理平台配置业务系统软件信息、以及软件公私钥对,将并将软件公钥在安全环境下预制到业务系统中,软件私钥进行保存。
业务系统软件信息包括业务系统软件的产品编码和名称及其子系统的产品编码和名称。
将业务系统公钥在安全环境下预制到业务系统的过程包括:将业务系统公钥按照自定义算法打散导出至业务系统。
步骤1)和步骤2)中平台公私钥对和软件公私钥对采用国密SM2密码算法,当然,也可以采用国密SM3密码算法等现有技术中的其它密码算法,本发明对此不做限制。
3)业务系统调用授权认证服务器生成授权申请文件,并将授权申请文件发送至业务系统。
具体步骤为:a.业务系统向授权认证服务器发起授权申请信息;授权申请信息包括软件产品编码、客户编码、业务系统差异化信息、ERP编号、授权申请类型、期望授权到期日期、业务系统平台当前时间。
b.授权认证服务器首次启动时生成服务公私钥对;服务公私钥对采用国密SM2密码算法;
c.使用服务私钥对授权申请信息进行加密,并将加密后的授权申请信息和服务公钥组成授权申请信息明文;
d.使用平台公钥对授权申请信息明文进行加密,生成授权申请文件,将授权申请文件发送至业务系统。授权申请文件采用链状结构。
业务系统差异化信息包括硬件特征码、数据库特征码、关键数据唯一标识等等,要求保证业务系统软件平台的唯一性,要求有业务信息参与,能够防复制,防镜像,防虚拟机。
4)业务系统以邮件的方式向授权管理平台发送授权申请文件,授权管理平台根据授权申请文件生成授权开通文件,并将授权开通文件发送至业务系统。
具体步骤为:a.授权管理平台通过平台私钥对授权申请文件进行解密,得到授权申请信息明文(授权申请信息明文包括加密后的授权申请信息和服务公钥);
b.授权管理平台解析授权申请信息明文,得到服务公钥;
c.使用服务公钥对加密后的授权申请信息进行解密,得到授权申请信息;
d.根据授权申请信息进行业务系统授权,生成授权开通信息;授权开通信息采用链状结构,包括客户编码、是否首次申请、是否断链、上次授权开通信息hash值、业务系统敏感信息、授权信息等(授权管理平台根据业务系统的授权需求,对业务系统敏感信息和授权信息使用软件私钥进行签名);授权信息包括授权功能、系统到期时间、以及业务系统差异化信息;
e.使用服务公钥对授权开通信息进行加密;
f.使用平台私钥对加密后的授权开通信息进行签名,得到授权开通文件,将授权开通文件以邮件的方式发送至业务系统。
5)业务系统将授权开通文件导入授权认证服务器,授权认证服务器对授权开通文件进行验证,并导出验证结果至业务系统。
具体步骤为:a.授权认证服务器使用平台公钥对授权开通文件的签名进行验证,解析出加密后的授权开通信息;
b.使用服务私钥得到解密后的授权开通信息;
c.将授权开通信息的明文中的上次授权开通信息hash值与本地存储的上次授权开通信息hash值进行比较(当判断为首次申请或断链时,不进行hash值的比较);
d.若一致,则将授权开通信息存储入库,并使用共享会话密钥(简称共享密钥)对授权开通信息进行加密后返回至业务系统;
e.若不一致,则认为非法,向业务系统返回非法结果。
本步骤中,业务系统与授权认证服务器之间的数据交互,采用双方协议的共享会话密钥进行加密,共享会话密钥的算法采用随机数参与的自定义算法。
本步骤中,进行hash值比较的意义在于避免多次导入授权开通信息,如果hash值不一致,则标明为多次导入状态,为非法状态,如果hash值一致,则表明非多次导入。
7)业务系统对授权开通信息进行验证,完成授权认证。
具体步骤为:a.业务系统共享会话密钥得到解密后授权开通文件;
b.根据客户编码查询对应的授权信息、以及业务系统敏感信息;
c.使用软件公钥对授权信息、以及业务系统敏感信息的签名进行验证,并解析出授权信息;
d.验证授权信息中的授权功能、系统到期时间、以及业务系统差异化信息,完成授权认证。
本发明的业务系统通过调用授权认证服务器生成授权申请文件,使用应用软件不管在windows系统、Linux系统、docker容器化环境及集群化部署环境下,都可以获取到软件授权申请信息,扩展了应用软件授权认证的范围,提高了认证的可靠性。

Claims (10)

1.一种软件授权认证方法,其特征在于,包括以下步骤:
1)业务系统向授权认证服务器发起授权申请信息,授权认证服务器使用平台公钥对授权申请信息进行加密生成授权申请文件,并将授权申请文件发送至业务系统;授权申请信息包括软件产品编码、客户编码、授权申请类型、期望授权到期日期;平台公钥由授权管理平台生成并导出至授权认证服务器;
2)业务系统将授权申请文件发送至授权管理平台,授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息,根据授权申请信息生成授权开通信息,接着使用平台私钥对授权开通信息进行签名,生成授权开通文件,将生成的授权开通文件发送至业务系统;授权开通信息包括客户编码和对应的使用软件私钥进行加密的授权信息;授权信息包括授权功能、系统到期时间;
3)业务系统将授权开通文件发送至授权认证服务器,授权认证服务器使用平台公钥验证授权开通文件的签名,并解析出授权开通信息,将授权开通信息发送至业务系统;
4)业务系统根据客户编码查询授权信息,通过软件公钥对授权信息进行解密后进行授权认证;软件公钥由授权管理平台生成并导出至业务系统。
2.根据权利要求1所述的软件授权认证方法,其特征在于,所述步骤1)中,授权认证服务器使用平台公钥对授权申请信息进行加密生成授权申请文件的过程包括:
授权认证服务器使用它自身的服务公私钥对中的服务私钥对授权申请信息进行加密,并将加密后的授权申请信息和服务公钥组成授权申请信息明文,进而使用平台公钥对授权申请信息明文进行加密生成授权申请文件;
所述步骤2)中授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息的步骤包括:
授权管理平台使用平台私钥对授权申请文件进行解密得到授权申请信息明文,并解析出授权申请信息明文中的服务公钥,接着使用服务公钥对加密后的授权申请信息进行解密,得到解密后的授权申请信息。
3.根据权利要求2所述的软件授权认证方法,其特征在于,所述步骤2)中授权管理平台还包括使用服务公钥对授权开通信息进行加密的步骤,将加密后的授权开通信息密文使用平台私钥进行签名,得到授权开通文件;所述步骤3)中授权认证服务器还包括使用服务私钥对授权开通信息进行解密的步骤。
4.根据权利要求1所述的软件授权认证方法,其特征在于,所述步骤2)的授权开通信息中还包括使用软件私钥进行加密的业务系统敏感信息,所述步骤4)中还包括业务系统使用软件公钥对业务系统敏感信息进行验证的步骤。
5.根据权利要求1所述的软件授权认证方法,其特征在于,授权申请文件和授权开通文件均采用链状结构。
6.根据权利要求5所述的软件授权认证方法,其特征在于,授权开通文件中包括上一次授权开通的hash值,所述步骤3)中授权认证服务器还包括将授权开通文件中上一次授权开通的hash值与本地存储的上一次授权申请的hash值进行比较的步骤,若hash值相同,则验证成功,将授权开通信息发送至业务系统,若不相同,则认为非法,向业务系统返回非法结果。
7.根据权利要求6所述的软件授权认证方法,其特征在于,业务系统与授权服务器之间进行授权开通信息的交互时,还包括采用双方协议的共享会话密钥进行加密解密的步骤。
8.根据权利要求1所述的软件授权认证方法,其特征在于,所述授权开通信息还包括业务系统差异化信息,业务系统差异化信息包括硬件特征码、数据库特征码、关键数据唯一标识,所述步骤4)中业务系统还包括验证业务系统差异化信息的步骤。
9.根据权利要求1所述的软件授权认证方法,其特征在于,业务系统和授权认证服务器采用JWT方式的接口通讯。
10.根据权利要求1所述的软件授权认证方法,其特征在于,平台公私钥对采用国密SM2算法。
CN202111152354.4A 2021-09-29 2021-09-29 一种软件授权认证方法 Pending CN113886771A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111152354.4A CN113886771A (zh) 2021-09-29 2021-09-29 一种软件授权认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111152354.4A CN113886771A (zh) 2021-09-29 2021-09-29 一种软件授权认证方法

Publications (1)

Publication Number Publication Date
CN113886771A true CN113886771A (zh) 2022-01-04

Family

ID=79008096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111152354.4A Pending CN113886771A (zh) 2021-09-29 2021-09-29 一种软件授权认证方法

Country Status (1)

Country Link
CN (1) CN113886771A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114465803A (zh) * 2022-02-15 2022-05-10 阿里巴巴(中国)有限公司 对象授权方法、装置、系统及存储介质
CN114978554A (zh) * 2022-07-29 2022-08-30 广州匠芯创科技有限公司 一种软件授权认证系统及方法
CN115567314A (zh) * 2022-10-14 2023-01-03 中电云数智科技有限公司 一种基于硬件可信信任链的License安全代理方法和平台
CN115587342A (zh) * 2022-11-28 2023-01-10 金现代信息产业股份有限公司 一种软件产品授权许可保护系统及方法
CN116127418A (zh) * 2023-04-14 2023-05-16 深圳竹云科技股份有限公司 容器应用授权方法、装置及计算机设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114465803A (zh) * 2022-02-15 2022-05-10 阿里巴巴(中国)有限公司 对象授权方法、装置、系统及存储介质
CN114465803B (zh) * 2022-02-15 2024-03-01 阿里巴巴(中国)有限公司 对象授权方法、装置、系统及存储介质
CN114978554A (zh) * 2022-07-29 2022-08-30 广州匠芯创科技有限公司 一种软件授权认证系统及方法
CN114978554B (zh) * 2022-07-29 2022-10-18 广州匠芯创科技有限公司 一种软件授权认证系统及方法
CN115567314A (zh) * 2022-10-14 2023-01-03 中电云数智科技有限公司 一种基于硬件可信信任链的License安全代理方法和平台
CN115567314B (zh) * 2022-10-14 2024-01-30 中电云计算技术有限公司 一种基于硬件可信信任链的License安全代理方法和平台
CN115587342A (zh) * 2022-11-28 2023-01-10 金现代信息产业股份有限公司 一种软件产品授权许可保护系统及方法
CN115587342B (zh) * 2022-11-28 2023-11-07 金现代信息产业股份有限公司 一种软件产品授权许可保护系统及方法
CN116127418A (zh) * 2023-04-14 2023-05-16 深圳竹云科技股份有限公司 容器应用授权方法、装置及计算机设备
CN116127418B (zh) * 2023-04-14 2023-06-27 深圳竹云科技股份有限公司 容器应用授权方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
US9654468B2 (en) System and method for secure remote biometric authentication
US7685421B2 (en) System and method for initializing operation for an information security operation
CA2241052C (en) Application level security system and method
CN113886771A (zh) 一种软件授权认证方法
US8689300B2 (en) Method and system for generating digital fingerprint
CN105743638B (zh) 基于b/s架构系统客户端授权认证的方法
CN109361668A (zh) 一种数据可信传输方法
CN109981255B (zh) 密钥池的更新方法和系统
EP1401143A1 (en) Methods and system for providing a public key fingerprint list in a PK system
CN109728909A (zh) 基于USBKey的身份认证方法和系统
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
TWM623435U (zh) 使用多安全層級驗證客戶身分與交易服務之系統
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN107733636B (zh) 认证方法以及认证系统
CN112565265B (zh) 物联网终端设备间的认证方法、认证系统及通讯方法
CN111159684B (zh) 一种基于浏览器的安全防护系统和方法
EP1886204B1 (en) Transaction method and verification method
CN108809633B (zh) 一种身份认证的方法、装置及系统
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统
CN113472793A (zh) 一种基于硬件密码设备的个人数据保护系统
CN111740995A (zh) 一种授权认证方法及相关装置
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN110098925B (zh) 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统
CN111541708B (zh) 一种基于电力配电的身份认证方法
CN110572257B (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