面试-安全相关知识点

https中的中间人攻击
  • SSL协议位于TCP/IP协议与各种应用协议之间,是一种国际标准的加密及身份认证通信协议,为TCP提供一个可靠的端到端的安全服务,为两个通讯个体之间提供保密性和完整性。SSL层所处位置如下:
    在这里插入图片描述
    SSL协议使用通信双方的客户证书以及CA根证书。允许客户/服务器应用以一种不能被偷听的方式通信,在通信双方建立起了一条安全的、可信任的通信通道。

    SSL协议既用到了非对称加密技术又用到了对称加密技术。对称加密技术虽然比公钥加密技术的速度快,可是非对称加密技术提供的更好的身份认证技术。SSL的握手协议非常有效的让客户端和服务器之间完成相互之间的身份认证。其主要过程如下:

    1)客户端向服务器传输客户端的SSL协议版本号,支持的加密算法的种类,产生的随机数Key1及其他信息

    2)服务器在客户端发送过来的加密算法列表中选取一种,产生随机数Key2,然后发送给客户端

    3)服务器将自己的证书发送给客户端

    4)客户端验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA是否可靠,发行者的公钥能否正确解开服务器证书的”发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配,如果合法性验证没有通过,通信将断开,如果合法性验证通过,将继续向下进行;

    5)客户端随机产生一个Pre-Master-Key,然后用服务器的公钥(从证书中获得)对其加密,然后将该Pre-Master-Key发送给服务器

    6)服务器接收到Pre-Master-Key,则使用协商好的算法(H)计算出真正的用户通信过程中使用的对称加密密钥Master-Key=H(C1+S1+PreMaster);

    7)至此为止,服务器和客户端之间都得到Master-Key,之后的通信过程就使用Master-Key作为对称加密的密钥进行安全通信;

  • 中间人攻击:针对SSL的中间人攻击方式主要有两类,分别是SSL劫持攻击SSL剥离攻击

    SSL劫持攻击即SSL证书欺骗攻击
    攻击者为了获得HTTPS传输的明文数据,需要先将自己接入到客户端和目标网站之间;在传输过程中伪造服务器的证书,将服务器的公钥替换成自己的公钥,这样,中间人就可以得到明文传输带Key1、Key2和Pre-Master-Key,从而窃取客户端和服务端的通信数据;

    但是对于客户端来说,如果中间人伪造了证书,在校验证书过程中会提示证书错误,由用户选择继续操作还是返回,由于大多数用户的安全意识不强,会选择继续操作,此时,中间人就可以获取浏览器和服务器之间的通信数据。

    如果有SSL中间人攻击事件,并不是SSL协议或者SSL证书的问题,而是SSL证书的验证环节。中间人攻击的前提条件是,没有严格对证书进行校验,或者人为的信任伪造证书。所以,真正的HTTPS是不存在SSL中间人攻击的。

    SSL剥离攻击
    这种攻击方式也需要将攻击者设置为中间人,之后将HTTPS范文替换为HTTP返回给浏览器,而中间人和服务器之间仍然保持HTTPS。由于HTTP是明文传输的,所以中间人可以获取客户端和服务器传输数据

如何防御SSL中间人攻击?
Https协议简析及中间人攻击原理

SNI
  • SNI(Server Name Indication)是 TLS 的扩展,用来解决一个服务器拥有多个域名的情况。

    在客户端和服务端建立 HTTPS 的过程中要先进行 TLS 握手,握手后会将 HTTP 报文使用协商好的密钥加密传输。

    在 TLS 握手信息中并没有携带客户端要访问的目标地址。这样会导致一个问题,如果一台服务器有多个虚拟主机,且每个主机的域名不一样,使用了不一样的证书,该和哪台虚拟主机进行通信?

    和 HTTP 协议用来解决服务器多域名的方案类似,HTTP 在请求头中使用 Host 字段来指定要访问的域名(http 1.2)。TLS 的做法,也是加 Host,在 TLS 握手第一阶段 ClientHello 的报文中添加。

    SNI 在 TLSv1.2 开始得到支持。从 OpenSSL 0.9.8 版本开始支持。所以基本市场上的终端设备都支持。

DNS劫持
  • 域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使得请求失去响应,其效果就是对特定的网址不能访问或访问的是假网址。

  • 影响:域名劫持一方面可能影响用户的上网体验,用户被引到假冒的网站进而无法正常浏览网页,而用户量较大的网站域名被劫持后恶劣影响会不断扩大;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。

  • 由于域名劫持只能在特定的网络范围内进行,所以范围外的域名服务器(DNS)能返回正常IP地址。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值