[实用新型]可编程的软件加密锁无效

专利信息
申请号: 99214217.2 申请日: 1999-06-18
公开(公告)号: CN2372721Y 公开(公告)日: 2000-04-05
发明(设计)人: 张杰 申请(专利权)人: 北京深思洛克数据保护中心
主分类号: G06F12/14 分类号: G06F12/14;G06F12/16
代理公司: 清华大学专利事务所 代理人: 罗文群
地址: 100084 北京*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 可编程 软件加密
【说明书】:

实用新型涉及一种可编程的软件加密锁,属计算机技术领域。

所谓软件加密就是通过修改软件,使软件的正常运行离不开特定的硬件,这个硬件被称为软件加密锁,简称加密锁。加密锁是一种计算机外设,它工作在计算机的并行口。软件运行时,首先向加密锁发送指令,加密锁接收到指令后,完成相应的处理,然后把处理结果返回给软件,软件收到后检查数据是否合理,进一步决定是否继续正常运行。

加密锁有很多种,其核心功能就是算法变换功能。深思洛克数据保护中心的sensel型软件加密锁就属于这种加密锁。

sensel型的算法变换功能是这样的:软件向加密锁发送一个数据,加密锁内部对这个数据进行加密变换,然后将变换结果返回给软件。加密锁内的变换方程是加密锁的生产厂商在保密状态下设计的,是不对外公开的。使用加密锁的软件厂商不知道变换方程,只能设置变换方程中的某些参数。当方程中的参数被设置好以后,这个变换方程的输入、输出是一一对应的,软件厂商就是利用这个特点对软件进行加密处理。具体的方法如下:软件厂商首先设置算法的参数,并且选择一组数据,让加密锁进行算法变换,并且一一记录变换结果;然后在软件中还用这组数据,调用加密锁的算法功能;最后比较加密锁的变换结果与预先的记录是否一致,如果一致则说明这个加密锁是自己设置的,软件继续运行,否则软件结束退出。以上方法实现了:只有经过软件厂商自己设置的加密锁,才能使软件正常运行。

利用sensel型的算法变换功能可以达到软件加密的目的,但是这种加密方法很容易被解密。通过跟踪软件的运行,就可以截获软件与加密锁之间的数据通讯,也就是说软件中调用算法功能时的输入、输出数据都可以被解密者记录下来。解密者将这些数据保存在自己的数据库之中,然后修改软件中访问加密锁的代码,让这些代码不再访问加密锁而是调用解密者自己的程序。解密者的程序负责从数据库中提取数据,然后返回给软件。经过这样处理过的软件就不再访问加密锁,而是访问解密者的数据库,软件离开了加密锁以后还可以正常运行,软件被解密了。

以上的解密方法是一种常见的解密方法,就是用软件来仿真加密锁,称之为仿真法。由于加密者自己并不知道算法变换方程的具体内容,加密设计时只能把加密锁看成一个黑匣子,利用其输入、输出一一对应的特点进行加密。这就使得加密软件中用于检测加密锁的数据量很有限(整个软件的一部分),解密者只要都截获下来,就可以通过仿真的方法解密了。利用仿真法解密这种加密锁所需的工作量是非常有限的,甚至可以自动化实现。sensel型的算法变换功能的弱点是加密锁的算法变换不公开,从而导致轻易被仿真法解密。

本实用新型的目的是设计一种可编程的软件加密锁,使得加密者能够自己设计加密锁的功能,能够自己设计加密锁的算法变换方程,给仿真法解密带来更大的困难。

本实用新型设计的可编程的软件加密锁,该加密锁包括寄存器区、存储区和控制区三部分,寄存器区由通用寄存器、标志寄存器和指令寄存器组成。存储区由程序区、数据区组成。控制区由输入输出模块、存储区改写模块、指令寻址、译码和执行模块组成。控制区、寄存器区设在单片机U1上,存储器设在单片机U2上,U1和U2之间通过信号线相联,U1通过接口接计算机并行口。

本实用新型的可编程软件加密锁与以往加密锁不同之处在于,加密锁的算法方程可以由加密者自己设计,然后编译成加密锁专用的执行代码,设置到加密锁中。设置内容只有加密者自己知道,解密者既不知道如何设置的,也无法修改。软件运行时调用加密锁中的算法,并把算法需要的输入数据传送给加密锁,加密锁完成算法变换后再将结果发送回来。加密者了解算法内容,就可以在自己的软件中使用任意数据来检测加密锁内的算法方程。

由于加密软件可以使用任意数据来检测加密锁,解密者虽然还可以截获加密锁的输入、输出数据,但是仿真加密锁变得非常困难。首先,这些数据是难以枚举的,这种新型加密锁的输入、输出各为64比特数据,如果想通过枚举出所有的可能情况来仿真加密锁,是无法实现的;其次,加密锁内的方程是难以求解的,方程中可以包含各种运算及循环、分支等,完全由加密者控制,如果想通过解析出加密锁内的方程来仿真加密锁,是非常困难的。

由于这种加密锁具备可编程的能力,加密者可以任意设计加密锁的功能:既可以是很复杂的变换方程,也可以代替加密前软件中的部分程序。加密软件中检查加密锁时,可以使用随机数据来检测加密锁内的方程是否准确无误。加密锁完全是由加密者自己控制的,加密软件的加密强度也是加密者自己控制的。这种新的加密方式,给仿真法解密带来了很大难度。

附图说明:

图1是本实用新型的原理框图。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思洛克数据保护中心,未经北京深思洛克数据保护中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/99214217.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top