一个水桶无论有多高,它盛水的高度取决于其中最低的那块木板。又称水桶原理或短板理论,水桶短板管理理论,所谓“水桶理论”也即“水桶定律”,其核心内容为:一只水桶盛水的多少,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块。根据这一核心内容,“水桶理论”还有两个推论:其一,只有桶壁上的所有木板都足够高,那水桶才能盛满水。其二,只要这个水桶里有一块不够高度,水桶里的水就不可能是满的。那么软件加密又是由哪些板块组成的呢?

  软件加密的第一块板---代码加密

  软件代码包含软件的知识产权及核心技术。.Net是构架于操作系统之上的平台,由于其解释型的开发语言上手简单、效率高,成为软件开发商及程序员的重要开发工具。采用Reflector或ildasm可以轻而易举的对.net程序进行反编译,并且反编译得到代码也极具权威。Reflector及ildasm工具的使用无需高深的破解技术,也无需掌握深奥的汇编语言,普通程序员即可轻松掌握。而一般的破解高手则可以通过反汇编、代码调试、逆向工程等方式破解Native程序代码。

  一旦软件代码被反编译、逆向工程,则意味着软件开发者数年的心血付诸东流。盗版者可以随心所欲的以低价倾销盗版软件,让真正的软件开发者不再具备竞争力。或者软件开发者的竞争对手通过破解源代码,以非常低的成本盗取软件开发者的获取核心技术,从而获得商业先机。因此代码保护是软件加密安全木桶中级为重要的一板。

来自德国威步信息系统的CodeMeter提供AxProtector、IxProtector、CoreAPI等加密工具,保护软件核心代码安全。

