EDN China > 技术文章 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

万物互联时代,如何确保M2M通信安全?

G. Richard Newell?? 美高美森公司SoC集团高级产品设计师?? 2015年04月14日 ?? 收藏0

用于识别一个器件的最好的私有密匙,就是利用所谓的物理不可克隆功能(PUF)计算得出的密匙。PUF基于器件生产制造期间随意生成的物理特性,由于加工过程中微小的不可控的随机变化,使得这些特点成为每台器件独一无二的特点。虽然这些变化无法预先确定或控制(即克隆),但是,如果它们可以在足够低的噪声中测量或足够稳定,则它们可用于PUF。这些测量可用于构建该器件特有的私有密匙。PUF是无生命器件的“生物测定特征”,与人类的指纹或视网膜类似。与由相同DNA“制造”却具有独特指纹的人类双胞胎一样,采用相同蓝本和工艺制造的无生命物体固有的PUF也是独一无二的。由于无法避免的小的变化,在一定程度上,完美的克隆实际上是不可能的,而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系统中使用。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

FPGA?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