CN102663325A - 一种软件绑定硬件的方法及系统 - Google Patents

一种软件绑定硬件的方法及系统 Download PDF

Info

Publication number
CN102663325A
CN102663325A CN2012100631565A CN201210063156A CN102663325A CN 102663325 A CN102663325 A CN 102663325A CN 2012100631565 A CN2012100631565 A CN 2012100631565A CN 201210063156 A CN201210063156 A CN 201210063156A CN 102663325 A CN102663325 A CN 102663325A
Authority
CN
China
Prior art keywords
software
hardware
digital signature
numbering
hard disk
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
CN2012100631565A
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.)
Suzhou Codyy Network Technology Co Ltd
Original Assignee
Suzhou Codyy Network Technology 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 Suzhou Codyy Network Technology Co Ltd filed Critical Suzhou Codyy Network Technology Co Ltd
Priority to CN2012100631565A priority Critical patent/CN102663325A/zh
Publication of CN102663325A publication Critical patent/CN102663325A/zh
Priority to PCT/CN2012/084338 priority patent/WO2013135064A1/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/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices

Landscapes

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

Abstract

本发明提供一种软件绑定硬件的方法及系统。上述方法包括以下步骤:于软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名;根据数据对照表以及组合密钥加密所述硬件数字签名得到密文;于所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名;获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。

Description

一种软件绑定硬件的方法及系统
技术领域
本发明属于网络技术领域,尤其涉及一种软件绑定硬件的方法及系统。
背景技术
目前,由于软件的可复制性与可重复执行性,商业软件容易随意移植,给业界软件开发商带来很多问题,例如,客户无需购买即可免费使用软件,给软件开发企业带来巨大的经济损失。虽然目前存在软件的相关保护方法,例如序列号方式,使用时间限制方式等保护方式,但是这些方式仍存在算法复杂、容易破解、保护力弱等问题。
发明内容
本发明提供一种软件绑定硬件的方法及系统,以解决上述问题。
本发明提供一种软件绑定硬件的方法。上述方法包括以下步骤:于软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名;根据数据对照表以及组合密钥加密所述硬件数字签名得到密文;于所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名;获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。
本发明还提供一种软件绑定硬件的系统,包括软件安装装置、硬件加密装置、软件启动装置以及硬件解密装置,所述软件安装装置连接所述硬件加密装置,所述硬件加密装置连接所述硬件解密装置,所述软件启动装置连接所述硬件解密装置。所述软件安装装置,用于在软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名。所述硬件加密装置,用于根据数据对照表以及组合密钥加密所述硬件数字签名得到密文。所述硬件解密装置,用于在所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名。所述软件启动装置,用于获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。
相较于先前技术,根据本发明提供的软件绑定硬件的方法及系统,在软件安装时对客户端的CPU编号及硬盘编号加密生成硬件数字签名,并于软件启动时,获取当前客户端的硬件数字签名,并比较当前获得的硬件数字签名与解密获得的硬件数字签名是否一致,当两者一致时,则在当前客户端启动所述软件。如此,有效防止软件被非法移植到其他客户端上。此外,根据组合密钥及数据对照表对硬件数字签名加密,从而有效防止暴力破解,提高安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的软件绑定硬件的方法的流程图;
图2所示为根据本发明的较佳实施例提供的软件绑定硬件的系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的软件绑定硬件的方法的流程图。如图1所示,本发明较佳实施例提供的软件绑定硬件的方法包括步骤101~104。
于步骤101,于软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名。具体而言,于软件安装时,获取当前客户端的CPU编号及硬盘编号后,组合所述CPU编号及所述硬盘编号,并将组合后的所述CPU编号及所述硬盘编号经过MD5算法加密得到所述硬件数字签名。举例而言,当前客户端的CPU编号为BFEBFBFF0001067A,硬盘编号为58E8BFF9,则组合后的CPU编号和硬盘编号为BFEBFBFF0001067A58E8BFF,之后,将所述组合编号通过MD5加密后得到硬件数字签名a1a0835988211bc2。
于步骤102,根据数据对照表以及组合密钥加密所述硬件数字签名得到密文。其中,所述数据对照表由软件安装程序存储,于软件安装时,解压并建立至内存中。此外,数据对照表由小写字母、大写字母、数字以及一些特殊字符组成。所述数据对照表例如下表所示。
  序号   元素   序号   元素
  1   a   34   L
  2   n   35   Y
  3   0   36   -
  4   b   37   M
  5   o   38   Z
  6   1   39   A
  7   c   40   B
  8   p   41   C
  9   2   42   D
  10   d   43   E
  11   q   44   F
  12   3   45   G
  13   e   46   H
  14   r   47   I
  15   4   48   J
  16   f   49   K
  17   s   50   L
  18   5   51   M
  19   g   52   N
  20   t   53   O
  21   6   54   P
  22   h   55   Q
  23   u   56   R
  24   7   57   S
