随着嵌入式系统中的应用程序越来越多,嵌入式应用软件的盗版问题也日趋严峻.电子产品被竞争对手破解,这往往给生产厂家造成很大损失。针对这种现象,很多厂家采用了加密技术来防止产品被破解。

目前, 一部分厂家采用的是软件方法的加密。用软件的方法把产品中使用到的部分程序代码隐藏或掩盖起来、使用混淆的办法把部分程序代码和数据混同起来、使用乱跳的方法使程序跳来跳去、在程序中设置大量的冗余指针和冗余数据单元等;

一部分厂家采用比较简单的硬件加密,方法主要有:交换总线(总线乱置)、使用替代RAM、使用GAL器件对器件外EPROM中的软件加密等。这样做也确实在一定程度上增大了破解产品的难度,但总体来看产品仍有较大可能被破解,加密效果不太理想。

目前对硬件加密较深入的研究局限于少数的贵重电子产品上,这样的加密所用到的元器件、电路比较复杂,价格也比较昂贵;如何能对大众化的电子产品实施价格低廉而有效的加密成为一个迫切需要解决的问题。

1.硬件加密的概念和原理

硬件加密是指通过专用加密芯片或独立的处理芯片等实现保护嵌入式软件代码不被轻易破解的一种有效的方法。

本文所说的硬件加密,是指这样一种方法:用户可以把CPU中程序一部分关键算法函数移植到加密芯片中运行。在实际运行中,通过调用函数方式运行加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此加密芯片成了产品的一部分,而算法在加密芯片内部运算,盗版商无法破解,从根本上杜绝了程序被破解的可能。

CPU程序分为两个部分:一部分是在CPU中,另一部分在加密芯片中。CPU中的整个逻辑就是不完整的,就算CPU被剖片成功,破解商读获取到的代码是缺少一块的。缺少的这一块该是整个系统中的哪段代码,这就需要开发者定义移植哪段到加密芯片中。

要注意的是移植部分的代码逻辑太简单,输入输出有规律可循,或者是只进行Yes Or No 的简单判断都容易依照规律被猜出来。

2.使用硬件加密与使用软件加密的对比:

使用硬件对电子产品进行加密正在逐步成为对电子产品加密的理想手段,这是因为:软件加密不太可靠,只要有足够的耐心和经验,使用软件加密的电子产品存在着很大的被破解可能性。软件加密的一个最大的优点是:成本低。最大的一个缺点是:易被破解。

使用硬件加密,其优缺点刚好和软件加密相反:由于使用了额外的硬件,其成本要高一些,也正是这个原因,增大了产品被破解的难度。相比之下,使用硬件加密虽然成本有所提高,但是不易被破解。

考虑到如果产品被轻易破解所带来的损失,硬件加密是比较理想的一种方法。

当前软件加密的不可靠性和电子产品急需加密的需求共同促进了硬件加密的发展。实际证明,相比于软件加密,使用硬件加密的方法虽然增大了一些成本,但行之有效。

在电子产品批量生产的今天,考虑到产品被破解所带来的损失,硬件加密所花费的代价都是微不足道的,且不论是在哪种产品的设计中,笔者建议大家能多多考虑版权保护的重要性。

