Header ads

Header ads
» » » MẠNG RIÊNG ẢO TRÊN NỀN IPSEC

2.Thuật ngữ mã hóa
Mã hóa là quá trình truyền tải dữ liệu ở dạng mà người muốn xem lén nội dung không thể đọc trước nếu không biết về Khóa sử dụng cho việc mã hóa.
Vấn đề đặt ra là chúng ta trao đổi thông tin cũng như liên lạc với đối tác trong kinh doanh với những tài liệu có mức độ quan trọng và riêng tư cao mà ta không muốn có một người thứ 3 biết, tuy nhiên việc trao đổi thông tin qua Internet với các thao tác thủ công mà trước giờ ta sử dụng thì nguy cơ bị hacker đánh cắp thông tin là điều luôn luôn có khả năng xảy ra ở mức độ cao.

Hình 2.1: Mô tả truyền tải dữ liệu
Tùy vào thuật toán mã hóa mà ta có thể sử dụng khóa đồng bộ hoặc không đồng bộ.
Thuật toán mã hóa là dựa vào công thức toán học dùng cho việc mã hóa và giải mã. Nhìn chung, thường có hai thuật toán có mối liên hệ với nhau, một cho mã hóa và một dùng để giải mã. Bảo mật dữ liệu hiện đại là thuật toán dựa trên các khóa, có thể được phân làm hai loại:
Thuật toán sử dụng khóa đồng bộ
Thuật toán sử dụng khóa đồng bộ dựa trên người gửi và người nhận đều biết về một khóa bí mật. Người gửi sử dụng khóa bí mật đó để mã hóa gói tin và người nhận sử dụng cùng khóa để giải mã gói tin. Vấn đề chính trong việc sử dụng khóa đồng bộ là làm sao để phân phối khóa một cách an toàn, không cho người thứ ba biết. Bất cứ người thứ ba biết về khóa bí mật có thể chen vào quá trình chuyển gói tin để đọc và sửa đổi nội dung gói tin. DES, 3DES, và AES là những thuật toán sử dụng khóa đồng bộ thông dụng.
Thuật toán sử dụng khóa không đồng bộ:
Thuật toán sử dụng khóa không đồng bộ, hoặc được biến đến như là thuật toán công khai khóa, sử dụng một cặp khóa, một dùng mã hóa và một giải mã. Khóa dùng mã hóa còn được gọi là khóa công khai và có thể công khai ra ngoài. Khóa còn lại là khóa cá nhân, sử dụng để giải mã, và phải cần được bí mật. Mặc dù cặp khóa có mối liên hệ toán học với nhau, không thể dùng khóa này để lần ra khóa kia được. Bất cứ ai có khóa công khai của người nhận có thể mã hóa được gói tin, nhưng gói tin chỉ có thể được mã hóa với khóa riêng của người nhận biết được. Vì vậy, một kênh thông tin bảo mật dùng để chuyển đổi khóa bí mật là không cần thiết trong thuật toán sử dụng khóa không đồng bộ.

Hình 2.2: Mã hóa sử dụng khóa công khai
Alice và Bob thống nhất về khóa công khai.
Bob gửi Alice khóa công khai của cậu ta và Alice gửi Bob khóa công khai của cô.
Alice gửi Bob 1 tin nhắn, mã hóa tin nhắn đó sử dụng khóa công khai của Bob.
Bob nhận được tin nhắn và giải mã tin nhắn đó sử dụng chính Key bí mật của cậu ta.
Chữ ký số:
Mã hóa tin nhắn với khóa bí mật tạo ra một chữ ký số, được sử dụng để xác thực và cung cấp thông tin người gửi. Do đó, chữ kí số không chỉ có tác dụng bảo vệ nội dung thông tin mà còn xác thực đích danh người gửi.
Thuật toán mã hóa
Có rất nhiều thuật toán mã hóa được phát triển cho khóa đồng bộ. Các thuật toán thông dụng nhất dùng cho mã hóa là DES (khóa 56 bit), 3DES (khóa 168 bit) và AES ( có thể lên tới khóa 488 bit).
2.2 Giao thức bảo mật IPSEC
IPSec là một từ viết tắt của thuật Internet Protocol Securityđược IETF phát triển để thiết lập một cơ cấu bảo mật ở tầng 3( Network layer) của mô hình OSI.

