当前位置: 首页 > 新闻与活动 > 技术文章 > 基于FPGA 的手机Bootloader加锁机制

基于FPGA 的手机Bootloader 加锁机制


作者:京微雅格产品市场总监 窦祥峰


发展迅速的消费类电子市场,各式新产品层出不穷,例如智能手机,平板电脑,平面显示器、便携式媒体播放器以及家庭互联网产品等。这些产品的功能不断丰富,每年都有很大的改进。对采用最新技术的消费类电子生产商而言,如此迅速地发展给他们在时间上带来了很大的竞争压力。特别是物联网的发展,已经从应用形式到实现方法上与以往的概念非常不同了。如今的电子产品需要快速反应市场需求,要求其功能最大的贴近用户,特别是怎么应对客户产生的对产品改进需求是产品供应商不得不考虑的事,尤其是现在的智能手机平台其平均的生命周期不足1.5年,专用芯片不能快速反应设计的高频率更换周期需求,此时一颗具有灵活的,高性能的可编程应用IC就显得非常重要了。


AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范。它是人们公认的加密包括金融、电信和政府数字信息的方法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据 的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。


基于FPGA 的Bootloader 加锁机制


由于市场和客户的需要,手机安装或卸载程序需要的权限需要很好的安全机制,而Bootloader 加锁是比较常用的方法,这样手机安全性可以得到很好的保证,非法ROM 无法刷入。传统的加锁机制基于纯软件的,其内含的密钥key 必然会在内存中出现,通过反汇编跟踪,总是可以被获取;另外完整性的验证也是在手机芯片的程序中进行,容易被非法代码伪造验证值或直接跳转硬破解。


基于此我们提出一种基于FPGA 的Bootloader 加锁机制,由于密钥Key 和验证程序均不在手机芯片的软件程序中出现,非法用户无法通过软件手段进行解锁,提供了高可靠性的保证。基本框图如下:


基本过程,手机出厂时FPGA 内部已经写有对Bootloader 进行解密的128 为密钥和出厂的Bootloader 程序的完整性验证信息。手机重启系统加载Bootloader 程序时FPGA 通过并行的eMMC 接口可以同时读取,通过内部hash 算法得出这部分程序的完整性信息,并与内部保存的完整性信息进行比对,如果一致则说明加载的程序是合法的,如果不一致则说明被非法修改过,可以控制手机进入非工作状态。


用户在需要远程升级Bootloader程序时,可以将加密过的Bootloader程序写到FPGA,FPGA通过内部的密钥key进行解密后在写入FLASH内。接着新Bootloader程序的完整性信息(经过加密的)也被写入FPGA,FPGA通过内部密钥解密获得新Bootloader程序的完整性信息,可以对更新后的Bootloader程序做完整性检查。


由于更新Bootloader的程序都是加密后的密文,且密钥是出厂设置在FPGA内部的,用户在手机芯片中的程序无法获得密钥,就无法解锁。只有对FPGA进行晶圆级分析才有可能解锁,这样无论是时间和经济成本都是巨大的基本不可行,手机的ROM的安全性的到了保证。同时,由于基于SRAM的FPGA掉电需要重新配置的特性,需要外部配置芯片对FPGA进行数据重新配置,此时一颗具有加密功能的FPGA就十分重要了。


京微雅格在经过多年的技术积累与市场调研后,推出了黄河(HR)系列CAP(基于FPGA的可编程应用平台)HR3 系列以迎合低功耗,小封装及不同的应用场景需求。


其产品特点如下: 


  • 40纳米台联电低功耗工艺;
  • 高达16K LP(Logic parcel) 等同4输入查找表;
  • 片上具有高速接口,多通道差分通道;
  • 片上集成OSC(片上晶振),减少客户的设计复杂度;
  • 海量的存储单元,实现形式多样:真双口RAM,FIFO,ROM等等;
  • 高精度模拟锁相环,方便实现时钟管理;
  • 业界极低的静态功耗;
  • 灵活与最小的封装形式,媲美ASIC;
  • 高安全性,AES加密算法,最大限度保护客户设计安全无虞;


京微雅格河@系列能被应用到多领域多行业,实现不同的设计,最大限度保护客户的投资利益。 



HR3 系列可以为用户带来:


  • 最快的产品上市进程,通过可编程芯片为新一代智能手机提供快速的设计方法,甚至客户可以预留电路板位置方便以后硬件升级;
  • 差异化产品,可编程 CAP可实现高度的灵活性,这对手机厂商向市场推出差异化产品至关重要;


在系统中采用京微雅格低成本可编程逻辑器件,客户能够迅速无风险地实现产品量产,帮助设计人员及时处理不断出现的变化,保证项目按计划完成。 京微雅格一直能够及时可靠地交付产品,在这方面保持了良好的记录,为市场提供了高可靠的CAP——赢得了消费类电子产品设计者的青睐。





     加入我们    |     联系我们    |     官方微博    |     官方博客 京ICP备案12039486号     京公网安备110114001125号