加密:嵌入式安全的关键所在
文件列表(压缩包大小 221.20K)
免费
概述
嵌入式电子产品在各行各业几乎都无处不在。例如微控制器,不论是用于监控汽车的CAN总线,还是用于读取某物联网设备的传感器数据,亦或是用于控制厨房电器,像这样在日常应用中集成低成本微控制器的能力使得电子产品行业以及涉及电子产品的行业发生了翻天覆地的变化。
但是这些变革给嵌入式设计带来优势的同时,也会将其置于风险之中。嵌入式设计不论是作为更复杂系统的一部分还是作为一个独立系统,其内在本质、灵活性以及可定制性都会使这些系统易于遭受严重的安全风险。
嵌入式系统的设计人员必须时刻关注新出现的网络威胁,开发强劲持久的多层安全解决方案,同时采用软件加密和硬件加密措施。欢迎继续阅读,深入了解嵌入式系统设计人员实施安全加密解决方案所面临的挑战。
嵌入式设计为何面临挑战?
首先,嵌入式系统是为了降低成本。尽管这降低了批量生产的成本,但也严重制约了处理能力和存储能力。严格来说,嵌入式设计的系统资源可能只够运行某个特定任务,但不足以运行额外的恶意软件检测或硬件监控器。
其他嵌入式设计安全挑战包括无法定期更新软件或修复软件漏洞,或对与设计有关的安全风险作出了不正确的假设。嵌入式设备往往是批量生产的,因此一旦漏洞被发现,很容易受到批量攻击。某些嵌入式设计系统的寿命也是设计人员必须要考虑的一个风险因素。
让嵌入式系统易于受到攻击的另一个因素是暴露的输入/输出和编程端口(图1)。某些情况下,输入/输出遭遇不正常的电压尖峰和脉冲会让微控制器出现混乱,黑客有可能趁着这种混乱状态攻入要害系统,如程序内存、私人数据,甚至有可能执行任意代码。暴露的编程端口也会让黑客有机会使用自己的编程设备回读内存的内容或对设备进行重新编程以及插入恶意软件。
图1:微控制器暴露的引脚,使其易于受到硬件攻击。 什么是加密?
就最基本的形式而言,加密就是让数据不被非指定数据接受者所识别的行为。例如,向某网址发送密码后,密码被加密,只有用户和接收网站能够解密数据。
尽管有很多不同类型的加密算法(AES、TLS、XTEA),但几乎所有形式的加密都需要用于加密和解密信息的密钥。没有密钥,加密的信息无法被解密,因此,仅限发送者和接受者拥有密钥,这样才能保护密钥。
加密算法的密钥有两种:非对称和对称。
• 非对称密钥为每个密钥的值都不相同。这种密钥用于双方需要创建一对对称密钥,而任何一方无需将密钥发送给另一方的应用(参见公钥交换)。
• 对称密钥的值相同,用于以更快的速度解密信息。 密钥的长短决定了所加密信息的安全程度。如密钥只有四个字符长,使用暴力破解法尝试四个字符的每一种组合,在不到一秒钟的时间即可破解该密钥。但是,一个256位密钥则相当的长。
目前还没有哪一台人类开发的电脑能够在任何切实可行的时间范围内通过暴力破解256位密钥加密的信息。据说,256位密钥需要电脑计算2.29x1032年才能暴力破解。这说明了完全随机的长密钥的必要性,因为长密码无法被猜出,需要很长时间才能破解。
加密如何帮助设计保持安全?
数据可在以下三种状态中的任何一种状态下存在(储存、传输、处理),任何一种状态下的数据都容易遭到攻击。储存的数据(例如在闪存驱动器上)可能会被黑客复制。传输中(例如RAM和CPU之间)的数据可能被黑客读取。处理中(如CPU中)的数据,如果经过处理的数据停留在内存中,也可能会被黑客获取。
随着在嵌入式设计中添加强劲安全措施的需求日益增长,现在上述每一种状态都有使用加密的安全解决方案。例如,数据存储在内存中时可轻松对其加密,在不同芯片之间传输数据时也可在移动中加密数据,新的加密算法甚至能够在无需解密的情况下处理加密数据。
加密面临着怎样的挑战?
加密系统面临的最大挑战之一就是安全储存密钥的需求。如果黑客攻入加密密钥,那么就能毫不费力地获取使用该密钥加密的任何数据。此外,密钥找回后,密钥不再可信,因此需生成新的密钥。
软件内加密也是一种资源密集型任务。尽管有XTEA之类的算法,但没有哪种算法的安全性能与行业标准加密法(如AES-256和TLS)接近。但此类行业标准加密法需要大量的内存,还依赖处理器来执行复杂的数学运算。
这种耗费大量资源的需求会降低系统的运行速度,使得在移动应用中加密数据
如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈
评论(0)