Hình 2.3: Vị trí 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ì giao tiếp đều đi qua tầng 3.
IPsec được định nghĩa trong RFC 4301, Security Architecture for Internet Protocol. IPsec cung cấp dịch vụ bảo mật, chống replay, xác thực, toàn vẹn dữ liệu và điều khiển truy nhập.
IPSec cho phép một đường hầm bảo mật thiết lập giữa hai mạng riêng và xác thực hai đầu của đường hầm này. Các thiết bị giữa hai đầu đường hầm có thể là một cặp host, một cặp cổng an ninh (thiết bị định tuyến, firewall, bộ tập trung VPN) hoặc cặp thiết bị gồm một host và một cổng an ninh. Đường hầm đóng vai trò là một kênh truyền bảo mật giữa hai đầu và các gói dữ liệu yêu cầu an ninh được truyền trên đó. IPSec cũng thực hiện đóng gói dữ liệu và xử lí các thông tin để thiết lập, duy trì và hủy bỏ kênh truyền khi không dùng đến nữa. Các gói tin truyền trong đường hầm có khuôn dạng giống như các gói tin bình thường khác và không làm thay đổi các thiết bị, kiến trúc cũng như những ứng dụng hiện có trên mạng trung gian, qua đó cho phép giảm đáng kể chi phí để triển khai và quản lý.
IPSec có hai cơ chế cơ bản để đảm bảo bảo mật dữ liệu là tiêu đề xác thực ( AH – Authentication Header) và đóng gói tải tin an toàn (ESP – Encapsulating Security Payload), trong đó IPSec phải hỗ trợ ESP và có thể hỗ trợ AH. Cả AH và ESP đều cung cấp các phương tiện cho điều khiển truy nhập dựa vào sự phân phối của các khóa mật mã và quản lý các luồng lưu lượng có liên quan đến những giao thức an ninh này.
IPSec có thể sử dụng giao thức trao đổi khoá IKE (Internet Key Exchange) để xác thực hai bên, thương lượng các chính sách bảo mật và xác thực thông qua việc xác định thuật toán thiết lập kênh truyền, trao đổi khóa cho mỗi phiên kết nối và dùng trong mỗi phiên truy nhập. Mạng dùng IPSec để bảo mật các dòng dữ liệu có thể tự động kiểm tra tính xác thực của thiết bị bằng chứng thực số của hai người dùng trao đổi thông tin qua lại. Việc thương lượng này cuối cùng dẫn đến thiết lập một liên kết bảo mật (SA – Security Association) giữa các cặp bảo mật.
2.2.1 Liên kết bảo mật SA
Để hai bên có thể truyền dữ liệu đã được bảo mật ( dữ liệu đã được xác thực hoặc được mã hóa hoặc cả hai) cả hai bên phải cùng thống nhất sử dụng giải thuật mã hóa, làm cách nào để chuyển khóa nếu như cần. Cả hai bên cũng cần thỏa thuận bao nhiêu lâu sẽ thay đổi khóa một lần. Tất cả các thỏa thuận trên là do SA đảm trách.
Xác thực giao thức, khóa và giải thuật.
Phương thức và khóa cho giải thuật xác thực là header xác thực (AH) hoặc giao thức đóng gói bảo mật payload (ESP).
Giải thuật mã hóa và giải mã, khóa.
Thông tin liên quan đến SA như địa chỉ SA và khoảng thời gian sống TTL

