Android正确处理Https认证,防止中间人攻击

Android在处理Https请求时如果处理不当会带来巨大安全隐患,其中原因有开发人员自身对https的不了解而导致。编写此文,帮助广大开发者提高安全意识,真正利用https防止中间人攻击。

客户端与服务端进行接口交互如果使用https有单向认证和双向认证两种。

一、SSL协议加密方式
SSL协议即用到了对称加密也用到了非对称加密(公钥加密),在建立传输链路时,SSL首先对对称加密的密钥使用公钥进行非对称加密,链路建立好之后,SSL对传输内容使用对称加密。

对称加密
速度高,可加密内容较大,用来加密会话过程中的消息

公钥加密
加密速度较慢,但能提供更好的身份认证技术,用来加密对称加密的密钥

二、https单向认证
Android正确处理Https认证,防止中间人攻击_第1张图片

三、https双向认证
Android正确处理Https认证,防止中间人攻击_第2张图片

【重要!!】在第3步中客户端校验服务端证书有效性需要在客户端代码中做以下操作:
1、证书是否过期
2、发型服务器证书的CA是否可靠
3、返回的公钥是否能正确解开返回证书中的数字签名
4、服务器证书上的域名是否和服务器的实际域名相匹配

你可能感兴趣的:(android笔记,https,https认证过程,客户端正确校验htt,中间人攻击)