IPSEC
1.1. Tổng quan về IPsec
Thuật ngữ IPSec là một từ viết tắt của thuật Internet Protocol Security. Nó có quan hệ tới một số bộ giao thức (AH, ESP, FIP-140-1, và một số chuẩn khác) được phát
triển bởi Internet Engineering Task Force (IETF). Mục đích chính của việc phát triển IPSec là cung cấp một cơ cấu bảo mật ở tầng 3 (Network layer) của mô hình OSI, như hình 1.1:
Hình 1.1: Vị trí của IPsec trong mô hình OSI
Mọi giao tiếp trong một mạng trên cơ sở IP đều dựa trên các giao thức IP. Do đó, khi một cơ chế bảo mật cao được tích hợp với giao thức IP, toàn bộ mạng được bảo
mật bởi vì các giao tiếp đều đi qua tầng 3. (Đó là lý do tại sao IPSec được phát triển ở giao thức tầng 3 thay vì tầng 2).
IPSec VPN dùng các dịch vụ được định nghĩa trong IPSec để đảm bảo tính toàn vẹn dữ liệu, tính nhất quán, tính bí mật và xác thực của việc truyền dữ liệu trên một hạ
tầng mạng công cộng.
Ngoài ra, với IPSec tất cả các ứng dụng đang chạy ở tầng ứng dụng của mô hình OSI đều độc lập trên tầng 3 khi định tuyến dữ liệu từ nguồn đến đích. Bởi vì IPSec
được tích hợp chặt chẽ với IP, nên những ứng dụng kế thừa tính năng bảo mật mà không cần phải có sự thay đổi lớn lao nào. Cũng giống IP, IPSec trong suốt với người
dùng cuối.
IPsec bao gồm các tính năng sau:
Các tính năng, dịch vụ của IPsec được thực hiện bởi một loạt các tiêu chuẩn dựa trên các giao thức. Điều quan trọng là việc thực hiện IPsec được dựa trên tiêu chuẩn
mở để đảm bảo khả năng tương tác giữa các nhà cung cấp. Ba giao thức chính được sử dụng bởi IPsec là:
1.1.1. Các tính năng bảo mật của IPsec
Bảo mật dữ liệu liên quan đến việc giữ các dữ liệu trong IPsec VPN giữa những thiết bị VPN. Bảo mật dữ liệu cũng liên quan đến việc sử dụng mã hoá trong quá trình
truyền dữ liệu. Sử dụng mã hoá bao gồm lựa chọn thuật toán mã hóa và các phương tiện phân phối khóa mã hóa.
Toàn vẹn dữ liệu đảm bảo rằng các dữ liệu không bị sửa đổi trong thời gian truyền qua IPsec VPN. Toàn vẹn dữ liệu thường sử dụng một thuật toán băm (hash algorithm) để kiểm tra xem dữ liệu trong gói tin giữa thiết bị đầu cuối có bị sửa đổi không. Các gói tin được xác định là đã được thay đổi thì sẽ không được chấp nhận.
Xác thực dữ liệu gốc xác nhận nguồn gốc của IPsec VPN. Tính năng này được thực hiện bởi mỗi đầu của VPN để đảm bảo truyền thông đúng đối tượng.
Chống trùng lặp gói tin đảm bảo rằng không có gói tin được nhân đôi trong VPN. Điều này được thực hiện thông qua việc sử dụng các số thứ tự trong các gói tin và một cửa sổ trượt (sliding window) ở phía người nhận. Các số thứ tự được so sánh với cửa sổ trượt và giúp phát hiện các gói tin đến muộn. Các gói tin như vậy được coi là bản sao, và bị đánh rớt.
1.1.2. Các giao thức trong IPsec
IPsec bao gồm ba giao thức chính để giúp thực hiện các kiến trúc IPsec tổng thể, ba giao thức IPsec cung cấp các tính năng khác nhau. Mỗi IPsec VPN sử dụng một số sự kết hợp của các giao thức này để cung cấp các tính năng mong muốn cho VPN.
Trao đổi khóa Internet (IKE): Giúp cho các thiết bị tham gia VPN trao đổi với nhau về thông tin bảo mật như mã hóa thế nào? Mã hóa bằng thuật toán gì? Bao lâu
mã hóa một lần. IKE có tác dụng tự động thỏa thuận các chính sách bảo mật giữa các thiết bị tham gia VPN.
Trong quá trình trao đổi khoá, IKE dùng thuật toán mã hóa đối xứng (symmetrical encrytion) để bảo vệ việc trao đổi khoá giữa các thiết bị tham gia VPN. Đây là đặc tính
rất hay của IKE, giúp hạn chế trình trạng bẻ khóa của các attacker.
So với các thuật toán mã hóa khác, thuật toán đối xứng có xu hướng hiệu quả hơn và dễ dàng hơn để thực hiện trong phần cứng. Việc sử dụng các thuật toán như vậy đòi hỏi phải sử dụng các khoá phù hợp, và IKE cung cấp cơ chế để trao đổi các khoá.
Đóng gói bảo mật tải (ESP): Có tác dụng xác thực (authentication), mã hóa (encrytion) và đảm bảo tính trọn vẹn dữ liệu (securing of data). Đây là giao thức được dùng phổ biến trong việc thiết lập IPSec.
Các phương pháp mã hóa sau đây được sử dụng cho ESP:
-Data Encryption Standard (DES): Một phương pháp cũ của mã hóa thông tin đã từng được sử dụng rộng rãi
-Triple Data Encryption Standard (3DES): Một thuật toán mã hóa khối có sử dụng DES ba lần.
-Advanced Encryption Standard (AES): Một trong những thuật toán khóa đối xứng được sử dụng phổ biến nhất hiện nay.
Xác thực mào đầu (AH): giao thức AH chỉ làm công việc xác thực và bảo đảm tính trọn vẹn dữ liệu. Giao thức AH không có chức năng mã hóa dữ liệu. Do đó AH ít
được dùng trong IPSec vì nó không đảm bảo tính bảo mật .
1.1.3. Các chế độ IPsec (IPsec modes)
IPsec định nghĩa hai phương thức xác định mức độ bảo vệ được cung cấp cho các gói tin IP. Hai chế độ này là phương thức đường hầm (tunnel mode) và phương thức
vận tải (transport mode).
Trong transport mode, AH và ESP sẽ được đặt sau IP header ban đầu. Vì vậy chỉ có tải (IP payload) là được mã hóa và IP header ban đầu là được giữ nguyên vẹn.
Transport mode có thể được dùng khi cả hai host hỗ trợ IPSec. Chế độ transport này có thuận lợi là chỉ thêm vào vài bytes cho mỗi gói tin và nó cũng cho phép các thiết bị trên mạng thấy được địa chỉ đích cuối cùng của gói. Khả năng này cho phép các tác vụ xử lý đặc biệt trên các mạng trung gian (ví dụ như QoS) dựa trên các thông tin trong IP header. Tuy nhiên các thông tin Layer 4 sẽ bị mã hóa, làm giới hạn khả năng kiểm tra của gói.
Trong tunnel mode, toàn bộ gói IP ban đầu sẽ bị đóng gói bởi AH hoặc ESP và một IP header mới sẽ được bao bọc xung quanh gói dữ liệu. Toàn bộ các gói IP sẽ được mã
hóa và trở thành dữ liệu mới của gói IP mới. Chế độ này cho phép những thiết bị mạng, chẳng hạn như router, hoạt động như một IPSec proxy thực hiện chức năng mã
hóa thay cho host. Router nguồn sẽ mã hóa các gói tin và chuyển chúng dọc theo đường hầm (tunnel). Router đích sẽ giải mã gói IP ban đầu và chuyển nó về hệ thống
cuối. Vì vậy header mới sẽ có địa chỉ nguồn chính là gateway. Hình 1.2 cho thấy hai phương thức IPsec so với một gói IP "bình thường".
Như đã đề cập trước đó, các thiết bị đầu cuối của đường hầm IPsec có thể là thiết bị bất kỳ. Hình 1.2 cho thấy các router là thiết bị đầu cuối, có thể được sử dụng cho VPN site to site. Các khái niệm về một đường hầm VPN được sử dụng với cả hai loại tunnel mode và transport mode. Trong transport mode, nội dung gói tin được bảo vệ giữa thiết bị đầu cuối VPN, trong khi ở tunnel mode, toàn bộ gói tin IP ban đầu được bảo vệ.
1.1.4. Xác thực ngang hàng (Peer Authentication)
Như đã phân tích, IPsec có khả năng bảo vệ dữ liệu trong quá trình truyền. Nó có thể mã hóa dữ liệu để ngăn chặn những người ở giữa nhìn thấy nó (bảo mật dữ liệu),
và nó có thể đảm bảo rằng dữ liệu chưa được sửa đổi trong khi đang truyền (toàn vẹn dữ liệu). IPsec có thể đảm bảo chuyển giao dữ liệu, nhƣng trƣớc khi dịch vụ đó đƣợc thực hiện, các thiết bị đầu cuối của IPsec VPN phải đƣợc xác thực. Có 5 phƣơng pháp khác nhau để trao đổi xác thực:
1.1. Tổng quan về IPsec
Thuật ngữ IPSec là một từ viết tắt của thuật Internet Protocol Security. Nó có quan hệ tới một số bộ giao thức (AH, ESP, FIP-140-1, và một số chuẩn khác) được phát
triển bởi Internet Engineering Task Force (IETF). Mục đích chính của việc phát triển IPSec là cung cấp một cơ cấu bảo mật ở tầng 3 (Network layer) của mô hình OSI, như hình 1.1:
Hình 1.1: Vị trí của IPsec trong mô hình OSI
Mọi giao tiếp trong một mạng trên cơ sở IP đều dựa trên các giao thức IP. Do đó, khi một cơ chế bảo mật cao được tích hợp với giao thức IP, toàn bộ mạng được bảo
mật bởi vì các giao tiếp đều đi qua tầng 3. (Đó là lý do tại sao IPSec được phát triển ở giao thức tầng 3 thay vì tầng 2).
IPSec VPN dùng các dịch vụ được định nghĩa trong IPSec để đảm bảo tính toàn vẹn dữ liệu, tính nhất quán, tính bí mật và xác thực của việc truyền dữ liệu trên một hạ
tầng mạng công cộng.
Ngoài ra, với IPSec tất cả các ứng dụng đang chạy ở tầng ứng dụng của mô hình OSI đều độc lập trên tầng 3 khi định tuyến dữ liệu từ nguồn đến đích. Bởi vì IPSec
được tích hợp chặt chẽ với IP, nên những ứng dụng kế thừa tính năng bảo mật mà không cần phải có sự thay đổi lớn lao nào. Cũng giống IP, IPSec trong suốt với người
dùng cuối.
IPsec bao gồm các tính năng sau:
- Bảo mật dữ liệu (Data confidentiality)
- Toàn vẹn dữ liệu (Data integrity)
- Xác thực dữ liệu gốc (Data origin authentication)
- Chống trùng lặp gói tin (Anti-replay)
Các tính năng, dịch vụ của IPsec được thực hiện bởi một loạt các tiêu chuẩn dựa trên các giao thức. Điều quan trọng là việc thực hiện IPsec được dựa trên tiêu chuẩn
mở để đảm bảo khả năng tương tác giữa các nhà cung cấp. Ba giao thức chính được sử dụng bởi IPsec là:
- Trao đổi khóa Internet (Internet Key Exchange - IKE )
- Đóng gói bảo mật tải (Encapsulating Security Payload - ESP )
- Xác thực mào đầu (Authentication Header - AH )
1.1.1. Các tính năng bảo mật của IPsec
Bảo mật dữ liệu liên quan đến việc giữ các dữ liệu trong IPsec VPN giữa những thiết bị VPN. Bảo mật dữ liệu cũng liên quan đến việc sử dụng mã hoá trong quá trình
truyền dữ liệu. Sử dụng mã hoá bao gồm lựa chọn thuật toán mã hóa và các phương tiện phân phối khóa mã hóa.
Toàn vẹn dữ liệu đảm bảo rằng các dữ liệu không bị sửa đổi trong thời gian truyền qua IPsec VPN. Toàn vẹn dữ liệu thường sử dụng một thuật toán băm (hash algorithm) để kiểm tra xem dữ liệu trong gói tin giữa thiết bị đầu cuối có bị sửa đổi không. Các gói tin được xác định là đã được thay đổi thì sẽ không được chấp nhận.
Xác thực dữ liệu gốc xác nhận nguồn gốc của IPsec VPN. Tính năng này được thực hiện bởi mỗi đầu của VPN để đảm bảo truyền thông đúng đối tượng.
Chống trùng lặp gói tin đảm bảo rằng không có gói tin được nhân đôi trong VPN. Điều này được thực hiện thông qua việc sử dụng các số thứ tự trong các gói tin và một cửa sổ trượt (sliding window) ở phía người nhận. Các số thứ tự được so sánh với cửa sổ trượt và giúp phát hiện các gói tin đến muộn. Các gói tin như vậy được coi là bản sao, và bị đánh rớt.
1.1.2. Các giao thức trong IPsec
IPsec bao gồm ba giao thức chính để giúp thực hiện các kiến trúc IPsec tổng thể, ba giao thức IPsec cung cấp các tính năng khác nhau. Mỗi IPsec VPN sử dụng một số sự kết hợp của các giao thức này để cung cấp các tính năng mong muốn cho VPN.
Trao đổi khóa Internet (IKE): Giúp cho các thiết bị tham gia VPN trao đổi với nhau về thông tin bảo mật như mã hóa thế nào? Mã hóa bằng thuật toán gì? Bao lâu
mã hóa một lần. IKE có tác dụng tự động thỏa thuận các chính sách bảo mật giữa các thiết bị tham gia VPN.
Trong quá trình trao đổi khoá, IKE dùng thuật toán mã hóa đối xứng (symmetrical encrytion) để bảo vệ việc trao đổi khoá giữa các thiết bị tham gia VPN. Đây là đặc tính
rất hay của IKE, giúp hạn chế trình trạng bẻ khóa của các attacker.
So với các thuật toán mã hóa khác, thuật toán đối xứng có xu hướng hiệu quả hơn và dễ dàng hơn để thực hiện trong phần cứng. Việc sử dụng các thuật toán như vậy đòi hỏi phải sử dụng các khoá phù hợp, và IKE cung cấp cơ chế để trao đổi các khoá.
Đóng gói bảo mật tải (ESP): Có tác dụng xác thực (authentication), mã hóa (encrytion) và đảm bảo tính trọn vẹn dữ liệu (securing of data). Đây là giao thức được dùng phổ biến trong việc thiết lập IPSec.
Các phương pháp mã hóa sau đây được sử dụng cho ESP:
-Data Encryption Standard (DES): Một phương pháp cũ của mã hóa thông tin đã từng được sử dụng rộng rãi
-Triple Data Encryption Standard (3DES): Một thuật toán mã hóa khối có sử dụng DES ba lần.
-Advanced Encryption Standard (AES): Một trong những thuật toán khóa đối xứng được sử dụng phổ biến nhất hiện nay.
Xác thực mào đầu (AH): giao thức AH chỉ làm công việc xác thực và bảo đảm tính trọn vẹn dữ liệu. Giao thức AH không có chức năng mã hóa dữ liệu. Do đó AH ít
được dùng trong IPSec vì nó không đảm bảo tính bảo mật .
1.1.3. Các chế độ IPsec (IPsec modes)
IPsec định nghĩa hai phương thức xác định mức độ bảo vệ được cung cấp cho các gói tin IP. Hai chế độ này là phương thức đường hầm (tunnel mode) và phương thức
vận tải (transport mode).
Trong transport mode, AH và ESP sẽ được đặt sau IP header ban đầu. Vì vậy chỉ có tải (IP payload) là được mã hóa và IP header ban đầu là được giữ nguyên vẹn.
Transport mode có thể được dùng khi cả hai host hỗ trợ IPSec. Chế độ transport này có thuận lợi là chỉ thêm vào vài bytes cho mỗi gói tin và nó cũng cho phép các thiết bị trên mạng thấy được địa chỉ đích cuối cùng của gói. Khả năng này cho phép các tác vụ xử lý đặc biệt trên các mạng trung gian (ví dụ như QoS) dựa trên các thông tin trong IP header. Tuy nhiên các thông tin Layer 4 sẽ bị mã hóa, làm giới hạn khả năng kiểm tra của gói.
Trong tunnel mode, toàn bộ gói IP ban đầu sẽ bị đóng gói bởi AH hoặc ESP và một IP header mới sẽ được bao bọc xung quanh gói dữ liệu. Toàn bộ các gói IP sẽ được mã
hóa và trở thành dữ liệu mới của gói IP mới. Chế độ này cho phép những thiết bị mạng, chẳng hạn như router, hoạt động như một IPSec proxy thực hiện chức năng mã
hóa thay cho host. Router nguồn sẽ mã hóa các gói tin và chuyển chúng dọc theo đường hầm (tunnel). Router đích sẽ giải mã gói IP ban đầu và chuyển nó về hệ thống
cuối. Vì vậy header mới sẽ có địa chỉ nguồn chính là gateway. Hình 1.2 cho thấy hai phương thức IPsec so với một gói IP "bình thường".
Như đã đề cập trước đó, các thiết bị đầu cuối của đường hầm IPsec có thể là thiết bị bất kỳ. Hình 1.2 cho thấy các router là thiết bị đầu cuối, có thể được sử dụng cho VPN site to site. Các khái niệm về một đường hầm VPN được sử dụng với cả hai loại tunnel mode và transport mode. Trong transport mode, nội dung gói tin được bảo vệ giữa thiết bị đầu cuối VPN, trong khi ở tunnel mode, toàn bộ gói tin IP ban đầu được bảo vệ.
1.1.4. Xác thực ngang hàng (Peer Authentication)
Như đã phân tích, IPsec có khả năng bảo vệ dữ liệu trong quá trình truyền. Nó có thể mã hóa dữ liệu để ngăn chặn những người ở giữa nhìn thấy nó (bảo mật dữ liệu),
và nó có thể đảm bảo rằng dữ liệu chưa được sửa đổi trong khi đang truyền (toàn vẹn dữ liệu). IPsec có thể đảm bảo chuyển giao dữ liệu, nhƣng trƣớc khi dịch vụ đó đƣợc thực hiện, các thiết bị đầu cuối của IPsec VPN phải đƣợc xác thực. Có 5 phƣơng pháp khác nhau để trao đổi xác thực:
- Username và password: Username và password phải đƣợc xác định trƣớc và cấuhình sẵn trong các thiết bị đầu cuối IPsec. Nhƣ vậy chúng thƣờng đƣợc sử dụng trongthời gian dài. Chúng thƣờng không được coi là an toàn, bởi vì nếu ai đó đoán biết được sự kết hợp Username/password, người đó có thể thiết lập một kết nối IPsec với bạn.
- One-time password (OTP): một OTP thực hiện như một số nhận dạng cá nhân (PIN) hoặc một số xác thực giao dịch (TAN). Điều này rất tốt khi chỉ thiết lập một Ipsec. Nếu ai đó biết được một OTP cũ thì cũng sẽ vô ích để thiết lập kết nối IPsec mới.
- Biometrics (xác thực bằng sinh học): Công nghệ Biometrics phân tích các đặc tính vật lý của con người, chẳng hạn như dấu vân tay, kích thước tay, võng mạc mắt và con ngươi và các mẫu khuôn mặt. Đặc điểm này rất khó để giả mạo. Bất kỳ sự kết hợp nào của chúng cũng có thể được dùng để xác thực một người, và do đó cung cấp bảo đảmrằng thiết bị đích IPsec là chính xác.
- Preshared keys: Preshared keys tương tự như khái niệm Username và password. Trong trƣờng hợp này, một khoá duy nhất (là một giá trị) đƣợc cấu hình sẵn trong mỗi kết nối IPsec. Nếu ai đó có thể xác định preshared key trước, họ sẽ có khả năng thiết lập một kết nối IPsec với bạn.
- Digital certificates (chữ ký số): Digital certificates là một cách rất phổ biến để xác thực người dùng và thiết bị. Thông thƣờng, một digital certificate đƣợc cấp cho một thiết bị từ một quyền chứng nhận (certification authority - CA), bên thứ ba đáng tin cậy. Khi thiết bị có nhu cầu xác thực, nó đƣa ra “giấy chứng nhận” của nó. Nếu một thiết bị khác cố gắng sử dụng giấy chứng nhận, xác thực sẽ thất bại.