IPSec là gì?

IPSec, viết tắt của Internet Protocol Security, là một bộ giao thức mật mã bảo vệ lưu lượng dữ liệu qua mạng Internet Protocol (IP).

Mạng IP - bao gồm cả World Wide Web - thiếu khả năng mã hoá và bảo vệ quyền riêng tư. VPN IPSec giải quyết điểm yếu này, bằng cách cung cấp một framework cho việc giao tiếp được mã hóa và riêng tư trên web.

Dưới đây là cái nhìn sâu hơn về IPSec và cách nó hoạt động với các VPN tunnel để bảo vệ dữ liệu qua những mạng không bảo mật.

Sơ lược về lịch sử của IPSec

Khi Internet Protocol được phát triển vào đầu những năm 80, tính bảo mật không nằm ở vị trí được ưu tiên cao. Tuy nhiên, khi số lượng người dùng Internet tiếp tục phát triển, nhu cầu bảo mật cao cũng vì thế mà ngày càng tăng.

Để giải quyết nhu cầu này, Cơ quan An ninh Quốc gia đã tài trợ cho sự phát triển của các giao thức bảo mật vào giữa những năm 80, trong chương trình Secure Data Network Systems (Hệ thống mạng dữ liệu bảo mật). Điều này dẫn đến sự phát triển của Security Protocol (Giao thức bảo mật) ở Layer 3 và cuối cùng là Network Layer Security Protocol. Nhiều kỹ sư đã làm việc trong dự án này trong suốt những năm 90 và IPSec đã phát triển nhờ những nỗ lực này. IPSec hiện là một tiêu chuẩn mã nguồn mở và là một phần của IPv4.

Cách thức hoạt động của IPSec

IPSec làm việc với các VPN tunnel để thiết lập kết nối hai chiều riêng tư giữa các thiết bị
IPSec làm việc với các VPN tunnel để thiết lập kết nối hai chiều riêng tư giữa các thiết bị

Khi hai máy tính thiết lập kết nối VPN, chúng phải đồng thuận về một tập hợp các giao thức bảo mật và thuật toán mã hóa, đồng thời trao đổi key mật mã để mở khóa và xem dữ liệu đã mã hóa.

Đây là lúc IPSec phát huy vai trò. IPSec làm việc với các VPN tunnel để thiết lập kết nối hai chiều riêng tư giữa các thiết bị. IPSec không phải là một giao thức đơn lẻ; thay vào đó, đó là một bộ giao thức và tiêu chuẩn hoàn chỉnh, hoạt động cùng nhau để giúp đảm bảo tính bảo mật, toàn vẹn và xác thực của các gói dữ liệu Internet đi qua VPN tunnel.

Đây là cách IPSec tạo một VPN tunnel bảo mật:

  • IPSec xác thực dữ liệu để đảm bảo tính toàn vẹn của gói dữ liệu trong quá trình truyền tải.
  • IPSec mã hóa lưu lượng truy cập Internet qua các VPN tunnel để không thể xem dữ liệu.
  • IPSec bảo vệ dữ liệu khỏi các cuộc tấn công Replay Attack, có thể dẫn đến việc đăng nhập trái phép.
  • IPSec cho phép trao đổi key mật mã bảo mật giữa các máy tính.
  • IPSec cung cấp hai chế độ bảo mật: Tunnel và Transport.

VPN IPSec bảo vệ dữ liệu truyền từ host đến host, mạng đến mạng, host đến mạng và cổng đến gateway (được gọi là chế độ Tunnel, khi toàn bộ gói IP được mã hóa và xác thực).

Những giao thức IPSec và các thành phần hỗ trợ

Tiêu chuẩn IPSec chia thành một số giao thức cốt lõi và các thành phần hỗ trợ.

Giao thức IPSec cốt lõi

- IPSec Authentication Header (AH): Giao thức này bảo vệ địa chỉ IP của các máy tính tham gia vào quá trình trao đổi dữ liệu, để đảm bảo rằng các bit dữ liệu không bị mất, thay đổi hoặc bị hỏng trong quá trình truyền. AH cũng xác minh rằng người gửi dữ liệu thực sự đã gửi nó, bảo vệ tunnel khỏi sự xâm nhập của những người dùng trái phép.

- Encapsulating Security Payload (ESP): Giao thức ESP cung cấp phần mã hóa của IPSec, đảm bảo tính bảo mật của lưu lượng dữ liệu giữa các thiết bị. ESP mã hóa các gói dữ liệu/payload, xác thực payload và nguồn gốc của nó trong bộ giao thức IPSec. Giao thức này xáo trộn lưu lượng truy cập Internet một cách hiệu quả, để bất kỳ ai nhìn vào tunnel cũng đều không thể thấy bất cứ gì trong đó.

ESP vừa mã hóa vừa xác thực dữ liệu, trong khi AH chỉ xác thực dữ liệu.

Các thành phần hỗ trợ IPSec

- Security Associations (SA): Security Associations và các chính sách thiết lập những thỏa thuận bảo mật khác nhau, được sử dụng trong trao đổi. Các thỏa thuận này có thể xác định loại mã hóa và thuật toán hash sẽ được sử dụng. Những chính sách này thường linh hoạt, cho phép các thiết bị quyết định cách chúng muốn xử lý mọi thứ.