Hình 2.4: Cấu trúc SA
SPI (Security Parameter Index): Đây là một trường 32 bit dùng để xác định cách thức bảo mật từ IPSec thích hợp. SPI nằm trong header của header giao thức bảo mật. Hệ thống ở nơi nhận sẽ lựa chọn thức bảo mật trong quá trình thống nhất SA.
Địa chỉ IP đích: Đây là địa chỉ IP của nơi nhận. Mặc dù nó có thể là địa chỉ IP broadcast, unicast, hoặc multicast, nhưng cơ chế SA hiện tại chỉ hoạt động đối với unicast.
Giao thức bảo mật: Cách thức bảo mật của IPSec, AH hoặc ESP.
Vì SA có tính đơn hướng nên phải có hai SA được định nghĩa ở hai đầu cần thông tin. SA có thể cung cấp dịch vụ bảo mật cho VPN dưới dạng AH hoặc ESP.
2.2.2. Giao thức xác thực tiêu đề AH
a. Giới thiệu
Giao thức xác thực tiêu đề AH được định nghĩa trong RFC 4302. AH cung cấp khả năng xác thực nguồn gốc dữ liệu (Data Origin Authentication), kiểm tra tính toàn vẹn dữ liệu (Data Integrity) và dịch vụ chống phát lại (Anti-replay Service).
AH cho phép xác thực các trường của tiêu đề IP cũng như dữ liệu của các giao thức lớp trên. Tuy nhiên, do một số trường của tiêu đề IP thay đổi trong khi truyền và phía phát không dự đoán trước được giá trị của chúng khi tới phía thu, giá trị của các trường này không bảo vệ được bằng AH. Có thể nói AH chỉ bảo vệ một phần của tiêu đề IP mà thôi. AH không cung cấp bất cứ xử lý nào để bảo mật dữ liệu của các lớp trên, tất cả đều được truyền dưới dạng văn bản rõ. AH nhanh hơn ESP, nên có thể chọn AH trong trường hợp cần yêu cầu chắc chắn về nguồn gốc và tính toàn vẹn của dữ liệu, còn tính bảo mật dữ liệu thì không yêu cầu cao.
b.Cấu trúc trường AH
Cấu trúc trường AH

Hình 2.5: Cấu trúc trường AH
AH gồm có nhiều trường:
Next header: Nhận ra giao thức được sử dụng trong quá trình truyền thông tin.
Pad length: Chiều dài của AH Header
Reserved: Giá trị này dùng để sử dụng trong tương lai
Security parameter Index (SPI): Nhận ra các thông số được tích hợp với địa chỉ IP
Sequence Number: Tự động tăng có tác dụng chống tấn công kiểu replay attacks.
Authentication Data: Bao gồm dữ liệu để xác thực cho gói tin.
2.2.3 Giao thức đóng gói tải tin an toàn ESP
a. Giới thiệu
Giao thức ESP được định nghĩa trong RFC 4303. Cũng như AH, giao thức này được phát triển hoàn toàn cho IPSec. ESP được sử dụng khi có yêu cầu về bảo mật của lưu lượng IPSec cần truyền. Nó cung cấp tính bảo mật dữ liệu bằng việc mật mã hóa các gói tin. Thêm vào đó, ESP cũng cho phép xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu, dịch vụ chống phát lại và một số giới hạn về luồng lưu lượng cần bảo mật.
b. Cấu trúc trường ESP

Hình 2.6 Cấu trúc trường ESP
Cũng giống như AH, ESP gồm những trường sau:
Security parameters index (SPI): Giá trị được sử dụng ( cùng với địa chỉ IP) để xác định sự ien kết bảo mật của bên gửi.
Sequence number:Tự động tăng có tác dụng chống tấn công kiểu replay attacks.
Payload data: Bảo vệ nội dung của gói IP ban đầu.
Padding: Thêm vào cho đủ kích thước của gói tin.
Pad length: Chiều dài của Padding
Next header: Nhận ra giao thức được sử dụng trong quá trình truyền thông tin.
Authentication data: Bao gồm dữ liệu để xác thực cho gói tin.
2.2.4Các mode chính của giao thức IPSec
a.Transport mode
Trong Transport mode, IPsec header được gắn vào IP header và header của giao thức lớp trên.Vì vậy, IP payload được mã hóa còn IP header vẫn được bảo vệ nguyên vẹn.
Transport mode dùng để bảo mật kết nối giữa hai host.

