智能锁中用到的加解密以及STM32 Cryptolib

发布时间:2023-02-07  

STM32加密库

STM32提供了加密库X-Crypto-lib对之前提到的三大类算法的支持,甚至包括一些近几年才出现的算法ChaCha20以及Poly。STM32加密库包括几乎所有的分组模式,例如ECB,CBC,GCM等等。

STM32加密库通过了美国密码算法认证体系认证,在实现上安全性得到了保证,也适合用在一些有认证需求的MCU产品上。


密码技术可以由软件实现,也可以由硬件加速。软件加密库可以运行在所有的STM32平台上。STM32特定型号有常用的算法加速,可以减轻内核负载,降低功耗。


除了STM32加密库,如果用户对认证等级要求不高,也可以采用一些第三方或者开源的加密实现。例如mbedTLS就包含了所有流行的加解密算法的实现。


算法工具

在STM32 MCU安全开发过程中,有时候需要和确认自己对MCU加密库的调用是否正确。这个时候就需要一个工具对他进行比较。在这里推荐PC上的工具OpenSSL。OpenSSL是PC上的一个命令行工具,支持所有主流算法,很容易的用来进行结果比较,也可以用来理解算法参数。


如果觉得命令行方式不大方便,在网络上也有网站,可以用来生成非对称密钥对,也可以用来对加解密结果进行对照比较。


智能锁需要的加解密算法

我们从前面的安全分析中可以知道,智能锁最需要保护的有用户开锁的权利,制造商的知识产权,以及用户的隐私。


开锁的权利事实上就是如何在系统中产生一把数字化的钥匙。这把钥匙可以不需要保密,但必须完整可靠。那么数字签名技术肯定是必须。对于MCU,推荐使用椭圆曲线算法以及SHA256来实现数字签名技术。


知识产权保护一个涉及到固件安装或者升级时的保密,肯定是需要一个对称加密技术,推荐使用AES算法。同时,在启动时要检测固件是否已经被破坏,则需要数字签名技术,推荐使用椭圆曲线算法以及SHA256来实现。


保护用户隐私,则应当使用对称密钥技术。推荐使用AES来实现对数据的加密保护。


另外,对于外界,包括云端必须进行通讯,而通讯安全这一块则必须依赖TLS实现,而TLS则几乎需要所有种类的加解密算法。


智能锁中如果实现密码锁,考虑到密码容易被别人窃听,建议实现一个有有效期的密码服务。例如,访客可以进入这个房间,但密码会在1天之内自动失效。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>