深入淺出HTTPS:從原理到實戰 深入浅出HTTPS:从原理到实战

虞衛東

  • 出版商: 電子工業出版社
  • 出版日期: 2018-06-01
  • 定價: $534
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 512
  • 裝訂: 平裝
  • ISBN: 7121341786
  • ISBN-13: 9787121341786
  • 相關分類: HTTP

立即出貨

買這商品的人也買了...

相關活動主題

20180802 %e6%9c%80%e6%96%b0%e5%88%b0%e8%b2%a8small

商品描述

本書是一本專業的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協議)知識,架構人員、開發人員、運維人員都適合閱讀本書。

作者簡介

虞衛東
網名虞大膽,新浪網高級技術經理。曾先後供職過新浪博客產品部和趕集網移動事業部。在新浪博客工作多年,擔任過開發工程師、技術經理、應用架構師等,負責新浪博客的開發、運維、設計、性能優化等工作。在趕集網擔任過技術總監,負責趕集網客戶端后端開發工作。十餘年來一直致力於Web後端開發,積累了豐富的架構設計、開發、運維經驗,擅長PHP、Python等開發語言。

目錄大綱

第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 HTT PS和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 HTT PS總結117 
3.3.1握手119 
3.3.2加密125 
3.4實施HTT PS網站的必備條件125 
3.4.1證書和密鑰對126 
3.4.2部署和配置HTT PS網站126 
3.4.3全站HTT PS策略127 
3.5從用戶的角度看HTT PS 128 
3.5.1綠色小鎖圖標128 
3.5.2 TLS /SSL握手失敗129 
3.5.3混合內容131 

第4章選擇HTT PS的必要性和疑惑134 
4.1部署HTT PS的疑惑134 
4.1.1網站好像沒有隱私數據134 
4.1.2複雜性135 
4.1.3成本137 
4.1.4性能137 
4.1.5外部資源不支持HTT PS 138
4.1.6收益和時間對比139 
4.2部署HTT PS的必要性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章快速搭建一個HTT PS網站145 
5.1 HTT PS網站構建分析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測試HTT PS 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.3.1安裝Certbot客戶端250 
7.3.2用戶註冊250 
7.3.3獲取和安裝證書251 
7.3 .4 Certbot Nginx插件252 
7.3.5 Certbot Apache插件255 
7.3.6 Certbot Webroot插件257 
7.3.7 Certbot Standalone插件259 
7.3.8 Certbot Manual插件259 
7.3.9 Certbot管理證書260 
7.3.10 Certbot查看證書261 
7.3. 11 Certbot撤銷證書262 
7.3.12 Certbot Revoking證書262 
7.3.13 Certbot高級操作263