Hình 2.6 Gói tin IPsec trong Trasport mode
b.Tunnel mode
Không giống như Transport mode, Tunnel mode bảo vệ toàn bộ gói dữ liệu. Toàn bộ gói IP được đóng gói trong một gói dữ liệu IP khác. Và sau đó một IPsec header được chèn vào giữa IP header cũ và mới.
Toàn bộ gói IP ban đầu sẽ bị đóng gói bởi AH hay ESP và một IP header mới sẽ được bao bọc xung quanh gói dữ liệu. Toàn bộ gói IP sẽ được mã hóa và trở thành dữ liệu của gói IP mới.

Hình 2.7: Gói tin IP được bảo vệ bởi AH và ESP trong Tunnel mode
2.3 Quản lý khóa và thuật toán Diffie – Hellman:
2.3.1 Quản lý khóa ( Key Management)
IPSec dùng một giao thức thứ ba, Internet Key Exchange (IKE), để thỏa thuận các giao thức bảo mật và các thuật toán mã hóa trước trong suốt phiên giao dịch. Một phần quan trọng nữa, IPSec phân phối và kiểm tra các khóa mã và cập nhật những khóa đó khi được yêu cầu.
Quản lí khóa là một vấn đề quan trọng khi làm việc với IPSec-VPN. Có 5 khóa cố định cho mọi bên IPSec quan hệ với nhau, bao gồm :
Hai khóa riêng được làm chủ bởi mỗi bên và không bao giờ chia sẻ. Chúng được sử dụng để mật mã bản tin.
Hai khóa công cộng được làm chủ bởi mỗi bên và chia sẻ cho mọi người. Những khóa này được sử dụng để kiểm tra chữ ký.
Khóa thứ năm được sử dụng là khóa bảo mật chia sẻ. Cả hai bên sử dụng khóa này cho mật mã và hàm băm. Đây là khóa được tạo ra bởi thuật toán Diffie-Hellman.
Trong thực tế, khóa riêng và khóa công cộng được sử dụng cho nhiều kết nối IPSec do một bên đưa ra. Đối với một tổ chức nhỏ, toàn bộ những khóa này có thể được quản lý thủ công. Tuy nhiên, khi cố gắng phân chia xử lí để hỗ trợ cho một số lượng lớn các phiên VPN thì sẽ xuất hiện nhiều vấn đề cần phải giải quyết. Giao thức Diffie-Hellman và kỹ thuật chứng thực số thông qua CA là hai trong số những giải pháp hiệu quả để quản lí khóa một cách tự động.
2.3.2 Thuật toán trao đổi Diffie – HellmanCó nhiều loại khóa dùng cho các mục đích khác nhau: khóa đồng bộ, khóa không đồng bộ, khóa dùng để mã hóa. Quá trình chia sẻ khóa cần được bảo vệ là một vấn đề của bảo mật. Có nhiều cách giải quyết vấn đề trên, một trong những cách đó là thuật toán chuyển đổi khóa Diffie-Hellman.
Whitfield Diffie và Martin Hellman đã phát minh ra thuật toán trao đổi khóa này vào năm 1976 và được gọi là Diffie-Hellman key exchange.

