Giao thức bảo mật IPSec
Công nghệ VPN sử dụng cơ sở hạ tầng mạng công cộng và các môi trường truyền dẫn được chia sẻ khác để truyền dữ liệu, do vậy bảo mật dữ liệu trong mạng VPN là vấn đề vô cùng quan trọng. Để giải quyết vấn đề này, VPN xây dựng đường hầm(Tunnle) và sử dụng bộ ...
Công nghệ VPN sử dụng cơ sở hạ tầng mạng công cộng và các môi trường truyền dẫn được chia sẻ khác để truyền dữ liệu, do vậy bảo mật dữ liệu trong mạng VPN là vấn đề vô cùng quan trọng. Để giải quyết vấn đề này, VPN xây dựng đường hầm(Tunnle) và sử dụng bộ giao thức IPSec để mã hoá dữ liệu trong đường hầm.
Mã hoá(Encryption):
Có chức năng chuyển dữ liệu ở dạng bản rõ(Plain text) thành dạng dữ liệu được mã hoá
Giải mã(Decryption):
Có chức năng chuyển thông tin đã được mã hoá thành dạng bản rõ(Plain Text) với key được cung cấp.
- Đối xứng(Symmetric)
- Bất đối xứng(Asymmetric)
Thuật toán mật mã đối xứng(Symmetric)
Có đặc điểm là người nhận và người gửi cùng sử dụng chung một khoá bí mật(secret key). Bất kỳ ai có khoá bí mật đều có thể giải mã bản mã.
Thuật toán mật mã bất đối xứng(Asymmetric
Còn được biết đến như là thuật toán khoá công khai(Public Key). Khoá mã được gọi là khoá công khai và có thể được công bố, chỉ khoá ảo(Private Key) là cần được giữ bí mật. Như vậy Public Key và Private Key là liên quan đến nhau. Bất kỳ ai có Public Key đều có thể mã hoá bản Plain Text nhưng chỉ có ai có Private Key mới có thể giải mã từ bản mã về dạng rõ.
Để minh hoạ cho thuật toán này, chúng ta quay trở lại ví dụ về bài toán mật mã điển hình là: Bob và Alice cần truyêng thông tin bí mật cho nhau sử dụng thuật toán mã hoá công khai.
Cơ chế mã hoá và giải mã sử dụng Public Key
Trong thực tế thuật toán mã khoá công khai ít được sử dụng để mã hoá nội dung thông tin vì thuật toán này xử lý chậm hơn so với thuật toán đối xứng. tuy nhiên Public Key thường được dùng để giải quyết vấn đề phân phối Key của thuật toán đối xứng. Public Key không thay thế Symmetric mà chúng trợ giúp lẫn nhau.
Digital Signatures
Một ứng dụng khác của thuật toán mã hoá công khai là chữ ký điện tử(Digital Signature). Trở lại bài toán Alice và Bob. Lúc này Bob muốn chứng thực là thư Alice gửi cho mình do chính Alice gửi chứ không phải là một lá thư nặc danh từ một kẻ thức 3 nào đó. Do vậy một chữ ký điện tử được sinh ra và gắn kèm vào tệp tin của Alice, Bob sử dụng Public Key để giải mã và xác nhận đây đúng là chữ ký của Alice. Cơ chế xác thực như sau:
Cơ chế xác thực chữ ký số
- Máy tính Alice sử dụng hàm HASH băm văn bản cần muốn gửi cho Bob thành một tệp 512 byte gọi là tệp HASH.
- Alice mã hoá tệp HASH với Private Key thành chữ ký số. Chữ ký số được đính kèm vào văn bản gửi đi
- Bob giải mã chữ ký điện tử của Alice với Public key tạo ra tệp HASH1 và sau đó sử dụng hàm HASH băm tệp Plain Text nhận được từ Alice tạo ra tệp HASH2
- HASH1 và HASH2 được so sánh với nhau, nếu hợp nhất thì văn bản Bob nhận được đúng là của Alice gửi.
IPSec Security Protocol
Mục đích của IPSec là cung cấp dịch vụ bảo mật cho gói tin IP tại lớp Network. Những dịch vụ này bao gồm điều khiển truy cập, toàn vẹn dữ liệu, chứng thực và bảo mật dữ liệu.
Encapsulating security payload (ESP) và authentication header (AH) là hai giao thức chính được sử dụng để cung cấp tính năng bảo mật cho gói IP. IPSec hoạt động với hai cơ chế Transport Mode và Tunnel Mode
IPSec Transport Mode
Trong chế độ này một IPSec Transport Header(AH hoặc ESP) được chèn vào giữa IP Header và các Header lớp trên.
Hiển thị một IP Packet được bảo vệ bởi IPSec trong chế độ Transport Mode
Trong chế độ này, IP Header cũng giống như IP Header của gói dữ liệu gốc trừ trường IP Protocol là được thay đổi nếu sử dụng giao thức ESP(50) hoặc AH(51) và IP Header Checksum là được tính toán lại. Trong chế độ này, địa chỉ IP đích trong IP Header là không được thay đổi bởi IPSec nguồn vì vậy chế độ này chỉ được sử dụng để bảo vệ các gói có IP EndPoint và IPSec EndPoint giống nhau.
IPSec Transport Mode là rất tôt khi bảo vệ luồng dữ liệu giữa hai host hơn là mô hình site-to-site. Hơn thế hai địa chỉ IP của hai host này phải được định tuyến(Nhìn thấy nhau trên mạng) điều đó tương đương với việc các Host không được phép NAT trên mang. Do vậy IPSec Transport Mode thường được dùng để bảo vệ các Tunnle do GRE khởi tạo giữa các VPN Getway trong mô hình Site-to-Site,
IPSec Tunnle Mode
Dịch vụ IPSec VPN sử dụng chế độ Transport và phương thức đóng gói GRE giữa các VPN Getway trong mô hình Site-to-Site là hiệu quả. Nhưng khi các Client kết nối vào Getway VPN thì từ Client và Getway VPN là chưa được bảo vệ, hơn thế khi các Client muốn kết nối vào một Site thì việc bảo vệ IPSec cũng là một vấn đề. IPSec Tunnle Mode ra đời để hỗ trợ vấn đề này.
Ở chế độ Tunnle Mode, gói IP nguồn được đóng gói trong một IP Datagram và một IPSec header(AH hoặc ESP) được chèn vào giữa outer và inner header, bởi vì đóng gói với một "outer" IP Packet, chế độ Tunnle được có thể được sử dụng để cung cấp dịch vụ bảo mật giữa các IP Node đằng sau một VPN Getway
Gói IP trong chế độ IPSec Tunnle
Encapsulating Security Header (ESP)
Gói dữ liệu IP được bảo vệ bởi ESP
ESP cung cấp sự bảo mật, toàn vẹn dữ liệu, và chứng thực nguồn gốc dữ liệu và dịch vụ chống tấn công Anti-reply
ESP điền giá trị 50 trong IP Header. ESP Header được chèn vào sau IP Header và trước Header của giao thức lớp trên. IP Header có thể là một IP Header mới trong chế độ Tunnle hoặc là IP Header nguồn nếu trong chế độ Transport.
Tham số bảo mật Security Parameter Index (SPI) trong ESP Header là một giá trị 32 bit được tích hợp với địa chỉ đích và giao thức trong IP Header.
SPI là một số được lựa chọn bởi Host đích trong suốt quá trình diễn ra thương lượng Public Key giữa các Peer-to-Peer. Số này tăng một cách tuần tự và nằm trong Header của người gửi. SPI kết hợp với cơ chế Slide Window tạo thành cơ chế chống tấn công Anti-Replay.
Authentication Header (AH)
AH cũng cung cấp cơ chế kiểm tra toàn vẹn dữ liệu, chứng thực dữ liệu và chống tấn công. Nhưng không giống EPS, nó không cung cấp cơ chế bảo mật dữ liệu. Phần Header của AH đơn giản hơn nhiều so với EPS
Gói IP được bảo vệ bởi AH
AH là một giao thức IP, được xác định bởi giá trị 51 trong IP Header. Trong chế độ Transport, gá trị giao thức lớp trên được bảo vệ như UPD, TCP..., trong chế độ Tunnle, giá trị này là 4. Vị trí của AH trong chế độ Transport và Tunnle như trong hình sau:
Trong chế độ Transport, AH là rất tốt cho kết nối các endpoint sử dụng IPSec, trong chế độ Tunnle AH đóng gói gói IP và thêm IP Header vào phía trước Header. Qua đó AH trong chế độ Tunnle được sử dụng để cung cấp kết nối VPN end-to-end bảo mật. Tuy nhiên phần nội dung của gói tin là không được bảo mật
Tiến trình chứng thực bắt tay 3 bước -Three-Way CHAP Authentication Process
Khi thiết lập một kết nối VPN, Client, NAS hoặc Home Getway sử dụng cơ chế chứng thực qua 3 bước để cho phép hoặc không cho phép(Allow or Denied) tài khoản được phép thiết lập kết nối.
CHAP là giao thức chứng thực challenge/response(Hỏi đáp/phản hồi). Nó mã hoá Password thành một chữ ký có độ dài 64 bit thay cho việc gửi password đi trên mạng ở dạng Plain Text. Cơ chế này hỗ trợ bảo mật Password từ Client đến Home Getway.
Tiến trình này được mô tả như sau:
- Khi user khởi tạo một phiên kết nối PPP với NAS, NAS gửi một challenge đến Client
- Client gửi một CHAP Response đến NAS trong đó có user ở dạng clear text, NAS sử dụng số khi user quay số đến để xác nhận điểm cuối của đường hầm IP. Tại điểm này PPP đàm phán và tạm dừng ở đó, và NAS hỏi một AAA Server về thông tin đường hầm. AAA Server trợ giúp thông tin để chứng thực tunnle giữa NAS và Home Getway. NAS và Home Getway chứng thực và thiết lập đường hầm giữa NAS và Home Getway. Sau đó NAS chuyển các thông tin đàm phán PPP với Client đến Home Getway
- Home Getway chứng thực Client và sau đó trả về một Response, cái mà được chuyển tiếp qua NAS đến Client và gửi một CHAP success hoặc failure đến Client.
Tiến trình chứng thực CHAP 3 bước