鼎鼎知识库
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

3 роки тому
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. 发展
  2. ```
  3. --1995:网景公司推出SSL3.0协议
  4. --1999:TLS1.0
  5. --2006:TLS1.1
  6. --2008: TLS1.2
  7. --2018: TLS1.3
  8. ```
  9. `SSL`: Secure Sockets Layer
  10. `TLS`: Transport Layer Security
  11. `ISO/OSI`模型
  12. ```
  13. 应用层:HTTP协议
  14. 表示层:SSL协议在这里展开,在HTTP协议无感的情况下,对明文加密,包括握手、密钥交换、告警、对称加密
  15. 会话层:
  16. 传输层:
  17. 网路层:
  18. 数据链路层:
  19. 物理层
  20. ```
  21. `TLS`安全密码
  22. ```
  23. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  24. ECDHE:密钥交换,椭圆曲线加密算法,保证浏览器和服务器之间各自独立生成密钥,使用密钥加密数据
  25. RSA:身份验证
  26. 密码:AES:算法+128:强度+GCM:模式
  27. SHA256:MAC或PRE,摘要算法,把不定长度字符串生成不定长度的摘要
  28. ```
  29. 对称加密
  30. ```
  31. 使用同一个密钥进行加密或解密
  32. 优点是性能好
  33. ```
  34. 非对称加密
  35. ```
  36. 公钥+私钥
  37. 使用公钥加密,使用私钥解密
  38. 使用私钥加密,使用公钥解密
  39. ```
  40. 公信机构
  41. ```
  42. CA:公信机构
  43. 证书订阅人:服务器站点
  44. --证书订阅人:发送CSR, request certificate issuance登记机构
  45. --登记机构:发送request certificate issuane给CA
  46. --CA:发布公钥和私钥,公钥在证书里保存着,交给登记机构
  47. --登记机构:把公钥和私钥交给证书订阅人
  48. --订阅人:把证书部署到服务器
  49. --浏览器:请求证书
  50. --服务器:发布公钥证书给浏览器
  51. --CA通过CRL服务器,或者OCSP响应判断证书是否有效
  52. ```
  53. 证书类型
  54. ```
  55. --域名验证,domain validated, DV证书,只要域名指向的IP是申请证书的服务器,实时获取
  56. --组织验证,organization validated, OV证书,企业名称,需要几天时间,
  57. --扩展验证,extended validation,EV证书,在浏览器会显示公司名称
  58. ```
  59. 证书链。`Nginx`向浏览器发送证书时,发送站点的主证书,再发送二级证书。
  60. ```
  61. --根证书:被操作系统或浏览器内置
  62. --二级证书
  63. --主证书
  64. ```
  65. `TLS`通讯过程
  66. ```
  67. --四个目的
  68. 验证身份
  69. 达成安全套件共识
  70. 传递密钥
  71. 加密通讯
  72. --具体过程
  73. -浏览器:发送ClientHello, 告诉服务器支持的加密类型,随机数,SessionID,告诉浏览器哪个加密算法套件
  74. -服务器:发送ServerHello, 告诉浏览器支持的加密算法套件
  75. -服务器:把公钥证书发送给浏览器,包含证书链
  76. -浏览器:验证证书
  77. -服务器:ServerHelloDone,比如安全套件中的椭圆曲线算法,把相关参数发送给浏览器,服务器有自己的私钥,把公钥发送给浏览器
  78. -浏览器:根据参数生成私钥,把公钥发送给服务器
  79. -服务器和浏览器:使用公钥和密钥进行加密解密
  80. ```