25 i 58 T
  26   v   59   U
  27   8   60   V
28 j 61 W
  29   w   62   X
  30   9   63   Y
  31   k   64   Z
  32   x   65   =
  33   ·
于本实施例中,由上表可知,数据对照表包括65个元素。然而,本发明并不限定于此。于实际应用中,用户可根据需要设定数据对照表。
于本实施例中,组合密钥包括密钥及随机码。其中,随机码在数字及大小写字母中随机选择。举例而言,密钥设置为codyy,且随机码随机选为m,则组合密钥为codyym。通过设置随机码每次可产生不同的组合密钥,如此,使得每次加密的结果都是不同的,从而防止暴力破解。
于本实施例中,根据所述组合密钥的ASCII码值总和及数据对照表中元素总个数得到移位数,所述硬件数字签名中的每个字符按照所述移位数从所述数据对照表获取对应的移位后的字符,并组合所述移位后得到的字符得到所述密文。以组合密钥为codyym为例,组合密钥的ASCII码值总和为661,另外,数据对照表中元素的总个数为65,则组合密钥的ASCII码值总和整除数据对照表元素总个数取余数为11,则确定移位数为11。之后,按照获得的移位数,对硬件数字签名中的每个字符进行移位以获得密文。以a为例,a在上述数据对照表中的序号为1,对应移动11位之后的元素为3(序号为12)。据此,硬件数字签名a1a083598821lbc2的每个字符经过11位移位后可以得到密文3s3rzuwCzztss45tm。
于本实施例中,于获得密文之后,将密文嵌入程序代码中,再动态编译该程序代码,最终生成dll文件。而且,此dll文件一旦生成,则一直存储于软件的安装程序中。如此,可防止非法获取硬件数字签名,使硬件数字签名更安全可靠。
于步骤103,于所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名。于软件启动时,获取软件安装程序中的dll文件,并反射该dll文件,获取之前得到的密文。之后,根据加密的逆过程进行解密。具体而言,根据组合密钥获得移位数,然后,密文中的每个字符根据移位数逆向移动相应位数后从数据对照表得到对应的符号,获得硬件数字签名。
于步骤104,获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。具体而言,在获取当前客户端的CPU编号及硬盘编号后,组合CPU编号及硬盘编号,并通过MD5加密组合的CPU编号及硬盘编号得到当前客户端的硬件数字签名。之后,比较当前客户端的硬件数字签名与步骤103中解密得到的硬件数字签名是否一致。若两者一致,则表示当前启动软件的客户端同软件安装的客户端一致,则当前客户端可启动所述软件;若两者不一致,则表示当前启动软件的客户端不是之前软件安装的客户端,从而停止运行,避免软件的非法移植,
图2所示为根据本发明的较佳实施例提供的软件绑定硬件的系统的示意图。如图2所示,本发明的较佳实施例提供的软件绑定硬件的系统包括软件安装装置201、硬件加密装置202、软件启动装置204以及硬件解密装置203。软件安装装置201连接硬件加密装置202,硬件加密装置202连接硬件解密装置203,软件启动装置204连接硬件解密装置203。其中,软件安装装置201,用于在软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名。硬件加密装置202,用于根据数据对照表以及组合密钥加密所述硬件数字签名得到密文。硬件解密装置203,用于在所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名。软件启动装置204,用于获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。关于上述系统的具体操作过程同上述方法所述,故于此不再赘述。
综上所述,根据本发明较佳实施例提供的软件绑定硬件的方法及系统,在软件安装时对客户端的CPU编号及硬盘编号加密生成硬件数字签名,并于软件启动时,获取当前客户端的硬件数字签名,并比较当前获得的硬件数字签名与解密获得的硬件数字签名是否一致,当两者一致时,则在当前客户端启动所述软件。如此,有效防止软件被非法移植到其他客户端上。此外,根据组合密钥及数据对照表对硬件数字签名加密,从而有效防止暴力破解,提高安全性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种软件绑定硬件的方法,其特征在于,包括以下步骤:
于软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名;
根据数据对照表以及组合密钥加密所述硬件数字签名得到密文;
于所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名;
获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。
2.根据权利要求1所述的软件绑定硬件的方法,其特征在于,于软件安装时,获取所述客户端的CPU编号及硬盘编号后,组合所述CPU编号及所述硬盘编号,并将组合后的所述CPU编号及所述硬盘编号经过MD5算法加密得到所述硬件数字签名。
3.根据权利要求1所述的软件绑定硬件的方法,其特征在于,所述组合密钥包括密钥及随机码,且所述随机码在数字及大小写字母中随机选择。
4.根据权利要求1所述的软件绑定硬件的方法,其特征在于,所述数据对照表包括小写字母、大写字母、数字及特殊字符。
5.根据权利要求1所述的软件绑定硬件的方法,其特征在于,根据所述组合密钥的ASCII码值总和及数据对照表中元素总个数得到移位数,所述硬件数字签名中的每个字符按照所述移位数从所述数据对照表获取对应移位后的字符,并组合所述移位后得到的字符得到所述密文。
6.一种软件绑定硬件的系统,其特征在于,包括软件安装装置、硬件加密装置、软件启动装置以及硬件解密装置,所述软件安装装置连接所述硬件加密装置,所述硬件加密装置连接所述硬件解密装置,所述软件启动装置连接所述硬件解密装置,
所述软件安装装置,用于在软件安装时,获取安装所述软件的客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到硬件数字签名,
所述硬件加密装置,用于根据数据对照表以及组合密钥加密所述硬件数字签名得到密文,
所述硬件解密装置,用于在所述软件启动时,将所述密文根据所述数据对照表及所述组合密钥解密得到所述硬件数字签名,
所述软件启动装置,用于获取当前客户端的CPU编号及硬盘编号,并加密所述CPU编号及所述硬盘编号得到当前客户端的硬件数字签名,并判断当前客户端的硬件数字签名是否与解密获得的硬件数字签名一致,若两者一致,则在当前客户端启动所述软件。
CN2012100631565A 2012-03-12 2012-03-12 一种软件绑定硬件的方法及系统 Pending CN102663325A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2012100631565A CN102663325A (zh) 2012-03-12 2012-03-12 一种软件绑定硬件的方法及系统
PCT/CN2012/084338 WO2013135064A1 (zh) 2012-03-12 2012-11-08 一种软件绑定硬件的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100631565A CN102663325A (zh) 2012-03-12 2012-03-12 一种软件绑定硬件的方法及系统

