深入淺出 HTTPS:從原理到實戰 版權信息
- ISBN:9787121341786
- 條形碼:9787121341786 ; 978-7-121-34178-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
深入淺出 HTTPS:從原理到實戰 本書特色
《深入淺出 HTTPS:從原理到實戰》是一本專業的HTTPS書籍,全面講解了HTTPS領域的相關知識,內容包括密碼學、OpenSSL命令行、證書、TLS協議、HTTPS網站性能優化、HTTPS網站優秀實踐、大型網站HTTPS架構設計等。《深入淺出 HTTPS:從原理到實戰》有幾個特點:(1)內容全面而新穎,基于RFC文檔、國外書籍、社區等一手資料,總結了大部分*的HTTPS知識;(2)由淺入深,從基礎到進階全面掌握HTTPS,讀者能夠輕松構建一個HTTPS網站,并使網站安全性和性能*化,對于大型網站的HTTPS系統架構和應用架構設計也有指導意義;(3)內容通俗易懂,用語描述精準,充分考慮到讀者的閱讀和思考習慣,只要具備基礎的HTTPS知識和Linux知識就能無障礙閱讀;(4)理論結合實踐,本書除了讓讀者掌握HTTPS的交互細節,更注重實踐,介紹了很多工具,讓讀者更好地掌握HTTPS;(5)具有啟發性,讀者可以通過《深入淺出 HTTPS:從原理到實戰》開啟密碼學和HTTPS學習之門,真正做到“深入”。
HTTPS(TLS協議)重點在于密碼學,互聯網安全是*位的,所以任何技術領域(比如目前火爆的區塊鏈)都需要密碼學和HTTPS(TLS協議)知識,架構人員、開發人員、運維人員都適合閱讀《深入淺出 HTTPS:從原理到實戰》。
深入淺出 HTTPS:從原理到實戰 內容簡介
本書是一本專業的HTTPS書籍,全面講解了HTTPS領域的相關知識,內容包括密碼學、OpenSSL命令行、證書、TLS協議、HTTPS網站性能優化、HTTPS網站很好實踐、大型網站HTTPS架構設計等。本書有幾個特點:(1)內容全面而新穎,基于RFC文檔、國外書籍、社區等一手資料,總結了大部分近期新的HTTPS知識;(2)由淺入深,從基礎到進階全面掌握HTTPS,讀者能夠輕松構建一個HTTPS網站,并使網站安全性和性能優選化,對于大型網站的HTTPS系統架構和應用架構設計也有指導意義;(3)內容通俗易懂,用語描述精準,充分考慮到讀者的閱讀和思考習慣,只要具備基礎的HTTPS知識和Linux知識就能無障礙閱讀;(4)理論結合實踐,本書除了讓讀者掌握HTTPS的交互細節,更注重實踐,介紹了很多工具,讓讀者更好地掌握HTTPS;(5)具有啟發性,讀者可以通過本書開啟密碼學和HTTPS學習之門,真正做到“深入”。HTTPS(TLS協議)重點在于密碼學,互聯網安全是靠前位的,所以任何技術領域(比如目前火爆的區塊鏈)都需要密碼學和HTTPS(TLS協議)知識,架構人員、開發人員、運維人員都適合閱讀本書。
深入淺出 HTTPS:從原理到實戰 目錄
第1章 HTTP介紹 1
1.1 什么是Web 1
1.1.1 廣義理解Web 1
1.1.2 Web的組成 2
1.2 理解HTTP 4
1.2.1 HTTP的定義 4
1.2.2 HTTP語義 5
1.2.3 HTTP的特點 8
1.3 網絡模型 9
1.3.1 TCP/IP概述 9
1.3.2 Socket和TCP 12
1.4 協議安全分析 13
1.4.1 安全問題舉例 13
1.4.2 協議不安全的根本原因 14
1.5 Web應用安全 15
1.5.1 瀏覽器、HTML和JavaScript 16
1.5.2 W3C 17
第2章 密碼學 19
2.1 對于密碼學的認知 19
2.1.1 基本認知 19
2.1.2 密碼學的四個目標 21
2.1.3 OpenSSL 22
2.2 隨機數 25
2.2.1 隨機數的類型 25
2.2.2 隨機數的工作原理 26
2.2.3 常見的隨機數生成器 26
2.2.4 密碼學算法中的隨機數 27
2.3 Hash算法 27
2.3.1 加密基元 28
2.3.2 Hash算法和密碼學Hash算法 28
2.3.3 密碼學Hash算法的特性 29
2.3.4 Hash算法的用途 29
2.3.5 什么是安全的密碼學Hash算法 30
2.3.6 密碼學Hash算法的分類 31
2.4 對稱加密算法 33
2.4.1 流密碼算法 34
2.4.2 塊密碼算法 36
2.4.3 填充標準 41
2.4.4 對稱加密算法實踐 42
2.5 消息驗證碼 47
2.5.1 什么是消息驗證碼 47
2.5.2 MAC算法的種類 49
2.5.3 消息驗證碼算法實踐 49
2.5.4 加密算法不能提供完整性 50
2.5.5 AD加密模式 52
2.5.6 AEAD加密模式 53
2.6 公開密鑰算法 54
2.6.1 理解RSA的內部結構 55
2.6.2 PKCS標準 56
2.6.3 RSA加密算法的應用場景 58
2.6.4 RSA加密算法實踐 59
2.7 密鑰 62
2.7.1 生成密鑰 63
2.7.2 口令和PEB算法 63
2.7.3 密鑰存儲和傳輸 66
2.8 密鑰協商算法 67
2.8.1 RSA密鑰協商算法 68
2.8.2 DH密鑰協商算法 69
2.8.3 DH算法分類 71
2.8.4 DH密鑰協商算法實踐 71
2.9 橢圓曲線密碼學 73
2.9.1 ECC算法的基本模型 74
2.9.2 使用OpenSSL了解命名曲線 75
2.9.3 ECDH協商算法 76
2.9.4 命名曲線 77
2.10 數字簽名 79
2.10.1 數字簽名的用途 79
2.10.2 數字簽名的流程 80
2.10.3 RSA數字簽名算法 81
2.10.4 RSA數字簽名實踐 81
2.11 DSA數字簽名算法 83
2.11.1 內部結構 84
2.11.2 DSA算法實踐 85
2.11.3 ECDSA算法 87
2.11.4 ECDSA算法實踐 88
2.12 算法安全性和性能 90
2.12.1 密鑰長度與算法安全性 90
2.12.2 密碼學性能 91
第3章 宏觀理解TLS 101
3.1 TLS/SSL協議綜述 101
3.1.1 TLS/SSL協議的歷史 101
3.1.2 正確認知TLS/SSL協議 102
3.1.3 TLS/SSL協議的目標 103
3.1.4 OpenSSL和TLS/SSL的關系 104
3.1.5 HTTPS和TLS/SSL的關系 105
3.1.6 TLS/SSL協議的一些實現 106
3.2 TLS/SSL協議背后的算法 107
3.2.1 加密算法和MAC算法 107
3.2.2 密鑰協商算法 108
3.2.3 前向安全性 110
3.2.4 密鑰衍生算法 111
3.2.5 中間人攻擊 112
3.2.6 PKI 114
3.3 HTTPS總結 117
3.3.1 握手 119
3.3.2 加密 125
3.4 實施HTTPS網站的**條件 125
3.4.1 證書和密鑰對 126
3.4.2 部署和配置HTTPS網站 126
3.4.3 全站HTTPS策略 127
3.5 從用戶的角度看HTTPS 128
3.5.1 綠色小鎖圖標 128
3.5.2 TLS/SSL握手失敗 129
3.5.3 混合內容 131
第4章 選擇HTTPS的必要性和疑惑 134
4.1 部署HTTPS的疑惑 134
4.1.1 網站好像沒有隱私數據 134
4.1.2 復雜性 135
4.1.3 成本 137
4.1.4 性能 137
4.1.5 外部資源不支持HTTPS 138
4.1.6 收益和時間對比 139
4.2 部署HTTPS的必要性 140
4.2.1 HTTP/2帶來的性能提升 140
4.2.2 趨勢 140
4.2.3 企業形象 142
4.2.4 HTML5的特性 142
4.2.5 iOS ATS的安全要求 143
4.2.6 Chrome和Firefox所做的努力 143
4.2.7 SEO排名和谷歌Analytics 144
第5章 快速搭建一個HTTPS網站 145
5.1 HTTPS網站構建分析 145
5.2 獲取證書和密鑰對 146
5.2.1 自簽名證書 147
5.2.2 向CA機構申請證書 148
5.2.3 使用Let’s Encrypt證書 149
5.3 部署證書和密鑰對 150
5.3.1 Nginx配置 150
5.3.2 Apache配置 151
5.4 測試HTTPS 152
5.5 301重定向 154
5.6 HSTS 155
5.6.1 什么是HSTS 155
5.6.2 HSTS實踐 158
5.6.3 瀏覽器支持 158
5.6.4 HSTS Preloading 159
5.7 CSP 159
5.7.1 如何消除混合內容 159
5.7.2 什么是CSP 160
5.7.3 瀏覽器的兼容性 161
5.7.4 CSP實踐 161
第6章 證書 165
6.1 X.509標準和PKI 165
6.1.1 X.509標準 166
6.1.2 PKI的組成 166
6.1.3 X.509標準的內容 167
6.2 證書 167
6.2.1 ASN.1 167
6.2.2 證書結構 168
6.2.3 CSR 172
6.2.4 證書擴展 174
6.2.5 證書分類 177
6.3 證書鏈 180
6.3.1 證書類型 180
6.3.2 信任原理 182
6.3.3 信任鏈校驗 183
6.3.4 信任錨 184
6.3.5 委派和交叉認證 186
6.3.6 證書完整校驗 189
6.4 CRL 190
6.4.1 證書過期和吊銷 190
6.4.2 證書被吊銷的原因 191
6.4.3 CRL是什么 191
6.4.4 CRL校驗 192
6.4.5 CRL的結構 193
6.4.6 CRL存在的問題 195
6.5 OCSP 196
6.5.1 OCSP是什么 196
6.5.2 OCSP模型概述 197
6.5.3 OCSP詳解 200
6.6 OCSP封套 204
6.6.1 OCSP的優缺點 204
6.6.2 OCSP封套的工作原理 205
6.6.3 OCSP封套的優點 206
6.6.4 OCSP封套的兼容性 207
6.7 OpenSSL命令行管理證書 207
6.7.1 證書格式 207
6.7.2 證書的其他格式 208
6.7.3 獲取線上證書 209
6.7.4 導入證書到根證書庫 213
6.7.5 OpenSSL管理CSR 216
6.7.6 OpenSSL生成證書 218
6.7.7 OpenSSL查看證書 218
6.7.8 校驗CRL 224
6.7.9 校驗OCSP 227
6.7.10 校驗OCSP封套 232
6.8 其他 233
6.8.1 如何選擇一個CA機構 233
6.8.2 證書的透明度 236
第7章 Let’s Encrypt免費證書 244
7.1 Let’s Encrypt 244
7.1.1 Let’s Encrypt CA機構的特點 244
7.1.2 Let’s Encrypt證書的特點 245
7.2 Let’s Encrypt工作原理 248
7.2.1 域名校驗過程 248
7.2.2 請求、更新、續期、撤銷證書流程 249
7.3 Certbot客戶端 249
7.4 Let’s Encrypt的其他信息 264
第8章 TLS協議分析 267
8.1 如何理解RFC文檔 267
8.2 描述語言 270
8.3 TLS/SSL協議概述 273
8.4 TLS記錄層協議 278
8.5 TLS/SSL握手協議 288
8.6 擴展 306
8.7 基于Session ID的會話恢復 316
8.8 SessionTicket 319
8.9 使用Wireshark學習TLS/SSL協議 325
第9章 HTTPS性能和安全 347
9.1 密碼套件 347
9.2 安全性 364
9.3 性能 385
第10章 HTTPS網站實戰 414
10.1 工具化配置HTTPS 414
10.2 自動化測試HTTPS網站 426
10.3 OpenSSL命令行工具 439
10.4 實戰HTTPS網站部署 454
10.5 大型網站部署HTTPS 471
展開全部
深入淺出 HTTPS:從原理到實戰 相關資料
本書集理論、協議細節、漏洞分析、架構部署于一體,是一份非常詳盡的Web應用安全指南,作者是一個具有10多年大型網站開發經驗的一線開發者和資深架構師。在本書中,作者站在開發者的角度,從密碼學基礎、TLS協議、PKI體系、HTTPS安全及性能、安全網站實踐等方面,全方位解讀了HTTPS,本書也是作者多年工作經驗的總結。更難得的是,雖然密碼學、HTTPS相關知識比較晦澀,但是本書閱讀起來非常輕松,強烈建議對HTTPS技術有需求的讀者閱讀本書。
——新浪郵箱技術負責人、資深架構師
朱歡
衛東深入淺出地從概念、理論、指令、實操等多個層次、多個角度對HTTPS做了完整的闡述,本書是學習密碼學基礎、網絡開發和安全知識不可多得的一本好書。本書手把手引導讀者如何應用HTTPS,入門門檻低,同時內容很有深度,對于高階HTTPS用戶來說也有很多值得參考和借鑒的地方。本書也可以當作一本網絡安全科普書來讀,感謝作者的辛勤付出!
——原jingdong商城網站首席架構師
隋劍峰
本書由淺入深、通俗易懂地講述了HTTPS原理,并給出實例方便讀者加深理解。通讀本書對于開發、安全、架構等都非常有幫助,對于每一位優秀的開發者來說,如果希望構建更安全、更可靠的系統,那么本書非常值得一讀,并可以增強內功!
——醫渡云安全總監
劉袁君
HTTP設計之初就沒有考慮安全性問題,導致信息泄露、流量劫持等安全問題頻出,現如今BATJ等互聯網公司都完成了全站HTTPS的遷移,HTTPS是大勢所趨,但是部署HTTPS是一個系統工程,稍有不慎,就有可能適得其反,導致用戶訪問延時增加,吞吐率下降。本書系統地講述了HTTPS的上下游知識,既有密碼學理論,又有工程實踐,相信會對閱讀本書的你很有幫助。
——jingdong金融技術專家
吳建苗
深入淺出 HTTPS:從原理到實戰 作者簡介
虞衛東,網名虞大膽,新浪網高級技術經理。曾先后供職過新浪博客產品部和趕集網移動事業部。在新浪博客工作多年,擔任過開發工程師、技術經理、應用架構師等,負責新浪博客的開發、運維、設計、性能優化等工作。在趕集網擔任過技術總監,負責趕集網客戶端后端開發工作。十余年來一直致力于Web后端開發,積累了豐富的架構設計、開發、運維經驗,擅長PHP、Python等開發語言。