CN107085676A - 软硬件结合的多维度的软件知识产权保护方法 - Google Patents
软硬件结合的多维度的软件知识产权保护方法 Download PDFInfo
- Publication number
- CN107085676A CN107085676A CN201710330164.4A CN201710330164A CN107085676A CN 107085676 A CN107085676 A CN 107085676A CN 201710330164 A CN201710330164 A CN 201710330164A CN 107085676 A CN107085676 A CN 107085676A
- Authority
- CN
- China
- Prior art keywords
- software
- authority
- encryption
- certificate
- unique information
- 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 35
- 238000013475 authorization Methods 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 239000000284 extract Substances 0.000 claims description 9
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002633 protecting 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
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/184—Intellectual property management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Bioethics (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及软件的知识产权保护方法,属于计算机与信息科学技术领域。本发明通过提取计算机唯一信息生成加密秘钥,并加密授权起始时间和授权天数的授权文件,最终生成授权证书。软件通过提取计算机唯一信息生成的解密秘钥解密授权证书,获取授权截止时间并与加密锁中的当前时间对比,判断是否在授权范围内。此外,还采用加密锁与软件动态链接库绑定的技术,保证一款软件对应唯一加密锁,并轮询检测加密锁是否存在。最后,利用多种反调试手段增加软件破解的难度,达到软件全方位知识产权保护的目的。
Description
技术领域
本发明涉及一种多维度的软件知识产权保护方法,属于计算机与信息科学技术领域。
背景技术
如今人类已经步入了21世纪。科学技术的发展使得人类不断进步,随之而来的是生活空间的不断扩大。计算机伴随着科技革命已经深入到我们生活的方方面面,随之而来的是计算机软件的蓬勃发展。
从20世纪60年代软件产业兴起开始,计算机软件的侵权现象日益明显。与此同时,德国学者针对计算机软件盗版猖獗的现象提出了用法律去保护软件知识产权的方案。目前,对软件的知识产权保护主要分为如下2方面:一方面是通过法律手段进行保护如将软件著作权纳入版权法、采用专利法、商业秘密法等。另一方面是通过技术手段对软件进行保护如代码混淆、加密机、反调试等。
目前行业内认同的软件知识产权保护方法是为自己的软件申请专利和版权。但是,并不是所有开发的软件都符合申请软件版权的标准,而软件的开发消耗了大量的人力和物力。因此,对于无法申请软件专利和版权的软件,业内通常采用技术手段对软件进行知识产权保护。
目前常用的技术手段如下:软件加壳技术、软件反调试策略、加密机等。这些方法都具有一定的软件防破解的能力,但是却无法防止软件被拷贝以及恶意移植,这就导致盗版者购买正版软件并随意散播或恶意获益等现象的发生。
发明内容
本发明的目的:针对目前软件知识产权保护方法无法有效防止恶意拷贝,无法灵活设定授权时间等缺陷,提出一种多维度的软件知识产权保护方法,该方法有效防止用户拷贝破解软件,并保证用户在未插加密锁或未在授权时间范围内不可使用被保护系统。此方法保护措施完备,保护强度大。
本发明的设计原理为:首先将授权时间及授权天数写入授权文件,其次,提取计算机唯一信息(如BIOS信息、CPU型号、MAC地址),并将唯一信息进行融合排序等操作,生成授权证书的加密秘钥。利用加密秘钥对授权文件进行加密,生成授权证书。在待保护软件中内嵌授权证书解密模块,解密并计算得到软件授权的截止时间,并与加密锁中内置时钟进行比对,判断当前时间是否在授权时间范围之内。此外,将软件的动态库与加密锁进行绑定加壳,保证软件与加密锁一一对应。最后,对软件进行代码混淆并加入反调试措施,防止软件被破解。
本发明分为2个过程,软件授权过程和软件运行过程。
其中软件授权过程的技术方案是通过如下步骤实现的:
步骤1,生成授权证书,利用提取的计算机唯一信息生成的加密秘钥加密授权文件并生成授权证书,生成授权证书的具体实现方法为:
步骤1.1,将当前时间和授权天数写入授权文件。
步骤1.2,提取计算机唯一信息并对信息进行混淆操作形成加密秘钥。
步骤1.3,利用加密算法和加密秘钥对授权文件进行加密,生成授权证书。
步骤2,将软件核心函数抽取并封装成动态链接库,将动态链接库进行加密锁加壳绑定,并设置轮询检测加密锁的函数,定时检测加密锁是否存在。
步骤3,加入反调试模块,防止软件被逆向破解。
软件的运行过程技术方案是通过如下步骤实现的:
步骤1,待保护软件内嵌授权文件解密模块,提取计算机唯一信息并形成解密秘钥,解密授权证书,并与加密锁内置时钟对比,判断当前是否处于授权时间范围之内,授权证书解密的具体实现方法为:
步骤1.1,提取计算机唯一信息并对信息进行混淆操作形成解密秘钥。
步骤1.2,解密授权证书,提取授权时间和授权天数,并计算授权截止时间。
步骤1.3,提取加密锁中内置时钟并判断当前时间是否在授权时间范围内,若在授权时间范围内,软件继续运行,若不在授权范围内,软件停止运行。
步骤2,当软件调用加密锁加壳后的动态链接库时,会判断加密锁是否存在。若加密锁存在,软件继续运行,若加密锁不存在,软件停止运行。
步骤3,如果软件被调试运行,软件会检测相关调试器或调试标志位,并停止软件的运行。
有益效果
相比于目前应用的软件知识产权保护的技术手段,本发明结合了软件层面和硬件层面的多维度知识产权保护。通过软件层面加密授权时间和硬件层面校验授权时间,有效防止软件被随意拷贝和恶意移植。在此基础上,加入反调试措施,增加软件的破解难度,因此具有更强的保护强度和广泛的适用性。
附图说明
图1为本发明提出的多维度软件知识产权保护框架图;
图2为本发明提出的授权证书生成流程图;
图3为本发明提出的授权证书解析流程图;
图4为本发明提出的加密锁加壳流程图;
图5为本发明提出的反调试流程图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合附图和实施用例对本发明方法的实施方式做进一步详细说明。在此,本发明的示意性实施用例及其中说明用于解释本发明,但并不作为对本发明的限定。
实施用例中包括1台服务器,服务器采用Linux Ubuntu操作系统,加密锁型号为SafeNet LDK。
第一环节
本环节的目的是生成授权证书。具体实施步骤如下:
步骤1.1,在服务器上提取计算机唯一信息包括CPU序列号、MAC地址、BIOS序列号3个唯一信息,并将这3个序列号进行倒叙拼接移位,生成加密秘钥,如附图2所示。
步骤1.2,将授权起始时间(当前时间)和授权天数写入待加密的授权文件中,如附图2所示。
步骤1.3,用步骤1.1生成的加密秘钥对步骤1.2生成的待加密的授权文件进行DES64位加密,生成最终的授权证书,如附图2所示。
步骤1.4,将授权证书拷贝到软件运行的对应目录下,保证软件运行时可以找到授权证书,如附图2所示。
第二环节
本环节的目的是在软件运行前和运行期间调用授权证书解密模块对授权证书进行解密,判断当前时间是否在授权范围内。具体实施步骤如下:
步骤2.1,在当前计算机上提取计算机唯一信息,生成解密秘钥,由于采用DES对称性加密算法,因此加密秘钥和解密秘钥必须相同,即解密秘钥必须与步骤1.1的加密秘钥相同,如附图3所示。
步骤2.2,利用步骤2.1生成的解密秘钥解密授权证书,得到授权起始时间和授权天数,并计算得出授权截止时间,如附图3所示。
步骤2.3,根据SafeNet LDK的内置时钟提取加密锁内置时间,并与授权截止时间进行对比,若软件在授权时间范围内,软件继续运行,若软件不在授权范围内,软件停止运行,如附图3所示。
第三环节
本环节的目的是将软件与加密锁加壳绑定,保证一款软件对应唯一一个加密锁。具体实施步骤如下:
步骤3.1,利用SafeNet LDK加密锁的加壳特性将软件的动态链接库加壳绑定,如附图4所示。
步骤3.2,在软件中增加SafeNet LDK加密锁轮询检测模块,间隔10min检测加密锁是否存在,并以此为依据决定软件是否继续运行,如附图4所示。
第四环节
本环节的目的是在软件中加入反调试措施,增加软件的破解难度同时也保护授权证书解密模块和加密锁循环校验模块不被破解和绕过。具体实施步骤如下:
步骤4.1,检测当前进程的父进程是否是调试器进程,如附图5所示。
步骤4.2,检测当前进程的调试标志位是否开启,如附图5所示。
步骤4.3,检测ptrace函数是否存在,如附图5所示。
步骤4.4,对进程当前的状态进行判断,如果以上步骤任意一点满足,则视为软件正在被调试,结束软件运行进程,如附图5所示。
Claims (5)
1.一种多维度的知识产权保护方法,其特征在于,所述方法包括以下步骤:
步骤1,提取计算机唯一信息并形成加密秘钥对授权文件(包含授权起始时间和授权天数)进行加密,生成授权证书;
步骤2,提取计算机唯一信息并形成解密秘钥对授权证书进行解密,并与加密锁内置时钟比对;
步骤3,待保护软件的动态链接库进行加密锁加壳绑定;
步骤4,在软件中加入反调试检测模块,防止软件被逆向破解。
2.根据权利要求1所述的方法,其特征在于,提取CPU序列号、BIOS序列号以及MAC地址作为计算机唯一信息,并对这3种特征进行混淆操作,授权文件中包含授权起始时间和授权天数,以处理后的计算机唯一信息作为加密秘钥加密授权文件,最终生成授权证书。
3.根据权利1所述方法,其特征在于,待保护软件解密授权证书并计算得到授权截止时间,并与加密锁中的当前时间进行比对,得出当前时间是否在授权范围内,防止盗版者恶意修改计算机时间以延长授权时间。
4.根据权利1所述方法,其特征在于,对动态链接库进行加壳既保证了加密锁与软件绑定的唯一性,又大大减小了软件的占用空间,减小了系统资源的消耗。
5.根据权利要求1所述的方法,其特征在于,运用了多种反调试的手段和方法保证软件不被破解和逆向,对应的具体步骤包括:
步骤4.1,检测软件当前进程的父进程是否是调试器;
步骤4.2,检测软件当前进程的调试标志位是否开启;
步骤4.3,检测ptrace函数是否存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710330164.4A CN107085676A (zh) | 2017-05-11 | 2017-05-11 | 软硬件结合的多维度的软件知识产权保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710330164.4A CN107085676A (zh) | 2017-05-11 | 2017-05-11 | 软硬件结合的多维度的软件知识产权保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107085676A true CN107085676A (zh) | 2017-08-22 |
Family
ID=59611851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710330164.4A Pending CN107085676A (zh) | 2017-05-11 | 2017-05-11 | 软硬件结合的多维度的软件知识产权保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107085676A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992932A (zh) * | 2017-12-27 | 2019-07-09 | 中城智慧科技有限公司 | 一种基于标识认证的软件安全容垒的实现方法 |
CN110032831A (zh) * | 2018-01-11 | 2019-07-19 | 上海有云信息技术有限公司 | 软件证书的生成方法、装置及系统 |
CZ308389B6 (cs) * | 2019-06-07 | 2020-08-19 | Martin Hruška | Způsob ochrany duševního vlastnictví jako záznam souborů dat o chráněném díle a jeho původcích elektronickou formou |
CN111832060A (zh) * | 2019-04-17 | 2020-10-27 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
CN114070548A (zh) * | 2021-08-11 | 2022-02-18 | 无锡信捷电气股份有限公司 | 一种基于软加密狗装置的软件版权加密保护方法 |
CN117077184A (zh) * | 2023-10-17 | 2023-11-17 | 西安热工研究院有限公司 | Dcs系统上位机软件授权保密方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6847948B1 (en) * | 1999-12-20 | 2005-01-25 | International Business Machines Corporation | Method and apparatus for secure distribution of software/data |
CN102063597A (zh) * | 2010-12-29 | 2011-05-18 | 东莞市创锐电子技术有限公司 | 一种利用加密狗对软件进行鉴权的方法 |
CN203054848U (zh) * | 2013-01-30 | 2013-07-10 | 金鹰旭日能源技术(北京)有限公司 | 一种软件加密锁 |
CN105553668A (zh) * | 2015-12-21 | 2016-05-04 | 北京飞杰信息技术有限公司 | 通过验证授权时间来验证用户授权证书的方法及系统 |
-
2017
- 2017-05-11 CN CN201710330164.4A patent/CN107085676A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6847948B1 (en) * | 1999-12-20 | 2005-01-25 | International Business Machines Corporation | Method and apparatus for secure distribution of software/data |
CN102063597A (zh) * | 2010-12-29 | 2011-05-18 | 东莞市创锐电子技术有限公司 | 一种利用加密狗对软件进行鉴权的方法 |
CN203054848U (zh) * | 2013-01-30 | 2013-07-10 | 金鹰旭日能源技术(北京)有限公司 | 一种软件加密锁 |
CN105553668A (zh) * | 2015-12-21 | 2016-05-04 | 北京飞杰信息技术有限公司 | 通过验证授权时间来验证用户授权证书的方法及系统 |
Non-Patent Citations (1)
Title |
---|
王玮: "一种基于USB Key加解密技术的软件保护方案研究", 《信息网络安全》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992932A (zh) * | 2017-12-27 | 2019-07-09 | 中城智慧科技有限公司 | 一种基于标识认证的软件安全容垒的实现方法 |
CN110032831A (zh) * | 2018-01-11 | 2019-07-19 | 上海有云信息技术有限公司 | 软件证书的生成方法、装置及系统 |
CN111832060A (zh) * | 2019-04-17 | 2020-10-27 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
CZ308389B6 (cs) * | 2019-06-07 | 2020-08-19 | Martin Hruška | Způsob ochrany duševního vlastnictví jako záznam souborů dat o chráněném díle a jeho původcích elektronickou formou |
CN114070548A (zh) * | 2021-08-11 | 2022-02-18 | 无锡信捷电气股份有限公司 | 一种基于软加密狗装置的软件版权加密保护方法 |
CN117077184A (zh) * | 2023-10-17 | 2023-11-17 | 西安热工研究院有限公司 | Dcs系统上位机软件授权保密方法、系统、设备及介质 |
CN117077184B (zh) * | 2023-10-17 | 2024-01-30 | 西安热工研究院有限公司 | Dcs系统上位机软件授权保密方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107085676A (zh) | 软硬件结合的多维度的软件知识产权保护方法 | |
CN100354786C (zh) | 开放型通用抗攻击cpu及其应用系统 | |
JP4664398B2 (ja) | インクリメンタルなコード署名の方法及び装置 | |
CN103942470B (zh) | 一种具有溯源功能的电子音像制品版权管理方法 | |
CN102576391B (zh) | 嵌入在shell代码中的软件许可 | |
CN102760214B (zh) | 一种新型的软件版权保护方法及装置 | |
CN109598104B (zh) | 基于时间戳和秘密鉴权文件的软件授权保护系统及其方法 | |
JPH08166879A (ja) | 提供用ソフトウェアの安全性強化方法及び装置 | |
US9177121B2 (en) | Code protection using online authentication and encrypted code execution | |
CN101742072A (zh) | 机顶盒软件防拷贝方法 | |
CN101908113B (zh) | 一种认证方法及认证系统 | |
CN106796624A (zh) | 挑战响应方法和相关联的计算设备 | |
CN104573549A (zh) | 一种可信的数据库机密性保护方法及系统 | |
CN105740725A (zh) | 一种文件保护方法与系统 | |
CN112528236B (zh) | 基于虚拟机的应用软件授权方法 | |
US8774407B2 (en) | System and method for executing encrypted binaries in a cryptographic processor | |
EP1837789A2 (en) | Method and apparatus for temporarily accessing content using temporary license | |
CN103516522A (zh) | 一种基于零知识证明协议的芯核水印盲检测方法 | |
CN101777108A (zh) | 一种可执行exe文件的加密方法 | |
CN102236761A (zh) | 一种软件防盗版中注册码生成方法 | |
CN103136466B (zh) | 一种基于加密狗的Web3D加密方法 | |
CN104392153B (zh) | 一种软件保护方法及系统 | |
CN101795195A (zh) | 一种约束信息可变的加密认证电子地图的方法 | |
CN100543762C (zh) | 基于硬件环境的计算机辅助设计数据加密保护方法 | |
CN108989019A (zh) | 基于区块链技术的内容资源安全保护系统 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170822 |
|
WD01 | Invention patent application deemed withdrawn after publication |