數字證書技術不僅涉及的技術領域廣泛、標準規范龐雜,還涉及運營管理和法律法規;本書是部介紹數字證書技術的書籍,涵蓋技術、標準、運營、法規等內容。為方便讀者快速理解PKI、快速把握數字證書技術,并能快速運用到具體的工作當中,本書主要從七個方面來介紹數字證書技術,主要內容包括:如何理解PKI、PKI技術基礎、PKI之數字證書與私鑰(網絡身份證)、PKI之CA與KMC(管理網絡身份證)、PKI之應用(使用網絡身份證)、PKI之運營(CA中心)、PKI之法規與標準。
張明德 國家電子商務標準化總體組,成員。國密局電子交易密碼應用工作組,成員
及時部分 如何理解PKI
第1章 為什么會出現PKI技術2
1.1 保密通信催生了密碼技術2
1.1.1 古代中國軍隊的保密通信方法2
1.1.2 傳統密碼學與古代西方保密通信方法3
1.1.3 兩次世界大戰的密碼斗法6
1.1.4 現代密碼學與信息時代7
1.2 密碼技術普及推動了密鑰管理技術的發展9
1.2.1 密鑰管理9
1.2.2 對稱密鑰管理技術11
1.2.3 非對稱密碼技術簡化了密鑰管理12
1.3 PKI本質是把非對稱密鑰管理標準化14
1.4 私鑰專有性使人聯想到手寫簽名15
1.5 電子簽名法賦予電子簽名與認證法律地位16
第2章 PKI包括哪些內容18
2.1 PKI體系框架18
2.2 PKI/數字證書與私鑰20
2.3 PKI/CA與KMC22
2.4 PKI/應用25
2.5 PKI/運營27
2.6 PKI/法規與標準29
2.6.1 國內法規29
2.6.2 國內標準30
2.6.3 國際標準31
2.7 PKI/信任模型36
2.7.1 根CA信任模型37
2.7.2 交叉認證信任模型38
2.7.3 橋CA信任模型39
2.7.4 信任列表信任模型39
第3章 其他非對稱密鑰管理體系41
3.1 PGP41
3.2 EMV42
第二部分 PKI技術基礎
第4章 ASN.1及其編碼規則48
4.1 ASN.1(抽象文法描述語言)48
4.2 BER(基本編碼規則)與DER(定長編碼規則)50
4.2.1 數據類型標識50
4.2.2 BER基本編碼規則52
4.2.3 DER定長編碼規則54
第5章 密碼技術56
5.1 密碼算法56
5.1.1 算法分類56
5.1.2 對稱密碼算法56
5.1.3 非對稱密碼算法60
5.1.4 摘要算法62
5.2 運算模式(工作模式)64
5.2.1 ECB64
5.2.2 CBC64
5.2.3 CFB64
5.2.4 OFB65
5.3 擴展機制65
5.3.1 MAC與HMAC65
5.3.2 OTP67
5.3.3 數字簽名68
5.3.4 數字信封69
5.4 密碼應用實踐70
5.4.1 軟件加密與硬件加密70
5.4.2 網絡層加密與應用層加密72
5.4.3 密鑰管理的基本原則72
5.4.4 密碼設備的自身安全性73
5.5 密碼算法ASN.1描述74
5.5.1 密碼算法格式74
5.5.2 密碼算法OID75
5.6 密碼消息ASN.1描述75
5.6.1 通用內容消息ContentInfo75
5.6.2 明文數據消息Data75
5.6.3 數字簽名消息SignedData76
5.6.4 數字信封消息EnvelopedData77
5.6.5 數字簽名及信封消息SignedAndEnvelopedData78
5.6.6 摘要消息DigestedData78
5.6.7 加密數據消息EncryptedData79
5.6.8 密鑰協商消息KeyAgreementInfo79
5.6.9 密碼消息類型OID79
5.7 Base64編碼80
第6章 LDAP技術82
6.1 目錄服務與LDAP概述82
6.1.1 目錄服務簡介82
6.1.2 X.500協議簡介83
6.1.3 LDAP協議簡介84
6.1.4 LDAP模型簡介85
6.1.5 LDAP Schema88
6.1.6 LDAP認證方式91
6.1.7 LDIF數據交換文件94
6.2 常見LDAP產品介紹97
6.2.1 IBM TDS97
6.2.2 Sun Java系統目錄服務器97
6.2.3 Novell eDirectory98
6.2.4 GBase 8d98
6.2.5 OpenLDAP99
6.2.6 Microsoft Active Directory99
6.3 LDAP部署與優化100
6.3.1 復制介紹100
6.3.2 引用機制介紹101
6.3.3 復制機制的部署102
6.3.4 引用機制的部署104
6.3.5 LDAP優化105
6.4 面向LDAP的系統設計與開發106
6.4.1 LDAP管理工具106
6.4.2 應用接口編程與實例109
6.4.3 LDAP應用案例119
第7章 實驗一120
7.1 DER編碼示例:X.501 Name類型120
7.1.1 ASN.1描述與實例120
7.1.2 DER編碼過程121
7.2 RSA算法示例123
7.2.1 密鑰產生123
7.2.1 加密解密124
第三部分 PKI之數字證書與私鑰:網絡身份證
第8章 公/私鑰格式126
8.1 RSA126
8.2 SM2128
第9章 數字證書格式130
9.1 基本格式130
9.1.1 證書域組成(Certificate)130
9.1.2 證書內容(tbsCertificate)130
9.2 標準擴展項135
9.2.1 標準擴展項(Standard Extensions)135
9.2.2 專用互聯網擴展項145
9.3 國內擴展項146
9.3.1 衛生系統專用擴展項146
9.3.2 國內通用擴展項147
第10章 數字證書分類150
10.1 根據證書持有者分類150
10.2 根據密鑰分類150
第11章 私鑰與證書存儲方式152
11.1 證書保存形式152
11.1.1 DER文件形式152
11.1.2 Base64文件形式154
11.1.3 PKCS#7文件形式154
11.1.4 Windows證書庫形式155
11.2 私鑰保存形式157
11.2.1 PKCS#8文件形式158
11.2.2 PKCS#12文件形式158
11.2.3 Java Keystore文件形式160
11.2.4 密碼設備形式161
11.2.5 軟件系統形式162
第12章 私鑰與證書訪問方式164
12.1 CryptoAPI164
12.1.1 CryptoAPI簡介164
12.1.2 使用證書166
12.1.3 使用私鑰168
12.2 PKCS#11172
12.2.1 PKCS#11簡介172
12.2.2 使用證書178
12.2.3 使用私鑰181
12.3 JCA/JCE183
12.3.1 JCA/JCE簡介183
12.3.2 使用證書187
12.3.3 使用私鑰189
12.4 CNG190
12.4.1 CNG簡介190
12.4.2 使用證書195
12.4.3 使用私鑰196
12.5 PC/SC200
12.5.1 PC/SC簡介200
12.5.2 使用證書202
12.5.3 使用私鑰213
12.6 國密接口213
12.6.1 國密接口簡介213
12.6.2 使用證書215
12.6.3 使用私鑰217
第13章 實驗二222
13.1 RSA公鑰格式編碼示例222
13.1.1 ASN.1描述與實例222
13.1.2 DER編碼過程222
13.2 數字證書格式編碼示例223
13.2.1 ASN.1描述與實例223
13.2.2 DER編碼過程225
13.3 Windows證書庫操作示例229
13.3.1 查看證書庫內容229
13.3.2 導入證書230
13.3.3 導出證書233
第四部分 PKI之CA與KMC:管理網絡身份證
第14章 系統結構236
14.1 國際標準236
14.2 國內標準237
14.2.1 證書認證系統CA237
14.2.2 密鑰管理系統KMC239
第15章 系統設計241
15.1 證書認證系統CA241
15.1.1 用戶注冊管理系統RA241
15.1.2 證書/CRL簽發系統242
15.1.3 證書/CRL存儲系統243
15.1.4 證書/CRL查詢系統244
15.1.5 證書管理系統245
15.1.6 安全管理系統245
15.2 密鑰管理系統KMC246
15.3 企業級CA總體設計示例248
15.3.1 技術路線選擇248
15.3.2 模塊設計250
15.3.3 數據庫設計251
15.3.4 雙證書技術流程設計253
第16章 對外在線服務256
16.1 OCSP/SOCSP服務256
16.1.1 OCSP256
16.1.2 SOCSP258
16.2 CRL服務259
16.2.1 基本域組成(CertificateList)259
16.2.2 CRL內容(tbsCertList)260
16.2.3 CRL擴展項crlExtensions262
16.2.4 CRL條目擴展項crlEntryExtensions265
16.3 LDAP服務267
16.3.1 數字證書到LDAP267
16.3.2 訪問LDAP獲取數字證書268
第17章 網絡部署結構270
17.1