最近大半年一直在学习 HTTPS 协议的知识,期间也阅读了很多不错的书籍和网站,这篇文章汇众了一些学习资料,希望对大家有所帮助。
注意:
- 这篇文章主要包括书籍和网站,不涉及具体的文章。
- 推荐的书籍和网站都是我看过的。
- 学习 HTTPS 协议的途径:首先学习密码学,然后学习 TLS/SSL 协议,最后才学习 HTTPS 协议。
- 大家可以推荐一些学习资料给我。
1:维基百科
如果想概括性的理解密码学和 TLS/SSL 协议,那么维基百科是最好的资料,它对于知识的提炼和总结非常的棒,大家在学习某个知识点之前,可以先查阅维基百科,获取大概的印象,并且其引用的文章也非常的好,可以做进一步的学习。
对于密码学和 TLS/SSL 协议的初学者,可以查看维基百科的索引页[Outline of cryptography](https://en.wikipedia.org/wiki/Outline_of_cryptography)。
2:OpenSSL
OpenSSL 是目前最流行的密码库和 TLS/SSL 协议实现,它的官方 Wiki 描述的知识点并不是很好理解,更像是 OpenSSL 开发者的手册,但不可否认,它仍然是非常好的 TLS/SSL 协议学习资料。如果想整体了解 TLS/SSL 协议,可以查看[SSL and TLS Protocols](https://wiki.openssl.org/index.php/SSL_and_TLS_Protocols)。
Cloudflare 是国外一个非常著名的 CDN 厂商,在 HTTPS 协议方面的研究非常有造诣,其官方博客的每篇文章我都会仔细阅读。推荐它的主要原因有两点,首先它经常描述 HTTPS 协议的一些新的知识点和应用,其次博文的质量非常高,既有科普性又有实践性,即使一个不太了解 HTTPS 协议的人看了它的文章后,也会有收获,我第一次看到[Keyless SSL: The Nitty Gritty Technical Details](https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/)这篇文章,兴奋了好几天,讲解的太通透了。
4:ssllabs.com
如果你想长期关注 HTTPS 协议的使用情况,了解部署的最佳实践,那么必须推荐 ssllabs.com。它提供了几个非常不错的工具,协助开发者更好的部署 HTTPS 网站。
5:RFC
在学习 HTTPS 协议的时候,如果在理解的时候产生模棱两可的感觉,那么 RFC 文档是最好的决断资料,RFC 文档描述了很多密码学标准,也包括 TLS/SSL 协议标准,如果想系统、全面、正确的理解 TLS/SSL 协议,那么唯一的途径就是研究 RFC 文档。比如我非常喜欢[Recommendations for Secure Use of TLS](https://tools.ietf.org/html/rfc7525)这个文档。
6:《Bulletproof SSL and TLS Understanding and Deploying SSL_TLS and PKI to Secure Servers and Web Applications(2014)》
这本书在国内已经翻译了,书名是《HTTPS权威指南》,对于初学者来说,不推荐这本书,这本书很大篇幅讲解了 HTTPS 协议安全问题,对于 HTTPS 协议原理、证书原理讲解的比较少,都是一笔带过,所以说不适合初学者,不过整体上这本书的质量非常好,我阅读了好几遍,每读一遍就有新的收获。
推荐本书的另外一个原因就是讲解了 OpenSSL 命令行操作,非常具有实践性,如果读者不想阅读这本书,而只想了解 OpenSSL 命令行操作,可以阅读《openssl-cookbook》手册,该手册的内容来自于本书。
7:《Network Security with OpenSSL Ebook(O'Reilly)》
读者如果想学习密码学知识,那么必须推荐本书,本书内容并不多,使用很少的时间就能阅读完,描述的非常简单且不晦涩,本书以 OpenSSL 命令行的角度去理解密码学的各个算法,需要注意的是,本书没有涉及很多 TLS/SSL 协议的知识点。
8:《Implementing SSL_TLS Using Cryptography and PKI》
如果想学习 TLS/SSL 协议,那么这本书是最好的资料,以源码的角度讲解了 TLS/SSL 协议实现,整体结构很紧凑,通俗易懂,唯一的问题就是本书编写的时间是 2009 年,知识点相对来说有些过时,考虑到 TLS/SSL 协议并没有本质上的修改,强烈建议学习本书。
9:《图解密码技术》
对于想了解密码学知识的人来说,这本书估计大部分看过,我也不例外,它把每个密码学算法的关键点都讲了出来,目前本书已经出了第三版,我没有看过,从目录上看,主要增加了 ECC 知识。
10:《Crypto101》
这是一本在线电子书,本书还没有完整编写完,相比《图解密码技术》来说,更专业,更系统,当然理解的时候也更困难,对于我来说,本书是学习密码学知识的首选。
11:commandlinefanatic.com
这个博客的作者就是《Implementing SSL_TLS Using Cryptography and PKI》的作者,虽然博客更新的内容并不多,但是每一篇文章都是精华,建议大家关注下。
12:https://www.cryptologie.net/links/index
这个博客也建议大家重点关注,作者每天都在搜集最新的 HTTPS 协议和密码学资料,如果想长期关注密码学,那么该博客索引的内容是必读的。
13:An Overview of Cryptography
[An Overview of Cryptography](https://www.garykessler.net/library/crypto.html)的内容我没有看过,从结构上看,这是系统学习安全知识非常好的一个资料,不限于 TLS/SSL 协议。
14:https://vincent.bernat.im/en/blog,https://www.imperialviolet.org/
这两个博客也是我关注比较多的,能够学到很多密码学和 HTTPS 协议的知识。
领取专属 10元无门槛券
私享最新 技术干货