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

技术编号:2825471 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种通过加密数据文件实现软件保护的方法。本发明专利技术在应用程序发布时对其中的数据文件进行加密处理,当在程序运行中需要使用数据文件内容时通过软件保护装置进行动态解密。由于解密密钥保存在软件保护装置中,且解密过程是在软件保护装置中进行,而软件保护装置是具有极高安全强度的硬件设备,难以破解或复制,因此没有软件保护装置将无法获得正确的数据内容。本发明专利技术为软件的版权保护提供了一种简单、高效、安全的方法。

【技术实现步骤摘要】

本专利技术涉及软件保护技术,特别涉及一种通过加密数据文件实现软件保护的方法
技术介绍
软件保护装置是实现软件安全保护和版权保护的主要手段。软件保护装置特指一种附加在计算机接口(比如,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,软件使用返回的解密数据执行相应的功能,完成后从内存中擦除该数据。在实际应用中,可以将数据文件复制多份,相同的数据单元有多个拷贝。但是由不同的加密密钥加密,由软件保护装置随机选取任意一块进行解密,这样可以有效的增加数据空间本文档来自技高网
...

【技术保护点】
一种通过加密数据文件实现软件保护的方法,其特征在于,该方法包括步骤:a、对受保护的软件中的数据文件进行加密;b、记录加密处理信息;c、将加密处理信息和加密密钥保存在软件保护装置中;d、软件在运行过程中需要访问数据文件时,从被加密过的数据文件中读出被加密部分数据;e、将加密数据发送到软件保护装置中,软件保护装置对接收的加密数据进行解密;f、将解密结果返回给软件,软件利用解密结果执行相应的功能。

【技术特征摘要】
1、一种通过加密数据文件实现软件保护的方法,其特征在于,该方法包括步骤:a、对受保护的软件中的数据文件进行加密;b、记录加密处理信息;c、将加密处理信息和加密密钥保存在软件保护装置中;d、软件在运行过程中需要访问数据文件时,从被加密过的数据文件中读出被加密部分数据;e、将加密数据发送到软件保护装置中,软件保护装置对接收的加密数据进行解密;f、将解密结果返回给软件,软件利用解密结果执行相应的功能。2、根据权利要求1所述的方法,其特征在于,对受保护软件的一个或多个数据文件中的全部或部分内容进行加密处理。3、根据权利要求1所述的方法,其特征在于,加密处理信息可以以数据文件的形式保存在软件中,也可以存储到软件保护装置的数据区中。4、根据权利要求1所述的方法,其特征在于,步骤a中还包括:(a1)将受保护的软件中的数据文件分割成多个数据单元;(a2)对每个数据单元进行编号;(a3)对每个数据单元加密。5、根据权利要求4所述的方法,其特征在于,受保护的软件中的数据文件是图形数据库文件。6、根据权利要求5所述的方法,其特征在于,每个图形为一个数据单元。7、根据权利要求1所述的方法,其特征在于,步骤b中的加密处理信息包括由多个加密记录信息组成的加密处理信...

【专利技术属性】
技术研发人员:孙吉平韩勇
申请(专利权)人:北京深思洛克软件技术股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1