Giới thiệu về Tor và Tortilla (Phần 1)
Tóm tắt
Bài viết này sẽ giới thiệu về mạng ẩn danh Tor, mục đích , cơ chế hoạt động của mạng Tor và công cụ Tortilla giúp an toàn và bảo mật hơn khi sử dụng Tor. Bài viết được tổng hợp từ https://www.torproject.org/ và một số nguồn khác.
I. Tor là gì?
1.1. Tổng quan
1.1.1. Khái niệm
Tor là một mạng lưới các đường hầm ảo, nó cho phép cá nhân, nhóm người để tăng cường tính riêng tư và mức độ bảo mật trên internet. Nó cũng cho phép các nhà phát triển phần mềm tạo ra các công cụ với các tính năng riêng tư. Tor hỗ trợ một nền tảng cho hàng loạt các ứng dụng, các ứng dụng này cho phép chia sẻ thông tin trên mạng công cộng mà không ảnh hưởng tới tính riêng tư của người chia sẻ.
Tor là một dự án phát triển bởi phòng nghiên cứu U.S. Naval, Mỹ.
1.1.2. Mục đích
Trước khi tìm hiểu mục đích của Tor, chúng ta xem xét một số phương pháp theo dõi trên mạng hiện nay:
- Phương pháp truyền thống: phân tích lưu lượng gói tin, do gói tin bình thường gồm 2 phần: header và payload. Dữ liệu payload thường sẽ được mã hóa nhưng header thì không, do đó, bắt các gói tin và phân tích header có thể giám sát được truy cập trên internet.
- Đặt các điểm honeypot trên các phần của internet, theo dõi thông tin vào ra của đối tượng cần quan tâm, dựa vào một quy luật thống kê phù hợp để giám sát truy cập.
Tor giúp người sử dụng vượt qua cả hai phương pháp theo dõi trên (Sẽ giải thích phân dưới). Mục đích của việc ra đời Tor:
- Trước tiên là bảo vệ các kết nối của chính phủ Mỹ. Hiện tại, Tor được sử dụng bởi rất nhiều người khác nhau.
- Cá nhân: tránh sự giám sát từ các website, kết nối tới website mới với mục đích ẩn danh, truy cập các website bị khóa bởi chính quyền địa phương, tham gia các kết nối xã hội nhạy cảm, ...
- Nhà báo: liên hệ với những người tố cáo, ... một cách an toàn hơn.
- …
=> Sử dụng Tor chống lại việc lần vết, theo dõi khi truy cập mạng.
Đặc điểm của Tor là độ trễ lớn, tốc độ truy cập mạng chậm ( tăng lên khi số lượng người dung tăng), dạng chia sẻ P2P. Tuy nhiên, độ an toàn và tính riêng tư cao.
1.2. Cơ chế hoạt động
1.2.1. Một số khái niệm
Trước khi bàn về cơ chế hoạt động của mạng Tor, chúng ta làm quen với một số khái niệm sau:
Hình 1: Cell and Relay-cell
1.2.2. Mô hình hoạt động
Hình 2: Alice tập hợp danh sách các Tor node trên Server
Hình 3: Alice chọn một đường ngẫu nhiên tới server đích (Alice – Bob)
Hình 4: Alice truy cập tới site khác, đường đi được reset ngẫu nhiên tới server đích mới (Alice – Jane)
- Giả sử Alice muốn tạo một circuit mới, OP gửi một cell với cmd là create tới node đầu tiên (Bob) được chọn trên đường đi (chọn một circID mới chưa được sử dụng). Phần payload của gói tin này chứa một nửa của thuật toán bắt tay Diffie-Hellman(g^x), mã hóa bởi khóa của router. Bob phản gửi lại cell phản hồi với cmd: created, payload chứa g^y cùng với khóa băm: K = g^xy
- Alice và Bob sẽ tiếp tục gửi các cell chuyển tiếp(mã hóa bằng khóa K)
- Mở rộng circuit:
Ở phần tiếp theo, tôi sẽ nói về ưu, nhược điểm của mạng Tor và giới thiệu về công cụ Tortilla.
Bài viết này sẽ giới thiệu về mạng ẩn danh Tor, mục đích , cơ chế hoạt động của mạng Tor và công cụ Tortilla giúp an toàn và bảo mật hơn khi sử dụng Tor. Bài viết được tổng hợp từ https://www.torproject.org/ và một số nguồn khác.
I. Tor là gì?
1.1. Tổng quan
1.1.1. Khái niệm
Tor là một mạng lưới các đường hầm ảo, nó cho phép cá nhân, nhóm người để tăng cường tính riêng tư và mức độ bảo mật trên internet. Nó cũng cho phép các nhà phát triển phần mềm tạo ra các công cụ với các tính năng riêng tư. Tor hỗ trợ một nền tảng cho hàng loạt các ứng dụng, các ứng dụng này cho phép chia sẻ thông tin trên mạng công cộng mà không ảnh hưởng tới tính riêng tư của người chia sẻ.
Tor là một dự án phát triển bởi phòng nghiên cứu U.S. Naval, Mỹ.
1.1.2. Mục đích
Trước khi tìm hiểu mục đích của Tor, chúng ta xem xét một số phương pháp theo dõi trên mạng hiện nay:
- Phương pháp truyền thống: phân tích lưu lượng gói tin, do gói tin bình thường gồm 2 phần: header và payload. Dữ liệu payload thường sẽ được mã hóa nhưng header thì không, do đó, bắt các gói tin và phân tích header có thể giám sát được truy cập trên internet.
- Đặt các điểm honeypot trên các phần của internet, theo dõi thông tin vào ra của đối tượng cần quan tâm, dựa vào một quy luật thống kê phù hợp để giám sát truy cập.
Tor giúp người sử dụng vượt qua cả hai phương pháp theo dõi trên (Sẽ giải thích phân dưới). Mục đích của việc ra đời Tor:
- Trước tiên là bảo vệ các kết nối của chính phủ Mỹ. Hiện tại, Tor được sử dụng bởi rất nhiều người khác nhau.
- Cá nhân: tránh sự giám sát từ các website, kết nối tới website mới với mục đích ẩn danh, truy cập các website bị khóa bởi chính quyền địa phương, tham gia các kết nối xã hội nhạy cảm, ...
- Nhà báo: liên hệ với những người tố cáo, ... một cách an toàn hơn.
- …
=> Sử dụng Tor chống lại việc lần vết, theo dõi khi truy cập mạng.
Đặc điểm của Tor là độ trễ lớn, tốc độ truy cập mạng chậm ( tăng lên khi số lượng người dung tăng), dạng chia sẻ P2P. Tuy nhiên, độ an toàn và tính riêng tư cao.
1.2. Cơ chế hoạt động
1.2.1. Một số khái niệm
Trước khi bàn về cơ chế hoạt động của mạng Tor, chúng ta làm quen với một số khái niệm sau:
- Tor node: Là một server chuyển tiếp trong mạng Tor, là một mắt xích tham gia vào việc tạo nên một đường kết nối từ người dùng tới đích mong muốn. Tính tới thời điểm hiện tại, có hơn 4000 server chuyển tiếp trong mạng Tor.
- Exit node: Là một Tor node, đây là node kết nối trực tiếp tới đích mà người dùng mong muốn.
- AES: thuật toán mã hóa đối xứng: http://people.eku.edu/styere/Encrypt/JS-AES.html
- Cell: Là một gói tin truyền trong mạng Tor, mỗi cell tối đa 512 bytes được mã hóa bởi mã hóa AES 128 bits. Có hai loại: cell và relay – cell đều có hai thành phần chính: header và payload. Sau đây, chúng ta sẽ quan tâm tới header của mỗi loại, payload là phần dữ liệu cần truyền đi.
Hình 1: Cell and Relay-cell
- Cell: header sẽ gồm hai phần: CircID và CMD
+ CircID: xác định cell đang thuộc Circuit nào.
+ CMD: Xác định cách thức xử lí với phần payload:
* padding(sử dụng giữ kết nối).
* create or created(tạo một circuit mới)
* destroy(hủy một circuit)
- Relay – cell: Có thêm phần header trước payload(relay - header). Phần CMD sẽ quyết định sẽ làm gì với payload:
* relay data(chuyển tiếp cell)
* relay begin(mở một luồng)
* relay end(đóng và làm sạch luồng)
* relay teardown(đóng một luồng bị lỗi)
* relay connected(thông báo cho onion proxy chuyển tiếp thành công)
* relay extend or extended(mở rộng circuit bằng cách thêm hop)
* relay truncate and relay truncated(hủy một phần của circuit)
* relay sendme(điều khiển tắc nghẽn)
* relay drop
* relay begin(mở một luồng)
* relay end(đóng và làm sạch luồng)
* relay teardown(đóng một luồng bị lỗi)
* relay connected(thông báo cho onion proxy chuyển tiếp thành công)
* relay extend or extended(mở rộng circuit bằng cách thêm hop)
* relay truncate and relay truncated(hủy một phần của circuit)
* relay sendme(điều khiển tắc nghẽn)
* relay drop
1.2.2. Mô hình hoạt động
Hình 2: Alice tập hợp danh sách các Tor node trên Server
Hình 3: Alice chọn một đường ngẫu nhiên tới server đích (Alice – Bob)
Hình 4: Alice truy cập tới site khác, đường đi được reset ngẫu nhiên tới server đích mới (Alice – Jane)
- Alice và Bob sẽ tiếp tục gửi các cell chuyển tiếp(mã hóa bằng khóa K)
- Mở rộng circuit:
- Alice gửi cell relay extend, xác định node tiếp theo là Carol, mã hóa bằng g^x2
- Bob copy thông tin này vào một cell create khác và gửi cho Carol, đồng thời Bob tạo một circID mới để liên lạc với Carol.
- Khi Carol phản hồi bằng cell created, Bob đóng gói lại phần payload vào cell relay extended và chuyển lại cho Alice.
* Như vậy, circuit sẽ được mở rộng ra.
* Thông tin được mã hóa nhiều lớp, circuit được thay đổi theo một chu kì nhất định để đảm bảo tính riêng tư, lạc danh.
Ở phần tiếp theo, tôi sẽ nói về ưu, nhược điểm của mạng Tor và giới thiệu về công cụ Tortilla.