AxProtector外壳加密技术采用了按需解密的先进技术,不仅改变了OEP指向,并把代码层的部份代码进行了加密,把IAT地址重新指向,破解者如果试图在OEP断点处进行内存DUMP时,程序将会崩溃;同时威步的AXAN技术可以在代码执行过程中在内存中解密该代码,执行完毕马上加密,这是目前安全标准中世界领先的技术。

  IxProtector可以与AxProtector完美结合,部分代码或函数在内存中按需解密、即时加密,能真正防止代码在内存段中被Dump。AxProtector及IxProtector支持Native 程序、.net程序集或Java程序集,提供真正意义的软件代码加密,防止软件代码被反编译、被逆向工程。

  保护好了软件代码并不意味着软件版权就安全了。由于软件代码反编译及逆向工程需要有大量的破解技术及经验,要求精通汇编语言,真正意义破解源代码的成本高之又高,破解花费的时间也会非常长。因此无论是破解者本身或者是购买破解版别有用心的“软件商”都不愿意花费大价钱或者花费可能一年的时间去破解代码本身。破解授权或者复制硬件狗就成为相对成本低的破解方式。因此授权的安全性成为软件加密安全木桶的另外一板。

  软件加密的第二块板----授权安全

  相对而言,如果只是采用注册机的方式进行软件授权,对破解者来说就是小菜一碟。破解者随意破解一下注册机即可轻而易举的获得注册码,从而获得盗版授权。普通单片机或非安全智能卡的硬件复制成本从原来的上万元到现在的3、500元。采用普通加密狗存放授权则成为软件加密的短板。

  CodeMeter以32位安全智能卡芯片为硬件基础,以其独有的硬件安全特性和创新的设计思路,充分保证了加密锁的安全。由于CodeMeter硬件本身几乎能够抵制所有的知名的硬件攻击如DPA等技术,以及CodeMeter本身的硬件随机发生器能够产生随机安全密钥,因此保证了存储CodeMeter硬件中的密钥绝对安全。

  很多软件商认为只要用最安全的硬件狗(锁)就可以万无一失了,或者有些软件加密工程师超强的外壳工具,但是最终的结果都是软件很快被破解。花费了时间、花费了精力、花费了金钱,最终的结果可能是不堪一击!这是因为软件代码安全保护完全可以运用到木桶定律。一套真正安全的软件保护方案是不应该出现任何短板的,否则花再长时间做的方案都将功亏一篑。那么还有哪块板可以帮助我们解决问题呢?

  软件加密的第三块板——通讯通道

  国内外技术领先的硬件加密锁(狗)厂商摒弃了原有的单片机作为加密芯片,取而代之的是各类专用ASIC芯片、安全智能卡芯片,使得硬件克隆成本一再提高,从而保证了加密硬件的安全。破解者则会通过大量的经验寻找软件加密的另一板块:通讯通道。目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截,这种方法成本较低。由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册和其它相关资料,还可以了解加密狗技术的最新进展。很多硬件狗的Dll或驱动已被破解者熟知,网上各类加密模拟器层出不穷。有了这些破解高手“呕心力作“的模拟器,即使刚毕业的菜鸟工程师也可成为”汪洋大盗“。你会发现,原来不起眼的通讯通道及有可能成为软件加密环节中的“短板”。

  CodeMeter支持128位AES对称算,224位ECC和2048位RSA非对称算法对。软件与CodeMeter加密锁之间的通讯采用了AES算法、TDES算法,从而避免了通讯数据被侦听,使得二者之前的通讯不可能被模拟;CodeMeter加密锁与CM.exe之间运用了ECC、RSA公私钥认证技术,从而真正达到加密锁不能被替换的目的;WibuCM.dll被AxProtector静态打包到软件当中,破解者无从分析Dll库,从而达到了非常高的加密效果;另外CodeMeter提供WUPIEngine.lib(静态库),可以完全封装到应用程序中,可以更好的提高加密强度。

  软件加密的第四块板——授权管理安全

  通常软件加密及软件授权为两个独立的环节。烧写授权俗称“烧狗”,传统的加密狗都会打上开发商编码,成为某些软件独有定制的硬件,由于部分加密狗的代理商唯利是图,监守自盗,从源头对软件进行盗版。另外,部分授权以文件形式存在,通过工具导入到硬件锁硬件之中,由于管理不善,该文件会流失出去,代价而沽。随便买一只相同型号的硬件狗即可导入该授权文件,即得到所谓的“正版狗”。可见,授权管理,即烧狗环节一不小心也会成为软件加密的“短板”,而且危害之大比代码破解、模拟工具要大得多。

  CodeMeter采用母锁授权的管理方式,只有拥有母锁才能够加密、写授权或者修改授权。一旦母锁失窃或者内部流失,可以要求复制相同公司码的母锁,只需要改变一些参数,即可对软件重新加密,而流失的母锁不能再写授权,从而从源头保证授权的安全。

  有了威步的代码加密、授权安全、通讯通道安全及授权管理安全这四块“板”,相信木桶可以放心的盛水,软件可以放心地应用于各个领域,软件企业不再担心知识产权的安全问题。威步作为全球技术领先的加密方案提供商,将不断提供创新技术,为企业带来更可靠的服务 !

