文章目录
- [1. 前言](#1. 前言)
- [2. 概念](#2. 概念)
- [3. 原则](#3. 原则)
-
- [3.1. 区分密钥管理的策略和机制](#3.1. 区分密钥管理的策略和机制)
- [3.2. 全程安全原则](#3.2. 全程安全原则)
- [3.3. 最小权利原则](#3.3. 最小权利原则)
- [3.4. 责任分离原则](#3.4. 责任分离原则)
- [3.5. 密钥分级原则](#3.5. 密钥分级原则)
- [3.6. 密钥更换原则](#3.6. 密钥更换原则)
- [4. 传统密码的密钥管理](#4. 传统密码的密钥管理)
-
- [4.1. 密钥组织](#4.1. 密钥组织)
-
- [4.1.1. 初级密钥](#4.1.1. 初级密钥)
- [4.1.2. 二级密钥](#4.1.2. 二级密钥)
- [4.1.3. 主密钥](#4.1.3. 主密钥)
- [4.2. 密钥产生](#4.2. 密钥产生)
-
- [4.2.1. 主密钥](#4.2.1. 主密钥)
- [4.2.2. 二级密钥](#4.2.2. 二级密钥)
- [4.2.3. 初密钥](#4.2.3. 初密钥)
- [4.2.4. 伪随机数](#4.2.4. 伪随机数)
- [4.3. 密钥分配](#4.3. 密钥分配)
- [4.4. 密钥存储](#4.4. 密钥存储)
-
- [4.4.1. 安全存储](#4.4.1. 安全存储)
- [4.4.2. 存储形态](#4.4.2. 存储形态)
- [4.4.3. 密钥的存储](#4.4.3. 密钥的存储)
- [4.5. 密钥更新](#4.5. 密钥更新)
- [4.6. 密钥终止和销毁](#4.6. 密钥终止和销毁)
- [5. 公钥密码密钥管理](#5. 公钥密码密钥管理)
-
- [5.1. 概念](#5.1. 概念)
- [5.2. 密钥产生](#5.2. 密钥产生)
- [5.3. 密钥分配](#5.3. 密钥分配)
- [5.4. 公钥证书](#5.4. 公钥证书)
-
- [5.4.1. 概念](#5.4.1. 概念)
- [5.4.2. 原理](#5.4.2. 原理)
- [5.4.3. X.509证书](#5.4.3. X.509证书)
- [5.5. 公钥基础设施PKI](#5.5. 公钥基础设施PKI)
-
- [5.5.1. 概念](#5.5.1. 概念)
- [5.5.2. CA](#5.5.2. CA)
- [5.5.3. RA](#5.5.3. RA)
- [5.5.4. 证书签发](#5.5.4. 证书签发)
- [5.5.5. 证书目录](#5.5.5. 证书目录)
- [5.5.6. 证书的撤销](#5.5.6. 证书的撤销)
- [5.5.7. 信任模型](#5.5.7. 信任模型)
1. 前言
参考《密码学引论》
2. 概念
密码的公开设计原则:密码体制的安全应当只取决于密钥的安全,而不取决于对密码算法的保密
密钥管理包括密钥的产生、存储、分配、组织、使用、停用、更换、销毁等一系列技术问题。
每个密钥都有其生命周期,要对密钥的整个生命周期的各个阶段进行全面管理;密码体制不同,密钥的管理方法也不同
3. 原则
3.1. 区分密钥管理的策略和机制
- 策略是密钥管理系统的高级指导,策略重在原则指导,而不重在具体实现。策略通常是原则的、简单明确的
- 机制是实现和执行策略的技术机构和方法。机制是具体的、复杂繁琐的
3.2. 全程安全原则
- 必须在密钥的产生、存储、分配、组织、使用、停用、更换、销毁的全过程中对密钥采取妥善的安全管理。只有各个阶段都是安全时,密钥才是安全的
- 密钥从一产生到销毁的全过程中除了在使用的时候可以以明文形式出现外都不应当以明文形式出现
3.3. 最小权利原则
- 应当只分配给用户进行某一事务处理所需的最小的密钥集合
3.4. 责任分离原则
- 一个密钥应当专职一种功能,不要让一个密钥兼任几个功能
3.5. 密钥分级原则
- 对于一个大的系统,应当采用密钥分级的策略
- 根据密钥的职责和重要性,把密钥划分为几个级别
- 高级密钥保护低级密钥,最高级密钥由物理、技术和管理安全保护
3.6. 密钥更换原则
- 密钥必须按时更换,否则,即使是采用很强的密码算法,时间越长,被破译的可能性就越大
- 理想情况是一个密钥只使用一次,但是完全的一次一密不现实
- 一般,初级密钥采用一次一密,中级密钥更换的频率低些,主密钥更换的频率更低些
- 密钥更换的频率越高,越有利于安全,但是密钥的管理就越麻烦
4. 传统密码的密钥管理
4.1. 密钥组织
密钥分为三级:初级密钥、二级密钥、主密钥(高级密钥)
4.1.1. 初级密钥
- 概念:
- 直接用于加解密数据(通信、文件 通信、文件)的密钥为初级密钥,记为 K K K ,
- 而用于通信保密的初级通信密钥,记为 K c K_c Kc
- 用于保护会话的初级密钥为会话密钥(Session Key),记为 K s K_s Ks
- 用于文件保密的初级密钥为初级文件密钥(File Key),记为 K f K_f Kf
- 安装:初级密钥可通过硬件或软件方式自动产生,也可由用户自己提供
- 生存周期:
- 初级密钥必须受更高一级的密钥保护,直到他们的生存周期结束为止
- 初级通信密钥的生存周期很短
- 初级文件密钥与所保护的文件的生存周期一样长。
- 重要知识:
- 初级通信密钥和初级会话密钥原则上采用一个密钥只使用一次的一次一密方式
4.1.2. 二级密钥
- 概念:
- 二级密钥(Secondary Key)用于保护初级密钥,记作 K N K_N KN,这里N表示节点,源于它在网络中的地位
- 而用于初级通信密钥时称为二级通信密钥,记为 K N C K_{NC} KNC
- 用于保护初级文件密钥时称为二级文件密钥,记为 K N F K_{NF} KNF
- 安装:
- 可经专职密钥安装人员批准,由系统自动产生
- 也可由专职密钥安装人员提供并安装
- 生存周期:二级密钥的生存周期一般较长,它在较长的时间内保持不变
- 保护:二级密钥必须接受高级密钥的保护
4.1.3. 主密钥
- 概念:主密钥(Master Key)是密钥管理方案中的最高级密钥,记作 K M K_M KM
- 保护:
- 必须采用安全的物理、技术、管理措施对主密钥进保护!
- 主密钥用于对二级密钥和初级密钥进行保护
- 主密钥只能以明文形式存储
- 安装:主密钥由密钥专职人员产生,并妥善安装。
- 生存周期:主密钥的生存周期很长
4.2. 密钥产生
4.2.1. 主密钥
主密钥应当是高质量的真随机序列;真随机数应该从自然界的随机现象中提取,而且要经过严格的随机性测试
- 基于力学噪声源
- 基于电子学噪声源
- 基于量子力学噪声源
4.2.2. 二级密钥
- 可以象产生主密钥那样产生真随机的二级密钥;
- 在主密钥产生后,可借助于主密钥和一个强的密码算法来产生二级密钥。
4.2.3. 初密钥
-
为了安全和简便,通常总是把随机数RN直接视为受高级密钥加密过的初级密钥:
R N = E ( K s , K M ) RN=E(K_s,K_M) RN=E(Ks,KM)或 R N = E ( K f , K M ) RN=E(K_f,K_M) RN=E(Kf,KM)
R N = E ( K s , K N C ) RN=E(K_s,K_{NC}) RN=E(Ks,KNC)或 R N = E ( K f , K N F ) RN=E(K_f,K_{NF}) RN=E(Kf,KNF)
-
使用初级密钥时,用高级密钥将随机数RN解密:
K s = D ( R N , K M ) K_s=D(RN,K_M) Ks=D(RN,KM)或 K f = D ( R N , K M ) K_f=D(RN,K_M) Kf=D(RN,KM)
K s = D ( R N , K N C ) K_s=D(RN,K_{NC}) Ks=D(RN,KNC)或 K f = D ( R N , K N F ) K_f=D(RN,K_{NF}) Kf=D(RN,KNF)
4.2.4. 伪随机数
二级密钥和初级密钥的产生都需要伪随机数
伪随机性:随机、长周期、独立性、非线性
一般采用基于强密码算法的产生方法
4.3. 密钥分配
- 主密钥:一般采用人工分配主密钥,由专职密钥分配人员分配并由专职安装人员妥善安装
- 二级密钥:
- 由专职密钥分配人员分配并由专职安装人员安装。虽然这种人工分配和安装的方法很安全,但是效率低,成本高。
- 直接利用已经分配安装的主密钥对二级密钥进行加密保护,并利用计算机网络自动传输分配
- 初级密钥:
- 通常总是把一个随机数直接视为受高级密钥(主密钥或二级密钥,通常是二级密钥)加密过的初级密钥,这样初级密钥一产生便成为密文形式。
- 发端直接把密文形式的初级密钥通过计算机网络传给收方,收端用高级密钥解密便获得初级密钥
4.4. 密钥存储
4.4.1. 安全存储
密钥的安全存储就是要确保密钥在存储状态下的秘密性、真实性和完整性。
安全可靠的存储介质是密钥安全存储的物质条件, 安全严密的访问控制是密钥安全存储的管理条件。
密钥安全存储的原则是不允许密钥以明文形式出现在密钥管理设备之外。
4.4.2. 存储形态
- 明文形态:明文形式的密钥
- 密文形态:被密钥加密密钥加密过的密钥
- 分量形态:密钥分量不是密钥本身,而是用于产生密钥的部分参数
4.4.3. 密钥的存储
-
主密钥
- 主密钥是最高级的密钥,所以它只能以明文形态存储,否则便不能工作
- 通常是将其存储在专用密码装置中
-
二级密钥
- 二级密钥可以以明文形态存储,也可以以密文形态存储
- 通常采用以高级密钥加密的形式存储二级密钥。这样可减少明文形态密钥的数量,便于管理。
-
初级密钥
- 初级文件密钥一般采用密文形态存储,通常采用以二级文件密钥加密的形式存储初级文件密钥
- 初级会话密钥按"一次一密"的方式工作,使用时动态产生,使用完毕后即销毁,生命周期很短。因此,初级会话密钥的存储空间是工作存储器,应当确保工作存储器的安全
4.5. 密钥更新
- 高级密钥
- 必须重新产生并安装,其安全要求与其初次产生安装一样
- 高级密钥的更新将导致受其保护的中级密钥和初级密钥都要更新
- 二级密钥
- 安全要求与其初次产生安装一样
- 中级密钥的更新也将要求受其保护的初级密钥也更新。
- 初级密钥
- 初级会话密钥采用一次一密的方式工作,因此更新是极容易的
- 初级文件密钥更新时,必须将原来的密文文件解密并用新的初级文件密钥重新加密
4.6. 密钥终止和销毁
- 终止使用的密钥,并不立即销毁,而需要再保留一段时间然后再销毁。这是为了确保受其 保护的其他密钥和数据得以妥善处理。只要密钥尚未销毁,就必须对其进行保护
- 密钥销毁要彻底清除密钥的一切存储形态和相关信息,使得恢复这一密钥成为不可能
5. 公钥密码密钥管理
5.1. 概念
传统密码只有一个密钥,加密钥等于解密钥 传统密码只有一个密钥,加密钥等于解密钥( K e = K d K_e=K_d Ke=Kd)因此,密钥的秘密性、真实性和完整性都必须保护
公开密钥密码有两个密钥,加密钥与解密钥不同( K e ≠ K d K_e\not =K_d Ke=Kd),而且由加密钥在计算上不能求出解密钥,所以加密钥的秘密性不用确保,但其完整性和真实性却必须严格保护。
5.2. 密钥产生
- RSA密码的密钥
- 椭圆曲线密码的密钥
5.3. 密钥分配
- 因为公钥是公开的,因此不需确保秘密性
- 公钥的真实性和完整性
- 解密钥的秘密性、真实性和完整性
5.4. 公钥证书
5.4.1. 概念
经过可信实体签名的一组信息的集合被称为证书( Certificate Certificate),而可信实体被称为签证机构 CA(Certification Authority Certification Authority)。
一般地讲,证书是一个数据结构,是一种由一个可信任的权威机构签署的信息集合
公钥证书PKC是一种包含持证主体标识、持证主体公钥等信息,并由可信签证机构(CA)签署的信息集合;主要用于确保公钥及其与用户绑定关系的安全。这个公钥就是证书所标识的那个主体的合法的公钥
5.4.2. 原理
任何一个用户只要知道签证机构的公钥,就能检查对证书签名的合法性。如果检查正确,那么用户就可以相信那个证书所携带的公钥是真实的,而且这个公钥就是证书所标识的那个主体的合法的公钥。
由于公钥证书不需要保密,可以在网络上分发,从而实现公钥的安全网络分配。又由于公钥证书有CA的签名,攻击者不能伪造合法的公钥证书。因此,只要CA是可信的,公钥证书就是可信的,其公钥就是可信的。
5.4.3. X.509证书
目前应用最广泛的证书格式是国际电信联盟ITU(International Telecommunication Union)提出的X.509版本3格式。
INTERNET工程任务组(IETF)针对X.509在INTERNET环境的应用,颁布了一个作为X.509子集的RFC2459。从而使X.509在INTERNET环境中得到广泛应用
5.5. 公钥基础设施PKI
5.5.1. 概念
公钥证书、证书管理机构、证书管理系统围绕证书服务的各种软硬件设备以及相应的法律基础共同组成公开密钥基础设施PKI(Public Key Infrastructure Public Key Infrastructure)
本质上,PKI是一种标准的公钥密码的密钥管理平台
公钥证书是PKI中最基础的组成部分,此外PKI还包括签发证书的机构(CA),注册登记证书的机构( RA),存储和发布证书的目录,密钥管理,时间戳服务,管理证书的各种软件和硬件设备,证书管理与应用的各种政策和法律,以及证书的使用者。所有这些共同构成了PKI 。
5.5.2. CA
负责签发证书、管理和撤销证书,是所有注册用户所信赖的权威机构
CA在给用户签发证书时要加上自己的签名,以确保证书信息的真实性。为了方便用户对证书的验证,CA也给自己签发证书。这样,整个公钥的分配都通过证书形式进行
不同的CA服务于不同的范围,履行不同的职责
5.5.3. RA
专门负责受理用户申请证书的机构,即对证书申请人的合法性进行认证,并决定是批准或拒绝证书申请。
5.5.4. 证书签发
- 用户向CA提交RA的注册批准信息及自己的身份等信息(或由RA向CA提交);
- CA验证所提交信息的正确性和真实性;
- CA为用户产生密钥(或由用户自己产生并提供密钥),并进行备份;
- CA生成证书,并施加签名;
- 将证书存档入库,并将证书的一个副本交给用户。
5.5.5. 证书目录
CA采用证书目录的式集中存储和管理证书。通常采用建立目录服务器证书库的方式为用户提供证书服务
为了应用方便,证书目录不仅存储管理用户的证书,还同时存储用户的相关信息(如,电子邮件地址,电话号码等)。因为证书本身是非保密的,因此证书目录也是非保密的。
用于INTERNET环境的目录存取协议,并称为轻型目录存取协议LDAP(Lightweight Directory Access Protocol)。LDAP协议在目录模型上与 协议在目录模型上与X.500 兼
容,但比X.500更简单,实施更方便
5.5.6. 证书的撤销
和证书的签发一样,证书的撤销也是一个复杂的过程。证书的撤销要经过申请、批准、撤销三个过程。
5.5.7. 信任模型
证书用户、证书主体、各个CA之间的证书认证关称为PKI的信任模型