万物互联时代,如何确保M2M通信安全?
扫描二维码
随时随地手机看文章
使用物理不可克隆功能(PUF)确保机器对机器通信安全
目前,世界上能够进行机器对机器(M2M)通信的器件数量呈现爆炸性增长趋势。思科公司经常被引用的一项预测指出,到2020年将有500亿台器件连接全球互联网,其中多数器件是无人操作或自主运行的器件,即所谓物联网(IoT)。此外,M2M通信也利用其它类型的网络:通过蜂窝电话基础设施、使用蓝牙或近场通信(NFC)的个人区域网络,以及更专业的网络,比如航空管制、医疗器械及车辆(V2x)网络。现代几乎所有M2M通信也都利用多个无线通信协议,及互联网和蜂窝(对比旧式安全专用线路)等公共网络,因此很容易遭遇恶意监控和篡改,若要安全、放心地使用联网的机器,便必须采取相应的防护措施。
A) SRAM启动值用于计算私有密匙,通过注册阶段保存的“激活码”确保该密匙可靠
B)根据私有密匙,器件制造商计算和认证一个公有密匙,赋予每个器件一个可以认证的不可克隆的全球唯一的身份标识.
安全服务有多种,其中两种分别是保密性和可靠性。目前,保密性通常通过加密实现,防止信息被未经授权的人员获取。可靠性指的是送达的信息完好无损,没有未检测出的错误,而且来自一个已知的(可信任)源。虽然保密性是最被关注的加密业务,但通常可靠性在M2M通信中才是更重要的,例如在建立安全的网络时间源时,隐藏的有效载荷并不重要(正确的时间并不是秘密);重要的是确保接收的时间值未被篡改,并且来自可靠信息源而非不可靠源。这一点与利用IEEE 1588精密时间协议(PTP)标准以确保时间同步安全性的互联网RFC7384的观点一致。
我有一个秘密
为了证明真实性,信息发送者必须有一个秘码,当这个秘码应用于信息时,接收者可以验证这个秘码,从而证明信息来源于正确的来源。加密的方法主要有两种。在对称加密中,发送机器和接收机器共享通常预先置于这两台机器中的密匙,发送者采用根据信息计算出的信息鉴别代码(MAC)和密匙,对信息进行“标记”,接收方使用同一密匙进行验证。对于使用少量节点的虚拟私有网络,这种加密方法足以应付。对于更大型的网络,对称加密效果并不是很好:若所有节点使用同一密匙,便会存在令人无法接受的安全风险;或者每一对机器都必须使用不同的密匙,但由于随着节点数量的增加,密匙数量呈指数级增长,因此这种方法很难处理。更好的解决方案是采用不对称加密或“公共密匙”加密和混合加密。
A)SRAM位由两个名义上相同的交叉耦合反相器组成
B)制造工艺造成的随机微小的变化导致每个SRAM位具有优选的启动状态,用于计算密匙
在非对称加密中,信息创建者具有一个仅这个节点知道的私有密匙。发送者利用其私有密匙对将要发送的信息进行数字标记。当信息被接收时,利用发送者的相关公共密匙对数字签名进行验证,便可以证明真实性。由于只有一台而不是两台或多台器件必须存储(私有)密匙,因此安全性得到提高。任何数量的器件都可以使用这个公共密匙,该密匙可以随着信息传输,不需要由接收者保密或永久地储存。在遭遇入侵的情况下,只有受影响的器件需要脱离网络及更换密匙对。整个系统可以根据节点数量线性扩展,这是超越对称密匙系统的重大改进。
在混合加密中,私有密匙用于创建暂时的对称会话密匙,然后采用对称MAC标记来提供真实性。混合加密除计算效率通常更高之外,整体效果与单纯的非对称密匙方法相同。这种会话密匙还可以作为加密/解密密匙,从而提供机密性。
该方法仍然存在一些问题:首先,如何在源机器中创建和保护用于创建身份的私有密匙及数字签名(或会话密匙),其次,如何分配和确保用于检查那些签名的相关公共密匙是真实的。
用于识别一个器件的最好的私有密匙,就是利用所谓的物理不可克隆功能(PUF)计算得出的密匙。PUF基于器件生产制造期间随意生成的物理特性,由于加工过程中微小的不可控的随机变化,使得这些特点成为每台器件独一无二的特点。虽然这些变化无法预先确定或控制(即克隆),但是,如果它们可以在足够低的噪声中测量或足够稳定,则它们可用于PUF。这些测量可用于构建该器件特有的私有密匙。PUF是无生命器件的“生物测定特征”,与人类的指纹或视网膜类似。与由相同DNA“制造”却具有独特指纹的人类双胞胎一样,采用相同蓝本和工艺制造的无生命物体固有的PUF也是独一无二的。由于无法避免的小的变化,在一定程度上,完美的克隆实际上是不可能的,而PUF正时利用了这一事实来提供了优势。
通过PUF创建的器件不可克隆身份标识和密钥,被器件制造商用来建立信任链,使每个系统集成商/运营商可以对自己独立的PKI进行认证,这样他们制造和使用的机器可以与经过他们授权的其它机器和服务器安全地通信,而把其它设备则会被拒诸门外。
绝对没有相同的两次
PUF具有优异的安全特性,可以说是最好的非易失性密匙储存技术。由于制造差别通常是原子级别的,所以除不可克隆之外(无论怎样尝试也不可能制造具有相同特性的两个器件),对手也很难提取基于PUF的密匙。PUF有多种形式,从药瓶上的防篡改标签到电子器件。集成电路PUF可以基于存储器元件、逻辑延迟、电阻或其它物理因素,它们是适用于M2M应用的最有用的PUF。
SRAM PUF是一种最具特色和可靠性的存储器PUF类型,通常创建在集成电路芯片上,比如智能卡芯片或FPGA上。它通过测量SRAM模块中的位的随机启动状态来生成特定的数据。每个SRAM位包括两个名义上相同的交叉耦合的反相器,但由于实际上没有两个反相器完全相同,因此,当开始施加电源时,每个SRAM位的启动状态将优先选择一种状态而非另一种状态,结果将优先启动“1”或“0”状态。这种优先性很大程度上是在集成电路制造期间已经“固有”的,与每个位无关。
对于那些反相器平衡性异常良好的位,热噪声可能克服固有的优先性,该位将偶尔从其正常状态的相反状态启动,但是,在大多数位中,随机固有(静态)优先性足够强大,它将克服任何动态噪声。温度、使用寿命和其它环境因素也会产生噪声。PUF设计中已经考虑了噪声的影响,利用纠错技术来保证其可靠性。当PUF首次登记时,对SRAM位的启动值拍摄快照,并计算出纠错代码,即激活码(有时称为辅助数据),从而在所有随后的上电周期中,可以对有噪声位进行校正并恢复原快照中的数值。因此,每次打开时也可以重新构建相同的密匙。SRAM PUF的一个很大的好处是,当电源关闭时,秘密从该器件中迅速消失:当电源关闭时,没有任何已知技术能够预测SRAM位的启动状态。在安全方面另一个好的属性就是如果激活码归零(即被擦除),不管之后对该器件进行如何详尽的分析,也无法重建该PUF密匙。
构建一个高质量的256-位加密密匙的可以采用SRAM的1-2k字节。理想的情况是,每个位同等地选择1或0(即50:50的几率),这种优先性与所有其它位无关。在这种情况下,每个位具有100%的熵。由于较小的偏差和相互关系,现实世界中的存储位可能仅有95%的熵。与原来登录的储存图像进行对比,动态噪声及环境影响会造成位反转(bit-flip)。在理想的打开至打开情况中(例如,恒定温度),有噪位的数量可能是3-5%。在所有条件,包括温度和时间,噪声可能增加到12-15%,仍然位于纠错码的范围之内(25%或更高)。SRAM PUF可能是最有特点和最可靠的PUF技术,可以设计用于保证在所有环境下和全生命周期内完美的密匙重建,错误率低至十亿分之一。这种不常发生的故障可以检测出来的几率很高,通常只需要重试便可以得到正确的密匙。
我们已经回答了第一个问题:“如何最好地创建和保护用于创建数字签名的私有密匙和会话密匙”;第二个问题是如何分配公共密匙和确保其真实性。
基础设施
这需要公匙基础设施(PKI)。在PKI中,证书授权中心(CA)利用CA自已的私有密匙对网络内所有批准器件的公共密匙进行数字签名,从而对其进行认证。最常用的认证格式是X.509标准定义的格式。当器件传输数字签名信息(或创建会话密匙)时,它也可以发送自己的X.509公共密匙认证,让接收方可以利用来自认证的公共密匙来验证信息上的数字签名。
如果信息已经被篡改,其数字签名将无法正确验证。接收方还必须检查其正在使用的公共密匙是否真实,如果公匙是随信息发送的而并非接收方预先内置的,则特别需要进行检查。这一点可通过CA的公共密匙以检查X.509认证上的CA数字签名来完成,而公共密匙通常由制造商或网络操作员预先置于每台器件中,所以是固有可信任的,因此创建了一条基于等级认证的信任链;由于发送器件应用的签名经过认证,因此信息被证明是真实的;由于用于进行这种认证的公共密匙通过了CA认证,而CA的公共密匙是原先安装在所有器件内的,因此具备固有可信性。网络中每台合法机器的身份都可被辨认,而且确信度非常高,所以,把信息分发给这些机器的可信度很高。反过来说,伪冒机器和伪造信息很容易被检测出来。
开放市场上使用PUF技术的器件的最佳实例就是美高森美的SmartFusion2 SoC FPGA和IGLOO2 FPGA器件系列。由于其固有的灵活性和数量较多的I/O引脚,FPGA和SoC FPGA在M2M应用中提供了诸多优势。这些特定FPGA器件中的SRAM PUF以美高美森作为认证授权中心,为每个器件建立了预先配置的认证身份。这些器件还具有内置加密功能,比如适用于AES、SHA、HMAC和椭圆曲线加密(ECC)的硬件加速器,以及加密级真随机位生成器。这些功能可用于建立用户PKI,利用用户自己的认证授权中心对网络中的每台合法机器进行认证;每台机器也都具有一个信任链,从用户保护很好的根CA密匙直到美高美森FPGA中PUF创建的原子级别的高确信度身份标识。PUF和PKI互相配合,一起为虚拟私有网络中的每台设备建立稳固的身份标识和关联,这样,设备和通信都得到了很好的保护,可以安全、放心地在M2S和IOT系统中使用。