Sau khi khối dữ liệu 512bit cuối cùng được xử lý thì giá trị h

Một phần của tài liệu tiểu luận Công nghệ IP VPN (Trang 128)

IV (Initialization Vector) được truyền qua kê

u.Sau khi khối dữ liệu 512bit cuối cùng được xử lý thì giá trị h

h tính được chính là MD (vân tay) của toàn bộ bản tin.

4.3.1.2 Mã xác thực bản tin MAC dựa trên các hàm băm một chiều sử dụng khóa

MAC (Message Authentication Code) là phương pháp bảo vệ chống sửa đổi bất hợp pháp nội dung bản tin. MAC được thực hiện bằng các hàm băm một chiều kết hợp với khóa bí mật.

Hình 4.12: Xác thực tính toàn vẹn dựa trên mã xác thực bản tin MAC Lý do xây dựng mã xác

ực bản tin MAC là vì bản thânh MD không cung cấp bất kỳ bảo vệ nào chống lại việc thay đổi bất hợp pháp nội dung của bản tin. Khi một người nào đó thay đổi nội dung của bản tin trên đường truyền dẫn thì anh ta cũng có thể tính lại giá trị hash MD5 hay SHA dựa trên nội dung bản tin đã thay đổi đó. Như vậy, tại phía thu, giá trị hash của bản tin nhận được vẫn hoàn toàn hợp lệ.

Để giải quyết vấn đề này, phải sử dụng một khóa bí mật trong quá trình tính vân tay của bản tin thì mới đảm bảo chống lại những thay đổi

Phía phát Phía thu

1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 Keyed Hash Funtion Keyed Hash Funtion MAC MAC Key Key 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 Keyed Hash Funtion Keyed Hash Funtion MAC MAC Key Key MAC MAC Kênh truyền So sánh

t hợp pháp. Phía thu (nơi có khóa bí mật) tạo ra một giản lược thông điệp hợp lên (valid MD), gọi là mã xá

ực bản tin MAC. Phía thu sử dụng khóa bí mật để

c định tính hợp lệ của bản tin bằng cách tính lại giá trị MAC và so sánh với giá trị MAC mà phía phát truyền đi. Đến đây, vấn đề là xây dựng các hàm băm một chiều sử dụng khóa dựa trên các hàm băm đã trình bày ở trên.

RFC 2104 đưa ra một phương án để xây dựng các hàm băm có sử dụng khóa trên cơ sở các hàm băm như MD5, SHA.

Hình 4.13: Quá trình tạo mã xác thực n tin MAC

Phía trước bản tin cần xác thực, thêm vào 512 bit khóa bên trong (inner key). Khóa này được hình thành bằng cách thêm các bit đêm (padding) vào khóa bí mật cho đủ 512 bit, sau đó XOR khối này với các giá trị 0x36. Để đảm bảo tính an toàn cao nhất thì độ dài của khóa bí mật phải lớn hơn hoặc bằng độ dài của giá trị hash (128 bit đối với MD5 và 160 bit đối với SHA).

Bản tin bây giờ được đưa tới hàm băm. Vì giá trị

ash của khối dữ liệu trước luôn đóng vai trị là vectơ khởi tạo cho khối sau, nên hàm băm thực hiện trên khối inner key sẽ tạo ra một vectơ khởi tạo để thực hiện hash

512 bit 0x36…0x36

0x36…0x36

Key

Key PadPad

0x5C…0x5C 0x5C…0x5C

Inner Key

Inner Key DocumentDocument

Hàm băm MD5/SHA Hàm băm MD5/SHA

Outer Key

Outer Key HashHash

Hàm băm MD5/SHA Hàm băm MD5/SHA

Hash

Hash MACMAC

XOR

cho bản tin gốc ban đầu, giá trị của vectơ khởi tạo này chỉ phụ thộc vào khóa bí mật mà thôi. Như vây, khi (adsbygoogle = window.adsbygoogle || []).push({});

óa bí mật giữ nguyên thì tất cả các bản tin đều có thể được ký sử dụng cùng một vectơ khởi tạo bí mật.

Tương tự đối với khóa ngoài (outer key). Khóa ngoài được hình thành bằng cách XOR khóa bí mật (đã chèn các bit đệm) với các giá trị 0x5C. Khi đó, hàm băm thực hiện trên khối outer key sẽ tạo ra một vectơ khởi tạo để thực hiện hash cho chính giá trị hash tính ở vòng thứ nhất.

Thông thường giá trị MAC cuối cùng được tạo ra bằng cách cắt ngá

giá trị hash thu được bởi MD5 (128 bit) và SHA (160 bit) xuống còn 96 bit. Mặc dù việc cắt ngắn này làm giảm đáng kể số các tổ hợp cần thử đối với một tấn công kiểu brute fore, nhưng nó có tác dụng che dấu trạng thái bên trong của thuật toán băm và sẽ khó khăn hơn rất nhiều cho kẻ tấn công để có thể đi từ đầu ra của vòng băm thứ hai tới kết quả trung gian

a vòng băm thứ nhất.

Phưong pháp xác thực tính toàn vẹn

dụng MAC có ưu điểm là thực hiện nhanh và hiệu quả, vì việc tạo MAC dựa trên các hàm băm tương đối đơn giản, do đó thường được sử dụng để xác thực các cụm dữ liệu ở tốc độ cao. Nhược điểm là phía thu phải biết được khóa bí mật thì mới xác định được tính toàn vẹn của bản tin, dẫn đến vấn đề phân phối khóa một cách an toàn.

Một phần của tài liệu tiểu luận Công nghệ IP VPN (Trang 128)