Vì không ai cung cấp một dây chụp, đây là một.
Tên máy chủ (phần tên miền của URL) được trình bày trong ClientHello
gói, dưới dạng văn bản thuần túy .
Sau đây cho thấy một yêu cầu trình duyệt để:
https://i.stack.imgur.com/path/?some=parameters&go=here
Xem câu trả lời này để biết thêm về các trường phiên bản TLS (có 3 trong số chúng - không phải phiên bản, các trường mà mỗi trường chứa một số phiên bản!)
Từ https://www.ietf.org/rfc/rfc3546.txt :
3.1. Tên máy chủ
[TLS] không cung cấp cơ chế cho khách hàng nói với máy chủ tên của máy chủ mà nó đang liên hệ. Khách hàng có thể mong muốn cung cấp thông tin này để tạo điều kiện cho các kết nối an toàn đến các máy chủ lưu trữ nhiều máy chủ "ảo" tại một địa chỉ mạng cơ bản.
Để cung cấp tên máy chủ, khách hàng CÓ THỂ bao gồm một phần mở rộng của loại "server_name" trong ứng dụng khách (mở rộng) xin chào.
Nói ngắn gọn:
FQDN (phần tên miền của URL) CÓ THỂ được truyền rõ ràng bên trong ClientHello
gói nếu sử dụng tiện ích mở rộng SNI
Phần còn lại của URL ( /path/?some=parameters&go=here
) không có doanh nghiệp bên trong ClientHello
vì URL yêu cầu là một thứ HTTP (Lớp 7 OSI), do đó, nó sẽ không bao giờ xuất hiện trong một cái bắt tay TLS (Lớp 4 hoặc 5). Điều đó sẽ đến sau này trong một GET /path/?some=parameters&go=here HTTP/1.1
yêu cầu HTTP, SAU sự an toàn kênh TLS được thành lập.
TÓM TẮT THỰC HIỆN
Tên miền CÓ THỂ được truyền đi rõ ràng (nếu tiện ích mở rộng SNI được sử dụng trong bắt tay TLS) nhưng URL (đường dẫn và tham số) luôn được mã hóa.
CẬP NHẬT THÁNG 3 NĂM 2019
Cảm ơn bạn carlin.scott đã đưa cái này lên.
Tải trọng trong phần mở rộng SNI hiện có thể được mã hóa thông qua đề xuất RFC dự thảo này . Khả năng này chỉ tồn tại trong TLS 1.3 (dưới dạng tùy chọn và tùy thuộc vào cả hai đầu để thực hiện nó) và không có khả năng tương thích ngược với TLS 1.2 trở xuống.
CloudFlare đang làm điều đó và bạn có thể đọc thêm về các phần bên trong ở đây -
Nếu gà phải đến trước trứng, bạn sẽ đặt gà ở đâu?
Trong thực tế, điều này có nghĩa là thay vì truyền FQDN bằng văn bản thuần túy (như chương trình chụp Wireshark), giờ đây nó đã được mã hóa.
LƯU Ý: Điều này giải quyết khía cạnh riêng tư nhiều hơn khía cạnh bảo mật vì việc tra cứu DNS ngược có thể tiết lộ máy chủ đích dự định.