基于证书的物联网设备安全认证(上)

简介: 在当前物联网发展的过程中,越来越多的企业开始接受物联网,拥抱物联网。随着应用的普及,行业也对设备安全有了更高的要求。如何保障设备合法未被冒用,如何保障设备与服务端通道安全可靠,能否对通信数据进行业务层面的加密,都是从业者们频繁面对的问题。本文将介绍一种基于PKI整数体系认证设备,确保设备合法的方式

最近在工作过程中,遇到一些客户对自己的设备安全提出了更高要求,希望我们给出一些合理的解决方案。在此,我记录一种基于x509整数的设备认证方案并对其做一些解释,以便大家明白为什么能起到设备认证的作用。

可能有些小伙伴对安全和证书不太了解,这里先简单介绍一些前置知识以帮助大家理解

设备需要做什么准备
每一台设备,都有一对属于自己的非对称密钥(如RSA公私钥)。公钥的内容是可以对外公开的,我们将它写入到设备专属的证书中。私钥内容是机密的,设备需要采用某种安全手段对其进行保护,确保只有自己可以使用它(对于有高安全需求的设备,一般会采用安全芯片或者带安全芯片功能的其他芯片,以提供物理层级的安全存储保障。安全要求稍低的可以采用类似白盒加密等软安全存储或保护的方式)。一旦私钥泄露,则安全基础已经被毁坏,就需要考虑其他的补救措施

什么是证书
我们所提到的证书,实际上是一段包含各类信息的字符串,可以先简单认为是一个文本文件。这个文本文件中包含两个部分:
1.TBS内容:上一条提到的设备公钥、设备的相关信息(取决于实际签发时需要有哪些信息)、证书的有效期以及证书签发者的信息等各种有关证书或证书所有者的信息
2.签名:对TBS内容进行某种神秘运算得到的乱码(实际不是,不过正常人无法看懂其中奥妙)

什么是证书链
证书链,顾名思义就是一串证书组成的链条。但是这个链条并不是随便组成,他们必须有严格的“父子”关系。比如A签发了B,B签发了C,ABC就可以组成一条证书链。如果B还签发了D,ABD同样可以组成一条证书链。但是ABCD我们就不认为这是一条证书链。或者AC,因为中间缺了一级,我们通常也不认为这是一条证书链。

非对称密钥怎么用
非对称密钥的常规使用,一是数据加密,二是数据签名。
数据加密就是使用公钥对一串明文内容加密,让它变成一段乱码。而乱码发送给持有私钥的人或设备,使用私钥就可以将乱码恢复为明文。没有私钥的人,即时通过某种手段拿到这一串乱码,由于看不懂,也不能做任何坏事。这里有很多小伙伴会有疑问,可以使用公钥加密数据,私钥解密数据,那能不能用私钥加密数据,公钥解密数据呢?
听起来好像很合理,因为我们的通信是双向的,如果只能公钥加密私钥解密,则返回的信息不是要使用其他方式保护了,好麻烦。但是不幸的是,确实不能使用私钥加密公钥解密。因为如之前提到的,在整套体系中,大家认为公钥是一个可以公开,可以被任何人获取的东西。如果使用私钥加密公钥解密,则意味着任何一个拿到密文的人(比如抓包),都可以再通过合法渠道下载到公钥,并解密你的密文内容获得明文。所以,数据加密通常只使用公钥加密数据,私钥解密数据。
突然感觉私钥很没用,居然只能被动。。。其实并不是,这就得提到非对称密钥的另一大功能,数据签名与验签。其主要功能是用来让公钥持有者确认,私钥持有者发出来的数据没有被中间人篡改。
什么是数据签名?比如我有一段明文数据,我先对它使用数字摘要算法进行计算(比如SHA-1,SHA-256)得到一串数字摘要。然后我再对数字摘要进行一顿计算(计算过程中需要使用私钥),最后得到了一串乱码(数字摘要就看起来是乱码了,汗,乱上加乱。。。)。这一串乱码,就叫做我们使用私钥,对明文做的数据签名。在发送数据的时候,将明文数据和签名一起发送给公钥持有人。
那公钥持有者怎么知道数据没有被篡改呢?公钥持有人拿到数据后,先对明文数据进行同样的数字摘要计算,得到hash1。然后使用自己的公钥对签名记性你逆运算(类似对签名进行解密),逆运算结果为hash2.对比hash1与hash2,如果相同,则代表数据没有被篡改。因为如果存在中间人篡改了明文,则逆运算出来的签名和篡改后明文的摘要值肯定是对不上的。
那中间人能否篡改数据后,再对篡改后数据做签名,将篡改后的明文和签名都发给公钥持有者呢?可以。但是这种场景下,只有中间人私钥对应的公钥才能对签名做逆运算,而我们持有的并不是中间人的公钥,所以我们的验签也会失败,这样我们就知道我们接受的数据出问题了。

