安卓应用安全指南 5.4.2 通过 HTTPS 的通信 规则书

简介: 5.4.2 通过 HTTPS 的通信 规则书 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0使用 HTTP/S 通信时,遵循以下规则:5.4.2.1 必须通过 HTTPS 通信发送/接收敏感信息(必需)在 HTTP 事务中,发送和接收的信息可能被嗅探或篡改,并且连接的服务器可能被伪装。

5.4.2 通过 HTTPS 的通信 规则书

原书:Android Application Secure Design/Secure Coding Guidebook

译者:飞龙

协议:CC BY-NC-SA 4.0

使用 HTTP/S 通信时,遵循以下规则:

5.4.2.1 必须通过 HTTPS 通信发送/接收敏感信息(必需)

在 HTTP 事务中,发送和接收的信息可能被嗅探或篡改,并且连接的服务器可能被伪装。 敏感信息必须通过 HTTPS 通信发送/接收。

5.4.2.2 必须小心和安全地处理通过 HTTP 接收到的数据(必需)

HTTP 通信中收到的数据可能由攻击者利用应用的漏洞产生。 因此,你必须假定应用收到任何值和格式的数据,然后小心实现数据处理来处理收到的数据,以免造成任何漏洞。此外,你不应该盲目信任来自 HTTPS 服务器的数据。 由于 HTTPS 服务器可能由攻击者制作,或者收到的数据可能在 HTTPS 服务器的其他位置制作。 请参阅“3.2 小心和安全地处理输入数据”。

5.4.2.3 SSLException必须适当处理,例如通知用户(必需)

在 HTTPS 通信中,当服务器证书无效或通信处于中间人攻击下时,SSLException会作为验证错误产生。 所以你必须为SSLException实现适当的异常处理。 通知用户通信失败,记录故障等,可被认为是异常处理的典型实现。 另一方面,在某些情况下可能不需要特别通知用户。 因为如何处理SSLException取决于应用规范和特性,你需要首先考虑彻底后再确定它。

如上所述,当SSLException产生时,应用可能受到中间人的攻击,所以它不能实现为,试图通过例如 HTTP 的非安全协议再次发送/接收敏感信息。

5.4.2.4 不要创建自定义的TrustManager(必需)

仅仅更改用于验证服务器证书的KeyStore,就足以通过 HTTPS ,与例如自签名证书的私有证书进行通信。 但是,正如在“5.4.3.3 禁用证书验证的危险代码”中所解释的那样,在因特网上有很多危险的TrustManager实现,与用于这种目的的示例代码一样。 通过引用这些示例代码而实现的应用可能有此漏洞。

当你需要通过 HTTPS 与私有证书进行通信时,请参阅“5.4.1.3 通过 HTTPS 与私有证书进行通信”中的安全示例代码。

当然,自定义的TrustManager可以安全地实现,但需要足够的加密处理和加密通信知识,以免执行存在漏洞的代码。 所以这个规则应为(必需)。

相关文章
|
21天前
|
Android开发
Android JNI与CAN通信遇到的问题总结
Android JNI与CAN通信遇到的问题总结
37 1
|
3月前
|
安全 搜索推荐 前端开发
揭秘 HTTPS 加密协议:保护你的网上安全之道
揭秘 HTTPS 加密协议:保护你的网上安全之道
174 0
|
4月前
|
安全 Linux Android开发
Android 安全功能
Android 安全功能
39 0
|
4月前
|
安全 Linux Android开发
Android安全启动学习(一):AVB校验是什么?
Android安全启动学习(一):AVB校验是什么?
128 0
|
4月前
|
存储 安全 Linux
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
135 0
|
5天前
|
安全 算法 网络协议
HTTPS:如何确保您的网站数据传输安全?
HTTPS:如何确保您的网站数据传输安全?
|
6天前
|
Java 物联网 Linux
Android硬件通信之 串口通信
Android硬件通信之 串口通信
8 0
|
14天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
3月前
|
缓存 安全 应用服务中间件
HTTPS解密:安全通信的魔法之窗
HTTPS解密:安全通信的魔法之窗
43 0
|
4月前
|
JSON 安全 网络安全
超详细的用户认证、权限、安全原理详解(认证、权限、JWT、RFC 7235、HTTPS、HSTS、PC端、服务端、移动端、第三方认证等等)
超详细的用户认证、权限、安全原理详解(认证、权限、JWT、RFC 7235、HTTPS、HSTS、PC端、服务端、移动端、第三方认证等等)
373 0