密钥管理1、密钥种类及分级保护1.1、密钥的种类1.2、密钥的分级保护2、密钥的协商与分配2.1、基于对称密码体制的密钥分配2.2、基于公钥密码体制的密钥分配3、Diffie-Hellman密钥交换3.1、D-H密钥交换的理论基础3.2、D-H密钥交换算法描述3.3、D-H密钥交换算法的应用4、密钥管理机制4.1、密钥管理基础设施KMI4.2、公钥基础设施PKI4.3、授权管理基础设施PMI密钥是密钥算法在对信息进行加解密变换时所使用的秘密参数是密码系统安全的核心要素需强化安全管理。密钥管理涵盖内容广泛虽有时与“密码管理”混用但其内涵更聚焦于密钥全生命周期的关键问题而密码管理通常指向更宽泛的范畴如密码政策制定、密码测评等​。密钥管理的核心研究对象覆盖密钥从生成到销毁的全流程具体包括密钥生成、分配协商、保护存储、更换注入、吊销销毁等关键环节。密码管理政策则聚焦密码管理的法规制度层面典型如我国《中华人民共和国密码法》​密码测评是对密码产品的安全性、合规性开展评估以验证其安全效能。本章重点围绕密钥管理展开探讨。密钥管理的核心目标有二其一保障密码系统对密钥的安全使用与动态维护其二确保密钥自身的绝对安全。1、密钥种类及分级保护密钥管理是支撑机密性、完整性、消息认证、实体认证、数字签名等密码安全技术的基础。密钥作为密码算法的核心参数功能类比日常钥匙负责实现明文与密文间的变换操作。根据柯克霍夫Kerckhoffs假设密码算法的安全性本质上依赖于密钥保护而非算法本身的保密——密码算法可公开密码设备可能遗失同型号设备仍可持续使用但密钥一旦丢失或失效不仅合法用户无法恢复明文更可能导致非法用户窃取信息。由此可见密钥的保护与安全管理在实际应用中至关重要。1.1、密钥的种类在密码学中对称密码主要包括分组密码和序列密码有时也将哈希函数和消息认证码归入此类其对应密钥统称为对称密钥。公钥密码体制则存在公钥与私钥之别称之为非对称密钥有时也包括基于公钥密码的数字签名和一些密钥交换算法。因此从算法角度可将密钥分为3类对称密钥、公钥、私钥。对密钥的保护既要确保其完整性又必须保证私钥和对称密钥的机密性。若按用途划分密钥又可分为以下几种。1基本密钥基本密钥Base Key​又称初始密钥PrimaryKey​可用kp表示是用户选定或由系统分配、在较长时间相对会话密钥内由一对用户所专用的密钥故又称为用户密钥User Key​。kp既要求安全又要便于变换能够在确定的范围内配置在规定的时间更换。2会话密钥会话密钥Session Key是两个通信终端用户在一次通信或数据交换中使用的密钥记作ks。当用它对传输的数据进行保护时称为数据加密密钥当用它保护文件时称为文件密钥。会话密钥的作用是使用户可以不必很频繁地更换基本密钥有利于密钥的安全及管理。会话密钥一般是动态地、仅在需要进行对会话数据加密时才产生可由用户双方预先约定或动态生成也可以由系统动态生成并赋予通信双方。通常ks由通信双方专用故又称为专用密钥。会话密钥一般是对称密钥因为加密和解密使用同一密钥。在实际应用中基本密钥kp常与会话密钥ks通过混合器共同参与或控制密码变换即由某种算法构造的密钥生成器产生用于加密数据的密钥流且每次会话均更换会话密钥。3密钥加密密钥密钥加密密钥Key Encrypting Key是指对传送的会话密钥进行加密时采用的密钥也称为次主密钥或辅助二级密钥用ke表示。通信网络中每个节点都分配一个ke。为了安全起见各节点的密钥加密密钥应互不相同。在主机和主机之间以及主机与各终端之间传送会话密钥时都需要有相应的密钥加密密钥。4主机主密钥主机主密钥Host Master Key是用于对密钥加密密钥实施加密保护的密钥存储于主机处理器中用km表示。除上述几种密钥类型外还包括用户选择密钥用于保障同一类密码机不同用户使用差异化密钥​、族密钥、算法更换密钥等。此类密钥的核心作用在于在不显著增加密钥更换工作量的前提下有效扩展可用密钥的容量。1.2、密钥的分级保护保障密钥安全具有关键意义。除密钥分配环节需实施保护外密钥的使用与存储环节同样需要确保安全。保护密钥最直接的方式是将其存储于物理环境安全或运行可靠的介质中。若难以实现安全可靠的环境条件则可引入密钥分级保护机制。通常密码系统采用三级密钥管理架构层级由高至低依次为主机主密钥、密钥加密密钥、会话密钥或文件密钥​如图3.8所示。具体而言①主密钥终身固定用于标识密钥机的核心特征承担对密钥加密密钥的加密保护功能②密钥加密密钥按周期更新其动态性在通信过程中体现用户身份特征用于对会话密钥实施加密③会话密钥按单次会话生成并更新其临时性特征用于界定会话边界实现会话隔离。密钥分级保护是密钥管理的核心手段实施分级保护是保障密钥系统安全的必然要求。分级密钥保护机制有助于提升密钥系统的整体安全性。当少量处于高层级的主密钥注入系统后下级密钥可在上级密钥的保护下依据系统密码协议动态更新从而使密钥系统形成动态运行机制有效提升攻击难度。密钥分级管理遵循“层级越低更换越频繁”的原则。通过密码算法实现上级密钥对下级密钥的加密保护可确保下级密钥丢失时不影响上级密钥安全最大限度降低安全风险。密钥管理分级保护架构的选择与应用场景密切相关部分场景可采用两级架构即主密钥与工作密钥。工作密钥可直接供上层应用程序调用具体包括存储加密密钥、预共享密钥、MAC密钥、签名私钥等类型。实际应用中三级或两级管理架构的选择需根据安全产品所涉及加密场景的复杂程度来确定。针对复杂加密场景建议采用三级管理架构。2、密钥的协商与分配毫无疑问所有密码系统的安全性均依赖于密钥——密钥是决定整个密码体制安全强度的核心要素。在密钥的全生命周期中每个阶段都至关重要其中密钥分配与存储往往是最具挑战性的问题而密钥分配更是密码系统设计的关键环节。2.1、基于对称密码体制的密钥分配非对称密码体制的优势在于无需预先交换密钥即可建立安全信道但其加密和解密效率通常低于对称密码如RSA算法的效率显著低于DES、AES等对称密码算法​。因此在实际应用中对称密码多用于加密“长消息”​而密钥的安全交换仍需依赖密钥交换协议解决。此类协议中通常需要引入可信权威机构如可信第三方、认证服务器、密钥分配中心KDC​、密钥交换中心等​由其承担用户身份认证、证书颁发、密钥初始化等职责。当两个用户包括主机、进程或应用采用对称密码体制通信时首先需建立共享的秘密密钥且为防范攻击者窃取该密钥需定期更新。因此对称密码系统的安全强度与密钥分配技术直接相关。一般而言用户A与用户B获取共享密钥的典型方法有以下4种用户A自主选取密钥通过物理手段传递给用户B。由可信第三方选取密钥通过物理手段分别传递给用户A和用户B。若用户A与B已共享一个初始密钥其中一方生成新密钥后通过已有密钥加密并发送给另一方。若用户A、B与可信第三方C两两之间存在独立保密信道C可为A、B生成密钥并通过各自保密信道分别发送。前两种方法属于人工密钥分发。在通信网络中若仅个别用户需要保密通信人工分发密钥是可行的但当所有用户均要求支持加密服务时任意两个通信用户都需共享唯一密钥——假设有n个用户则密钥总数为nn-1/2。显然当n较大时人工分发的成本将急剧攀升不再适用。第三种方法存在明显缺陷若攻击者窃取用户某一初始密钥即可推导出后续所有密钥此外为所有用户分配初始密钥的成本同样高昂。第四种方法是实际应用中较为常见的方案其中第三方通常为专门的密钥分配中心KDC​。在此架构下每个用户需与KDC共享一个主密钥KDC通过主密钥为用户生成会话密钥用于二者间的保密通信通信结束后会话密钥即被销毁。若网络用户规模大且分布广泛单一KDC难以承担全局密钥分配任务时可采用多级KDC的分级管理结构。2.2、基于公钥密码体制的密钥分配公钥密码体制的核心应用之一是为对称密码系统提供密钥分配支持。其密钥分配方法主要包含以下类型。1公开发布公开发布是指用户将自身公钥主动发送给其他用户或向特定团体广播。例如广泛应用的优良保密协议PrettyGood Privacy, PGP采用RSA算法其用户常将公钥附加于消息后发送至公共区域如互联网邮件列表​。该方法虽操作简便但存在显著缺陷——任何主体均可伪造公开发布的公钥信息。2公用目录表公用目录表由可信实体构建并维护动态公钥目录用于发布注册用户的公钥信息。目录由该实体的管理员定期更新 并公布用户可通过电子方式访问查询。相较于公开发布此方法安全性有所提升但仍面临潜在攻击风险。若对公钥目录的分配规则施加更严格控制如限制修改权限、增加审计机制​可进一步增强其安全性。3公钥管理机构公钥管理机构与公钥目录表机制类似由专门机构为用户构建并维护动态公钥目录。注册用户均已知悉该管理机构的公钥而管理机构持有对应私钥并通过密钥分配协议如Needham-Schroeder公钥协议实现双方实体认证与密钥互认。4公钥证书尽管公钥管理机构能提供密钥分配服务但其作为集中式枢纽可能成为系统瓶颈且目录表易受篡改攻击。因此实际应用中更常用公钥证书实现密钥分配——用户通过证书直接交换公钥无需依赖管理机构。公钥证书由证书管理机构CA签发包含与用户私钥匹配的公钥、用户身份信息、时间戳等数据项所有信息经CA私钥签名后形成完整证书。此方法不仅能确保密钥信息的机密性还能通过CA签名实现信息源的身份认证如X.509数字证书即具备此功能​。完成公钥分配后用户即可利用公钥密码体制开展保密通信。需注意的是公钥加密因效率较低通常不直接用于大规模数据加密但其核心优势在于高效支持对称密码体制的密钥分配。3、Diffie-Hellman密钥交换1976年Diffie与Hellman在论文《密码学的新方向》中首次提出密钥交换算法简称D-H密钥交换算法或协议​。该算法的核心目标是使通信双方在非安全信道上安全交换共享密钥为后续通信提供加密密钥支持。作为最早的密钥交换算法之一D-H协议已被广泛应用于商业产品中。3.1、D-H密钥交换的理论基础D-H算法的安全性依赖于离散对数问题的计算困难性。其理论基础可通过以下定义展开首先定义素数p的本原根。如果整数a是素数p的一个本原根对于正整数gcda, p1如果a是模p的本原根那么a是整数模p乘法群的一个生产元​且其幂可以产生1p-1之间的所有整数也就是说若a是素数p的本原根则a mod p,a2mod p…ap-1mod p是各不相同的整数且以某种排列方式组成了从1p-1所有整数的一个置换。如果对任意整数b和素数p的本原根a都可以找到唯一的指数i使得b≡ai modp, 0≤i≤p-1​那么指数i称为b的以a为基数的模p的离散对数记为d loga, pb​。D-H算法的含义是当已知大素数p和它的一个本原根a后对给定的b要计算i被认为是很困难的而根据给定的i计算b却相对容易。3.2、D-H密钥交换算法描述设用户A、B两者进行通信前需要交换密钥首先A、B共同选取素数p及其本原根ap和a均公开​。之后用户A选择一个一次性的私有密钥XAXAp​计算出公开密钥YA并将其发送给用户B。同样用户B选择一个私有密钥XBXBp​计算出公开密钥YB并将其发送给用户A作为响应。用户A和B各自收到对方的公钥后A用YB和XA计算出共享密钥K, B用YA和XB计算出共享密钥K。整个D-H密钥交换流程如图所示。基于本原根的定义及性质可以描述D-H密钥交换算法如下有两个全局公开的参数一个素数p和一个整数a, a是p的一个本原根。假设用户A和B希望交换一个密钥用户A选择一个作为私有密钥的随机数XAXAp​并计算公开密钥[插图]。A对XA的值保密存放而使YA能被B公开获得。类似地用户B选择一个私有的随机数XBXBp​并计算公开密钥[插图]。B对XB的值保密存放而使YB能被A公开获得。3用户A产生共享秘密密钥的计算方式是[插图]。同样用户B产生共享秘密密钥的计算方式是[插图]。这两个计算产生相同的结果[插图]因此相当于双方已经交换了一个相同的秘密密钥[插图]。因为XA和XB是保密的一个敌对方可以利用的参数只有p、a、YA和YB。因而敌对方被迫取离散对数来确定密钥。例如要获取用户B的秘密密钥敌对方必须先计算XBInda, pYB​然后使用用户B采用的同样方法计算其密钥K。D-H算法的安全性依赖于这样一个事实虽然计算以一个素数为模的指数相对容易但计算离散对数却很困难。对于大的素数计算出离散对数几乎是不可能的。例如密钥交换中所使用的素数pp353和aa3是353的一个本原根​A和B分别随机选择私有密钥XA159和XB21分别计算其公开密钥YA≡3159mod 35377; YB≡321mod 353219。在A和B相互交换公开密钥后各自通过计算得到共享密钥K≡[插图][插图]。如果攻击者能够获得p353、a3和公开密钥YA77、YB219要计算出138是一个难解问题。当然用穷举法确定密钥138也是可能的。特别地攻击者也可以通过寻找方程3amod 35377或3pmod 353219的解来确定该公共密钥。使用穷举法需要计算3模353的若干幂当计算结果等于77或者219时则停止。因为3159mod35377所以指数为159时可以得到期望的结果。但对于较大的数这种方法实际上是不可行的。3.3、D-H密钥交换算法的应用D-H密钥交换算法是一种确保共享密钥安全穿越不安全网络的方法其核心目标是完成通信双方对称密钥的安全交互。该算法的巧妙之处在于即使在不安全环境存在监听者下密钥信息也不会泄露基于此密钥通信双方可进一步开展加密与解密操作。目前D-H密钥交换算法已广泛应用于网络通信领域例如HTTPS协议采用的TLS传输层安全协议和IPsec协议采用的IKE互联网密钥交换协议均以D-H密钥交换作为核心密钥交换算法。需特别指出的是D-H密钥交换算法仅用于密钥交换无法直接实现消息加密和解密且存在以下两点局限性其一算法未提供双方身份的认证信息因此无法抵抗中间人攻击其二算法具有计算密集型特征若攻击者发起大量密钥请求被攻击者将耗费大量计算资源求解无用的幂次方而非执行实际业务操作。4、密钥管理机制密钥管理不仅直接影响系统安全性还涉及系统可靠性、有效性与经济性因此在信息安全领域占据日益重要的地位。当前主流密钥管理机制主要分为3类适用于封闭网络的集中式密钥管理中心KMI机制、适用于开放网络的公钥基础设施PKI机制以及我国的授权管理基础设施PMI机制。4.1、密钥管理基础设施KMI密钥管理基础设施Key Management Infrastructure,KMI是一种集中式密钥管理机制由密钥管理中心Key Management Center, KMC提供统一的密钥管理服务其核心组件包括密钥生成服务器、密钥数据库服务器及密钥服务管理器等。KMI基于秘密通道物理通道实现密钥分发经历了从静态分发到动态分发的技术演进目前已成为专用网中应用较为广泛的密钥管理方案。1静态分发静态分发是在KMC与所属用户建立信任关系的基础上由KMC统一生成、分发和更换密钥的预配置技术。其主要配置结构包括以下3类。点对点密钥配置结构支持单钥或双钥实现。单钥模式可为身份鉴别提供可靠参数但无法支持不可否认服务数字签名等场景需依赖双钥模式。一对多密钥配置结构星型密钥配置结构​支持单钥或双钥实现是点对点分发的扩展形式。该结构中密钥管理中心集中保留所有终端的密钥各终端仅保留自身密钥。一对多密钥配置在银行清算、军事指挥、数据库系统等领域仍为主流技术也是构建秘密通道的主要手段。格状网密钥配置结构端到端密钥配置结构​支持单钥或双钥实现密钥配置数量为全网终端中任意两端组合的数量。2动态分发动态分发是一种“请求-分发”机制与静态分发相对应的电子分发模式​主要用于实时通信中会话密钥的建立。该机制在一定程度上缓解了密钥管理规模化带来的矛盾主要包含以下两种分发方式。基于私钥的单钥分发其特点是通过静态分发预先配置的星型密钥结构主要解决会话密钥的分发问题操作简单易行。基于私钥的公钥分发其特点是将公私钥对均视为秘密变量或分离处理私钥作为秘密变量、公钥作为公开变量​通过动态请求实现密钥分发。4.2、公钥基础设施PKI公开密钥基础设施Public Key Infrastructure, PKI是遵循标准化规范的密钥管理平台适用于开放性网络环境。PKI能够为所有网络应用提供加密、数字签名等密码服务以及所需的密钥与证书管理功能从而保障互联网信息传递的安全性、真实性、完整性与不可抵赖性。通过PKI可便捷构建并维护可信的网络计算环境使用户在无法直接交互的场景中能够确认彼此身份及交换信息的安全性进而安全开展各类活动。PKI技术是网络安全技术的核心。1PKI基本组成狭义上PKI通常指数字证书管理系统广义上所有基于PKI技术、提供公钥加密与数字签名服务的网络安全信任体系均可称为PKI系统。PKI的核心技术围绕数字证书的全生命周期申请、颁发、使用、撤销展开其主要目标是通过自动化密钥与证书管理为用户建立安全的网络运行环境支持多场景下加密与数字签名技术的便捷应用最终保障互联网数据安全。一个典型、完整且有效的PKI应用系统至少需包含以下核心组件认证机构CA​、数字证书库、密钥备份与恢复模块、证书撤销服务及PKI应用接口。PKI体系的构建即围绕这些基础构件展开其典型架构如图所示。认证中心CA​。作为数字证书的申请与签发机构CA是PKI的核心需具备高度权威性。通常CA由三部分构成注册中心负责为用户提供证书申请的持续服务证书申请受理与审核机构负责证书申请的受理与审核认证中心服务器负责证书生成、发放、管理及各类事务处理。数字证书库。数字证书库用于存储已签发的数字证书及公钥是网络中的公共信息库用户可通过其获取所需的其他用户证书及公钥。密钥备份与恢复。当用户因意外原因丢失解密密钥时将导致密文数据无法解密。为避免合法数据丢失PKI提供密钥备份与恢复机制——当需要恢复时用户向CA提交申请CA将自动完成恢复操作。需特别说明的是密钥备份与恢复仅针对解密密钥签名私钥为确保唯一性不可备份。证书撤销。证书撤销是PKI的必备组件。与实体身份证件类似证书有效期内可能因密钥介质丢失、用户身份变更等原因需要注销。为此PKI需建立系列证书作废机制。PKI应用接口。PKI的核心价值在于让用户便捷使用加密、数字签名等安全服务因此完整的PKI需配备完善的接口系统支持各类应用以安全、一致、可信的方式与PKI交互保障网络环境的安全性、可靠性与易用性。2PKI的体系标准随着PKI的广泛应用为保障不同产品间的兼容性标准化成为其发展的必然要求。从PKI体系的演进历程看相关体系标准主要包括以下4类ASN.1抽象语法标记Abstract Syntax NotationOne​。ASN.1是ISO/ITU-T制定的标准定义了数据表示、编码、传输及解码的格式规范。其通过一套完整的形式化格式描述对象结构与编程语言无关也不涉及数据的具体语义或应用场景。X.500目录服务。X.500是已被ISO采纳的目录服务系统标准定义了机构如何在全局范围内共享名称及相关对象。在PKI体系中X.500用于唯一标识实体如机构、个人或服务器​。尽管X.500被视为实现目录服务的理想方案但其实现成本较高且运行效率相对较低优势在于具备信息模型、多功能性及开放性。PKIXX.509公钥基础设施Public KeyInfrastructure on X.509​。PKIX系列标准规范了X.509证书在互联网环境中的应用涵盖证书生成、发布与获取各类密钥生成与发布机制以及标准实施的结构框架等内容。PKCS公钥密码学标准Public KeyCryptography Standards​。PKCS由美国RSA实验室制定是一组公钥密码学标准涵盖证书申请、更新、作废列表发布、扩展内容定义及数字签名、数字信封格式等系列协议。除上述协议外基于PKI体系构建的应用协议还包括安全电子交易协议SET​、安全套接层协议SSL等。3PKI的优势PKI作为一种密钥管理安全技术具备良好的扩展性适用于开放业务场景被广泛应用于多个领域展现出强大的技术优势。基于公钥密码技术支持的数字签名具备可公开验证且不可仿冒的特性为网络环境提供了理论上的安全保障其核心优势体现在以下方面1不可抵赖性公钥密码技术支持的数字签名具备可公开验证且不可仿冒的特性为可追究性服务提供了不可替代的技术支撑。2数据保密性PKI不仅能为相互信任的实体间提供机密性服务还可为陌生用户间的通信提供保密支持覆盖更广泛的安全需求场景。3用户独立验证数字证书支持用户独立验证无需依赖在线查询。PKI通过数字证书直接绑定末端实体的密钥而非采用在线查询或分发模式突破了传统安全验证服务必须在线的限制。4证书撤销机制PKI提供完善的证书撤销机制为意外场景如密钥泄露、用户身份变更等提供补救措施增强用户对系统的信任度。该机制支持对静态身份或动态角色的统一管理为用户提供灵活的安全服务。5强互联能力PKI遵循人类社会的信任模式构建多形式互联机制能够有效服务于符合人类习惯的大型网络信息系统。其互联技术为消除网络空间的信任孤岛提供了关键技术保障。4.3、授权管理基础设施PMI授权管理基础设施Privilege ManagementInfrastructure, PMI是我国国家信息安全基础设施的重要组成部分是由属性证书Attribute Certificate,AC​、属性权威机构Attribute Authority, AA​、属性证书库等组件构成的综合性系统主要用于实现权限与证书的生成、管理、存储、分发及撤销等功能。属性证书AC是一种数据结构核心包含证书所有者ID、颁发者ID、签名算法、有效期、属性等信息。属性证书由属性权威机构AA进行数字签名将证书持有者的 认证信息与特定属性值绑定实现权限的精准分配。属性权威机构AA是负责发布属性证书、分配权限的认证机构与PKI中的认证中心CA在逻辑和物理层面均保持独立。目前PMI已成为电子商务等网络应用中不可或缺的安全支撑系统。它以身份证书为载体同步记录用户身份信息与权限信息为身份认证提供有效手段并为网络系统中访问控制的实施奠定基础。PMI是在PKI解决信任与统一安全认证问题后提出的其核心目标是解决统一的授权管理与访问控制问题。通过分离X.509标准中PKI的权限管理功能PMI提供了更严格、便捷且高效的访问控制机制是基于系统架构实现的权限管理解决方案。