密码技术的现状与白盒化发展趋势
文│ 中国科学院大学密码学院教授 荆继武;中国科学院计算机网络信息中心 李畅
在数字网络逐步成为控制世界的大脑,成为物理世界灵魂的时代,数字网络世界的安全就变得尤为重要。密码技术,作为数字网络世界最基础最核心的安全技术,越来越成为世界各国竞争的重要资源。
本文从多个角度观察我国密码技术发展的现状;研究数字网络高速发展的新形势对密码技术的需求;探讨密码技术发展的方向,研究白盒、密钥容忍安全和零信任技术背后的意义。
一、我国密码发展现状
(一)密码基础理论发展与世界同步
我国学者二三十年前研究的算法,如 SM2、SM3、SM4 等逐步成为国际标准,说明我国的算法理论研究与国际并行,也说明我国在尖端密码理论领域有顶尖人才。我国的算法成为国际标准,面临着许多专家和政治势力的挑战,算法安全如果存在问题是很难成为国际标准的。
我国的算法安全与国际同步,也反映了我国一直以来对密码基础研究的保护和重视。我国其他行业目前仍有难以赶上的掐脖子技术问题,但密码算法领域能够迅速崛起,说明了我国的密码管理有一套需要坚持的成功路径和方法。
(二)密码工程技术紧随世界潮流
我国的密码工程技术也并不落后,我们有全球最快的加密机,说明我们的算法实现技术世界一流。我们也有多款达到密码模块 3 级国际标准的密码机(密码模块最高级别为 4 级,仅用于极其特殊的安全场景),说明我们的密码模块的安全设计水平也与世界同步,完全能够在大部分应用场景实现安全替代。我们也有了成体系的密码产品和标准,能够胜任信息系统的密码保护。
面对我国高速发展的信息化需求,我国密码产品数量和质量仍有待大幅提高。在我国的互联网信息系统中,大量的密码产品,密钥管理产品,特别是软件密码产品仍旧是国外品牌。我们自己生产的密码产品仍旧无法满足我国信息化高速发展所面临的多样化高质量需求。我们需要更多的企业和更多的工程技术人员来发展自主的密码技术和产品,提升产品规模和产品质量。
(三)密码应用亟待加强
我国密码产品应用涉及密码与应用系统的紧密结合,需要懂密码的工程师和专家来推动这种融合,确保密码在不同的应用中发挥保护作用。由于每种应用有不同的安全需求,密码保护方案会各不相同,从而需要大量的懂密码的人才来支撑我国信息化高速发展下应用多样化的强劲的密码应用需求。由于我国密码人才的不足,高校培养体系也不够健全,市场上懂密码的人才显得非常匮乏。密码应用工作的成败关键在人才,密码应用和密码应用测评的普及需要大量的密码人才队伍。目前,密码应用工作是我国密码发展的短板,亟需补上。
党和政府充分认识到密码应用工作的重要性,正大力推动密码的规模化应用,以保护重要信息系统和基础设施的安全。在信息系统等级保护政策中,已将密码应用安全性测评作为系统等级测评的一个方面。同时,政府也非常注重密码教育和人才培养,正着力推动密码学科建设及密码学院建设,以确保我国信息化发展的安全保障有后劲,有力量。
(四)密码管理与密码法
我国的密码管理工作是最为成功的管理工作。密码技术从基础的算法与算法分析研究到密码产品,再到密码应用等都有完全自主的技术体系,基本没有卡脖子技术的困扰。我们的算法是国际标准,我们的产品可以与国际同台竞争,我们的应用也有很多成功的示范。局限于信息技术和产品,我们的密码设备研发的规模和平均质量还有待提高,但密码基础核心技术都掌握在我们自己手里。
随着密码法的实施,我国的密码管理又走到一个更加先进,更加开放的管理模式,将更加有力地推进我国密码技术和密码产业发展,为我国的信息安全奠定更加坚实的技术基础。密码法规定了与世界接轨的测评认证体系,能更好更公平提升密码产品的质量;密码法无歧视对待在中国的任何企业,不仅仅有利于我国密码发展充分利用全球智慧,同时也有利于我国的密码企业走向世界。密码法出台,不仅仅是密码产业推进的号角,是我国产业发展开放的新标杆,也是网络安全发展的一次科普。
二、新形势对密码发展的新需求
我们进入了一个正在起步的数字网络化时代。扫地机器人、智能联网家电、智能门锁以及家用互联网摄像头等一系列信息化联网的生活产品正快速普及。电子手表、智能终端等开始成为日常的随身配置。生活、工作、商业、科研等业务都在向数字网络快速转移。我们正在经历一个崭新的全球数字化发展新时代。信息化的快速发展不仅是全世界发展的机遇,也“为中华民族带来了千载难逢的机遇”。
(一)网络空间命运共同体已经形成
我们已经进入了网络空间命运共同体的时代。世界各国共同维护网络安全成为共识。在这样的时代,多网融合已经完成。多种终端,包括手机、智能家居、智能汽车、监控摄像头和移动传感器等,以及各种业务,包括金融、购物、科研、社交和政务等全部接入了一张巨大的互联互通的网络。整个世界也与互联网络紧密结合在一起,从而构成了新型的人类命运共同体。独立的隔离网络要么正逐步离开人们的视野,成为过去网络发展的历史,要么通过各种途径逐步融入这一张巨大的互联互通网络世界中。世界上所有的人都能在网络上生活学习工作游戏,包括恐怖分子;各种系统都在网络上运转,包括黑客的系统;各种代码都在网络上运行,包括病毒;各种数据都在网络上传输,包括暴力和色情数据。网络空间命运共同体不仅仅意味着共享,更意味着共同维护,也意味着永远无法绝对安全。
在网络空间命运共同体的时代,网络互联的方法和维度逐步增加,使得某些不希望联网的设备也无法逃脱多种方式的网络连接。在不联网的区域,一个手机通过 4G、借助 WIFI 或蓝牙就能够让不该联网的设备联入互联网络;连结屏幕的电缆、连接外设的导线,能够使这些原本不是作为天线来使用材料,也可以并且有能力将本该隔离的信息发送到外网;电力的消耗、运行的时间信息等,也可以将不该泄露的信息泄露出去;随身携带的 U 盘、光盘或者手表,都可能成为突破物理隔离的传输介质。依靠物理隔离达到网络隔离的目标变得越来越难以保证,并逐渐成为一种不可能完成的任务。
密码正成为这个时代的关键基础技术,成为保护网络主权,重塑网络边界,保障网络传输安全的不二选择。密码可以表达我们的控制,宣誓我们的权利;密码可以形成解密屏障,阻挡外界对信息的解读;密码可以保护我们的数据传输,保证数据不被修改,不被解密。
(二)数字世界工业革命已经开始
随着多种通信技术发展,网络无处不在已是现实。以宽带网络互联为第一基本特征的云计算的兴起,预示着数字世界规模化、专业化革命的开始,也就是数字世界工业革命的开始。在这样的时代,个人购买网络云存储比自己购买硬盘更加有效;企业不再安装 WEB 服务器或邮件服务器,而是租用云上的 WEB 服务或邮件服务来满足企业网络需求。在这样的时代,很少有人或企业全部靠自己完成数字系统或信息业务。每一项网络工作,不管是网络服务或产品的研发还是生产,都是众多企业或研究团队合作的结果。细分专业中的点点进步,都会借助互联网络广阔巨大的市场空间带来丰厚的“长尾”回报,这确保了专业化创新的可持续发展。
专业化的分工发展是先进社会创新的必然结果,在这样的形势下,协作就成了现代社会的必备要素。数字网络中的安全协作所需要的密码技术,如多方安全计算,将成为推动数字世界工业化发展的重要技术支撑。另一方面,正如信任体系是现实世界工业化发展的重要基础一样,网络信任体系相关技术也将成为未来数字经济创新发展的基础性技术。
(三)数字经济起飞的时代
当前,大多数的银行都能提供相关的网络服务,并已经将用户的资产搬到网络上;网络商店发展飞速,将商品买卖搬到网络上;人们的社交,管理,家居也快速走向网络;政府以服务人民为宗旨,让人们少跑路,让信息多跑路,从而推动网上政府服务并且覆盖大部分政务领域。可以看到,国家经济的发展也必将利用网络化优势,数字化已经成为推动我国经济发展的强大动力。
我们已有的财富需要网络来表达;我们的日程安排要靠电子设备记录;我们的房产证和发票是否正确都需要通过网络来判别;数字货币只有依靠数字设备的显示来使用。数字经济使得我们经济的发展需要更加强有力的数字安全技术保障。以密码技术为核心的数据安全技术将成为数字经济发展的核心力量。数字安全,不仅仅包含数据的完整、保密、真实与抗抵赖,更需要保护数据的所有权关系不被破坏,也就是保护数字世界的生产关系安全。我们要保护数据的所有权,确保任何人不能随便占有或非法使用。以密码为基础的区块链技术快速崛起,正是因为它开辟一个数字资产管理,也就是数字资产所有权关系保护的新方向。
(四)软件定义一切的时代
硬件标准化是数字产业发展的必然趋势,个性化配置越来越依赖软件完成。软件定义网络、软件定义存储、软件定义数据中心等已经成为当今的重要技术方向。软件定义一切的发展,也让数字网络能更好地服务百姓,并向不断变化的需求提供了灵活的技术支撑,是未来数字系统的技术特色。
在软件定义一切的时代,数字安全是未来系统安全的基础保障。正如可信计算技术已经是目前系统安全的基础一样,密码技术必将成为软件定义一切的重要安全技术的基础和关键。它将会支撑软件中数据的来源真实,数据的完整,数据的抗抵赖等性质的实现。
在这样的时代,硬件体系结构将是标准化的,开放的。安全系统需要采用开放的结构而很难获得保密专用硬件的支撑。在虚拟机不断飘移的云中,如何保护密钥安全就成为开放环境下密码安全的重要研究课题。
(五)密码应用需求呈现多样化趋势
在价值互联网应用中,我们需要最安全的密码保护我们的数字资产。比如,针对银行和国家财政的数字资产,我们需要极高安全的密码保护。高安全要求一般会带来计算的复杂化,密钥保护的复杂化和安全检测的复杂化,而这可能带来性能的降低,无法满足协同网络应用中的密码高性能要求。
在协同互联应用中,我们可能需要更好的处理性能,需要密码的高性能支持。我们需要极高的密码吞吐率以支持多人协同的加密视频会议;我们需要不超过 1 毫秒的加密验证时延,以支持车联网中的指令安全保障;我们需要每秒千万次的签名计算以支持银行中心服务器应答上亿商户的收费请求。
不论是高安全或是高性能,都需要有足够的资源支持密钥保护或密码计算。在万物互联的物联网场景中,我们可能不具备足够的资源。例如,我们可能需要极低功耗的密码实现,以支持缺乏电源的野外工作,也可能需要极小体积的密码实现,以支持植入极小探测机器人或微型装备,进行人体或动物实验和精密探测。
高安全、高性能和资源受限三者相互矛盾,构成了密码技术不断发展的方向。
三、密码技术的发展与展望
针对密码安全,从基础理论到工程实现都有相关的挑战和解决办法。比如,面对量子计算机呼之欲出的形势,抗量子密码算法就成为当前家喻户晓的密码研究方向。面对黑客攻击手法的不断变革,白盒密码,密钥泄露容忍也成为密码工程与密码理论的研究热点。针对开放协作的需求,多方计算安全也成为当今密码研究的重要课题,如同态密码和混淆密码。
密码高性能实现与密码算法优化等一直是密码工作者们的研究内容。而轻量级密码,低能耗实现等也是应对物联网需求的重要方向。
下文就密码安全方向中的白盒密码和多方协作计算进行分析和展望。
(一)白盒密码适应新的安全假设
白盒密码是一个古老的密码研究方向,到今天再度被提及,是因为该技术代表了一种适合当今时代的新理念。白盒密码基于这样的假设,即敌手能够进入密码系统,并获知密码系统中的所有信息。在这样的假设下设计密码系统并保证密码安全就是白盒密码的主要研究内容。
白盒密码,或者理解为密码系统白盒化,就意味着开放密码系统的体系结构和部分细节,其理由有以下几点:
首先,保障密码系统体系结构不被人知晓(保密),即黑盒假设,难度增加了。硬件和软件的攻击技术不断打破密码系统的边界,使得原本安全的环境和假设不再存在。这种假设与“零信任”的思想是一致的。
对于硬件密码系统来说,过去设立的保密边界很难被打破。但随着硬件分析技术的进步,这种假设在发生变化。过去内容无法读取的密码芯片,利用现在市场上的技术就很容易刨开染色,读取其中的信息,包括电可擦除的信息;高精度的定向探针,也能深入到芯片或硬件内部获取运行时数据;黑客还可以通过设备的电源消耗等侧信道攻击,恢复出设备中的敏感关键信息;通过注入硬件错误或数据错误使设备暂时紊乱从而泄露敏感数据。
对于软件密码模块,包括含有软件的密码模块,其安全边界也非常脆弱。敌手通过系统的漏洞,入侵密码系统;通过身份假冒,绕过系统的访问控制进入系统内核;敌手可以越过进程间隔离,跨进程读取密钥信息;系统的直接内存读取机制、内存数据扩散,如系统休眠时数据从内存到硬盘、存在未清零的动态内存以及软件编程中的漏洞等都给敌手带来获取内部信息的机会。
其次,当密码设备走向大众,随身携带的时候,依靠密码系统的技术保密来支撑安全就变得非常危险。敌手可以通过购买密码设备进行使用或结构剖析;也可以对用户不经意放置的设备进行快速分析;丢失的设备更是给敌手以更多的时间进行分析。先进的黑客技术,能够使市场上的密码产品的系统体系结构很快大白于天下。
密码算法的研究给密码系统安全研究展示了开放的发展途径。同样的密码算法,算法保密肯定比算法公开更加安全。密码科学的发展历史告诉我们,密码算法的公开和标准化所带来的算法安全增益,大大超过了算法公开所带来的安全损失。开放的密码算法不仅仅使得密码更加普及,也使得密码技术更加安全。在算法的公开和标准化的假设下,掌握公开的密码算法对敌手完全没有作用。
白盒安全,不同于过去的黑盒安全,其目标就是在敌人攻入系统、了解全部系统内容的情况下,确保系统安全的技术。如果密码机不存储密钥,只要用户保护好密钥,密码机丢失并不影响密码安全。如果密钥保存在密码机里,白盒密码机制则需要更多的技术防止黑客透过设备分析拿到密钥,密钥隐藏和密钥的泄露容忍就成为这种密码白盒安全的一个重要研究内容。
完全理想的白盒密码安全需要从基础理论到工程实现全方位的突破。主要的白盒密码技术包括以下几种:
混淆技术。通过密钥与算法的混淆,使得交给用户的密码功能是有限的,用户无法获取其他密码功能。一切都是算法,没有密钥或者密钥可以公开,是混淆理论发展的可能方向。把一个混淆的密码功能移交给用户的时候,所有的原理、系统结构和密钥都可以对用户公开。现代的非对称密码给出了这样的示例,例如,用户只能加密,不能解密;用户只能验证签名和不能仿造签名。混淆密码机制需要在非对称的密码理论上有更大的突破,区分出不同的独立的密码功能,确保一个密码功能不影响其他密码功能的安全,从而产生安全的完全白盒化的密码应用。
密钥隐藏技术。密钥隐藏技术是白盒密码的另一个重要思路,其方法是将需要保护的密钥隐藏到复杂的代码中,隐藏在系统中。直接的密钥隐藏技术一般采用密钥拆分技术,通过改变算法流程,将用户的密钥拆分成多个无关的子密钥,隐藏到系统的不同地方。需要密码执行的时候通过调用看似无关的密码函数计算出需要的密码计算结果。密钥分散隐藏到代码中是另一种密钥隐藏思路,需要有好的算法实现密钥与代码的混淆。通过代码混淆使得敌手通过代码分析无法获得算法和密钥,其安全的假设就是完全复制全部的代码是困难的。
尽管密钥隐藏技术依赖工程实现,难以做到完全白盒,但相关密钥隐藏技术已经成为现代密码系统安全的一种必备手段。特别是软件密码模块,不得不使用多种密钥隐藏技术来保护密钥安全。
密钥攻击容忍技术。当密钥隐藏技术被敌人破解的时候,我们是否有能力保证,即使敌手获得了部分密钥,我们的密码系统仍旧是安全的。密钥攻击容忍就是在这样一种白盒假设下的技术思考。密钥攻击容忍是在密钥保护,密钥检测和自毁的基础上对密钥安全的进一步延伸。
子密钥不影响密钥安全的密钥拆分技术是密钥攻击容忍技术的一种技术思路。通过将密钥拆分成多个无关的子密钥,并保证即使敌手获得部分子密钥也不影响原密钥的安全就可以构成一种密钥攻击容忍的解决方案。在密码算法设计上就具备密钥攻击容忍就更具有基础性意义。
白盒密码技术就是在开放条件下的一种密码技术,采用的是开放的假设,具备更好的互联网适应能力。
开放的、白盒化的密码应用技术也是未来的重要方向。通过开放体系结构让建设参与者和使用者明确自己的责任和义务,更好地参与到密码应用系统的安全中来是大型密码应用的基本要求。比特币所依赖的区块链技术,就是一种白盒安全技术的典范。比特币的区块链系统不仅将原理全部公开,其运行的源代码也是完全公开的。这种在完全“开放”的环境下保证系统的安全也许是未来密码应用的主要方向。
(二)多方协同密码计算
多方协同计算的本质就是在不信任的个体间进行协同,产生出各自满意的结果。在可信体系的支持下,协同计算是简单的。以可信计算为基础的可信体系能够确保信息的真实、完整、抗抵赖和合法使用,协同计算相对容易。当信任体系被打破或难以建立的时候,也就是现在的零信任假设下,我们的信任又无法建立,如何合作计算就成为多方协同密码计算的主要研究方向。
同态密码就是两方协同密码计算的代表性工作。甲方通过加密将数据交给乙方,乙方在完全不知道甲方信息内容的前提下,帮助甲方处理数据,返回处于密文状态的处理结果。甲方对处理结果进行解密得到明文的结论。利用同态密码的双方协作不需要建立强的信任关系,将原来加密隐藏的功能与委托计算的功能融合起来,使得对方能够进行计算而无法了解信息内容。
多方协同密码技术,是密码技术从通信保密到计算安全的一种思想变革,需要基础理论研究的大力支持。开放的安全多方协同计算必然会用到非对称的密码机制,以确保对某一方面的密码功能优势。我们要将一种数据的计算能力交给敌手,同时还用保证我们的交给敌手处理的信息的安全。这也是白盒化密码的基本思路。
从理论上说,签名和验签功能的分离就是一种功能拆分的非对称多方密码计算的范例。验证签名的代码和密钥可以完全开放,而只需要保护好自己的签名私钥就行。代理重加密技术可以让一方对信息进行重新加密而不需要了解信息内容;基于身份的加密能够确保只有拥有相应身份的人才能阅读信息。诸多非对称密码学的进展使我们有望在不远的将来拥有更多的多方安全密码计算的手段。
(三)密码技术的发展展望
白盒密码系统,包括入侵容忍的密码和密码应用系统,多方安全的密码协同,是密码系统发展的一个重要方向。密码系统应该确保即使攻击者获得系统结构和部分安全信息,密码系统依旧安全可控。
来源:中国信息安全