图片来源@视觉中国
文|脑极体
要说物联网发展的最大掣肘,恐怕是非安全问题莫属了。我们常常能听到“黑客入侵心脏起搏器”“黑客隔空打开酒店密码锁”“黑客破解车联网”等等耸人听闻的消息,最近日本甚至还批准了相关法案,允许政府工作人员监管物联网设备,将物联网安全纳入到国家安全规划中。
在物联网安全问题上,谷歌在最近推出了一个非常有趣的项目——一种名为Adiantum(铁线蕨)的新加密方式,在谷歌安全博客上,甚至将这种密码学上的创新形容成“下一个十亿级别的加密技术”。
谷歌提出的解决方案,究竟能改变多少物联网安全的现状,在物联网安全的沃土中,还给谷歌留下多少开垦的空间呢?
在讨论Adiantum之前,我们需要弄明白,在物联网出现之前,我们的平板、手机一类的产品都是如何保证自身安全的?
一般来说,被安卓产品应用最广的存储加密模式是“AES”——高级加密标准。这种在密码学中被称为Rijndael加密法的加密模式,在2000年左右被美国联邦政府公开向学界征集“海选”,并经过层层攻击考验登上C位,取代了以往由IBM提出的DES加密标准。比起DES标准,AES的一个重要进步就是以轻量级的算力提供更有保障的加密,让当时的设备不再需要将更多的硬件成本投入在加密上。
于是王朝更迭,AES取代DES成为了世界范围内的加密标准一哥,Intel在设计芯片时甚至还专门为AES运算留出了一块分区。
一种加密标准的普及过程通常是这样的:越来越多终端设备应用上该标准,导致底层芯片也会做出配合的设计(这一过程也能够逆向进行),最终演变成该标准应用成本降低,大家都一起用。
那么为什么AES标准到物联网上就不灵了呢?
首先面临的问题是,和AES时代不同,物联网体系中很多终端根本称不上IT设备,也就不存在所谓适配某一标准的底层设计了。
同时即使AES在设计上极大的提升了性价比,但即使是对于当前的一些智能手机来说,仍然是不堪加密算法的重负。例如在低端智能手机、手环等产品上应用很广的ARM Cortex-A7芯片,就无力支持AES,导致应用这一芯片的设备体验并不令人满意,打开应用程序时常常反应迟缓。
那么对于设备更小、对计算响应速度要求更高的物联网设备来说,自然也不适用于当下的AES标准。
毫不夸张地说,物联网发展带来的,是一次让加密标准重新来过的机会。
很显然,谷歌是想依靠Android系统的开源优势,来进一步实现对更多标准的把控,甚至增加自己在硬件芯片设计上的话语权:物联网设备使用我的系统是大概率事件,如果我能提供一套适配性更强加密标准,不仅有利于普通设备物联化、智能化的进程推进,同样会影响到未来谷歌可能推出的芯片,以及AIot的计算平台结构。
这样看来谷歌的新加密标准,几乎是非出不可了。
应运而生的Adiantum,从技术根源上就抛弃了原本的AES模式,选择了另一种密码“ChaCha”,利用哈希算法加密生成随机数后,再进行哈希解密。这种加密模式和AES最大的差异,主要表现在对计算资源的调用上,即使没有特殊芯片的支持,Adiantum仅通过CPU资源也能实现高速计算。在类似ARM Cortex-A7这样的芯片上,Adiantum的加密解密速度要比AES快了5倍。
这种加密模式的出现意味着两件事:第一,加密将不再是物联网芯片降低成本的牵绊;第二,对于PC、智能手机等IT设备的芯片设计还可以继续优化。
当加密问题被解决,本来就对芯片要求不高的物联网设备可以放心大胆的应用上一些廉价的老款芯片,降低设备物联网的成本。而不再需要留出AES空间的PC、手机芯片,也可以再多塞进几个“XPU”来提升性能。
不过作为一种刚刚出世的新加密算法,Adiantum还有漫长的挑战王者之路,谷歌开发者表示虽然自己认为Adiantum的安全性已经足够,但也欢迎各位白帽子前来挑战。和当年联邦政府“强推”AES不同,谷歌作为企业推出一种加密算法,能否在世界范围内获得软硬件生态的全力配合,恐怕还是二话。
就从我们自己的角度来看,恐怕不少用户都会怀疑:谷歌会不会在加密算法加“后门”,在关键时刻用来反制中国物联网系统呢?
所以不管从何种角度来说,Adiantum都还只是谷歌埋下的一枚棋子,是物联网加密空白画纸上的一粒墨点。
当然谷歌并不是提出解决物联网安全的唯一角色,终端的加密也并不是维护物联网安全的唯一路径。在通信技术、云端、API接口包括法律法规层面都需要多线进行,如此看来,谷歌最适合的模(jing)仿(zheng)对(dui)象(shou)应当是非微软莫属。
和谷歌一样,微软有着应用广泛的操作系统作为基础优势、有云服务供应能力,并且在人工智能技术上颇具高度。
而在物联网安全上,微软打造了一套更封闭生态:基于Linux推出定制化的微控制芯片、云端安全服务Azure Sphere和操作系统Azure Sphere OS,从芯片、云和操作系统一整条完整的物联网运行链上维护安全。并且利用起深度学习技术来模拟自动化攻击,来提供安全问题的自动化监测和修复。
如此看来,谷歌如果在物联网安全领域继续巩固优势,下一步所做的很可能就是将Android系统进行针对物联网应用的优化,推出支持Adiantum控制芯片,再在云端完成闭环。
不过目前的趋势是,谷歌和微软都在闭环的布局上做着开源的事。拿微软的Azure Sphere的安全服务来说,除了支持自己的云服务外,同样支持AWS、谷歌云、甲骨文、IBM等等供应商的服务。而谷歌的Adiantum加密,除了在Android系统上测试外,也在物联网设备常常应用的Linux系统上进行了测试。
不过有手机和PC的先例,我们很难想象未来物联网生态是一片和谐、欣欣向荣的开源游乐场,如今在Mac上用个office软件都那么别扭,更别提在微软的物联网芯片上应用谷歌的加密模式了。
如今的几位厂商之间彼此的宽容,更像是一起合资承包鱼塘,等鱼养肥了再来分割成果。不过不管怎么看,物联网的安全桎梏,就快被合力解开了。
领取专属 10元无门槛券
私享最新 技术干货