如何认证证书
实际上,我们所谓的认证证书,大部分时候是一个认证证书链的过程。对端通常会传给我们它使用的证书以及证书往上的一整条证书链。关于如何认证证书链,通俗一些来讲,可以认为分为三步:1.认证证书本身字段合法性 2.认证证书是否真的是其上级签发 3.循环
何为认证证书本身字段的合法性?如上文所提到的,证书中会包含当前证书的有效期。我们需要校验证书是否在有效期内;有些证书会包含CRL信息,我们可以去查看证书证书是否被吊销;还有些比较特殊的场景会有特定的校验条件,如HTTPS证书,我们通常会校验证书中所包含的站点URL信息和我们所访问的URL是否一致。
第二步就是验证证书是否真的是其上级签发。如何认证呢?这个时候就要用到数据验签的功能了。我们从证书信息中找到谁是要验证的证书的上级证书,然后从上级证书中取出上级证书公钥。验证证书的签名部分是否真的是上级证书私钥所签。如果是,则可以证明该证书确实是上级证书签发的,如果不是,则说明证书有问题,可以认为验证失败。
当然,完成这两步以后并不是就万事大吉了,我们还要以同样方式验证这个上级证书。验证完上级,再验证上上级。。。依次类推。这个令人绝望的验证循环通常在两种情况下终止:
1.某个证书被内置在我们的信任域中,即我们事先已经把这个证书放在了我们本地,看到有一样的,直接无条件信任,不用再继续往上验证。
2.当前证书没有上级了。这一类证书我们叫做自签发证书,就是自己签发自己,也叫根证书。如果我们一路验证到根证书都没有看到我们信任的证书,那我们也认为这次证书验证失败,这个证书不可信。

到此,前置知识就了解完成了。接下来我们就可以开始看看解决方案。

(未完待续,不定期更新。。。)

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2天前
|
安全 物联网 定位技术
2G网络和基站的撤销对物联网设备的影响
2G网络和基站的撤销对物联网设备的影响是多方面的,以下是对这一影响的详细分析:
2G网络和基站的撤销对物联网设备的影响
|
9天前
|
存储 安全 物联网
智能家居安全:物联网设备的风险与防护
在智能家居的浪潮中,物联网技术让生活更加便捷。然而,随之而来的安全问题也不容忽视。本文将揭示智能家居设备可能面临的安全风险,并提供实用的防护措施,帮助用户构建一个更安全的智能生活环境。
|
13天前
|
传感器 监控 物联网
物联网卡在不同应用设备中的基本操作
物联网卡(IoT SIM卡)在物联网(IoT)设备中扮演着至关重要的角色,它们为设备提供网络连接能力,使得设备能够远程交换数据。物联网卡的应用设备广泛,涵盖了从智能家居、智能城市、工业自动化到远程监控等多个领域。以下是物联网卡在不同应用设备中的基本操作流程概述:
|
12天前
|
监控 安全 物联网
智能家居安全:物联网设备的风险与防护
在智能家居的便捷背后,潜藏着不容忽视的安全风险。本文旨在揭示物联网设备可能遭遇的网络攻击类型,并探讨如何通过合理的预防措施来加固我们的智能家园。从技术角度出发,我们将深入分析黑客入侵的途径,并提出有效的防御策略,以期为打造一个更安全的智能家居环境提供指导。
27 1
|
24天前
|
机器学习/深度学习 安全 物联网
智能家居安全:物联网设备的双刃剑
【8月更文挑战第28天】 随着物联网技术的飞速发展,智能家居已成为现代生活的一部分。然而,随之而来的安全问题也日益凸显。本文将深入探讨智能家居中的安全挑战,分析物联网设备如何成为一把双刃剑,既带来便利也可能引发风险。通过案例分析和专家建议,为读者提供实用的防护措施和未来趋势的展望。
|
1月前
|
安全 物联网 网络安全
智能家居安全:物联网设备的风险与防护
【8月更文挑战第14天】 随着物联网技术的飞速发展,智能家居已经走进千家万户。然而,智能设备的便利性背后隐藏着潜在的安全风险。本文将探讨智能家居面临的主要安全挑战,并提供实用的防护措施,帮助用户构建一个更安全的智能生活环境。
|
1月前
|
监控 安全 物联网
智能家居安全:物联网设备中的漏洞与防护
随着物联网的飞速发展,智能家居设备已步入千家万户。然而,这些便捷的科技产品也带来了安全隐患。本文旨在揭示智能家居设备中存在的安全漏洞,并提供针对性的防护措施。通过深入浅出的分析,我们希望能增强用户的安全意识,并采取有效行动保护自己的数字家园。
|
17天前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
20 0
|
29天前
|
物联网 C语言
C语言与物联网:设备间的通信与控制
C语言与物联网:设备间的通信与控制
36 0
|
1月前
|
监控 安全 物联网
智能家居安全:物联网设备的风险与防护
随着物联网技术的飞速发展,智能家居设备已步入千家万户。然而,随之而来的安全问题也日益凸显。本文将深入探讨智能家居面临的安全挑战,并提供实用的防护措施,旨在帮助用户构建一个更加安全的智能生活环境。

相关产品

  • 物联网平台