admin管理员组

文章数量:1662626

1.15 密钥管理

生命周期阶段

具体说明P57

密钥生成

  1. 随机数直接生成-取决于随机数发生器的质量
  2. 密钥派生函数(KDF)生成-A在密钥协商过程中从共享密码派生密钥;B从主密钥派生密钥(密钥分散,需要大量密钥的场景,如大规模分发智能IC卡)
  3. 利用用户口令派生密钥,不推荐(8位数字口令密钥空间2^27),仅特定环境(加密设备)中使用

伴随密钥生成的控制信息,如密钥拥有者、密钥用途等,不保密但完整性保护。

密钥存储

  1. 将密码存储在核准的密码产品中,分层逐级保护(对于顶层密钥,需要采取严格的安全防护措施)
  2. 加密保存在通用存储身边中,利用密码算法对密钥进行保密性和完整性保护

密钥导入和导出

一般不能明文导出到密码产品外部。(1)加密传输,利用非对称加密技术完成的密钥加密一般称为数字信封。SM2加密和解密算法自身具有完整性校验功能,可以直接用于密钥加密传输。(2)知识拆分,拆分为几个独立的密钥分量。A将密钥K拆分为若干各与其长度一致的分量,导入时利用异或计算还原,B利用门限算法(Shamir秘密分享方案),将K拆为n个密钥分量,只有大于等于t个密钥分量才能恢复出K。

不能简单截取,会降低穷举搜索攻击的难度。

高等级密码产品,密钥分量要通过可信信道传输。

密钥分发

用于不同密码产品间的密钥共享。

  1. 人工(离线)分发,线下面对面,一般用于根密钥(密钥加密密钥)。需要保证:授权的分发者和接受者、实体是可信的、机制保护密钥的安全性,提供对截取、假冒、篡改、重放等攻击手段的对抗能力。
  2. 自动(在线)分发,一般借助密码技术,如数字信封、对称密钥加密。安全性主要通过密码技术本身来保证。

密钥使用

一般只能在核准的密码产品中使用。用于核准的密码算法的密钥,不能再被非核准的密码算法使用。不同类型的密钥不能混用,其原因包括:A降低密钥的安全性,B对密钥的要求互不相同,C降低密钥泄露时可能造成的损害。公钥不保密,但使用前要验证公钥的完整性,实体与公钥的关联关系以及公钥来源真实性。

密钥备份和恢复

保护密钥的可用性。密钥备份和存储相似,只是备份的密钥不激活状态(不能直接用于密码计算),只有完成恢复后才可以激活。一般将备份的密钥存储在外部存储介质中,仅密钥拥有者能恢复。密钥的备份和恢复记录,生成审计信息,包括备份或恢复的主体、备份或恢复的时间等。

密钥归档

密钥在其生命周期结束时,应当进行销毁。(解密历史数据、验证历史签名)有些不在生命周期内的密钥需要归档保存,签名密钥对的私钥不应归档。归档和备份形式上类似,密钥归档是在密钥的生命周期之外(销毁之后)对密钥进行保存。同样需要安全性保护,对归档进行记录,生成审计信息包括归档密钥和归档时间。

密钥销毁

密钥生命周期的终点,根据情况重新生成密钥,完成密钥更新。删除所有密钥副本,不包括归档的密钥副本。

  1. 正常销毁,如临时密钥在使用完毕时应当立即销毁。
  2. 应急销毁,已经泄露或存在泄露风险时进行的密钥销毁。

评估实施要点P261

密钥生成

随机数生成符合GM/T 0005-2012,密钥应在符合GM/T 0028-2014的密码模块中产生(三级);硬件物理噪声源产生随机数(四级);在密码设备内产生,不得以明文出现在设备外;具备检查和剔除弱密钥的能力;密钥审计信息包括种类、长度、拥有者信息、使用起始时间、使用终止时间。密钥控制信息的完整性保护。

密钥存储

严格的安全保护,防止密钥被非法窃取;存储在符合GM/T 0028-2014要求的二级/三级及以上密码模块中(三级/四级);具有泄露时的应急处理和响应措施(四级)。对于信任根(根密钥、设备密钥、主密钥)无法加密存储的,存储在核准的密码产品中,使用密码产品自身提供的物理防护功能来保证存储密钥的安全。

密钥分发

离线分发,一般适用于根密钥(密钥加密密钥、PKI信任锚证书)

在线分发,数字信封、对称加密等方式

密钥导出、导入

有效的安全措施保证密钥导入导出安全以及密钥的正确性;保证系统密码服务不间断(四级);采用密钥分量或专用设备的方式(四级)。

为保证密钥的安全性,密钥一般不能明文导出到密码产品外部。

密钥使用

明确用途,用途正确;使用公钥之前(第一次使用)对其进行验证;安全措施防止密钥的泄露和替换;密钥泄露时,停止使用并启动相应的应急处理和响应措施;按周期要求更换密钥。

密钥备份和恢复

明确的密钥备份策略;备份和恢复记录,生成审计信息;审计信息包括主体及时间。

密钥归档

归档密钥应进行数据备份,并采用有效的安全保护措施。

密钥销毁

具备紧急情况下销毁密钥的措施,一般情况下,密钥在达到设计的使用时限时,将自动进行销毁。

  1. 自动销毁,如三级及以上密码模块中均具有拆卸响应能力;
  2. 人工执行销毁,操作员发现异常后可手动执行密钥销毁操作。

数字证书生命周期P67

证书产生

  1. 密钥生成,申请者本地生成密钥对+申请材料
  2. 提交申请,在线提交或线下指定RA
  3. 审核检查,CA或指定RA,审定可签发的数字证书种类
  4. 证书签发,包括签署和发布(线上线下)。CA用自己的私钥签名并将签名附上证书,发布证书供各依赖方使用。CA会给申请人本人发送其获得的数字证书

证书使用

  1. 证书获取,根CA自签证书(无法PKI获取,只能带外方式),用户证书
  2. 验证使用,验证公钥确实属于证书持有者(数字签名有效性、证书的有效期-时间比较、证书撤销状态-CRL或OSCP)。先从签发该证书的CA证书中获得公钥,做签名验证,若通过再做其他验证。证书验证需要从下级CA逐级验证每一个上级CA证书,直到信任路径的终点(根CA证书)。(流程复杂,一般有PKI自动完成)
  3. 证书存储,私钥必须以安全形式存储(硬件设备、对称加密)、证书存储在本地

证书撤销

不一定会持续要失效日期。个人身份信息变化或用户私钥丢失、泄露或疑似泄露,及时向CA提出证书撤销请求。CA更新CRL或OSCP。代表证书生命的终结。

证书更新

CA签发一份新的证书,与原证书内容基本一样,甚至可沿用以前的公钥,只是序列号、生效和失效时间不同。

证书归档

PKI必须支持归档处理,以能找到需要的旧数字证书和CRL为原则。

电子认证服务提供者应当妥善保存与认证相关的信息,保存期限至少为失效后5年。

1.16 密钥体系

密钥体系

分类

说明

对称密钥管理(重点密钥分发)

门禁系统,根密钥+门禁卡唯一标识UID 密码分散获得卡片的唯一对称密钥

根密钥在安全模块中,通过后台管理系统使用对称加密算法对系统根密钥进行密钥分散

金融系统中的对称密钥分发(参考)-密钥更新频繁,不适合人工分发。

对称密钥分发有2种基本结构:

  1. 点到点,人工分发KEK数量n(n-1)/2,然后通信发起方产生新的DK
  2. 密钥中心,人工分发KEK数量n,有密钥转换中心KTC(DK由发起方产生)和密钥分发中心KDC(密钥由KDC产生)。

一般密钥分为2类:数据密钥(DK)-用户保护数据,也称为会话密钥;密钥加密密钥(KEK),用来保护数据密钥。

为能抵抗旧密钥传输的重放攻击,可使用密钥计数器、密钥调整-计数序列与KEK异或后再加密DK、时间戳。

公钥基础设施PKI

PKI系统组建:

  1. CA证书认证机构,多级CA(根CA,各级子CA);
  2. CH证书持有者,CH身份信息和对应的公钥会出现在证书中,也称为用户;
  3. RP依赖方,使用其他人的证书来实现安全功能的通信实体(证书依赖方)
  4. RA证书注册机构,CA和申请者之间的交互接口。只有对申请者检查通过后,RA才会要求CA签发证书
  5. RE资料库,证书分发,存储所有证书,供依赖方下载
  6. CRL证书撤销列表,当前所有被撤销证书的标识(OCSP实时性高,部署复杂)
  7. OCSP在线证书状态协议,“请求-响应”协议,查询结果(正常、撤销或者未知)
  8. LDAP轻量目录访问协议,CA通过把新签发的证书与证书撤销链送到LDAP目录服务器,供用户查询下载
  9. KM密钥管理系统,提供密钥服务:生成、备份、恢复、托管等

解决公钥属于谁的问题,确认公钥属于谁是希望确认谁拥有对应的私钥。

X.509标准,是目前使用最广泛、最成功的证书格式。

GM/T 0034-2014《基于SM2密码算法的证书认证系统密码及其相关安全技术规范》

数字证书的结构:

  1. 基本证书域tbsCertificate:版本号、序列号、签名算法、颁发者、有效日期、主体、主体公钥信息、颁发者唯一标识符、主体唯一标识符、扩展项
  2. 签名算法域,与基本证书域中【算法签名】相同,如SM2,算法标识为1.2.156.10197.1.301
  3. 签名值域,对基本证书域(杂凑值)进行数字签名

tbsCertificate采用ASN.1 DER编码

签名的结果按照ASN.1编码成 BIT STRING类型

特殊的数字签名

代理签名,一个被指定的代理签名者可以代表原始签名者生成有效的签名。

盲签名,签名却不知道签名的数据内容。

群签名,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。

多重签名

一个多重签名体制回答这样几个问题:哪些人参加签名,按照什么顺序签名,使用什么方法签名,怎么验证签名和安全性如何得到保证。

前向安全签名

可以保证签名私钥泄露后以前签名的安全性

敌手获取到了你当前的密钥,但是也无法成功伪造一个过去的签名。

门限签名

门限签名(Threshold Signature Scheme ,TSS)是一种加密数字签名协议。在一组签名者中间,一部分签名者可以代替整个组对消息进行签名。

门限签名和多签的区别。最大的区别是多签是在链上进行的,而门限签名是在链下完成的。

盲签名

相当于将文件放入信封,签名者在信封上对文件进行签名,而不知道具体的文件内容。盲签名的实现方式有很多,比如基于RSA的盲签名,基于BLS的盲签名,基于Schnorr的盲签名,基于MDSA的盲签名,基于NR签名的盲签名,基于身份的盲签名,基于SM9数字签名的盲签名等。

盲签名的概念首先由 David Chaum 于1982年提出,盲签名实现了签名者对发送者的消息进行签名,却不能知道签名者消息的具体内容。

本文标签: 密钥安全性要点体系密码