在前面的博文,“确保卸载引擎一个健壮的安全的SoC系统,“我们简要看的一些方法实现嵌入式安全,即。、加密硬件分区隔离,硬件根的信任。在这个博客,和随后的博客,我们将探索更多关于这些方法的细节。
密码不是一个新概念。它已经存在了。可以使用加密来保护固件,专有的IP和敏感数据。正确实现加密保证机密性、完整性和真实性,或简而言之,“中央情报局”。
图1:密码学的描述。
保密
加密是将信息以一种可读的文本格式转换成一种难以理解的密文格式利用数学算法或密码和独特的钥匙。密文只能读到那些有知识的算法和密钥用于加密。主要有两种方法可以实现加密:
- 对称加密——一个共享密钥用于加密和解密。一些常用的密码包括AES、DES、3 d等等。对称加密一般快,适合对大量的数据。然而,对称密码术的弱点在于如何安全地存储和分布式的关键。
图2:对称加密。
- 不对称加密——也称为公钥加密,使用一对私钥/公钥加密和解密。如果一个资源,无论是固件图像或敏感数据,使用私钥加密,它只能使用对应的公钥解密。在公钥加密系统中,私钥必须安全地存储和保密。它不能被共享。只有公钥是共享的。RSA和ECC的算法用于公钥密码术。
图3:对称加密。
身份验证和完整性
当我们提到密码学,常常只加密想到。然而,加密是散列的其他重要方面,在中情局地址认证和完整性。一个散列是固定长度的随机代码,作为指纹任意长度的数据。散列的最重要的特性是它是独一无二的。没有两个不同的数据集可以有相同的散列。因为这个性质,哈希函数是作为数据的完整性检查,确保它没有被修改。
图4:散列。
除了一个完整性检查,散列结合对称密钥和公钥密码术可用于创建一个独特的数字签名进行验证。首先计算散列的资源使用sha - 1,等一个哈希函数sha - 256或SHA-3。这个计算然后使用加密密钥加密散列值。这是数字签名,也称为消息身份验证代码或MAC,这是添加到资源。
图5:数字签名过程中,公钥加密。
现在,每当需要使用的资源,它必须经过一个三步的过程。第一步是使用加密解密签名密钥提取原始的散列值。第二步是计算资源的另一个散列值,最后,比较产生的散列值和提取的散列值确认资源的完整性,即。,表明它没有被篡改,资源的来源是真实的。
图6:身份验证过程中,公钥加密。
现在我们已经介绍了密码学的基础知识,我们将看看如何实现加密与节奏的Tensilica处理器在接下来的博客。
引用
- 大卫•Kleidermacher“嵌入式系统安全:实用的安全软件和系统开发方法,“Newnes, 2012。
- 穆罕默德Yildiz,“物联网解决方案架构师的实用指南,”澳大利亚S.T.E.P.S.出版,2019年。
- 布莱恩·拉塞尔和德鲁·范·Duren“实际的物联网安全,”Packt出版,2018年。
- 杨千”,应用密码学在嵌入式系统中,“硕士论文,Vaasa大学,2013:
https://osuva.uwasa.fi/bitstream/handle/10024/6687/osuva_5564.pdf
- 嵌入式的员工,“物联网安全,加密技术”,Embedded.com, 2019年5月28日
https://www.embedded.com/iot-security-cryptography/
- 盖Stapko”,密码为嵌入式系统——第1部分:安全级别分类&哈希,”EETimes.com, 2010: 6月7日
https://www.eetimes.com/cryptography-for-embedded-systems-part-1-security-level-categories-hashing/
- 嵌入式员工,”保护物联网:第1部分—公钥密码学,”Embedded.com, 2015年1月11日,
https://www.embedded.com/securing-the-iot-part-1-public-key-cryptography/
- 盖Stapko”,密码为嵌入式系统——第1部分:安全级别分类&哈希,”EDN.com, 2010: 6月7日
https://www.edn.com/cryptography-for-embedded-systems-part-1-security-level-categories-hashing/
斯Sharma Kalluri
(所有的帖子)
斯Sharma Kalluri是产品营销经理Tensilica Xtensa控制器在节奏。
留下一个回复