Hình 2.8: Thuật toán chuyển đổi khóa Diffie Hellman
Giải thuật được trình bày như sau:
Đầu tiên, Alice tạo ra số cá nhân ngẫu nhiên a, Bob tạo số b
Tính toán các khóa công khai. Và Alice công bố X = ga mode p
Bob công bố Y= gb mode p.
Alice và Bob trao đổi X và Y cho nhau
Cuối cùng, Alice tính toán Kab = (gb)a mode p
Bob tính toán Kba = (ga)b mode p
Bởi vì Kab = Kba = K. Vì thế K là khóa chung của Alice và Bob
a.Hoạt động trao đổi khóa IKE:
IKE sẽ có chức năng trao đổi key giữa các thiết bị tham gia VPN và trao đổi chính sách an ninh giữa các thiết bị .Và những chính sách an ninh trên những thiết bị này được gọi là SA (Security Associate)
IKE thực hiện quá trình dò tìm, quá trình xác thực, quản lý và trao đổi khóa. IKE sẽ dò tìm ra được một hợp đồng giữa hai đầu cuối IPSec và sau đó SA sẽ theo dõi tất cả các thành phần của một phiên làm việc IPSec. Phiên dò tìm thành công, các thông số SA hợp lệ sẽ được lưu trữ trong cơ sở dữ liệu của SA
IKE (Chuyển đổi khóa qua Internet) hoạt động gồm hai phase chính, và một phase tùy chọn để có thể thiết lập IKE và IPsec SA:
Phase 1: cung cấp thông tin xác thực IKE cho các thành viên và thiết lập khóa cho phiên kết nối đó. Pha 1 tạo ra chính sách ISAKMP SA (thông tin bảo mật cho IKE, đôi khi được biết đến như IKE SA) sử dụng thuật toán trao đổi khóa, cookies, và trao đổi ID. Khi mà ISAKMP SA được thiết lập, tất cả trao đổi IKE giữa bên nhận và bên gửi sẽ được bảo vệ bằng mã hóa và đảm bảo an toàn dữ liệu với việc kiểm tra xác thực. Mục đích chính của IKE phase 1 là thiết lập 1 kênh kết nối được bảo vệ giữa các bên để quá trình đàm phán phase 2 có thể diễn ra 1 cách bảo mật.
Phase 2: đàm phán và thiết lập chính sách IPsec SA sử dụng ESP hoặc AH để bảo vệ dữ liệu trong gói tin IP.
Phase 1.5 (XAUTH): với những kết nối từ xa, thiết bị cung cấp IPsec thường thực hiện thêm 1 bước để có thể giúp khách hàng dễ dàng quản lý kết nối IPsec của mình. Phase 1.5 xảy ra giữa phase 1 và phase 2.

Hình 2.9 Các phase hoạt động của IKE
b.IKE Phase 1
Có năm các thông số đó phải được phối hợp trong quá trình IKE phase 1:
Thuật toán mã hóa IKE (DES, 3DES hoặc AES)
Thuật toán xác thực ( MD5 hoặc SHA)
Chính sách IKE (Preshare-key, chữ ký RSA…)
Diffie-Hellman ( Group 1,2 hoặc 5)
Lifetime cho IKE (s hay byte)
IKE phase 1 quản lý thiết lập kết nối:
Quản lý kết nối
Chính sách trao đổi khóa: Diffie-Hellman
Xác thực thiết bị
Thiết lập kết nối từ xa (pha 1.5 – tùy chọn)
IKE phase 1 có hai chế độ là Main Mode và Aggressive Mode. Cả 2 đều dùng để thiết lập ISAKMP/IKE SA. IKE SA có các thông số khác nhau để đàm phán giữa các bên. Thông số bắt buộc gồm có thuật toán mã hóa, thuật toàn băm, phương thức xác thực, nhóm Diffie-Hellman, và các thông số khác như thời gian kết nối.
Main Mode
Main Mode thực hiện trao đổi hai chiều, tổng cộng gồm 6 gói tin. 3 Lần trao đổi như 3 bước đó là đàm phán chính sách bảo mật để quản lý kết nối, sử dụng DH để mã hóa khóa cho chính sác mã hóa và HMAC đàm phán phương thức xác thực như sử dụng chia sẻ khóa trước, mã hóa RSA hoặc chữ kí RSA (chữ ký số).
Aggressive Mode
Trong Aggressive Mode, hai bên trao đổi thông qua 3 gói tin. Trao đổi đầu tiên bao gồm danh sách các chính sách dùng cho quản lý kết nối, công bố khóa kết hợp với DH, thông tin xác thực và xác minh dữ liệu (ví dụ như chữ ký). Tất cả nhân tố trên được gói gọn trong một gói tin. Trao đổi thứ hai là xác nhận của gói tin thứ nhất là thông báo kết nối có thiết lập thành công hay không.

