一种软硬件结合的保护程序的方法技术

技术编号:2915391 阅读:469 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种软硬件结合的保护程序的方法,其包括以下步骤:(1)算出加密密钥;(2)根据所述加密密钥,通过一加解密算法,对所述程序运行单元储存的目标程序进行加密;(3)所述程序运行单元将一文件组中的程序和数据进行组合,生成一新的目标文件;(4)运行所述目标文件;(5)算出解密密钥,并将所述解密密钥传送至一加解密单元;(6)所述加解密单元调用所述解密程序,根据所述解密密钥,通过所述加解密算法,对所述加密后的目标程序进行解密;(7)结束。本发明专利技术提供的软硬件结合的保护程序的方法,采用软件和硬件结合的方式对程序进行保护,提高了程序运行的速度,并增加了破解程序的难度。

【技术实现步骤摘要】

本专利技术涉及软件安全防护领域,尤其涉及一种软硬件结合的保护程序的方法
技术介绍
软件程序经常受到非法的破解、篡改以及意外的伤害,对知识产权和数据及代码安全造成很大损失。传统软件程序防护策略侧重软件算法或硬件分别实现,没有能将软件和硬件有机结合在一起。当前防止对软件盗版和破解的方法主要有以下几种:1、对承载软件的介质—光盘进行保护;2、软件运行时需要序列号,否则为试用期版,通常对功能或可使用时间加以限制;3、去除程序调试信息,运用软件对程序进行加密;4、对软件所用数据进行加密,通常是软件实现加密算法;软件实现的安全算法,计算速度慢,成为软件安全保护的瓶颈;5、对大量数据加密,除使用软件实现加密外,也有硬件实现算法,包括使用单片机实现简单校验,使用FPGA或CPLD实现高速算法,或使用ASIC专用集成电路实现算法;6、使用加密狗承载加密算法或运行权限证书的介质进行加密,通常使用USB口或并行接口作为硬件接口。加密狗通常是承载权限证书和加密算法的介质,加解密的速度低,加解密后数据传输的速度也受制于USB接口或并行接口等硬件条件的限制,另外,USB接口或并行接口的通信协议是公开的,容易受到探测监视程序的控制,为非法破解提供了突破的途径。
技术实现思路
-->本专利技术的主要目的在于提供一种软硬件结合的保护程序的方法,采用软件和硬件结合的方式对程序进行保护,提高了程序运行的速度,并增加了破解程序的难度。为了达到上述目的,本专利技术提供了一种软硬件结合的保护程序的方法,其包括以下步骤:(1)一程序运行单元取得其硬件指纹,并根据加密密钥生成参数,通过一密钥生成算法算出加密密钥;所述加密密钥生成参数包括所述硬件指纹和一随机数,所述程序运行单元存储该随机数;(2)根据所述加密密钥,通过一加解密算法,对所述程序运行单元储存的目标程序进行加密;(3)所述程序运行单元将一文件组中的程序和数据进行组合,生成一新的目标文件;所述文件组中的程序包括加密后的目标程序、预先存储的采用所述密钥生成算法的解密密钥生成程序、预先存储的采用所述加解密算法的解密程序、预先存储的运行程序和所述随机数;(4)运行所述目标文件;(5)所述程序运行单元调用所述解密密钥生成程序,根据解密密钥生成参数,通过所述密钥生成算法算出解密密钥,并将所述解密密钥传送至一加解密单元;所述解密密钥生成参数包括所述程序运行单元中存储的随机数、所述硬件指纹;(6)所述加解密单元调用所述解密程序,根据所述解密密钥,通过所述加解密算法,对所述加密后的目标程序进行解密;(7)结束。优选的,在步骤(2)中,所述加密操作由所述程序运行单元执行。优选的,在步骤(2)中,所述加密操作由一加解密单元执行,所述加密密钥由所述程序运行单元传送至所述加解密单元。优选的,所述加密密钥生成参数还包括用户口令,所述解密密钥生成参数还包括用户输入的口令。优选的,在步骤(1)中,所述随机数由一真随机数发生器生成。优选的,所述文件组中的程序还包括权限判断程序;在步骤(4)和步骤(5)之间,还包括步骤(41):所述程序运行单元调用所述权限判断程序,根据一权限判断单元中插入的介-->质,判断所述目标程序是否具有运行权限;如果有,转至步骤(5);否则,转至步骤(7)。优选的,本专利技术所述方法在步骤(1)前还包括以下步骤:(11)去除一程序运行单元中的目标程序中的冗余信息和调试信息。优选的,在步骤(11)和步骤(1)之间还包括以下步骤:(12)对一程序运行单元中的目标程序进行混淆处理。与现有技术相比,本专利技术提供的软硬件结合的保护程序的方法,采用软件和硬件结合的方式对程序进行保护,提高了程序运行的速度,并增加了破解程序的难度。附图说明图1是本专利技术实施例所述的软硬件结合的保护程序的方法基于的系统的结构图;图2是本专利技术所述的软硬件结合的保护程序的方法的一种具体实施的流程图;图3是本专利技术所述的软硬件结合的保护程序的方法的另一种具体实施的流程图。具体实施方式以下结合附图,对本专利技术上述和另外的技术特征和优点作更详细的说明。本专利技术所述的软硬件结合的保护程序的方法,是基于一种保护程序的系统的,如图1所示,所述系统包括程序运行单元11、权限判断单元12和加解密单元13,其中,所述程序运行单元11,与所述权限判断单元12和所述加解密单元13连接,用于储存并运行目标程序(需被保护的程序);所述程序运行单元11包括CPU、存储器(NORFLASH)和网卡;所述权限判断单元12,其中插入的介质,是判断所述程序运行单元11中存储的目标程序是否具有运行权限的依据;根据一种具体实施方式,所述权限判断单元12是IC卡读卡机,其中插入的IC卡,是判断所述目标程序是否具有运行权限的依据;-->根据另一种具体实施方式,所述权限判断单元12是USB接口,其中插入的USBkey,是判断所述目标程序是否具有运行权限的依据;所述加解密单元13,用于对所述程序运行单元11中存储的目标程序进行加密和解密。根据另一种具体实施方式,所述加密操作可以由所述程序运行单元11执行,而非由所述加解密单元13执行。所述加解密单元13可以是高速加解密芯片,所述高速加解密芯片采用的算法可以为SCB2、SSF33、DES、AES等对称密钥算法,也可以是RSA等非对称密钥算法;所述高速加解密芯片采用高速FPGA或专用ASIC芯片完成,具有防破解等安全机制。如图2所示,本专利技术所述的软硬件结合的保护程序的方法的一种具体实施包括以下步骤:步骤21,所述程序运行单元11取得其硬件指纹,并根据所述硬件指纹、一随机数,通过SHA1算法算出加密密钥;所述程序运行单元11存储该随机数;所述硬件指纹包括CPU的ID号、存储器的ID号、网卡的MAC(介质访问控制)地址;所述随机数由一随机数发生器生成,所述随机数发生器可以为真随机数发生器芯片,由于真随机数的作用,使得每次算出的加密密钥不同,增加了破解的难度;SHA1算法将任意长的数据转换为固定长度的数据,不同的输入数据运算后的结果不同;步骤22,根据所述加密密钥,通过一加解密算法,对所述程序运行单元11中存储的目标程序进行加密;在本实施例中,所述加解密算法为AES算法;优选的,所述加解密算法可以为SCB2、SSF33或DES等对称密钥算法,也可以为RSA等非对称密钥算法;根据一种具体实施方式,所述加密操作由所述程序运行单元11执行;根据另一种具体实施方式,所述加密操作是由所述加解密单元13执行,由所述程序运行单元11将所述加密密钥传送至所述加解密单元13;-->步骤23、所述程序运行单元11将其中存储的一文件组中的程序和数据进行组合,生成一新的目标文件;所述文件组中的程序和数据包括加密后的目标程序、预先存储的采用所述密钥生成算法的解密密钥生成程序、预先存储的采用所述加解密算法的解密程序、预先存储的运行程序和所述随机数;步骤24,运行所述目标文件时,首先,所述程序运行单元11调用所述运行程序,所述运行程序提供运行所述目标文件的入口,控制先后调用所述解密密钥生成程序、所述解密程序;然后,所述程序运行单元11调用所述解密密钥生成程序,根据解密密钥生成参数,通过所述密钥生成算法算出解密密钥,并将所述解密密钥传送至所述加解密单元13;所述解密密钥生成参数包括所述程序本文档来自技高网...

