寰球密码简报(第20期)丨NIST发布《向后量子密码迁移》简报
作为实现网络安全最为有效的方法,密码技术能够在不安全的通信环境下对系统及其数据提供安全保障,以防止未经授权的访问、篡改、伪造和抵赖等。目前,很多国家(包括我国在内)的安全立法已经明确建立密码强制使用制度,要求在关乎国家安全和公共利益的信息系统中必须部署密码方案,以提升可预期的安全性。同时,大量的商业应用(包括产品和服务)也在同步使用先进密码技术,以在业务过程中提升消费者信心。密码技术已经逐步成为现代信息社会的底层支撑技术,并且,这种依赖性将随着全球网络安全风险的泛化而变得更为突出。
上述社会的“技术信任”在很大程度上需要建立在密码自身安全的基础之上,这意味着,密码技术的抗攻击性和抗风险性将变得至关重要。如果不考虑密钥管理中“意外披露”的问题,“强健”的密码算法就成为整个安全议题的核心。在现代密码体制中,理论上,任何密码算法均存在被暴力破解的可能(例如根据已知信息,求出密钥),为此,密码安全要求算法对于计算能力应当具备“难解性”。例如,56位的DES将存在超过7200万亿种不同的密钥可能,这对于当时的计算能力来说几乎是不可能通过“穷举”来破解的,DES在开发之初便被认为在几十年内是不可攻破的。但随着计算能力的飞速发展,算法破解所需要的时间成本和系统代价均会显著下降,使密码本身变得不再安全,例如,现代计算机对相同56位DES的暴力破解可能只需要花费数分钟到数小时。
可以简单的认为,密码安全问题就是算法构筑的“难解性”与计算能力之间的博弈。但这一传统的攻防关系随着量子计算的成熟而变得不再稳定,量子计算的强大计算能力将使现有的绝大部分公钥密码算法被攻破,后量子密码(Post-Quantum Cryptography)或称抗量子密码(quantum-resistant cryptographic)的概念也就应运而生。简而言之,后量子密码是指那些能够抵抗量子计算破解,在强大计算能力中“存活”下来的新一代密码算法,其被认为很可能将在未来的5到10年内逐渐替代现有的加密算法。
针对后量子密码的研究无疑是一项预判式的防御性研究,但这一策略显然是极为重要的,因为自全球首台商用量子计算机发布以来,量子计算的发展可谓日新月异。仅仅就在几天前,欧洲首台商用量子计算机Quantum System One 在德国举行了开机仪式,这也是在工业背景下全球首个量子计算系统。没有人知道,足以重塑现代信息通信技术的量子计算时代会何等迅速的到来。在此方面,美国国家标准与技术研究院(NIST)已经做出了许多卓有成效的贡献,其在《后量子密码报告》(Report on Post-Quantum Cryptography)中明确表示,抗量子公钥密码的标准开发工作已经在进行中,其算法选择的过程也在同步推进,并预计将在1-2年内完成。同时,美国国家网络安全卓越中心(NCCoE)也实施了一些支持项目,以提高和加深公众对后量子密码所涉及相关问题的认识。NCCoE正在与NIST后量子密码标准化团队和国土安全部(DHS)的网络安全和基础设施安全局(CISA)团队合作,建立成熟的加密应用社区。NSIT所预言的“后量子密码时代”可能真的离我们已经不远了。
2021年6月,NIST发布了新的《向后量子密码迁移》报告(MIGRATION TOPOST-QUANTUMCRYPTOGRAPHY),该报告可以被视为一套指导标准,用以指导和帮助相关组织快速识别需要对后量子密码进行更新的安全领域,该报告为开发完整的后量子密码标准并实施抗量子密码替代流程奠定了基础。该报告毫不讳言的指出,由于当前大部分信息系统缺乏加密灵活性,量子计算的持续发展可能预示着一种特别具有破坏性的密码替换进程,需要提前进行部署和应对。通过建立某些 “发现工具”(discovering tools),该报告明确了在向后量子密码迁移过程中需要实施的主要工作,并且通过场景式的描述,列明了组织在五种不同的传统密码技术情况下,应当如何稳定而有效地向后量子密码进行迁移。
本期简报对NIST报告中的核心内容进行了梳理,内容如下:
一、背景
NIST认为,密码技术在整个政府和产业中被用于保护通信和存储的信息的机密性和完整性。密码算法是这些密码技术的核心引擎。有时,由于发现密码弱点或支持密码分析的技术进步,有必要对密码算法进行替换。我们所依赖的大多数密码算法已经在全球范围内被用于不同的通信、处理和存储系统组件中。虽然某些系统组件可能被相对频繁地被改进型组件所替代(如手机),但其他很多系统组件则可能预计保留十年或更长时间(如发电和配电系统组件)。此外,通信互操作性和文档化管理的需要对系统组件的替换也附加了额外限制。一般来说,在所有系统组件都做好替换准备之前,加密算法是不能被替换的。在引入新的加密算法时,必须首先实现对协议、方案和基础设施的更新。因此,算法替换可能具有极大的破坏性,通常需要数十年才能完成。
量子计算的持续发展可能预示着一种特别具有破坏性的密码转换(cryptographic transition),所有广泛使用的公钥密码算法都容易受到脆弱性的影响,当网络对手可以使用量子计算能力时,将破坏几乎所有现代公钥密码系统的安全性。这意味着现在使用公钥密码算法保护的所有密钥,以及在这些密钥下保护的所有信息都将暴露,信息源也将变得不可靠。除非能够使用不易受到基于量子计算攻击的机制对其进行处理或封装(例如,重新签名或时间戳)。为此,NIST明确警示到,量子计算技术的出现和发展将危及当前的许多密码算法,尤其是公钥密码算法。
但NIST认为许多现存的信息系统缺乏加密灵活性,因为在不对系统基础设施进行重大更改的情况下,这些信息系统的设计并不能为新加密算法的快速适应提供支持。因此,一个组织可能无法完全控制其加密机制和过程。遗憾的是,NIST并不认为目前有合适的指导方针可以帮助现有密码技术加速向抗量子密码技术迁移的需要。作为这一历史性任务的起点,NIST需要实施一些新的策略更新计划,包括:
•识别需要更新或替换的FIPS、SP-800系列标准和其他指南;
•识别需要更新或替换的ISO/IEC、IEEE、TCG等标准化组织制定的标准;
•识别需要更新或替换的IETF和其他网络协议标准。
量子安全算法的实现需要识别当前使用的硬件和软件模块、库和嵌入式代码,以支持加密密钥的建立和管理,这也是密码技术保护信息和访问管理过程安全的基础。
为此,NIST发布了本份报告,提供了一些发现工具,这些工具可以提供自动化帮助,以确定在硬件、固件、操作系统、通信协议、加密库中使用公钥加密的位置和方式,以及在本地或云数据中心、分布式计算和网络基础设施中使用的应用程序。一旦确定了组织中使用的公钥加密组件和相关资产,该报告的另一个目标是帮助组织提供的风险管理方法,为不同类型的资产和底层支持技术从“易受攻击的算法”迁移到“抗量子算法”提供系统性方法。
例如:
•每一个生产、支持或使用公钥密码的组织可能会进行一次清查,以确定哪些系统和组件使用以及如何使用公钥密码;
•在组织内部以及与客户和合作伙伴之间存储或交换的易受量子攻击信息可能会根据其关键性、敏感性以及篡改的后果进行分类;
•组织可以与政府和行业开展合作,了解新出现的抗量子密码标准和产品、其技术和操作特征、已经替换传统系统和组件的预期时间框架;
•组织可以与公共和私营部门的专家和提供商合作,将新兴的抗量子密码算法应用到协议和技术中。还可以与公共和私营部门的专家和供应商合作,确定其依赖密码的系统对替换系统和组件施加的任何技术限制,并解决任何不兼容问题;
•组织应与服务提供商、合作伙伴和客户合作,协调采用必要的技术解决方案,以保持互操作性,并满足有关信息内容安全和信息分发连续性的现有协议;
•组织可以与其技术供应商合作,建立符合企业优先事项和计划的采购程序。
二、加密算法替换
NIST在该份报告中明确建立了加密算法替换中通常需要进行的工作:
•确定遗留算法的存在
•了解加密库的数据格式和应用程序编程接口,以支持必要的更改和替换
•识别实现或加速算法性能的硬件
•识别使用算法的操作系统和应用程序代码
•识别具有易受攻击协议的所有通信设备
•识别加密协议对算法特性的依赖性
一旦组织发现在何处使用了公钥加密,组织就可以确定相关的使用性能,例如:
•当前密钥规格和影响未来密钥规格和签名规格的硬件/软件限制
•延迟和处理量阈值
•用于加密协商(crypto negotiation)的过程和协议
•建立握手协议(handshake protocols)的密钥
•每个加密过程在堆栈中发生的位置
•如何调用每个加密进程(例如,通过调用加密库、使用嵌入在操作系统中的进程、调用应用程序、使用加密即服务)
•是否实施支持加密灵活性的概念
•是否可以通过软件更新实施
•每个加密硬件/软件/过程的供应商和所有者
•密钥和证书的来源
•供应商附加的合同和法律条件
•实施是否需要在加密模块验证程序下进行验证
•实施的支持寿命或预期寿命
•迁移对知识产权的影响
•受保护信息的敏感性
但是,新算法很可能并不会被引入,由于在密钥规格、签名规格、错误处理属性、执行算法所需的执行步骤数量、密钥建立过程复杂性等方面的差异,新算法可能不具有与旧算法相同的性能或可靠性特征。一旦组织继续选择了对算法进行替换,一些额外因素需要被考虑,包括:
•制定基于风险的方法,考虑到安全要求、业务运营和任务影响
•开发实施验证工具
•确定对于在迁移期间维护互操作性的必要过渡情况
•更新开发人员、实施人员和用户的流程和程序
•制定沟通计划,用于组织内部以及与外部客户和合作伙伴的沟通
•确定迁移时间表和必要的资源
•更新或替换安全标准、程序和推荐实践文件
•明确采购要求,以获取量子安全技术
•提供安装、配置和管理文档
•测试和验证新流程和程序
三、演示场景(DEMONSTRATION SCENARIOS)
NIST在该份报告中提供了五种不同的量子安全密码发现场景(这些场景可以被认为是针对不同密码技术应用场景的差异化方案),每个场景都涉及到识别量子脆弱性密码(quantum-vulnerable cryptography)的方案,每种方案还涉及替换量子脆弱性密码或消除对量子脆弱性密码依赖性方法。
场景1:采用量子脆弱性公钥加密的FIPS-140验证硬件和软件模块
·第一步涉及识别组织中使用量子脆弱性公钥加密的FIPS-140验证硬件和软件模块;
•确定每个模块的用途;
•如果该模块用于保护特定数据集或流程,则应随后评估受保护信息或流程的重要性。根据模块的使用目的和保护内容,确定需要进行密码替换的模块优先级;
•由于并非所有模块都能在同一时间段内进行更换,因此需要制定一个替代计划,以适应分阶段或多步骤的模块更换过程。当然,并非所有的替换都必须使用新的公钥算法。例如,在某些情况下,使用keyed hash可能会在适用和可用的模块中实现相同的目的;
该场景的结果将是确定一组量子脆弱性组件,根据记录的风险评估确定替换的优先级,并确定每个组件的迁移/补偿策略。
场景2:包含量子脆弱性公钥密码的库
•此场景的初始步骤是识别一组加密库,这些库通常用于加密软件的开发;
•然后将审查这组具有代表性的库,以确定是否存在对与量子脆弱性公钥算法相关的例程的调用;
•需要对这些库进行审查,以确定其是否还包括由NIST后量子密码标准化过程选定的抗量子算法或支持组件;
•如果库中不包含对NIST选定算法的支持,则将对库进行识别,以实现库中量子脆弱性例程的一个或多个功能;
•如果库中确实包含对NIST选定算法的支持,则建议确定算法或算法元素是否支持NIST选定算法的正确实现;
•尝试确定最常用的库。
该场景的结果是识别仅支持量子脆弱性算法的常用加密库,识别支持一个或多个NIST选定算法的加密库,对识别选定算法/模式进行注释,以及标记已知恶意软件或其他安全相关编码缺陷的库。
场景3:包含或基于量子脆弱性公钥密码的加密应用程序和加密支持应用程序
·此场景中的初始步骤是识别和选择示例加密应用程序和加密支持应用程序,这些应用程序包括或依赖于量子脆弱性公钥密码;
•确定每个应用程序(例如密钥协议、密钥封装、数字签名、身份验证)中量子脆弱性算法支持的加密功能。作为该步骤的一部分,应根据每个应用程序的可用性,对系统安全依赖性进行标记(例如使用者标识、访问授权、传输中数据的机密性);
•确定依赖于各应用程序的任何信息交换和处理协议;
•确定使用各应用程序的信息技术或操作技术环境,并将与应用程序故障或不可用性相关的FIPS 199风险进行分类。确定任何补偿控件,以代替不可用或不起作用的应用程序;
•确定各应用程序所需或限制的算法特征(例如,密钥规模、支持的操作模式、容错性、延迟);
•然后,根据NIST后量子标准化过程的算法,确定哪些候选算法(如有)满足各应用程序的算法特征要求,并标记没有候选算法可以满足要求的应用程序;
该场景的结果是按风险类别、功能关键性和依赖系统和流程的应用程序进行列表。对于每个应用,应确定候选替换算法和/或补偿控制。对于无法识别合适算法或补偿控制的情况,应当进行标记。
场景4:嵌入量子脆弱性密码的计算平台
•该场景的第一步是识别操作系统环境(例如,Microsoft Windows、Red Hat Enterprise Linux、macOS、iOS、Android),操作系统代码、访问控制实用程序代码、加密完整性应用程序和机制中嵌入的量子脆弱性密码技术;
•对各操作系统环境,确定并记录其使用范围,并列明相关企业和基础设施的示例。
•对于所识别各操作系统环境,应使用自动化工具来识别量子脆弱性密码;
•对于确定的各实例,应评估代码的关键性,以确定系统的功能(例如,是否存在不需要代码的设置,不调用代码的安全后果如何);
•对于各量子脆弱性密码实例,应确定代码所需或受其限制的算法特征(密钥规格、支持的操作模式、容错性、延迟等);
•应根据NIST后量子算法标准化过程考虑的算法,确定哪些候选算法(如有)满足各代码实例的算法特征要求,并标记没有候选算法可以满足要求的实例。
该场景的结果是形成一个包含所有已识别的量子脆弱性公钥密码的列表,对于各代码实例提供以下信息:
·代码的位置和目的;
·确定适合替换量子脆弱性密码的候选NIST算法,以及该替换可能对预期系统功能性能的影响;
·简单删除代码或任何可能缓解方法的后果;
·建议替换或其他缓解措施的优先级;
·标记既不替换也不删除的情况。
场景5:在不同行业广泛部署的采用量子脆弱性加密算法的通信协议
·该场景需要搜索美国服务提供商和金融、医疗、能源、交通和其他行业的代表性企业使用的通信和网络标准中的量子脆弱公钥算法,并记录实例;
•应描述协议的使用情况及其支持的应用程序;
•对于各文档化的实例,应确定其所需或受其限制的算法特征(密钥规格、支持的操作模式、容错性、延迟等);
•对于各文档化的实例,应根据NIST后量子算法标准化过程考虑的算法,确定哪些候选算法(如有)满足各代码实例的算法特征要求,并标记没有候选算法可以满足要求的实例。
该场景的结果是形成一个协议列表,根据其应用的广泛程度(用户的大致数量、大小和影响)进行优先排序。对于每个协议,应提供以下信息:
·协议标识;
·负责维护协议的组织;
·协议应用程序空间(由谁使用,用于什么目的);
·协议采用的量子脆弱性算法。
附:参考资料
Migration to Post-Quantum Cryptography: Draft Project Description Available for Comment
https://csrc.nist.gov/News/2021/migration-to-pqc-draft-project-description
(本期翻译、撰稿:马 宁,校对:何治乐)
关于“寰球密码法律政策发展动态简报”
为深入研讨我国密码法相关制度与现实挑战,凝聚国内外密码与网络安全精英,合力推动我国密码产业发展,苏州信息安全法学所密码法研究中心特别编辑“寰球密码法律政策发展动态”简报,供政府、产业及学术同仁参考。以期联合政产学研力量,为我国密码工作在法治轨道上稳步前行提供智力支撑。编委会、编辑部采取开放组织形式,欢迎各界同仁予以各种方式积极参与和支持,踊跃投稿!
主 编:马民虎
副 主 编:黄道丽 朱莉欣
责任编辑:原浩 赵丽莉 马宁 方婷 何治乐 冯潇洒 谢永红 赵婧琳 郝静雯
联系电话:0512—69562805,13771998064
投稿邮箱:xieyonghong2015@xjtu.edu.cn
编委会及首届成员简介
2021年5月25日,寰球密码法律政策发展动态编委会在苏州正式成立。编委会为创新学术团体,设立主任一名,委员若干名,每届任期两年。目前,编委会正式聘任委员共24名,分别来自科研机构、高等院校和大型互联网企业等。编委会的职责定位于联合政产学研力量,发挥学术优势,提升我国密码产业发展,为国家密码管理部门提供战略性立法建议和决策咨询,为密码产业、行业安全发展提供合规指引。当下,编委会的常态化工作之一是编撰“寰球密码法律政策发展动态”简报(周刊),供政府、产业及学术同仁参考。
编委会主任:马民虎 编委会委员:白小勇 陈欣新 陈恺 傅彤 顾伟 关非 黄道丽 李振 林鹏 任国强 王思锋 王克 邢少敏 肖志宏 袁慧萍 原浩 杨庆华 翟起滨 张薇 赵宏瑞 朱莉欣 赵丽莉 张丛
注:委员名单按姓氏笔画排序,排名不分先后。
往期简报回顾
“苏州信息安全法学所”