CN109388931A - 基于usbkey设备的软件保护方法、usbkey设备的发行方法及装置 - Google Patents

基于usbkey设备的软件保护方法、usbkey设备的发行方法及装置 Download PDF

Info

Publication number
CN109388931A
CN109388931A CN201811062491.7A CN201811062491A CN109388931A CN 109388931 A CN109388931 A CN 109388931A CN 201811062491 A CN201811062491 A CN 201811062491A CN 109388931 A CN109388931 A CN 109388931A
Authority
CN
China
Prior art keywords
key
usbkey equipment
equipment
usbkey
external authentication
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
CN201811062491.7A
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.)
Aisino Corp
Original Assignee
Aisino Corp
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 Aisino Corp filed Critical Aisino Corp
Priority to CN201811062491.7A priority Critical patent/CN109388931A/zh
Publication of CN109388931A publication Critical patent/CN109388931A/zh
Pending legal-status Critical Current

Links

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于USBKEY设备的软件保护方法、USBKEY设备的发行方法及装置,该方法包括:检测到所述软件的运行指令后,查找USBKY设备;验证查找到的USBKEY设备的外部认证密钥是否合法;若验证所述USBKEY设备的外部认证密钥合法,则打开所述软件;验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法;若验证所述USBKEY设备的用户密钥和/或管理员密钥合法,则运行所述软件。该方案中,只有在验证USBKEY设备的外部认证密钥、用户密钥、管理员密钥合法的情况下,才运行软件,由于可以统一管理USBKEY设备,因此,解决了现有技术中存在的硬件加密狗不兼容的问题;并且,采用外部认证密钥、用户密钥、管理员密钥多重保护,从而提高了软件保护级别,不容易被破解。

Description

