Giao thức xác thực tiêu đề (AH)

Một phần của tài liệu An toàn cho mạng riêng ảo (Trang 71)

Chương 2 Giao thức mạng riêng ảo tại tẩng 2

3.1. Kiến trúc an toàn IP (IPSec)

3.1.3.1. Giao thức xác thực tiêu đề (AH)

Giao thức xác thực tiêu đề thêm một tiêu đề vào gói IP. Như tên gọi của nó, tiêu đề này phục vụ cho việc xác thực gói dữ liệu IP gốc tại người nhận cuối cùng, tiêu đề này giúp nhận biết bất kỳ sự thay đổi nào về nội dung của gói dữ liệu bởi người dùng khơng mong muốn trong khi đang truyền, tuy nhiên AH khơng đảm bảo tính tin cậy.

Để tạo một AH, một giá trị mã thông điệp cần xác thực qua hàm băm (HAMC) được tạo tại người gửi. Giá trị băm này được tạo trên cơ sở của SA, cái xác định trình tự giao dịch sẽ được áp dụng cho gói dữ liệu. Mã kết quả được

gắn kèm vào gói dữ liệu sau tiêu đề IP gốc. Tại người nhận cuối, HAMC được giải mã và được dùng để thiết lập việc xác thực người gửi cũng như tính tồn vẹn của thông điệp.

AH không mang lại sự tin cậy trong một giao dịch. Nó chỉ thêm một tiêu đề vào gói IP, phần cịn lại của nội dung gói dữ liệu được để mặc. Hơn nữa, AH không bảo vệ bất kỳ trường nào trong tiêu đề IP vì một trong số đó có thể thay đổi trong q trình truyền, chỉ các trường nào khơng thay đổi trong quá trình truyền là được bảo vệ bởi AH. Địa chỉ IP nguồn và địa chỉ IP đích là những trường như vậy và vì thế được bảo vệ bởi AH. Tóm lại, giao thức AH có các đặc trưng cơ bản như sau:

- Cung cấp tính tồn vẹn dữ liệu và bảo vệ chống phát lại

- Sử dụng mã xác thực thông điệp được băm(HMAC), dựa trên chia sẻ bí mật

- Nội dung các gói tin khơng được mã hố

- Không sử dụng các trường changeable IP header để tính tốn giá trị kiểm tra tính tồn vẹn(IVC)

1. Khn dạng gói tin

Khng dạng của gói tin theo giao thức AH được minh hoạ như trong hình 3.4. Các trường trong AH header đều là bắt buộc.

- Next Header: Trường này nhận biết giao thức bảo mật, có độ dài 8 bít để

xác định kiểu dữ liệu của phần Payload phía sau AH. Giá trị của trường này được chọn từ các giá trị của IP Protocol number được định nghĩa bởi IANA (Internet Assigned Numbers Authority).

- Payload Length: Trường này chỉ định độ dài của thông điệp gắn sau tiêu

- Reserved: Trường 16 bit dự trữ để sử dụng cho tương lai, giá trị của

trường này bằng 0.

- SPI: Là một số 32 bit bất kì, cùng với địa chỉ IP đích và giao thức an ninh

mạng cho phép nhận dạng một thiết lập an tồn duy nhất cho gói dữ liệu. SPI thường được lựa chọn bởi phía thu.

- Sequence Number(SN): Trường gồm 32 bit không dấu đếm tăng dần để

sử dụng cho việc chống trùng lặp. Chống trùng lặp là một lựa chọn nhưng trường này là bắt buộc đối với phía phát. Bộ đếm của phía phát và thu khởi tạo 0 khi một liên kết an toàn (SA) được thiết lập, giá trị SN mỗi gói trong một SA phải hoàn toàn khác nhau để tránh trùng lặp. Nếu số gói vượt q con số 232 thì một SA khác phải được thiết lập.

- Authentication Data: Trường có độ dài biến đổi chứa một giá trị kiểm

tra tính tồn vẹn (ICV) cho gói tin, ICV được tính bằng thuật tốn đã được chọn khi thiết lập SA. Độ dài của trường này là số nguyên lần của 32 bit, chứa một phần dữ liệu đệm để đảm bảo độ dài của AH là n*32 bit. Giao thức AH sử dụng một hàm băm và băm tồn bộ gói tin trừ trường Authentication Data để tính ICV.

2. Chế độ hoạt động

AH có thể sử dụng ở hai chế độ: Chế độ truyền tải (Transport) và chế độ đường hầm(Tunnel).

- Chế độ Transport: Chế độ Transport cho phép bảo vệ các giao thức lớp

trên cùng với một số trường trong IP Header. Trong chế độ này, AH được chèn vào sau IP Header và trước một giao thức lớp trên như TCP hoặc UDP. Chế độ

