Tải bản đầy đủ (.doc) (16 trang)

Các mã xác thực

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (165.12 KB, 16 trang )

Ch ơng 10
CáC M XáC THựCã
10.1 Mỏ ĐầU
Ta đã dành nhiều thời gian để nghiên cứu các hệ mật đợc dùng để
đảm bảo độ mật .Mã xác thực sẽ cung cấp phơng pháp bảo đảm tình toàn
vẹn của bản tin,mghĩa là bản tin phải không bị can thiệp một cách bất
hựp pháp và nó thực sự đợc gửi đi từ mày phát.
Mục đích của chơng này là phải có đợc khả năng xá thực ngay cả khi
có một đối phơng tích cực-Oscar là ngời có thể quan sát các bản tin
trong kênh.Mục đích này có thể đạt đợc bằng cách thiết lập một khoa
riêngK bằng cách để Alice và Bob chungchung một khoá bí mật trớc
hki mỗi bản tin đợc gửi đi.
Trong chơng này ta sẽ nghiên cứu đảm bảo xacs thực chứ không phải
các mã đảm bảo độ mật.Trong mã này,khoá sẽ đợc dùng dể tính một mã
xác thực cho phép Bob kiểm tra đợc tính xác thực của thông báo mà anh
ta nhận đợc.Một ứng dụng khác của mã xác thực là để kiểm tra xem các
số liệu trong một file lớn có bị can thiệp vào một cách hợp pháp hay
không.Nhãn xác thực sẽ đợc lu cùng với số liệu:KHOá ĐƯẻc dùng để
tạo và kiểm tra dấu xác thực đợc lu một cách tách bạch trong
mộtvùngan toàn.
Ta cũng sẽ chỉ ra rằng,về nhiều khía cạnh mã xác thực cũng tơng tự
nh một sơ đồ chữ kí hoặc tơng tự nh một maw xác thực thông
báo(MAC).Sự khác biệt chính là sự an toàn của một maw xác thực là
không điều kiện biên,trong khi đó các sơ đồ chữ kí và MAC lại đợc
nghiên cứu theo quan điểm độ an toàn tính toán.Cũng vậy,khi một maw
xác thực (hoặc MAC) đợc dùng,một bản tin chỉ có thể đợc kiểm tra bởi
ngời nhận hợp pháp.Trong khi đó baats cứ mỗi ai cũng có thể xác minh
đợc chữ kí bằng cách dùng một thuật toán xác minh công khai.
Bây giờ ta sẽ đa ra một định nghia hình thức cho thuật ngữ đợc sử
dụng khi nghiên cứu các mã xác thực.
Định nghĩa 10.1


Một mã xác thực là một bộ 4(S,R,K,C)thoả mãn các điều kiện
sau :
1. S là tập hữu hạn các trạng thái nguồn có thể
2. A là tập hợp các nhãn xác thực có thể
3. K là một tập hữu hạn các khoá có thể (không gian khoá)
4. Với mỗi k

K có một quy tắc xác thực e
k
: S

R
Tập bản tin đợc xác định bằng M=S

R
Nhận xét:
Chú ý một trạng thái nguồn tơng đơng với một bản rõ.Một bản tin gồm
một bản rõ với một nhãn xác thực kèm theo,một cách chính xác hơn có thể coi
đó là là một bản tin đã đợc xác nhận.Một quy tắc xác thực không nhất thiết
phải là hàm đơn ánh.
Đẻê phát một thông báo (đã đợc kí).Alice và Bob phải tuân theo giao thức
sau.Trớc tiên họ phải chộn một khoá ngẫu nhiên KK.Điều này đợc thuwc
hiện một cách bí mật nh trong hệ mật khoá bi mật.Sau đó giả sử rằng Alice
muốn gửi một trạng thái nguồn sS cho Bob trong một kênh không an
toàn>Alice sẽ tính a=e
k
(s) và gửi bản tin (s,a)cho Bob.Khi nhận đợc (s,a) Bob
tính a=e
K
(s).Nếu a=a thì Bob chấp nhận bản tin là xác thực,ngợc lại Bob sẽ

