中国技术贸易论坛行业交流区单片机应用 计算机软件硬加密的方法(15年前旧作)

1  /  1  页   1 跳转 查看:234

计算机软件硬加密的方法(15年前旧作)

计算机软件硬加密的方法(15年前旧作)

计算机软件硬加密的方法

  现代所有的计算机软件加密的专家几乎一致认为:没有绝对保证软件安全无虞的方法,只能保证在一定的时间内不被破解。令破解的代价超过购买软件的代价,实际上就算达到加密效果。用一句不恭敬的话来讲:这种论点有点象狐狸吃不到葡萄,说葡萄是酸的。《逆潮流密码学》说:只有破解的代价超过自己编制同样功能的软件,才算真正达到保密目的!   现代软件加密的方法,不过是给软件加一个保护层,一旦被人攻破也就无密可守了。许多硬件工具例如“软件狗”不过是百来字节的把门锁,只好用来对付那些普通的软件使用人; 一些通用的加密卡只是创造一定的环境供合法用户识别,很容易找到并删除识别程序,变为解密软件; 一些配套软件的专用硬件板等,很难作到全封闭,容易被连同软件一齐复制。
  正如现代密码学许多方法,广泛应用于计算机软件加密一样,《逆潮流密码学》同样可以对软件加密发挥更大的作用。这不仅体现在计算机通讯网络上的数据加密,通讯加密专用芯片也可以在计算机内部运行,加工软件中成组的数据。另外还针对软件加密的特点设计出专用的软件硬加密芯片,可以根据输入(不可读出)的指令在内部处理各种存贮或输入数据,其运行速度仅受内部可擦写存贮器速度的限制。芯片结构充分考虑通用性,适用于一切 CPU构造的所有类型的计算机。所有内部指令均为单字节、单机器周期。其特殊结构决定了可以与任何CPU结构的计算机同步运行,速度可以很高。
  其实无论多大的应用软件,真正需要保密的关键部分总有一定的限度,把这些关键按特定方式写入芯片,使重要的数据处理等功能在芯片内部自动进行,用芯片直接保密关键程序。可以保存大量的保密算法和各种实用表格文件,充分地利用片内保密资源,破译者不可能用任何方式复制芯片内的保密程序,无法用任何跟踪手段破解芯片中保密内容。保密程度远优于“软件狗”、“加密卡”及磁盘硬加密等现有的一切软、硬加密手段,从而基本打破“软件不可能从根本上保密”的神话。适当配合软加密更可以达到不可破解永久保密的目的!从根本上杜绝软件的非法复制。
  对计算机的运行过程,芯片中的加密过程体现为空操作或任意不可理解的符号。它与主程序的联系相当于子程序的入口和出口数据,芯片内部运行的程序只有设计者和芯片知道。设计者本人也不可能根据芯片输出、入的规律恢复原程序。在芯片得到广泛承认和应用后,各种通用的计算机语言、编程工具等,会在更新的版本中增加使用芯片加密的功能。
  受工艺限制,芯片的存贮量不可能做得很大,却以独到的设计解决了大型软件对保密容量的需求。对于保密内容较少的情况,可以直接使用内部资源编制子程序运行,如果需要加密的内容很多可以使用外部选配法,编制虚幻子程序使用。原则上一片芯片可以配合任意多的虚幻子程序,加密无限大的软件。软件商欲重复使用同一加密芯片,可以将几套较大型软件之子程序写入附件,对其它软件使用虚幻子程序。所谓虚幻子程序,就是根据原有子程序中的不同运行指令所在地址,或任选不同的地址写入需用的指令,把这些地址编成一组,在主程序中进行连续的读、写操作,即组成新的子程序,也可以重复在不同地址写入几套不同次序的指令群,使用时随意挑选其中任意组合,等与使用子程序同样的效果。此时芯片对计算机作无效操作(设计巧妙的虚幻子程序可以同时兼顾实际操作而掩盖其真实目的)。芯片内部设有陷井电路,陷井开关可在编程时设置受任意因素影响关闭芯片运行,只有预定的专门方式可以打开。企图动态跟踪必然陷入死循环。
  对应于所有计算机语言,只要允许使用物理地址子程序或包含从物理地址读写数据的指令,均可使用芯片作为附件。计算机应用范围广泛,可能使用不同软件公司的多种加密软件,又不可能无限度地为保密附件提供专用地址, 换一种软件就要换一次附件太麻烦,所以对芯片采取统一地址编码软开关的技术,在微机上使用时占用存贮空间为系统ROM 区中系统不用的地址。加工一块配备几十个互相并联的空芯片插座的、安装译码电路可以跳线选择高位保留地址的插板,可插入多家软件公司的多种软件加密芯片,插入同一台计算机扩展槽中占用同一地址,可以容纳数十种软件的加密芯片。使用带保密附件的软件,先在统一的地址上输入芯片编码,即选通相应的芯片,其它芯片全部自动关闭;退出相应软件时不必关闭芯片。
  为证明软件硬加密芯片的加密功能,制作了简化结构的演示模型,可以把它假设为不可剖析的专用芯片。把模型占用的地址设为内存的绝对地址,在主程序中以绝对调用子程序或向绝对地址读、写的方式运行其中的内容。证明利用芯片加密,可以配套提供完全不加密的磁盘软件。把模型视为整体芯片,允许在模型内部结构以外的任何部位进行跟踪破译,都得不到加密的内容。可以证明芯片的保密性。破解软件是一个艰苦的工作,为破解用现代流行的各种方法加密的一般较大规模的实用程序,也要花费相当的时间。为了配合验证,特地选择了几个用 BASIC语言编制的简单数学游戏,有经验的程序员能用很短的时间独立地编制达到同样效果的程序,而用数倍的时间反而破解不出程序中很小的一部分加密内容,可以证明芯片的保密特性。芯片加密功能的进一步验证,可以为验证者提供的程序中需加密的部分现场表演加密。可令验证者自己也无法以任何方式逆推出原程序。
最后编辑jinwan 最后编辑于 2008-08-27 19:13:01
 

回复: 计算机软件硬加密的方法

这个帖子实际上是十几年前的旧作。虽然事过境迁现代的单片机结构已经甚至超越了当时硬件水平所能达到的效果,还是不加任何修改地完整帖出来,完全出于一种怀旧的心态。。。。。。
 
1  /  1  页   1 跳转

版权所有 中国技术贸易网  技术贸易专区  Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2009 Comsenz Inc.
Processed in 0.03125 second(s) , 3 queries. 网站备案:闽ICP备07063032号
返顶部