CN101261665A - 一种通过加密数据文件实现软件保护的方法 - Google Patents

一种通过加密数据文件实现软件保护的方法 Download PDF

Info

Publication number
CN101261665A
CN101261665A CNA2008101036749A CN200810103674A CN101261665A CN 101261665 A CN101261665 A CN 101261665A CN A2008101036749 A CNA2008101036749 A CN A2008101036749A CN 200810103674 A CN200810103674 A CN 200810103674A CN 101261665 A CN101261665 A CN 101261665A
Authority
CN
China
Prior art keywords
software
data
encryption
protecting equipment
file
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.)
Granted
Application number
CNA2008101036749A
Other languages
English (en)
Other versions
CN100593788C (zh
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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
SHENSILUOKE DATA PROTECTION CENTER BEIJING
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 SHENSILUOKE DATA PROTECTION CENTER BEIJING filed Critical SHENSILUOKE DATA PROTECTION CENTER BEIJING
Priority to CN200810103674A priority Critical patent/CN100593788C/zh
Publication of CN101261665A publication Critical patent/CN101261665A/zh
Application granted granted Critical
Publication of CN100593788C publication Critical patent/CN100593788C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种通过加密数据文件实现软件保护的方法。本发明在应用程序发布时对其中的数据文件进行加密处理,当在程序运行中需要使用数据文件内容时通过软件保护装置进行动态解密。由于解密密钥保存在软件保护装置中,且解密过程是在软件保护装置中进行,而软件保护装置是具有极高安全强度的硬件设备,难以破解或复制,因此没有软件保护装置将无法获得正确的数据内容。本发明为软件的版权保护提供了一种简单、高效、安全的方法。

Description

一种通过加密数据文件实现软件保护的方法
技术领域
本发明涉及软件保护技术,特别涉及一种通过加密数据文件实现软件保护的方法。
背景技术
软件保护装置是实现软件安全保护和版权保护的主要手段。软件保护装置特指一种附加在计算机接口(比如,USB接口、串口、并口等接口)上的硬件设备,对运行在计算机上的特定的软件进行软件安全保护和版权保护。现代的软件保护装置,例如USB加密锁,采用高强度智能卡芯片和先进的密码学技术,具有一定的运算和存储能力,同时难以被破解和复制,在高强度软件版权保护中具有广泛的应用。
采用软件保护装置进行软件版权保护的通常的思路是将其视作一个与受保护软件并行的运算平台,将软件中的一部分功能转移到软件保护装置中实现,在软件运行时调用这些功能。软件破解者的目的是使得被保护软件在没有连接软件保护装置时也能正常工作,或者制造可以克隆软件保护装置功能的硬件装置。理想情况下,受保护软件的运行依赖于软件保护装置提供的运算功能,而破解者又无法复制软件保护装置,因此可以很好的保护软件版权。
但在实际情况中,被移植到软件保护装置中软件功能模块必须具备一定条件才能有效地抵御破解者的攻击:
1.被移植的模块必须是软件实际有用的功能,否则破解者只要将该功能的调用跳过即可。
2.被移植的模块必须具有一定的复杂性,并且应当是非常见的算法,否则破解者很容易猜出其功能而用软件的方式替换掉。
3.被移植的模块的输入输出的数据空间必须足够大,否则破解者可以监测记录软件保护装置所有交换数据,构造输入输出的数据库,以软件的方式替代。
4.被移植的模块的代码量和运算量不能太大,这是因为软件保护装置的运算能力有限,移植过多的代码会严重影响软件执行的速度。
由此可见,要找到软件中满足上述要求的功能模块并非易事。特别是一些基于数据的应用软件,其主要功能就是访问文件数据,以通用或常见的方式进行显示、处理,其核心价值在于数据文件,却没有专有的、适于移植的算法或功能,仅仅采用代码移植的方法很难有效的保护软件版权。另外,由于软件保护装置和PC主机是完全不同的硬件运算平台,软件开发商需要将原先在PC上的功能在软件保护装置的开发平台上重新编程实现,具有一定的技术难度,因此提高了软件开发和维护成本。
发明内容
有鉴于此,本发明提出了一种利用软件保护装置加密应用程序的数据文件进行软件保护的方法,特别适用于数据集中型软件。本发明易于实现,同时具有较高的保护强度。
根据本发明的一个方面,提供一种通过加密数据文件实现通过数据文件加密进行软件版权保护的方法,其特征在于,该方法包括步骤:a、将对受保护的软件中的数据文件进行加密;b、记录加密处理信息;c、将加密处理信息和加密密钥保存在软件保护装置中;d、软件在运行过程中需要访问数据文件时,从被加密过的数据文件中读出被加密部分数据;e、将加密数据发送到软件保护装置中,软件保护装置对接收的加密数据进行解密;f、将解密结果返回给软件,软件利用解密结果执行相应的功能。
根据本发明的一个方面,其特征还在于,对受保护软件的一个或多个数据文件中的全部或部分内容进行加密处理。
根据本发明的一个方面,其特征还在于,加密处理信息可以以数据文件的形式保存在软件中,也可以存储到软件保护装置的数据区中。
根据本发明的一个方面,其特征还在于,步骤a中还包括:(a1)将受保护的软件中的数据文件分割成多个数据单元;(a2)对数据单元进行编号;(a3)对每个数据单元加密。
根据本发明的一个方面,其特征还在于,受保护的软件中的数据文件是图形数据库文件。
根据本发明的一个方面,其特征还在于,每个图形为一个数据单元。
根据本发明的一个方面,其特征还在于,步骤b中的加密信息包括由多个加密记录信息组成的加密处理信息文件。
根据本发明的一个方面,其特征还在于,加密记录信息由数据单元编号、数据单元被加密的起始位置和长度,以及加密密钥编号构成。
根据本发明的一个方面,其特征还在于,步骤c中的加密密钥为多个密钥。
根据本发明的一个方面,其特征还在于,步骤c中在加密某个数据单元时随机选取加密密钥。
根据本发明的一个方面,其特征还在于,步骤c中包括将加密密钥和加密处理信息文件存储到软件保护装置中,发布给授权的软件用户。
根据本发明的一个方面,其特征还在于,步骤d中还包括:(d1)在软件运行时,当需要使用某个数据单元时,将该数据单元的编号发送给软件保护装置;(d2)软件保护装置从加密处理信息文件中找到该数据单元的编号,返回数据单元被加密的起始位置和长度;(d3)根据数据单元被加密的起始位置和长度,从数据文件中读取相应的加密数据,然后发送给软件保护装置。
根据本发明的一个方面,其特征还在于,步骤e中还包括:(e1)软件保护装置根据加密处理信息文件中加密密钥编号选择解密密钥;(e2)利用所选的解密密钥对加密数据进行解密,返回解密结果。
根据本发明的一个方面,其特征还在于,步骤f完成后从内存中擦除返回的解密结果。
上述过程与软件的功能无关,易于实现自动化的软件保护方法,降低了软件保护的技术难度和开发成本。
附图说明
图1为本发明基于加密数据文件实现软件保护方法的流程示意图。
图2为本发明实施例中基加密数据文件实现软件保护方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
参见图1,通过加密数据文件进行软件保护的方法,具体包括:
步骤101,软件开发商将受保护软件的一个或多个数据文件中的全部或部分内容进行加密处理,记录加密处理信息,将加密密钥保存在软件保护装置中。加密处理信息可以以数据文件的形式保存在应用软件里,也可以存储到软件保护装置的数据区中。
步骤102,软件在运行过程中需要访问数据文件时,根据待访问的数据单元信息,从被加密处理过的数据文件中读出被加密部分数据。
步骤103,软件将加密数据和可选的其它信息发送到软件保护装置中,软件保护装置对数据进行解密,将数据结果返回给软件,软件使用解密结果于执行相应的功能。
图2为本发明实施例中基于加密数据文件实现软件保护方法的流程示意图。
步骤201,将受保护软件的数据文件按一定的功能分割成较小的数据单元,例如图形数据库文件中每个图形为一个数据单元,对数据单元进行编号,选取每个数据单元的全部或部分数据,进行加密。加密密钥可以是多个,在加密某个数据单元时随机选取。数据单元编号、数据单元被加密的起始位置和长度,以及加密密钥编号构成一条加密记录信息,所有单元的加密处理信息组合成加密处理信息文件。
步骤202,软件开发商将加密密钥和加密处理信息文件存储到软件保护装置中,发布给授权的软件用户。
步骤203,软件运行时,当需要使用某个数据单元时,将该单元编号发送给软件保护装置,后者从加密处理信息文件中找到该编号,返回数据单元被加密的起始位置和长度。
步骤204,软件根据数据单元被加密的起始位置和长度从数据文件中读取相应的加密数据,发送给软件保护装置,后者根据加密处理信息文件中加密密钥编号选择解密密钥,对加密数据进行解密,返回结果。
步骤205,软件使用返回的解密数据执行相应的功能,完成后从内存中擦除该数据。
在实际应用中,可以将数据文件复制多份,相同的数据单元有多个拷贝。但是由不同的加密密钥加密,由软件保护装置随机选取任意一块进行解密,这样可以有效的增加数据空间,使得破解者难以分析和复制输入输出数据。
综上所见,本发明提供了一种统一而便捷的利用软件保护装置进行软件版权保护的方法,极大的降低了一般的代码移植方法的技术难度和软件局限性,非常适合于数据集中型软件的版权保护需求,具有易于实施和高安全强度的优点。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (14)

1、一种通过加密数据文件实现软件保护的方法,其特征在于,该方法包括步骤:
a、对受保护的软件中的数据文件进行加密;
b、记录加密处理信息;
c、将加密处理信息和加密密钥保存在软件保护装置中;
d、软件在运行过程中需要访问数据文件时,从被加密过的数据文件中读出被加密部分数据;
e、将加密数据发送到软件保护装置中,软件保护装置对接收的加密数据进行解密;
f、将解密结果返回给软件,软件利用解密结果执行相应的功能。
2、根据权利要求1所述的方法,其特征在于,对受保护软件的一个或多个数据文件中的全部或部分内容进行加密处理。
3、根据权利要求1所述的方法,其特征在于,加密处理信息可以以数据文件的形式保存在软件中,也可以存储到软件保护装置的数据区中。
4、根据权利要求1所述的方法,其特征在于,步骤a中还包括:
(a1)将受保护的软件中的数据文件分割成多个数据单元;
(a2)对每个数据单元进行编号;
(a3)对每个数据单元加密。
5、根据权利要求4所述的方法,其特征在于,受保护的软件中的数据文件是图形数据库文件。
6、根据权利要求5所述的方法,其特征在于,每个图形为一个数据单元。
7、根据权利要求1所述的方法,其特征在于,步骤b中的加密处理信息包括由多个加密记录信息组成的加密处理信息文件。
8、根据权利要求7所述的方法,其特征在于,加密记录信息由数据单元编号、数据单元被加密的起始位置和长度,以及加密密钥编号构成。
9、根据权利要求1所述的方法,其特征在于,步骤c中的加密密钥为多个密钥。
10、根据权利要求1所述的方法,其特征在于,步骤c中在加密某个数据单元时随机选取加密密钥。
11、根据权利要求1所述的方法,其特征在于,步骤c中包括将加密密钥和加密处理信息文件存储到软件保护装置中并发布给授权的软件用户。
12、根据权利要求1所述的任一方法,其特征在于,步骤d中还包括:
(d1)在软件运行时,当需要使用某个数据单元时,将该数据单元的编号发送给软件保护装置;
(d2)软件保护装置从加密处理信息文件中找到该数据单元的编号,返回数据单元被加密的起始位置和长度;
(d3)根据数据单元被加密的起始位置和长度,从数据文件中读取相应的加密数据,然后发送给软件保护装置。
13、根据权利要求1-12所述的任一方法,其特征在于,步骤e中还包括:
(e1)软件保护装置根据加密处理信息文件中加密密钥编号选择解密密钥;
(e2)利用所选的解密密钥对加密数据进行解密,返回解密结果。
14、根据权利要求13所述的方法,其特征在于,步骤f完成后从内存中擦除返回的解密结果。
CN200810103674A 2008-04-10 2008-04-10 一种通过加密数据文件实现软件保护的方法 Active CN100593788C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810103674A CN100593788C (zh) 2008-04-10 2008-04-10 一种通过加密数据文件实现软件保护的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810103674A CN100593788C (zh) 2008-04-10 2008-04-10 一种通过加密数据文件实现软件保护的方法

Publications (2)

Publication Number Publication Date
CN101261665A true CN101261665A (zh) 2008-09-10
CN100593788C CN100593788C (zh) 2010-03-10

Family

ID=39962118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810103674A Active CN100593788C (zh) 2008-04-10 2008-04-10 一种通过加密数据文件实现软件保护的方法

Country Status (1)

Country Link
CN (1) CN100593788C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571900B (zh) * 2009-06-01 2011-01-19 薛明 一种软件版权保护方法、设备和系统
CN102411690A (zh) * 2011-12-31 2012-04-11 中国信息安全测评中心 一种Android平台下应用软件的安全漏洞挖掘方法和装置
CN102938046A (zh) * 2012-10-11 2013-02-20 杭州晟元芯片技术有限公司 一种基于静态加密存储动态解密运行的代码保护方法
CN103400063A (zh) * 2013-08-06 2013-11-20 深信服网络科技(深圳)有限公司 脚本文件执行方法及装置
CN104392153A (zh) * 2014-12-10 2015-03-04 北京深思数盾科技有限公司 一种软件保护方法及系统
CN106897587A (zh) * 2017-02-27 2017-06-27 百度在线网络技术(北京)有限公司 加固应用、加载加固应用的方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571900B (zh) * 2009-06-01 2011-01-19 薛明 一种软件版权保护方法、设备和系统
CN102411690A (zh) * 2011-12-31 2012-04-11 中国信息安全测评中心 一种Android平台下应用软件的安全漏洞挖掘方法和装置
CN102411690B (zh) * 2011-12-31 2014-07-23 中国信息安全测评中心 一种Android平台下应用软件的安全漏洞挖掘方法和装置
CN102938046A (zh) * 2012-10-11 2013-02-20 杭州晟元芯片技术有限公司 一种基于静态加密存储动态解密运行的代码保护方法
CN102938046B (zh) * 2012-10-11 2015-08-26 杭州晟元芯片技术有限公司 一种基于静态加密存储动态解密运行的芯片存储体及代码保护方法
CN103400063A (zh) * 2013-08-06 2013-11-20 深信服网络科技(深圳)有限公司 脚本文件执行方法及装置
CN104392153A (zh) * 2014-12-10 2015-03-04 北京深思数盾科技有限公司 一种软件保护方法及系统
CN104392153B (zh) * 2014-12-10 2017-12-26 北京深思数盾科技股份有限公司 一种软件保护方法及系统
CN106897587A (zh) * 2017-02-27 2017-06-27 百度在线网络技术(北京)有限公司 加固应用、加载加固应用的方法和装置

Also Published As

Publication number Publication date
CN100593788C (zh) 2010-03-10

Similar Documents

Publication Publication Date Title
CN101261666B (zh) 一种通过加密可执行程序文件实现软件版权保护的方法
CN110337649B (zh) 用于搜索模式未察觉的动态对称可搜索加密的方法和系统
CN102750233B (zh) 加密和存储机密数据
CN100593788C (zh) 一种通过加密数据文件实现软件保护的方法
CN102891876B (zh) 云计算环境下分布式数据加密方法及系统
CN107924448A (zh) 硬件实施的单向密码术
EP2953052B1 (en) Systems and methods for dynamic data storage
CN107430670A (zh) 用于存储器保护的柔性计数器系统
CN102945355A (zh) 基于扇区映射的快速数据加密策略遵从
CN103106372A (zh) 用于Android系统的轻量级隐私数据加密方法及系统
CN106022155A (zh) 用于数据库安全管理的方法及服务器
CN101408916A (zh) 一种互联网软件上网隐私保护方法
KR20140053898A (ko) 암호화된 데이터의 관리를 위한 시스템 및 방법
CN110990851A (zh) 一种静态数据加密保护方法及系统
US11741259B2 (en) Protection of databases, data transmissions and files without the use of encryption
CN111177773B (zh) 一种基于网卡rom的全盘加解密方法及系统
KR20090052130A (ko) 데이터 분할을 이용한 데이터 보호방법
CN108833535A (zh) 基于云平台分布式块存储的用户数据存储方法
Chakraborti et al. Cloud computing security: foundations and research directions
CN109325322B (zh) 用于嵌入式平台的软件知识产权保护系统和方法
CN103379133A (zh) 一种安全可信的云存储系统
CN107563226A (zh) 一种存储器控制器、处理器模块及密钥更新方法
EP1376298A3 (en) Information storage apparatus, information processing system, specific number generating method and specific number generating program
Sassani et al. Evaluating encryption algorithms for sensitive data using different storage devices
Nakano et al. Memory access pattern protection for resource-constrained devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150120

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 100872 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150120

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder