芯片UID加密方案

发布者:玉树琼花最新更新时间:2017-10-26 来源: 21IC中国电子网关键字:芯片  UID加密  LPC1000 手机看文章 扫描二维码
随时随地手机看文章

嵌入式系统产品的加密和解密永远是一对矛盾的统一体。为了保护产品研发人员的技术成果,研究新型加密技术是非常有必要的。这里我们聊聊使用芯片UID加密的方案。


首先需要明确的是,没有一种加密是“绝对”可靠的,但是加密手段可以增加非法使用者的解密成本,借此来防止技术被“轻易”盗取。本次以LPC1000的UID加密方案为例进行介绍。


一、LPC1000系列的加密方案


通过分析得出,基于CortexM0或CortexM3内核的LPC1000系列MCU通过软件加密的方法有两种:


1、使用代码读保护机制,限制用户访问片内Flash;


2、通过芯片UID并添加加密算法使每片MCU内的程序具有唯一性。


代码读保护机制是通过使能系统中的不同安全级别,以便限制访问片内Flash,本次不做重点介绍。


二、UID加密


UID是唯一标识符(unique identifier),在LPC1000系列微控制器的每一颗芯片都具有全球唯一的标识符,该标识符为128位二进制序列。因此我们可以利用芯片UID的唯一性对程序进行加密,使每一个产品中的程序也具有唯一性,即使非法使用者获取了MCU中的程序复制到其他芯片中也是不能正常运行的,从而达到保护开发者的知识产权不被侵犯和盗用的目的。


三、LPC1000的UID加密方案


基本思路是使用上位机软件通过编程器读取芯片的UID,经加密算法运算后生成密钥,下载程序的同时向MCU的Flash中某个地址写入密钥;MCU上电后,首先读取芯片的UID,再通过与上位机相同的加密算法运算后计算出密钥,并与之前写入Flash中的密钥比较,若相同则继续执行用户程序,否则跳入死循环或执行程序开发者指定的代码。


 

图1 LPC1000 UID加密方案流程图


实现此方案需要准备的资源如下。


硬件资源:


• LPC1766FBD100芯片;

• SmartPRO 5000U-PLUS编程器;

• QFP100-NXP适配座;

• SmartCortex M3-1700开发板(测试用,非必需)。


软件资源:


• SmartPRO 2008 2.0.56.exe上位机软件;

• Programmer.rar编程器上位机UID加密补丁;

• Uid.rar编程器上位机UID加密算法;

• LPC1766在Keil4下的工程模板;

• Keil4开发环境;

• Microsoft Visual C++ 6.0。


1、下位机


下位机(即LPC1766芯片)上电并初始化后,首先读取芯片的UID,解析密钥并与Flash中的密钥比较判断后,再继续执行用户代码。这里我们举例采用的加密算法是将UID的补码作为密钥,加密方法比较简单,用户可自行对加密算法进行修改,写出复杂的加密算法。

读取芯片UID的方法是通过调用芯片内部的IAP函数实现,如图所示。


 

图2 读取UID


2、上位机


在下位机LPC1766的程序编写完成并生成hex或bin文件后,按照以下步骤对MCU进行加密:

首先,在Microsoft Visual C++ 6.0下编写加密算法,这里我们已经编写完成,仅需解压uid.rar并打开其中的VC工程。用户需要在uid.cpp中的UidAlgorithm函数中添加自定义算法,如图。


 

图3 加密算法工程


加密算法编写完成后,编译将生成一个名为uid.dll的算法文件。


第二步,安装SmartPRO 2008软件,我们默认安装在C:\Program Files路径下;


第三步,安装SmartPRO 2800加密补丁,方法是将Programmer.rar解压到C:\Programd Files\SmartPRO 2008\Programmer路径下,覆盖原来的文件;


第四步,将加密算法生成的uid.dll文件复制到C:\Programd Files\SmartPRO 2008\Programmer下,SmartPRO 2008启动后将会自动调用uid.dll;


第五步,连接硬件,将LPC1766芯片放入适配座ZY503D中,连接USB通信电缆和电源;


