
1
CHNG 4
M BMCÁC K THUT C THC THÔNG TIN
I-XÁC THC THÔNG TIN
I.1-Yêu cu xác thc thông tin
c nguy c o mt i vi thông tin trao i trên ng bao gm:
• Tit l thông tin (Disclosure): Hacker c c thông tin không cn
a i .
• Phân ch lu lng ng (Traffic analysis): phân ch c i d li u trên
ng !"m d#u vt $a thông tin.
• %o thông tin (Masquerade):&n thông tin o 'o lung thông tin
ang trao i.
• Thay i ni dung thông tin (Content modification): Thêm ho(c s)a, *a thông
tin ang trao i.
• Thay i th+t,(Sequence modification):-m thay i th+t,c i dli u
ang trao i b.ng ch *a /, &n thêm, lu '0t 1i...
• Thay i th2i gian (Timing modification):1m 3"4n vi c truy5n thông tin
trên ng
• T6chi ngun gc (Source repudiation): T6chi ngun gc $a thông tin.
• T6chi nhn (Destination repudiation): T6 chi vi c ch#p nhn thông tin 7
0a nhn.
Trong 8 nguy c 7trên, "hai nguy c u tiên c ng n nh o mt $a thông
tin, c i quyt b.ng c thut 4n mt . c nguy c t63 n 6 c ng n s,4n
'8n v5ni dung thông tin, c i quyt b.ng c $9c *c th,c thông tin. :cui ;ng,
hai nguy c <n 1i c ng n s,4n '8n v5ngun gc thông tin, c kh=c 09c b7i
b.ng ch >;ng ch?s'c giao th+c chuyên >9ng c.
Nh vy, c thc thông tin (message authentication) c ch m o thông tin
truyn i gia c thc th(thng thông qua hthng ng) không o, thay i ni
dung, tht thi gian truyn !"a.
Cn phân bi t hai m+c *c th,c thông tin:
• @c th,c thông tin m+c th#p: >;ng c c chnh a, m bAm, ch?
s!*c th,c ni dung 'ngun gc $a t6ng n tin (message) riêng 1B.
• @c th,c thông tin m+c cao: d,a trên c s7*c th,c m+c th#p !xây d,ng c
giao th+c *c th,c ph+c p ('>9nh Kerberos 'mt sgiao th+c *c th,c
c).
Phn Cy D5cp n c c ch*c th,c m+c th#p, vi hai Ethut c n 1m
bAm 'ch?s.
I.2- Các k thut xác thc thông tin

