DNS qua HTTP/3 trong Android

Để giúp giữ cho các truy vấn DNS của người dùng Android ở chế độ riêng tư, Android hỗ trợ DNS được mã hóa. Ngoài hỗ trợ hiện có cho DNS-over-TLS, Android hiện hỗ trợ DNS-over-HTTP/3 có một số cải tiến so với DNS-over-TLS.

Hầu hết các kết nối mạng đều bắt đầu bằng tra cứu DNS. Mặc dù bảo mật vận chuyển có thể được áp dụng cho chính kết nối, nhưng việc tra cứu DNS theo truyền thống không ở chế độ riêng tư theo mặc định: giao thức DNS cơ sở là UDP thô không có mã hóa. Mặc dù internet đã chuyển sang TLS theo thời gian, nhưng DNS gặp sự cố khi khởi động. Xác minh chứng chỉ dựa trên miền của bên kia, miền này yêu cầu chính DNS hoặc chuyển sự cố sang DHCP (có thể được kiểm soát độc hại). Vấn đề này được giảm thiểu bởi các trình phân giải trung tâm như Google, Cloudflare, OpenDNS và Quad9, cho phép các thiết bị định cấu hình cục bộ một trình phân giải DNS duy nhất cho mọi mạng, ghi đè những gì được cung cấp qua DHCP.

Trong Android 9.0, chúng tôi đã công bố tính năng DNS riêng, tính năng này sử dụng DNS-over-TLS (DoT) để bảo vệ các truy vấn DNS khi được máy chủ bật và hỗ trợ. Thật không may, DoT phát sinh chi phí cho mọi yêu cầu DNS. Một giao thức DNS được mã hóa thay thế, DNS-over-HTTPS (DoH), đang nhanh chóng thu hút được sự chú ý trong ngành vì DoH đã được triển khai bởi hầu hết các nhà khai thác DNS công cộng, bao gồm cả Cloudflare Resolver và Google Public DNS .

Mặc dù chỉ sử dụng HTTPS sẽ không giảm đáng kể chi phí hoạt động, nhưng HTTP/3 sử dụng QUIC, một phương tiện truyền tải ghép nhiều luồng qua UDP một cách hiệu quả bằng cách sử dụng một phiên TLS duy nhất có nối lại phiên. Tất cả các tính năng này rất quan trọng để hoạt động hiệu quả trên thiết bị di động. Hỗ trợ DNS-over-HTTP/3 (DoH3) đã được phát hành như một phần của bản cập nhật hệ thống Google Play , vì vậy, vào thời điểm bạn đọc nội dung này, các thiết bị Android từ Android 11 trở đi 1 sẽ sử dụng DoH3 thay vì DoT cho phiên bản nổi tiếng 2 máy chủ DNS hỗ trợ nó. Dịch vụ DNS nào bạn đang sử dụng không bị ảnh hưởng bởi thay đổi này; chỉ giao thông vận tải sẽ được nâng cấp. Trong tương lai, chúng tôi mong muốn hỗ trợ DDR , thứ sẽ cho phép chúng tôi tự động chọn cấu hình chính xác cho bất kỳ máy chủ nào. Tính năng này sẽ làm giảm tác động hiệu suất của DNS được mã hóa.

1. Performance

DNS-over-HTTP/3 tránh được một số sự cố có thể xảy ra với hoạt động DNS-over-TLS:

  • Bằng cách so sánh, DoH3 chạy từng yêu cầu qua một luồng logic riêng biệt, nó sẽ giải quyết các yêu cầu không theo thứ tự theo mặc định.
  • Thiết bị di động thay đổi mạng thường xuyên khi người dùng di chuyển xung quanh. Với DoT, những sự kiện này yêu cầu xét lại toàn bộ kết nối. Ngược lại, HTTP/3 vận chuyển QUIC dựa trên có thể tiếp tục kết nối bị treo trong một RTT duy nhất.
  • DoT dự định cho nhiều truy vấn sử dụng cùng một kết nối để khấu hao chi phí  TCP và TLS khi bắt đầu.
  • Trong các mạng không đáng tin cậy, DoH3 thậm chí có thể hoạt động tốt hơn DNS truyền thống. Mặc dù không trực quan, nhưng điều này là do các cơ chế kiểm soát luồng trong QUIC có thể cảnh báo cho cả hai bên rằng các gói không được nhận.

Các phép đo tại hiện trường trong quá trình triển khai giới hạn ban đầu của tính năng này cho thấy DoH3 cải thiện đáng kể hiệu suất của DoT. Đối với các truy vấn thành công, các nghiên cứu của chúng tôi cho thấy rằng việc thay thế DoT bằng DoH3 giúp giảm 24% thời gian truy vấn trung bình và 44% thời gian truy vấn phân vị thứ 95.

Cả DoT và DoH3 đều giải quyết thành công 97% truy vấn, do đó, số liệu của chúng có thể so sánh trực tiếp. UDP chỉ giải quyết thành công 83% truy vấn. Do đó, độ trễ UDP không thể so sánh trực tiếp với độ trễ TLS/HTTP3.

Leave a Comment