loại bỏ nó.
Ta sẽ nghiên cứu hai kiểu tấn công khác nhau mà Oscar có thể tiến
hành.Trong cả hai loại này,Oscar sẽ làkẻ xâm nhập vào gia cuộc.Các phép
tấn công này đợc mô tả nh sau:
Giả mạo
Oscar đa ra một bản tin (s,a) vào kênh và hi vọng nó sẽ đợc chấp
nhận .Phơng pháp này đợc mô tả trong hình 10.1.
Thay thế
Oscar quan sát một bản tin trong (s,a)kênh ,sau đó anh ta biến đổi nó
thành(s,a),trong đó s=s và hi vọng đợc Bob chấp nhận nh một bản tin xác
thực .Bởi vậy anh ta tin sẽ lái đợc Bob đi tới trạng thái nguồn mới này.Phơng
pháp này đợc mô tả nh hình 10.2.
.

Oscar


Gắn với mỗi phơng pháp này là một xác xuất lừa bịp,là xác suất để
Oscar thành công trong việc lừa Bob nếu anh ta (Oscar) tuân thủ một
Hình 10.1. Việc giả mạo bởi Oscar
Oscar (s,a) Bob
Hình 10.2 . Phép thay thế của Oscar.
Alice (s,a) Oscar (s,a) Bob
chiến lợc tối u .Các xác suất này đợc kí hiệu là Pd
0
(trờng hợp giả mạo)và
Pd
1
(trờng hợp thay thế) .Để tình Pd
0

và Pd
1
ta cần phải xác định các
phân bố xác suất trên S vàK.Các xác suất này đợc kí hiệu tơng ứng là p
s
và p
k
.
Giả sử rằng Oscar đẵ biết mã xác thực và hai phân bố xác suất này.Chỉ
có một thông tin mà Alice và Bob có nhng mà Oscar không đợc biết là
giá trị của khoá K .Điều này tơng tự với cách mà chúng ta đã nghiên cứu
độ an toàn không điều kiện của các hệ mật khoá bí mật.
10.2.Tính xác suất lừa bịp
Trong phần này sẽ xét đến việc tính các xác suất lừa bịp.Ta bắt đầu
về một mã xác thực.
Ví dụ 10.1
Giả sử K=R=Z
và K=Z
3
xZ
3
Với mỗi (i,j) K và mỗi s

S ta xác định
e
k
(s) =i.s+j mod 3
Để thuận tiện cho việc nghiên cứu ta dùng ma trận xác thực (ma trận này
tạo bằng tất cả các giá trị e
k

(s)).Với mỗi khoá KK và với mỗi s

S
ta đặt nhãn xác thực e
k
(s) vào hàng K và cột s của một ma trận M kích
thớc K xS .Mảng M đợc mô tả trên hình 10.3.
Hình 10.3.Ma trận xác thực
Khoá 0 1 2
(0,0) 0 0 0
(0,1) 1 1 1
(0,2) 2 2 2
(1,0) 0 1 2
(1,1) 1 2 0
(1,2) 2 0 1
(2,0) 0 1 2
(2,1) 1 0 2
(2,2) 2 1 0
Giả sử rằng khoá đợc chọn một cách ngẫu nhiên,tức là p
k
(K)=1/9 đối
với mọi KK. Ta không phải xác định phân bố xác suất p
S
vì trong thí
dụ này nó khong có ý nghĩa gì.
Trớc tiên xét cách tấn công giả mạo,Oscar sẽ chọn ra một trạng thái
nguồn s và cố gắng phỏng ddoand\s một nhãn xác thực đúng.Kí hiệu
K
0
là khoá đang sử dụng (mà Oscar không biết).ócả sẽ thành công trong

việc đánh lừa Bob nếu anh ta phỏng đoán a
0
=e
K0
(s).Tuy nhiên với bất kì
sS và aR dễ dàng thấy rằng ,chỉ có đúng 3(chứ không phải là 9)quy
tắc xác thực KK sao cho e
k
(s) =a.(Nói cách khác mỗi kí hiệu chỉ xuất
hiện 3 lần trong mỗi cột của ma trận xác thực ).Bởi vậy dẫn tới Pd
0
=1/3.
Phân tích phép thay thế có phức tạp hơn một chút.Giả sử Oscar đã
quan sát đợc trên kênh 1 bản tin (0.0).Nhờ đó anh ta đã biết một thông
tin nào đó về khoá:anh ta biết rằng :
K
0
{(0,0),(1,0),(2,0)}
Bây giờ ,giả sử Oscar thay bản tin (0,0) bằng bản tin (1,1).Khi đó anh
ta sẽ lừa bịp thành công khi và chỉ khi K
0
=(1,1) ,xác suất để K
0
là khoá
bằng 1/3 vì khoá nằm trong tập {(0,0),(1,0),(2,0)}.
Có thể thực hiện một phân tích tơng tự đối với bất kì một phép thay
thế nào mà Oscar tiến hành.Nói chung nếu Oscar quan sát một bản tin
(s,a) và thấy nó bằng một bản tin bất kì (s,a) trong đó s=s thì anh ta sẽ
đánh lừa đợc Bob với xác suất 1/3.Ta có thể thấy rõ điều này nh sau
.Việc quan sát đợc (s,a) sẽ hạn chế khóa và một trong ba khả năng.Trong

