CN117978399A - 基于智能密码钥匙的软件身份校验方法、装置及存储介质 - Google Patents
基于智能密码钥匙的软件身份校验方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117978399A CN117978399A CN202311869759.9A CN202311869759A CN117978399A CN 117978399 A CN117978399 A CN 117978399A CN 202311869759 A CN202311869759 A CN 202311869759A CN 117978399 A CN117978399 A CN 117978399A
- Authority
- CN
- China
- Prior art keywords
- key
- intelligent
- hash value
- intelligent password
- license
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004422 calculation algorithm Methods 0.000 claims description 70
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 10
- 230000010354 integration Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种基于智能密码钥匙的软件身份校验方法、装置及存储介质,属于网络安全技术领域。该方法包括:获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙得到第二哈希值;若第一哈希值和第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间;若智能密码钥匙时间未超过许可证失效时间,将智能密码钥匙产品编码、用户账号、硬件编码、随机数和一次性令牌整合得到第四哈希值,若第三哈希值与第四哈希值相同,则返回校验通过的结果。本申请实施例能够增强软件运行安全性,并且确保软件只在授权的环境中运行,从而保护了正版软件的权益。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种基于智能密码钥匙的软件身份校验方法、装置及存储介质。
背景技术
随着商业软件市场的快速增长,保护商业软件免受盗版和未经授权复制的问题越来越引起行业的关注。大多数商业软件需私网部署在客户服务器中,若商业软件不具备有效的防盗运行机制,通过复制服务端运行环境和软件本身,可批量部署到其他服务器环境,没有有效的身份校验机制,导致正版软件权益受损。
因此,以上技术问题,亟待业内解决。
发明内容
本申请实施例的主要目的在于提出一种基于智能密码钥匙的软件身份校验方法、装置及存储介质,以克服现有技术中的不足。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供了一种基于智能密码钥匙的软件身份校验方法,所述方法包括:
获取许可证和智能密码钥匙,根据所述许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据所述智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数;
对所述智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;
若所述第一哈希值和所述第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间;
若所述智能密码钥匙时间未超过所述许可证失效时间,将所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;
若所述第三哈希值与所述第四哈希值相同,则返回校验通过的结果。
在一些实施例中,所述方法还包括:
检测智能密码钥匙是否存在;
若所述智能密码钥匙不存在,提示用户插入所述智能密码钥匙;
若所述智能密码钥匙存在,检测许可证是否存在。
在一些实施例中,所述智能密码钥匙包括智能密码钥匙用户密码,所述方法还包括:
若所述许可证不存在,通过所述智能密码钥匙用户密码查询得到智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,将所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数整合得到智能密码钥匙标识,基于智能密码钥匙标识得到许可证。
在一些实施例中,所述方法还包括初始化智能密码钥匙,所述初始化智能密码钥匙,包括:
随机生成具备可读写权限的智能密码钥匙管理员密码、具备只读权限的智能密码用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号和随机数;
创建智能密码钥匙数据文件,写入随机数,所述智能密码钥匙数据文件由管理员具备写权限,普通用户具备读权限;
生成非对称加密算法密钥对,创建非对称加密算法私钥文件,所述非对称加密算法私钥文件由普通用户具备调用权限;
导入智能密码钥匙可执行文件。
在一些实施例中,所述调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,包括:
调用智能密码钥匙可执行文件得到加密密文,所述加密密文采用非对称加密算法私钥加密;
通过非对称加密算法公钥解密所述加密密文获取所述第三哈希值、一次性令牌和智能密码钥匙时间。
在一些实施例中,所述调用智能密码钥匙可执行文件得到加密密文,包括:
获取所述智能密码钥匙产品编码、智能密码钥匙用户账号和智能密码钥匙硬件编码;
读取智能密码钥匙数据文件,获取所述随机数;
获取智能密码钥匙时间;
读取非对称加密算法私钥文件,获取非对称加密算法私钥;
生成一次性令牌;
对所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、所述随机数和所述一次性令牌进行整合后通过哈希算法计算得到第三哈希值;
通过非对称加密算法私钥加密第三哈希值、一次性令牌和智能密码钥匙时间,得到并返回加密密文。
在一些实施例中,所述基于智能密码钥匙标识得到许可证,包括:
获取许可证生成时间和许可证失效时间;
对所述智能密码钥匙标识、许可证生成时间和许可证失效时间整合后进行哈希计算得到第一哈希值;
将许可证生成时间、许可证失效时间和第一哈希值通过非对称加密算法私钥加密后得到的密文作为许可证。
另一方面,本申请实施例提供了一种基于智能密码钥匙的软件身份校验装置,所述装置包括:
第一哈希值获取模块,用于获取许可证和智能密码钥匙,根据所述许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据所述智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,所述第一哈希值在所述许可证初始化时生成;
第二哈希值获取模块,用于对所述智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;
第三哈希值获取模块,用于若所述第一哈希值和所述第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,所述智能密码钥匙可执行文件是所述智能密码钥匙初始化时导入的文件;
第四哈希值获取模块,用于若所述智能密码钥匙时间未超过所述许可证失效时间,将所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;
结果返回模块,用于若所述第三哈希值与所述第四哈希值相同,则返回校验通过的结果。
另一方面,本申请实施例提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的基于智能密码钥匙的软件身份校验方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于智能密码钥匙的软件身份校验方法。
本申请提出的基于智能密码钥匙的软件身份校验方法、装置及存储介质,其通过获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,第一哈希值在许可证初始化时生成;对智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;若第一哈希值和第二哈希值相同,则证明许可证合法,调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,智能密码钥匙可执行文件是智能密码钥匙初始化时导入的文件;若智能密码钥匙时间未超过许可证失效时间,则证明许可证有效,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;若第三哈希值与第四哈希值相同,则证明智能密码钥匙合法,已通过双重认证,返回校验通过的结果。本申请实施例通过第一哈希值和第二哈希值证明许可证合法,第三哈希值与第四哈希值证明智能密码钥匙合法的双重校验实现运行身份校验,确保软件只在合法授权的环境下运行,增强了软件运行的安全性,并且确保软件只在授权的环境中运行,从而保护了正版软件的权益。
附图说明
图1是本申请实施例提供的基于智能密码钥匙的软件身份校验方法的流程图;
图2是本申请实施例提供的基于智能密码钥匙的软件身份校验方法的进一步流程图;
图3是图2中的步骤S204的流程图;
图4是图1中的步骤S103的流程图;
图5是图4中的步骤S401的流程图;
图6是图2中的步骤S206的流程图;
图7是本申请实施例提供的一种基于智能密码钥匙的软件身份校验方法的时序图;
图8是本申请实施例提供的一种基于智能密码钥匙的软件身份校验方法的具体应用实施例流程图;
图9是本申请实施例提供的基于智能密码钥匙的软件身份校验装置的结构示意图;
图10是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
智能密码钥匙(USB Key,UKey):是一种通过USB接口与计算机直接相连,具有密码验证功能,可靠高速的小型存储设备。它主要用作数字证书和私钥的安全存储硬件载体,并能在硬件中进行加密运算。UKey结合数字证书的数据加密和数字签名功能,广泛应用于CA中心、网上银行、电子政务、电子商务等行业,实现用户身份鉴别、数据加密保护、信息完整性保护等功能。
许可证(License):是指使用Ukey进行网上银行交易的身份认证和加密保护的授权文件。它是由银行或其他金融机构颁发给用户的一种数字证书,用于确认用户的身份和授权其使用Ukey进行交易。
令牌(Token):是指在进行身份验证和加密保护时使用的一种安全机制。它是商业软件服务端与Ukey交互会话中身份标识符,用于确认用户身份和授权操作。
哈希值(Hash值):是通过对数据进行特定算法处理后得到的固定长度的数值。
MD5(Message Digest Algorithm 5):是一种广泛使用的哈希函数,MD5将输入数据转换为128位的哈希值,被广泛应用于验证数据的完整性。
HMAC(Hash-based Message Authentication Code):HMAC是一种基于密钥的哈希函数,它结合了哈希函数和加密密钥来验证数据的完整性和认证。HMAC广泛应用于网络安全领域。
SHA-256:是一种密码散列函数,它接受任意大小的数据,并输出固定长度的哈希值。
非对称加密算法:是一种密码学中的加密技术,它使用一对不同的密钥来进行加密和解密。这对密钥包括公钥(public key)和私钥(private key),其中公钥用于加密,私钥用于解密。
随着商业软件市场的快速增长,保护商业软件免受盗版和未经授权复制的问题越来越引起行业的关注。大多数商业软件需私网部署在用户服务器中,若商业软件不具备有效的防盗运行机制,通过复制服务端运行环境和软件本身,可批量部署到其他服务器环境,没有有效的身份校验机制,导致正版软件权益受损。
因此,以上技术问题,亟待业内解决。
基于此,本申请实施例提供了一种基于智能密码钥匙的软件身份校验方法、装置及存储介质,旨在增强软件运行安全性,确保软件只在授权的环境中运行,保护正版软件的权益。
本申请实施例提供的基于智能密码钥匙的软件身份校验方法、装置及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的基于智能密码钥匙的软件身份校验方法。
本申请实施例提供的基于智能密码钥匙的软件身份校验方法,涉及网络安全技术领域。本申请实施例提供的基于智能密码钥匙的软件身份校验方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于智能密码钥匙的软件身份校验方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本申请实施例提供的基于智能密码钥匙的软件身份校验方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S106。
步骤S101,获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数;
在一些实施例中,本申请对第一哈希值不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,可以采用许可证初始化时生成的第一哈希值,也可以采用预存的第一哈希值。
在一些实施例中,本申请对随机数不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,可以采用128位随机数,也可以采用64位随机数。不同的应用场景和安全要求可能需要不同长度的随机数。一般来说,随机数的位数越多,其随机性和不可预测性就越强,从而提供更高级的安全保障。因此,根据具体的安全需求和加密算法的要求,智能密码钥匙可以灵活地生成不同位数的随机数以满足各种安全性要求。
其中,对于第一哈希值、许可证生成时间、许可证失效时间、智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,普通用户均是只有读权限,确保了数据的安全性和完整性。
可选地,有一些智能密码钥匙设备会在初始化时分配一个固定的随机数,并且在其生命周期内不会改变。这样的设计可以确保智能密码钥匙具有唯一性和不可更改性,从而增强了安全性和可靠性。这个固定的随机数可以用于生成加密密钥、认证标识等关键信息,以确保智能密码钥匙在通讯和身份验证过程中的安全性。
在一些实施例中,通过非对称加密算法公钥对许可证进行解密,获取第一哈希值、许可证生成时间和许可证失效时间。
在本实施例中,获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,为后续验证许可证有效合法做了准备。
步骤S102,对智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;
具体地,智能密码钥匙用户密码即Ukey用户密码,智能密码钥匙产品编码即Ukey产品ID,智能密码钥匙用户账号即Ukey用户ID,智能密码钥匙硬件编码即Ukey硬件ID。
在一些实施例中,对智能密码钥匙用户密码使用哈希函数(如SHA-256)进行哈希,得到第一哈希值。
在一些实施例中,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数整合在一起,形成一个字符串。
在一些实施例中,将得到的第一哈希值和形成的字符串整合在一起。
在一些实施例中,使用时间戳函数获取许可证生成时间和许可证失效时间。将这两个时间戳转换为固定长度的字符串形式,并整合在一起。
在一些实施例中,将得到的整合结果和得到的时间戳字符串整合在一起。
在一些实施例中,对整合后的结果使用哈希函数(如SHA-256)进行哈希,得到最终的第二哈希值。
需要说明的是,本申请对哈希函数不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,可以采用SHA-256哈希函数,也可以采用HMAC哈希函数,还可以采用MD5哈希函数。
可选地,本申请对整合方式不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,可以采用正则表达式匹配,也可以采用字符串连接,还可以采用字符串替换。
在本实施例中,对智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值,得到的第二哈希值可以用于验证许可证是否合法,保证了数据的安全性和完整性,可以防止非法使用软件。
步骤S103,若第一哈希值和第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间;
具体地,一次性令牌即一次性Token,智能密码钥匙时间即Ukey时间。
在一些实施例中,将第一哈希值和第二哈希值进行比较,若不同,则提示用户“许可证不合法”。
在一些实施例中,调用Ukey可执行文件返回非对称加密算法私钥加密密文,通过非对称加密算法公钥解密获取一次性Token、hash值C(Ukey可执行文件生成)、Ukey时间。
在一些实施例中,调用智能密码钥匙可执行文件得到加密密文,加密密文采用非对称加密算法私钥加密;
在一些实施例中,通过非对称加密算法公钥解密加密密文获取第三哈希值、一次性令牌和智能密码钥匙时间。
在本实施例中,若第一哈希值和第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,进行了许可证合法性校验,并且为后续的智能密码钥匙合法性校验做了准备。
步骤S104,若智能密码钥匙时间未超过许可证失效时间,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;
在一些实施例中,若智能密码钥匙时间超过许可证失效时间,提示用户“License已失效”。
在一些实施例中,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌拼接得到第四哈希值。
在本实施例中,若智能密码钥匙时间未超过许可证失效时间,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值,进行了许可证有效性校验,并且为后续的智能密码钥匙合法性校验做了准备。
步骤S105,若第三哈希值与第四哈希值相同,则返回校验通过的结果。
在一些实施例中,将第三哈希值与第四哈希值进行比较,若不同,则提示用户“智能密码钥匙不合法”。若相同,则本次软件身份认证检测程序校验通过,返回校验通过的结果,提示用户“身份认证校验通过”。
在本实施例中,若第三哈希值与第四哈希值相同,则返回校验通过的结果,进行了智能密码钥匙合法性校验,得到了校验结果。
本申请实施例所示意的步骤S101至步骤S106,通过获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,第一哈希值在许可证初始化时生成;对智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;若第一哈希值和第二哈希值相同,则证明许可证合法,调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,智能密码钥匙可执行文件是智能密码钥匙初始化时导入的文件;若智能密码钥匙时间未超过许可证失效时间,则证明许可证有效,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;若第三哈希值与第四哈希值相同,则证明智能密码钥匙合法,已通过双重认证,返回校验通过的结果。本申请实施例通过第一哈希值和第二哈希值证明许可证合法,第三哈希值与第四哈希值证明智能密码钥匙合法的双重校验实现运行身份校验,确保软件只在合法授权的环境下运行,增强了软件防盗运行的安全性,并且确保软件只在授权的环境中运行,从而保护了正版软件的权益。
请参阅图2,在一些实施例中,本申请方法可以包括但不限于包括步骤S201至步骤S206:
步骤S201,检测智能密码钥匙是否存在,若存在执行步骤S205,否则执行步骤S202;
在一些实施例中,检测智能密码钥匙是否存活,若未检测到智能密码钥匙存活,提示用户插入智能密码钥匙到软件所在服务器。若检测到智能密码钥匙存活,则检测许可证是否存在。
步骤S202,提示用户插入智能密码钥匙;
具体地,若未检测到智能密码钥匙存活,提示用户插入智能密码钥匙。
步骤S203,插入智能密码钥匙;
在一些实施例中,智能密码钥匙可以从正版软件供应商处购买。
步骤S204,初始化智能密码钥匙;
需要说明的是,本申请并不限制在插入后初始化智能密码钥匙,也可以由用户自行设定智能密码钥匙初始化时间。
在一些实施例中,随机生成具备可读写权限的智能密码钥匙管理员密码、具备只读权限的智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号和随机数;
在一些实施例中,创建智能密码钥匙数据文件,写入随机数,智能密码钥匙数据文件由管理员具备写权限,普通用户具备读权限;
在一些实施例中,生成非对称加密算法密钥对,创建非对称加密算法私钥文件,非对称加密算法私钥文件由普通用户具备调用权限;
在一些实施例中,导入智能密码钥匙可执行文件。
步骤S205,检测许可证是否存在,若不存在则执行步骤S206;
步骤S206,生成许可证。
在一些实施例中,若许可证不存在,则生成许可证。
具体地,通过智能密码钥匙用户密码查询得到智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数整合得到智能密码钥匙标识,基于智能密码钥匙标识得到许可证。
本申请实施例所示意的步骤S201至步骤S206,通过检测智能密码钥匙是否存在,若智能密码钥匙不存在则提示用户插入智能密码钥匙,初始化智能密码钥匙,若智能密码钥匙存在则检测许可证是否存在,若许可证不存在则生成许可证,检测了智能密码钥匙与许可证是否存在,解决了智能密码钥匙或许可证不存在的问题,为后续采用智能密码钥匙与许可证进行身份校验做了准备。
请参阅图3,在一些实施例中,步骤S204可以包括但不限于包括步骤S301至步骤S304:
步骤S301,随机生成具备可读写权限的智能密码钥匙管理员密码、具备只读权限的智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号和随机数;
在一些实施例中,随机生成智能密码钥匙管理员密码(具备可读写权限)、智能密码钥匙用户密码(具备只读权限)、智能密码钥匙产品编码、智能密码钥匙用户账号和随机数;
具体地,随机数通常是在智能密码钥匙初始化时由硬件设备生成的。随机数来自于设备内部的物理随机过程,如电子噪声、热噪声或其他随机事件。这样的随机数生成方式比软件生成的伪随机数更安全可靠。因此,在智能密码钥匙初始化时生成的随机数是基于硬件的真随机数,而不是简单的伪随机数算法生成的。
其中,产品编码用于标识智能密码钥匙,用户账号用于标识不同的使用者。
步骤S302,创建智能密码钥匙数据文件,写入随机数,智能密码钥匙数据文件由管理员具备写权限,普通用户具备读权限;
在一些实施例中,将生成的随机数写入智能密码钥匙数据文件中。智能密码钥匙数据文件应该由管理员具备写权限,以便编辑其中的内容,同时普通用户应具备读权限,以便查看文件中的信息。
在本实施例中,创建智能密码钥匙数据文件,写入随机数,智能密码钥匙数据文件由管理员具备写权限,普通用户具备读权限,保证了系统的正常运行和安全性。
步骤S303,生成非对称加密算法密钥对,创建非对称加密算法私钥文件,非对称加密算法私钥文件由普通用户具备调用权限;
在一些实施例中,利用非对称加密算法生成一对密钥,分别是私钥和公钥,私钥用于加密等操作,而公钥用于解密等操作。
在一些实施例中,创建非对称加密算法私钥文件,确保普通用户具备调用权限,为了让普通用户能够调用非对称加密算法私钥。
在一些实施例中,创建非对称加密算法公钥文件,确保普通用户具备调用权限,为了让普通用户能够获取调用非对称加密算法公钥。
步骤S304,导入智能密码钥匙可执行文件。
在本实施例中,导入智能密码钥匙可执行文件,为后续调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间做了准备。
本申请实施例所示意的步骤S301至步骤S304,通过随机生成具备可读写权限的智能密码钥匙管理员密码、具备只读权限的智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号和随机数,创建智能密码钥匙数据文件,写入随机数,智能密码钥匙数据文件由管理员具备写权限,普通用户具备读权限,生成非对称加密算法密钥对,创建非对称加密算法私钥文件,非对称加密算法私钥文件由普通用户具备调用权限,导入智能密码钥匙可执行文件,保护智能密码钥匙内部存储的数据免受未经授权的访问和修改,提高系统的安全性,为后续身份校验做了准备,为智能密码钥匙的正常运行和数据存储提供了有力的保障。
请参阅图4,在一些实施例中,步骤S103可以包括但不限于包括步骤S401至步骤S402:
步骤S401,调用智能密码钥匙可执行文件得到加密密文;
在一些实施例中,获取相关参数,即获取智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、智能密码钥匙时间、非对称加密算法私钥、一次性令牌和第三哈希值。
在一些实施例中,通过相关参数调用预先编写好的函数得到非对称加密算法私钥加密密文。
步骤S402,通过非对称加密算法公钥解密加密密文获取第三哈希值、一次性令牌和智能密码钥匙时间。
在一些实施例中,获取非对称加密算法公钥,通过非对称加密算法公钥解密加密密文。
可选地,本申请对非对称加密算法公钥的获取方式不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,可以从非对称加密算法公钥文件中获取,也可以从智能密码钥匙中获取,还可以从特定位置获取。
本申请实施例所示意的步骤S401至步骤S402,调用智能密码钥匙可执行文件得到加密密文,通过非对称加密算法公钥解密加密密文获取第三哈希值、一次性令牌和智能密码钥匙时间,为后续对比第三哈希值与第四哈希值做了准备,增强了运行的安全性。
请参阅图5,在一些实施例中,步骤S401还可以包括但不限于包括步骤S501至步骤S507:
步骤S501,获取智能密码钥匙产品编码、智能密码钥匙用户账号和硬件编码;
在一些实施例中,调用智能密码钥匙可执行文件,从智能密码钥匙中获取智能密码钥匙产品编码、智能密码钥匙用户账号和硬件编码。
其中,硬件编码是智能密码钥匙硬件标识,不可篡改。
步骤S502,读取智能密码钥匙数据文件,获取随机数;
在一些实施例中,智能密码钥匙数据文件包括智能密码钥匙初始化时写入的128位随机数。
步骤S503,获取智能密码钥匙时间;
具体地,智能密码钥匙时间即真实时间,由智能密码钥匙内含的时钟芯片得到。
步骤S504,读取非对称加密算法私钥文件,获取非对称加密算法私钥;
在一些实施例中,读取智能密码钥匙中的非对称加密算法私钥文件,获取非对称加密算法私钥。
步骤S505,生成一次性令牌;
具体地,一次性令牌即一次性Token。
可选地,本申请对一次性令牌不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,一次性令牌可以采用128位随机数,也可以采用256位随机数,还可以采用64位随机数。
步骤S506,对智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌进行整合后通过哈希算法计算得到第三哈希值;
在一些实施例中,对相关参数(包括智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌)进行拼接后通过哈希算法计算得到第三哈希值。
步骤S507,通过非对称加密算法私钥加密第三哈希值、一次性令牌和智能密码钥匙时间,得到并返回加密密文。
本申请实施例所示意的步骤S501至步骤S507,通过获取智能密码钥匙产品编码、智能密码钥匙用户账号和硬件编码,读取智能密码钥匙数据文件,获取随机数,获取智能密码钥匙时间,读取非对称加密算法私钥文件,获取非对称加密算法私钥,生成一次性令牌,对智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌进行整合后通过哈希算法计算得到第三哈希值,通过非对称加密算法私钥加密第三哈希值、一次性令牌和智能密码钥匙时间,得到并返回加密密文,通过调用智能密码钥匙可执行文件得到加密密文,为后续解密做了准备,增强了运行的安全性。
请参阅图6,在一些实施例,步骤S206包括但不限于包括步骤S601至步骤S605:
步骤S601,通过智能密码钥匙用户密码查询得到智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数;
在一些实施例中,检测许可证是否导入软件,许可证若未导入,通过智能密码钥匙用户密码查询相关信息,获取智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和128位随机数。
步骤S602,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数整合得到智能密码钥匙标识;
具体地,智能密码钥匙标识即Ukey标识ID。
在一些实施例中,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数拼接得到智能密码钥匙标识。
步骤S603,获取许可证生成时间和许可证失效时间;
在一些实施例中,本申请对许可证生成时间不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,许可证生成时间可以采用申请时间,也可以采用审批通过时间,还可以采用首次使用时间。
其中,申请时间为得知许可证未导入,用户提交许可证申请的时间。审批通过时间为若许可证需要经过审批流程,许可证审批通过的时间点。首次使用时间为用户首次开始使用许可证所对应的服务或功能的时间。
可选地,本申请对许可证失效时间也不做具体的限定,可以结合实际的校验需要进行灵活选取。示例性地,许可证失效时间可以采用固定日期,也可以采用用户定义的时间,还可以采用固定的使用次数。
其中,固定日期为预先设定的固定日期。用户定义的时间为用户自行定义的失效时间。固定的使用次数为在特定的使用次数之后就会失效。
步骤S604,对智能密码钥匙标识、许可证生成时间和许可证失效时间整合后进行哈希计算得到第一哈希值;
在一些实施例中,对智能密码钥匙标识、许可证生成时间和许可证失效时间拼接后进行哈希计算得到第一哈希值。
其中,哈希计算包括使用哈希函数(如SHA-256)进行哈希。
步骤S605,将许可证生成时间、许可证失效时间和第一哈希值通过非对称加密算法私钥加密后得到的密文作为许可证。
在一些实施例中,读取非对称加密算法私钥文件,获取非对称加密算法私钥。
在一些实施例中,将得到的许可证导入软件。
本申请实施例所示意的步骤S601至步骤S605,通过智能密码钥匙用户密码查询得到智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数整合得到智能密码钥匙标识,获取许可证生成时间和许可证失效时间,对智能密码钥匙标识、许可证生成时间和许可证失效时间整合后进行哈希计算得到第一哈希值,将许可证生成时间、许可证失效时间和第一哈希值通过非对称加密算法私钥加密后得到的密文作为许可证,为后续的许可证合法有效校验做了准备。
请参阅图7和图8,在一些实施例中,本申请方法包括以下步骤;
导入License前:通过定时任务每5s检测Ukey是否存活;
其中,License即许可证,Ukey即智能密码钥匙,检测Ukey是否存活即检测智能密码钥匙是否存在。
若检测到Ukey不存活,通过Web提示用户插入Ukey;
其中,Web(World Wide Web)即全球广域网,也称为万维网。它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。通过Web提示用户插入Ukey即通过可视化页面提示用户插入Ukey。
若Ukey存活,检测是否导入License;
若未导入License,通过Ukey用户密码查询相关信息,获取Ukey产品ID、用户ID、硬件ID、128位随机数,拼接后向前端展示Ukey标识ID;
其中,Ukey产品ID即智能密码钥匙产品编码,用户ID即智能密码钥匙用户账号、硬件ID即智能密码钥匙硬件编码。
在一些实施例中,基于Ukey标识ID,软件供应商生成License并交给客户导入软件。
在一些实施例中,通过客户端获取到的Ukey标识ID(Ukey用户密码+Ukey产品ID+Ukey用户ID+Ukey硬件ID+128位随机数)、License生成时间、License失效时间拼接后进行哈希计算得到hash值A;将License生成时间、License失效时间、hash值A使用非对称加密算法私钥加密后得到的密文作为License具体内容。
导入License;
使用RSA-2048公钥对License进行解密获取SM3签名、License生成时间和License失效时间;
在一些实施例中,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间。
具体地,使用RSA-2048公钥对License进行解密获取的SM3签名即第一哈希值。RSA-2048公钥即非对称加密算法公钥。
通过定时任务每5分钟从Ukey获取相关信息;
其中,从Ukey获取相关信息包括从Ukey获取Ukey用户密码、Ukey产品ID、Ukey用户ID、Ukey硬件ID和128位随机数。
生成SM3签名;
具体地,从Ukey获取相关信息使用方法生成的SM3签名即第二哈希值。SM3签名包括Ukey用户密码、Ukey产品ID、Ukey用户ID、Ukey硬件ID、128位随机数、License生成时间和License失效时间。License生成时间和License失效时间由License解密获取。
将License中的SM3签名(即第一哈希值)和Gateway计算的SM3签名(即第二哈希值)进行比对;
Web Gateway,即网络网关,用于执行本申请方法。
若SM3签名比对不通过,通过Web提示License不合法,请联系客户经理;
若SM3签名比对通过,调用Ukey可执行文件返回RSA-2048密文;
通过RSA-2048公钥(即非对称加密算法私钥)解密获取Token、SM3哈希、Ukey时间;
校验License有效期:
将Ukey中的时间和License中的失效时间进行比较;
若License失效,通过Web提示License已失效,请联系客户经理;
若License未失效,获取License中的Ukey产品ID+用户ID+硬件ID+128位随机数,计算SM3(即第四哈希值)与Ukey返回的SM3哈希值(即第三哈希值)进行比较;
其中,第四哈希值包括Ukey产品ID、用户ID、硬件ID、128位随机数和Token。
将计算得到的SM3(即第四哈希值)与Ukey返回的SM3哈希值(即第三哈希值)进行比较;
若校验通过,将定时任务结束,等待下次执行;
若校验不通过:Web提示Ukey不合法,请联系客户经理。
请参阅图9,本申请实施例还提供一种基于智能密码钥匙的软件身份校验装置,可以实现上述基于智能密码钥匙的软件身份校验方法,该装置包括:
第一哈希值获取模块901,用于获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,第一哈希值在许可证初始化时生成;
第二哈希值获取模块902,用于对智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;
第三哈希值获取模块903,用于若第一哈希值和第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,智能密码钥匙可执行文件是智能密码钥匙初始化时导入的文件;
第四哈希值获取模块904,用于若智能密码钥匙时间未超过许可证失效时间,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;
结果返回模块905,用于若第三哈希值与第四哈希值相同,则返回校验通过的结果。
该基于智能密码钥匙的软件身份校验装置的具体实施方式与上述基于智能密码钥匙的软件身份校验方法的具体实施例基本相同,在此不再赘述。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述基于智能密码钥匙的软件身份校验方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
本发明方法实施例的内容均适用于本电子设备实施例,本电子设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
请参阅图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1001,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1002,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器1002可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1002中,并由处理器1001来调用执行本申请实施例的基于智能密码钥匙的软件身份校验方法;
输入/输出接口1003,用于实现信息输入及输出;
通信接口1004,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1005,在设备的各个组件(例如处理器1001、存储器1002、输入/输出接口1003和通信接口1004)之间传输信息;
其中处理器1001、存储器1002、输入/输出接口1003和通信接口1004通过总线1005实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于智能密码钥匙的软件身份校验方法。
本发明方法实施例的内容均适用于本存储介质实施例,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的基于智能密码钥匙的软件身份校验方法、装置及存储介质,其通过获取许可证和智能密码钥匙,根据许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,第一哈希值在许可证初始化时生成;对智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;若第一哈希值和第二哈希值相同,则证明许可证合法,调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,智能密码钥匙可执行文件是智能密码钥匙初始化时导入的文件;若智能密码钥匙时间未超过许可证失效时间,则证明许可证有效,将智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;若第三哈希值与第四哈希值相同,则证明智能密码钥匙合法,已通过双重认证,返回校验通过的结果。本申请实施例通过第一哈希值和第二哈希值证明许可证合法,第三哈希值与第四哈希值证明智能密码钥匙合法的双重校验实现运行身份校验,确保软件只在合法授权的环境下运行,增强了软件运行的安全性,并且确保软件只在授权的环境中运行,从而保护了正版软件的权益。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种基于智能密码钥匙的软件身份校验方法,其特征在于,所述方法包括:
获取许可证和智能密码钥匙,根据所述许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据所述智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数;
对所述智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;
若所述第一哈希值和所述第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间;
若所述智能密码钥匙时间未超过所述许可证失效时间,将所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;
若所述第三哈希值与所述第四哈希值相同,则返回校验通过的结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测智能密码钥匙是否存在;
若所述智能密码钥匙不存在,提示用户插入所述智能密码钥匙;
若所述智能密码钥匙存在,检测许可证是否存在。
3.根据权利要求2所述的方法,其特征在于,所述智能密码钥匙包括智能密码钥匙用户密码,所述方法还包括:
若所述许可证不存在,通过所述智能密码钥匙用户密码查询得到智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,将所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数整合得到智能密码钥匙标识,基于智能密码钥匙标识得到许可证。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括初始化智能密码钥匙,所述初始化智能密码钥匙,包括:
随机生成具备可读写权限的智能密码钥匙管理员密码、具备只读权限的智能密码用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号和随机数;
创建智能密码钥匙数据文件,写入随机数,所述智能密码钥匙数据文件由管理员具备写权限,普通用户具备读权限;
生成非对称加密算法密钥对,创建非对称加密算法私钥文件,所述非对称加密算法私钥文件由普通用户具备调用权限;
导入智能密码钥匙可执行文件。
5.根据权利要求1所述的方法,其特征在于,所述调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,包括:
调用智能密码钥匙可执行文件得到加密密文,所述加密密文采用非对称加密算法私钥加密;
通过非对称加密算法公钥解密所述加密密文获取所述第三哈希值、一次性令牌和智能密码钥匙时间。
6.根据权利要求5所述的方法,其特征在于,所述调用智能密码钥匙可执行文件得到加密密文,包括:
获取所述智能密码钥匙产品编码、智能密码钥匙用户账号和智能密码钥匙硬件编码;
读取智能密码钥匙数据文件,获取所述随机数;
获取智能密码钥匙时间;
读取非对称加密算法私钥文件,获取非对称加密算法私钥;
生成一次性令牌;
对所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、所述随机数和所述一次性令牌进行整合后通过哈希算法计算得到第三哈希值;
通过非对称加密算法私钥加密第三哈希值、一次性令牌和智能密码钥匙时间,得到并返回加密密文。
7.根据权利要求3所述的方法,其特征在于,所述基于智能密码钥匙标识得到许可证,包括:
获取许可证生成时间和许可证失效时间;
对所述智能密码钥匙标识、许可证生成时间和许可证失效时间整合后进行哈希计算得到第一哈希值;
将许可证生成时间、许可证失效时间和第一哈希值通过非对称加密算法私钥加密后得到的密文作为许可证。
8.一种基于智能密码钥匙的软件身份校验装置,其特征在于,所述装置包括:
第一哈希值获取模块,用于获取许可证和智能密码钥匙,根据所述许可证获取第一哈希值、许可证生成时间和许可证失效时间,并根据所述智能密码钥匙获取智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码和随机数,所述第一哈希值在所述许可证初始化时生成;
第二哈希值获取模块,用于对所述智能密码钥匙用户密码、智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数、许可证生成时间和许可证失效时间进行整合得到第二哈希值;
第三哈希值获取模块,用于若所述第一哈希值和所述第二哈希值相同,则调用智能密码钥匙可执行文件得到第三哈希值、一次性令牌和智能密码钥匙时间,所述智能密码钥匙可执行文件是所述智能密码钥匙初始化时导入的文件;
第四哈希值获取模块,用于若所述智能密码钥匙时间未超过所述许可证失效时间,将所述智能密码钥匙产品编码、智能密码钥匙用户账号、智能密码钥匙硬件编码、随机数和一次性令牌整合得到第四哈希值;
结果返回模块,用于若所述第三哈希值与所述第四哈希值相同,则返回校验通过的结果。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的基于智能密码钥匙的软件身份校验方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于智能密码钥匙的软件身份校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311869759.9A CN117978399A (zh) | 2023-12-29 | 2023-12-29 | 基于智能密码钥匙的软件身份校验方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311869759.9A CN117978399A (zh) | 2023-12-29 | 2023-12-29 | 基于智能密码钥匙的软件身份校验方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117978399A true CN117978399A (zh) | 2024-05-03 |
Family
ID=90857308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311869759.9A Pending CN117978399A (zh) | 2023-12-29 | 2023-12-29 | 基于智能密码钥匙的软件身份校验方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978399A (zh) |
-
2023
- 2023-12-29 CN CN202311869759.9A patent/CN117978399A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074433B (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产完整性的方法和系统 | |
JP6528008B2 (ja) | 秘密共有のための楕円曲線暗号化を利用したパーソナルデバイスセキュリティ | |
US10958436B2 (en) | Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus | |
US8898086B2 (en) | Systems and methods for transmitting financial account information | |
EP0881559B1 (en) | Computer system for protecting software and a method for protecting software | |
US6950523B1 (en) | Secure storage of private keys | |
US8756416B2 (en) | Checking revocation status of a biometric reference template | |
US20160260091A1 (en) | Universal wallet for digital currency | |
CN109905360B (zh) | 数据验证方法及终端设备 | |
CN115391749A (zh) | 使用分布式散列表和区块链保护计算机软件的方法及系统 | |
EP0803789A2 (en) | Software copy protection mechanism | |
CN101965574B (zh) | 认证信息生成系统、认证信息生成方法、客户机装置 | |
JP4256361B2 (ja) | 認証管理方法及びシステム | |
JP2001518269A (ja) | 電子暗号パッキング | |
JP2005522775A (ja) | 情報保存システム | |
CN111476573B (zh) | 一种账户数据处理方法、装置、设备及存储介质 | |
CN112469036B (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
CN110533417B (zh) | 一种数字资产管理装置、发行方法及系统 | |
CN112800392A (zh) | 基于软证书的授权方法和装置、存储介质 | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
US7739500B2 (en) | Method and system for consistent recognition of ongoing digital relationships | |
JP2007094879A (ja) | オペレーティングシステム用基本プログラムの認証システム、これに用いるコンピュータ、およびコンピュータプログラム | |
US8745375B2 (en) | Handling of the usage of software in a disconnected computing environment | |
CN110890979B (zh) | 堡垒机自动部署方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |