爱德华·斯诺登于2013年9月披露的一份文件显示,美国国家安全局每年花费2.5亿美元用于一个名为“SIGINT Enabling”的项目,以秘密破坏加密。此项工作的主要目标之一是在同行评审过程中利用NSA的影响力来削弱NIST和世界各地其他标准机构发布的密码标准。此举引发了密码学团体对NIST密码标准和指南安全性的担忧,其中有报告指出对NIST密码标准制定过程的完整性产生的质疑。基于此,NIST充分意识到开放和透明的流程对于制定最安全、最可信的密码标准和指南的重要性,并于当年11月开始对其批准密码算法的标准制定流程进行正式审查,以回应上述质疑以及后续《纽约时报》有关NSA通过NIST批准的密码算法后门访问加密数据的报道。

此后,通过2014年2月和2015年1月两次向社会公众征求意见之后,NIST于2016年3月发布了《NIST密码标准和指南制定流程》(NIST Cryptographic Standards and Guidelines Development Process, NISTIR 7977)的最终版本,概述了NIST制定密码标准和指南的流程,其中充分表明了NIST旨在制定可用于保护全球信息系统安全的有效性密码标准和指南的决心,以满足利益相关者的普遍需求,并赢得国际信任。

首先,该文件重点提出了指导NIST创建强大且有效的密码标准和指南应当遵循的九项原则,包括透明度原则、开放性原则、平衡原则、完整性原则、技术优势原则、全球可接受性原则、可用性原则、持续改进原则、创新和知识产权原则。基于对社会公众意见的回应与反馈,全球可接受性原则被添加至文件的最终版本,这充分反映出在后斯诺登时代,NIST对其密码标准和指南重新赢得国际信任的迫切需求。

其次,该文件阐释了NIST发布的不同类型的密码标准和指南,包括其常用的三类出版物:(1)联邦信息处理标准(Federal Information Processing Standards, FIPS);(2)NIST特别出版物(NIST Special Publications, SP);(3)NIST内部/机构间报告(NIST Internal/Interagency Reports, NISTIR),并分别对其接受公众审查的方式,以及如何在其生命周期内进行管理作了说明。

再次,该文件将NIST的主要密码利益相关者描述为联邦机构及其供应商等联邦利益相关者、自愿标准制定组织及研究团体。可见,虽然NIST的主要利益相关者是美国联邦政府,但NIST的工作遍及全球范围的公共和私营部门。因此,NIST制定的密码标准和指南既要确保美国产业界在提供这些产品和服务方面具备竞争力,又要致力于确保其标准和指南得到国际认可。

最值得关注的是,该文件还详细列明了NIST密码标准和指南的生命周期管理细节,包括:(1)触发因素——识别和评估需求;(2)公布对标准或指南项目的工作意向;(3)考虑需求和解决方案;(4)制定具体的计划和流程;(5)制定NIST联邦信息处理标准(FIPS)或特别出版物(SP)指南;(6)考虑为SDO贡献的标准和指南;(7)维护标准和指南:审查、更新和撤销。

NIST最后强调指出,其将使用NISTIR 7977中描述的流程和程序来制定未来的密码标准和指南,旨在为其密码标准和指南征求意见提供更加广泛的机会,并最大程度地提高密码标准和指南制定的公开性和透明度。此外,NIST将每五年对NISTIR 7977及其流程和程序进行一次审查,并将在需要时开展更为频繁的审查活动。

本期简报对NISTIR 7977中有关NIST密码标准和指南制定的原则、NIST密码出版物类型及其公众审查方式、程序和生命周期管理的细节进行了翻译整理。主要内容如下:

NIST制定密码标准和指南的原则

NIST确信:强大的、被广泛理解的、参与式的制定流程能够产生最强大、最有效、最可信且被广泛接受的密码标准和指南。NIST密码标准和指南的制定流程遵循以下原则:

(1)透明度原则:所有感兴趣和受影响的各方主体都可以在整个制定过程中获取与标准和指南有关的活动的基本信息。NIST致力于在其密码标准和指南的制定过程中保持透明度,包括重点领域、选择和评估标准、规范、安全性和其他性能特征以及来源等。

(2)开放性原则:所有利益相关者均可参与其中,包括安全专业人员、研究人员、标准制定组织(standards developing organizations, SDOs)和用户都有机会参与标准和指南的制定过程。

(3)平衡原则:NIST力求实现利益相关者之间的利益平衡,通过权衡这些利益关系,以制定安全、高效并促进互操作性的密码标准和指南。NIST征求政府、行业和学术界等广泛的利益相关者代表的意见,以确保其标准是强大且实用的,并满足联邦政府和更广泛的用户群体的需求。

(4)完整性原则:NIST在制定密码标准和指南时充当公正的技术权威角色。在评估、选择和标准化密码算法时,NIST力求在形成和记录其决策时保持客观性。NIST在进行标准的选择和制定过程中,将充分考虑利益相关者的合法利益,与此同时防范可能造成的不良影响。作为标准制定过程的一部分,NIST将避免或适当地管理利益冲突,遵循程序来解决这些冲突带来的风险,并确保对其员工进行适当的培训。NIST不会故意歪曲或隐瞒安全属性,并将尽一切努力确保任何组织对NIST工作的贡献不会损害其推荐的任何机制的安全性。

(5)技术优势原则:NIST在制定密码标准和指南时的决策基于提案的技术优势,同时将安全、隐私、政策和业务纳入考量范围。NIST致力于标准化安全加密算法、方案和操作模式,这些算法、方案和操作模式的安全特性能够被充分理解,并且能够有效地防止其被不当使用,并促进实现互操作性。技术优势的审查包括一份精确的、正式的安全声明,该声明基于最小的安全假设,并尽可能由文档化的密码分析和安全性降低证明来提供支持。在提议算法的征集过程中,NIST要求在制定标准和指南时将上述证明记载于公共记录中。

(6)全球可接受性原则:虽然NIST在密码学领域工作的法定基础在于保护非国家安全的联邦信息系统的需要,但是许多由美国供应商开发并销往全球的信息技术产品和服务都是以NIST标准为基础的。因此,NIST的密码标准既要确保美国产业界在提供这些产品和服务方面具备竞争力,又要致力于确保其标准和指南得到国际认可。

(7)可用性原则:NIST旨在制定密码标准和指南,帮助实施者为其客户创建安全可用的系统,以支持业务需求和工作流程,并可以随时将现有和未来的方案和系统集成。因此,所选择的密码标准和指南,应最大限度地减少对用户和实施者的要求以及人为错误和设备故障导致的不利后果。

(8)持续改进原则:在密码算法的制定与使用期间,鼓励密码学团体识别NIST出版物中规定的算法的弱点、漏洞或其他缺陷。当发现严重问题时,NIST将与更广泛的密码学团体合作解决上述问题。NIST进行研究是为了与时俱进,实现可能影响标准和指南适用性的密码技术进步。

(9)创新和知识产权原则:在为非国家安全系统制定密码标准和指南时,NIST 注意到用户对不受专利技术阻碍的解决方案具有强烈偏好,并且免版税许可条款促进了其制定的密码解决方案被广泛采用。虽然NIST倾向于选择不受知识产权权利限制的算法,但如果技术收益超过实施专利技术的潜在成本,其也可能选择具有相关专利的算法。如果知识产权被纳入标准或指南,NIST 将明确承认和尊重知识产权的价值以及保护知识产权的必要性。此外,NIST认为平衡知识产权持有者与那些寻求利用涉及知识产权技术的使用者之间的权利关系是至关重要的。

NIST密码标准和指南的出版物

NIST使用多种类型的文件来发布和传播其密码标准和指南。常用的NIST出版物包括以下三类:联邦信息处理标准(Federal Information Processing Standards, FIPS)、NIST特别出版物(NIST Special Publications, SP)和NIST内部/机构间报告(NIST Internal/Interagency Reports, NISTIR)。NIST在其计算机安全资源中心(CSRC)网站(http://www.csrc.nist.gov)上公布了密码标准和指南的草案和最终版本,并向所有人免费开放。

(1)联邦信息处理标准(FIPS):根据联邦法规15 U.S.C. 278g-3,FIPS出版物经商务部长批准后由NIST发布,对非国家安全的联邦系统具有强制性。NIST使用其来发布有关基本密码术语(例如分组密码、数字签名算法、哈希函数等)的标准。

(2)NIST 特别出版物(SP):NIST SPs 记录了在计算机和信息安全方面的广泛研究、指南及其推广工作。其中,800系列中的密码指南建立在FIPS以及SDOs和NIST制定的其他出版物中指定的核心加密组件的基础上,有时还指定了其他加密算法、方案和操作模式,并提供了使用指南。例如,800系列中的密码SPs指定了随机位生成器、分组密码操作模式、密钥建立方案和密钥派生函数,这些算法和方案使用FIPS出版物中定义的分组密码、哈希函数和数学术语作为基本构建模块。此外,NIST还发布了有关通过800系列中的SPs选择和使用密码算法的指南。

(3)NIST 内部/机构间报告(NISTIR):NISTIRs描述了专业受众感兴趣的技术研究。NIST并未在NISTIR出版物中指定密码算法。相反,NIST使用NISTIR出版物来传播有关其密码标准工作的信息。计算机安全部(CSD)已使用NISTIR发布研讨会和会议报告、有关密码学新挑战的讨论文件以及密码算法竞赛的状态报告。

尽管密码标准或指南的制定过程因出版物类型不同而有所差异,但是所有包含密码标准或指南的NIST出版物草案都将首先向社会公众发布并征求意见。由于FIPS具有强制性,并且其指定的算法是许多关键安全技术的核心,因此其需要最正式的制定流程。FIPS由NIST制定,由商务部长批准和颁布。FIPS草案和最终版的正式公告发布在联邦公报中。因此,FIPS往往具有相对较长的制定周期。SPs以及大多数与计算机安全相关的NISTIR通常由NIST 发布,其公告发布在CSRC网站上,而不是在联邦公报上,并且与FIPS相比,其具有较短的制定周期。

与密码学团体合作

NIST与产业界、学术界和政府的专家密切合作,以制定其密码标准和指南。自20世纪70年代DES的发展以来,产业界和学术界研究和制定密码技术的团体急剧扩大。

当NIST确定国家趋势和需求时,这些团体可以成为一个主要的驱动因素,以一种积极主动的方式而不仅仅是被动的方式发挥作用。NIST的技术专长、行业知识、组织关系和通过会议与其他主体互动所收集的信息,以及与其他联邦机构、行业和研究人员的直接合作,对于做出这些决定都至关重要。

NIST使用各种方法和流程与上述利益相关者合作,确定需要标准或指南的领域、评估提案并制定标准或其他出版物。作为该领域备受尊敬和值得信赖的技术权威,NIST必须平衡这些需求,以确保其标准和指南在技术上是合理的,并获得团体的信任。保持这种尊重和权威要求NIST必须成为公众值得信赖的管理者,以及推动和识别密码学进步的领导者。

NIST通过以下方式通知利益相关者并引导利益相关者参与:

  • 参与SDO活动;

  • 在专业论坛上定期互动;

  • 公开征求意见;

  • 密码竞赛;

  • 提前宣布在特定领域开展工作的意向;

  • 邀请外部主题专家担任NIST的客座研究人员;

  • 在会议和标准会议上的演讲和讨论;

  • 发布文件草案以供公众审查和评论;

  • 提供有关NIST如何处理评论的反馈。

NIST还通过各种机制来吸引外部研究人员与NIST工作人员进行合作,以增加从外部来源获得专业知识的机会。但是,NIST也存在资源限制,这影响了其可以容纳的客座研究员和访问学者的数量。在这些限制条件下,NIST通过与团体接触、参与讨论、倾听关注点、回答问题、公开重要活动、积极参与密码研究团体以及支持自愿标准制定工作,努力保障利益相关者的知情权。具体的利益相关者包括联邦利益相关者、自愿标准制定组织、研究团体。

密码标准和指南的建议稿与最终稿的公布与审查

NIST努力在其密码标准和指南活动中保持公开和透明,其中包括从NIST确定感兴趣的领域到管理标准或指南的整个生命周期的涉众参与。对标准和指南的建议稿与最终稿的公布与审查是一个关键因素。

NIST公开了其在密码学领域最重要的活动,包括:

  • 制定密码标准和指南的计划,包括向公众寻求有关现有标准和指南或正在进行的制定工作的信息;

  • 邀请公众参与NIST主办的讨论和推进密码学及其标准化主题的研讨会和会议;

  • NIST工作人员参加由其他组织主办的关于密码学和标准化的研讨会和会议;

  • 公布密码标准和指南草案,以供公众审查和评论;

  • NIST对最终出版物的评论和发布予以回应的公告。

所有公告都发布在CSRC网站上。

密码标准和指南的生命周期管理政策和流程

NIST制定了密码标准和指南的生命周期管理的政策和流程,其中包括通过制定、征求和反馈意见和建议,提交标准供SDO考虑以及定期维护和审查(包括更新和撤销对标准或指南的批准)来初步确定和选择需要解决的领域。公众参与是NIST密码标准和指南的整个生命周期管理的基础。流程细节包括:

1)触发因素:识别和评估需求