Authentication Data (Integrity Check Value)

Next Header PayloadLength Reserved Security Parameter Index(SPI)

Sequence Number

Transport thường được sử dụng bởi các Host chứ không được sử dụng bởi Gateway. Ưu điểm của chế độ này là đỡ tốn kém chi phí xử lý nhưng nó có khuyết điểm là các trường có thể thay đổi khơng được xác thực.

Hình 3.5. Gói tin IP trước và sau khi xử lý AH trong chế độ Transport

- Chế độ Tunnel: Trong chế độ Tunnel, một gói tin IP khác được thiết lập

dựa trên các gói tin IP cũ. Header của gói IP cũ (bên trong) mang địa chỉ nguồn và đích cuối cùng, cịn Header của gói IP mới (bên ngoài) mang địa chỉ để định tuyến trên Internet. Trong chế độ này, AH bảo vệ tồn bộ gói tin bên trong bao gồm cả Header. Đối với gói tin IP bên ngồi thì vị trí của AH như là trong chế độ transport.

Hình 3.6: Khn dạng gói tin AH trong chế độ Tunnel.

Ưu điểm của chế độ Tunnel là bảo vệ tồn bộ gói IP và các địa chỉ cá nhân trong IP Header, tuy nhiên có nhược điểm là tốn chi phí hơn nhiều để xử lý các gói tin.

3. Các thuật tốn xác thực

Các thuật tốn xác thực để tính ICV được xác định bởi các liên kết bảo mật (SA). Các thuật toán xác thực thích hợp là các thuật tốn hàm băm một chiều MD5 và SHA1 (Các thuật toán này bắt buộc một ứng dụng AH phải hỗ trợ). MD5 là chữ viết tắt của Message Digest #5 do Ron Rivest thuộc RSA Security

IP Hdr Payload

IP Hdr AH Payload

Hdr Gói tin IP ban đầu

Gói tin với tiêu đề AH trong chế độ transport

IP Hdr Payload

OuterIP

Hdr AH Hdr Inner IPHdr Payload Gói tin IP ban đầu

Inc phát minh, tính giá trị Hash 128 bit từ một bản tin nhị phân có độ dài tuỳ ý. SHA được phát triển bởi NIST và NSA, SHA-1 tính giá trị Hash 160 bit từ một bản tin nhị phân có độ dài tuỳ ý. SHA-1 tương tự như MD5 nhưng an tồn hơn do kích thước băm lớn hơn.

4. Xử lý gói đầu vào

Q trình xử lý gói đầu vào được thực hiện ngược với q trình xử lý gói đầu ra

- Ghép mảnh: Nếu cần thiết, sẽ tiến hành ghép mảnh trước khi xử lý AH. - Tìm kiếm SA: Khi đã nhận được một gói tin chứa AH Header, phía thu

sẽ xác định một SA phù hợp với địa chỉ IP đích, AH và SPI. Thơng tin trong SA sẽ cho biết có cần kiểm tra trường Sequence Number(SN) hay khơng, có cần thêm trường Authentication Data hay khơng, các thuật tốn và khố để giải mã ICV. Nếu khơng có SA nào phù hợp thì phía thu sẽ loại bỏ gói tin.

- Kiểm tra SN: Nếu bên thu khơng chọn dịch vụ chống lặp thì khơng cần

kiểm tra trường SN. Nếu phía thu có sử dụng dịch vụ chống lặp cho một SA thì bộ đếm gói thu phải được khởi tạo = 0 khi thiết lập SA. Với mỗi gói tin vào khi phía thu tiếp nhận, sẽ kiểm tra có chứa số SN khơng lặp lại của bất kỳ gói nào trong thời gian tồn tại của SA đó. Nếu bị lặp, gói tin đó sẽ bị loại bỏ.

5. Xử lý gói đầu ra

- Tìm SA: AH được thực hiện trên một gói tin khi đã xác định gói tin đó

được liên kết với một SA, SA đó sẽ yêu cầu xử lý gói tin.

- Tạo SN: Bộ đếm phía phát khởi tạo giá trị 0 khi một SA được thiết lập.

Khi truyền một gói tin, bộ đếm sẽ tăng lên 1 và chèn giá trị này vào trường SN. Nếu phía phát lựa chọn dịch vụ AntiReplay sẽ kiểm tra để đảm bảo không bị lặp trước khi chèn một giá trị mới vào trường SN.

- Tính ICV: AH ICV được tính dựa trên các dữ liệu sau:

+ Các trường trong IP Header có giá trị khơng đổi hoặc có giá trị khơng dự đốn được trong q trình truyền tới điểm cuối.

