Tor sử dụng một tập hợp các khoá key khác nhau, với ba mục tiêu chính: 1) mã hoá để bảo đảm sự riêng tư dữ liệu bên trong mạng lưới Tor Network, 2) xác thực để các ứng dụng/máy khách biết được rằng, chúng đang giao tiếp với đúng các rơ-le, chính xác mà chúng nên giao tiếp cùng, và 3) các chữ ký để bảo đảm rằng, tất cả các ứng dụng/máy khách biết chính xác cùng một tập hợp các rơ-le.

Việc mã hoá: đầu tiên, tất cả các kết nối bên trong Tor đều sử dụng đường dẫn link mã hoá TLS, do đó các quan sát viên không thể xem bên trong để thấy được rằng, chiếc mạch nối nào một chiếc cell tế bào được sử dụng cho nó. Hơn nữa, ứng dụng/máy khách Tor phát hành một khoá key mã hoá tạm thời với mỗi một rơ-le trong mạch nối; các lớp mã hoá bổ sung này có nghĩa là chỉ có rơ-le đầu ra exit có thể đọc được các tế bào (Cell). Đồng thời cả hai phía đều từ chối khoá key mạch nối khi mạch nối kết thúc, do đó việc ghi nhật ký log lưu lượng traffic và rồi sau đó vỡ (break into) thành chiếc rơ-le để khám phá ra rằng, khoá key sẽ không hoạt động.

Việc xác thực: Mỗi rơ-le Tor đều có một khóa key giải mật mã công khai được gọi là "khóa key onion". Mỗi một rơ-le quay khoá key onion của nó vào mỗi bốn tuần. Khi ứng dụng/máy khách Tor phát hành các mạch nối, tại mỗi bước, nó yêu cầu rằng, rơ-le Tor chứng minh hiểu biết về khoá key onion của nó. Bằng cách đó, nút giao đầu tiên trong đường dẫn path không thể giả mạo phần còn lại của đường dẫn path được. Bởi vì ứng dụng/máy khách Tor lựa chọn đường dẫn path, nó có thể bảo đảm để lấy được tải sản "bảo tín được phân phối" (distributed trust) của Tor: không có một rơ-le đơn lẻ nào trong đường dẫn path có thể biết được về đồng thời cả ứng dụng/máy khách và việc máy khách đó đang làm gì.

Dẫn hướng: Làm thế nào các ứng dụng/ máy khách biết được có các rơ-le nào, và làm thế nào chúng biết được rằng, chúng có sẵn đúng các loại khoá key đúng đắn cho các rơ-le đó? Mỗi một rơ-le có một khoá key chữ ký công cộng dài hạn được gọi là "khoá key danh tính" (identity key). Mỗi một bộ điều hành thư mục (directory authority) có một "khoá key chữ ký thư mục" (directory signing key) để bổ sung thêm. Các bộ điều hành thư mục (directory authorities) đã cung cấp một danh sách đã được ký của tất cả các rơ-le từng biết, và trong danh sách đó là một tập hợp các chứng chỉ từ mỗi một rơ-le (được tự ký lên bởi khoá key danh tính của chúng) chỉ định cụ thể các khoá key, các vị trí, các quy tắc đầu ra exit, và còn nữa. Do đó, trừ phi đối phương có thể kiểm soát một lượng lớn các bộ điều hành thư mục directory authorities (như vào năm 2022 có 8 bộ điều hành thư mục directory authorities), chúng không thể qua mặt được ứng dụng/máy khách Tor để bắt sử dụng các rơ-le Tor khác.

Làm thế nào các ứng dụng/máy khách biết được các uỷ quyền thư mục (directory authority) là gì?

Phần mềm Tor đi kèm với một danh sách được tích hợp sẵn của địa điểm và khoá key công cộng cho mỗi một bộ điều hành thư mục (directory authority). Do đó cách duy nhất để lừa đảo người dùng để họ sử dụng mạng lưới Tor Network giả mạo đó là cung cấp cho họ một phiên bản phần mềm được sửa đổi một cách đặc biệt.

Làm thế nào để người dùng biết họ đã có chiếc phần mềm đúng đắn?

Khi chúng tôi phân phối mã nguồn hoặc một gói package, chúng tôi ký điện tử cho nó với GNU Bảo vệ Riêng tư GNU Privacy Guard. Hãy xem các chỉ dẫn về việc làm thế nào để kiểm tra chữ ký của trình duyệt Tor Browser.

Để chắc chắn rằng nó thật sự đã được ký bởi chúng tôi, bạn cần phải gặp chúng tôi trực tiếp mặt đối mặt và lấy một bản sao copy của khoá key GPG fingerprint, hoặc bạn cần phải biết một ai đó đã có thể làm điều ấy. Nếu bạn quan tâm về một cuộc tấn công ở cấp độ này, chúng tôi khuyến nghi bạn tham gia vào cộng đồng bảo mật của chúng tôi và bắt đầu gặp gỡ mọi người.