0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加密芯片硬件和软件的作用

武汉瑞纳捷半导体有限公司 2022-06-02 16:25 次阅读

硬件方面

如果加密芯片本身硬件会被物理破解,那就毫无安全可言,失去了加密芯片保护MCU方案的意义。

智能卡内核的加密芯片,硬件方面安全性是最高的。智能卡自从上世纪70年代末诞生以来,就是直接跟“钱”直接打交道。例如最早的IC卡就用于存话费打电话,现在银行卡,社保卡,电表卡等等,上面就直接存放着“钱”,没有足够安全的硬件支持,这些行业也不可能敢将“钱”直接存放在卡上。

经过几十年的发展,MCU的功能越来越强大:如IO口数量,越来越多,IO口的种类也越来越多,支持的通信协议也越来越多,等等。然而同样是几十年,接触式智能卡,却依旧只有ISO7816的UART口。硬件上增加的只有存储空间大了,速度快了,算法及安全寄存器越来越多。几十年来,智能卡除了变大,变快外,就一直围绕着安全在发展。

智能卡内核,在硬件方面,使用了顶层金属网络设计,提升入侵难度。所有的网格都用来监控短路和开路,一旦触发,会导致存储器复位或清零;另外智能卡使用存储器总线加密,每张卡片总线加密密钥不同,这样即使入侵者完全破解了,也无法生产出相同功能的芯片来。智能卡将标准的模块结构使用混合逻辑(Gle Logic)设计,使得攻击者不可能通过信号或节点来获得卡的信息进行物理攻击;智能卡还砍掉了标准的编程接口,甚至干掉了读取EEPROM接口,取而代之的是启动模块,可以在代码装入后擦掉或者屏蔽自己,之后只能响应使用者的嵌入软件所支持的功能。

软件方面

最好的软件方案是将MCU的一部分功能程序,移植到加密芯片里面执行。这样即使攻击者破解了MCU的程序,也无法得到加密芯片里面的代码(加密芯片要能做到硬件上不被破解)。

很多加密芯片号称有AES算法,或者SHA256算法等等。一味的强调算法的强度,而忽略了其工作原理。实际上,不管用哪种加密算法,MCU及加密芯片上都要存储一致的密钥,才能保证双方协同工作。而MCU可被破解,理论上都可以被攻击者拿到密钥,利用这种攻击方法,再高强度加密算法也无济于事。

例如DES算法,自从上世纪70年代被研制出来,然后运用到银行卡中(PBOC银行卡现在仍然还在使用的是DES/3DES算法)已经几十年了,目前为止,除了穷举外还没有其他方法可以破解其密钥。我们假设1us计算一次DES,一年有365天24小时60分60秒100000微秒=3153600000000微秒。单DES密钥长度为8字节,如果要把这8字节穷举完,则要580万年(0xFFFFFFFFFFFFFFFF除以十进制3153600000000 =约等于580万)。也就是说,如果不是直接从MCU中直接获取密钥的话,破解DES算法,需要580万年。那些所谓的很多算法比DES算法更强大,毫无意义,人家破解不会从算法本身破解,而是从MCU中去获取密钥。

所以DES/AES/SM1 /SM3/SHA1/SHA256等等,无论是哪种算法,使用者都无需担心算法本身的强度,不会有人来攻击这些算法,因为代价太高。

相反,更多的破解是从MCU这端拿到密钥的,因为理论上只要把MCU破解后仿真,定位到了加解密函数,就能找到相关的密钥。所以软件方案本身的设计,远比算法本身的强度重要。

只有把MCU的部分代码移植到加密芯片中,并在加密芯片中执行此代码,这种软件方案才是最安全的,其他的软件方案,都可以被破解(因为MCU可被破解,并被仿真)。现在市面上有部分加密芯片,把MCU的部分代码存放在加密芯片中,然后通过密文方式读到MCU中去执行。这种方法同样可被破解,因为其代码不是在加密芯片中执行。

瑞纳捷的RJMU401加密芯片,硬件上使用的是最高安全强度的智能卡芯片内核;软件上使用的是灵活的可编程方式,可内置算法。具有接口简单(SPI),安全强度高,开发简单,价格低,性价比高等特点。我们提供了一套经典加密方案设计样例,并提供了各种MCU下的源代码,例如:STM32等等。开发者几个小时就能上手,然后再根据样例设计出自己的加密方案。

最后给广大开发者一些忠告:

不要相信主控MCU本身的加密机制,我们太多的客户因为相信芯片本身的加密,没有做其他的保护,而受到巨大的损失。

要想加密芯片硬件本身不被破解,请尽量选择智能卡内核的加密芯片。

要想软件方案足够安全,一定要将MCU的部分代码放入加密芯片中执行,否则都会被攻击者在MCU中,找到密钥而破解方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6023

    文章

    44388

    浏览量

    628901