+ Bản thân AH Header: Next Header, Payload, Length, Reserved, SPI, SN, Authentication Data (được đặt bằng 0), và explicit padding (nếu có).

+ Dữ liệu của các giao thức lớp trên.

+ Các trường có giá trị thay đổi sẽ được coi bằng 0 trong phép tính ICV các trường có giá trị thay đổi nhưng có thể dự đốn được thì sẽ giữ ngun giá trị.

- Padding: Có hai loại chèn padding là Authenticaiton Data và Implicit

Packet Padding (chèn dữ liệu ngầm định).

+ Authenticaiton Data Padding: Nếu đầu ra của thuật tốn xác thực là 96 bit thì khơng cần chèn thêm dữ liệu. Nhưng nếu ICV có kích thước khác thì phải chèn thêm, nội dung của phần chèn thêm là tuỳ chọn và được đặt sau Authentication Data.

+ Implicit Packet Padding: Đối với một số thuật toán xác thực, chuỗi byte để tính ICV phải là một số nguyên lần của khối n byte. Nếu độ dài gói IP khơng thoả mãn điều kiện đó thì Implicit Packet Padding sẽ được thêm vào phía cuối của gói. Các byte này bằng 0 và khơng được truyền đi cùng gói.

- Phân mảnh: Khi cần thiết, phân mảnh sẽ được thực hiện 3.1.3.1. Giao thức đóng gói tải bảo mật(ESP)

Mục đích chính của ESP là cung cấp sự tin cậy thêm vào xác thực người gửi và xác minh tính tồn vẹn của dữ liệu trong khi truyền. ESP mã hố nội dung của gói dữ liệu bằng cách dùng các thuật toán mã hoá, như đã xác định bởi SA. Một số thuật toán được sử dụng bởi ESP bao gồm: DES-CBG, NULL, CAST-128, IDEA và 3DES. Các thuật toán xác thực thường được dùng tương tự như trong AH là HMAC-MD5 và HMAC-SHA.

Như đã so sánh với AH, AH mang lại tính xác thực và tồn vẹn dữ liệu đối với gói dữ liệu IP. ESP khơng bảo vệ tồn bộ gói dữ liệu. Chỉ có payload được bảo vệ, như trong hình 3.7. Tuy nhiên, ESP rất mạnh trong nhóm mã hố. Nó cũng khơng chiếm dụng nhiều CPU. Kết quả là nó nhanh hơn AH. Nhưng 24 byte mà nó thêm vào gói dữ liệu có thể làm chậm xuống việc phân đoạn và tính tốn thơng lượng.

IP Header ESP Header PayLoad ESPTrailer ESPAuthentication

Hình 3.7 Gói IP sau khi tiêu đề ESP và Trailer ESP được thêm vào 1. Khng dạng gói dữ liệu dựa trên ESP

Khn dạng của gói ESP phức tạp hơn so với khn dạng của AH, nó khơng chỉ gồm ESP header mà còn ESP trailer và ESP Authentication data. Dữ liệu tải(Payload) được định vị giữa header và trailer.

Hình 3.8 Khn dạng ESP

Các trường trong ESP đều là bắt buộc:

- 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 đến 255 được dành riêng để sử dụng trong tương lai. Giá trị SPI = 0 để chỉ ra chưa có SA nào tồn tại.

- SN: Giống như AH, trường SN chứa một giá trị đếm tăng dần để chống

lặp lại. Mỗi SA được lựa chọn thì giá trị của trường này bắt đầu là 0.

- Payload Data: Trường 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, được mã hoá bởi các thuật toán mã hoá, các thuật toán mã hoá này được lựa chọn ngay khi thiết lập SA. Trường này có độ dài bằng một số nguyên lần 1 byte.

- Padding: Trường này được thêm vào để đoạn được mã hoá là một số

nguyên lần của một khối các byte. Ngồi ra trường cịn dùng để che dấu độ dài thực của Payload.

- Pad Length: Trường này xác định số byte padding đã thêm vào (0 đến

225)

- Next Header: Là trường 8 bit bắt buộc, nó chỉ ra kiểu dữ liệu trong

Payload Data. Ví dụ một giao thức bậc cao hơn như TCP. Giá trị của trường được chọn trong chuẩn IP Protocol Number được đưa ra bởi IANA.

- Authentication Data: Trường có độ dài biến đổi chứa giá trị ICV được

tính cho gói ESP từ SPI đến Next Header. Authentication là trường không bắt buộc, được thêm vào nếu dịch vụ Authentication được lựa chọn cho SA đang

IP Hdr ESPHdr Payload ESP Trl AuthESP

SecurityParameters Index (SPI)

Sequence

Number Padding LengthPad HeaderNext