CodeMeter:软件加密的“木桶定律”相关推荐

  1. dspace软件加密狗不识别

    笔者安装完dspace软件后,需要进行解密才能使用软件.插入加密狗解密不成功,同时打开dspace control desk会出现报错 codemeter error XXX ,意思是加密软件缺乏许可 ...

  2. 漫谈测试人生:软件测试的墨菲定律、二八定律和木桶定律…

    谈及人生,我们可能听过不少具有哲理性且非常受用的定律,那么谈及测试,又有哪些值得我们思考的定律呢? 墨菲定律 墨菲定律的原话是这样的:Anything that can go wrong will g ...

  3. 软件加密与授权管理的概念

    软件加密的是什么,简单来说就是为软件加密以使软件不被盗版.软件保护是针对软件开发者提出的,而软件授权(License)的概念则是同时考虑了开发者和最终用户两方面的感受而提出的."授权(Lic ...

  4. 软件项目管理的内在定律

    一.马特莱法则 马特莱法则又称80∶20法则,它的涵义是把80∶20作为确定比值,主张企业经营者经营管理企业不必面面俱到,而应侧重抓关键的20%. 从人力资源管理的角度来看,企业经营者应把主要精力放在 ...

  5. 开源软件加密授权方案_身份验证和授权作为开源解决方案服务

    开源软件加密授权方案 通过实施身份验证和授权(a&a)机制为所有用户数据设计集中式服务. 我将分享我的经验并最终确定解决方案的结论. 该设计包括客户端(Web应用程序)和服务器(A&A ...

  6. delphi php 加密解密_如何恢复被MaMoCrypt勒索软件加密的数据

    写在前面的话 MaMoCrypt是一款臭名昭著的勒索软件,该勒索软件从去年的十二月份开始活跃,深受其害的用户可以算是不计其数了.那么在这篇文章中,我们将告诉大家如何恢复.解密被MaMoCrypt勒索软 ...

  7. 组态王授权产品id和授权锁id_软件加密授权工具推荐

    公司研发一套软件,需要开始往外卖,苦于上市后盗版压力比较大.于是寻找了一款软件加密授权工具-Virbox LM. Virbox LM在加密方面,能快速的完成加密工作,不需要编写代码,安全强度也很高.授 ...

  8. 剖析:从软件加密到软件授权保护

    一直在关注软件授权保护相关的技术内容,发现一些基本概念经常容易被我们混淆,比如软件保护,软件加密,硬件加密,软件授权等,下面就阐述一下我对上述概念的理解,以及它们之间的关系. AD:网+线下沙龙 | ...

  9. python获取主板序列号_LabVIEW获取主板序列号和硬盘序列号以进行软件加密

    04-12阅读85 CPU序列号是唯一的编号,只能在处理器内部进行修改. 它由96位数字组成. 高32位是用于标识CPU类型的CPU ID. 每个处理器的低64位不同,并且唯一表示该处理器. 该CPU ...

  10. 什么是硬件加密与软件加密,有什么区别?

    硬件加密与软件加密的定义 1.硬件加密是通过专用加密芯片或独立的处理芯片等实现密码运算.将加密芯片.专有电子钥匙.硬盘一一对应到一起时,加密芯片将把加密芯片信息.专有钥匙信息.硬盘信息进行对应并做加密 ...

最新文章

  1. Nginx-08:Nginx配置高可用
  2. 使用Node.js+Socket.IO搭建WebSocket实时应用
  3. 图解分布式架构的演进过程
  4. 解决 vue 项目一直出现 sockjs-node/info?t=1554978**** ,并造成浏览器不能及时更新编码改动结果
  5. Linux的软硬链接ln
  6. mysql全文索引FULLTEXT的哈希与BTREE方法对比
  7. textcnn文本词向量_文本分类模型之TextCNN
  8. Dreamweaver的jquery插件
  9. ubuntu下opencv3和opencv2共存
  10. 软件测试用例编写方法
  11. 使用WebService获取第三方服务数据
  12. win7共享xp打印机_解决共享打印机不能使用的问题
  13. cmake 返回上层目录
  14. 服务器虚拟化专用ovf模板,开放虚拟化格式(OVF)
  15. vite 不支持 ie 11?configureBuild Hook 帮你定制 bundle 打包过程
  16. 武林外传手游怎么在电脑上玩,武林外传安卓模拟器电脑版教程
  17. Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWo
  18. Java获取指定时间之后的几分钟
  19. Nwafu-OJ-1428 Problem Y C语言实习题五——3.数据倒置
  20. OJ刷题——核电站问题

热门文章

  1. c语言把文件看作是一个字符序列,C语言对文件的操作
  2. 物联网安全行业调研报告 - 市场现状分析与发展前景预测
  3. c语言编木马程序,5分钟教会!C语言远程控制木马:“控制端”制作,附送源码!...
  4. 软件开发学习资料大全
  5. 动态网络社区检测概述
  6. 微服务架构的理论基础 - 康威定律
  7. 卷积编码的原理与MATLAB及FPGA实现
  8. 计算机文化基础(高职高专版 第十一版)第六章 答案
  9. 广域网、城域网及局域网技术
  10. Python3抓取糗百、不得姐、kanqu.com