Android P 开发者预览版支持 DNS over TLS

作者:Erik Kline (Android 软件工程师) & Ben Schwartza (Jigsaw 软件工程师)

绝大多数网络连接的第一步都是 DNS 查询。客户端 (如智能手机) 通常使用由 Wi-Fi 或者移动网络提供的 DNS 服务器。客户端向该 DNS 服务器发起查询,将域名 (如 developer.android.google.cn) 转换成 IP 地址 (如 2607:f8b0:4005:808::2003)。在 IP 地址返回到客户端后,客户端就能连接到目的地址。

在 1980 年代 DNS 协议刚诞生之时,互联网的规模和复杂程度远不及现在。在过去的几年中,互联网工程任务组 (Internet Engineering Task Force) 一直致力于定义新的 DNS 协议,为用户提供最新的安全以及隐私保护。该协议被称为 DNS over TLS 协议 (标准化为 RFC 7858)。

和 HTTPS 一样,DNS over TLS 使用 TLS 协议建立一条通往服务器的安全通道。一旦安全通道建立成功,除了对连接有监控权限的人之外,没有人可以读取或者更改 DNS 查询和响应 (安全通道仅应用于 DNS,因此它无法保护用户免遭其它类别的安全以及隐私侵犯。)

Android P 中的 DNS over TLS 安全协议

Android P 开发者预览版内置对 DNS over TLS 的支持,在 “网络和互联网” 设置中添加了隐私 DNS (Private DNS) 模式。

在默认设置下,若网络的 DNS 服务器提供支持,设备会自动升级至 DNS over TLS 协议。如果用户不愿意使用 DNS over TLS 协议,可自行关闭。

若用户想使用私有 DNS 服务器,那么他们可以输入一个主机名。Android 会通过安全通道向该服务器发送所有 DNS 查询;在无法送达服务器的情况下,则会标记该网络为 “无网络访问”。

用于进行测试,您可阅读《由社区维护的可兼容服务器名单

DNS over TLS 模式自动为所有系统上的应用提供安全 DNS查询。不过,若应用未使用系统 API,而是自行运行 DNS 查询,它们必须确保在系统进行安全连接情况下,不发送不安全的 DNS 查询。应用可以调用新的 API —— LinkProperties.isPrivateDnsActive(),来获取该信息。

我们宣布,从 Android P 开发者预览版开始,将会内置对 DNS over TLS 的支持。今后,我们希望 DNS 安全传输能够覆盖所有操作系统,为广大用户的每一次新连接都提供更好的安全隐私保护。

可以点击 “Android Developers 官方文档” 查看更多关于 Android 开发的内容


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,412评论 25 709
  • 原文: 高性能网络浏览器-第四章传输层安全性(Transport Layer Security,TLS) 翻译: ...
    梦很想家阅读 10,245评论 2 6
  • 绣十字绣是因为觉得好看、感兴趣,慢慢成为一种爱好,农忙的时候她去地里干活也要把十字绣带上,趁休息时间都要拿出来绣几...
    majer阅读 4,806评论 0 1
  • 我遇见你 是前世五百次的擦肩而过 我遇见你 是今生即将面对的数次别离 我遇见你 是最美好的一个秘密
    姜弋笙阅读 1,033评论 0 2
  • 上完三阶收获良多!对于临在和自我觉察有了更清晰和更深的感受!深度的临在让自己可以放下一切的束缚、享受到内心深处因平...
    诺有所思阅读 1,040评论 0 2