Publications (1)

Publication Number Publication Date
CN102663325A true CN102663325A (zh) 2012-09-12

Family

ID=46772811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100631565A Pending CN102663325A (zh) 2012-03-12 2012-03-12 一种软件绑定硬件的方法及系统

Country Status (2)

Country Link
CN (1) CN102663325A (zh)
WO (1) WO2013135064A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013135064A1 (zh) * 2012-03-12 2013-09-19 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统
CN106569865A (zh) * 2016-11-14 2017-04-19 青岛海信移动通信技术股份有限公司 一种终端的系统升级文件的制作方法及制作装置
CN107862218A (zh) * 2017-11-07 2018-03-30 山东渔翁信息技术股份有限公司 一种信息保护的方法及移动终端
CN109409112A (zh) * 2018-10-19 2019-03-01 郑州云海信息技术有限公司 一种磁盘绑定方法及装置
CN110210189A (zh) * 2019-06-11 2019-09-06 第四范式(北京)技术有限公司 软件验证方法、软硬件绑定方法及其可编程器件
CN111314053A (zh) * 2018-12-12 2020-06-19 上海领甲数据科技有限公司 一种基于均匀分布对称算法的数据加密和解密方法
CN113779512A (zh) * 2021-09-15 2021-12-10 上海步科自动化股份有限公司 基于加密进行授权管理的方法、装置、终端及存储介质
CN117574352A (zh) * 2024-01-16 2024-02-20 苏州元脑智能科技有限公司 一种软硬件结合的防伪方法、系统、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110501A (zh) * 2018-02-01 2019-08-09 南京奥拓电子科技有限公司 一种单机软件验证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913680A (zh) * 2006-08-25 2007-02-14 华为技术有限公司 移动终端内部软件防盗版的方法与移动终端
CN101149775A (zh) * 2006-09-20 2008-03-26 展讯通信(上海)有限公司 实现硬件和软件绑定的加密和解密方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961852B2 (en) * 2003-06-19 2005-11-01 International Business Machines Corporation System and method for authenticating software using hidden intermediate keys
CN1996335A (zh) * 2006-12-20 2007-07-11 江苏银河电子股份有限公司 终端机中嵌入式软件的远程授权方法
CN101916344B (zh) * 2010-08-31 2013-09-25 北京深思洛克软件技术股份有限公司 一种验证软件保护装置合法性的方法及系统
CN102663325A (zh) * 2012-03-12 2012-09-12 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913680A (zh) * 2006-08-25 2007-02-14 华为技术有限公司 移动终端内部软件防盗版的方法与移动终端
CN101149775A (zh) * 2006-09-20 2008-03-26 展讯通信(上海)有限公司 实现硬件和软件绑定的加密和解密方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013135064A1 (zh) * 2012-03-12 2013-09-19 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统
CN106569865A (zh) * 2016-11-14 2017-04-19 青岛海信移动通信技术股份有限公司 一种终端的系统升级文件的制作方法及制作装置
CN106569865B (zh) * 2016-11-14 2020-04-10 青岛海信移动通信技术股份有限公司 一种终端的系统升级文件的制作方法及制作装置
CN107862218A (zh) * 2017-11-07 2018-03-30 山东渔翁信息技术股份有限公司 一种信息保护的方法及移动终端
CN109409112A (zh) * 2018-10-19 2019-03-01 郑州云海信息技术有限公司 一种磁盘绑定方法及装置
CN111314053A (zh) * 2018-12-12 2020-06-19 上海领甲数据科技有限公司 一种基于均匀分布对称算法的数据加密和解密方法
CN111314053B (zh) * 2018-12-12 2023-02-10 上海领甲数据科技有限公司 一种数据加密和解密方法
CN110210189A (zh) * 2019-06-11 2019-09-06 第四范式(北京)技术有限公司 软件验证方法、软硬件绑定方法及其可编程器件
CN113139162A (zh) * 2019-06-11 2021-07-20 第四范式(北京)技术有限公司 软件验证方法、软硬件绑定方法及其可编程器件
CN113779512A (zh) * 2021-09-15 2021-12-10 上海步科自动化股份有限公司 基于加密进行授权管理的方法、装置、终端及存储介质
CN117574352A (zh) * 2024-01-16 2024-02-20 苏州元脑智能科技有限公司 一种软硬件结合的防伪方法、系统、设备及存储介质
CN117574352B (zh) * 2024-01-16 2024-04-05 苏州元脑智能科技有限公司 一种软硬件结合的防伪方法、系统、设备及存储介质

