加密芯片的原理是什么?芯片加密后还能不能再次使用?

2022-12-01 13:02
33

加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部存储的密钥和信息数据不会被非法读取与篡改的一类安全芯片的统称,在嵌入式行业应用广泛。加密的芯片,保证了芯片中的信息安全。那问题是,芯片加密了还能不能用?那就随着课课家小编一起去了解。
  加密芯片的分类
  在版权保护领域根据加密的方案和用户的不同,分为两大阵营。
  应用最为广泛,使用时间最长的当属认证类加密芯片,其优点是加密芯片平台安全,算法统一,应用简单。缺点是整体加密方案安全性较低,对板上主控MCU的保护力度较弱,已经证明存在明显安全漏洞。是可以通过对MCU的攻击,简介破解掉加密芯片的。
  另一大阵营是智能卡芯片平台的加密芯片,应用方案采用算法、数据移植方案,将板上主控MCU的程序和数据移植一部分分到加密芯片中运行,借助加密芯片完成MCU缺失的功能,同时又保证这部分程序的绝对安全,进而保证整个产品的安全性。
  加密芯片的原理通常分为以下几种:
  1 芯片内部置入数据,通过对比数据是否相同
  缺点:容易被模拟
  2 板子与加密芯片同时置入密钥(可相同,或者通过特别数据运算后相同),同时加密随机数(不会重复使用),根据结果来判定是否为合法芯片。
  优点:不会被模拟
  缺点:如果板子程序被破,加密芯片就会失效
  3 板子部分程序移植到加密芯片中,需要时调用加密芯片功能
  优点:不会被模拟;板子程序被破而加密芯片不被破,不会影响程序安全
  1 ,2 ,3方案安全性是递增的,也是加密芯片发展的方向。
  下面我们通过看看不同的flash、EUC以及DSP加密效果
  1.flash类型芯片的加密
  Flash类芯片(包括SPI FLASH ,并行FLASH,NAND FLASH等)加密后一般情况下都是禁止“写”以及“擦除”操作,通过状态寄存器写入加密信息,如果该芯片已经加密,则进行编程操作时,编程虽然能成功,但是客户的代码实际上是没有写入到芯片的。
  以SPI Flash中的MXIC厂商的芯片为列,下图为其在SmartPRO系列编程器加密设置界面。
  

    加密芯片的原理是什么?芯片加密后还能不能再次使用?_嵌入式_芯片_信息安全_课课家教育
      按上图的设置可视界面,把对应配置信息写入后,Flash对应的区域即进入保护状态,不能编程,擦除,只能通过清空加密寄存器中的信息,才能从新对芯片进行擦除、编程操作。
      
    2.MEC类型的芯片加密
      经常会有人就MCU加密保护后,能否二次使用的问题进行咨询。对于加密后的芯片能不能二次使用这个问题,得具体看是哪个类型的芯片,类似于TI 的MSP430系列芯片加密后即不可进行二次使用,这个加密为OTP(One Time Programmable)型,只能进行一次烧录。其原理是通过高压烧断熔丝,使外部设备再也无法访问芯片,这个是物理性,不可恢复,如要加密,请慎用!下图为SmartPRO系列编程器的操作按钮。
      但对于大部分MCU芯片来说,加密后芯片还是可以进行二次使用的。类似于ST厂商的MCU有3级可选的加密,即Level 1,Level2,Level3。
      1)Level1 就是不做读保护级别,即可以读出芯片中的数据,但不能对芯片进行编程、擦除操作。
      2)Level2保护,这种状态下,不能读取芯片内的程序代码内容,也不能对芯片再次做存储空间的擦写或芯片调试了。
      3)Level3级别的保护就是不可逆的保护,保护后即不能进行其他操作。而Level1,Level2加密后可以通过解密的方式对芯片进行第二次操作。
      类似ST MCU的这3种级别的加密方式还是比较人性化的,客户可根据自己的需求来管理不同的加密级别。下图为SmartPRO系列编程器加密设置操作界面。

    安全_芯片_信息安全
      3.DSP类型的芯片加密
      DSP的芯片加密形式是通过在特定的区域写客户的密码进行加密的。这种加密是可逆的,可以通过输入正确的密码,重新对芯片进行任何操作。但如果密码为全“0”,这种方式是不可逆的,属于芯片的一次性设置,须谨慎。其SmartPRO系列编程器加密设置窗口如下。

    芯片_嵌入式_安全