浅谈HTTPS安全性

各位可曾有过使用智能手机App在网络商店购物的经验,想必是有的,那你/妳会不会担心不够安全呢?有人会说放心吧,购物网站有使用SSL/TLS加密传输,我们就来聊聊HTTPS好了.

 

客户端与服务器端的交握过程是这样的,client发出request,而server在收到request后,会将自身信息以证书(包括签发机构,主体,公钥…)的形式回传.此时client会验证证书的合法性,若是受信任的,以浏览器为例,可以在网址列看到一把锁头,不然的话可是会出现警示标志的哦~

 

若是证书合法(或不合法但使用者选择继续),client端会生成一组随机密码,并用证书中的公钥进行加密,将信息传送给server.而server在收到client传送信息后,以私钥进行解密以取出密码,以密码解密client送来的交握信息.server再发送交握信息,交由client解密及验证是否一致,交握过程结束.之后的数据传输便是以先前client生成的随机密码以对称加密方式传送.因为数据量大,用对称加密算法会较有效率.

 

HTTPS的交握机制很安全,攻击者往往只能从假证书下手,采用SSL挟持的方式来进行攻击.先前曾出现过的漏洞也都被修补的差不多了.

 

以下是采用Fiddler做为Proxy Server的方式来观察手机登入某购物网站App的封包内容,登入画面如下所示.

 

App登入后,我们便可顺利看到登入的帐密(如红色框住部份便是密码),这样的结果令你/妳感到意外吗?

不过请别误会,这种设Proxy Server的方式还谈不上是中间人攻击.为各位简短的做个区别:

 

  1. Proxy代理-必须于被害者的手机上修改网络设定,指向某台Proxy Server,此时担任Proxy Server的工作站自然能”看”的到.这就好比我要求各位只能由我的指定的通道出入,那自然你/妳躲不过我所准备的安检机制.
  2. 中间人攻击-必须在被害者未及察觉的情况下进行,才称的上是个攻击,总不能你/妳想打人家,还跟对方借手机来设proxy吧~后续有机会再为各位详细说明一下如何攻击吧~
原文地址:https://www.cnblogs.com/pieces0310/p/5577512.html