电子说
早前,Intel官方宣布和微软合作签下了美国国防高级研究局(DARPA)的同态加密研究项目。DARPA资助的同态加密项目全称是“数字环境中的数据安全”(data protection in virtual environments),该项目目前总共资助金额预计在五千万美元左右,其中Intel主要负责研发用于同态加密的加速芯片,和微软则负责将Intel的加速硬件整合进其云服务中,从而打通整个硬件、软件和应用的生态。Intel官方宣布,这个项目的目标是通过加速芯片把同态加密的硬件执行速度提升10000倍以上。
这一新闻显示了美国整体对于同态加密这一技术的重视,国家层面的DARPA以巨资支持同态加密技术,而科技巨头如Intel和微软则在积极研发和布局这一市场。本文我们将为大家分析同态加密技术的应用前景,其中的芯片技术以及未来可能的芯片市场竞争格局分析。
什么是同态加密?
同态加密(Homomorphic Encryption)对于从事芯片行业的朋友们或许比较陌生,但是相关理论在密码学领域已经有了多年的历史。
我们首先来看一下传统的加密技术。在传统的加密方案中,用户A将自己的数据加密,并将该加密的数据通过信道传输给授权用户B,用户B使用秘钥解密用户A传给他/她的加密数据,以完成整个过程。在这个过程中,除了用户A和用户B之外,没有第三方(包括提供数据传输服务的IT服务提供商)可以使用合法手段解密并看到用户传输的原始数据。
随着世界各国对于用户数据隐私方面的立法规范工作逐步展开,用户数据加密得到了越来越多的重视,例如不少APP已经提供了端到端加密的信息传输,即除了用户之外即使是APP运营商也无法解密看到用户传输信息的明文。然而,用户信息加密和目前基于大数据和人工智能的各种服务是一对矛盾。举例来说,目前不少智能摄像头提供基于人工智能的居家安全监测,在人工智能模型检测到异常情况时会给用户推送通知。如果用户数据完全加密,那么使用传统的加密技术,这种需要使用用户数据的人工智能服务就无法实现了,因为用户加密的数据第三方是不能合法解密,那么自然也就无法将其视频送到人工智能模型以检测异常。
同态加密技术则能解决这一对矛盾。使用同态加密技术,第三方可以在加密数据上直接做运算,并且将加密的计算结果直接返回给用户,而用户则可以通过解密获得计算结果。在这整个过程中,第三方都不会看到加密数据的明文,甚至计算结果对于第三方来说也是加密的,这样就解决了大数据,人工智能和用户隐私之间的矛盾。回到之前的人工智能做居家检测的例子上,从用户侧来说,虽然居家安全检测对用户有价值,但是用户其实并不希望把自己家里的视频监控一直上传到智能摄像头的服务器端,因为家里的视频监控录像属于用户的隐私。通过同态加密,用户可以将加密的视频(而不是原始视频)上传到服务器端,而在服务器端人工智能提供商可以以同态加密的方式在加密视频上直接跑人工智能算法,并将加密的结果返回给用户,用户只需解密结果即可。在这个过程中,人工智能服务商在不看到用户家庭监控原始视频的情况下仍然能够完成异常检测,这样一来用户即享受到了人工智能服务,又不必担心隐私泄露。
在用户隐私越来越受到重视的今天,同态加密技术在大数据和人工智能领域将扮演越来越重要的角色,而正如我们所看到的,芯片将会在同态加密领域起到核心赋能的作用。
加速芯片是同态加密的基础
同态加密的基础密码学理论目前已经足够成熟,而目前同态加密具体落地的一大瓶颈就是硬件算力,我们认为解决这个瓶颈需要设计专用的加速芯片,而这也正对应了上周Intel高调官宣同态加密加速芯片的消息。
同态加密需要什么样的加速芯片?首先,从最底层的运算来看,同态加密运算中主要的算子在常规的乘法和加法之外,还有移位(rotation)和NTT(number theoretic transform,可以认为是傅里叶变换的一种推广,也可以使用快速傅里叶变换算法)。根据纽约大学和哈佛大学在2020年发表的一项研究中,使用同态加密的ResNet-50神经网络计算中,移位和NTT需要的算力事实上远大于乘法和加法的算力需求,而另一方面,如果需要同态加密的ResNet-50执行速度和未加密的ResNet-50一样快,则这些算子的执行速度需要提升4000-16000倍不等。因此,在算子层面,同态加密技术加速芯片首先需要能很好地支持和优化移位、NTT等传统CPU优化不够的算子,同时在另一个角度在执行速度方面,则需要能实现大大超越传统的CPU,其加速比在10000倍这个数量级。
此外,在算子层面之外,如果同态加密需要支持人工智能/神经网络这类在基础算法层需要大量计算且有大量并行计算机会的应用,则加速芯片需要在算法层也能支持大规模并行计算。在这个方面,如何把基础算法中的并行计算机会结合同态加密计算的特点进行专门的优化将会很大程度上决定整个加速芯片的整体性能,包括并行化优化和流水线优化等。从另一个角度来看这个问题,则是神经网络本来已经需要非常大的算力,而搭配同态加密则是对算力的需求又上了几个数量级,这也从另一个角度印证了同态加密+人工智能中加速芯片将扮演极其关键的角色。
最后,如何针对同态加密加速芯片设计一个好的软件生态也是一个重要的课题。类似CUDA在人工智能中起到的角色,一个高效率、兼容性好的编译器和软件生态也将是同态加密硬件能够普及的关键。目前,微软的SEAL系列同态加密软件生态得到了大量应用,而这次Intel选择和微软合作也可以说是强强联手,有望在同态加密软硬件生态协同开发起重要推动作用。
同态加密芯片市场格局前瞻
我们认为,未来针对同态加密的芯片市场主要是在云端,同态加密加速卡将作为服务器的一部分硬件得到部署。Intel作为服务器芯片市场的主导者,目前以其在同态加密领域的布局,未来有可能会成为同态加密加速芯片的领导者和推动者之一。
除了Intel主推的专用加速芯片方案之外,我们认为以Xilinx为代表的FPGA方案在同态加密加速市场也有机会。FPGA的主要优势在于其可编程性强,可以灵活适配各种应用,其机会在于将同态加密和各类长尾应用(例如视频编解码)等结合到一起,从而覆盖专用加速器难以覆盖的应用。
此外,Nvidia也可能加入同态加密的战局。同态加密从宏观上看很适合GPU的SIMD架构,但是目前GPU对于同态加密中的一些算子支持不够完善,同时在软件生态上也没有发力。但是,这些都可以作为新的设计特性加到下一代GPU中,从而实现GPU对于同态加密计算的支持。结合Nvidia本来已经在人工智能领域的领导者地位,未来预计如果同态加密+人工智能得到普及的话,Nvidia将会是在这个领域的重要厂商之一。同时,同态加密+人工智能这对于中国目前如火如荼的GPU初创公司或许也是一个值得探索的领域。
责任编辑:lq
全部0条评论
快来发表一下你的评论吧 !