基于USBKEY设备的软件保护方法、USBKEY设备的发行方法及 装置
技术领域
本发明涉及计算机技术领域,尤指一种基于电子钥匙(USBKEY)设备的软件保护方法、USBKEY设备的发行方法及装置。
背景技术
计算机软件产业既是当今世界高科技产业及信息产业的基础,也是全球科技进步、经济发展和社会文明的标志。随着信息资源数字化、网络化的加快,计算机软件的版权备受各界的关注。作为人类智力的成果和知识的结晶,软件版权应该得到充分的保护,只有这样整个计算机软件产业才能得到更好的发展。
自20世纪60年代软件产业兴起开始,计算机软件被侵权的现象就日渐凸显。软件的开发需要大量的人力与智力的投入,提高软件的安全性才能保障开发者的合法权益。对软件进行加密是保护软件版权的最好办法,但是在软件内部进行加密的技术容易被以跟踪、分析、反编译、等手段破解。
目前,基于USB接口的硬件加密狗以其通用性好、成本低等优势在小型软件中得到广泛应用,但是各个厂家的硬件加密狗都不兼容,相互之间不能通用,并且,采用的主芯片安全级别不高,加密的技术仍然很容易被破解。
发明内容
本发明实施例提供一种基于USBKEY设备的软件保护方法、USBKEY设备的发行方法及装置,用以解决现有技术中存在的各个厂家的硬件加密狗都不兼容,相互之间不能通用,并且,采用的主芯片安全级别不高,加密的技术仍然很容易被破解的问题。
根据本发明实施例,提供一种基于USBKEY设备的软件保护方法,应用在终端中,所述方法包括:
检测到所述软件的运行指令后,查找USBKY设备;
验证查找到的USBKEY设备的外部认证密钥是否合法;
若验证所述USBKEY设备的外部认证密钥合法,则打开所述软件;
验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法;
若验证所述USBKEY设备的用户密钥和/或管理员密钥合法,则运行所述软件。
具体的,验证查找到的USBKEY设备的外部认证密钥是否合法,具体包括:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则验证所述USBKEY设备的外部认证密钥合法;若所述USBKEY设备的外部认证密钥未通过校验,则验证所述USBKEY设备的外部认证密钥不合法。
具体的,验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法,具体包括:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根用户密钥和/或根管理密钥;
使用所述USBKEY设备的序列号和所述根用户密钥校验所述USBKEY设备的用户密钥;和/或,使用所述USBKEY设备的序列号和所述根管理密钥校验所述USBKEY设备的管理员密钥;
若所述USBKEY设备的用户密钥和/或管理员密钥通过校验,则验证所述USBKEY设备的用户密钥和/或管理员密钥合法;若所述USBKEY设备的用户密钥和/或管理员密钥未通过校验,则验证所述USBKEY设备的用户密钥和/ 或管理员密钥不合法。
可选的,运行所述软件之前,还包括:
获取所述USBKEY设备保存的第一软件特征信息;
检验所述第一软件特征信息与所述软件保存的第二软件特征信息是否一致;
若所述第一软件特征信息与所述第二软件特征信息一致,则运行所述软件。
根据本发明实施例,还提供一种USBKEY设备的发行方法,应用在所述 USBKEY设备的发行设备中,所述方法包括:
检测到所述USBKEY设备后,获取所述USBKEY设备的外部认证密钥;
确定所述USBKEY设备的外部认证密钥是否合法;
若确定所述USBKEY设备的外部认证密钥合法,则修改所述USBKEY设备的外部认证密钥、用户密钥和/或管理密钥。
具体的,确定所述USBKEY设备的外部认证密钥是否合法,具体包括:
确定所述USBKEY设备的外部认证密钥是否是默认外部认证密钥;
若确定所述USBKEY设备的外部认证密钥是所述默认外部认证密钥,则确定所述USBKEY设备的外部认证密钥合法;
若确定所述USBKEY设备的外部认证密钥不是所述默认外部认证密钥,则查找所述发行设备中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则确定所述USBKEY设备的外部认证密钥合法。
具体的,修改所述USBKEY设备的外部认证密钥、用户密钥和/或管理密钥,具体包括:
获取所述USBKEY设备的序列号;以及,获取所述发行设备中保存的根认证密钥、根用户密钥和/或根管理密钥;
根据所述USBKEY设备的序列号和所述根认证密钥计算所述USBKEY设备的外部认证密钥;和/或,根据所述USBKEY设备的序列号和所述根用户密钥计算所述USBKEY设备的用户密钥;和/或,根据所述USBKEY设备的序列号和所述根管理密钥计算所述USBKEY设备的管理密钥。
可选的,还包括:
获取所述USBKEY设备保护的软件对应的软件特征信息;
将所述软件特征信息写入所述USBKEY设备中。
根据本发明实施例,还提供一种基于USBKEY设备的软件保护装置,应用在终端中,所述装置包括:
查找模块,用于检测到所述软件的运行指令后,查找USBKY设备;
第一验证模块,用于验证查找到的USBKEY设备的外部认证密钥是否合法;
打开模块,用于若验证所述USBKEY设备的外部认证密钥合法,则打开所述软件;
第二验证模块,用于验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法;
运行模块,用于若验证所述USBKEY设备的用户密钥和/或管理员密钥合法,则运行所述软件。
具体的,所述第一验证模块,具体用于:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则验证所述USBKEY设备的外部认证密钥合法;若所述USBKEY设备的外部认证密钥未通过校验,则验证所述USBKEY设备的外部认证密钥不合法。
具体的,所述第二验证模块,具体用于:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根用户密钥和/或根管理密钥;
使用所述USBKEY设备的序列号和所述根用户密钥校验所述USBKEY设备的用户密钥;和/或,使用所述USBKEY设备的序列号和所述根管理密钥校验所述USBKEY设备的管理员密钥;
若所述USBKEY设备的用户密钥和/或管理员密钥通过校验,则验证所述 USBKEY设备的用户密钥和/或管理员密钥合法;若所述USBKEY设备的用户密钥和/或管理员密钥未通过校验,则验证所述USBKEY设备的用户密钥和/ 或管理员密钥不合法。
可选的,所述运行模块,还用于:
在运行所述软件之前,获取所述USBKEY设备保存的第一软件特征信息;
检验所述第一软件特征信息与所述软件保存的第二软件特征信息是否一致;
若所述第一软件特征信息与所述第二软件特征信息一致,则运行所述软件。
根据本发明实施例,还提供一种USBKEY设备的发行装置,应用在所述 USBKEY设备的发行设备中,所述装置包括:
第一获取模块,用于检测到所述USBKEY设备后,获取所述USBKEY设备的外部认证密钥;
确定模块,用于确定所述USBKEY设备的外部认证密钥是否合法;
修改模块,用于若确定所述USBKEY设备的外部认证密钥合法,则修改所述USBKEY设备的外部认证密钥、用户密钥和/或管理密钥。
具体的,所述确定模块,具体用于:
确定所述USBKEY设备的外部认证密钥是否是默认外部认证密钥;
若确定所述USBKEY设备的外部认证密钥是所述默认外部认证密钥,则确定所述USBKEY设备的外部认证密钥合法;
若确定所述USBKEY设备的外部认证密钥不是所述默认外部认证密钥,则查找所述发行设备中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则确定所述USBKEY设备的外部认证密钥合法。
具体的,所述修改模块,具体用于:
获取所述USBKEY设备的序列号;以及,获取所述发行设备中保存的根认证密钥、根用户密钥和/或根管理密钥;
根据所述USBKEY设备的序列号和所述根认证密钥计算所述USBKEY设备的外部认证密钥;和/或,根据所述USBKEY设备的序列号和所述根用户密钥计算所述USBKEY设备的用户密钥;和/或,根据所述USBKEY设备的序列号和所述根管理密钥计算所述USBKEY设备的管理密钥。
可选的,还包括:
第二获取模块,用于获取所述USBKEY设备保护的软件对应的软件特征信息;
写入模块,用于将所述软件特征信息写入所述USBKEY设备中。
本发明有益效果如下:
本发明实施例提供一种基于USBKEY设备的软件保护方法、USBKEY设备的发行方法及装置,通过检测到所述软件的运行指令后,查找USBKY设备;验证查找到的USBKEY设备的外部认证密钥是否合法;若验证所述USBKEY 设备的外部认证密钥合法,则打开所述软件;验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法;若验证所述USBKEY设备的用户密钥和/或管理员密钥合法,则运行所述软件。该方案中,只有在验证USBKEY设备的外部认证密钥、用户密钥、管理员密钥合法的情况下,才运行软件,由于可以统一管理USBKEY设备,因此,解决了现有技术中存在的硬件加密狗不兼容的问题;并且,采用外部认证密钥、用户密钥、管理员密钥多重保护,从而提高了软件保护级别,不容易被破解。
附图说明
图1为本发明实施例中一种基于USBKEY设备的软件保护方法的流程图;
图2为本发明实施例中一种USBKEY设备的发行方法的流程图;
图3为本发明实施例中一种基于USBKEY设备的软件保护装置的结构示意图;
图4为本发明实施例中一种USBKEY设备的发行装置的结构示意图。
具体实施方式
针对现有技术中存在的各个厂家的硬件加密狗都不兼容,相互之间不能通用,并且,采用的主芯片安全级别不高,加密的技术仍然很容易被破解的问题,本发明实施例提供一种基于USBKEY设备的软件保护方法,应用在终端中,终端可以是个人计算机、平板电脑等等,该方法的流程如图1所示,执行步骤如下:
S11:检测到软件的运行指令后,查找USBKY设备。
通常,用户需要运行软件时,会发出运行指令,运行指令可以但不限于为双击鼠标左键。当终端检测到运行指令后,会查找USBKEY设备。通常 USBKEY设备是连接在国密接口上的,因此,可以查找国密接口上是否连接了 USBKEY设备。
S12:验证查找到的USBKEY设备的外部认证密钥是否合法。
查找到国密接口上连接了USBKEY设备后,可以首先验证USBKEY设备的外部认证密钥是否合法。
S13:若验证USBKEY设备的外部认证密钥合法,则打开软件。
S14:验证USBKEY设备的用户密钥和/或管理员密钥是否合法。
通常USBKEY设备除了有外部认证密钥外,还会有用户密钥和管理员密钥,因此,在打开软件后,还可以进一步验证USBKEY设备的用户密钥和/或管理员密钥是否合法。
S15:若验证USBKEY设备的用户密钥和/或管理员密钥合法,则运行软件。
运行软件后,用户可以进行读取软件的代码、执行软件的代码等等操作。
该方案中,只有在验证USBKEY设备的外部认证密钥、用户密钥、管理员密钥合法的情况下,才运行软件,由于可以统一管理USBKEY设备,因此,解决了现有技术中存在的硬件加密狗不兼容的问题;并且,采用外部认证密钥、用户密钥、管理员密钥多重保护,从而提高了软件保护级别,不容易被破解。
具体的,上述S12中验证查找到的USBKEY设备的外部认证密钥是否合法,实现过程具体包括:获取USBKEY设备的序列号;查找软件中保存的根认证密钥;使用USBKEY设备的序列号和根认证密钥校验USBKEY设备的外部认证密钥;若USBKEY设备的外部认证密钥通过校验,则验证USBKEY设备的外部认证密钥合法;若USBKEY设备的外部认证密钥未通过校验,则验证USBKEY设备的外部认证密钥不合法。
可以采用USBKEY设备的序列号和根认证密钥来校验USBKEY设备的外部认证密钥,从而验证USBKEY设备的外部认证密钥是否合法。
具体的,上述S14中验证USBKEY设备的用户密钥和/或管理员密钥是否合法,实现过程具体包括:
获取USBKEY设备的序列号;
查找软件中保存的根用户密钥和/或根管理密钥;
使用USBKEY设备的序列号和根用户密钥校验USBKEY设备的用户密钥;和/或,使用USBKEY设备的序列号和根管理密钥校验USBKEY设备的管理员密钥;
若USBKEY设备的用户密钥和/或管理员密钥通过校验,则验证USBKEY 设备的用户密钥和/或管理员密钥合法;若USBKEY设备的用户密钥和/或管理员密钥未通过校验,则验证USBKEY设备的用户密钥和/或管理员密钥不合法。
还可以采用USBKEY设备的序列号和根用户密钥来校验USBKEY设备的用户密钥,从而验证USBKEY设备的用户密钥是否合法。还可以采用USBKEY 设备的序列号和根管理密钥来校验USBKEY设备的管理员密钥,从而验证 USBKEY设备的管理员密钥是否合法。
可选的,上述S15中运行软件之前,还包括:获取USBKEY设备保存的第一软件特征信息;检验第一软件特征信息与软件保存的第二软件特征信息是否一致;若第一软件特征信息与第二软件特征信息一致,则运行软件。为了加强对软件的保护,还可以预先将软件的部分特征信息写入USBKEY设备,这些特征信息定义为第一软件特征信息。同时,在软件中也会保存有特征信息,定义为第二软件特征信息,然后在确定第一软件特征信息与第二软件特征信息一致时,可以运行软件。
基于同一发明构思,本发明实施例提供一种USBKEY设备的发行方法,应用在USBKEY设备的发行设备中,该方法的流程如图2所示,执行步骤如下:
S21:检测到USBKEY设备后,获取USBKEY设备的外部认证密钥。
S22:确定USBKEY设备的外部认证密钥是否合法。
S23:若确定USBKEY设备的外部认证密钥合法,则修改USBKEY设备的外部认证密钥、用户密钥和/或管理密钥。
通过步骤S21-S23就可以实现发行USBKEY设备,发行后的每个USBKEY 设备的外部认证密钥、用户密钥和管理员密钥均不相同,由于可以统一管理USBKEY设备,因此,解决了现有技术中存在的硬件加密狗不兼容的问题;并且,采用外部认证密钥、用户密钥、管理员密钥多重保护,从而提高了软件保护级别,不容易被破解。
具体的,上述S22中确定USBKEY设备的外部认证密钥是否合法,实现过程具体包括:确定USBKEY设备的外部认证密钥是否是默认外部认证密钥;若确定USBKEY设备的外部认证密钥是默认外部认证密钥,则确定USBKEY 设备的外部认证密钥合法;若确定USBKEY设备的外部认证密钥不是默认外部认证密钥,则查找发行设备中保存的根认证密钥;使用USBKEY设备的序列号和根认证密钥校验USBKEY设备的外部认证密钥;若USBKEY设备的外部认证密钥通过校验,则确定USBKEY设备的外部认证密钥合法。
在确定USBKEY设备的外部认证密钥是否合法时,首先确定USBKEY设备的外部认证密钥是否是默认外部认证密钥,默认外部认证密钥可以但不限于为“1234567812345678”,若确定USBKEY设备的外部认证密钥是默认外部认证密钥,则说明USBKEY设备是首次使用,因此,可以确定USBKEY设备的外部认证密钥合法;若确定USBKEY设备的外部认证密钥不是默认外部认证密钥,则说明USBKEY设备已经使用过了,也就是说默认外部认证密钥已被修改,这是需要查找发行设备中保存的根认证密钥,使用USBKEY设备的序列号和根认证密钥校验USBKEY设备的外部认证密钥,若USBKEY设备的外部认证密钥通过校验,则确定USBKEY设备的外部认证密钥合法。在确定 USBKEY设备的外部认证密钥合法后,就可以执行后续修改外部认证密钥、管理员密钥、用户密钥的操作。
具体的,上述S23中修改USBKEY设备的外部认证密钥、用户密钥和/或管理密钥,具体包括:
获取USBKEY设备的序列号;以及,获取发行设备中保存的根认证密钥、根用户密钥和/或根管理密钥;
根据USBKEY设备的序列号和根认证密钥计算USBKEY设备的外部认证密钥;和/或,根据USBKEY设备的序列号和根用户密钥计算USBKEY设备的用户密钥;和/或,根据USBKEY设备的序列号和根管理密钥计算USBKEY设备的管理密钥。
通常,在USBKEY设备发行前,会对USBKEY设备进行初始化,初始化文件***可以但不限于包括序列号、外部认证密钥、管理员密钥、用户密钥及四个应用(Key_APP、RSA1024、RSA2048、SM2)。其中,Key_APP是用于软件保护的应用;Key_APP也可以用于P11制证,及CSP制证;RSA1024、 RSA2048、SM2用于国密接口证书应用。用户可以根据需要对这些字段进行设置。
初始化时的外部认证密钥可以设置为:“1234567812345678”,并允许重试次数15次;初始化时的管理员密钥可以设置为:“12345678”,并允许重试次数15次;初始化时的用户密钥可以设置为:“88888888”,并允许重试次数15 次。
在修改USBKEY设备的外部认证密钥、用户密钥和/或管理员密钥时,可以根据根认证密钥、根用户密钥、根管理密钥和USBKEY设备的序列号通过一系列算法进行生成,这样每个USBKEY设备的外部认证密钥、管理员密钥、用户密钥都不一样,从而可以更好地保护对应的软件。可以但不限于采用下列方法生成外部认证密钥、用户密钥和管理员密钥,下面以生成外部认证密钥为例进行说明:分别对USBKEY设备的序列号和根认证密钥采用SM3哈希算法和MD5哈希算法进行运算,从而得到USBKEY设备的外部认证密钥。
可选的,为了加强对软件的保护,上述USBKEY设备的发行方法还包括:获取USBKEY设备保护的软件对应的软件特征信息;将软件特征信息写入 USBKEY设备中。
在修改完USBKEY设备的外部认证密钥、用户密钥和管理员密钥后,还可以把软件中的一些关键性数据写入USBKEY设备中,这些关键性数据可以定义为软件特征信息,从而完成USBKEY设备的发行。
基于同一发明构思,本发明实施例提供一种基于USBKEY设备的软件保护装置,该装置可以应用在终端中,该装置的结构如图3所示,包括:
查找模块31,用于检测到软件的运行指令后,查找USBKY设备;
第一验证模块32,用于验证查找到的USBKEY设备的外部认证密钥是否合法;
打开模块33,用于若验证USBKEY设备的外部认证密钥合法,则打开软件;
第二验证模块34,用于验证USBKEY设备的用户密钥和/或管理员密钥是否合法;
运行模块35,用于若验证USBKEY设备的用户密钥和/或管理员密钥合法,则运行软件。
该方案中,只有在验证USBKEY设备的外部认证密钥、用户密钥、管理员密钥合法的情况下,才运行软件,由于可以统一管理USBKEY设备,因此,解决了现有技术中存在的硬件加密狗不兼容的问题;并且,采用外部认证密钥、用户密钥、管理员密钥多重保护,从而提高了软件保护级别,不容易被破解。
具体的,第一验证模块32,具体用于:
获取USBKEY设备的序列号;
查找软件中保存的根认证密钥;
使用USBKEY设备的序列号和根认证密钥校验USBKEY设备的外部认证密钥;
若USBKEY设备的外部认证密钥通过校验,则验证USBKEY设备的外部认证密钥合法;若USBKEY设备的外部认证密钥未通过校验,则验证USBKEY 设备的外部认证密钥不合法。
具体的,第二验证模块34,具体用于:
获取USBKEY设备的序列号;
查找软件中保存的根用户密钥和/或根管理密钥;
使用USBKEY设备的序列号和根用户密钥校验USBKEY设备的用户密钥;和/或,使用USBKEY设备的序列号和根管理密钥校验USBKEY设备的管理员密钥;
若USBKEY设备的用户密钥和/或管理员密钥通过校验,则验证USBKEY 设备的用户密钥和/或管理员密钥合法;若USBKEY设备的用户密钥和/或管理员密钥未通过校验,则验证USBKEY设备的用户密钥和/或管理员密钥不合法。
可选的,运行模块35,还用于:
在运行软件之前,获取USBKEY设备保存的第一软件特征信息;
检验第一软件特征信息与软件保存的第二软件特征信息是否一致;
若第一软件特征信息与第二软件特征信息一致,则运行软件。
基于同一发明构思,本发明实施例提供一种USBKEY设备的发行装置,该装置可以应用在终端中,应用在USBKEY设备的发行设备中,该装置的结构如图4所示,包括:
第一获取模块41,用于检测到USBKEY设备后,获取USBKEY设备的外部认证密钥;
确定模块42,用于确定USBKEY设备的外部认证密钥是否合法;
修改模块43,用于若确定USBKEY设备的外部认证密钥合法,则修改 USBKEY设备的外部认证密钥、用户密钥和/或管理密钥。
该方案中,发行后的每个USBKEY设备的外部认证密钥、用户密钥和管理员密钥均不相同,由于可以统一管理USBKEY设备,因此,解决了现有技术中存在的硬件加密狗不兼容的问题;并且,采用外部认证密钥、用户密钥、管理员密钥多重保护,从而提高了软件保护级别,不容易被破解。
具体的,确定模块42,具体用于:
确定USBKEY设备的外部认证密钥是否是默认外部认证密钥;
若确定USBKEY设备的外部认证密钥是默认外部认证密钥,则确定 USBKEY设备的外部认证密钥合法;
若确定USBKEY设备的外部认证密钥不是默认外部认证密钥,则查找发行设备中保存的根认证密钥;
使用USBKEY设备的序列号和根认证密钥校验USBKEY设备的外部认证密钥;
若USBKEY设备的外部认证密钥通过校验,则确定USBKEY设备的外部认证密钥合法。
具体的,修改模块43,具体用于:
获取USBKEY设备的序列号;以及,获取发行设备中保存的根认证密钥、根用户密钥和/或根管理密钥;
根据USBKEY设备的序列号和根认证密钥计算USBKEY设备的外部认证密钥;和/或,根据USBKEY设备的序列号和根用户密钥计算USBKEY设备的用户密钥;和/或,根据USBKEY设备的序列号和根管理密钥计算USBKEY设备的管理密钥。
可选的,还包括:
第二获取模块,用于获取USBKEY设备保护的软件对应的软件特征信息;
写入模块,用于将软件特征信息写入USBKEY设备中。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种基于电子钥匙USBKEY设备的软件保护方法,其特征在于,应用在终端中,所述方法包括:
检测到所述软件的运行指令后,查找USBKY设备;
验证查找到的USBKEY设备的外部认证密钥是否合法;
若验证所述USBKEY设备的外部认证密钥合法,则打开所述软件;
验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法;
若验证所述USBKEY设备的用户密钥和/或管理员密钥合法,则运行所述软件。
2.如权利要求1所述的方法,其特征在于,验证查找到的USBKEY设备的外部认证密钥是否合法,具体包括:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则验证所述USBKEY设备的外部认证密钥合法;若所述USBKEY设备的外部认证密钥未通过校验,则验证所述USBKEY设备的外部认证密钥不合法。
3.如权利要求1所述的方法,其特征在于,验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法,具体包括:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根用户密钥和/或根管理密钥;
使用所述USBKEY设备的序列号和所述根用户密钥校验所述USBKEY设备的用户密钥;和/或,使用所述USBKEY设备的序列号和所述根管理密钥校验所述USBKEY设备的管理员密钥;
若所述USBKEY设备的用户密钥和/或管理员密钥通过校验,则验证所述USBKEY设备的用户密钥和/或管理员密钥合法;若所述USBKEY设备的用户密钥和/或管理员密钥未通过校验,则验证所述USBKEY设备的用户密钥和/或管理员密钥不合法。
4.如权利要求1-3任一所述的方法,其特征在于,运行所述软件之前,还包括:
获取所述USBKEY设备保存的第一软件特征信息;
检验所述第一软件特征信息与所述软件保存的第二软件特征信息是否一致;
若所述第一软件特征信息与所述第二软件特征信息一致,则运行所述软件。
5.一种USBKEY设备的发行方法,其特征在于,应用在所述USBKEY设备的发行设备中,所述方法包括:
检测到所述USBKEY设备后,获取所述USBKEY设备的外部认证密钥;
确定所述USBKEY设备的外部认证密钥是否合法;
若确定所述USBKEY设备的外部认证密钥合法,则修改所述USBKEY设备的外部认证密钥、用户密钥和/或管理密钥。
6.如权利要求5所述的方法,其特征在于,确定所述USBKEY设备的外部认证密钥是否合法,具体包括:
确定所述USBKEY设备的外部认证密钥是否是默认外部认证密钥;
若确定所述USBKEY设备的外部认证密钥是所述默认外部认证密钥,则确定所述USBKEY设备的外部认证密钥合法;
若确定所述USBKEY设备的外部认证密钥不是所述默认外部认证密钥,则查找所述发行设备中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则确定所述USBKEY设备的外部认证密钥合法。
7.如权利要求5所述的方法,其特征在于,修改所述USBKEY设备的外部认证密钥、用户密钥和/或管理密钥,具体包括:
获取所述USBKEY设备的序列号;以及,获取所述发行设备中保存的根认证密钥、根用户密钥和/或根管理密钥;
根据所述USBKEY设备的序列号和所述根认证密钥计算所述USBKEY设备的外部认证密钥;和/或,根据所述USBKEY设备的序列号和所述根用户密钥计算所述USBKEY设备的用户密钥;和/或,根据所述USBKEY设备的序列号和所述根管理密钥计算所述USBKEY设备的管理密钥。
8.如权利要求5-7任一所述的方法,其特征在于,还包括:
获取所述USBKEY设备保护的软件对应的软件特征信息;
将所述软件特征信息写入所述USBKEY设备中。
9.一种基于USBKEY设备的软件保护装置,其特征在于,应用在终端中,所述装置包括:
查找模块,用于检测到所述软件的运行指令后,查找USBKY设备;
第一验证模块,用于验证查找到的USBKEY设备的外部认证密钥是否合法;
打开模块,用于若验证所述USBKEY设备的外部认证密钥合法,则打开所述软件;
第二验证模块,用于验证所述USBKEY设备的用户密钥和/或管理员密钥是否合法;
运行模块,用于若验证所述USBKEY设备的用户密钥和/或管理员密钥合法,则运行所述软件。
10.如权利要求9所述的装置,其特征在于,所述第一验证模块,具体用于:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则验证所述USBKEY设备的外部认证密钥合法;若所述USBKEY设备的外部认证密钥未通过校验,则验证所述USBKEY设备的外部认证密钥不合法。
11.如权利要求9所述的装置,其特征在于,所述第二验证模块,具体用于:
获取所述USBKEY设备的序列号;
查找所述软件中保存的根用户密钥和/或根管理密钥;
使用所述USBKEY设备的序列号和所述根用户密钥校验所述USBKEY设备的用户密钥;和/或,使用所述USBKEY设备的序列号和所述根管理密钥校验所述USBKEY设备的管理员密钥;
若所述USBKEY设备的用户密钥和/或管理员密钥通过校验,则验证所述USBKEY设备的用户密钥和/或管理员密钥合法;若所述USBKEY设备的用户密钥和/或管理员密钥未通过校验,则验证所述USBKEY设备的用户密钥和/或管理员密钥不合法。
12.如权利要求9-11任一所述的装置,其特征在于,所述运行模块,还用于:
在运行所述软件之前,获取所述USBKEY设备保存的第一软件特征信息;
检验所述第一软件特征信息与所述软件保存的第二软件特征信息是否一致;
若所述第一软件特征信息与所述第二软件特征信息一致,则运行所述软件。
13.一种USBKEY设备的发行装置,其特征在于,应用在所述USBKEY设备的发行设备中,所述装置包括:
第一获取模块,用于检测到所述USBKEY设备后,获取所述USBKEY设备的外部认证密钥;
确定模块,用于确定所述USBKEY设备的外部认证密钥是否合法;
修改模块,用于若确定所述USBKEY设备的外部认证密钥合法,则修改所述USBKEY设备的外部认证密钥、用户密钥和/或管理密钥。
14.如权利要求13所述的装置,其特征在于,所述确定模块,具体用于:
确定所述USBKEY设备的外部认证密钥是否是默认外部认证密钥;
若确定所述USBKEY设备的外部认证密钥是所述默认外部认证密钥,则确定所述USBKEY设备的外部认证密钥合法;
若确定所述USBKEY设备的外部认证密钥不是所述默认外部认证密钥,则查找所述发行设备中保存的根认证密钥;
使用所述USBKEY设备的序列号和所述根认证密钥校验所述USBKEY设备的外部认证密钥;
若所述USBKEY设备的外部认证密钥通过校验,则确定所述USBKEY设备的外部认证密钥合法。
15.如权利要求13所述的装置,其特征在于,所述修改模块,具体用于:
获取所述USBKEY设备的序列号;以及,获取所述发行设备中保存的根认证密钥、根用户密钥和/或根管理密钥;
根据所述USBKEY设备的序列号和所述根认证密钥计算所述USBKEY设备的外部认证密钥;和/或,根据所述USBKEY设备的序列号和所述根用户密钥计算所述USBKEY设备的用户密钥;和/或,根据所述USBKEY设备的序列号和所述根管理密钥计算所述USBKEY设备的管理密钥。
16.如权利要求13-15任一所述的装置,其特征在于,还包括:
第二获取模块,用于获取所述USBKEY设备保护的软件对应的软件特征信息;
写入模块,用于将所述软件特征信息写入所述USBKEY设备中。
CN201811062491.7A 2018-09-12 2018-09-12 基于usbkey设备的软件保护方法、usbkey设备的发行方法及装置 Pending CN109388931A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811062491.7A CN109388931A (zh) 2018-09-12 2018-09-12 基于usbkey设备的软件保护方法、usbkey设备的发行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811062491.7A CN109388931A (zh) 2018-09-12 2018-09-12 基于usbkey设备的软件保护方法、usbkey设备的发行方法及装置

