码迷,mamicode.com
首页 > Web开发 > 详细

网页中的无间道1

时间:2017-10-09 02:04:10      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:处理   基本   判断   证书认证   钥匙   推导   数字   重定向   内容   

   在网络中,经常会传递一些数据,如果不加处理明文传递,一但网络被监控,数据将赤裸裸的展现在窃听者面前。主要有以下三大风险

  1. 窃听风险(eavesdropping):第三方可以获知通信内容。
  2. 篡改风险(tampering):第三方可以修改通信内容。
  3. 冒充风险(pretending):第三方可以冒充他人身份参与通信。

  总结需要做三件事

加密:是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性

身份认证:是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。

封装大法:对应用层有需要透明处理数据,也能把工作留在下层,不给上层制造麻烦。

  所以网景公司站出来开发了ssl(Secure Socket Layer)安全协议,就是在传输层加密。在达到ftp,http等应用层已经解密。网景的技术只用于web,但后来被人认可,IEtF有将其发扬光大出现TLS(Transport Layer Security)

  达到效果

  1. 所有信息都是加密传播,第三方无法窃听。
  2. 具有校验机制,一旦被篡改,通信双方会立刻发现。
  3. 配备身份证书,防止身份被冒充。

具体操作:  SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

我理解的分为了三步,1.认证2.指定加密规则3加密解密。

首选1认证:要像完成认证将使用一伟大的加密技术,非对称加密rsa。

RSA:RSA是一种非对称加密的算法,所谓非对称加密算法,就是用于加密解密的密钥有两个,即公钥和私钥,用公钥加密过的数据,只有私钥才能解密,用私钥加密过的数据,只有公钥才能解密。(对称加密算法就是说用于加密解密的只有一个密钥,密钥既能加密数据,又能解密数据) 
公钥是可以公开的,别人知道也无所谓,私钥则要存储在安全的地方,不能泄漏。

我理解的rsa的两个作用:

1.加密文件:流程可以理解为  谁都可以用公钥加密文件发给我,但它用我的公钥加密后,只有我用私钥能解开。有个比喻不知道有没有漏洞,公钥可以比作锁,私钥是钥匙,钥匙只有我有,有无数把相同的锁头,锁上就只有我能打开了。

 2.认证:用私钥加密一个东西,只要我发出的公钥能解开,他们就知道这个是我了。

感想:其实公钥私钥都有上锁功能,虽然不知道数学上的推导,但我理解公钥私钥只是两个名字的定义,如果公钥保留一份,私钥随处发是不是身份就调换了。

 

基于私钥创建证书的认证过程: 即有人将其他的服务器的公钥给了客户端,使客户端误以为自己在跟正确的服务器进行交互。(攻击者可以在代理服务器层拦截客户端的请求,再重定向到自己的服务器) 

  • 这时候我们需要一个权威的第三方机构(CA)确认这一个公钥确实是真实的服务器的公钥,服务器将自己的公钥和一些私人信息发给CA,CA用自己的私钥将这些数据加密之后就是数字证书(SSL证书)。
  • 当服务器向客户端发送数据的时候,还附带上从CA下载到本地的证书,客户端拿到证书以后使用CA的公钥进行解密,确认服务器的公钥无误。

基于公开密钥的加密过程

  比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

  1. Bob将他的公开密钥传送给Alice。
  2. Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
  3. Bob用他的私人密钥解密Alice的消息。

如何确保你拿到的服务器公钥确实是正确的服务器的公钥呢? 即有人将其他的服务器的公钥给了客户端,使客户端误以为自己在跟正确的服务器进行交互。(攻击者可以在代理服务器层拦截客户端的请求,再重定向到自己的服务器) 

  • 这时候我们需要一个权威的第三方机构(CA)确认这一个公钥确实是真实的服务器的公钥,服务器将自己的公钥和一些私人信息发给CA,CA用自己的私钥将这些数据加密之后就是数字证书(SSL证书)。
  • 当服务器向客户端发送数据的时候,还附带上从CA下载到本地的证书,客户端拿到证书以后使用CA的公钥进行解密,确认服务器的公钥无误。

 

回到ssl实际上ssl只用了,rsa的认证,和证书认证,并没有使用rsa的加密,而且使用的一种约定的对称性,下章在说。

网页中的无间道1

标签:处理   基本   判断   证书认证   钥匙   推导   数字   重定向   内容   

原文地址:http://www.cnblogs.com/LiSuSpAu/p/7636254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!