凌科芯安 论:嵌入式版权保护的软硬件方案对比相关推荐

  1. 凌科芯安公司LKT全系列嵌入式加密IC

    原文地址:http://forum.edc-cn.com/FORUM_POST_13_86400_0.HTM LKT4100防盗版芯片是凌科芯安公司开发的以国际上最高安全性能的智能卡加密芯片为基础的具 ...

  2. 凌科芯安发布8位多接口嵌入式防抄板加密芯片

    凌科芯安发布8位多接口嵌入式防抄板加密芯片 LKT4102是8位智能卡平台多接口加密芯片,采用专用的智能卡芯片平台,硬件平台使用8051内核,用户既可以按照通用I2C来保存数据,也可以把主要算法放到芯 ...

  3. 凌科芯安浅谈 数据加密技术及其应用

    伴随电子.计算机技术的发展与应用, 信息安全越来越受到高度的重视.数据加密技术就是用来保证信息安全的基本技术之一.数据加密技术实质是一种数据形式的变换, 发送方把数据和信息(称为明文)通过算法加密后变 ...

  4. 凌科芯安公司推出32位高端加密IC

    1.1  LKT4200产品概述 LKT4200是凌科芯安科技(北京)有限公司行业内独家开发的以32位最高安全等级智能芯片为基础的具有目前行业内最高性能最高安全性的软硬件加密产品.软硬件开发商可以把自 ...

  5. 凌科芯安浅谈数字电视系统条件接收技术

    数字电视系统条件接收,英文名Conditional access,简称CA.通俗点讲,就是付费电视.只有付费后才可以收看高清频道和一些卫星频道.其标准起源于欧洲,是DVB标准中的一部分.在我国也有着广 ...

  6. 凌科芯安LKT与目前市场上几种安全加密芯片的对比

    对于工程师和创业者来说,最大的痛苦莫过于设计了一个非常好的产品,再投入市场以后发现,不到一个月甚至更短的时间就发现市场上有竞争对手拿出了一个跟他产品完全一样,包括设计.功能完全一样的产品,但是卖的价格 ...

  7. 凌科芯安——智能卡加密芯片如何实现身份认证?

    身份认证称为"身份验证"或"身份鉴别",是指在实际应用中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,防止攻击者假冒合法用户获得资源的 ...

  8. 凌科芯安软件加密锁论手机APP智能产品安全

    随着电子信息技术和IT行业突飞猛进的发展,形形色色的操作软件,绚丽多彩的APP手机游戏,手机支付软件等等都呈现到用户的眼前,用户只需要用简单的操作就可以实现相应的功能从而达到娱乐消费的目的.对于客户而 ...

  9. LCS(LKT)版权保护芯片方案说明(三)参数保护方案

    该方案安全性仅次于算法移植方案,高于市面上常见的对比认证方案,调试简单,不需要对主控MCU端原有程序做太大的改动,调试周期和研发投入相对较小.无法直接找到比对点,程序执行中没有绝对的对错判断.该方案适 ...

最新文章

  1. poj2112(floyd+二分+二分图多重匹配)
  2. Ground Truth
  3. 获取以逗号分隔的多个数据输入成列表,计算基本统计值(平均值、标准差、中位数)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬
  4. C++ 动态线性表的顺序存储结构(数组实现)
  5. springboot3——Email
  6. linux java文件 core_linux下部署.net core/java
  7. 10.3 考试 (考得不好)
  8. Google在KDD2013上关于CTR的一篇论文
  9. 密码破解之Esxi重置root密码
  10. 服务器消息机制实现--记录
  11. Win32汇编——过程控制(进程调试和进程隐藏)
  12. android 修复工具,牛学长安卓手机修复工具(安卓手机修复助手)V2.4.0.11 免费版
  13. Java 正则表达式
  14. 数学建模优化模型简单例题_数学建模例题.doc
  15. C#对.CSV格式的文件--逗号分隔值文件 的读写操作及上传ftp服务器操作方法总结
  16. Errors while compiling. Reload prevented.
  17. 数理统计(python)
  18. 函数的递归调用-年龄增大问题
  19. Marvell深耕智能家居行业 赞同语音控制将成必然发展趋势
  20. 当应酬成为日常,你需要这20个技巧聪明地进食

热门文章

  1. k个连续1(搜索问题)
  2. Verilog HDL语言实现乘法器(Wallace)
  3. pandas读取txt文件指定列
  4. CentOS 6.X 安装中文字体
  5. (一)Markdown编辑器的使用示例 | 以 CSDN自带MD编辑器 为例
  6. 待定系数法求逻辑代数(函数)最简与或表达式
  7. 简析常用的三种绩效考核方式
  8. 面试题记录-- 对于软件测试的理解,测试的核心,测试策略
  9. 世界上最尴尬的4件事zt
  10. 用 Pyinstaller 模块将 Python 程序打包成 exe 文件(全网最全面最详细)