CN117807567A - 一种软件功能授权方法及装置 - Google Patents
一种软件功能授权方法及装置 Download PDFInfo
- Publication number
- CN117807567A CN117807567A CN202311864593.1A CN202311864593A CN117807567A CN 117807567 A CN117807567 A CN 117807567A CN 202311864593 A CN202311864593 A CN 202311864593A CN 117807567 A CN117807567 A CN 117807567A
- Authority
- CN
- China
- Prior art keywords
- authorization
- information
- preset
- software
- code
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 357
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012795 verification Methods 0.000 claims abstract description 115
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 54
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
-
- 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/31—User authentication
-
- 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种软件功能授权方法及装置,涉及计算机技术领域。该方法通过响应针对预设软件的非首次登录操作,获取针对预设软件的使用许可文件,使用许可文件为预先在预设软件的首次登录过程中获取的许可文件;加载使用许可文件,获取预设软件的授权码;采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息;读取预设软件的第一本地设备信息;根据授权明文信息和第一本地设备信息进行授权验证;若授权验证通过,则授权非首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。从而,通过预先从服务器获取预设软件的授权码,通过非对称解密确保了信息安全,再通过授权验证,保证授权安全性以及准确性。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种软件功能授权方法及装置。
背景技术
目前,随着通信技术的发展,数据加解密技术的应用已经越来越广泛。对于软件厂商,若想在日益严峻的竞争中快速发展业务,需要有一种有效的手段保护其核心技术以及数据安全,以确保自己的竞争优势。授权的方式也有很多种,软件厂商在线授权,需要搭建公网服务器,成本较高;且对于一些无法使用公网的环境,或者政企、金融行业等对数据保密性要求严格的环境,离线授权方式就显得尤为重要。目前离线授权大都是基于单独的加密算法进行的,而该方式安全性较差。
发明内容
本发明的目的在于,针对上述现有技术中的不足,本申请提供了一种软件功能授权方法及装置,以解决现有技术中授权安全性较差等问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种软件功能授权方法,应用于客户端设备,所述方法包括:
响应针对预设软件的非首次登录操作,获取针对所述预设软件的使用许可文件,所述使用许可文件为预先在所述预设软件的首次登录过程中获取的许可文件;
加载所述使用许可文件,获取所述预设软件的授权码;
采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息;
读取所述预设软件的第一本地设备信息;
根据所述授权明文信息和所述第一本地设备信息进行授权验证;
若授权验证通过,则授权所述非首次登录操作的用户信息具有所述使用许可文件对应的所述预设软件的目标功能的使用权限。
可选地,所述授权明文信息包括:授权身份信息以及授权期限信息,所述第一本地设备信息包括:本地身份信息以及当前系统时间;所述根据所述授权明文信息和所述第一本地设备信息进行授权验证,包括:
根据所述授权身份信息和所述本地身份信息进行身份验证;
若身份验证通过,则根据所述授权期限信息和所述当前系统时间进行期限验证;
若期限验证通过,则确定授权验证通过。
可选地,所述方法还包括:
若身份验证不通过,则输出第一授权失败指示信息,以指示所述本地身份信息无权限。
可选地,所述方法还包括:
若身份验证通过,但期限验证不通过,则输出第二授权失败指示信息,以指示所述授权期限信息已过期。
可选地,所述授权明文信息还包括:授权版本信息;所述第一本地设备信息还包括:当前版本信息;
所述根据所述授权身份信息和所述本地身份信息进行身份验证之前,所述方法还包括:
根据所述授权版本信息和所述当前版本信息进行版本验证。
可选地,所述响应针对预设软件的非首次登录操作,获取针对所述预设软件的使用许可文件之前,所述方法还包括:
响应针对所述预设软件的首次登录操作,获取所述客户端设备的硬件信息;
采用预设对称加密算法,对所述硬件信息进行加密处理,生成授权申请码;
将所述授权申请码发送至服务器,以使得服务器采用预设对称解密算法,对所述授权申请码进行解密得到所述硬件信息,并基于所述硬件信息生成所述预设软件的授权码;
接收所述服务器发送的所述预设软件的所述授权码,所述授权码为所述服务器采用预设非对称加密算法,对所述授权信息进行加密得到的授权码;
采用所述预设非对称解密算法,对所述授权码进行非对称解密,得到所述授权明文信息;
读取所述预设软件的第二本地设备信息;
根据所述授权明文信息和所述第二本地设备信息进行授权验证;
若授权验证通过,则将所述授权码存储为所述使用许可文件。
可选地,所述将所述授权码存储为所述使用许可文件之后,所述方法还包括:
授权所述首次登录操作的用户信息具有所述使用许可文件对应的所述预设软件的目标功能的使用权限。
第二方面,本申请实施例提供一种软件功能授权方法,应用于服务器,所述方法包括:
接收客户端设备发送的授权申请码;
采用预设对称解密算法,对所述授权申请码进行解密得到硬件信息;
根据所述硬件信息获取授权信息,并采用预设非对称加密算法对所述授权信息进行加密,生成预设软件的授权码;
将所述授权码发送至所述客户端设备,以使得所述客户端设备采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息。
第三方面,本申请实施例提供一种软件功能授权装置,应用于客户端设备,所述装置包括:
获取模块,用于响应针对预设软件的非首次登录操作,获取针对所述预设软件的使用许可文件,所述使用许可文件为预先在所述预设软件的首次登录过程中获取的许可文件;
所述获取模块,还用于加载所述使用许可文件,获取所述预设软件的授权码;
第一解密模块,用于采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息;
所述获取模块,还用于读取所述预设软件的第一本地设备信息;
验证模块,用于根据所述授权明文信息和所述第一本地设备信息进行授权验证;
授权模块,用于若授权验证通过,则授权所述非首次登录操作的用户信息具有所述使用许可文件对应的所述预设软件的目标功能的使用权限。
第四方面,本申请实施例提供一种软件功能授权装置,应用于服务器,所述装置包括:
接收模块,用于接收客户端设备发送的授权申请码;
第二解密模块,用于采用预设对称解密算法,对所述授权申请码进行解密得到所述硬件信息;
加密模块,用于根据所述硬件信息获取授权信息,并采用预设非对称加密算法对所述授权信息进行加密,生成所述预设软件的授权码;
发送模块,用于将所述授权码发送至所述客户端设备,以使得所述客户端设备采用所述预设非对称解密算法,对所述授权码进行非对称解密,得到所述授权明文信息。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供了一种软件功能授权方法及装置,该方法通过响应针对预设软件的非首次登录操作,获取针对预设软件的使用许可文件,使用许可文件为预先在预设软件的首次登录过程中获取的许可文件;加载使用许可文件,获取预设软件的授权码;采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息;读取预设软件的第一本地设备信息;根据授权明文信息和第一本地设备信息进行授权验证;若授权验证通过,则授权非首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。从而,通过预先从服务器获取预设软件的授权码,通过非对称解密确保了信息安全,再通过授权验证,保证了授权的安全性以及准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请提供的一种软件功能授权方法的流程示意图;
图2为本申请实施例提供的一种授权验证方法的流程示意图;
图3为本申请实施例提供的一种首次登录的软件功能授权方法的流程示意图;
图4为本申请提供的另一种软件功能授权方法的流程示意图;
图5为本申请实施例提供的一种软件功能授权装置的示意图;
图6为本申请实施例提供的另一种软件功能授权装置的示意图;
图7为本申请实施例提供的一种客户端设备的示意图。
图标:501-获取模块、502-第一解密模块、503-验证模块、504-授权模块、601-接收模块、602-第二解密模块、603-加密模块、604-发送模块、701-处理器、702-存储介质。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:类似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
为了提高安全性,本申请提供了一种软件功能授权方法及装置。
在描述本申请提供的一种软件功能授权方法之前,先对客户端设备和服务器进行解释。
本申请提供的一种软件功能授权方法应用于B/S结构(Browser/Server,浏览器/服务器模式),B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端设备最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户端设备上只要安装一个浏览器,服务器安装SQL Server、Oracle、MYSQL等数据库。客户端设备与服务器之间的交互,也就是浏览器通过Web Server同数据库进行数据交互。
如下通过具体示例对本申请提供的一种软件功能授权方法进行解释说明。图1为本申请提供的一种软件功能授权方法的流程示意图,该方法的执行主体是客户端设备,该客户端设备具有计算处理功能。如图1所示,该方法包括:
S101、响应针对预设软件的非首次登录操作,获取针对预设软件的使用许可文件。
其中,使用许可(license)文件为预先在预设软件的首次登录过程中获取的许可文件。许可文件中保存有预设软件的授权码。
用户登录预设软件时,都需要进行授权验证。而用户非首次登录时,使用许可文件已经保存至客户端设备,可直接获取针对预设软件的使用许可文件,以用于后续的授权验证。
S102、加载使用许可文件,获取预设软件的授权码。
预设软件的授权码为当前客户端设备针对预设软件的授权码。预设软件的授权码以字符串的形式保存在使用许可文件中,加载使用许可文件,可以直接获取预设软件的授权码。
S103、采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息。
授权码为服务器预先采用预设非对称加密算法,对授权信息进行加密得到。因此,采用预设非对称解密算法,对授权码进行非对称解密,可以得到授权明文信息。
其中,对授权码进行非对称解密时,还需要非对称解密所需的私钥。而在客户端设备响应点击进入预设软件的操作时,客户端设备会与服务器进行交互通信,获取该私钥,以用于对授权码进行非对称解密。
示例地,预设非对称解密算法为RSA加密算法或DSA(数字签名算法,DigitalSignature Algorithm)等加密算法。示例性地,以RSA加密算法为例进行说明,可以利用RSA加密算法生成RSA私钥和RSA公钥,并使用RSA私钥对授权码进行非对称解密,得到授权明文信息。在此之前,服务器预先采用RSA公钥对授权信息进行非对称加密得到授权码,由于RSA公钥破解难度很高,因此通过公钥加密授权信息可以保证信息的安全性,防止信息泄露问题。
S104、读取预设软件的第一本地设备信息。
其中,第一本地设备信息为预设软件当前登录的客户端设备的设备信息。
S105、根据授权明文信息和第一本地设备信息进行授权验证。
授权明文信息中包含了当前登录用户关于预设软件的授权信息。若第一本地设备信息符合授权明文信息,则授权验证通过,若第一本地设备信息不符合授权明文信息,则授权验证未通过。
S106、若授权验证通过,则授权非首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。
若授权验证通过,用户登录当前客户端设备可以使用许可文件对应的预设软件的目标功能,以完成授权验证。
从而,通过预先从服务器获取预设软件的授权码,通过非对称解密确保了信息安全,再通过授权验证,保证了授权的安全性以及准确性。
综上,在本实施例中,响应针对预设软件的非首次登录操作,获取针对预设软件的使用许可文件,使用许可文件为预先在预设软件的首次登录过程中获取的许可文件;加载使用许可文件,获取预设软件的授权码;采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息;读取预设软件的第一本地设备信息;根据授权明文信息和第一本地设备信息进行授权验证;若授权验证通过,则授权非首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。从而,通过预先从服务器获取预设软件的授权码,通过非对称解密确保了信息安全,再通过授权验证,保证了授权的安全性以及准确性。
在上述图1对应的实施例的基础上,本申请实施例还提供了一种授权验证方法。图2为本申请实施例提供的一种授权验证方法的流程示意图。如图2所示,授权明文信息包括:授权身份信息以及授权期限信息,第一本地设备信息包括:本地身份信息以及当前系统时间;在S105中的根据授权明文信息和第一本地设备信息进行授权验证,包括:
S201、根据授权身份信息和本地身份信息进行身份验证。
本地身份信息若与授权身份信息一致,则身份验证通过。本地身份信息若与授权身份信息不一致,则身份验证未通过。
其中,授权身份信息包括:授权硬件信息、授权用户信息,本地身份信息包括:本地硬件信息、本地用户信息。验证本地身份信息与授权身份信息是否一致时,同时验证本地硬件信息与授权硬件信息是否一致,以及本地用户信息与授权用户信息是否一致。
S202、若身份验证通过,则根据授权期限信息和当前系统时间进行期限验证。
身份验证通过之后,再进行期限验证,以确保授权安全性,并提高授权验证效率。若当前系统时间在授权期限信息之内,则期限验证通过。若当前系统时间未在授权期限信息之内,则期限验证未通过。
S203、若期限验证通过,则确定授权验证通过。
综上,在本实施例中,根据授权身份信息和本地身份信息进行身份验证;若身份验证通过,则根据授权期限信息和当前系统时间进行期限验证;若期限验证通过,则确定授权验证通过。从而,以确保授权安全性,并提高授权验证效率。
在上述图2对应的实施例的基础上,在本申请另一实施例中,该方法还包括:
若身份验证不通过,则输出第一授权失败指示信息,以指示本地身份信息无权限。
若身份验证不通过,则通过第一授权失败指示信息提示用户无身份权限,以使得用户知晓授权失败的原因,提高了授权验证的效率。
综上,在本实施例中,若身份验证不通过,则输出第一授权失败指示信息,以指示本地身份信息无权限。从而,提高了授权验证的效率。
在上述图2对应的实施例的基础上,在本申请另一实施例中,该方法还包括:
若身份验证通过,但期限验证不通过,则输出第二授权失败指示信息,以指示授权期限信息已过期。
若期限验证不通过,则通过第二授权失败指示信息提示用户的授权期限已过期,以使得用户知晓授权失败的原因,提高了授权验证的效率。
综上,在本实施例中,若身份验证通过,但期限验证不通过,则输出第二授权失败指示信息,以指示授权期限信息已过期。从而,提高了授权验证的效率。
在上述图2对应的实施例的基础上,在本申请另一实施例中,授权明文信息还包括:授权版本信息;第一本地设备信息还包括:当前版本信息。
在S201中的根据授权身份信息和本地身份信息进行身份验证之前,方法还包括:
根据授权版本信息和当前版本信息进行版本验证。
授权版本信息若与当前版本信息一致,则版本验证通过。授权版本信息若与当前版本信息不一致,则版本验证未通过。
版本验证通过之后,再根据授权身份信息和本地身份信息进行身份验证。从而,提高了授权验证效率。
综上,在本实施例中,授权明文信息还包括:授权版本信息;第一本地设备信息还包括:当前版本信息;根据授权版本信息和当前版本信息进行版本验证。从而,提高了授权验证效率。
在上述图1对应的实施例的基础上,本申请实施例还提供了一种首次登录的软件功能授权方法。图3为本申请实施例提供的一种首次登录的软件功能授权方法的流程示意图。如图3所示,在S101中的响应针对预设软件的非首次登录操作,获取针对预设软件的使用许可文件之前,该方法还包括:
S301、响应针对预设软件的首次登录操作,获取客户端设备的硬件信息。
用户首次登录预设软件时,为了获取授权信息,先获取客户端设备的硬件信息。
S302、采用预设对称加密算法,对硬件信息进行加密处理,生成授权申请码。
通过对硬件信息进行加密处理,使得用于授权申请的硬件信息更加安全。
其中,预设对称加密算法可以为AES(Advanced Encryption Standard,高级加密标准)、DES(Data Encryption Standard,数据加密标准)等加密算法。示例地,以AES算法为例进行说明,在客户端设备响应点击进入预设软件的操作时,客户端设备可以生成一个随机的16位AES密钥,后续加密时采用第一密钥对硬件信息进行加密,得到授权申请码。并将16位AES密钥发送至服务器,以使得服务器采用16位AES密钥对授权申请码进行解密。
S303、将授权申请码发送至服务器。
以使得服务器采用预设对称解密算法,对授权申请码进行解密得到硬件信息,并基于硬件信息生成预设软件的授权码;
S304、接收服务器发送的预设软件的授权码。
其中,授权码为服务器采用预设非对称加密算法,对授权信息进行加密得到的授权码。
S305、采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息;
授权码为服务器预先采用预设非对称加密算法,对授权信息进行加密得到。因此,采用预设非对称解密算法,对授权码进行非对称解密,可以得到授权明文信息。
其中,对授权码进行非对称解密时,还需要非对称解密所需的私钥。而在客户端设备响应点击进入预设软件的操作时,客户端设备会与服务器进行交互通信,获取该私钥,以用于对授权码进行非对称解密。
S306、读取预设软件的第二本地设备信息;
其中,第二本地设备信息为预设软件首次登录的客户端设备的设备信息。
S307、根据授权明文信息和第二本地设备信息进行授权验证;
授权明文信息中包含了当前登录用户关于预设软件的授权信息。若第二本地设备信息符合授权明文信息,则授权验证通过,若第二本地设备信息不符合授权明文信息,则授权验证未通过。
具体地,授权明文信息包括:授权版本信息、授权身份信息以及授权期限信息,第二本地设备信息包括:当前版本信息、本地身份信息以及当前系统时间。根据授权版本信息和当前版本信息进行版本验证。若版本验证通过,则根据授权身份信息和本地身份信息进行身份验证。若身份验证通过,则根据授权期限信息和当前系统时间进行期限验证。若期限验证通过,则确定授权验证通过。
S308、若授权验证通过,则将授权码存储为使用许可文件。
将授权码存储为使用许可文件,以便于后续非首次登录时,进行授权验证。
从而,通过对硬件信息进行对称加密,并从服务器获取预设软件的授权码,通过非对称解密确保了信息安全,实现了两次加密,再通过授权验证,保证了授权的安全性以及准确性。
综上,在本实施例中,响应针对预设软件的首次登录操作,获取客户端设备的硬件信息;采用预设对称加密算法,对硬件信息进行加密处理,生成授权申请码;将授权申请码发送至服务器,以使得服务器采用预设对称解密算法,对授权申请码进行解密得到硬件信息,并基于硬件信息生成预设软件的授权码;接收服务器发送的预设软件的授权码,授权码为服务器采用预设非对称加密算法,对授权信息进行加密得到的授权码;采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息;读取预设软件的第二本地设备信息;根据授权明文信息和第二本地设备信息进行授权验证;若授权验证通过,则将授权码存储为使用许可文件。从而,从而,通过对硬件信息进行对称加密,并从服务器获取预设软件的授权码,通过非对称解密确保了信息安全,实现了两次加密,再通过授权验证,保证了授权的安全性以及准确性。
在上述图3对应的实施例的基础上,在本申请另一实施例中,在S308中的将授权码存储为使用许可文件之后,该方法还包括:
授权首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。
若授权验证通过,用户登录当前客户端设备可以使用许可文件对应的预设软件的目标功能,以完成授权验证。
综上,在本实施例中,授权首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。从而,提高了授权效率。
如下通过具体示例对本申请提供的另一种软件功能授权方法进行解释说明。图4为本申请提供的另一种软件功能授权方法的流程示意图,该方法的执行主体是服务器,该服务器具有计算处理功能。如图4所示,该方法包括:
S401、接收客户端设备发送的授权申请码。
S402、采用预设对称解密算法,对授权申请码进行解密得到硬件信息。
在客户端设备响应点击进入预设软件的操作时,客户端设备会生成一个随机的16位AES密钥,并将16位AES密钥发送至服务器,以使得服务器采用16位AES密钥对授权申请码进行解密得到硬件信息。
S403、根据硬件信息获取授权信息,并采用预设非对称加密算法对授权信息进行加密,生成预设软件的授权码。
其中,在客户端设备响应点击进入预设软件的操作时,客户端设备会与服务器进行交互通信,服务器将预设非对称加密算法的私钥发送至客户端设备。
S404、将授权码发送至客户端设备,以使得客户端设备采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息。
综上,在本实施例中,接收客户端设备发送的授权申请码;采用预设对称解密算法,对授权申请码进行解密得到硬件信息;根据硬件信息获取授权信息,并采用预设非对称加密算法对授权信息进行加密,生成预设软件的授权码;将授权码发送至客户端设备,以使得客户端设备采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息。从而,通过非对称加密确保了信息安全,保证了授权的安全性以及准确性。
在本申请实施例的基础上,基于对硬件信息进行对称加密,获得授权信息,并对授权信息进行非对称加密形成授权码。相应地,在授权验证过程中,先通过一次校验验证针对预设软件的目标功能对应的授权码,保证预设软件的授权信息的安全性。再通过二次校验进行身份和期限验证,保证目标软件对应的目标功能的授权文件的有效性和可靠性,确保目标软件对应目标功能授权过程的安全性。
进一步地,软件授权的目的就是让用户按照购买许可来使用软件,涉及软件安装份数,使用时间以及功能模块等内容。在本申请基于B/S架构的软件功能授权方法中,针对浏览器的授权只需用户轻轻松松打开浏览器,按流程操作就可完成授权。通过浏览器所在的客户端设备与服务器之间的高效数据交互方式提升了加密性能,最终提升了软件的安全强度和用户使用体验,可广泛应用于web开发应用中。
下述对用以执行的本申请所提供的一种软件功能授权装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图5为本申请实施例提供的一种软件功能授权装置的示意图,应用于客户端设备,该装置包括:
获取模块501,用于响应针对预设软件的非首次登录操作,获取针对预设软件的使用许可文件,使用许可文件为预先在预设软件的首次登录过程中获取的许可文件。
获取模块501,还用于加载使用许可文件,获取预设软件的授权码。
第一解密模块502,用于采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息。
获取模块501,还用于读取预设软件的第一本地设备信息。
验证模块503,用于根据授权明文信息和第一本地设备信息进行授权验证。
授权模块504,用于若授权验证通过,则授权非首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。
进一步地,验证模块503,具体用于授权明文信息包括:授权身份信息以及授权期限信息,第一本地设备信息包括:本地身份信息以及当前系统时间;根据授权身份信息和本地身份信息进行身份验证;若身份验证通过,则根据授权期限信息和当前系统时间进行期限验证;若期限验证通过,则确定授权验证通过。
进一步地,验证模块503,具体还用于若身份验证不通过,则输出第一授权失败指示信息,以指示本地身份信息无权限。
进一步地,验证模块503,具体还用于若身份验证通过,但期限验证不通过,则输出第二授权失败指示信息,以指示授权期限信息已过期。
进一步地,验证模块503,具体还用于授权明文信息还包括:授权版本信息;第一本地设备信息还包括:当前版本信息;根据授权版本信息和当前版本信息进行版本验证。
进一步地,获取模块501,还用于响应针对预设软件的首次登录操作,获取客户端设备的硬件信息;采用预设对称加密算法,对硬件信息进行加密处理,生成授权申请码;将授权申请码发送至服务器,以使得服务器采用预设对称解密算法,对授权申请码进行解密得到硬件信息,并基于硬件信息生成预设软件的授权码;接收服务器发送的预设软件的授权码,授权码为服务器采用预设非对称加密算法,对授权信息进行加密得到的授权码;采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息;读取预设软件的第二本地设备信息;根据授权明文信息和第二本地设备信息进行授权验证;若授权验证通过,则将授权码存储为使用许可文件。
进一步地,授权模块504,还用于授权首次登录操作的用户信息具有使用许可文件对应的预设软件的目标功能的使用权限。
图6为本申请实施例提供的另一种软件功能授权装置的示意图,应用于服务器,该装置包括:
接收模块601,用于接收客户端设备发送的授权申请码。
第二解密模块602,用于采用预设对称解密算法,对授权申请码进行解密得到硬件信息。
加密模块603,用于根据硬件信息获取授权信息,并采用预设非对称加密算法对授权信息进行加密,生成预设软件的授权码。
发送模块604,用于将授权码发送至客户端设备,以使得客户端设备采用预设非对称解密算法,对授权码进行非对称解密,得到授权明文信息。
图7为本申请实施例提供的一种客户端设备的示意图,该客户端设备可以是具备计算处理功能的设备。
该客户端设备包括:处理器701、存储介质702。处理器701和存储介质702通过总线连接。
存储介质702用于存储程序,处理器701调用存储介质702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
服务器与客户端设备的结构原理类似,此处不再赘述。
可选地,本发明还提供一种存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种软件功能授权方法,其特征在于,应用于客户端设备,所述方法包括:
响应针对预设软件的非首次登录操作,获取针对所述预设软件的使用许可文件,所述使用许可文件为预先在所述预设软件的首次登录过程中获取的许可文件;
加载所述使用许可文件,获取所述预设软件的授权码;
采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息;
读取所述预设软件的第一本地设备信息;
根据所述授权明文信息和所述第一本地设备信息进行授权验证;
若授权验证通过,则授权所述非首次登录操作的用户信息具有所述使用许可文件对应的所述预设软件的目标功能的使用权限。
2.根据权利要求1所述的方法,其特征在于,所述授权明文信息包括:授权身份信息以及授权期限信息,所述第一本地设备信息包括:本地身份信息以及当前系统时间;所述根据所述授权明文信息和所述第一本地设备信息进行授权验证,包括:
根据所述授权身份信息和所述本地身份信息进行身份验证;
若身份验证通过,则根据所述授权期限信息和所述当前系统时间进行期限验证;
若期限验证通过,则确定授权验证通过。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若身份验证不通过,则输出第一授权失败指示信息,以指示所述本地身份信息无权限。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若身份验证通过,但期限验证不通过,则输出第二授权失败指示信息,以指示所述授权期限信息已过期。
5.权利要求2所述的方法,其特征在于,所述授权明文信息还包括:授权版本信息;所述第一本地设备信息还包括:当前版本信息;
所述根据所述授权身份信息和所述本地身份信息进行身份验证之前,所述方法还包括:
根据所述授权版本信息和所述当前版本信息进行版本验证。
6.权利要求1所述的方法,其特征在于,所述响应针对预设软件的非首次登录操作,获取针对所述预设软件的使用许可文件之前,所述方法还包括:
响应针对所述预设软件的首次登录操作,获取所述客户端设备的硬件信息;
采用预设对称加密算法,对所述硬件信息进行加密处理,生成授权申请码;
将所述授权申请码发送至服务器,以使得服务器采用预设对称解密算法,对所述授权申请码进行解密得到所述硬件信息,并基于所述硬件信息生成所述预设软件的授权码;
接收所述服务器发送的所述预设软件的所述授权码,所述授权码为所述服务器采用预设非对称加密算法,对所述授权信息进行加密得到的授权码;
采用所述预设非对称解密算法,对所述授权码进行非对称解密,得到所述授权明文信息;
读取所述预设软件的第二本地设备信息;
根据所述授权明文信息和所述第二本地设备信息进行授权验证;
若授权验证通过,则将所述授权码存储为所述使用许可文件。
7.权利要求6所述的方法,其特征在于,所述将所述授权码存储为所述使用许可文件之后,所述方法还包括:
授权所述首次登录操作的用户信息具有所述使用许可文件对应的所述预设软件的目标功能的使用权限。
8.一种软件功能授权方法,其特征在于,应用于服务器,所述方法包括:
接收客户端设备发送的授权申请码;
采用预设对称解密算法,对所述授权申请码进行解密得到硬件信息;
根据所述硬件信息获取授权信息,并采用预设非对称加密算法对所述授权信息进行加密,生成预设软件的授权码;
将所述授权码发送至所述客户端设备,以使得所述客户端设备采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息。
9.一种软件功能授权装置,其特征在于,应用于客户端设备,所述装置包括:
获取模块,用于响应针对预设软件的非首次登录操作,获取针对所述预设软件的使用许可文件,所述使用许可文件为预先在所述预设软件的首次登录过程中获取的许可文件;
所述获取模块,还用于加载所述使用许可文件,获取所述预设软件的授权码;
第一解密模块,用于采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息;
所述获取模块,还用于读取所述预设软件的第一本地设备信息;
验证模块,用于根据所述授权明文信息和所述第一本地设备信息进行授权验证;
授权模块,用于若授权验证通过,则授权所述非首次登录操作的用户信息具有所述使用许可文件对应的所述预设软件的目标功能的使用权限。
10.一种软件功能授权装置,其特征在于,应用于服务器,所述装置包括:
接收模块,用于接收客户端设备发送的授权申请码;
第二解密模块,用于采用预设对称解密算法,对所述授权申请码进行解密得到硬件信息;
加密模块,用于根据所述硬件信息获取授权信息,并采用预设非对称加密算法对所述授权信息进行加密,生成预设软件的授权码;
发送模块,用于将所述授权码发送至所述客户端设备,以使得所述客户端设备采用预设非对称解密算法,对所述授权码进行非对称解密,得到授权明文信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311864593.1A CN117807567A (zh) | 2023-12-29 | 2023-12-29 | 一种软件功能授权方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311864593.1A CN117807567A (zh) | 2023-12-29 | 2023-12-29 | 一种软件功能授权方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117807567A true CN117807567A (zh) | 2024-04-02 |
Family
ID=90426533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311864593.1A Pending CN117807567A (zh) | 2023-12-29 | 2023-12-29 | 一种软件功能授权方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117807567A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118245984A (zh) * | 2024-05-28 | 2024-06-25 | 中国石油大学(华东) | Cad软件使用权限验证方法、装置、设备及存储介质 |
-
2023
- 2023-12-29 CN CN202311864593.1A patent/CN117807567A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118245984A (zh) * | 2024-05-28 | 2024-06-25 | 中国石油大学(华东) | Cad软件使用权限验证方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110061846B (zh) | 对区块链中用户节点进行身份认证和确认的方法、装置及计算机可读存储介质 | |
CN106850699B (zh) | 一种移动终端登录认证方法及系统 | |
CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
CN1985466B (zh) | 使用分发cd按签署组向设备传递直接证据私钥的方法 | |
CN110636043A (zh) | 一种基于区块链的文件授权访问方法、装置及系统 | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
CN115242553B (zh) | 一种支持安全多方计算的数据交换方法及系统 | |
US20040143741A1 (en) | Multi-stage authorisation system | |
EP3843323A1 (en) | Computation device, computation method, computation program, and computation system | |
CN112202794A (zh) | 交易数据的保护方法、装置、电子设备和介质 | |
CN116910705A (zh) | 实现目标功能的授权方法和装置、电子设备及存储介质 | |
CN111865869A (zh) | 基于随机映射的注册、认证方法及装置、介质及电子设备 | |
CN117807567A (zh) | 一种软件功能授权方法及装置 | |
CN112217636A (zh) | 基于区块链的数据处理方法、装置、计算机设备及介质 | |
CN115580413A (zh) | 一种零信任的多方数据融合计算方法和装置 | |
CN113329004B (zh) | 一种认证方法、系统及装置 | |
CN110601836B (zh) | 密钥获取方法、装置、服务器和介质 | |
KR101856530B1 (ko) | 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버 | |
CN115514578B (zh) | 基于区块链的数据授权方法和装置、电子设备和存储介质 | |
CN117978439A (zh) | 一种基于大模型对敏感数据进行加密的方法及系统 | |
CN113127818A (zh) | 一种基于区块链的数据授权方法、装置及可读存储介质 | |
CN110602075A (zh) | 一种加密访问控制的文件流处理的方法、装置及系统 | |
CN112825093B (zh) | 安全基线检查方法、主机、服务器、电子设备及存储介质 | |
CN109284615B (zh) | 移动设备数字资源安全管理方法 | |
CN112733166A (zh) | license认证授权功能的实现方法及系统 |
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 |