Các yêu cầu cho mã xác thực bản tin

Một phần của tài liệu Bài giảng an ninh mạng viễn thông (HV công nghệ bưu chính viễn thông) (Trang 115 - 118)

1 .6 Mô hình an toàn mạng

4.2.3 Các yêu cầu cho mã xác thực bản tin

Một mã xác thực bản tin (MAC) được biết đến như là một tổng kiểm tra mã hóa, được tạo bởi hàm C theo dạng:

MAC( , )

TK M

Trong đó M là bản tin có độ dài thay đổi, K là khóa bí mật được chia sẻ ch bởi người g i và người nhận, và MAC(K, M) là ký hiệu nhận thực có chiều dài cố định, đôi khi được gọi là nhãn. Nhãn được thêm vào bản tin ở nguồn tại thời điểm mà bản tin được đảm bảo hoặc được xem là đúng. Bên nhận nhận thực bản tin này bằng cách tính lại nhãn.

110

hi toàn bộ bản tin được mã hóa để đảm bảo tính bảo mật, s dụng mã hóa đối xứng hoặc bất đối xứng, tính bảo mật của cơ chế nói chung hụ thuộc vào chiều dài chuỗi bit khóa. Dựa vào một vài điểm yếu trong thuật toán, kẻ địch hải hải dùng đến tấn công vét cạn để tìm tất cả các khóa có thể có. Tính trung bình, một tấn công như vậy sẽ cần đến 2k-1 truy nhậ đối v i khóa k-bit. Đặc biệt, đối v i tấn công ch v i bản mã, kẻ tấn công, cho trư c bản mã C, thực hiện i = D( i, C) đối v i tất cả các giá trị khóa có thể i cho t i khi một i được tạo ra kh v i dạng có thể chấ nhận được của bản rõ.

Trong trường hợ của MAC, vấn đề quan t m là hoàn toàn khác khi hàm MAC là

hàm nhiều-t i-một. S dụng các hương há vét cạn, làm sao để một kẻ địch có thể khám há ra một khóa? Nếu tính bảo mật không được s dụng, kẻ tấn công có được bản rõ và giá trị MAC tương ứng của nó. Giả s kn; nghĩa là, giả s kích thư c khóa l n hơn kích thư c MAC. hi đó, cho trư c M1T1 đã biết, v i T1MAC K M( , 1), bộ mã hóa (cry tanalyst) có thể thực hiệnTiMAC K M( ,i i) đối v i tất cả các giá trị khóaki

thể có. Ít nhất một khóa đảm bảo tạo ra được giá trị trùng kh Ti=T1. Lưu ý rằng tổng số

2knhãn sẽ được tạo ra, nhưng ch có 2n < 2k giá trị nhãn khác nhau. Do vậy, một số khóa sẽ tạo ra nhãn đúng và kẻ tấn công không thể biết đ u là khóa đúng. Tính trung bình, tổng cộng 2(k-n) khóa sẽ tạo ra một trường hợ trùng kh . Do đó, kẻ địch hải lặ lại các tấn

công nhiều lần.  Vòng 1

Cho trư c: M T1, 1 MAC( ,K M1) Tính Ti MAC( ,K M1) đối v i 2k khóa Sốtrường hợp trùng kh p 2(k n )  Vòng 2

Cho trư c: M T2, 2 MAC( ,K M2)

Tính Ti MAC( ,K M2) đối v i 2(k n ) khóa nhận được từ Vòng 1 Sốtrường hợp trùng kh p 2(k 2 )n

Và cứ như thế. Tính trung bình,  vòng sẽ cần đến k   n. Ví dụ, nếu một khóa 80 bit được s dụng và nhãn là 32 bit, khi đó vòng đầu tiên sẽ sinh ra 248 trường khóa có thể đúng. Vòng thứ hai sẽ thu hẹ các khóa có thể xảy ra còn khoảng 216 trường hợ khóa. Vòng thứ ba sẽ tạo ra ch 1 khóa duy nhất, là khóa được s dụng bởi hía g i.

Nếu chiều dài khóa là nhỏ hơn hoặc bằng chiều dài nhãn, khi đó có khả năng vòng đầu tiên sẽ tạo ra trường hợ kh duy nhất. Có thể có nhiều hơn một kháo sẽ tạo ra sự

