Title: H
1 Hàm bam xác th?c và ch? kí s?
2N?i dung
- Gi?i thi?u
- Các hàm bam và tính toàn v?n c?a d? li?u
- T?n công ngày sinh nh?t
- Trao d?i và tho? thu?n khoá
- Ch? kí s?
3Gi?i thi?u
- M?t s? khái ni?m
- Xác th?c m?u tin liên quan d?n các khía c?nh sau
khi truy?n tin trên m?ng - B?o v? tính toàn v?n c?a m?u tin b?o v? m?u tin
không b? thay d?i ho?c có các bi?n pháp phát hi?n
n?u m?u tin b? thay d?i trên du?ng truy?n. - Ki?m ch?ng danh tính, ngu?n g?c xem xét m?u tin
có dúng do ngu?i xung tên g?i không hay m?t k?
m?o danh nào khác g?i. - Không ch?i t? b?n g?c trong tru?ng h?p c?n
thi?t, b?n thân m?u tin ch?a các thông tin ch?ng
t? ch? có ngu?i xung danh g?i, không m?t ai khác
có th? làm di?u dó gt Ngu?i g?i không th? t? ch?i
hành d?ng g?i, th?i gian g?i và n?i dung c?a m?u
tin.
4- Các yêu c?u b?o m?t khi truy?n m?u tin
- Tìm các bi?n pháp c?n thi?t d? ch?ng d?i l?i các
hành d?ng phá ho?i nhu sau - Ð? l? bí m?t gi? bí m?t n?i dung m?u tin, ch?
cho ngu?i có quy?n bi?t. - Thám mã du?ng truy?n không cho theo dõi ho?c làm
trì hoãn vi?c truy?n tin. - Gi? m?o l?y danh nghia ngu?i khác d? g?i tin.
- S?a d?i n?i dung thay d?i, c?t xén, thêm b?t
thông tin. - Thay d?i trình t? các gói tin nh? c?a m?u tin
truy?n. - S?a d?i th?i gian làm trì hoãn m?u tin.
- T? ch?i g?c không cho phép ngu?i g?i t? ch?i
trách nhi?m c?a tác gi? m?u tin. - T? ch?i dích không cho phép ngu?i nh?n ph? d?nh
s? t?n t?i và d?n dích c?a m?u tin dã g?i.
5- Hàm bam (hash function)
- Hàm bam là các thu?t toán không s? d?ng khóa d?
mã hóa, nó có nhi?m v? bam thông di?p du?c dua
vào theo m?t thu?t toán h m?t chi?u nào dó, r?i
dua ra m?t b?n bam van b?n d?i di?n có kích
thu?c c? d?nh. Do dó ngu?i nh?n không bi?t du?c
n?i dung hay d? dài ban d?u c?a thông di?p dã
du?c bam b?ng hàm bam. - Giá tr? c?a hàm bam là duy nh?t, và không th? suy
ngu?c l?i du?c n?i dung thông di?p t? giá tr? bam
này.
6- Ð?c trung
- Hàm bam h là hàm m?t chi?u (one-way hash) v?i các
d?c tính - V?i thông di?p d?u vào x thu du?c b?n bam z
h(x) là duy nh?t. - N?u d? li?u trong thông di?p x thay d?i d? thành
thông di?p x thì h(x) ? h(x) gt Hai thông di?p
hoàn toàn khác nhau thì giá tr? hàm bam cung khác
nhau. - N?i dung c?a thông di?p g?c không th? b? suy ra
t? giá tr? hàm bam gt V?i thông di?p x thì d?
dàng tính du?c z h(x), nhung l?i không th?
(th?c ch?t là khó) suy ngu?c l?i du?c x n?u ch?
bi?t giá tr? hàm bam h
7- Vai trò hàm bam trong m?t mã hi?n d?i
- Ðu?c dùng d? xác th?c tính nguyên v?n d? li?u
- Ðu?c dùng trong quá trình t?o ch? kí s? trong
giao d?ch di?n t?. - Các hàm bam l?y m?t thông báo d?u vào và t?o m?t
d?u ra du?c xem nhu là - Mã bam (hash code),
- K?t qu? bam (hash result),
- Ho?c giá tr? bam (hash value).
8- Vai trò co b?n c?a các hàm bam m?t mã là m?t giá
tr? bam coi nhu ?nh d?i di?n thu g?n, dôi khi g?i
là m?t d?u v?t (imprint), vân tay s? (digital
fingerprint), ho?c tóm lu?c thông báo (message
digest) c?a m?t xâu d?u vào, và có th? du?c dùng
nhu là m?t d?nh danh duy nh?t v?i xâu dó. - Các hàm bam thu?ng du?c dùng cho toàn v?n d? li?u
k?t h?p v?i các lu?c d? ch? kí s?. - M?t l?p các hàm bam riêng du?c g?i là mã xác th?c
thông báo (MAC) cho phép xác th?c thông báo b?ng
các ki thu?t mã d?i x?ng.
9Phân lo?i
10Hàm bam và tính toàn v?n c?a d? li?u
- Vi?c s? d?ng các h? m?t mã và các so d? ch? ký
s?, thu?ng là mã hóa và ký s? trên t?ng bit c?a
thông tin, s? t? l? v?i th?i gian d? mã hóa và
dung lu?ng c?a thông tin. - Thêm vào dó có th? x?y ra tru?ng h?p V?i nhi?u
b?c thông di?p d?u vào khác nhau, s? d?ng h? m?t
mã, so d? ký s? gi?ng nhau (có th? khác nhau) thì
cho ra k?t qu? b?n mã, b?n ký s? gi?ng nhau (ánh
x? N-1 nhi?u m?t). Ði?u này s? d?n d?n m?t s?
r?c r?i v? sau cho vi?c xác th?c thông tin.
11Hàm bam và tính toàn v?n c?a d? li?u
- V?i các so d? ký s?, ch? cho phép ký các b?c
thông di?p (thông tin) có kích thu?c nh? và sau
khi ký, b?n ký s? có kích thu?c g?p dôi b?n thông
di?p g?c - Ví d? v?i so d? ch? ký chu?n DSS ch? ký trên các
b?c thông di?p có kích thu?c 160 bit, b?n ký s?
s? có kích thu?c 320 bit. - Trong khi dó trên th?c t?, ta c?n ph?i ký các
thông di?p có kích thu?c l?n hon nhi?u, ch?ng h?n
vài ch?c MB. Hon n?a, d? li?u truy?n qua m?ng
không ch? là b?n thông di?p g?c, mà còn bao g?m
c? b?n ký s? (có dung lu?ng g?p dôi dung lu?ng
b?n thông di?p g?c), d? dáp ?ng vi?c xác th?c sau
khi thông tin d?n ngu?i nh?n.
12Hàm bam và tính toàn v?n c?a d? li?u
- M?t cách don gi?n d? gi?i bài toán (v?i thông
di?p có kích thu?c vài ch?c MB) này là chia thông
di?p thành nhi?u do?n 160 bit, sau dó ký lên các
do?n dó d?c l?p nhau. Nhung bi?n pháp này có m?t
s? v?n d? trong vi?c t?o ra các ch? ký s? - Th? nh?t v?i m?t thông di?p có kích thu?c a, thì
sau khi ký kích thu?c c?a ch? ký s? là 2a (trong
tru?ng h?p s? d?ng DSS). - Th? hai v?i các ch? ký an toàn thì t?c d? ch?m
vì chúng dùng nhi?u phép tính s? h?c ph?c t?p nhu
s? mu modulo. - Th? ba v?n d? nghiêm tr?ng hon dó là k?t qu? sau
khi ký, n?i dung c?a thông di?p có th? b? xáo
tr?n các do?n v?i nhau, ho?c m?t s? do?n trong
chúng có th? b? m?t mát, trong khi ngu?i nh?n c?n
ph?i xác minh l?i thông di?p. Ta c?n ph?i b?o v?
tính toàn v?n c?a thông di?p
13Hàm bam và tính toàn v?n c?a d? li?u
- Gi?i pháp cho các v?n d? vu?ng m?c d?n ch? ký s?
là dùng hàm bam d? tr? giúp cho vi?c ký s? - Các thu?t toán bam v?i d?u vào là các b?c thông
di?p có dung lu?ng, kích thu?c tùy ý (vài KB d?n
vài ch?c MB ) các b?c thông di?p có th? là
d?ng van b?n, hình ?nh, âm thanh, file ?ng d?ng
v.v - và v?i các thu?t toán bam MD2, MD4, MD5,
SHA cho các b?n bam d?u ra có kích thu?c c? d?nh
128 bit v?i dòng MD, 160 bit v?i SHA1. - Nhu v?y, b?c thông di?p kích thu?c tùy ý sau khi
bam s? du?c thu g?n thành nh?ng b?n bam du?c
g?i là các van b?n d?i di?n có kích thu?c c?
d?nh (128 bit ho?c 160 bit).
14Hàm bam và tính toàn v?n c?a d? li?u
- V?i m?i thông di?p d?u vào ch? có th? tính ra
du?c m?t van b?n d?i di?n giá tr? bam tuong ?ng
duy nh?t - Hai thông di?p khác nhau ch?c ch?n có hai van b?n
d?i di?n khác nhau. Khi dã có van b?n d?i di?n
duy nh?t cho b?c thông di?p, áp d?ng các so d?
ch? ký s? ký trên van b?n d?i di?n dó
15Hàm bam và tính toàn v?n c?a d? li?u
- Gi? s? A mu?n g?i cho B thông di?p x. A th?c hi?n
các bu?c sau - (1) A bam thông di?p x, thu du?c b?n d?i di?n z
h(x) có kích thu?c c? d?nh 128 bit ho?c 160
bit. - (2) A ký s? trên b?n d?i di?n z, b?ng khóa bí m?t
c?a mình, thu du?c b?n ký s? y sig(z). - (3) A g?i (x, y) cho B.
16(No Transcript)
17Hàm bam và tính toàn v?n c?a d? li?u
- Khi B nh?n du?c (x, y). B th?c hi?n các bu?c sau
- (4) B ki?m tra ch? ký s? d? xác minh xem thông
di?p mà mình nh?n du?c có ph?i du?c g?i t? A hay
không b?ng cách gi?i mã ch? ký s? y, b?ng khóa
công khai c?a A, du?c z. - (5) B dùng m?t thu?t toán bam tuong ?ng v?i
thu?t toán bam mà A dùng d? bam thông di?p x di
kèm, nh?n du?c h(x). - (6) B so sánh 2 giá tr? bam z và h(x), n?u gi?ng
nhau thì ch?c ch?n r?ng thông di?p x mà A mu?n
g?i cho B còn nguyên v?n, bên c?nh dó cung xác
th?c du?c ngu?i g?i thông tin là ai.
18Hàm bam và tính toàn v?n c?a d? li?u
19Hàm bam và tính toàn v?n c?a d? li?u
- Hàm bam tr? giúp cho các so d? ký s? nh?m gi?m
dung lu?ng c?a d? li?u c?n thi?t d? truy?n qua
m?ng - Ví d? lúc này ch? còn bao g?m dung lu?ng c?a b?c
thông di?p g?c và 256 bit (s? d?ng MD) hay 320
bit (s? d?ng SHA) c?a b?c ký s? du?c ký trên b?n
d?i di?n c?a thông di?p g?c, tuong duong v?i vi?c
gi?m th?i gian truy?n tin qua m?ng. - Hàm bam thu?ng k?t h?p v?i ch? ký s? d? t?o ra
m?t lo?i ch? ký di?n t? v?a an toàn hon (không
th? c?t/dán) v?a có th? dùng d? ki?m tra tính
toàn v?n c?a thông di?p. - Hàm bam du?c ?ng d?ng r?t m?nh trong v?n d? an
toàn thông tin trên du?ng truy?n. Các ?ng d?ng có
s? d?ng hàm bam không ch? d?m b?o v? m?t an toàn
thông tin, mà còn t?o du?c lòng tin c?a ngu?i
dùng vì h? có th? d? dàng phát hi?n du?c thông
tin c?a mình có còn toàn v?n hay không, h? bi?t
r?ng thông tin c?a mình ch?c ch?n du?c bí m?t v?i
phía các nhà cung c?p.
20T?n công ngày sinh nh?t
- Ngh?ch lý ngày sinh nh?t
- Trong l?p có ít nh?t bao nhiêu sinh viên, d? xác
su?t có ít nh?t 2 sinh viên trùng ngày sinh nh?t
là l?n h?n 0.5? - Theo lý thuy?t xác su?t th?ng kê g?i s? sinh viên
ít nh?t trong l?p là k, khi dó xác su?t q d?
không có 2 ngu?i nào trùng ngày sinh là t? s?
gi?a cách ch?n k ngày khác nhau trong 365 ngày
trên s? cách ch?n k ngày b?t k? trong 365 ngày.
V?y q Ck365/ 365k - Do dó, xác su?t p d? có ít nh?t 2 ngu?i trùng
ngày sinh là - p 1 q 1 Ck365/ 365k
21Các hàm bam và tính toàn v?n c?a d? li?u
- Ð? p gt 0.5 thì k gt 22 hay k 23, c? th? khi dó p
0.5073 - Khi chua tính toán chi ti?t chúng ta nghi là
trong l?p ph?i có ít nh?t kho?ng 365/2 t?c là 184
sinh viên. Nhung trên th?c t? con s? dó ít hon
r?t nhi?u ch? c?n 23 sinh viên, chính vì v?y ta
g?i dây là ngh?ch lý ngày sinh nh?t. - Ði?u dó mu?n nói lên r?ng, trong nhi?u tru?ng h?p
xác su?t d? hai m?u tin có cùng b?n Hash là không
nh? nhu chúng ta nghi.
22Ho?t d?ng t?n công ngày sinh nh?t
- K? thám mã t?o ra 2(m/2) bi?n th? c?a m?u tin
dúng mà t?t c? d?u có b?n ch?t ng? nghia nhu
nhau, v?i m ? dây là d? dài c?a b?n mã hash - K? thám mã cung có th? t?o ra 2(m/2) bi?n th?
khác nhau c?a m?u tin l?a d?i,t?c là có ng? nghia
ngu?c l?i. - Hai t?p tin du?c so sánh v?i nhau d? tìm c?p có
cùng b?n hash (xác su?t gt0.5 d?a vào ngh?ch lý
ngày sinh nh?t) - Ngu?i dùng ký vào m?u tin dúng, sau dó b? thay
th? b?ng m?u tin gi? mà cung có ch? ký dúng.
23Trao d?i và tho? thu?n khoá Diffie -Hellman
- Gi? s? A và B mu?n liên l?c s? d?ng h? m?t khoá
bí m?t. Ð? tho? thu?n m?t khoá K chung cho c? hai
bên qua m?t kênh không an toàn mà không ai khác
có th? bi?t du?c, A và B có th? dùng th? t?c tho?
thu?n khoá Diffie -Hellman sau - (1) Ch?n tru?c m?t s? nguyên t? p thích h?p và
m?t ph?n t? sinh ? c?a Zp (2? ? ? p 2) . Các
giá tr? p và ? du?c công khai.
24Diffie -Hellman
- (2) Th?c hi?n các bu?c sau m?i khi c?n có khóa
chung - (a) A ch?n m?t s? nguyên bí m?t x 1 ? x ? p 2
và g?i cho B thông báo ?x mod p - (b) B ch?n m?t s? nguyên bí m?t y 1 ? y ? p 2
và g?i cho A thông báo ?y mod p - (c) B thu du?c ?x và tính khoá chung k k (?x)y
mod p - (d) A thu du?c ?y và tính khoá chung k k (?y)x
mod p
25Trao d?i và tho? thu?n khoá
- Ví d?
- Gi? s? A và B ch?n p 11 và ? 2. z?i, i 0,
, 9 1, 2, 4, 8, 5,10, 9, 7, 3, 6. Các ph?n
t? sinh c?a nhóm này bao g?m các ph?n t? sau ?
2, ?3 8, ?7 7, ?9 6. - Gi? s? A ch?n giá tr? ng?u nhiên x 4 và g?i cho
B giá tr? 24 mod 11 5. - Gi? s? B ch?n giá tr? ng?u nhiên y 7 và g?i cho
A giá tr? 27 mod 11 7. - B nh?n du?c 5 và tính khoá chung k 57 mod 11
3 - A nh?n du?c 7 và tính khoá chung k 74 mod 11 3
26Ch? kí s?
- M?t ?ng d?ng di?n hình trong máy tính th? hi?n
m?t nhu c?u thông thu?ng l?nh chuy?n ti?n t? m?t
ngu?i này t?i m?t ngu?i khác. - V? van b?n dây là m?t d?ng séc dã du?c máy tính
hóa. - Giao d?ch ? d?ng gi?y t? du?c th?c hi?n nhu sau
- Séc là m?t d?i tu?ng xác d?nh có tu cách giao
d?ch thuong m?i - Ch? kí trên séc xác nh?n tính xác th?c b?i vì
ch?c ch?n r?ng ch? có ngu?i kí h?p pháp m?i có
th? t?o du?c ch? kí này - Trong tru?ng h?p b?t h?p pháp thì s? có m?t bên
th? 3 có th? du?c g?i vào d? phán xét tính xác
th?c. - Séc b? h?y d? nó không du?c s? d?ng l?i
- Séc gi?y không th? thay d?i du?c, hay h?u h?t các
ki?u thay d?i d?u có th? d? dàng phát hi?n du?c
27- Xét mô hình giao d?ch trên máy tính
- Tu?n g?i cho ngân hàng c?a mình m?t thông báo ?y
quy?n ngân hàng chuy?n 100 cho Bình. - Ngân hàng c?a Tu?n ph?i làm nh?ng vi?c sau
- Ki?m tra và ch?ng t? du?c r?ng thông báo này th?c
s? t?i t? Tu?n (d? phòng sau dó Tu?n không nh?n
là mình dã g?i nó). - Ph?i bi?t ch?c r?ng toàn b? thông báo này là c?a
Tu?n và nó dã không b? s?a d?i - Tu?n cung mu?n bi?t ch?c r?ng ngân hàng c?a mình
không th? gi? m?o nh?ng thông báo tuong t?. - C? hai bên d?u mu?n d?m b?o r?ng thông báo dó là
thông báo m?i, không ph?i là m?t thông báo tru?c
dó du?c s? d?ng l?i và nó không b? s?a d?i trong
khi truy?n
28- Ch? kí s? là m?t giao th?c t?o ra m?t hi?u qu?
tuong t? nhu ch? kí th?c - Nó là m?t d?u hi?u mà ch? có ngu?i g?i m?i có th?
t?o ra nhung nh?ng ngu?i khác có th? nh?n th?y
du?c r?ng nó là c?a ngu?i g?i. - Gi?ng nhu ch? kí th?c, ch? kí s? dùng d? xác nh?n
n?i dung thông báo
29- Ch? kí s? ph?i th?a mãn di?u ki?n
- Không th? gi? m?o N?u P kí thông báo M b?ng ch?
kí S(P, M) thì không m?t ai có th? t?o du?c c?p
M, S(M,P) - Xác th?c N?u R nh?n du?c c?p M, S(M,P) du?c
coi là c?a P thì R có th? ki?m tra du?c r?ng ch?
kí có th?c s? là c?a P hay không. Ch? P m?i có
th? t?o du?c ch? kí này và ch? kí du?c g?n ch?t
v?i M. - Không th? thay d?i sau khi du?c phát M không th?
b? thay d?i b?i S, R ho?c b?i m?t k? thu tr?m nào - Không th? s? d?ng l?i M?t thông báo tru?c dó dã
du?c dua ra s? ngay l?p t?c b? R phát hi?n
30So d? ch? ký RSA
31(No Transcript)
32- So d? kí s? RSA
- n p.q v?i p, q là các s? nguyên t? l?n có kích
thu?c tuong duong - V?i K (n, e, d) d ? Zp, ed ? 1 mod (n)
- Ta có D d là khóa bí m?t, E (n, e) là khóa
công khai, m là b?n tin c?n kí - T?o ch? kí S sigD(m) md mod n
- Ki?m tra ch? kí verE(m, S) TRUE ? m ? Se mod n
33- Tru?ng h?p b?n tin m không c?n bí m?t
- A ký b?n tin m và g?i cho B.
- B ki?m tra ch? ký c?a A
34- Tru?ng h?p b?n tin m c?n gi? bí m?t
- A ký b?n tin rõ m d? du?c ch? ký SA.
- Sau dó A dùng khoá mã công khai EB c?a B d? l?p
b?n mã M EB(m, SA) r?i g?i d?n B