收藏 人收藏

    评论

    相关推荐

    AG32 芯片保护与加密

    AG32 芯片保护与加密 代码安全有两种方式: 一种是 Lock flash,一个是代码加密。 Lock flash: Lock flash 是在烧录代码后,锁定 flash,防止外部
    发表于 09-19 16:01

    嵌入式产品如何做安全加密

    为了防止硬件电路与固件被抄袭,核心在于加密芯片和安全解决方案的设计,目前大多MPU并不具备安全防护功能,所以最好的办法是使用一颗专用的加密芯片
    的头像 发表于 06-20 17:46 694次阅读
    嵌入式产品如何做安全<b class='flag-5'>加密</b>?

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?

    。 使用 MCUBoot 验证两个应用程序时,运行时间大约需要五秒钟。 在 README.md 的 \"安全 \"一栏中写道 与软件实现相比,硬件加速加密技术将启动时间缩短了四倍多
    发表于 05-29 08:17

    软件看门狗和硬件看门狗的区别

    软件看门狗和硬件看门狗都是用于监控系统崩溃的工具,它们的作用是在系统出现故障或异常情况时自动恢复系统。  软件看门狗是一种程序,运行在操作系统中,通过定时检测系统是否正常运行来判断系统
    的头像 发表于 04-16 15:10 732次阅读

    fpga是硬件还是软件

    FPGA(现场可编程门阵列)本质上是一种硬件设备,但它在功能实现上结合了硬件软件的特性。
    的头像 发表于 03-27 14:14 790次阅读

    fpga是硬件还是软件

    FPGA(现场可编程门阵列)属于硬件设备,而不是软件。它是一种可编程的硬件设备,由大量的逻辑单元、存储单元和互连资源组成,能够实现复杂的数字电路和系统设计。
    的头像 发表于 03-14 17:08 1449次阅读

    加密狗是什么意思 加密狗怎么解除加密

    加密狗(Dongle)又称为加密锁、硬件锁或USB密钥是一种用于软件保护和授权管理的硬件设备。它通常是一个外部设备,插入到计算机的USB接口
    的头像 发表于 01-25 17:19 7080次阅读

    韩国Neowine(纽文微)第三代加密芯片ALPU-C

    的开发商更能有效保障所开发产品与软体。 产品描述: ALPU-C加密芯片由模拟模块(OSC、POR和LDO)以及存储模块和数字逻辑模块组成;一如既往采用ASIC的硬件加密,其
    的头像 发表于 01-15 10:46 349次阅读
    韩国Neowine(纽文微)第三代<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>ALPU-C

    加密芯片的工作原理及应用领域

    加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部存储的密钥和信息数据不会被非法读取与篡改的一类安全芯片的统称。
    的头像 发表于 12-20 09:28 1212次阅读
    <b class='flag-5'>加密</b><b class='flag-5'>芯片</b>的工作原理及应用领域

    加密芯片工作原理max32555

    加密芯片MAX32555是一种广泛应用的硬件加密设备,它采用先进的加密算法和技术,对数据进行加密
    的头像 发表于 12-13 15:03 1754次阅读

    FDE磁盘加密技术是什么

    (也称为File-Based Encryption)两大类。 3.1、FDE Full-Disk Encryption全盘加密在实现上有硬件软件两种方案。两者核心原理类
    的头像 发表于 11-29 10:54 1096次阅读
    FDE磁盘<b class='flag-5'>加密</b>技术是什么

    ROS主控与STM32的硬件连接和软件连接

    。 为什么两个控制器之间需要电平转换芯片? 因为两个控制器之间 通信层次逻辑 是不同的,所有需要电平转换芯片。相当于两个主控是两种不同语言的人,电平转换芯片相当于一个翻译。 电平转换芯片
    的头像 发表于 11-26 17:45 1276次阅读
    ROS主控与STM32的<b class='flag-5'>硬件</b>连接和<b class='flag-5'>软件</b>连接

    ROS主控与STM32的硬件连接和软件设置

    。 为什么两个控制器之间需要电平转换芯片? 因为两个控制器之间 通信层次逻辑 是不同的,所有需要电平转换芯片。相当于两个主控是两种不同语言的人,电平转换芯片相当于一个翻译。 电平转换芯片
    的头像 发表于 11-17 18:00 746次阅读
    ROS主控与STM32的<b class='flag-5'>硬件</b>连接和<b class='flag-5'>软件</b>设置

    HASH算法加密芯片的工作原理及其在STM32 MCU上的应用

    本文主要研究了HASH算法加密芯片的工作原理及其在STM32 MCU上的应用,实现了外部加密芯片对STM32 MCU的程序保护,目前的技术手段无法对其进行破解,其安全性优于其它
    的头像 发表于 10-24 15:01 3237次阅读
    HASH算法<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>的工作原理及其在STM32 MCU上的应用

    加密主控和加密芯片之间的关系是什么?

    加密主控和加密芯片之间的关系是?
    发表于 10-08 06:31