【技术保护点】
一种软硬件结合的保护程序的方法,其特征在于,其包括以下步骤: (1)一程序运行单元取得其硬件指纹,并根据加密密钥生成参数,通过一密钥生成算法算出加密密钥;所述加密密钥生成参数包括所述硬件指纹和一随机数,所述程序运行单元存储该随机数;(2)根据所述加密密钥,通过一加解密算法,对所述程序运行单元储存的目标程序进行加密; (3)所述程序运行单元将一文件组中的程序和数据进行组合,生成一新的目标文件;所述文件组中的程序包括加密后的目标程序、预先存储的采用所述密钥生成算法的解密密钥生成程序、预先存储的采用所述加解密算法的解密程序、预先存储的运行程序和所述随机数; (4)运行所述目标文件; (5)所述程序运行单元调用所述解密密钥生成程序,根据解密密钥生成参数,通过所述密钥生成算法算出解密密钥,并将所述解密密钥传送至一加解密单元;所述解密密钥生成参数包括所述程序运行单元中存储的随机数、所述硬件指纹; (6)所述加解密单元调用所述解密程序,根据所述解密密钥,通过所述加解密算法,对所述加密后的目标程序进行解密; (7)结束。

【技术特征摘要】
1、一种软硬件结合的保护程序的方法,其特征在于,其包括以下步骤:(1)一程序运行单元取得其硬件指纹,并根据加密密钥生成参数,通过一密钥生成算法算出加密密钥;所述加密密钥生成参数包括所述硬件指纹和一随机数,所述程序运行单元存储该随机数;(2)根据所述加密密钥,通过一加解密算法,对所述程序运行单元储存的目标程序进行加密;(3)所述程序运行单元将一文件组中的程序和数据进行组合,生成一新的目标文件;所述文件组中的程序包括加密后的目标程序、预先存储的采用所述密钥生成算法的解密密钥生成程序、预先存储的采用所述加解密算法的解密程序、预先存储的运行程序和所述随机数;(4)运行所述目标文件;(5)所述程序运行单元调用所述解密密钥生成程序,根据解密密钥生成参数,通过所述密钥生成算法算出解密密钥,并将所述解密密钥传送至一加解密单元;所述解密密钥生成参数包括所述程序运行单元中存储的随机数、所述硬件指纹;(6)所述加解密单元调用所述解密程序,根据所述解密密钥,通过所述加解密算法,对所述加密后的目标程序进行解密;(7)结束。2、根据权利要求1所述的软硬件结合的保护程序的方法,其特征在于,在步骤(2)中,所述加密操作由所述程序运行单元执行。3、根据权利要求1所...

【专利技术属性】
技术研发人员:陈江宁甘景全崔志民李利王永志
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:11[中国|北京]

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

1