xét. Các thuật tốn để tính ICV là các thuật tốn hàm băm một chiều MD5 hoặc SHA giống với AH.

2. Chế độ hoạt động

Hình 3.8 Gói ESP trong chế độ Transport

ESP cũng được sử dụng ở hai chế độ: Transport và Tunnel

- Chế độ Transport: Chế độ Transport cho phép bảo vệ các giao thức lớp

trên nhưng khơng bảo vệ IP Header. Các gói tin IP cũ được cắt phần tiêu đề ra, sau đó tiêu đề ESP được đưa vào giữa. ESP trailer sẽ được đưa vào cuối gói tin, cuối cùng là Authentication Data được đưa thêm vào. Chế độ Transport không mã hố cũng khơng xác thực IP Header, tuy nhiên nó có chi phí xử lý thấp, chỉ được dùng cho các Host.

Hình 3.9 Gói ESP trong chế độ Tunnel

- Chế độ Tunnel: Trong chế độ này, gói IP mới được xây dựng cùng với

một IP Header mới. Các IP Header bên trong mang địa chỉ nguồn và đích cuối cùng, cịn IP Header bên ngồi mang địa chỉ định tuyến qua Internet. Ở chế độ

IP Hdr Eessadafs Payload dESP

ESP Hdr

ESP

Trl ESPAuth

Mã hố Định danh

Gói tin IP ban đầu

IP Hdr Payload

Gói ESP trong chế độ transport

IP Hdr Payload Gói tin IP ban đầu

New IP Hdr IP Hdr Payload New IP IP Hdr Payload Hdr ESP

Hdr ESP Trl AuthESP

Mã hoá Định danh

này, ESP sẽ bảo vệ cả gói tin IP ban đầu bao gồm: Payload và IP header. Đối với gói IP bên ngồi thì vị trí của ESP giống như trong chế độ Transport.

3. Các thuật toán sử dụng trong ESP

Các thuật toán bắt buộc bao gồm:

- Các thuật toán mật mã: DES ở chế độ CBC, AES, NULL. Thuật toán

mã hoá được xác định bởi SA. ESP làm việc với các thuật tốn mã hố đối xứng. Với sự có mặt của trường Padding, các thuật tốn mã hố có thể có đặc tính khối hoặc luồng.

- Các thuật tốn xác thực: Mã xác thực bản tin MAC sử dụng MD5, mã

xác thực bản tin MAC sử dụng SHA, NULL (Khơng sử dụng mã xác thực)

4. Xử lý gói tin đầu ra

Q trình xử lý gói đầu ra bao gồm các bước sau:

- Tìm kiếm SA: Giống như AH, ESP được thực hiện trên một gói tin chỉ

khi nào bộ điều khiển IPSec đã xác định gói tin đó được liên kết với một SA.

- Mã hố gói tin: Tuỳ thuộc vào chế độ Tunnel hay Transport mà ESP

thực hiện đóng gói tồn bộ gói tin hay chỉ đóng gói phần Payload. Thêm Padding nếu cần thiết, mã hoá các trường Payload Data, Padding, PadLength, Next Header theo các thuật toán đã được chỉ ra bởi SA. Nếu dịch vụ xác thực được lựa chọn thì việc mã hố được thực hiện trước, q trình mã hố khơng bao gồm trường Authentication Data. Và quá trình xác thực được thực hiện sau. Thứ tự xử lý này cho phép nhanh chóng xác định và loại bỏ các gói lỗi hoặc lặp lại mà khơng cần phải giải mã gói tin, đồng thời cho phép phía thu xử lý song song cả hai việc: giải mã và xác thực.

- Tạo SN: Quá trình này được thực hiện giống với AH.

- Tính ICV: Nếu dịch vụ xác thực được lựa chọn thì phía phát sẽ tính các

giá trị ICV trên gói dữ liệu ESP gồm các trường sau: SPI, SequenceNumber, Payload Data, Padding, PadLength và Next Header. Trong đó 4 trường cuối ở dạng đã mã hố. ICV được tính dựa vào các thuật toán xác thực dùng hàm băm một chiều như MD5 và SHA-1.

- Phân mảnh: Nếu cần thiết thì phân mảnh sẽ được thực hiện sau khi đã xử

5. Xử lý gói tin đầu vào

Q trình xử lý gói đầu vào gồm các bước ngược với q trình xử lý gói tin đầu ra.

- Ghép mảnh: Ghép mảnh được thực hiện trước khi xử lý ESP. Nếu một

gói tin cần xử lý ESP ở dạng phân mảnh thì phía thu phải loại bỏ gói tin đó.

Một phần của tài liệu An toàn cho mạng riêng ảo (Trang 71)

Tải bản đầy đủ (DOC)

(197 trang)
w