khi đó với một phép chọn (s,a) chỉ có một khoá chứ không phải ba
khoá có thể )theo quy tắc a là nhãn xác thực của s.
Bây giờ ta sẽ thảo luận cách tính toán tổng quát cho các xác suất
lừa bịp.Trớc tiên ta hãy xát Pd
0
.Cũng nh trên K
0
là khoá đợc chọn bởi
Alice và Bob.Với sS và aR ta xác định payoff(s,a)là xác suất để Bob
chấp nhận bản tin (s,a) là bản tin xác thực .Dễ dàng thấy rằng :
Payoff(s,a) = prob(a=e
K
(s))
=
K

K
(ek(s) = a)
p
K
(K)
Nghĩa là payoff(s,a) đợc tính bằng cách chọn các hàng của ma trận xác
thực có phần tử a nằm trong cột s và lấy tổng xác suất của các khoá K t-
ơng ứng.
Để cơ hội thành công là lớn nhất.Oscar phỉa chọn (s,a) sao cho
payoff(s,a) là cực đại .Bởi vậy:
Pd
0
=max{payoff(s,a): sS.aR} (10.1)
Chú ý rằng Pd

0
không phụ thuộc vào phân bố xác suất p
S
Việc tính Pd
1
có khó hơn một chút và nó có thể phụ thuộc vào p
S
.Tr-
ớc tiên ta sẽ xét bài toán sau:Giả sử Oscar quan sát đợc thông báo (s,a)
trong kênh.Oscar sẽ thay (s,a) bằng một bản tin (s,a) nào đó ,trong đó
ss.Khi đó,với s,sS ,ss và a,aR ta định nghĩa payoff(s,a;s,a) là
xác suất để phép thay thế (s,a) bằng (s,a) thành công(để đánh lừa
Bob) .Khi đó có thể tính nh sau :
Payoff(s,a;s,a) =prob(a=e
Ko
(s)a=e
Ko
(s))

