【密码学】《PKI/CA与数字证书》 书籍读后感(二)

背景

  总结和归纳《PKI/CA与数字证书》书籍读后感 第二部分  

第4章 ASN.1及其编码规则

4.1 ASN.1

  ASN.1是Abstract Syntax Notation One(抽象⽂法描述语⾔)的缩写
  ASN.1是⼀种对分布计算机系统之间交换的数据消息进⾏抽象描述的规范化语⾔
  ASN.1是⼀种国际标准,它为抽象数据结构的描述说明定义了⼀种记法
  ASN.1 的标准化的编码规则有以下⼏种:
     BER(BasicEncoding Rules )基本编码规则
     DER ( Distinguished Encoding Rules ) 定⻓编码规则
        PER(Packed Encoding Rules)
     CER(Canonical Eneoding Rules)
     说明:
     DER是BER编码的⼀种特殊形式,它专⻔适⽤于具有安全特性的应⽤系统,如涉及加密技术和要求编解码信息唯⼀性的系统,如电⼦商务系统
     CER与DER类似,是BER编码的另外⼀种特殊形式CER的最⼤特点是对⼤数据实现编码,⽽且在数据还未完全获得之前就可以进⾏编码。但是由于业界认定在安全传输中最好的编码⽅法是DER编码,所以CER编码未得到⼴泛使⽤
     PER是最近制定的系列编码规则,它的显著特点是使⽤有效的算法对数据编码,获得⽐DER更快更紧凑的数据,因此PER常常被应⽤于带宽或CPU饿死状态的应⽤系统,如空中交通管制和视听通信等领域


第10章 证书的存储方式  

  公钥⽆需保密,包含在数字证书中,并以数字证书形式对外公开发布,由数字证书的安全机制来保证公钥的完整性和真实性。私钥必须保密,有多种存储⽅式,且不同的存储⽅式安全性不同。通常将密码算法运算、密钥存储及产⽣的装置称为密码模块。密码模块⼜可分为软件密码模块和硬件密码模块。

11. 证书保存形式

11.1.1 DER⽂件形式
  数字证书按照Certificate类型进⾏DER编码后,以⼆进制形式保存为⽂件。
  当证书采⽤DER⽂件形式保存时,常⽤的⽂件后缀为der或crt
11.1.2 Base64⽂件形式

  由于数字证书DER编码后的内容为⼆进制形式,不⽅便显⽰,因此需要将其转换成⽂本形式,通常采⽤Base64编码⽅式

11.1.3 PKCS#7⽂件形式

  为⽅便交换证书链(证书路径或认证路径)上的所有证书,需要将多个证书保存到单个⽂件中,通常采⽤PKCS#7编码形式。
  当证书链采⽤PKCS#7⽂件形式保存时,常⽤的⽂件后缀为p7b
  PKCS # 7 定 义 了 多 种 密 码 消 息 形 式 , 主 要 包 括 : data 、signedData 、 envelopedData 、 signedAndEnvelopedData 、 digestData 、encryptedData、keyAgreementInfo等。当⽤于保存证书链时,具体要求

11.1.4 Windows证书库形式
  为加强对数字证书的分类管理,⽅便应⽤系统使⽤,⽅便⽤⼾操作和查看,Windows提供了证书库机制。
  1.证书库分类
  Windows证书库分为以下⼏类,如图11-2所⽰
  

   ① 受信任的根证书颁发机构。保存多个可信任的根CA证书。通过该类证书可以验证⽤⼾证书或⼦CA证书的合法性。
   ② 中级证书颁发机构。保存多个⼦CA证书。
   ③ 受信任的发布者。保存多个可信任的可执⾏代码发布者证书。如果某可执⾏程序具有代码签名,且使⽤该类证书能验证代码签名的合法性,则说明该程序值得信赖。
   ④ 未受信任的发布者。保存多个不受信任的可执⾏代码发布者证书。如果某可执⾏程序具有代码签名,且使⽤该类证书能验证代码签名的合法性,则说明该程序不受信任,可能存在安全⻛险,不建议安装或使⽤。
   ⑤ 其他⼈证书。保存多个他⼈的证书。
   ⑥ 个⼈证书。包含⾃⼰的数字证书。如果有对应的私钥,并与数字证书进⾏关联

  2.证书库管理
    打开IE浏览器,单击菜单 Internet选项 后进⼊ 内容 ⻚,如图11-3所⽰

  单击按钮 证书 后即可进⼊证书库管理界⾯,如图11-2所⽰。通过⼿⼯可以导⼊、导出、删除各类证书。可将证书库中的证书导出为⽂件形式,导出过程中可选择导出的
  ⽂件格式:DER编码⼆进制格式、Base64编码格式、PKCS#7格式,如 

  图11-4所⽰。其中,导出个⼈证书时,可以选择是否将私钥跟证书⼀起导出。如果选择导出私钥,则只能导出为PKCS#12格式⽂件
  

12 私钥的保存形式

  私钥保存形式主要包括:⽂件形式、密码设备形式和软件系统形式。当采⽤⽂件形式保存私钥时,私钥的安全性通常采⽤⼝令进⾏保护,同时基于⼝令可对私钥⽂件进⾏加密存储。当系统使⽤私钥进⾏签名或解密时,需要将该私钥⽂件读⼊内存或密码模块中进⾏密码运算。为保护私钥的安全性,通常使⽤⼝令对私钥⽂件进⾏加密保护。当采⽤密码设备形式保存私钥时,密码设备可提供安全机制保护私钥存储的安全性和私钥访问的安全性。
  当采⽤软件系统⽅式保存私钥时,私钥完全由软件系统进⾏管理,其安全性完全依赖于软件系统,不同系统下私钥存储形式和安全性可能不同
11.2.1 PKCS#8⽂件形式 

  PKCS#8规定了私钥单独以⽂件形式保存时的具体格式。 

11.2.2 PKCS#12⽂件形式
  当私钥采⽤PKCS#12形式保存时,常⽤的⽂件后缀为pfx或p12。 
11.2.3 Java Keystore⽂件形式 

  JDK 1.4已经⽀持X.509数字证书标准。Java平台将密钥库作为密钥(公私钥对)和证书的资源管理库。从物理上讲,密钥库是个⽂件,缺省名称为.keystore。通过⼀个别名来区分密钥和证书,每个别名均由唯⼀的⼝令进⾏保护。密钥库本⾝也受⼝令保护。
  当私钥采⽤Java Keystore形式保存时,常⽤的⽂件后缀为jks
  Keystore⽂件可通过两种⽅式进⾏访问或操作:keytool⼯具,Java类。
  keytool 是 JDK ⾃带⼯具,可⽅便管理密钥库中的公私钥对和数字证书。主要包括以下命令:

11.2.4 密码设备形式 
11.2.5 软件系统形式 

  

posted @ 2022-11-03 01:20  听风是雨  阅读(34)  评论(0编辑  收藏  举报
/* 看板娘 */