​​ iOS面试题(二十八)网络---HTTPS与网络安全

9.网络

  • HTTP协议(什么是HTTP,HTTP当中的get和post有什么区别)
  • HTTPS与网络安全(HTTPS连接建立流程是什么,它与安全又有怎么的关系呢)
  • TCP/UDP(TCP连接建立的三次握手,四次挥手以及UDP和长链接之间都有怎样的关系和含义呢)
  • DNS解析
  • Session/Cookie

HTTPS与网络安全

2016年年底,苹果公司向开发者提出要求:全面适配https网络请求,此要求是为了提高iOS客户端的安全性

HTTP和HTTPS的区别:HTTPS = HTTP + SSL/TLS,多出的 SSL/TLS,就是安全模块


IP层: 网络层
TCP层:传输层
HTTP:应用层
SSL/TLS: 也可以说是应用层,更准确的说是应用层之下,传输层上面的协议中间层

总结: HTTPS是安全的HTTP,他的安全,是由SSL/TLS这个插在应用层之下,传输层上面的协议来保障的

HTTPS的连接建立流程(有安全保证)是怎样的?

  • 客户端向Server端发报文,包含客户端支持的TLS版本,客户端支持的加密算法,还有一个随机C
  • Server返回给客户端一个握手消息,也包括最终决定的加密算法(客户端提供N中,Server选择一个),随机数S和Server的证书
  • 客户端收到响应内容后,首先进行证书的公钥验证,来判定当前server是否合法
  • 客户端组装会话秘钥(用随机数C+S+客户端产生的预主秘钥三个组装合 )
  • 客户端会发送报文,通过Server的公钥对预主秘钥进行加密传输
  • server端通过私钥解密得到预主秘钥
  • server端组装会话秘钥(用随机数C+S+私钥解密得到的预主秘钥三个组装合成)
  • 客户端向Server端发送加密的握手消息
  • Server端返回给客户端一个加密的握手消息,来验证安全通道是否已经验证完成

备注:
会话秘钥 = 随机数S + 随机数C + 预主秘钥
会话秘钥是对称加密的秘钥
公钥和私钥是非对称加密

HTTPS中使用了哪些加密手段,为什么使用这些?

主要使用了对称加密和非对称加密

  1. 连接建立过程使用非对称加密,保证安全
    非对称加密很耗时!  因为加密和解密使用的手段不一样
  2. 数据传输过程是使用的对称加密,减少耗时所带来的性能损耗

非对称加密


假设发送方要发送hello出去,那么发送方会先用一个公钥对hello进行加密,之后经过TCP的连接,将加密之后的内容发给接收方
当接收方拿到数据后,用私钥进行解密,然后拿到hello
加密用公钥,解密就要用私钥,如果加密用私钥,那么解密就要用公钥
   加密和解密必须使用不同的钥
好处是非常安全,只有公钥是在TCP中传输,私钥永远保留在Server端,不涉及被中间人盗取的情况

对称加密


发送方使用一个对称秘钥进行加密,然后将结果通过TCP连接传过去
接收方通过同一个对称秘钥进行解密,拿到结果
加密和解密是同一把钥匙
自身缺点是:秘钥需要通过TCP通道进行传递,这样server才能使用这个秘钥,一旦在传递过程中被中间人攻击,那么就不能保证安全了

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值