đây là báo cáo về chuyên đề mạng viễn thông
Trang 1Chương I: Giới thiệu chung về IPSEC
1 Giới thiệu chung về mạng riêng ảo(VPN).
• VPN (Virtual Private Network) được định nghĩa như là một mạng kết nối các site khách hàng đảm bảo an ninh trên cơ sở hạ tầng mạng chung cùng với các chính sách điều khiển truy nhập và bảo mật như một mạng riêng
• Tuy được xây dựng trên cơ sở hạ tầng sẵn có của mạng công cộng nhưng VPN lại có các tính chất riêng của mạng cục bộ như khi sử dụng các đường kênh thuê riêng, đó là
dữ liệu truyền luôn được dữ bí mật và chỉ có thể truy nhập bởi những người sử dụng được trao quyền
• Mạng riêng ảo sử dụng các phương pháp mật mã để bảo mật dữ liệu Dữ liệu đàu ra được mật mã rồi chuyển vào mạng công cộng như các dữ liệu khác để truyền tới đích sau đó được giải mã tại phía thu Dữ liệu đã mật mã có thể coi như được truyền trong một đường hầm( tunnel) bảo mật từ nguồn tới đích Cho dù một kẻ tấn công có thể nhìn thấy dữ liệu đó trên đường truyền thì cũng không có khả năng đọc được vì nó đã được mật mã
• Chức năng của VPN: VPN cung cấp 3 chức năng chính là tính xác thực, tính toàn vẹn
và tính bí mật Để thiết lập một kết nối VPN thì trước hết cả hai phía phải xác thực lẫn nhau để khách hàng khảng định rằng mình đang trao đổi thông tin với người mình mong muốn chứ không phải một người khác Tính toàn vẹn đảm bảo dữ liệu không bị thay đổi hay có bất kì sự xáo trộn nào trong quá trình truyền dẫn Để đảm bảo tính bí mật của thông tin, người gửi có thể mã hóa các gói dữ liệu trước khi truyền qua mạng công cộng
và dữ liệu sẽ được giải mã ở phía thu
• Các mô hình VPN: có 2 mô hình:
- Mô hình dựa trên khách hàng: mô hình chồng lấn: Mô hình chồng lấn còn được triển khai dưới dạng đường hầm
Hai công nghệ VPN đường hầm phổ biến là : IPSec( IP sercurity)
GRE ( Generic Routing Encapsulation - đóng gói định tuyến chung)
- Mô hình dựa trên mạng: mô hình ngang hàng
2 Giới thiệu chung về IPsec
• Giao thức IPSec được IETF(tổ chức tiêu chuẩn kĩ thuật internet) phát triển để thiết lập tính bảo mật trong mạng IP ở cấp độ gói IPSec được định nghĩa là một họ giao thức trong tầng mạng cung cấp các dịch vụ bảo mật, xác thực, toàn vẹn dữ liệu và điều khiển truy nhập giữa các thiết bị tham gia Các thiết bị này có thể là các host hoặc là các security gateway (routers, firewalls, VPN concentrator, .) hoặc là giữa 1 host và gateway như trong trường hợp remote access VPNs
• 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 Đườ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 đó
• Các giao thức chính sử dụng trong IPSec:
- IP Security Protocol (IPSec)
o Authentication Header (AH)
o Encapsulation Security Protocol (ESP)
- Message Encryption
o Data Encryption Standard (DES)
o Triple DES (3DES)
- Message Integrity (Hash) Functions
o Hash-based Message Authentication Code (HMAC)
o Message Digest 5 (MD5)
1
Trang 2o Secure Hash Algorithm-1 (SHA-1)
- Peer Authentication
o Rivest, Shamir, and Adelman (RSA) Digital Signutures
o RSA Encrypted Nonces
- Key Management
o Diffie-Hellman (D-H)
o Certificate Authority (CA)
- Security Association
o Internet Exchange Key (IKE)
o Internet Security Association and Key Management Protocol(ISAKMP)
Trang 3Chương II: Đóng gói thông tin IPSec
2.1 Các chế độ hoạt động:
IPSec cung cấp 2 chế độ xác thực và mã hóa mức cao để thực hiện đóng gói thông tin, đó là chế độ truyền tải( Transport mode) và chế độ đường hầm(tunnel mode)
2.1.1 Chế độ truyền tải
Trong chế độ truyền tải, vấn đề an ninh được cung cấp bởi các giao thức lớp cao trong mô hình OSI (từ 4 lớp trở lên) Chế độ này bảo vệ phần tải tin của gói nhưng vẫn để phần tiêu đề IP ban đầu ở dạng gốc như trong nguyên bản (hình 2.1) Địa chỉ
IP ban đầu này được sử dụng để định tuyến gói qua internet
Hình 2.1 Xử lý gói tin IP ở chế độ truyền tải
Chế độ truyền tải có ưu điểm: chỉ thêm vào gói tin ban đầu một số ít byte
Nhược điểm: cho phép các thiết bị trong mạng nhìn thấy địa chỉ nguồn và đích của gói tin và có thể thực hiện một số xử lý( vd phân tích lưu lượng) dựa trên các thông tin của tiêu đề IP
2.1.2 Chế độ đường hầm:
Trong chế độ đường hầm, toàn bộ gói IP ban đầu gồm cả tiêu đề được xác thực hoặc mật mã, sau đó được đóng gói với một tiêu đề IP mới (hình 2.2) Địa chỉ IP bên ngoài được sử dụng cho định tuyến gói IP qua internet
Chế độ này cho phép các thiết bị mạng như bộ định tuyến thực hiện xử lý IPSec thay cho các trạm cuối (host)
3
Trang 4Hình 2.2 Xử lý gói tin IP ở chế độ đường hầm.
Ví dụ: Hình 2.3 Bộ định tuyến A xử lý các gói từ trạm A, gửi chúng vào đường hầm.
Bộ định tuyến B xử lý các gói nhận được trong đường hầm, đưa về dạng ban đầu và chuyển chúng tới trạm B Như vậy các trạm cuối không cần thay đổi mà vẫn có được tính an ninh dữ liệu của IPSec Sử dụng chế độ đường hầm, các thiết bị trung gian trong mạng sẽ chỉ nhìn thấy được các địa chỉ 2 điểm cuối của đường hầm (A,B)
Hình 2.3 Thiết bị mạng thực hiện IPSec trong chế độ đường hầm
2.2 Giao thức tiêu đề xác thực AH & giao thức đóng gói tải tin an toàn ESP 2.2.1 Giới thiệu:
a) Giới thiệu giao thức AH
Giao thức tiêu đề xác thực AH cung cấp khả năng xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu và dịch vụ chống phát lại Toàn vẹn dữ liệu là kiểm tra những thay đổi của từng gói tin IP không quan tâm đến vị trí các gói trong luồng lưu lượng Dịch vụ chống phát lại là kiểm tra sự phát lặp lại một gói tin tới địa chỉ đích nhiều hơn một lần
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 đổitrong 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 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 tiêu đề của IP, Giao thức tiêu đề xác thực AH nhanh hơn giao thức đóng gói tải tin an toàn ESP vì vậy
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
Giao thức tiêu đề xác thực AH cung cấp chức năng xác thực bằng cách thực hiện một hàm băm một chiều đối với dữ liệu của gói để tạo ra một đoạn mã xác thực Đoạn
mã này được chèn vào thông tin của gói truyền đi Khi đó bất cứ thay đổi nào đối với nội dung của gói trong quá trình truyền đi đều được phía thu phát hiện khi nó thực hiện cùng một hàm băm một chiều đối với gói dữ liệu nhận được và đối chiếu với giá trị mã xác thực truyền cùng với gói dữ liệu
b) Giới thiệu giao thức ESP
ESP được sử dụng khi có yêu cầu cao 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
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
Trang 5Hoạt động của ESP khác so với AH ESP đóng gói tất cả hoặc một phần dữ liệu gốc Do
hỗ trợ khả năng bảo mật nên ESP có xu hướng được sử dụng rộng rãi hơn AH
Hình 2.5 Cơ chế đóng gói ESP
2.2.2 Cấu trúc gói tin AH:
Các thiết bị sử dụng AH sẽ chèn một tiêu đề vào giữa lưu lượng cần quan tâm của gói IP, ở giữa phần tiêu đề IP và tiêu đề 4 lớp
Quá trình xử lý chèn tiêu đề AH được minh họa trên hình 2.4
Hình 2.4 Cấu trúc tiêu đề AH cho gói tin IPSec
5
Trang 6+Tiêu đề kế tiếp ( Next header ) (8bit): Xác định kiểu dữ liệu của phần Payload tiếp sau
AH Giá trị của trường này được lựa chọn từ tập các giá trị số giao thức IP được định nghĩa bởi IANA (TCP_6; UDP_ 17)
+Độ dài tải tin (Payload length) (8bit): Xác định độ dài của AH theo đơn vị 32bit (4 Byte)
+Dự phòng (Reserved) (16 bit): trường này dùng để dự trữ sử dụng trong tương lai Giá trị của trường này có thể đặt bằng 0 và có tham gia trong việc tính Authentication Data.+Chỉ số thông minh ( Security Parameter Index) (SPI):
- SPI là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này Các giá trị SPI từ 1÷255 được dành riêng để sử dụng trong tương lai SPI thường được lựa chọn bởi phía thu khi thiết lập SA SPI là trường bắt buộc
- Giá trị SPI 0 được sử dụng cục bộ Có thẻ sử dụng giá trị này để chỉ ra chưa có
SA nào tồn tại
+ Số thứ tự (Sequence number) (SN):
- Trường 32 bit không dấu chứa một giá trị đếm tăng dần SN là trưòng bắt buộc cho dù phía thu không thực hiện dịch vụ chống trùng lặp cho một SA cụ thể nào việc xử lý SN tuỳ thuộc phía thu, nghĩa là phía phát luôn phải truyền trường này, còn phía thu có thể không cần phải xử lý nó
- Bộ đếm của phía phát và phía thu đều được khởi tạo 0 khi một SA được thiết lập (gói đầu tiên được truyền đi sử dụng SA sẽ có SN=1) Nếu dịch vụ anti-replay được lựa chọn thì được phát đi sẽ không được lặp lại (bằng cách thiết lập một
SA mới, và do đó là một khoá mới) trước khi truyền gói thứ 232 của một SA.+ Dữ liệu xác thực (Authentication Data):
Trường này có độ dài biến đổi chứa một một giá trị kiểm tra tính toàn vẹn ICV (integrity Check Value) cho gói tin Độ dài của trường này bằng số nguyên lần 32 bit (hay 4 Byte)
Trường này có thể chứa một phần dữ liệu đệm kiểu tường minh (Explicit padding) để đảm bảo độ dài của AH header là số nguyên lần 32 bit (đối với IPv4) hoặc 64 bit (đối với IPv6)
2.2.3 Cấu trúc gói tin ESP:
Khuôn dạng ESP
Trang 7Hình 2.6 Khuôn dạng gói tin ESP
Trong đó:
+ Security Parameter Index (SPI):
- SPI là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này Các giá trị SPI từ 1÷255 được dành riêng để sử dụng trong tương lai SPI thường được lựa chọn bởi phía thu khi thiết lập SA SPI là trường bắt buộc
- Giá trị SPI 0 được sử dụng cục bộ Có thẻ sử dụng giá trị này để chỉ ra chưa có
SA nào tồn tại
+ Sequence number (SN):
- Trường 32 bit không dấu chứa một giá trị đếm tăng dần (SN) SN là trưòng bắt buộc cho dù phía thu không thực hiện dịch vụ chống trùng lặp cho một SA cụ thể nào việc xử lý SN tuỳ thuộc phía thu, nghĩa là phía phát luôn phải truyền trường này, còn phía thu có thể không cần phải xử lý nó
- Bộ đếm của phía phát và phía thu đều được khởi tạo 0 khi một SA được thiết lập (gói đầu tiên được truyền đi sử dụng SA sẽ có SN=1) Nếu dịch vụ anti-replay được lựa chọn thì được phát đi sẽ không được lặp lại (bằng cách thiết lập một
SA mới, và do đó là một khoá mới) trước khi truyền gói thứ 232 của một SA + Payload Data
Trường này có độ dài biến đổi chứa dữ liệu mô tả trong Next header Payload Data
là trường bắt buộc và có độ dài bằng số nguyên lần Byte
+ Padding
Nếu thuật toán mật mã được sử dụng yêu cầu bản rõ (cleartext hay plaintext) phải là
số nguyên lần khối các Byte (trong mật mã khối) thì Padding field được sử dụng để thêm vào Plaintext để có kích thước yêu cầu
7
Trang 8Padding cần thiết để đảm bảo phần dữ liệu mật mã sẽ kết thúc ở biên giới 4 Byte
để phân biệt rõ ràng với trường Authentication Data
Ngoài ra padding còn có thể được sử dụng để che dấu độ dài thực của Payload, tuy nhiên mục dích này phải được cân nhắc vì nó ảnh hưởng tói băng tần truyền dẫn Bên gửi có thể thêm 0÷255 Padding Byte
+ Pad length
Trường này xácđịnh số padding Byte đã thêm vào Các giá trị hợp lệ là 0÷255 Pad length là trường bắt buộc
+ Next header (8bit)
Là một trường bắt buộc Next header xác định kiểu dữ liệu chứa trong Payload Data Giá trị của trường này được lựa chọn từ tập cácgiá trị IP Protocol Numbers định nghĩa bởi IANA
+ Authentication Data
Trường có độ dài biến đổi chứa một giá trị kiểm tra tính toàn ven ICV (integrity Check Value) tính trên dữ liệu của toàn bộ gói ESP trừ trường Authentication Data Độ dài của trường phụ thuộc vào hàm xác thực được lựa chọn trường này là tuỳ chọn, và chỉ được thêm vào nếu dịch vụ authentication được lựa chọn cho SA đang xét Thuật toán xác thực phải chỉ ra độ dài của ICV và các bước xử lý cũng như các luật so sánh cần thực hiện để kiểm tra tính toàn vẹn của gói tin
2.2.4 Hoạt động của AH và ESP trong các chế độ (mode)
AH và ESP đều có thể được sử dụng cho các gói tin IP theo hai cách khác nhau
tương ứng với hai mode: Transport mode và Tunnel mode
+ Transport mode:
Được sử dụng phổ biến cho những kết nối giữa các host hay giữa các thiết bị có chức năng như những host Ví dụ, một cổng nối IPSec (đó có thể là bộ định tuyến phần mềm IOS, FIX Firewall, hay bộ tập trung VPN 3000 của Cisco) có thể xem như là một host khi được truy nhập bởi một nhà quản lý cấu hình hay những hoạt động điều khiển khác
Transport mode cho phép bảo vệ phần tải tin của gói dữ liệu, cung cấp cơ chế bảo mật cho các giao thức ở lớp trên, nhưng không bảo vệ IP header vì phần IP header luôn
Trang 9một trong những cổng nối đó để gia tăng truy nhập tới các mạng được điều khiển bởi cổng nối đó, như trong trường hợp những người dùng từ xa quay số truy cập tới một bộ định tuyến hay bộ tập trung
Hình 2.7: Khuôn dạng gói tin IPv4 trước và sau khi xử lý AH
Hình 2.8: Khuôn dạng gói tin IPv6 trước và sau khi xử lý AH
9
Trang 10Hình 2.9: Khuôn dạng gói tin IPv4 trước và sau khi xử lý ESP
Hình 2.10: Khuôn dạng gói tin IPv6 trước và sau khi xử lý ESP
Để có thể áp dụng AH và ESP trong chế độ Transport mode và Tunnel mode, IPSec yêu cầu phải hỗ trợ được cho tổ hợp của transport mode và Tunnel mode Điều này được thực hiện bằng các sử dụng Tunnel mode để mã hoá và xác thực các gói và tiêu đề của nó rồi gắn AH hoặc ESP, hoặc dùng cả hai trong chế độ transport mode để bảo mật cho tiêu đề mới được tạo ra AH và ESP không thể sử dụng chung trong Tunnel
Trang 11mode bởi vì ESP đã có cơ chế tuỳ chọn xác thực, tuỳ chọn này nên sử dụng trong
Tunnel mode khi các gói cần phải mã hoá và xác thực
Chương III : Liên kết an ninh và hoạt động trao đổi khóa
3.1 Liên kết an ninh:
3.1.1Khái niệm:
Khi thiết lập kết nối IPSec, hai bên phải xác định các thuật toán sẽ được sử dụng,
loại dịch vụ cần đảm bảo an ninh Sau đó thương lượng để chọn các tham số và giải
thuật áp dụng cho bảo mật hay xác thực
Dịch vụ bảo mật quan hệ giữa hai hay nhiều thực thể để thỏa thuận truyền thông
an toàn được gọi là liên kết an ninh (SA - Security Association)
SA là một kết nối đơn công Với mỗi cặp truyền thông A và B có ít nhất hai SA
(một từ A tới B và một từ B tới A)
Khi lưu lượng cần truyền hai chiều qua VPN, giao thức trao đổi khóa IKE thiết lập
một cặp SA trực tiếp, sau đó có thể thiết lập thêm nhiều SA khác
Mỗi SA có một thời gian sống riêng và được nhận dạng duy nhất bởi:
chỉ số thông số an ninh (SPI),
địa chỉ IP đích
chỉ thị giao thức an ninh (AH hay ESP)
Cơ chế quản lý SA của IPSec hiện nay chỉ được định nghĩa cho SA đơn hướng
3.1.2 Các kiểu liên kết an ninh:
Liên kết an ninh có hai kiểu là truyền tải và đường hầm, phụ thuộc vào chế độ của giao
thức sử dụng
- SA kiểu truyền tải là một liên kết an n inh giữa 2 trạm, hoặc được yêu cầu giữa
hai hệ thống trung gian dọc trên đường truyền
- SA kiểu đường hầm là một SA cơ bản được ứng dụng tới một đường hầm IP
SA giữa hai cổng an n inh là một SA kiểu đường hầm điển hình, giống như một
SA giữa một trạm và một cổng an ninh
-3.1.3 Kết hợp các liên kết an ninh:
Đối với kiểu đường hầm, một sốTH điển hình của kết hợp các liên kết an ninh:
Hình 3.1:Kết hợp các SA kiểu đưuòng hầm khi hai điểm cuối trùng nhau
Internet
Liên kết an ninh 1 (đường hầm)Liên kết an ninh 2 (đường hầm)Trạm 1
Internet
Liên kết an ninh 1 (Tunnel)
Liên kết an ninh 2 (đường hầm)
Trang 12Hình 3.2:Kết hợp các SA kiểu đưuòng hầm khi một điểm cuối trùng nhau
3.2 Hoạt động trao đổi khóa
Ta biết rằng, mục đích chính của IPSec là bảo vệ luồng dữ liệu mong muốn với các dịch vụ bảo mật cần thiết và hoạt động của IPSec có thể chia thành 5 bước chính như sau:
A gửi lưu lượng cần bảo vệ tới B
Router A và B thoả thuận một phiên trao đổi IKE Phase 1 IKE SA
← IKE Phase → IKE SA
Router A và B thoả thuận một phiên trao đổi IKE Phase 2 IPSec SA ← IKE Phase → IPSec SA
Thông tin được truyền dẫn qua đường hầm IPSec
Kết thúc đường hầm IPSec
bước 1: Lưu lương cần được bảo vệ khởi tạo quá trình IPSec Ở đây, các thiết bị IPSec sẽ nhận ra đâu là lưu lượng cần được bảo vệ chẳng hạn thông qua trường địa chỉ.bước 2: IKE Phase 1 – IKE xác thực các đối tác IPSec và một tập các dịch vụ bảo mật được thoả thuận và công nhận (thoả thuận các kết hợp an ninh IKE SAs (Security associations)) Trong phase này, thiết lập một kênh truyền thông an toàn để tiến hành thoả thuận IPSec SA trong Phase 2
bước 3: IKE Phase 2 – IKE thoả thuận các tham số IPSec SA và thiết lập các IPSec SA tương đương ở hai phía Những thông số an ninh này được sử dụng để bảo vệ
dữ liệu và các bản tin trao đổi giữa các điểm đầu cuối kết quả cuối cùng của hai bước IKE là một kênh thông tin bảo mật được tạo ra giữa hai phía
bước 4: Truyền dữ liệu – Dữ liệu được truyền giữa các đối tác IPSec dựa trên cơ
sở các thông số bảo mật và các khoá được lưu trữ trong cơ sở dữ liệu SA