0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >计算机及配件 > 嵌入式设计的安全性考虑事项-ARM

嵌入式设计的安全性考虑事项-ARM

来源: 电路城
2021-01-08
类别:计算机及配件
eye 13
文章创建人 拍明

原标题:嵌入式设计的安全性考虑事项-ARM

  随着越来越多的嵌入式设备接入网络并成为物联网的一部分,网络黑客们开始利用这些连接,以达到自己不可告人的目的。因此,嵌入式设备必须提高安全性,以防止黑客复制IP、盗窃数据或侵入系统,可是对于嵌入式工程师来说,安全是又一个极其复杂的主题,在为嵌入式微控制器设计系统时,很难把握到底需要怎样的保护力度。

  为了简化安全性这一讨论话题,我们从三个方面进行探讨。在图1中,嵌入式设备A需要与远程设备B通信。此时,需要考虑的三个安全因素:(1)设备完整性 – 安全访问设备A;(2)通过身份验证建立与远程设备B的信任关系;(3)建立信任关系后,通过数据加密保障两个设备之间的信息传送安全。

  设备完整性是指如何防止嵌入式设备上的代码(或IP)和数据受到未授权的访问(如远程软件攻击、通过已建立的用户接口获得访问权限或对系统硬件进行物理/探测攻击)。可以通过多种方式防范这些攻击,但各个方法的成本和复杂性也各不相同。

  在设备之间建立信任关系是指一个或两个设备间相互验证真伪,以确保不会将数据发送至冒名顶替的设备,或从这样的设备接收数据。建议信任关系的常用方法是非对称密钥加密。此方法使用一对密钥(一个私人密钥和一个公共密钥)来建立信任关系。私人密钥用于加密而公共密钥用于解密。非对称密钥加密的常用算法为RSA和ECC。

  建立信任关系之后,如果从设备A向设备B传输数据,对称加密算法将对其进行保护。对称加密使用相同密钥进行加密和解密。(此方法的速度比非对称加密快,这也是并非所有通信都使用非对称加密的原因)。该算法目前的加密标准为AES(加密标准)。这是一种使用相同长度的密钥对128、192或256位数据块进行加密的对称密钥块加密标准。

  虽然任何加密算法在长时间攻击下都可能被破 解,但即使使用现代超级计算机进行蛮力攻击(指尝试每一种密钥组合:2128或3.4 x 103种),破 解AES-128密钥块加密可能需要花费一百万年时间,而AES-256加密算法更有2256或1.1 x 1077个组合。由此,AES-128或AES-256都适用于防止蛮力攻击。但是通常来说,AES-128更佳,因为其计算效率比AES-256要高40%。这么看来,蛮力破 解AES的可能性几乎微乎其微。因此,黑客们将主要精力花在提取AES密钥上。如果未能安全地保护AES密钥,那么无论算法多么安全都没有用。这就好像是用一个六英寸厚的钢门保护您的家,却将钥匙留在门垫下面。

  安全性并非是一个必须的刚性需求。嵌入式设计中到底需要什么程度的安全性取决于您所连接的设备、需要保护的内容以及冲破安全防护时所造成的损失。图2中列示了嵌入式设计中可用的不同安全性级别。

  列表示典型的嵌入式应用。如果嵌入式设备无需接入互联网,不是网络的一部分,则不需要使用加密算法、建立信任关系或密钥存储。但是,仍需注意设备完整性,尤其是在知识产权(IP)保护非常重要的应用中。防止竞争对手读取内部Flash中的程序内容可以保护公司产品的知识产权不受潜在抄袭者的侵害,为了实现此种保护,需要寻找配备内置代码读取保护功能的微控制器。

  如果需要进行IoT连接,则需要考虑附加的安全功能,以实现代码和数据保护。在通用微控制器中实现软件安全算法,即可满足安全传送信息所需的所有要求。软件实现的RSA或ECC可以用于建立信任关系,而软件实现的AES可以用于安全传送信息。密钥存储在Flash或RAM中,并且通常使用软件技术进行保护。但是,与由硬件加速的AES实施相比,软件实现的AES算法在安全性上还是略逊一筹。

  图2同时列出了将运行软件算法的通用微控制器替换为配备硬件安全功能(如硬件加速的AES加密、真随机数生成器和改进版AES密钥存储)的微控制器的优点。

  与软件实现的AES实施相比,硬件加速AES模块的优势就是其运行速度要快八倍。同时,硬件AES更加省电(需要的MCU计算更少,因此更省电),占用的程序代码空间也更小。如果能够充分利用微控制器内置的硬件加速AES,就可以更加高效地运行相同的软AES加密算法。

  真“随机数发生器(RNG)”是用于创建真随机密钥的软件实现的物理改进版。真RNG使用物理现象(如噪音)来创建随机数,而软件实现则必须依赖算法才能创建随机数。与软件实施相比,真RNG更加不可预测。因此,其安全性更高。

  某些微控制器中的附加安全功能可以将AES密钥存储于存储器中仅可通过硬件IP块读取的位置。这样一来,密钥就无法被软件提取。

  当黑客无法以物理方式访问嵌入式设备时,配备附加安全功能和软件加密算法的微控制器可以提供出色的解决方案。例子为住宅中的恒温器,您可能会担心有人会通过远程访问它以侵入您的内部网络。但是,您可能不会担心有人闯入您的房子并探测恒温器中的微控制器,从而提取其中的AES密钥。如果有人闯入您的住宅,那么,您所面临的问题比丢失AES密钥要大得多。

  另一方面,如果您在房子外面安装了智能仪表,则可能会更加吸引那些想以物理方式攻击和盗取密钥的黑客的注意力。对于电力公司而言,电费收益是其需要保护的重要资产。因此,他们可能将资金花费更多地花费在防篡改安全功能上。

  将微控制器与安全元件相结合可以为您的嵌入式系统提供银行级别的安全性(图2)。安全元件是一个防篡改IC,它可以为密钥和证书提供安全的存储位置;同时通常配备硬件加速RSA和ECC,以实现更快的身份验证。虽然硬件加速AES加密仍由更快的微控制器控制,但是安全元件可以提高设备的完整性并带头建立信任关系和AES密钥保护。

  恩智浦半导体公司的LPC18Sxx和LPC43Sxx微控制器是现有LPC1800和LPC4300系列的扩展。这两款微控制器添加了用于代码和数据保护的硬件功能(图3)。LPC18Sxx和LPC43Sxx系列配备多种高端连接功能,包括以太网、两个高速USB和SDIO(与WiFi模块之间实现快速的数据连接)。此外,某些版本还支持图形LCD连接。大部分恩智浦LPC微控制器提供代码读取保护(CRP)功能,该功能可用于保护开发者代码。增加的安全功能包括一个AES-128硬件加速器、一个真随机数发生器和两个位于可编程存储器中用于存储AES密钥的128位OTP Key。



责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 嵌入式设计

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案