CN107391971A - 一种软件许可授权的保护方法 - Google Patents
一种软件许可授权的保护方法 Download PDFInfo
- Publication number
- CN107391971A CN107391971A CN201710442778.1A CN201710442778A CN107391971A CN 107391971 A CN107391971 A CN 107391971A CN 201710442778 A CN201710442778 A CN 201710442778A CN 107391971 A CN107391971 A CN 107391971A
- Authority
- CN
- China
- Prior art keywords
- software
- license
- guard method
- mandate
- machine
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013461 design Methods 0.000 claims description 6
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000013475 authorization Methods 0.000 description 8
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06F21/121—Restricting unauthorised execution of programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种软件许可授权的保护方法,该保护方法包括如下步骤:步骤1,软件启动之后、正常加载之前,读取license文件和唯一表征本机的设备ID;步骤2,通过解析license文件的方式得到密钥;步骤3,对所述密钥进行解密,得到字符组合;步骤4,对所述字符组合进行解码,得到目标ID;步骤5,将所述目标ID与所述设备ID比较,并判断二者是否相同;如果二者相同,则执行步骤6,如果二者不相同,则执行步骤7;步骤6,软件正常加载成功,表明本机已经授权;步骤7,软件正常加载失败,表明本机未经授权。本发明通过对license文件进行解密、解码等操作实现对许可授权的验证,具有逆向破译难度大等突出优点,从而实现对软件的有效保护。
Description
技术领域
本发明涉及软件使用保护技术领域,更为具体来说,本发明为一种软件许可授权的保护方法。
背景技术
在如今互联网大数据应用高速发展时期,软件产品已然成为计算机领域的核心工具,在琳琅满目的软件产品世界中软件保护思想逐渐引起软件发行方的重视,尤其在盗版猖狂的亚太地区,软件保护的全面实施有利于软件行业的健康发展,有利于推动信息化建设。
在软件授权保护技术方面,常规的软件授权方式主要通过云服务器的网络在线授权、软件密钥授权及分配账号密码授权等方式,应用到的软件保护技术主要有加密技术、软件防篡改技术、软件水印、代码迷惑等等。但是,传统的软件授权保护方法容易被逆向破译,并且针对不同系统平台需分别研发不同的软件保护方法,研发投入高。
因此,如何提高软件授权保护水平、增加逆向破译难度、降低研发成本,成为了本领域技术人员亟待解决的技术问题和始终研究的重点。
发明内容
为解决现有技术对软件授权的保护力度差、易被逆向破译、针对不同系统环境平台分别研发导致成本高等问题,本发明创新地提出了一种软件许可授权的保护方法,该方法可对软件进行有效地保护,难以被逆向破译,并不再依靠操作系统平台。
为实现上述目的,本发明公开了一种软件许可授权的保护方法,所述保护方法包括如下步骤:
步骤1,软件启动之后、正常加载之前,读取license文件和唯一表征本机的设备ID;
步骤2,通过解析license文件的方式得到密钥;
步骤3,对所述密钥进行解密,得到字符组合;
步骤4,对所述字符组合进行解码,得到目标ID;
步骤5,将所述目标ID与所述设备ID比较,并判断二者是否相同;如果二者相同,则执行步骤6,如果二者不相同,则执行步骤7;
步骤6,软件正常加载成功,表明本机已经授权;
步骤7,软件正常加载失败,表明本机未经授权。
本方法不再依赖系统环境平台,而是随软件的启动而自动执行,通过严格设计的解密方法和匹配方法,有效地提高了逆向破译的难度,提高了软件许可授权的安全性。本发明还具有操作简单、实用等突出优点。
进一步地,步骤5中,如果所述目标ID与所述设备ID相同,说明所述license文件事先已经授权过;通过如下方式生成授权的license文件:
步骤a,获取唯一表征本机的设备ID;
步骤b,将所述设备ID与特殊字符重组,得到编码;
步骤c,将所述编码进行加密处理,生成密钥;
步骤d,将所述密钥保存为授权的license文件。
本发明通过上述对设备ID的加密方案生成授权的license文件,避免他人恶意对授权的license文件的伪造,从而进一步提高了软件许可授权的安全性和可靠性。
进一步地,步骤b中,通过将特殊字符插入所述设备ID的方式将所述设备ID与特殊字符重组;
步骤4中,通过去除所述字符组合中特殊字符的方式对所述字符组合进行解码。
由于特殊字符具有多样性、随机性等特点,本发明通过上述附加技术特征提高了第一次加密的可靠性和安全性。
进一步地,步骤c中,通过非对称MD5加密算法对所述编码进行加密处理;
步骤3中,通过非对称MD5解密算法对密钥进行解密。
本发明不仅采用了双重加密,而且还采用了严格的非对称MD5加密算法提高了第二次加密的可靠性和安全性。
进一步地,所述软件运行于Windows操作系统或Linux操作系统环境下;所述保护方法集成于该软件的架构设计中,随着软件的启动而执行。
进一步地,步骤1中,通过JAVA跨平台的方法读取唯一表征本机的设备ID。
本发明彻底地摆脱了对操作系统环境的依赖,而将该保护方法集成于软件本体中,具有安全可靠、难以破解等突出优点。
进一步地,所述授权的license文件中还包含有软件使用权限信息和使用时间信息。
在本方案的基础上,还可通过授权的license文件限定或确认用户的使用权限、使用时间甚至付费等相关内容。
进一步地,所述保护方法在单机授权或在线计算机授权的过程中执行。
本发明的软件许可授权的保护方法既适用于本地授权模式,也适用于云授权模式,因而本发明具备适用范围广的优点。
进一步地,步骤7中,还包括弹出提醒窗口、关闭软件的步骤。
进一步地,步骤2中,解析的过程为:读取license文件中的内容。
本发明的有益效果为:本发明通过对license文件进行解密、解码等操作实现对许可授权的验证,具有逆向破译难度大等突出优点,从而实现对软件的有效保护;而且该方法集成于软件框架设计中,可在不同的操作系统环境下成功应用,避免了传统方案针对不同操作系统而必须多次研发的问题。因此,本发明可有效地保护软件开发方和授权用户的利益,从而对软件使用进行科学、合理的管理。
附图说明
图1为软件许可授权的保护方法的流程示意图。
图2为软件授权方法的流程示意图。
具体实施方式
下面结合说明书附图对本发明软件许可授权的保护方法进行详细的解释和说明。
如图1-2所示,本发明公开了一种软件许可授权的保护方法,涉及到软件license授权保护和跨平台的软件授权管理的技术方案,其主要针对单机软件产品的授权保护,该保护方法具体包括如下步骤。
步骤1,软件启动之后、正常加载之前,其框架设计已集成本方法的软件自动进行权限检测,读取license文件和唯一表征本机的设备ID;更为具体地,为提高本发明的适用范围,本实施例通过JAVA跨平台的方法读取唯一表征本机的设备ID,实现一次设计后、多平台使用。
步骤2,通过解析license文件的方式得到密钥,解析的过称为读取license文件中的内容,其中密钥通过给予授权用户的license文件实现的。
步骤3,对密钥进行解密,得到字符组合;本实施例中,通过非对称MD5解密算法对密钥进行解密;本步骤实现了对设备ID的第一次解密。
步骤4,对字符组合进行解码,得到目标ID;本实施例中,通过去除字符组合中特殊字符的方式对字符组合进行解码;本步骤实现了对设备ID的第二次解密。
步骤5,将目标ID与设备ID比较,用于判断目标ID与设备ID是否相同;如果目标ID与设备ID相同,则执行步骤6,如果二者不相同,则执行步骤7。
具体来说,本实施例的步骤5中,如果目标ID与设备ID相同,说明license文件事先已经授权过,该用户可按照相应的授权范围而合法使用该软件;通过如下的方式生成授权的license文件,如图2所示。
步骤a,软件开发方服务器获取唯一表征本机的设备ID;本实施例中,设备ID为唯一表征设备唯一的ID序列号,从而使本机具有唯一性、区别于其他机器。比如,本机为计算机,设备ID为计算机的物理地址:“1A-2B-AD-33-66-7F”。
步骤b,软件开发方服务器将设备ID与特殊字符重组,得到编码;本实施例中,通过将特殊字符插入设备ID的方式将设备ID与特殊字符重组;通过本步骤实现对设备ID的第一次加密。
举例说明,比如特殊字符为“@、#、¥、%、^、&、*”,那么插入后得到的编码可能为“1A¥-2@B-A%%D#-¥3#3-*#6%6-7%F”。上述的设备ID、特殊字符以及插入规则可根据实际情况合理而明智的设置。
步骤c,软件开发方服务器将编码进行加密处理,从而生成密钥;本实施例中,通过非对称MD5加密算法对编码进行加密处理。非对称MD5加密算法需要两个密钥来进行加密和解密,两个密钥分别包括公开密钥和私有密钥,本发明通过使用该方法可较好地实现对编码后的设备ID进行有效地加密处理,提高license文件被反向破译的难度,提高授权管理的安全性,从而实现了对设备ID的第二次加密。
步骤d,服务器将密钥保存为授权的license文件,即保存后文件格式为.license,主要用于软件是否合法使用的验证。然后通过网络或本地拷贝的方式将该授权的license文件发送至本机,其用于作为使用该软件的验证文件;为便于对授权用户的管理,授权的license文件中还可以包含有软件使用权限信息和使用时间信息,比如,在该软件授权截止期限过后,同样无法通过验证。
步骤6,验证通过,软件正常加载成功,表明本机已经授权,即本机可以使用本软件,进而加载正常使用的该软件线程。
步骤7,验证失败,软件正常加载失败,表明本机未经授权,即本机无法使用本软件。本实施例中,为方便用户知晓,该步骤还包括弹出提醒窗口、关闭软件的步骤。
当用户再次打开该软件时,重新执行步骤1至步骤7,即每次打开该软件时实现对软件的许可授权的验证,只有通过软件开发方的服务器基于本机设备ID生成的授权license文件才能实现软件线程正常加载、使用该软件。
需要强调的是,本发明涉及的软件可以运行于Windows操作系统或Linux操作系统的环境下;该保护方法集成于该软件的架构设计中,随着软件的启动而执行,因此,该方法不再依赖操作系统平台和设备硬件。本发明分别在windows操作系统环境下、linux操作系统环境下中进行测试后,结果表明该方法能够成功保护软件的授权许可,有效控制发行软件的合法权益,并且实现对授权用户的统一管理。而且本发明涉及的保护方法在可单机授权或在线计算机授权的过程中执行,本发明达到了保护开发方权益的目的,能够对软件授权的使用范围进行有效地控制;所以,该方法不仅适用于单机授权,也适用于网络在线计算机授权。
在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明实质内容上所作的任何修改、等同替换和简单改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件许可授权的保护方法,其特征在于:所述保护方法包括如下步骤:
步骤1,软件启动之后、正常加载之前,读取license文件和唯一表征本机的设备ID;
步骤2,通过解析license文件的方式得到密钥;
步骤3,对所述密钥进行解密,得到字符组合;
步骤4,对所述字符组合进行解码,得到目标ID;
步骤5,将所述目标ID与所述设备ID比较,并判断二者是否相同;如果二者相同,则执行步骤6,如果二者不相同,则执行步骤7;
步骤6,软件正常加载成功,表明本机已经授权;
步骤7,软件正常加载失败,表明本机未经授权。
2.根据权利要求1所述的软件许可授权的保护方法,其特征在于:步骤5中,如果所述目标ID与所述设备ID相同,说明所述license文件事先已经授权过;通过如下方式生成授权的license文件:
步骤a,获取唯一表征本机的设备ID;
步骤b,将所述设备ID与特殊字符重组,得到编码;
步骤c,将所述编码进行加密处理,生成密钥;
步骤d,将所述密钥保存为授权的license文件。
3.根据权利要求2所述的软件许可授权的保护方法,其特征在于:
步骤b中,通过将特殊字符插入所述设备ID的方式将所述设备ID与特殊字符重组;
步骤4中,通过去除所述字符组合中特殊字符的方式对所述字符组合进行解码。
4.根据权利要求2或3所述的软件许可授权的保护方法,其特征在于:
步骤c中,通过非对称MD5加密算法对所述编码进行加密处理;
步骤3中,通过非对称MD5解密算法对密钥进行解密。
5.根据权利要求1所述的软件许可授权的保护方法,其特征在于:所述软件运行于Windows操作系统或Linux操作系统环境下;所述保护方法集成于该软件的架构设计中,随着软件的启动而执行。
6.根据权利要求5所述的软件许可授权的保护方法,其特征在于:步骤1中,通过JAVA跨平台的方法读取唯一表征本机的设备ID。
7.根据权利要求2所述的软件许可授权的保护方法,其特征在于:所述授权的license文件中还包含有软件使用权限信息和使用时间信息。
8.根据权利要求1所述的软件许可授权的保护方法,其特征在于:所述保护方法在单机授权或在线计算机授权的过程中执行。
9.根据权利要求1所述的软件许可授权的保护方法,其特征在于:步骤7中,还包括弹出提醒窗口、关闭软件的步骤。
10.根据权利要求1所述的软件许可授权的保护方法,其特征在于:步骤2中,解析的过程为:读取license文件中的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710442778.1A CN107391971A (zh) | 2017-06-13 | 2017-06-13 | 一种软件许可授权的保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710442778.1A CN107391971A (zh) | 2017-06-13 | 2017-06-13 | 一种软件许可授权的保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391971A true CN107391971A (zh) | 2017-11-24 |
Family
ID=60331904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710442778.1A Pending CN107391971A (zh) | 2017-06-13 | 2017-06-13 | 一种软件许可授权的保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391971A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171018A (zh) * | 2017-12-26 | 2018-06-15 | 广州路派电子科技有限公司 | 一种车载解码器的软件加密和解密方法 |
CN109495491A (zh) * | 2018-12-05 | 2019-03-19 | 西安四叶草信息技术有限公司 | 信息采集方法及系统 |
CN110555290A (zh) * | 2019-09-02 | 2019-12-10 | 积成电子股份有限公司 | 一种基于fpga的工控软件版权保护方法及系统 |
WO2020173332A1 (zh) * | 2019-02-27 | 2020-09-03 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的应用激活方法及装置 |
WO2021159931A1 (zh) * | 2020-02-13 | 2021-08-19 | 深圳壹账通智能科技有限公司 | 软件许可本地部署方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777106A (zh) * | 2010-01-22 | 2010-07-14 | 中兴通讯股份有限公司 | 一种移动终端软件防盗用的方法和装置 |
CN102289632A (zh) * | 2011-08-30 | 2011-12-21 | 武汉大学 | 一种在软件源代码未知情况下对可执行文件进行加密方法 |
CN103268435A (zh) * | 2013-04-25 | 2013-08-28 | 福建伊时代信息科技股份有限公司 | 内网许可生成方法及系统、内网许可保护方法及系统 |
CN103995991A (zh) * | 2014-05-07 | 2014-08-20 | 华中师范大学 | 一种软件版权保护中绑定硬件信息与密钥的方法 |
CN106446613A (zh) * | 2016-08-29 | 2017-02-22 | 武汉启目科技有限公司 | 一种终端预装应用程序的保护方法 |
-
2017
- 2017-06-13 CN CN201710442778.1A patent/CN107391971A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777106A (zh) * | 2010-01-22 | 2010-07-14 | 中兴通讯股份有限公司 | 一种移动终端软件防盗用的方法和装置 |
CN102289632A (zh) * | 2011-08-30 | 2011-12-21 | 武汉大学 | 一种在软件源代码未知情况下对可执行文件进行加密方法 |
CN103268435A (zh) * | 2013-04-25 | 2013-08-28 | 福建伊时代信息科技股份有限公司 | 内网许可生成方法及系统、内网许可保护方法及系统 |
CN103995991A (zh) * | 2014-05-07 | 2014-08-20 | 华中师范大学 | 一种软件版权保护中绑定硬件信息与密钥的方法 |
CN106446613A (zh) * | 2016-08-29 | 2017-02-22 | 武汉启目科技有限公司 | 一种终端预装应用程序的保护方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171018A (zh) * | 2017-12-26 | 2018-06-15 | 广州路派电子科技有限公司 | 一种车载解码器的软件加密和解密方法 |
CN108171018B (zh) * | 2017-12-26 | 2021-10-08 | 广州路派电子科技有限公司 | 一种车载解码器的软件加密和解密方法 |
CN109495491A (zh) * | 2018-12-05 | 2019-03-19 | 西安四叶草信息技术有限公司 | 信息采集方法及系统 |
WO2020173332A1 (zh) * | 2019-02-27 | 2020-09-03 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的应用激活方法及装置 |
CN110555290A (zh) * | 2019-09-02 | 2019-12-10 | 积成电子股份有限公司 | 一种基于fpga的工控软件版权保护方法及系统 |
WO2021159931A1 (zh) * | 2020-02-13 | 2021-08-19 | 深圳壹账通智能科技有限公司 | 软件许可本地部署方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391971A (zh) | 一种软件许可授权的保护方法 | |
EP1942430B1 (en) | Token Passing Technique for Media Playback Devices | |
CN100452075C (zh) | 软件保护装置数据传输过程的安全控制方法及其设备 | |
US8565436B2 (en) | Secure self managed data (SSMD) | |
CN109412812B (zh) | 数据安全处理系统、方法、装置和存储介质 | |
JP2007013433A (ja) | 暗号化データを送受信する方法及び情報処理システム | |
EP3814964B1 (en) | Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature | |
JP2009070397A (ja) | 改竄防止ハードウェアを使用してコピー保護およびオンラインセキュリティを提供するための方法ならびにシステム | |
CN102426640A (zh) | 用于产品验证和激活的安全软件产品标识符 | |
CN110096849A (zh) | 一种License授权认证方法、装置、设备及可读存储介质 | |
CN110348181A (zh) | 一种校验软件使用权合法性的方法 | |
CN109598104A (zh) | 基于时间戳和秘密鉴权文件的软件授权保护系统及其方法 | |
CN107342854A (zh) | 门禁二维码权限信息的加密解密方法和智能门禁系统 | |
KR20130093557A (ko) | 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법 | |
CN109510702A (zh) | 一种基于计算机特征码的密钥存储及使用的方法 | |
KR100358705B1 (ko) | Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치 | |
Chen et al. | A novel DRM scheme for accommodating expectations of personal use | |
CN102831335A (zh) | 一种Windows操作系统的安全保护方法和系统 | |
CN111191194B (zh) | 一种多核处理器软件集成开发环境离线使用许可系统 | |
CN106330877B (zh) | 一种授权对终端状态进行转换的方法和系统 | |
CN113595731A (zh) | 一种分享链接的防护方法、装置及计算机可读存储介质 | |
CN107609405B (zh) | 一种外部安全内存装置及系统级芯片soc | |
CN114024702A (zh) | 信息安全保护的方法以及计算设备 | |
CN105262594B (zh) | 一种身份认证的方法及装置 | |
US20220109455A1 (en) | Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature |
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: 20171124 |
|
RJ01 | Rejection of invention patent application after publication |