111

trùng kh như vậy, trong trường hợ đó kẻ địch sẽ cần thực hiện cùng một kiểm tra trên cặ (bản tin, nhãn) m i.

Do vậy, một tấn công vét cạn cố gắng để khám há khóa nhận thực cần không ít tính toán hơn so v i việc yêu cầu khám há khóa giải mã có cùng chiều dài. Tuy nhiên, các tấn công khác mà không yêu cầu khám há khóa có thể xảy ra.

Xét thuật toán MAC sau đ y. Đặt M (X1||X2|| ...Xm)là một bản tin được x lý như là

sự kết hợp của các khối 64 bit Xi. hi đó ta định nghĩa: 1 2 MAC E( ( )) m (M) X X ... X (K,M) K, M       

trong đó  là phép OR loại trừ (XOR) và thuật toán mã hóa là DES. Do vậy, chiều dài khóa là 56 bit và chiều dài nhãn là 64 bit. Nếu một kẻ tấn công quan sát

{M ||MAC(K ,M)}, một tấn công vén cạn đểxác định K sẽ cần 256 mã hóa. Nhưng kẻđịch có thể tấn công hệ thống bằng cách thay thế từ X1 t i Xm bằng bất kỳ giá trị mong muốn nào từ Y1 t i Ym1 và thay thế Xm bằng Ym :

1 2 1 ( )

m m

Y    Y Y ... Y    M

Kẻ địch lúc này có thể gắn bản tin m i bao gồm Y1 t i Ym v i nhãn ban đầu để tạo thành một bản tin sẽđược chấp nhận là đã được xác thực bởi nên nhận. V i cách này, bất kỳ bản tin nào có chiều dài 64 x (m-1)bit cũng có thểđược thêm vào một cách gian lận.

Do vậy, trong việc đánh giá tính an ninh của một hàm MAC, chúng ta cần xét các loại tấn công có thể được thực hiện. Từ đó, ta sẽ đưa ra các yêu cầu đối v i hàm. Giả s rằng một kẻ tấn công biết hàm MAC nhưng không biết K. hi đó hàm MAC cần thỏa mãn những yêu cầu sau:

1. Nếu một kẻ tấn công quan sát M và MAC(K,M), sẽ là không khả thi v i kẻ tấn công nếu tạo một bản tin M’thỏa mãn:

MAC(K ,M ') = MAC(K ,M)

2. MAC(K,M)nên có h n bố chuẩn đối v i các bản tin được lựa chọn ngẫu nhiên, M và M’, xác suất để MAC(K,M)= MAC(K,M’)2-n, trong đó n là số

bit trong nhãn.

3. Cho M’ là kết quả của sự chuyển đổi nào đó của M, M’=f(M).Ví dụ, f có thể là một số thao tác nghịch đảo một hoặc nhiều bit. hi đó:

112

Yêu cầu thứ nhất hát biểu đối cho ví dụ trư c đó, trong đó một kẻ tấn công có khả năng tạo ra một bản tin m i để kh v i một nhãn cho trư c, ngay cả khi kẻ tấn công không biết và không cần tìm hiểu khóa. Yêu cầu thứ hai dựa vào yêu cầu cần một tấn

công vét cạn dựa trên bản rõ cho trư c. Nghĩa là, nếu ta giả s kẻ địch không biết K

nhưng có thể tiế cận được hàm MAC và có thể ch định các bản tin cho bộ tạo MAC, sau đó kẻ địch có thể th nhiều bản tin khác nhau có t i khi tìm ra bản tin kh v i nhãn cho trư c.

Yêu cầu cuối cùng đòi hỏi thuật toán nhận thực không nên yếu hơn ở một số hần hoặc bít nhất định so v i các hần khác hoặc bit khác. Ngược lại, khi đó một kẻ tấn công

M và MAC(K,M)có thể thực hiện thay dổi đối v i Mtại điểm yếu và nhiều khả năng

thành công s m trong việc tạo ra bản tin kh v i nhãn cũ.

Một phần của tài liệu Bài giảng an ninh mạng viễn thông (HV công nghệ bưu chính viễn thông) (Trang 115 - 118)

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

(159 trang)