Hình 2.10: IKE phase 1 Main mode
c.IKE Phase 2
Đường hầm IPSec thực tế được thành lập vào IKE phase 2. IKE tạo ra một rất an toàn kênh truyền thông (SA riêng của mình) để các đường hầm IPSec (SA) có thể được tạo ra cho dữ liệu mã hóa và vận chuyển. Các thông số IPSec được thương lượng thông qua IKE SA.
Các chức năng sau đây được thực hiện trong IKE phase 2:
Thương lượng các thông số bảo mật IPSec thông qua bộ chuyển đổi IPsec
Thiết lập Ipsec SA (đường hầm IPsec một chiều)
Thương lượng IPSec SA đinh kỳ để đảm bảo an ninh
Trao đổi Diffie-Hellman
Phase 2 là phase bắt buộc, đến phase này thì thiết bị đầu cuối đã có đầy đủ các thông số cần thiết cho kênh truyền an toàn. Quá trình thỏa thuận các thông số ở phase 2 là để thiết lập IPSec SA dựa trên những thông số của phase 1. Quick mode là phương thức được sử dụng trong phase 2. Quick mode giám sát toàn bộ SA và thiết lập những cái mới khi cần thiết.
Các thông số mà Quick mode thỏa thuận trong phase 2:
Giao thức IPSec (AH hoặc ESP)
Loại mã hóa IPSec ( DES, 3DES hoặc AES)
Xác thực IPSec (MD5 hoặc SHA)
Diffie-Hellman ( Group 1,2 hoặc 5)
IPSec mode (Tunnel hoặc transport)
IPSec SA lifetime: dùng để thỏa thuận lại IPSec SA sau một khoảng thời gian mặc định hoặc được chỉ định
IPSec SA của phase 2 hoàn toàn khác với IKE SA ở phase 1, IKE SA chứa các thông số để tạo nên kênh truyền bảo mật, còn IPSec SA chứa các thông số để đóng gói dữ liệu theo ESP hay AH, hoạt động theo tunnel mode hay transport mode.
2.3 Luồng dữ liệu IPSec và NAT
AH chứng thực địa chỉ IP nguồn và port nên sẽ ngăn NAT thay đổi chúng. Với ESP, TCP và UDP port cũng được chứng thực và mã hóa, nên suy ra PAT không thể ánh xạ port nguồn. Vì TCP/UDP có checksum cả header giả, nên khi NAT thay đổi địa chỉ, TCP/UDP checksum sẽ không còn giá trị. Bởi vì trường checksum đã được chứng thực và mã hóa nên NAT không thể tính lại chúng. ESP sẽ làm việc với NAT, nhưng sẽ không làm việc được với PAT. Để có sự tương thích giữa ESP và PAT giải quyết như thế nào?

Hình 2.11: PAT lồi vì tầng 4 bị mã hóa trong gói ESP
Do đó NAT Traversal ( NAT-T) ra đời để giải quyết vấn đề trên bằng cách thêm vào một TCP/UDP header vào giữa outer IP header và ESP header. Bằng cách thêm TCP/UDP header, chúng ta vừa có thể sử dụng PAT, vừa giải quyết luôn vấn đề về checksum.
NAT-T cung cấp một giải pháp thay thế với quá trình đóng gói UDP. Không giống như Ipsec trên UDP, NAT-T được định nghĩa bởi RFC 3947/3948 và do đó là một tiêu chuẩn mở. Với NAT-T, một gói tin kiểm tra ESP được gửi giữa hai thiết bị Ipsec với một tiêu đề đoạn chuẩn UDP giữa các tiêu đề bên ngoài tiêu đề IP và ESP. Các điểm đến cổng UDP số phải được 4.500.
Phần UDP header bao gồm cả phần thông tin checksum trong header. Phần checksum này thì giống phần checksum đã được bảo vệ trong gói tin IPsec. Khi địa chỉ đích nó nhận được một gói tin NAT-T, nó sẽ kiểm tra phần checksum trong outer UDP và checksum trong inner UDP, nếu không giống nhau tức là đã xảy ra quá trình PAT, ngược lại thì không có PAT. Khi phát hiện không có PAT xảy ra thì các gói tin sau đó sẽ được gửi với đóng gói ESP bình thường.

Hình 2.12: NAT-T hỗ trợ các gói tin bị mã hóa có thể đi qua thiết bị PAT

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn