ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Web信息安全实践_1.5 SSL (secure socket layer)

2020-01-27 11:02:49  阅读:190  来源: 互联网

标签:Web layer 公钥 加密 secure 证书 密钥 服务器 私钥


为什么需要SSL?

  • 明文不安全
    • 明文传输的用户名和密码被侦听到
      • 实验:使用wireshark抓包
  • Phishing(钓鱼攻击):
    • http://item.taobao.com/
    • http.//item.taobao/auction.com/

什么是SSL?

  • 1994.网景公司(Netscape)
  • SSL位于传输层之上,应用层之下
  • 具有良好的接口,为上层应用提供服务
    • e.g.
      • http→https
      • ftp→sftp

SSL的功能:在通信双方之间提供保密性和完整性

  • 服务器认证
  • 用户身份认证(Phishing)
  • 加密通信(明文传输)

SSL协议

  • SSL握手协议:建立通信双方的可靠连接
通信双方身份认证;身份认证通过后,双方协商本次通信使用的加密协议和加密密钥。
    • 验证服务器
    • 验证用户(可选)
    • 选择加密算法
    • 确定会话密钥
  • SSL记录协议:传输数据块

SSL工作过程

验证

  • 网站提供证书,浏览器验证
e.g. 我们可以拿身份证/学生证认证自己的身份。身份证由公安系统认证,学生证由学校认证。同样的,网站提供的证书也是由第三方机构(CA)认证。

加密

  • 协商会话算法和会话密钥
Q:协商过程是明文传输还是加密传输? A:加密传输。 Q:密钥从哪儿来? A:非对称加密。

证书

  • 获得证书过程
    • 服务器向CA提交证书请求
    • CA验证公司身份有效,向服务器签发证书
  • 证书中包含:
    • 证书颁发者
    • 证书所有者(申请证书的公司或机构,如服务器域名)
    • 证书所有者的公钥
      • 公钥↔私钥:加解密的密钥是可以互换的,不论用哪个密钥加密,另一个密钥都可以实现解密(通过公钥加密的内容只能通过私钥解密,通过私钥加密的的内容只能通过公钥解密)
      • 公钥

(1)定义:公开的密钥

(2)说明:任何人都可以使用公钥进行加密,把密文发给公钥的所有者

      • 私钥

(1)说明:只有私钥的拥有者可对公钥加密内容进行解密(网站需保管好自己的私钥)

      • 只要服务器将自己的公钥发出去,任何用户都可以使用这个公钥把自己想发给服务器的信息加密,譬如可以传一下生成加密密钥(对称密钥)的参数。服务器收到这个加密的参数信息之后,就可以使用自己的私钥解密,然后和用户协商出来一个对称密钥,用于之后的会话加密。
    • 证书有效期
    • ……

数字签名(公钥加密,私钥签名)

非对称加密的应用,数字签名是只有信息的发送者才能产生的内容,这段内容同时验证信息的产生者以及保证信息内容没有被篡改
  • 使用私钥加密没有保密性可言
  • 使用私钥加密的内容,只有公钥可以解开
  • 用公钥解开私钥加密的内容,说明了密文是由公钥所有者加密,也相当于公私钥所有者在公开声明“这段信息是我发出去的”,即签名,起担保作用
    • CA机构给服务器签发证书:服务器把自己的证书提交给CA机构,CA验证后使用自己的私钥给该证书签名(私钥加密)
    • 服务器把加密后的证书交给浏览器
    • 浏览器本身已保存相关CA信息(包括CA公钥)。浏览器收到服务器的证书后,使用CA的公钥给该证书解密,如果解密成功,而且证书中的域名和浏览器中的域名相对应,那么说明该网站是真正的网站

证书签发流程(整理、必考)

  • 在此之后,浏览器和服务器进行密钥协商。
    • 因为浏览器成功解密了服务器的证书,而证书中包含服务器的公钥,所以浏览器可以使用服务器的公钥对协商数据进行加密。
Q:既然浏览器已经获得服务器公钥,那为什么不直接传输数据,而还要进行密钥协商呢?
A:因为RSA的加密和解密过程都是幂乘运算,而幂乘运算非常消耗内存,所以改采用对称加密算法(位操作)进行数据传输。 *注:RSA算法一般只用于身份认证、密钥协商,很少用于数据加密。

非对称加密

甲:任意想一个三位数,然后把这三位数乘以91,把乘积的末三位告诉我。 乙:193。 甲:乙想的数是123。
原理:abc ,  
例:123

X(11193)乘以11的末三位是什么,只与X的末三位有关
  • 从密码学的角度来看,相当于是“对方”和“我”两人要交换一个信息123。
  • 但是网络是不安全的,所以“对方”首先用密钥91来乘以123。然后将加密出来的数据193在网络上传输。“我”收到密文之后,使用另一个密钥11来解密。
  • 在这个系统中,加解密的密钥是不同的,就是非对称加密。
 
e.g. 浏览器.管理证书

 

 

标签:Web,layer,公钥,加密,secure,证书,密钥,服务器,私钥
来源: https://www.cnblogs.com/tianjiazhen/p/12235509.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有