2
I.2.1-Dùng các thut tóan mt mã:
Nguyên t=c c$a mt mã là chD có nhng i tng hp l mi khôi ph9c c thông
tin gc t6 thông tin mt.
Nu >;ng mt i x+ng, khi bên A mun g7i thông tin M cho bên B, t"A 0i
th,c hi n a M b.ng a mt K >;ng chung gia A 'B !o ra thông tin mt C.
Bên B khi nhn c thông tin C FG>;ng a K !i . Nu kt HIi 1
Jng, "th!khKng Lnh r.ng thông tin nhn c 1do A g7i 'không Lthay i trong
HI3"nh truy5n d,a trên 1?lun: DA 'B a K nên không nh phn th+3 Co
th!o c thông tin mt C, do không th!thay i thông tin gc Mnh M’ !
o ra thông tin mt C’ hp l .
Tuy nhiên, v#n 5 1 1m th Co ! *c Lnh kt HI i 1 “Jng”? Thông
th2ng, i5u Cy D1m c khi bên B bit trc c#u trc c#u 3Jc thông tin A FGg7i
cho "nh. Nu mt s,thay i ;y ?Co i vi thông tin C, "kt HIi FG
không <n Jng nh c#u 3Jc ban u.
Mt '>9i!n "nh 1thông tin gc 1mt 4n vAn n c vit theo J0p 't6
v,ng $a mt ngôn ngt,nhiên Co (ting Anh hay Vi t). Trong th,c t, th!kt hp
gia Ethut a 'c Ethut ki!m tra sai (Frame Check Sequence) m+c th#p !th,c
hi n ch+c nAng *c th,c.
Nu >;ng mt b#t i x+ng, "bên A trc khi g7i thông tin cn 0i a M
b.ng a riêng (PR) $a nh "nh. M0a nhn, B cNng FGth,c hi n i thông tin
b.ng a công khai $a A. C ch*c th,c Cy Nng d,a trên nguyên t=c 1bên B bit trc
c#u 3Jc thông tin M, ! có th! xác Lnh kt qu mã hóa là úng hay không úng. Ong th2i
thit r.ng a PR $a bên A 4n 4n không Ltit l.
Nh vy, c ch xác th,c thông tin dùng mt mã d,a trên các gi thit c s7 sau ây:
• Khóa bí mt (ho(c khóa riêng) hoàn toàn không bL tit l cho mt bên th+ 3.
• Phía nhn thông tin phi bit trc c#u trúc c$a thông tin gc.

3
I.2.2-Dùng mã xác thc:
Mã xác th,c MAC (Message Authentication Code) c sinh ra t6 t hp gm mt
khi thông tin gc có dài b#t kP và mt khóa bí mt theo mt thut toán bin i C Lnh
trc. Kích thc c$a MAC là c nh, không ph9 thuc vào kích thc c$a khi d li u gc
và th2ng nh/ hn d li u gc.
Phía g7i thông tin sG g7i kèm giá trL MAC i cùng vi thông tin gc. Phía nhn sau
khi nhn c thông tin gc cùng vi giá trL MAC g7i kèm sG th,c hi n thao tác to ra giá trL
MAC mi t6 thông tin gc cùng vi khóa bí mt ã thng nh#t gia hai bên. Nu giá trL MAC
v6a to ra ging vi giá trL MAC nhn c t6 phía g7i, phía nhn có th! ch=c ch=n r.ng
thông tin gc không bL thay i trong quá trình truy5n (hình 2.25).
Vi c dùng MAC ! xác th,c thông tin d,a vào các gi thit c s7:
• Qng vi mt khi thông tin gc M và mt khóa bí mt K, hàm C chD to ra duy
nh#t mt mã xác th,c MAC.
• ChD có phía g7i và phía nhn hp l mi c bit khóa K.
Ni gi thông tin Ni nhn thông tin
a- Dùng mt mã i xng
b- Dùng mt mã b#t i xng
Hình 2.24: Xác thc thông tin dùng mt mã
C
C
M: thông tin gc E: thut tóan mt mã D: Thut tóan gii mã
C: Thông tin mt K: Khóa bí mt dùng chung gia bên g7i và bên nhn
PRa: Khóa bí mt c$a bên g7i. PUa: Khóa công khai c$a bên g7i

4
• Mã xác th,c MAC c truy5n t6 bên g7i n bên nhn mt cách chính xác.
Có hai kE thut to ra mã xác th,c MAC: kE thut th+ nh#t dùng c ch mt mã khi
(Cipher Block Chaining)* và c gi là CMAC hay CBC-MAC. KE thut th+ hai d,a trên
các hàm bAm bo mt và c gi là HMAC.
Mã xác th,c MAC c +ng d9ng trong các tr2ng hp thông tin chD yêu cu m bo
tính xác th,c mà không cn m bo tính bí mt.
I.2.3-Dùng các hàm b$m bo mt:
Hàm bAm bo mt (secure hash function) là mt trong nhng kE thut mã hóa c
dùng ph bin trong các +ng d9ng xác th,c thông tin. Ging nh mã xác th,c MAC, hàm
bAm cNng x) lý khi thông tin gc có dài b#t kP theo mt thut toán bin i H xác Lnh
trc. Kt qu c$a thut toán bin i H là mt khi thông tin ng=n có dài c Lnh gi là
mã bAm (hash code ho(c message digest).
Tuy nhiên, khác vi MAC, hàm bAm chD d,a vào thông tin gc ! to ra mã bAm mà
không dùng thêm b#t kP khóa bí mt nào. Do vy, ! có th! s) d9ng nh mt c ch xác th,c
thông tin, hàm bAm phi c dùng kèm vi mt thut tóan mt mã nào ó (i x+ng ho(c b#t
i x+ng) nh.m ch o v Jp bAm không Lthay i.
Hình 2.26 trình bày mt +ng d9ng i!n hình c$a hàm bAm trong xác th,c thông tin.
Theo c ch này, mã bAm sau khi c to ra sG c mã hóa b.ng mt thut tóan mt mã i
x+ng vi khóa bí mt K chD có bên g7i và bên nhn bit. Oan mã bAm ã c mt mã hóa
c g7i i kèm vi thông tin gc và quá trình ki!m tra 7 phía nhn cNng c tin hành theo
trình t, ngc li, t+c là gii mã an mã bAm b.ng khóa bí mt, sau ó to ra mã bAm mi t6
thông tin gc và so sánh hai an mã bAm.
Có nhi5u cách áp d9ng kt hp các thut tóan mt mã vào hàm bAm ! xác th,c thông
tin:
* Xem li các ch th,c hi n mã khi 7 phn Mt mã i x+ng
Ni gi thông tin Ni nhn thông tin
Mã xác thc (MAC)
So sánh
M: thông tin gc C: Hàm to mã xác th,c
K: Khóa bí mt dùng chung gia bên g7i và bên nhn
| |: Ni mã xác th,c vào thông tin gc
Hình 2.25: Xác thc thông tin dùng MAC

5
• Dùng mã i x+ng ! mã hóa mã bAm ri g7i kèm vi thông tin gc.
• Dùng mã b#t i x+ng ! mã hóa mã bAm ri g7i kèm vi thông tin gc.
• Dùng mã i x+ng ! mã hóa t hp thông tin gc cùng vi mã bAm.
• Dùng mã b#t i x+ng ! mã hóa t hp thông tin gc cùng vi mã bAm.
Trong các tr2ng hp dùng mã b#t i x+ng, thì bên g7i sG mã hóa thông tin gc ho(c
mã bAm dùng khóa công khai c$a bên nhn.
II- CÁC HÀM BM BO MT
II.1- Tng quan v hàm bm
II.1.1- C ch c%a hàm b$m:
Nguyên t=c c$a hàm bAm là bin i khi thông tin gc có dài b#t kP thành mt
on thông tin có dài c Lnh gi là mã bAm (hash code hay message digest). Mã bAm
c dùng ! ki!m tra tính chính xác c$a thông tin nhn c.
Mt hàm bAm H áp d9ng cho khi thông tin M to ra kt qu m, trong tài li u này,
c ký hi u là H(M) = m.
Thông th2ng, mã bAm c g7i kèm vi thông tin gc, ;ng vi mt c cho v
Co Jp bAm không Lthay i ho(c nh 1i. M phía nhn, hàm bAm li c áp d9ng
i vi thông tin gc ! tìm ra mã bAm mi, giá trL này c so sánh vi mã bAm i kèm vi
thông tin gc. Nu hai mã bAm ging nhau, nghRa là thông tin g7i i không bL thay i.
ChD có th! dùng hàm bAm ! to ra mã bAm t6 thông tin gc ch+ không th! ph9c hi
c thông tin gc t6 mã bAm. Do (c tính này, các hàm bAm bo mt cNng còn c gi là
hàm bAm mt chi5u (one way hash funtion).
Hình 2.27 mô t mt +ng d9ng xác th,c thông tin n gin dùng hàm bAm.
Ni gi thông tin Ni nhn thông tin
Mã bm ã ưc mã hóa
So sánh
M: thông tin gc H: hàm bAm E: thut tóan mã hóa
D: thut tóan gii mã K: khóa bí mt dùng chung gia phía g7i và phía nhn.
| |: ni mã bAm ã c mã hóa vào thông tin gc
Hình 2.26: Xác thc thông tin dùng hàm b$m