NIST在最初确定对密码标准或指南的需求时考虑了各种因素,主要包括:

  • 是否有法律或行政命令?NIST根据法定要求和高级行政部门的指令来承担特定领域的工作,其中包括法定授权(例如FISMA)、总统指令(例如第12号国土安全总统指令HSPD-12)和OMB指南(例如M-04-04)。

  • 环境或技术发展是否引发了人们的特别兴趣?技术进步要求NIST在其标准和指南中不断监控算法的强度和有效性,攻击和其他安全漏洞也可能触发事件。研究表明,广泛使用的密码标准存在漏洞,这可能是制定新标准或修订标准或指南的动机。例如,NIST可能会举办研讨会来评估需求,讨论密码研究或提议的算法,或将其作为密码竞赛的一部分。

  • 这是NIST参与的一个引人注目的领域吗?制定新的标准或指南首先应该对联邦政府履行其非国家安全职能、促进美国经济和公共福利的能力有所帮助。预期的工作应具有广泛的适用性,而不是简单地满足一个特定需求。

  • 利益团体是否认为这是一个既重要又实用的问题?这可能包括确定用于解决这些团体面临的类似挑战的现有方法。

2)公布对标准或指南项目的工作意向

一旦NIST确定某一特定领域需要标准或指南,并决定开展某一项目,其将:

  • 通过CSRC网站和其他机制向社会公开项目的需求和拟开展的工作。该公告将提供问题陈述,对制定标准或指南可能采取的方法的审查以及粗略的制定时间表。

  • 通过网站、演示文稿、时事通讯和研讨会征求意见,以及向社会公众公开征求意见。

  • 根据需要发出正式的评论或信息请求。

(3)考虑需求和解决方案

为了确保NIST在流程早期对挑战、需要解决的要求和潜在的解决方案有广泛和深入的了解,NIST将:

  • 确定提议的标准或指南项目的需求和目标,例如,通过确定所需的安全属性和评估潜在解决方案的评估标准。

  • 调查文献和哪些解决方案已被纳入产品和标准中。

  • 确定已经对各种选项进行了何种分析,以及最适当的附加分析。这项工作将包括对密码算法或方案的设计(例如,规范中使用的任何常量)进行分析。

  • 对提议的密码算法或方案进行安全性证明。虽然安全性证明不是考虑的先决条件,但它是分析和审查被评估的密码算法的有用工具,这些算法将被纳入NIST标准和指南。

4)制定具体的计划和流程

NIST有几种方法可以用来满足密码标准或指南的需求,其中包括采用或调整现有的SDO制定的标准,鼓励和参与SDO制定新标准,或制定NIST标准(在某些情况下可能涉及举办密码竞赛)。NIST将征求利益相关者的意见,以确定制定特定标准或指南最适当的方法。在做出决定后,NIST将公开陈述并解释做出这一决定的原因。

(5)制定NIST联邦信息处理标准(FIPS)或特别出版物(SP)指南

(6)考虑为SDO贡献的标准和指南

NIST认识到让SDO采用密码标准和指南的价值。因此,NIST将考虑对SDO的贡献如下:

  • NIST制定的所有FIPS和SP指南都将被视为对SDO的贡献。

  • 优先考虑:产业界正在采用的标准和指南;对国际范围的SDO产生的贡献;满足关键需求的标准,包括来自竞赛产生的标准;基于一致性的标准。

7)维护标准和指南:审查、更新和撤销

由于技术的快速进步,使用这些标准和指南的特定应用程序和资产、威胁环境以及特定部门或组织对风险的容忍度会发生变化,因此必须定期审查和维护密码标准和指南。NIST致力于定期审查和维护所有密码标准和指南。维护包括更新或撤销出版物。当每个标准或指南发布时,NIST将确定何时对其相关性进行审查并进行可能的更新。NIST通常采用以下方法:

  • 定期审查标准和指南。在文件最初定稿时确定计划的审查期间;针对FIPS至少每五年审查一次,如果出现问题,则审查将更频繁。这可能涉及就标准或指南的适用性和流通性征求公众意见,并将使用联邦公报征求对FIPS的拟议更新或撤销的意见。

  • 公开审查结果,包括收到的任何公众意见。

  • 更新或撤销标准或指南。更新涉及对文件进行修订。撤销可能是立即采取的措施,也可能是分阶段采取的措施。被撤销的标准或指南的某些技术内容可能会转移到另一个新的或现有的标准或指南中。对现有FIPS收到的评论的分析将发布在联邦公报和CSRC网站上;对现有SPs的评论和意见将发布在CSRC网站上。NIST还将公布其对任何维护工作(如文件更新或撤销)的决定。

本期翻译:赵婧琳

撰稿、校对:方婷

声明:本文来自苏州信息安全法学所,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。