Mã chứng thực thông điệp

Một phần của tài liệu bài giảng an toàn và bảo mật TẢI HỘ 0984985060 (Trang 87 - 88)

80

Mã chứng thực thông điệp (MAC) có thể coi là một dạng checksum của mã hóa, được tính theo công thứcMAC=C(M, K), trong đó:

1) M là thông điệp cần tínhMAC

2) K là khóa bí mật được chia sẽ giữa người gởi và người nhận 3) C là hàm tínhMAC

MAC có khóa K bít mật giữa người gởi và người nhận nên chỉ có người gởi và

người nhận mới có thể tính được giá trị MAC tương ứng. Mô hình ứng dụng MAC để chứng thực thông điệp như sau:

Bêngửi Bênnhận

M M

MACA

M

TínhMAC TínhMAC MACB

KhóabímậtK KhóabímậtK Sosánh

Hình5-3.ChứngthựcdùngMAC

Trudy, nếu chỉ sửa M thành MT thì giá trị MACB sẽ khác MACA và Bob phát hiện được. Nếu Trudy muốn sửa thông điệp mà Bob không biết, thì cần sửa luôn MACA thành

MACT tính được từMT. Tuy nhiên Trudy không biết khóaK, do đó không tính được MACT

cần thiết.

Mô hình trên không đảm bảo tính bảo mật. Để có tính bảo mật,MMACA cần được mã hóa trước khi truyền đị

Trong phần đầu chương, ta đã thấy mã hóa đối xứng cũng có tính chứng thực, như vậy thì tại sao không dùng mã hóa đối xứng mà cần dùng MAC? Câu trả lời là trong một số trường hợp người ta không cần tính bảo mật mà chỉ cần tính chứng thực, nên sử dụng MAC tiết kiệm được thời gian xử lý hơn.

Trong thực tế, người ta hay dùng mô hình CBC và phương pháp DES của mã hóa đối xứng để tính giá trị MAC. Hình dưới đây trình bày lại mô hình CBC

p0 p1 pn-1

⊕ ⊕ ⊕

E E E

IV c0 c1 cn-1

81 Như vậy thông điệpM sẽ được chia thành các khối (P0,P1,…,Pn-1), dùng thêm một

vector khởi tạoIV, thì bản mãCn-1 được chọn làm giá trịMAC choM. Như vậy kích thước củaMAC là 64 bít, kích thước của khóaK là 56 bít.

Một phần của tài liệu bài giảng an toàn và bảo mật TẢI HỘ 0984985060 (Trang 87 - 88)