第六步,烧写文件,启动SmartPRO 2008软件,选择芯片“LPC1766@LQFP100”,打开烧录文件(在Keil编写下位机程序时生成的hex或bin文件 )。此时会出现一个如图4的特殊提示,这是因为Keil编译器在编译时没有将Flash中前8个字单元的内容进行代码有效校验和的填充而产生该警告,点击“确定”即可,编译器在下载过程中会调用校验算法自动添加校验。关于代码有效校验和填充的相关内容请参考LPC1766用户手册中“Flash编程”一章的相关内容。


 

图4 用户代码无效提示


第七步,开始下载,点击“组合”即可,默认执行的是擦除、编程、校验三个步骤的结合。


成功编程后,如果重新读取Flash,打开缓冲区,定位到0x00002000处,可以看到已经写入的密钥。如图5所示,与此前设计的加密算法和加密预期效果一致。


 

图5 缓冲区查看密钥


验证方法:取下适配座中的芯片,焊接到TinyARMT17核心板上,查到SmartCortex M3-1700开发板底板上,连接P0.11到BEEP插针,如所示。开发板上电后即可听到蜂鸣器的鸣叫。以此验证芯片计算出的密钥与Flash中写入的密钥校验一致,芯片程序正常运行。


 

图6 开发板验证


经此方法向芯片下载程序后,若有产品盗版者试图将程序读出然后复制到其他芯片上使用,程序将停留在判断密钥是否匹配语句,导致程序不再向下执行,从而防止软件程序被非法使用者盗用。

关键字:芯片  UID加密  LPC1000 引用地址:芯片UID加密方案

上一篇:首款定价5美金以下的SoC FPGA,安路实现了哪些突破?
下一篇:FPC狂压价获华为Mate10指纹订单

推荐阅读最新更新时间:2024-05-03 01:52

宁波芯港小镇启动,有意向项目总投资超200亿
    电子网消息,据现代金报报道,8月18日,“中国(宁波)芯港小镇”启动仪式在北仑举行。中科院微电子所宁波微电子应用研究院等7个重大项目作为首批入驻小镇项目在启动仪式上签约。   作为国内首个特色工艺基地、全国唯一集成电路特色小镇,小镇将以宁波芯空间集成电路产业园为核心,下设宁波集成电路制造基地、宁波集成电路材料基地及国家科技部02专项基地等特色项目,打造成全国芯片重镇。   要把北仑做成芯片重镇   芯港小镇位于宁波市北仑柴桥片区,规划面积约4.6459平方公里,加上核心区北侧临港化工区和南侧国际社区发展空间等辅助拓展用地后,规划面积可达35平方公里。据悉,芯港小镇是宁波市聚焦发展以集成电路产业为代表的新一代信息技术产业,小
