Võ Nguyên Thoại
Contents
IPSec, viết tắt của Internet Protocol Security, là một bộ giao thức mạng được thiết kế để bảo vệ dữ liệu truyền qua mạng IP. Nó cung cấp các tính năng bảo mật mạnh mẽ như mã hóa, xác thực và tính toàn vẹn dữ liệu. IPSec đóng vai trò quan trọng trong việc xây dựng các mạng riêng ảo (VPN), giúp bảo vệ các kết nối từ xa và đảm bảo tính bảo mật cho các giao dịch trực tuyến. Để hiểu hơn về IPSec là gì hãy cùng MONA Host khám phá trong bài viết này nhé.
IPsec là gì?
IPsec (Internet Protocol Security) là một nhóm giao thức để bảo mật kết nối giữa các thiết bị. IPsec giúp giữ an toàn cho dữ liệu được gửi qua các mạng công cộng. Giao thức này thường được sử dụng để thiết lập VPN và hoạt động bằng cách mã hóa các gói IP cùng với việc xác thực nguồn xuất xứ của các gói đó.
Trong thuật ngữ “IPsec”, “IP” viết tắt của “Internet Protocol” và “sec” viết tắt của “secure”. Giao thức Internet là giao thức định tuyến chính được sử dụng trên Internet; nó chỉ định nơi dữ liệu sẽ đi bằng cách sử dụng địa chỉ IP. IPsec là an toàn vì nó thêm mã hóa và xác thực vào quá trình này.
IPSec VPN là gì?
VPN (Virtual Private Network) là một kết nối được mã hóa giữa hai hoặc nhiều máy tính. Kết nối VPN diễn ra trên các public network, nhưng dữ liệu trao đổi qua VPN vẫn đảm bảo riêng tư vì nó được mã hóa.
VPN cho phép truy cập và trao đổi dữ liệu mật một cách an toàn trên cơ sở hạ tầng mạng được chia sẻ, chẳng hạn như Internet công cộng. Ví dụ, khi nhân sự làm việc từ xa thay vì làm tại văn phòng thì họ thường sử dụng VPN để truy cập vào các tệp hay ứng dụng của công ty làm việc.
Nhiều VPN sử dụng bộ giao thức IPsec để thiết lập và vận hành các kết nối được mã hóa này. Tuy nhiên, không phải tất cả các mạng riêng ảo đều sử dụng IPsec. Một giao thức khác mà VPN thường sử dụng là SSL/TLS, hoạt động ở một lớp khác trong mô hình OSI so với IPsec.
Sơ lược về lịch sử của IPSec
Cội nguồn của IPSec có thể được tìm thấy từ những năm 1970, khi các thiết bị mã hóa đầu tiên được phát triển cho ARPANET – tiền thân của Internet hiện đại. Đến cuối những năm 1980, với sự hậu thuẫn của NSA, các giao thức bảo mật mạng bắt đầu được nghiên cứu và phát triển. Những nỗ lực này đạt được bước tiến lớn với sự ra đời của SP3 và NLSP, được NIST công bố.
Đến đầu những năm 1990, NRL đã đóng góp quan trọng vào việc hình thành tiêu chuẩn cho IPsec. Nhờ sự hỗ trợ của DARPA, IETF đã thành lập Nhóm Làm việc Bảo mật IP vào năm 1992. Nhóm này đã tập hợp các chuyên gia trong ngành để cùng nhau xây dựng nên bộ tiêu chuẩn IPSec, đặt nền tảng cho việc truyền tải dữ liệu an toàn trên Internet ngày nay.
Ứng dụng của IPsec
IPSec được sử dụng cho các công việc sau:
- Giúp mã hóa dữ liệu trong lớp ứng dụng.
- Cung cấp bảo mật cho các bộ định tuyến sau đó gửi dữ liệu định tuyến thông qua internet công cộng.
- Xác thực dữ liệu mã hóa nhanh chóng nếu như xác thực nguồn dữ liệu từ 1 người gửi đã biết
- Giúp bảo vệ dữ liệu mạng bằng cách thiết lập các mạch sử dụng đường hầm IPSec, ở trong đó sẽ gồm tất cả dữ liệu đang được gửi giữa 2 điểm cuối được mã hóa, giống như kết nối mạng riêng ảo VPN
IPsec gồm những thành phần nào?
IPSec bao gồm một số thành phần chính giúp thực hiện các chức năng bảo mật khác nhau. Dưới đây là các thành phần quan trọng của IPSec:
Encapsulating Security Payload (ESP)
Encapsulating Security Payload (ESP) là một giao thức bảo mật quan trọng trong IPsec, đóng vai trò không chỉ xác thực nguồn dữ liệu và kiểm tra tính toàn vẹn của các gói IP mà còn cung cấp khả năng mã hóa dữ liệu. Khi một gói dữ liệu được bảo vệ bởi ESP, một tiêu đề ESP sẽ được thêm vào tiêu đề IP chuẩn. Ngoài ra, các trường dữ liệu ESP Trailer và ESP Auth cũng được bổ sung để đảm bảo tính toàn vẹn và xác thực dữ liệu.
Đáng chú ý, trong chế độ vận chuyển (transport mode), ESP chỉ bảo vệ phần dữ liệu (payload) của gói tin mà không quan tâm đến tiêu đề IP. Điều này có nghĩa là ESP không thể đảm bảo rằng tiêu đề IP không bị giả mạo.
Authentication Header (AH)
Authentication Header (AH) là một trong hai giao thức bảo mật chính của IPsec, cùng với Encapsulating Security Payload (ESP). Trong khi ESP tập trung vào việc mã hóa và bảo vệ toàn bộ gói tin, thì AH lại chuyên về việc xác thực và đảm bảo tính toàn vẹn của dữ liệu.
AH hoạt động bằng cách thêm một tiêu đề AH vào gói IP và tính toán một giá trị băm (hash) dựa trên nội dung của gói tin. Giá trị băm này sẽ được đính kèm vào cuối tiêu đề AH. Khi gói tin đến đích, người nhận sẽ tính toán lại giá trị băm và so sánh với giá trị băm nhận được. Nếu hai giá trị này trùng nhau, điều đó có nghĩa là gói tin chưa bị thay đổi trong quá trình truyền đi.
Internet Key Exchange (IKE)
Internet Key Exchange (IKE) là một giao thức nền tảng trong IPsec, đóng vai trò thiết lập và quản lý các hiệp hội bảo mật (Security Associations – SA). IKE hoạt động ở lớp ứng dụng, dựa trên giao thức UDP, và chịu trách nhiệm đàm phán các thông số bảo mật cần thiết cho việc truyền dữ liệu an toàn. Nhờ IKE, các thiết bị mạng có thể thiết lập các kết nối VPN an toàn và trao đổi thông tin một cách bảo mật.
Cách thức hoạt động của IPsec
IPsec bảo vệ dữ liệu truyền qua mạng IP, nó cung cấp các tính năng như mã hóa, xác thực và bảo vệ tính toàn vẹn của dữ liệu. IPsec sẽ hoạt động theo 4 giai đoạn sau:
Giai đoạn 1: Nhận dạng lưu lượng quan tâm
Sau khi 1 thiết bị mạng đã nhận được 1 packet thì nó sẽ match với 5-tuple của packet đó với IPsec policy đã configured để xác định xem là packet có cần được truyền qua 1 đường hầm IPsec hay là không. Lưu lượng cần được truyền qua đường hầm IPsec sẽ gọi là lưu lượng quan tâm.
Giai đoạn 2: Đàm phán (SA) Security Association & Key exchange
Security Association sẽ xác định các yếu tố để truyền dữ liệu an toàn giữa các bên giao tiếp. Các yếu tố này bao gồm những giao thức bảo mật, thuật toán mã hóa, xác thực, chế độ đóng gói dữ liệu và những key đang được sử dụng để truyền dữ liệu.
Sau khi nó đã được xác định lưu lượng quan tâm, thiết bị mạng cục bộ lúc này sẽ bắt đầu thương lượng SA với thiết bị mạng ngang hàng. Khi ở giai đoạn này thì các bên giao tiếp sử dụng giao thức IKE viết tắt của Internet Key Exchange để thiết lập IKE SA để tiến hành xác định danh tính và trao đổi thông tin chính, tiếp đó là thiết lập IPsec SA để truyền các dữ liệu an toàn dựa trên IKE SA.
Giai đoạn 3: Truyền dữ liệu
Sau khi IPsec SA được thiết lập thông qua các bên giao tiếp, thì lúc này chúng có thể truyền thông tin dữ liệu qua đường hầm IPsec.
Để đảm bảo an toàn tính bảo mật khi truyền dữ liệu, AH hay Authentication Header hoặc là Encapsulating Security Payload (ESP) lúc này sẽ được ứng dụng để làm mã hóa và xác thực thông tin dữ liệu. Cơ chế mã hóa này bảo đảm tính bảo mật của dữ liệu và ngăn chặn các dữ liệu bị chặn trong các quá trình truyền. Cơ chế xác thực giúp bảo đảm tính toàn vẹn dữ liệu và độ tin cậy của dữ liệu, ngăn việc dữ liệu bị làm giả hoặc là giả mạo trong quá trình truyền.
IPsec sender được sử dụng thuật toán khóa mã hóa và mã hóa để mã hóa 1 IP packet, lúc này nó sẽ đóng gói dữ liệu gốc. Tiếp theo, sender và receiver sẽ sử dụng chung một thuật toán khóa xác thực và xác thực để xử lý các packet đã được mã hóa nhằm thu được giá trị nhằm kiểm tra tính toàn vẹn (integrity check value – ICV). Nếu như những integrity check value thu được ở cả hai đầu đều giống như nhau, thì gói tin này không bị làm giả trong quá trình truyền và receiver sẽ tiến hành giải mã gói tin đó. Nếu như các ICV là khác nhau, receiver sẽ tiến hành loại bỏ gói tin.
Giai đoạn 4: Kết thúc
Đây là bước cuối cùng và nó cũng liên quan đến việc kết thúc kênh bảo mật IPsec. Việc tiến hành chấm dứt xảy ra khi quá trình trao đổi dữ liệu được hoàn tất hoặc phiên đã hết thời gian thực hiện, Những khóa mật mã cũng bị loại bỏ trong lúc này. Để tiết kiệm tối đa tài nguyên của hệ thống, lúc này đường hầm giữa 2 bên liên lạc sẽ tự động được chia nhỏ khi đạt đến khoảng thời gian chờ không hoạt động của đường hầm.
Cơ chế vận hành của IPsec
IPsec được vận hành theo cơ chế cụ thể như sau:
Những cơ chế hoạt động của IPsec
Các chế độ hoạt động của IPsec:
- Chế độ Tunnel: Ở chế độ Tunnel này, toàn bộ các gói tin sẽ được bảo vệ, bao gồm IP header và payload. IPSec gói gói dữ liệu sẽ nằm bên trong một packet mới, tiến hành mã hóa nó và thêm 1 IP header mới. Lúc này chế độ tunnel thường được ứng dụng trong việc thiết lập VPN site-to-site.
- Chế độ Transport: Trong chế độ Transport, thì IP header gốc vẫn sẽ còn và sẽ không được mã hóa. Sẽ chỉ có ESP trailer và payload được mã hóa mà thôi. Chế độ Transport này thường được ứng dụng trong quá trình thiết lập VPN client-to-site.
Các bước vận hành của IPSec
IPSec được hoạt động trên 5 bước:
- Bước 1: Máy chủ sẽ kiểm tra xem gói tin đã gửi đi có nên được truyền bằng IPsec hay không. Các gói tin này sẽ được hệ thống gửi gói tin đến và áp dụng 1 phương thức mã hóa thích hợp. Lúc này các gói tin đến cũng được máy chủ kiểm tra qua và xem chúng có được mã hóa đúng cách hay là không.
- Bước 2: Ở giai đoạn 1 của IKE được bắt đầu thì trong đó hai máy chủ (sử dụng IPsec) sẽ tự xác thực với nhau để bắt đầu một kênh an toàn. Kênh có 2 chế độ: chế độ chính (Main mode) giúp cung cấp tính năng bảo mật cao và tốt hơn và chế độ linh hoạt (Aggressive mode) cho phép các máy chủ thiết lập mạch IPsec một cách nhanh chóng hơn. Kênh này tiếp theo đó sẽ được sử dụng nhằm trao đổi một cách an toàn cách thức mạch IP sẽ mã hóa toàn bộ dữ liệu.
- Bước 3: Khi bước vào giai đoạn 2 của IKE sẽ tiến hành thông qua kênh bảo mật, trong đó 2 máy chủ sẽ thương lượng loại thuật toán mã hóa sẽ được sử dụng trong ở phiên và trao đổi về khóa bí mật tiếp đến sẽ được sử dụng với những thuật toán đó.
- Bước 4: Sau khi dữ liệu được trao đổi qua đường hầm mã hóa IPsec mới tạo. Những gói này sẽ được tiến hành mã hóa và giải mã bởi các máy chủ đang sử dụng IPsec SA.
- Bước 5: Sau khi quá trình giao tiếp giữa các máy chủ được hoàn tất hoặc là hết phiên thì đường hầm IPsec sẽ được kết thúc bằng cách loại bỏ những khóa của cả hai máy.
Sự khác nhau giữa IPsec và SSL
Cùng là những giao thức bảo mật khá phổ biến và được sử dụng cho kết nối VPN, thế nhưng IPsec và chứng chỉ SSL là khác nhau hoàn toàn và cần phải phân biệt rõ 2 giao thức này.
Tính năng | IPsec | SSL |
Hiệu suất | Yêu cầu phần mềm trên thiết bị đầu cuối để đàm phán kết nối, có thể mất nhiều thời gian hơn. | Hoạt động trên trình duyệt web, giúp quá trình đàm phán kết nối nhanh hơn. |
Bảo mật | Hỗ trợ bảo vệ chống replay, xác thực mạng, tính toàn vẹn và bảo mật dữ liệu. | Sử dụng mã hóa SSL hoặc TLS cùng với khóa công khai, khóa riêng và chứng chỉ số để xác thực. |
Dễ sử dụng | Quá trình cài đặt và cấu hình thường phức tạp. | Hầu hết các trình duyệt web hiện đại đều hỗ trợ triển khai SSL. |
Xuyên tường lửa | Dễ bị tường lửa chặn. | Thích hợp để vượt qua tường lửa vì nó sử dụng cổng 443 – cổng mặc định cho lưu lượng truy cập HTTPS an toàn. |
Kiểm soát | Cung cấp quyền truy cập rộng vào toàn bộ mạng nội bộ hoặc ứng dụng, có thể gây ra lỗ hổng bảo mật. | Kiểm soát truy cập chi tiết hơn nhưng đòi hỏi quản lý chặt chẽ hơn. |
Xác thực dữ liệu | Trao đổi khóa an toàn Internet (IKE). | Thuật toán trao đổi khóa như Elliptic Curve Cryptography (ECC) và RSA. |
Phòng chống tấn công | Bề mặt tấn công rộng vì cung cấp truy cập từ xa cho toàn bộ mạng. | Bề mặt tấn công hạn chế vì nó cho phép truy cập từ xa vào các ứng dụng và hệ thống cụ thể. |
Một số câu hỏi liên quan đến IPSec
IPSec sử dụng Port nào?
IKE là giao thức được sử dụng để thiết lập, quản lý và xóa các kết nối bảo mật (SA) trong IPsec. Cổng 500 được chọn để giao tiếp IKE vì nó không được sử dụng phổ biến cho các dịch vụ khác, giúp giảm thiểu xung đột và tăng cường bảo mật.
IPSec tác động như thế nào đến MSS và MTU?
MSS (Maximum Segment Size) và MTU (Maximum Transmission Unit) đều là các chỉ số đo kích thước của gói tin trong mạng. Gói tin chỉ có thể đạt đến một kích thước tối đa (tính bằng byte) trước khi vượt quá khả năng xử lý của máy tính, router, hoặc switch. MSS dùng để đo kích thước phần dữ liệu (payload) trong mỗi gói tin, trong khi MTU đo toàn bộ kích thước của gói, bao gồm cả phần header.
Khi kích thước gói tin vượt quá MTU của mạng, nó có thể bị phân mảnh, nghĩa là sẽ bị chia nhỏ thành các gói tin nhỏ hơn rồi được tập hợp lại sau. Nếu kích thước gói vượt quá MSS, gói đó sẽ bị loại bỏ.
Giao thức IPsec bổ sung thêm một số header và trailer vào các gói tin, chiếm một vài byte. Vì vậy, đối với các mạng sử dụng IPsec, cả MSS và MTU cần được điều chỉnh phù hợp để tránh phân mảnh và độ trễ trong quá trình truyền dữ liệu. Thông thường, MTU của mạng là 1.500 byte.
Phần header của giao thức IP thường dài 20 byte và TCP header cũng có kích thước tương tự, do đó một gói tin có thể chứa 1.460 byte dữ liệu. Tuy nhiên, IPsec thêm vào Authentication Header, ESP header và một số trailer khác, khiến kích thước gói tin tăng thêm 50-60 byte hoặc hơn.
So sánh sự khác nhau giữa chế độ IPSec Tunnel và IPSec Transport
IPsec hoạt động theo hai chế độ chính là chế độ Tunnel và chế độ Transport. Mỗi chế độ có những ưu nhược điểm và phù hợp với các trường hợp sử dụng khác nhau.
Chế độ Tunnel:
- Bảo mật cao: Toàn bộ gói tin được bảo vệ, bao gồm cả địa chỉ IP nguồn và đích, giúp che giấu thông tin về mạng nội bộ.
- Phù hợp với các mạng không tin cậy: Chế độ Tunnel thường được sử dụng để kết nối giữa hai mạng không tin cậy, như khi kết nối với một mạng VPN.
- Phức tạp hơn: Quá trình đóng gói và giải mã gói tin phức tạp hơn so với chế độ Transport.
Chế độ Transport:
- Đơn giản: Quá trình mã hóa và giải mã đơn giản hơn so với chế độ Tunnel.
- Hiệu suất cao: Vì chỉ có phần dữ liệu được mã hóa nên sẽ giảm tải cho thiết bị.
- Bảo mật thấp hơn: Địa chỉ IP nguồn và đích vẫn có thể bị lộ, giảm tính bảo mật.
Hy vọng thông qua bài viết trên mà chung tôi cung cấp đã giúp bạn hiểu rõ hơn về giao thức IPSec cũng như các ứng dụng của nó. Nếu bạn còn những thắc mắc cần giải đáp về IPsec đừng ngần ngại mà hãy liên hệ ngay cho MONA Host để được đội ngũ giải đáp kịp thời cho bạn.
Bài viết liên quan
Đăng ký để nhận các bài nghiên cứu, blog, thông tin mới nhất từ chúng tôi