Publications (1)

Publication Number Publication Date
CN109388931A true CN109388931A (zh) 2019-02-26

Family

ID=65418901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811062491.7A Pending CN109388931A (zh) 2018-09-12 2018-09-12 基于usbkey设备的软件保护方法、usbkey设备的发行方法及装置

Country Status (1)

Country Link
CN (1) CN109388931A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232815A (zh) * 2020-10-14 2021-01-15 深圳三角形科技有限公司 基于区块链的数字货币交易管理方法、装置、设备及介质
CN112232815B (zh) * 2020-10-14 2023-12-01 深圳三角形科技有限公司 基于区块链的数字货币交易管理方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645889A (zh) * 2009-06-26 2010-02-10 北京飞天诚信科技有限公司 一种下发数字证书的方法
CN101661599A (zh) * 2009-09-25 2010-03-03 浙江维尔生物识别技术股份有限公司 一种对设备***自带的软件进行合法性认证的方法
CN103746805A (zh) * 2013-12-05 2014-04-23 广东数字证书认证中心有限公司 外部认证密钥的生成方法和***
CN105553662A (zh) * 2014-10-29 2016-05-04 航天信息股份有限公司 基于标识密码的动态数字版权保护方法和***
CN107528689A (zh) * 2017-09-18 2017-12-29 上海动联信息技术股份有限公司 一种基于Ukey的密码修改方法
CN107832589A (zh) * 2017-11-29 2018-03-23 苏州科达科技股份有限公司 软件版权保护方法及其***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645889A (zh) * 2009-06-26 2010-02-10 北京飞天诚信科技有限公司 一种下发数字证书的方法
CN101661599A (zh) * 2009-09-25 2010-03-03 浙江维尔生物识别技术股份有限公司 一种对设备***自带的软件进行合法性认证的方法
CN103746805A (zh) * 2013-12-05 2014-04-23 广东数字证书认证中心有限公司 外部认证密钥的生成方法和***
CN105553662A (zh) * 2014-10-29 2016-05-04 航天信息股份有限公司 基于标识密码的动态数字版权保护方法和***
CN107528689A (zh) * 2017-09-18 2017-12-29 上海动联信息技术股份有限公司 一种基于Ukey的密码修改方法
CN107832589A (zh) * 2017-11-29 2018-03-23 苏州科达科技股份有限公司 软件版权保护方法及其***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232815A (zh) * 2020-10-14 2021-01-15 深圳三角形科技有限公司 基于区块链的数字货币交易管理方法、装置、设备及介质
CN112232815B (zh) * 2020-10-14 2023-12-01 深圳三角形科技有限公司 基于区块链的数字货币交易管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN103038745B (zh) 扩展完整性测量
CN103210396B (zh) 包括用于保护敏感代码和数据的架构的方法和装置
US8639949B2 (en) Device with a secure virtual machine
CN107679393B (zh) 基于可信执行环境的Android完整性验证方法和装置
US8572410B1 (en) Virtualized protected storage
CN101419652B (zh) 一种软硬件结合的保护程序的方法
EP1542112A1 (en) Open type general-purpose attack-resistant cpu, and application system thereof
CN113168476A (zh) 操作***中个性化密码学安全的访问控制
CN104794388B (zh) 应用程序存取保护方法及应用程序存取保护装置
CN106503494A (zh) 一种带有片上闪存微控制器的固件保护单元及保护方法
CN105408912A (zh) 处理认证和资源许可
TW202036347A (zh) 資料儲存、驗證方法及裝置
CN110401538A (zh) 数据加密方法、***以及终端
CN111177693B (zh) 一种验证终端根证书的方法、装置、设备和介质
CN107609410A (zh) 基于HOOK的Android***数据保护方法、终端设备及存储介质
CN104794394A (zh) 一种虚拟机启动校验的方法及装置
CN108199827A (zh) 客户端代码完整性校验方法、存储介质、电子设备及***
NL2033980A (en) New method for trusted data decryption based on privacy-preserving computation
CN107092838A (zh) 一种硬盘的安全访问控制方法及一种硬盘
EP3338214B1 (en) Secure computation environment
CN101777108A (zh) 一种可执行exe文件的加密方法
WO2015154469A1 (zh) 数据库的操作方法及装置
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及***
CN109255225A (zh) 基于双重身份认证的硬盘数据安全管理装置
US11138319B2 (en) Light-weight context tracking and repair for preventing integrity and confidentiality violations

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190226

RJ01 Rejection of invention patent application after publication