=
))((
))()'('(
seaprob
seaseaprob
K
KK
=
==

Tử số của phân số này đợc tính bằng cách chọn các hàng của ma trận

xác thực có giá trị a trong cột s và giá trị a trong cột svà lấy tổng các
xác suất của các khoá tơng ứng.Vì Oscar muốn tăng cực đại cơ hội đánh
lừa Bob nên anh ta tính :
P
S
= max{payoff(s,a;s,a);sS,ss,aR}
Đại lợng p,kí hiệu để Oscar đánh lừa Bob bằng một phép thay thế khi đã
quan sát đợc bản tin (s,a) trên kênh.
Bây giờ phải làm thế nào để tính để tinhs xác suất lừa bịp Pd
1
?Rõ
ràng là ở đây ta ta phải tính trung bình các giá trị của lợng p
S
theo các
xác suất p
M
(s,a) quan sát các bản tin trên kênh.Nghĩa là Pd
1
đợc tính
bằng :
Pd
1
=
(S,a)

M
p
M
(s,a).p
M

(10.2)
Phân bố xác suất p
M
nh sau:
P
M
(s,a) =p
s
(s)x p
K
(as)
=p
S
(s)x
(K

K; ek(s)=a)
p
K
(K)
=p
S
(s)xpayoff(s,a)
Trong ví dụ 10.1:
Payoff(s,a) =1/3
Với s,a,s,a,ss .Bởi vậy Pd
1
=1/3 đối với mọi phân tố xác suất p
S
(nói

chung Pd
1
phụ thuộc vào p
S
).
Trong ví dụ sau đây sẽ xét việc tính Pd
0
và Pd
1
.
Ví dụ 10.2:
Xét ma trận trên hình 10.4Giả sử các phân bố xác suất trên S và K là:
P
S
(i)=1/4
1 i 4 và
p
K
(1)=1/2 ; p
K
(2)=p
K
(3)=1/4
Hình 10.4 Ma trận xác thực
Khoa 1 2 3 4
1 1 1 1 2
2 2 2 1 2
3 1 2 2 1
Các giá trị payoff(s,a) nh sau :
Payoff(1,1) =3/4 Payoff(1,1) =1/4

Payoff(2,1) =1/2 Payoff(2,2) =1/2
Payoff(3,1) =3/4 Payoff(3,2) =1/4
Payoff(4,1) =1/4 Payoff(4,2) =3/4
Bởi vậy Pd
0
=3/4 .Chiến lợc đánh lừa tối u của Oscar là đa một thông báo
bất kì trong số các thông báo (1,1),(3,1) hoặc (4,2) vào kênh.
Bây giờ ta sẽ chuyển sang tính Pd
1
.Trớc hết ta đa các giá trị khác
nhau của payoff(s,a;s,a).
(1,1) (1,2) (2,1) (2,2) (3,1) (3,2) (4,1) (4,2)
(1,1)
(1,2)
2/3
0
1/3
1
2/3
1
1/3
0
1/3
1
2/3
0
(2,1)
(2,2)
1
1/2

0
1/2
0
1/2
1
1/2
0
1/2
1
1/2
(3,1)
(3,2)
2/3
1
1/3
0
2/3
0
1/3
1
0
1
1
0
(4,1)
(4,2)
1
2/3
0
1/3

0
2/3
1
1/3
0
1
1
0
Nh vậy ta có p
1.1
=2/3,p
2.2
=1/2,p
3.3
=1 với mọi giá trị s,a khác .Khi đó việc
đánh giá Pd
1
sẽ trở nên rất đơn giản:Pd
1
=7/8.Chiến lợc thay thế tối u của
Oscar là:
(1,1) (2,1)
(1,2) (2,2)
(2,1) (1,1)
(2,2) (1,1)
(3,1) (4,2)
(3,2) (1,1)
(4,1) (1,1)
(4,2) (3,1)
Chiến lợc này thực sự dẫn đến Pd

1
=7/8
Việc tính toán Pd
1
trong ví dụ 10.2 dễ hiểu nhng khá dài dòng .Trên
thực tế có thể đơn giản hóa việc tính Pd
2
dựa trên nhận xét là ta đã
thực hiện việc chia cho đại lợng payoff(s,a) khi tính P
s,a
và sau đó
Lại nhân với payoff(s,a) khi tính Pd
1
.Dĩ nhiên là hai phép tính này loại
bỏ nhau.Giả sử định nghĩa :
q
s,a
=max{
AassSsKp
asekasekKK
K


==
',',':)(
'Ư})'(,)(:{
}
Với mọi s,a. Khi đó có công thức đơn giản hơn sau:
10.3.Các giới hạn tổ hợp
Ta đã thấy ràng độ an toàn của một mã xác định đợc đo bằng

Các xác xuất lừa bịp . Bởi vậy cần xây dựng các mã sao cho các xác
Xuất này nhỏ tới mức có thể .Tuy nhiên những khía canh khác cũng
Rất qoan trọng .Ta xem xét một số vấn đề cấn qoan tâm trong mã xác
thực .
1.Các xác xuất lừa bịp Pd
0
và Pd
1
phải đủ nhỏ để đạt đợc mức an toàn
mong muốn .
2.số các trạng thái nguồn phải đủ lớn để có thể truyền các thông tin cần
thiết bằng cách gán một nhãn xác thực vào một trạng thái nguồn .
3. Kích thớc của không gian khóa phải đợc tối thiểu hóa và các giá trị
của khóa phải truyền qua một kênh an toàn (Cần chú ý rằng phải thay
đổi khóa sau mỗi lần truyền tin giống nh khi dùng OTP).
Trong phần này sẽ xác địinh giới hạn dới đối với các xác suất lừa bịp và
chúng đợc tính theo các tham số của mã.Hãy nhớ lại rằng ta đã định
nghĩa mã xác thực là một bộ bốn (S,R,K,E).Trong phần này ta sẽ ký hiệu
R=l
Giả sử cố định một trạng thái nguồn sS.Khi đó có thể tính :

a

R
payoff(s,a)=

a

R


(K

K :ek(s)=a}
p
K
(K)
=
K

K
p
K
(K)
=1
Bởi vậy với mỗi sS,tồn tại một nhãn xác thực a(s) sao cho :
Payoff(s,a(s))1/l.
Dễ dàng rút ra định lý sau:
Đinh lý 10.1
Giả sử (S,R,K,E) là một mã xác thực .Khi đó Pd
0

1/l trong đó
l=

R

.Ngoài ra Pd
0
=1/l khi và chỉ khi :

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×