- Internet Key Exchange (IKE): Để mã hóa hoạt động, các máy tính liên quan đến việc trao đổi thông tin liên lạc riêng tư cần phải chia sẻ key mã hóa. IKE cho phép hai máy tính trao đổi và chia sẻ key mật mã một cách bảo mật khi thiết lập kết nối VPN.

- Encryption and Hashing Algorithms: Key mật mã hoạt động bằng cách sử dụng giá trị hash, được tạo bằng thuật toán hash. AH và ESP rất chung chung, chúng không chỉ định một loại mã hóa cụ thể. Tuy nhiên, IPsec thường sử dụng Message Digest 5 hoặc Secure Hash Algorithm 1 để mã hóa.

- Bảo vệ chống lại các cuộc tấn công Replay Attack: IPSec cũng kết hợp các tiêu chuẩn để ngăn việc replay (phát lại) bất kỳ gói dữ liệu nào, một phần của quá trình đăng nhập thành công. Tiêu chuẩn này ngăn chặn tin tặc sử dụng thông tin được replay để tự sao chép thông tin đăng nhập.

IPSec là một giải pháp giao thức VPN hoàn chỉnh và cũng có thể đóng vai trò như một giao thức mã hóa trong L2TP và IKEv2.

Các chế độ Tunneling: Tunnel và Transport

IPSec gửi dữ liệu bằng cách sử dụng chế độ Tunnel hoặc Transport
IPSec gửi dữ liệu bằng cách sử dụng chế độ Tunnel hoặc Transport

IPSec gửi dữ liệu bằng cách sử dụng chế độ Tunnel hoặc Transport. Các chế độ này có liên quan chặt chẽ đến loại giao thức được sử dụng, AH hoặc ESP.

- Chế độ Tunnel: Trong chế độ Tunnel, toàn bộ gói tin được bảo vệ. IPSec gói gói dữ liệu trong một packet mới, mã hóa nó và thêm một IP header mới. Nó thường được sử dụng trong thiết lập VPN site-to-site.

- Chế độ Transport: Trong chế độ Transport, IP header gốc vẫn còn và không được mã hóa. Chỉ có payload và ESP trailer được mã hóa mà thôi. Chế độ Transport thường được sử dụng trong thiết lập VPN client-to-site.

Đối với các VPN, cấu hình IPSec phổ biến nhất mà bạn sẽ thấy là ESP với xác thực ở chế độ Tunnel. Cấu trúc này giúp lưu lượng truy cập Internet di chuyển bảo mật và ẩn danh bên trong VPN tunnel qua các mạng không bảo mật.

Vậy sự khác biệt giữa chế độ Tunnel và Transport trong IPsec là gì?

Chế độ Tunnel trong IPsec được sử dụng giữa hai router chuyên dụng, với mỗi router hoạt động như một đầu của "đường hầm" ảo thông qua mạng công cộng. Trong chế độ Tunnel, IP header ban đầu chứa đích cuối cùng của gói được mã hóa, cùng với payload gói. Để cho những router trung gian biết nơi chuyển tiếp các gói tin, IPsec thêm một IP header mới. Tại mỗi đầu của đường hầm, những router giải mã những IP header để chuyển các gói đến đích của chúng.

Trong chế độ Transport, payload của mỗi gói được mã hóa, nhưng IP header ban đầu thì không. Do đó, các router trung gian có thể xem đích cuối cùng của mỗi gói - trừ khi sử dụng một giao thức tunnel riêng biệt (chẳng hạn như GRE).

IPsec sử dụng cổng nào?

Cổng mạng là vị trí ảo nơi dữ liệu đi trong máy tính. Cổng là cách máy tính theo dõi các tiến trình và kết nối khác nhau. Nếu dữ liệu đi đến một cổng nhất định, hệ điều hành của máy tính sẽ biết nó thuộc tiến trình nào. IPsec thường sử dụng cổng 500.

IPsec tác động đến MSS và MTU như thế nào?

MSS và MTU là hai phép đo kích thước gói tin. Các gói chỉ có thể đạt đến một kích thước nhất định (tính bằng byte) trước khi máy tính, router và switch không thể xử lý chúng. MSS đo kích thước payload của mỗi gói, trong khi MTU đo toàn bộ gói, bao gồm cả các header. Các gói vượt quá MTU của mạng có thể bị phân mảnh, có nghĩa là được chia thành các gói nhỏ hơn và sau đó được tập hợp lại. Các gói vượt quá MSS chỉ đơn giản là bị loại bỏ.

Giao thức IPsec thêm một số header và trailer vào các gói, tất cả đều chiếm vài byte. Đối với các mạng sử dụng IPsec, MSS và MTU phải được điều chỉnh cho phù hợp, nếu không các gói tin sẽ bị phân mảnh và hơi trễ. Thông thường, MTU cho một mạng là 1.500 byte. IP header bình thường dài 20 byte và TCP header cũng dài 20 byte, nghĩa là mỗi gói có thể chứa 1.460 byte payload. Tuy nhiên, IPsec thêm Authentication Header (header xác thực), ESP header và các trailer liên quan. Chúng thêm 50 - 60 byte vào một gói hoặc nhiều hơn.

Thứ Sáu, 07/08/2020 10:30
59 👨 18.715
0 Bình luận
Sắp xếp theo
    ❖ Giải pháp bảo mật