[半导体设计/制造]
压力触控芯片客户踩煞车 延缓下单出货时程
在苹果(Apple)iPhone 6s系列产品引领下,Android智能型手机品牌厂掀起新一波压力触控(Force Touch)产品设计风潮,然因目前Android系统仍未提供充足的软体与应用,加上导入压力触控功能所费不赀,以及大陆手机市场需求疲软,不少手机客户纷改采观望态度。台系触控IC设计业者坦言,压力触控芯片订单能见度出现反转迹象,手机客户纷延缓下单出货时程,订单回温最快要等到2016年下半。 面对iPhone 6s系列产品导入压力触控功能,Android手机品牌业者一度很紧张,深怕重蹈2014年底错失跟进iPhone 6系列内建指纹辨识功能商机覆辙,迫使Android手机品牌厂在2015年第4季不断寻求类似的压
[手机便携]
中科院集成光学芯片研究取得系列进展
作为现代光学尤其是集成光学核心部分,高质量脉冲与相干激光光源一直以来都是学术界与产业界的重要关注点。在中国科学院B类战略性先导科技专项“大规模光子集成芯片”支持下,中科院西安光学精密机械研究所微纳光学与光子集成团队近期在片上集成光源方面取得系列研究进展。 首先,在片上实现了以49GHz为基频的多倍频(1~15)稳定激光脉冲源,该研究成果于7月19日发表在SCI期刊 ACS Photonics 上。通过设计不同激光器参数,利用激光腔内光场增益、非线性和色散的相互作用,产生的各类脉冲激光源已经在学术和商业领域中取得丰硕的成果。不过,超高速光学时钟、高速光通信技术、微波光子学、光谱测量及天文光频梳等领域对激光脉冲源的重频提出了更高的需
[半导体设计/制造]
英特尔发布七款全新安腾处理器 为第六代芯片
日前,英特尔公司推出了双核英特尔reg; 安腾reg; 9100 系列处理器。该系列处理器专为运行高端应用而设计,具有更高可靠性和更低功耗等先进特性,它为那些从专有RISC产品向安腾架构服务器产品不断过渡的客户提供了新的选择。双核英特尔reg; 安腾reg; 9100 系列处理器是第六代安腾芯片,此外未来三代的芯片正在开发中。 该系列处理器新增了“内核级锁步( Core Level Lock-Step)” 技术,可通过消除内核中未检测到的错误来提高数据完整性和应用可靠性,显著增强安腾平台对关键任务的稳定运行能力。内核级锁步与现有插槽级锁步(Socket Level Lock-Step)技术相结合,还可确保计算结果在内核和插槽间保
[焦点新闻]
芯片遭苹果弃用 高通股价大跌
集微网消息,华尔街日报引述人情人士指出,苹果为明年设计的iPhone和iPad可能不会采用高通的芯片,引发高通周二早盘股价大跌7.7%,报50.45美元。 终盘高通股价略有攀升, 报收51.01美元,下跌6.68%。 苹果指控高通滥用市场优势,收取高额授权金,冲击高通业绩和股价,高通今年股价累计重挫约16%。
[手机便携]
中科赛飞获数千万天使轮融资,主攻车规级数模混合芯片
10月20日,中科赛飞(广州)半导体有限公司(简称“中科赛飞”)宣布,日前已完成数千万元天使轮融资。本轮融资由中科院创投领投,韦豪创芯、广东广开芯泉等多方跟投,融资资金将用于研发支出。 据了解,中科赛飞成立于2022年7月,团队则于2019年由广东省大湾区集成电路与系统应用研究院的汽车芯片部门孵化。该公司主攻高功能安全等级的车规级芯片研发,重点布局系统基础芯片(SBC)及功率半导体智能驱动,核心产品包括车规级驱动系列、电源管理系列及引擎控制系列等。 图片来源:中科赛飞 当前,车规级数模混合以及纯模拟的市场规模较大,但目前国内玩家并不是很多,车规级驱动芯片及SBC芯片也是汽车芯片国产化的重要部分,并且功能安全等级要
[汽车电子]
中科赛飞获数千万天使轮融资,主攻车规级数模混合<font color='red'>芯片</font>
机构:Q1笔电出货环比降10% 四类芯片短缺仍为掣肘
Digitimes Research最新报告预计,与2021年第一季度相比,季节性影响对2022年第一季度的笔记本电脑市场的影响将更大,总出货量预计将较上一季度下滑10%。零售渠道的订单拉动效应将放缓,零部件短缺将在该季度进一步缓解。 根据该报告,2022年第一季度,全球笔记本电脑出货量将同比增长近5%,而与去年同期需求主要来自于教育和廉价消费产品不同的是,这一季度需求将主要针对高利润率的企业和中高端消费产品。 随着上一季度订单的推迟和新中高端消费机型发布准备就绪,笔记本品牌对14英寸全高清或更好的非a级面板的需求在2022年第一季度大幅增加,这将有利于面板的主要供应商,包括LG显示、友达光电、夏普和三星显示。 与强劲需求相对的是
[手机便携]
意法半导体NFC标签芯片扩大品牌保护范围,新增先进的片上数字签名功能
先进数字签名技术采用区块链兼容椭圆曲线密码加密算法,为高价值奢侈品在运输消费过程中保驾护航 2024年4月15日,中国—— 意法半导体的ST25TA-E NFC标签芯片通过实施片上数字签名机制TruST25™ Edge,加强了数字产品护照和基于区块链的应用程序的安全性。 新增的片上数字签名机制基于椭圆曲线密码加密算法(ECC),运行在ST25TA-E内嵌的高级非对称加密引擎上,保证贴该标签的实物产品是原厂正品。 新NFC标签芯片ST25TA-E NFC tag全面防范假冒产品和灰色市场交易,增加与消费者沟通交流的机会。 ST25TA-E符合品牌保护安全标准,特别是奢侈品牌所期望的高标准,非常适合保护高价值产品,
[网络通信]
意法半导体NFC标签<font color='red'>芯片</font>扩大品牌保护范围,新增先进的片上数字签名功能
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved