AlphaBay SecOps
Trang chủ › Ẩn Danh Mạng

Trình duyệt Tor hoạt động ra sao? Định tuyến củ hành là gì?

Ban biên tập AlphaBay SecOps · · Cập nhật
Trình duyệt Tor hoạt động ra sao? Định tuyến củ hành là gì?

Trình duyệt Tor hoạt động bằng cách gửi lưu lượng của bạn qua ba máy chủ trung gian ngẫu nhiên trong mạng Tor, và bọc dữ liệu trong ba lớp mã hóa chồng lên nhau, giống các lớp vỏ củ hành. Mỗi máy chủ chỉ bóc được một lớp, nên chỉ biết máy liền trước và máy liền sau; không máy nào biết cùng lúc bạn là ai và bạn đang truy cập đâu. Đó là bản chất của định tuyến củ hành (onion routing). Bài viết này đi vào chi tiết kỹ thuật: các loại nút, cách mạch được xây dựng, cách mã hóa được bóc từng lớp và cơ chế của dịch vụ onion.

Nguồn gốc của định tuyến củ hành

Ý tưởng định tuyến củ hành được phát triển tại Phòng thí nghiệm Nghiên cứu Hải quân Hoa Kỳ vào giữa thập niên 1990, với mục tiêu bảo vệ liên lạc trực tuyến. Phiên bản Tor (viết tắt của "The Onion Router") được công bố mã nguồn mở vào đầu những năm 2000, và hiện được duy trì bởi tổ chức phi lợi nhuận Tor Project. Tor Browser là bản Firefox được chỉnh sửa, đóng gói sẵn để kết nối vào mạng này.

Các thành phần của mạng Tor

Nút chuyển tiếp (relay)

Mạng Tor gồm hàng nghìn máy chủ do tình nguyện viên trên khắp thế giới vận hành. Mỗi mạch dùng ba vai trò:

  • Nút vào (guard/entry): nút đầu tiên, biết địa chỉ IP thật của bạn nhưng không biết bạn truy cập đâu. Tor giữ cố định một nút vào trong thời gian dài để giảm xác suất bạn rơi vào nút vào độc hại theo thời gian.
  • Nút giữa (middle): chỉ biết nút vào và nút ra, không biết nguồn hay đích.
  • Nút ra (exit): gửi yêu cầu tới trang web đích. Nó biết đích đến, nhưng không biết người gửi.

Máy chủ thư mục (directory authority)

Một nhóm nhỏ máy chủ tin cậy cùng biểu quyết để tạo ra "bản đồng thuận", danh sách các nút đang hoạt động cùng khóa công khai, băng thông và cờ đánh dấu vai trò. Tor Browser tải bản đồng thuận này để chọn nút.

Cầu nối (bridge)

Là nút vào không được liệt kê công khai, giúp người dùng ở nơi chặn Tor vẫn kết nối được. Cầu nối thường kết hợp với kỹ thuật làm nhiễu (pluggable transport) để lưu lượng trông không giống Tor.

Mạch được xây dựng như thế nào

  1. Tor Browser chọn ba nút từ bản đồng thuận, ưu tiên nút có băng thông cao và tránh chọn hai nút cùng họ hoặc cùng dải mạng.
  2. Trình duyệt thiết lập kết nối TLS tới nút vào, rồi thực hiện trao đổi khóa để tạo một khóa phiên chỉ hai bên biết.
  3. Qua đường hầm vừa tạo, trình duyệt "kéo dài" mạch tới nút giữa, lại trao đổi khóa riêng với nút giữa. Nút vào chỉ chuyển tiếp mà không biết khóa này.
  4. Tiếp tục kéo dài tới nút ra, tạo khóa phiên thứ ba.

Kết quả là trình duyệt có ba khóa phiên khác nhau, mỗi khóa dùng chung với đúng một nút. Mạch được dùng cho các kết nối mới trong một khoảng thời gian, sau đó Tor tạo mạch mới. Tor Browser còn tách mạch theo trang web, để hoạt động trên trang này không đi chung mạch với trang khác.

Bóc từng lớp củ hành

Khi gửi dữ liệu, trình duyệt mã hóa ba lần theo thứ tự ngược: đầu tiên bằng khóa của nút ra, sau đó khóa của nút giữa, cuối cùng khóa của nút vào. Dữ liệu được chia thành các ô (cell) có kích thước cố định để khó phân tích dựa trên độ dài gói.

ChặngNút làm gìNút biết gì
Bạn → Nút vàoBóc lớp ngoài cùngIP của bạn, nút giữa
Nút vào → Nút giữaBóc lớp thứ haiNút vào, nút ra
Nút giữa → Nút raBóc lớp cuối, thấy yêu cầu gốcNút giữa, trang web đích
Nút ra → Trang webGửi yêu cầu như một trình duyệt bình thườngTrang web thấy IP nút ra

Chiều về diễn ra ngược lại: mỗi nút thêm một lớp mã hóa, và trình duyệt của bạn bóc cả ba lớp.

Điểm cần lưu ý: lớp mã hóa của Tor kết thúc ở nút ra. Nếu trang web không dùng HTTPS, nút ra có thể đọc nội dung. Vì vậy HTTPS vẫn rất quan trọng khi dùng Tor.

Dịch vụ onion: khi cả máy chủ cũng ẩn

Với trang web thông thường, chỉ người dùng được ẩn. Dịch vụ onion cho phép cả máy chủ ẩn vị trí:

  1. Máy chủ dịch vụ chọn một số nút làm điểm giới thiệu (introduction point) và công bố mô tả dịch vụ, được ký bằng khóa của dịch vụ, vào một bảng phân tán.
  2. Người dùng biết địa chỉ onion, thứ thực chất được suy ra từ khóa công khai, nên tra được mô tả và xác minh tính xác thực.
  3. Người dùng chọn một nút làm điểm hẹn (rendezvous point) và gửi lời mời qua điểm giới thiệu.
  4. Máy chủ dựng mạch tới điểm hẹn. Hai mạch gặp nhau, tạo kết nối gồm khoảng sáu chặng, mã hóa đầu cuối.

Địa chỉ onion phiên bản 3 dài 56 ký tự, dựa trên mật mã đường cong elliptic. Vì địa chỉ gắn với khóa, không ai giả mạo được dịch vụ nếu không có khóa riêng, nhưng người dùng cũng dễ bị lừa bởi địa chỉ na ná nhau. Đây là một phần của thế giới thường gọi là Dark Web; bức tranh tổng quan có trong bài Dark Web và Deep Web khác nhau thế nào.

Giới hạn về mặt kỹ thuật

  • Phân tích tương quan lưu lượng: nếu một bên quan sát được cả lưu lượng vào nút vào và ra từ nút ra, họ có thể đối chiếu thời gian và khối lượng để liên kết. Tor không được thiết kế để chống đối thủ quan sát toàn cầu.
  • Nút ra độc hại: có thể nghe lén hoặc sửa nội dung không mã hóa.
  • Độ trễ: ba chặng qua các quốc gia khác nhau làm tốc độ chậm hơn kết nối trực tiếp.
  • Lỗ hổng phần mềm: lỗi trong trình duyệt có thể bị khai thác để lộ IP thật, nên cập nhật là bắt buộc.

Các khía cạnh thực tế như mức độ an toàn khi dùng hằng ngày và những sai lầm người dùng hay mắc được bàn trong bài Trình duyệt Tor có an toàn không. Nếu muốn so sánh với một kiến trúc khác, hãy xem mạng I2P với định tuyến tỏi.

Câu hỏi thường gặp

Vì sao Tor dùng đúng ba nút mà không phải nhiều hơn?

Ba nút đủ để tách biệt thông tin nguồn và đích: nút vào biết bạn, nút ra biết đích, nút giữa ngăn hai bên liên kết trực tiếp. Thêm nút làm chậm hơn mà không tăng đáng kể tính ẩn danh trước các mối đe dọa chính.

Nút ra có biết tôi là ai không?

Không trực tiếp. Nút ra chỉ thấy yêu cầu đến từ nút giữa. Tuy nhiên nếu bạn gửi thông tin nhận dạng như đăng nhập tài khoản thật qua kết nối không mã hóa, nút ra có thể đọc được.

Ai trả tiền cho các máy chủ trong mạng Tor?

Phần lớn nút do tình nguyện viên, tổ chức phi lợi nhuận, trường đại học và cá nhân tự vận hành bằng chi phí của mình. Tor Project là tổ chức phi lợi nhuận phát triển phần mềm.

Nút New Identity trong Tor Browser làm gì?

Tính năng này đóng mọi tab, xóa dữ liệu phiên và tạo mạch mới, giúp hoạt động tiếp theo không liên kết với phiên trước trong trình duyệt.

Bài liên quan