Also Published As

Publication number Publication date
WO2013135064A1 (zh) 2013-09-19

Similar Documents

Publication Publication Date Title
CN102663325A (zh) 一种软件绑定硬件的方法及系统
CN105760764B (zh) 一种嵌入式存储设备文件的加解密方法、装置及终端
WO2018046008A1 (zh) 一种区块链加密射频芯片存储设计方法
CN101309278B (zh) 一种在客户端保存加密数据的方法及系统
US8051297B2 (en) Method for binding a security element to a mobile device
US10853497B2 (en) Method and system for providing an update of code on a memory-constrained device
CN102904712B (zh) 信息加密方法
CN101149768B (zh) 一种专用处理器软件的加密和解密方法
US11424919B2 (en) Protecting usage of key store content
CN102196375A (zh) 保护带外消息
CN102156843B (zh) 数据加密方法与系统以及数据解密方法
US20170230175A1 (en) Method and apparatus for encrypting and decrypting data
CN105320535A (zh) 一种安装包的校验方法、客户端、服务器及系统
Kim et al. A study on the decryption methods of telegram X and BBM-Enterprise databases in mobile and PC
CN102594549A (zh) 一种数据多级加密、解密方法
CN103117850B (zh) 一种基于随机序列数据库的密码系统的建立方法
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
CN104978542A (zh) 安全存储数据和访问数据的方法及系统
CN104751028A (zh) 应用程序加密、解密的方法及装置
CN112565206A (zh) 一种充电桩信息安全防护方法及防护系统
CN104392153A (zh) 一种软件保护方法及系统
CN102088692B (zh) 锁卡的方法和设备
CN108307324B (zh) 一种广播消息安全传输方法及装置
WO2015045512A1 (ja) データ暗号化装置、データ暗号化プログラム及びデータ暗号化方法
KR101329789B1 (ko) 모바일 디바이스의 데이터베이스 암호화 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120912