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 开发的内容

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与算法进阶

学习Git(一)起步

什么是Git 在Git官网上找到这样一段描述 Git is a free and open source distributed version control...

3336
来自专栏小工匠技术圈

【Java小工匠】JavaNIO-基础概念

阻塞与非阻塞主要是程序等待消息通知时的状态角度来说的。阻塞调用是指调用结果返回之前,当前线程会被挂起,一直处于等待消息通知,不能够执行其他业务。

753
来自专栏会跳舞的机器人

ZooKeeper典型应用场景一览(转)

ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得Z...

881
来自专栏python学习之旅

loadrunner笔记(三):设置、运行场景和生成测试报告

1434
来自专栏苦逼的码农

谈谈NAT:什么?全球IP和私有IP是什么鬼?

可能你们会经常听到全球 IP(外网)和私有 IP(内网),他们的区别是什么呢?今天这篇文章来简单讲讲这到底是怎么回事。

1442
来自专栏信安之路

Linux需要谨慎使用的几个命令

运维人员经常接触的Linux系统比较多,在Linux下的管理与操作通常都是通过命令行的方式对服务器进行操作,为了操作安全,有些命令的危害是特别大的,需要谨慎使用...

901
来自专栏编程

分布式应用异常测试一二说

异常测试按性质分为应用层的业务逻辑异常测试、系统硬件/网络/文件/数据库/缓存/中间件异常测试,其中包含了许多的场景(单机、分布式),但所有的场景均和这两项有直...

2416
来自专栏xcywt

《Linux命令行与shell脚本编程大全》 第八章管理文件系统

ext:最早的文件系统,叫扩展文件系统。使用虚拟目录操作硬件设备,在物理设备上按定长的块来存储数据。

1053
来自专栏Django Scrapy

Elasticsearch1.0 介绍

优势 开源,稳定,快速,可扩展 由 Java开发 基于 restful web接口与服务器交互的分布式搜索引擎 搜索引擎除了elasticsearch还有 s...

2805
来自专栏北京马哥教育

25个必须记住的SSH命令

OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSS...

3555

扫码关注云+社区