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

为什么需要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)说明:只有私钥的拥有者可对公钥加密内容进行解密(网站需保管好自己的私钥)

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

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

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

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

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

非对称加密

甲:任意想一个三位数,然后把这三位数乘以91,把乘积的末三位告诉我。 乙:193。 甲:乙想的数是123。
原理:abc Web信息安全实践_1.5 SSL (secure socket layer),  Web信息安全实践_1.5 SSL (secure socket layer)
例:123

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

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

 

 
上一篇:了解Linux 日志


下一篇:mysql数据导入导出