Professional Documents
Culture Documents
Gio trnh
MT M HC
&
GD 15 HM 11
LI GII THIU
Vi s bng n ca Cng ngh thng tin vo cui th k XX u
th k XXI, nhn loi ang bc vo mt thi i mi: Thi i ca
nn kinh t thng tin ton cu ha. Mi hot ng x hi, chnh tr,
kinh t trong thi i mi hin nay xt cho cng, thc cht u l
nhng hot ng thu thp, x l, lu tr v trao i thng tin. Trong
bi cnh An ton v Bo mt thng tin lun l mi quan tm
hng u trong mi giao dch x hi, c bit l giao dch in t
trn mi trng Internet, mt mi trng m, mi trng khng
c tin cy.
TS. Thi Thanh Tng da trn kinh nghim bn thn trong qu
trnh nhiu nm nghin cu, ging dy v hot ng thc t trong
lnh vc an ninh mng my tnh v bo mt thng tin, tp hp
mt s ti liu c s xut bn trn th gii trong nhng nm gn
y, ng thi cp nht nhng thnh tu mi nht trong lnh vc
ni trn xy dng nn cun sch ny.
Cun sch c trnh by hp l vi ni dung kh hon chnh,
khng nhng gip cho ngi bt u lm quen d tip thu nhng
kin thc c bn nht ca mt lnh vc chuyn mn kh m cn gi
m nhng hng ng dng thc t phong ph cho nhng ngi
mun nghin cu su hn.
Nhng ph lc c su tm chn lc a ra trong phn cui
cun sch c ngha b sung cho cc phn trnh by chnh v cng
l mt s h tr rt tt v ngun t liu cho nhng ngi mun i
su nghin cu.
Gio trnh Mt m hc v H thng thng tin an ton ca tc gi
Thi Thanh Tng c Ban Cng ngh Vin Nghin cu v pht
LI M U
Con ngi lun sng trong mi trng trao i thng tin hng
ngy, hng gi. Ngi th sn h gi bn trong rng thm, ngi
c cng nim yt lnh phn cng trn bng tin tc ca cng
trng, ngi khch gi n t hng n ca hng, con ci i xa
gi in thoi, gi th v bo tnh hnh cho b m, tt c nhng
chuyn thng ngy u chnh l trao i thng tin.
Trong phn ln trng hp trao i thng tin gia hai i tc,
ngi ta khng h mun thng tin b l cho ngi th ba bit v
iu c th gy ra nhng tn tht c v vt cht cng nh v tinh
thn. Mt bo co v mt pht minh khoa hc cng ngh mi, mt
bn phn tch tnh hnh gi c hng ha mt th trng, mt b h
s d thu, nu b l ra trc khi n tay ngi nhn th thit hi
kinh t tht kh lng! Mt v nguyn soi gi lnh iu binh n
cho tng lnh di quyn: chuyn g s xy n cho ton qun nu
thng tin b l cho k ch bit?
bo v b mt cho thng tin ca mnh c gi i trong mt
mi trng m tc l mi trng c th c nhiu tc nhn tip
cn ngoi hai i tc trao i thng tin, ngi ta phi dng mt m
tc l dng nhng phng php bin i lm cho nguyn bn gc
ca thng tin (plaintext) dng thng thng ai cng c th hiu
c bin thnh mt dng b mt (ciphertext) m ch c nhng
ngi nm c quy lut mi c th bin i ngc li thnh dng
nguyn gc ban u c.
11
1
TNG QUAN V BO MT THNG TIN
V L THUYT M HA
1.1. NHU CU BO MT THNG TIN GIAO DCH TRONG MI TRNG M
Trong ton b cun sch ny chng ta s quy c xem xt cc
giao dch gia hai i tc: An (A) l ngi gi (pht) thng tin v
Bnh (B) l ngi nhn (thu) thng tin. Ngoi hai i tc ni trn
chng ta cng gi thit rng tn ti mt k th ba l Cng (C), C
lun tm cch xm nhp nhng thng tin trao i gia A v B
nghe ln (trm thng tin) hoc thay i lm sai lch cc thng
tin c trao i gia A v B nhm mt mc ch no .
Gi s An c mt cu chuyn ring t b mt cn ni vi Bnh.
R rng l tng nht l hai ngi c th ko nhau vo mt cn
phng ca ng kn (tng cch m cng tt) v th tho vi nhau:
mi iu trao i ch c hai ngi bit, khng lt vo tai bt k mt
ngi th ba no. Mi trng giao dch l mt mi trng ng
(theo ngha l ngoi hai i tc giao dch, khng c s xm nhp ca
bt k mt ngi th ba no), mi trng ng l mt mi trng
tin cy.
Tuy nhin trong thc t, ngi ta thng phi tin hnh giao
dch trong nhng mi trng khng ng, tc l mi trng m
(open surrounding). Chng hn, v gp qu, khng tm ra ch kn
12
Mi trng m
An
Bnh
13
14
15
16
17
18
19
20
1.4. MT M HC
1.4.1. Mt m hc (cryptography) l g?
Ngi ta gi mt m hc l mt khoa hc nghin cu ngh
thut nhm che giu thng tin, bng cch m ha (encryption) tc
l bin i thng tin gc dng tng minh (plaintext) thnh
thng tin m ha dng n tng (cipher text) bng cch s dng
mt kha m (thut ton m ha) no . Ch c nhng ngi gi
cha kha (key) b mt mi c th gii m (decryption) thng tin
dng n tng tr li thnh dng thng tin c dng tng minh.
ab
cd
Encryption
plaintext
Decryption
plaintext
cipher text
Key
ab
cd
Key
21
ZYXWVUTSRQPONMLKJIHGFEDCBA
Khi chng hn t gc (plaintext): JERUSALEM s c m
ha thnh t m (ciphertext): QVIFHZOVN. Nu ngi nhn tin c
cha kha th vic bin i QVIFHZOVN tr li thnh JERUSALEM l
iu hon ton n gin, nhng nu khng c cha kha th qu l
kh khn, ngi nhn c thng ip khng th no hiu ni
QVIFHZOVN c ngha l g c! Cho d bit rng quy lut m ha ch
l mt s thay th ca 25 ch ci nhng nu tn cng bo lc th
phi th ln lt ht mi kh nng to cha kha, tc l phi th 25!
kh nng (tt nhin v sau ngi ta c rt nhiu bin php gim
22
23
24
Plaintext
HAIP
HONG
1234
1234
2413
3142
APHI
NHGO
Ciphertext
25
plaintext
plaintext
ciphertext
plaintext
plaintext
Hm bm
ciphertext
26
27
28
2
M HA KHA I XNG
2.1. KHI NIM
2.1.1. M ha kha i xng l g?
M ha kha i xng (hay cn gi l m ha kha ng b) l mt
thut ton m trong c hai qu trnh m ha v gii m u dng
mt kha. m bo tnh an ton, kha ny phi c gi b mt.
V th cc thut ton m ha kha ng b ny cn c tn gi khc
l m ha vi kha b mt (secret key cryptography). Mt iu cn
lu l khi mt ngi m ha mt thng ip gc (plaintext) thnh
thng ip m ha bng mt kha K (thut ton m ha)
(ciphertext) ri gi ciphertext cho i tc th i tc mun gii m
cng cn phi c kha K, ngha l trc hai i tc phi trao
i cho nhau chia s cng bit c kha K.
29
K A B va m ha va gii m.
2.1.2. M ha kha i xng c th phn thnh hai nhm ph
- Thut ton m ha theo khi (Block ciphers): trong tng
khi d liu trong vn bn gc ban u c thay th bng mt khi
d liu khc c cng di. di mi khi gi l kch thc khi
(block size), thng c tnh bng n v bit. V d thut ton
3-Way c kch thc khi bng 96 bit. Mt s thut ton khi thng
dng l: DES, 3DES, RC5, RC6, 3-Way, CAST, Camelia, Blowfish,
MARS, Serpent, Twofish, GOST...
- Thut ton m ha dng (Stream ciphers): trong d liu
u vo c m ha tng bit mt. Cc thut ton dng c tc
nhanh hn cc thut ton khi, c dng khi khi lng d liu cn
m ha cha c bit trc, v d trong kt ni khng dy. C th coi
thut ton dng l thut ton khi vi kch thc mi khi l 1 bit.
Mt s thut ton dng thng dng: RC4, A5/1, A5/2, Chameleon.
2.2. TIU CHUN M HA D LIU (DES)
2.2.1. Gii thiu v DES
Tiu chun m ha d liu DES (Data Encryption Standard) l
mt phng php mt m ha c FIPS (Federal Information
30
31
Hm Feistel (F)
Hm F, nh c miu t nh hnh 2.3, hot ng trn khi
32 bit v bao gm bn giai on:
1. M rng: 32 bit u vo c m rng thnh 48 bit s
dng thut ton hon v m rng (expansion permutation)
vi vic nhn i mt s bit. Giai on ny c k hiu l
E trong s .
32
33
34
35
trin DEA v NSA p ng. Tuy nhin c ngi cho rng NSA
ngh gim di kha do IBM a ra lc ban u l 128 bit xung ch
cn 56 bit sau ny l v lo ngi mc bo mt qu cao, vt khi
trnh khng ch ca NSA thi v nh th c kh nng nh
hng n vn an ton bo mt ca quc gia.
NSA cng ngh ch sn xut cc phn cng tch hp phn
mm bo mt DEA ph bin trn th trng nhng khng c
ph bin cc kt qu nghin cu v phn mm. Tuy nhin, d c s
phn ng (khng cng khai) ca NSA, kt qu l DEA vn c cng
nhn l mt phn mm m ha t tiu chun m ha d liu quc
gia ca M dnh cho vic bo mt cc thng tin d liu kinh t v x
hi, khng thuc phm vi c quy nh l TUYT MT ca Nh
nc. T DEA nhanh chng pht trin v ph bin rng khp,
khng nhng ch M m cn lan rng khp ton th gii. C th
ni rng t xa n nay cha c mt thut ton m ha no c
tha nhn v s dng ph bin rng ri trn th gii trong mt thi
gian di nh vy.
T nm 1977 NIST ph bin cng khai tiu chun DES v quy
nh c sau 5 nm s xem xt li mt ln. Vo cc nm 1983, 1987
v 1993 DES u c cng nhn gia thi hn s dng thm 5 nm
tip sau.
Cho n nm 1997, do s pht trin tc ca my tnh in t
v nhng kt qu nghin cu mi v thm m, DES bt u bc l
nhng bt cp v NIST t vn tm cch thay th DES bng cc
thut ton m ha mi c bo mt cao hn qua cc k thi tuyn
chn cc thut ton m ha tin tin AEA (Advanced Encryption
Algorithm).
2.2.3. An ton v s gii m
Thut ton DES c s dng l mt chun m ha trong
thng mi v mc d c nhiu nghin cu v ph m DES hn
bt k phng php m ha khi no khc, nhng phng php ph
36
Hnh 2.5. M t s ph m
37
38
39
40
T cui thp nin 1980, u thp nin 1990, xut pht t nhng
lo ngi v an ton v tc thp khi p dng bng phn mm,
gii nghin cu xut kh nhiu thut ton m ha khi thay
th DES. Nhng v d tiu biu bao gm: RC5, Blowwfish, IDEA
(International Data Encryption Algorithm: Thut ton m ha d
liu quc t), NewDES, SAFER v FEAL. Hu ht nhng thut ton
ny c th s dng t kha 64 bit ca DES mc d chng thng
c thit k hot ng vi t kha 64 bit hay 128 bit. Bn thn
DES cng ci tin c th c s dng an ton hn.
41
42
vic vi tng khi d liu 44 bytes (ting Anh: state, khi trong
Rijndael c th c thm ct). Qu trnh m ha gm 4 bc:
1. AddRoundKey: mi byte ca khi c kt hp vi kha con,
cc kha con ny c to ra t qu trnh to kha con
Rijndael.
2. SubBytes: y l php th (phi tuyn) trong mi byte s
c th bng mt byte khc theo bng tra (Rijndael S-box).
3. ShiftRows: i ch, cc hng trong khi c dch vng.
4. MixColumns: qu trnh trn lm vic theo cc ct trong khi
theo mt php bin i tuyn tnh. Ti chu trnh cui th
bc MixColumns c thay th bng bc AddRoundKey.
Bc AddRoundKey. Ti bc ny, kha con c kt hp vi
cc khi. Kha con trong mi chu trnh c to ra t kha chnh
vi qu trnh to kha con Rijndael; mi kha con c di ging
nh cc khi. Qu trnh kt hp c thc hin bng cch XOR tng
bit ca kha con vi khi d liu.
Bc SubBytes. Cc byte c th thng qua bng tra S-box.
y chnh l qu trnh phi tuyn ca thut ton. Hp S-box ny c
to ra t mt php nghch o trong trng hu hn GF (28) c tnh
cht phi tuyn. chng li cc tn cng da trn cc c tnh i
s, hp S-box ny c to nn bng cch kt hp php nghch o
vi mt php bin i affine kh nghch. Hp S-box ny cng c
chn trnh cc im bt ng (fixed point).
Bc ShiftRows. Cc hng c dch vng mt s v tr nht
nh. i vi AES, hng u c gi nguyn. Mi byte ca hng th
2 c dch tri mt v tr. Tng t, cc hng th 3 v 4 c dch
2 v 3 v tr. Do vy, mi ct khi u ra ca bc ny s bao gm
cc byte 4 ct khi u vo. i vi Rijndael vi di khi
khc nhau th s v tr dch chuyn cng khc nhau.
43
44
2.3.3. Ti u ha
i vi cc h thng 32 bit hoc ln hn, ta c th tng tc
thc hin thut ton bng cch st nhp cc bc SubBytes,
ShiftRows, MixColumns v chuyn chng thnh dng bng. C c
thy 4 bng vi 256 mc, mi mc l 1 t 32 bit, 4 bng ny chim
4096 byte trong b nh. Khi , mi chu trnh s c bao gm 16
ln tra bng v 12 ln thc hin php XOR 32 bit cng vi 4 php
XOR trong bc AddRoundKey.
Trong trng hp kch thc cc bng vn ln so vi thit b
thc hin th ch dng mt bng v tra bng kt hp vi hon v
vng quanh.
2.3.4. an ton ca AES
45
46
u im ni bt ca m ha i xng l tc lp m, gii m
kh nhanh chng. Hin nay c nhiu phn mm thng mi h tr
thut ton m ha i xng hu hiu v rt ph dng.
u im th hai l tuy c nhiu nghin cu thm m thc
hin nhng vi cc thut ton c ci tin gn y nh 3-DES v
47
48
49
50
RC4
51
3
QUN L V PHN PHI KHA
Nh thy chng 2, nhc im ln nht ca m ha i
xng l vn chuyn giao, trao i kha m gia cc i tc trong
mi trng khng tin cy. R rng l mt ngi dng c th s dng
m ha i xng bo v rt tt thng tin ca chnh mnh chng
s xm nhp ca k khc nhng nu mun s dng c m ha i
xng trong bo mt thng tin giao dch gia nhiu i tc th nht
thit phi xc lp nhng phng thc chuyn giao kha m an ton.
3.1. TRUNG TM PHN PHI KHA (KDC)
3.1.1. Khi nim KDC
Trong mt m hc, Trung tm phn phi kha (KDC: Key
Distribution Center) l mt phn ca mt h thng mt m c mc
ch gim thiu nhng him ha khi trao i kha m gia cc i
tc. KDC thng c t chc thnh h thng, trong mt s
ngi dng c th c php s dng mt vi dch v ch trong mt
khong thi gian no .
Chng hn, mt ngi qun tr mng my tnh thit lp mt quy
nh ch cho php mt s ngi dng c s dng chc nng phc
hi d liu t mt s vn bn (c th v s rng nu s dng ty
52
53
54
B mt
a
a
a
a, s
Bnh
Cng khai
Tnh ton
g mod p = A
Cng khai
B mod p = s
B mt
b
A
B
p, g, A
p, g, A, B
Tnh ton
p, g
p, g
p, g, A
Gi
p, g
p, g, A, B
p, g, A, B
b, s
g mod p = B
A mod p = s
A = 15.625 mod 23
A=8
3. Bnh chn mt s nguyn b mt b = 15, ri gi cho An s
B = gb mod p
B = 515 mod 23
B = 30.517.578.125 mod 23
B = 19
4. An tnh ton: s = B a mod p
s = 196 mod 23
s = 47.045.881 mod 23
s=2
5. Bnh tnh ton s = A b mod p
s = 815 mod 23
s = 35.184.372.088.832 mod 23
s=2
55
56
Bnh
Khng
bit
b=?
Bit
p = 23
C s g = 5
C s g = 5
a=6
b = 15
6
A = 5 mod 23 = 8
b
B = 5 mod 23 = 19
6
s = 19 mod 23 = 2
b
s = 8 mod 23 = 2
6
Cng
Khng
bit
a=?
Bit
p = 23
a=?
C s g = 5
b=?
s=?
15
A = 5 mod 23 = 8
B = 5 mod 23 = 19
15
s = 19 mod 23
B = 5 mod 23 = 19
A = 5 mod 23 = 8
s = 8 mod 23 = 2
a
s = 19 mod 23 = 2
15
s = 19 mod 23
b
= 8 mod 23
s = 8 mod 23
a
= 19 mod 23
s=2
s=2
Khng
bit
a
b
s = 8 mod 23
a
s = 19 mod 23
b
= 8 mod 23
57
3.2.3. Tnh bo mt
An rt kh c th tnh ton tm ra kha ring ca Bnh cng
nh Bnh kh tm ra kha ring ca An. Nu iu d dng th k
ng gia Cng c th tn cng bng cch gi cc kha ca mnh
gi mo thay th v c th nm bt c mi thng tin trao i gia
An v Bnh ng thi c th gi nhng thng ip gi mo.
Sau y l lp lun ca Diffie-Hellman chng t iu (Ch
s dng hai s b tin cho thc hnh).
Giao thc c xem l b mt i vi nhng k c ln nu nh
G v g c chn ng n. K c ln phi gii bi ton
Diffie-Hellman phn tch c gab, iu ny hin nay c xem l
rt kh. Mt thut ton gii c bi ton logarit ri rc s cho
php ta tnh c a hoc b v t gii c bi ton Diffie-Hellman
do lm cho thut ton m ha ny cng nh nhiu h thng m
ha kha cng khai khc tr thnh khng an ton na. Cp ca
nhm G phi l mt s nguyn t hoc phi c mt c s nguyn t
ln khng dng c thut ton Pohlig-Hellman khi tm a hoc b.
V l do i khi ngi ta dng mt s nguyn t Sophie Germain
q tnh p=2q+1, c gi l s nguyn t an ton v rng cp ca
G khi ch chia ht cho 2 v q. Lc y nhiu khi ta thng chn
chnh l g thay cho G tng qut ha nhm con cp q ca G, sao
cho k hiu Legendre ca ga nhng khng bao gi l ra bit cp
thp hn ca a.
Nu An v Bnh dng nhng s sinh ngu nhin c cc s h qu
khng hon ton ngu nhin m c th d on mt mc no
th cng vic ca k nghe ln Cng s d dng hn nhiu. Cc s
nguyn b mt a v b u loi b khi kt thc phin giao dch. V vy
trao i kha Diffie-Hellman c th hng ti kh nng bo mt
ton vn v khng c kha b mt no c tn ti s dng lu cho
nn kh nng b l kha l rt thp.
58
59
60
61
3.3.2. C s l thuyt
C s l thuyt ca Kerberos l giao thc i xng NeedhamSchroeder. Giao thc ny s dng mt bn th ba c tn nhim,
chnh l mt trung tm phn phi kha KDC (Key Distribution Center)
gm hai thnh phn tch bit nhau v mt logic: Mt my ch xc
thc AS (Authentication Server), v mt my ch cp tch-k TGS
(Ticket Granting Server). Kerberos hot ng da trn cc tch-k
c s dng xc thc cn cc ca ngi dng.
KDC lu gi mt c s d liu kha b mt, mi thnh vin trn
mng (tc l mi my ch hay ngi dng bt k) c chia s mt
kha m ch c thnh vin v KDC cng bit m thi: kha b mt
cng dng chng minh cn cc ca thnh vin. Khi hai thnh
vin cn giao tip, KDC s sinh ra mt kha phin nhm bo m
tng tc gia hai thnh vin . Tnh an ton ca giao thc ph
thuc rt nhiu n vic cc thnh vin m bo giao dch ng b
trong mt thi gian ngn thng gi l tch-k Kerberos.
62
3.3.3. M t minh ha
u phin giao dch, thnh vin An c xc thc ti my ch
xc thc (AS) v nhn c mt th tch-k c nh du thi gian.
Tip An lin lc vi my ch cp tch-k (TGS) dng th tch-k
chng minh cn cc ca mnh v yu cu cung cp dch v. Nu
thm nh ng l An c quyn s dng dch v yu cu th TGS
li gi thm mt tch-k khc cho An. By gi An tip xc vi my
ch cung cp dch v, xut trnh tch-k mi chng minh rng
mnh c cho php s dng dch v yu cu.
AS = My ch xc thc;
SS = My ch cung cp dch v;
TGS = My ch cp pht tch-k;
TGT = Tch-k cp tch-k.
63
64
65
66
67
4
M HA KHA CNG KHAI
Nh ni chng 2, cc thut ton m ha kha i xng c
mt nhc im cn bn l hai ngi mun trao i thng tin b
mt cn phi trao i kha b mt trc . Kha b mt ny cn
phi c trao i theo mt cch thc an ton, khng phi bng cc
phng thc thng dng lin lc trong mi trng m v d b
l. iu ny kh thc hin v ni chung l khng th m bo b
mt, nht l trong trng hp mun trao i thng tin vi nhiu i
tc th thc t l khng thc hin c.
V vy m ha kha cng khai (hay kha bt i xng) c a
ra nh l mt gii php thay th. Thc ra m bt i xng khng
thay th hon ton m i xng m ngi ta s dng ng thi c
hai loi b sung, h tr cho nhau.
4.1. VI NT LCH S
Nm 1874, William Stanley Jevons xut bn mt cun sch m
t mi quan h gia cc hm mt chiu (one way function) vi mt
m hc, ng thi i su vo bi ton phn tch ra tha s nguyn t
(s dng trong thut ton RSA). Thng 7 nm 1996, mt nh nghin
cu bnh lun v cun sch trn nh sau:
68
69
70
71
72
73
74
75
mod N = C; T = plaintext,
(T mod N) mod N = T
iu ny c chng minh bng cch ng dng nh l
Trung Hoa v s d (The Chinese Remainders Theorem) mt thnh
tu rt cao v s hc, trong ton hc C Trung Hoa thng gi l
Bi ton Hn Tn im binh (Hn Tn l mt v tng nh Tin Hn,
vo khong th k th II trc cng nguyn, xem ph lc II). Thc
cht vic tm kha ring D chnh l tm mt php ton ngc trong
vnh modulo N ca E.
Mt s lu :
- Cc s nguyn t thng c chn bng phng php th
ngu nhin.
76
77
17
Thng ip m ha c gi i: 855
2753
78
79
80
81
82
83
q > wi
i =1
trong :
i = rwi mod q.
c > i i
i =1
Thng ip m ha chnh l c.
Gii m
c = i i
i =1
84
c cs(mod q)
Trong :
n
c cs ii s(mod q)
i =1
c i w i (mod q)
i =1
Tng ca mi s wi l b hn q do :
khong [0, q-1].
i w i cng vy trong
i =1
85
c i w i
i =1
w = 706
Chn mt s q ln hn tng s trn, chng hn ly: q = 881
Li chn mt s r nm trong khong [1,q) v nguyn t cng
nhau vi q: r = 588
Kha ring by gi gm q, w v r.
tnh ra mt kha cng khai, hy sinh mt dy bng cch
nhn mi phn t trong w vi r mod q
= {295, 592, 301, 14, 28, 353, 120, 236}
bi v:
2 * 588 mod 881 = 295
7 * 588 mod 881 = 592
11 * 588 mod 881 = 301
21 * 588 mod 881 = 14
42 * 588 mod 881 = 28
89 * 588 mod 881 = 353
86
87
18 - 11 = 7
7-7=0
Cc thnh phn ta chn trong kha ring ng vi s 1 trong
thng ip gc:
01100001
Bin i s nh phn thnh s thp phn, ta li c a.
4.4.3. Logarit ri rc
88
V rng do 34+16
13 1n 13 (mod 17), nu n l mt s
89
logarithms).
Thut ton chut ti ca Pollard (thut ton Lamda
):
s h mt m.
90
91
Mt s th tc m ha da trn c s logarit ri rc c lm
thch hp vi cc thut ton da trn c s ng cong elliptic bng
cc thay th nhm ( p ) bi mt ng cong elliptic.
S tha thun kha ng cong elliptic da trn s
DiffieHellman.
Thut ton Ch k s ng cong elliptic da trn thut ton
ch k s.
S tha thun kha ECMQV da trn s tha thun
kha MQV.
Ti Hi tho RSA nm 2005, NSA (C quan bo mt quc gia
Hoa K) cng b dy B (suite B) mt dy thut ton mt m c
bit ch dng ECC cho vic sinh ch k in t v trao i kha. Dy
B nhm s dng bo v c hai loi thng tin v h thng c xp
hng v khng c xp hng b mt cp quc gia.
92
5
CH K IN T V CHNG THC IN T
5.1. KHI NIM V CH K IN T
Trong mt giao dch, An gi cho Bnh mt l th ca mnh. Vic
gi l th trc ht phi m bo ba yu cu sau y trong cc
nguyn l bo mt thng tin:
- Tnh bo mt: L th d lt vo tay k khc ngoi Bnh th
k cng khng hiu c ni dung th.
- Tnh ton vn thng tin: Nu l th b ngi trung gian lm
bin i ni dung trong qu trnh truyn tin th Bnh phi
nhn bit l th b can thip (ch pht hin (detect)
nhng c th khng bit ni dung b can thip nh th no
nh chnh li cho ng (correct)).
- Tnh nhn bit: Khi nhn c th, Bnh nhn ra c ng
l th do An gi, khng phi l do mt k th ba gi mo.
- Tnh khng chi b: Sau ny An khng th chi b rng l
th khng phi ca mnh.
Trong giao dch thng thng, An k tn vo l th xc nhn
rng th do mnh pht hnh, sau ny khng th chi b c. Khi
Bnh thy ch k ca An cui th th tin tng l th ca An.
93
94
95
96
97
98
99
100
101
h(m) = mi pi
i =0
1
h(m) = h
(m p)
h(m) = mi pi
i =0
102
103
104
105
106
Hnh 5.2: S to ch k in t
S dng ch k in t (c chng thc) gn km vo thng
ip, c th m bo cc yu cu:
- Nhn din nh danh ngi pht hnh thng ip
- Ngi pht hnh khng th chi b
- m bo tnh ton vn thng tin, pht hin c trng hp
thng ip b can thip trn ng chuyn vn.
5.2.4. Phong b s an ton
mc 4.2.4 ta thy rng c th dng s trao i kha
cng khai gia hai i tc to mt phong b s kh n gin dng
chuyn giao kha i xng. Tuy nhin dng phong b s khng
an ton v c kh nng b tn cng ca ngi ng gia.
Bng cch phi hp c hai loi kha m ha i xng, bt i
xng vi thut ton hm bm, ta c th to c mt s giao dch
in t an ton m bo c cc yu cu ca cc nguyn l bo mt
trong giao dch.
Hnh 5.3 m t mt qu trnh m ha hn hp gia 3 loi thut
ton m ha i xng, bt i xng v hm bm to ra mt ch
107
108
109
110
111
112
113
114
115
116
117
- TinyCA
- ElyCA
- SimpleCA
- SeguriData
- Safelayer Secure Communications
5.4. GIAO THC PGP V MNG LI TIN CY
118
119
120
121
122
123
Hin nay PGP cho php s dng mt s thut ton khc nhau
thc hin vic m ha. V th cc thng ip m ha vi PGP hin ti
khng nht thit c nhng im yu ging nh PGP phin bn u.
Tuy nhin cng c mt s tin n v s khng an ton ca PGP
phin bn u tin (s dng cc thut ton RSA v IDEA).
Phil Zimmermann, tc gi ca PGP, tng b chnh ph Hoa K
iu tra trong vng 3 nm v vic vi phm nhng quy ch trong xut
khu phn mm mt m. Qu trnh iu tra c kt thc mt
cch t ngt. Zimmermann cng tng tuyn b rng s d chnh ph
Hoa K kt thc iu tra l v h tm ra cch ph v PGP trong
thi k .
T nhng lp lun trn, c th khng nh tng i chc
chn rng ti thi im hin ti ch nhng c quan thuc v chnh
ph mi c nhng ngun lc cn thit c th ph v nhng
thng ip PGP. i vi tn cng phn tch mt m t pha c nhn
th PGP vn tng i an ton.
5.4.4. Vi nt lch s
Phil Zimmermann to ra phin bn PGP u tin vo nm 1991.
Vo thi im ny, ng ta l mt nh hot ng chng nng
lng ht nhn v mc ch to PGP l phc v nhng ngi c
mc tiu tng t c th s dng cc h thng bng thng bo in
t (bulletin board) v lu tr tp mt cch an ton. i vi mc tiu
s dng phi thng mi, PGP hon ton min ph v ton b m
ngun c bao gm trong tt c sn phm. PGP d dng thm nhp
vo Usenet v t vo Internet.
Tn gi "Pretty Good Privacy" (tm dch: B mt tng i tt)
c t theo tn ca mt ca hiu tp ha thnh ph gi tng
Lake Wobegon trong chng trnh pht thanh ca tc gi Garrison
Keillor. Trong chng trnh ny, tn ca hiu tp ha l "Ralph's
Pretty Good Grocery" (Tim tp ha tng i tt ca Ralph).
124
125
126
127
128
129
130
2003
- PGP Desktop 8.0.1DE cho Windows ting c.
- PGP Desktop 8.0.2.
- PGP Desktop 8.0.3 cho Macintosh v Windows.
- Cng b v ng gi PGP Universal INFO, mt dng sn
phm mi.
- PGP Universal 1.1 (30 thng 12).
2004
- PGP Universal 1.2.
- PGP Desktop 8.1.
- PGP Command Line 8.5.
- PGP Corporation v Symantec a ra gii php an ninh th
in t tch hp PGP Universal cho doanh nghip.
- PGP Software Development Kit (SDK) nhn c FIPS 140-2
Level 1 t NIST.
2005
- PGP Universal 2.0 v PGP Desktop 9.0 cng nh dch v
PGP Global Directory.
- "Tiger" cho Mac OS X 10.4 .
- Nng cp PGP 9.0.1 Freeware thnh bn y tnh nng
di dng phn mm dng th 30 ngy.
- PGP Whole Disk Encryption c chnh thc pht hnh
nh mt sn phm c lp.
- PGP 9.0.2 vi phn cp nht cho bn chuyn m quc t v
bn a ha ting c.
- PGP 9.0.2 vi phn cp nht cho bn a ha ting Nht.
131
132
133
Kha v3
Kha v4
*RSA (m ha & ch k)
RSA (m ha v ch k)
*DSA (ch k)
*Elgamal (m ha)
*IDEA
IDEA
*Triple-DES
CAST5
Blowfish
AES 128, 192, 256
Twofish
Hm bm mt m
*MD5
MD5
*SHA-1
RIPEMD-160
SHA-256
SHA-384
SHA-512
Thut ton nn
ZIP
ZIP
gzip
bzip2
134
135
136
6
MT S GIAO THC BO MT
THNG DNG KHC
Ngoi nhng vn bo mt trong quc phng, an ninh mt
trong nhng loi giao dch in t ph bin rng ri trong x hi c
yu cu bo mt rt cao l nhng giao dch thng mi, nht l vn
thanh ton trong Thng mi in t. Cc giao dch thc cht
u l vic trao i nhng thng ip c cha thng tin cn c
bo mt (th trao i, hp ng, thanh ton tin, v.v.).
Sau y ta ln lt xt n mt s giao thc bo mt s dng
ph bin hin nay trong giao dch in t, ch yu l trong cc dch
v Internet v thng tin thanh ton trong thng mi in t.
Cc h thng mt m hin nay ang c s dng ph bin ni
chung c th chia lm hai nhm chnh.
Nhm th nht bao gm cc chng trnh v giao din c s
dng trong m ha d liu trong cc th in t: cc chng trnh
c cc thng ip trong th in t v lu gi di dng mt m
hoc chuyn cho i tc c cp kha m nh l S/MIME.
Cc chng trnh ny cng c s dng cho mt ngi (single
user) t bo v cc tp lu gi trn my tnh c nhn ca mnh.
Nhm th hai l cc h thng giao din mng c s dng vi
mc ch cung cp cc tnh nng nh bo mt, xc nhn, ng b
137
138
139
140
141
142
143
144
Tng giao vn
Tng giao vn
M ha
SSL
Gii m
Tng mng
Tng mng
145
146
147
148
149
150
151
152
153
154
155
Chng th SSL
Ging nh HTTPS (nhng khc vi SFTP), cc my ch FTPS c
th cung cp chng thc kha cng khai.
156
157
6.4. SSH
6.4.1. Giao thc v s bo mt (SSH)
Giao thc v s bo mt SSH (Secure Shell Protocol) l mt
giao thc mng an ton kim tra v bo v vic truy cp t xa
trong dch v TELNET v cng c th m ha bo mt d liu
trong dch v truyn cc tp tin in t ln (FTP) trong mi trng
khng tin cy chng hn nh mi trng Internet.
SSH cho php trao i d liu gia 2 thit b mng thng qua
mt knh tin cy. Hai phin bn chnh ca SSH l SSH1 hay SSH-1 v
SSH2 hay SSH-2.
V tr ca SSH trong chui giao thc Internet
Chui giao thc Internet
Tng ng dng
BGP DHCP DNS FTP HTTP IMAP IRC LDAP MGCP
NNTP NTP POP RIP RPC RTP SIP SMTP SNMP SSH
Telnet TLS/SSL XMPP
..
Tng giao vn
TCP UDP DCCP SCTP RSVP ECN
Tng mng
IP (IPv4, IPv6) ICMP ICMPv6 IGMP IPsec
Tng lin kt d liu
ARP/InARP NDP OSPF Tunnels (L2TP) PPP Media Access
Control (Ethernet, DSL, ISDN, FDDI) (more)
v. v
158
159
160
161
RFC 4345, Improved Arcfour Modes for the Secure Shell (SSH)
Transport Layer Protocol
Sau c thm nhng phin bn nng cp:
RFC 4419, Diffie-Hellman Group Exchange for the Secure
Shell (SSH) Transport Layer Protocol (March 2006)
RFC 4432, RSA Key Exchange for the Secure Shell (SSH)
Transport Layer Protocol (March 2006)
RFC 4462, Generic Security Service Application Program
Interface (GSS-API) Authentication and Key Exchange for the
Secure Shell (SSH) Protocol (May 2006)
RFC 4716, The Secure Shell (SSH) Public Key File Format
(November 2006)
RFC 5656, Elliptic Curve Algorithm Integration in the Secure
Shell Transport Layer (December 2009)
Do bi SSH-1 c nhng l hng c hu trong thit k nn c th
b tn cng ca ngi ng gia. Nn ngy nay, ngi ta xem nh
li thi, khng cn s dng na. Cc phn mm pha my ch v
pha my khch hin i u c h tr s dng SSH-2.
Tuy nhin trong mi phin bn ca SSH iu ti quan trng l
vic thm tra kha cng khai ca ngi l trc khi chp nhn
rng y l nhng kha hp l. Vic chp nhn mt kha cng khai
ca k tn cng giu mt lm kha hp l c h qu nguy him l
lm l cc mt khu chuyn giao trong h thng v to iu kin cho
s tn cng ca ngi ng gia.
6.5. THANH TON IN T AN TON
6.5.1. SET
Thanh ton in t an ton SET (Secure Electronic Transaction)
l mt giao thc chun m bo an ton thanh ton cho cc th
162
tn dng trn mt mng truyn thng khng tin cy, nht l trn
Internet.
Bn thn SET khng phi l mt h thng thanh ton m thc
ra l mt tp hp giao thc v th tc cho php ngi dng c th
thc hin c ch sn c ca mt h thng thanh ton th mt cch
an ton trong mi trng m.
SET c pht trin bi SETco, mt cng ty an ninh mng do
VISA v MasterCard ch o, k t 1996 v sau mt s cng ty
khc nh GTE, IBM, Microsoft, Netscape, RSA v VeriSign cng
tham gia. SET c bn da trn chun X.509 vi mt s tiu chun
m rng. Phin bn u tin hon thnh vo thng 5 nm 1997 v
bn dng th ln u tin th nghim vo thng 7 nm 1998.
SET cho php cc bn i tc nhn dng ra nhau (thng tin
nhn dng m ha) v sau trao i thng tin mt cch an
ton. SET dng mt thut ton cho php ngi bn hng thay th
mt chng th cho mt s ca th tn dng ca ngi s dng.
Bn thn ngi bn hng khng bao gi cn bit n s ca th
tn dng m ngi dng (ngi mua) gi n, m vn kim tra c
vic thanh ton tr tin mt khc bo v c cho ch th v nh
pht hnh th khi b la o.
Ngy nay SET thc t tr thnh giao thc tiu chun cho vic
thanh ton trn Internet giao dch gia ngi bn hng, ngi mua
v cc cng ty pht hnh th. Mt h thng SET bao gm cc thnh
vin sau y:
- Ch th
- Ngi bn hng
- Nh pht hnh th
- Ni chp nhn th
163
164
165
166
167
ng dng qua mt mng IP: E-mail, trnh duyt web, cc file truyn
i ... v ni chung l mi truyn thng in t gia mt my tnh vi
mi my tnh khc cng c ci t IPsec. Cc ng dng khng cn
phi thit k c bit s dng c IPsec, trong khi mun s
dng TLS/SSL, ngi ta phi thit k thnh mt ng dng ring
bo v cc giao thc ng dng.
IPsec c IETF to nn mt dy t liu Yu cu bnh lun
(Request for Comment documents) gi n cc thnh phn khc
nhau trong mng v v th c tn gi ca giao thc l IPsec.
Dy IPsec l mt chun m s dng cc giao thc sau y
thc hin cc hm.
6.6.2. Tiu xc thc (AH)
Mt trong nhng thnh phn ca chui giao thc IPsec protocol
suite l Authentication Headers. AH m bo s ton vn thng tin
lin tc v kim tra a ch ngun ca cc gi tin IP. Ngoi ra n cn
bo v chng kiu tn cng lp li (replay attacks) bng cch dng
k thut ca s trt v k thut dp tt c cc gi tin c.
Trong IPv4, AH bo v cc gi IP v mi trng tiu ca mt
bn thng ip ch tr cc trng thng c s bin i. Cc trng
tiu c bin i l: DSCP/TOS, ECN, Flags, Fragment Offset, TTL
v Header Checksum.
Trong IPv6, AH t bo v ngay chnh n, bo v tiu m rng
cc mc tiu n (Destination Options) sau AH, v gi tin IP. N cng
bo v c tiu IPv6 c nh v cc tiu m rng trc AH ngoi
tr cc tiu c thay i nh DSCP. ECN, Flow Label v Hop Limit.
AH hot ng trc tip trn nh IP, s dng giao thc IP s
hiu 51.
Cc s gi AH sau y ch r cch thc kin to v minh ha
mt gi AH (Bng 6.1):
Octet16
Bit10
32
64
96
Offsets
Octet16
Next Header
0 1 2 3 4 5 6 7
Sequence Number
Payload Len
Reserved
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Bng 6.1
168
Gio trnh mt m hc v h thng thng tin an ton
169
170
kim tra tnh ton vn, dch v chng tn cng lp li. ESP cng l
mt thnh phn trong dy giao thc IPsec. Trong IPsec, ESP to ra
chc nng xc thc ngun, ton vn, v bo v b mt ring t cho
cc gi tin. ESP cng h tr cc cu hnh ch m ha hoc ch
gii m nhng hnh ng m ha m khng c nhn dng c
khuyn co l khng nn s dng v km an ton.
Khng ging nh AH, ESP dng trong ch vn chuyn
(Transport mode) khng cung cp kh nng bo v ton vn v nhn
dng cho ton b gi IP. Tuy nhin trong kiu ng ng (Tunnel
mode) khi m ton b gi tin TP gc c ng gi li v gn mt
tiu mi thm vo th ESP bo v cho tt c gi tin IP bn trong
(k c tiu bn trong) trong khi tiu bn ngoi vn khng
c bo v.
ESP hot ng trn nh ca IP, s dng s hiu IP l 50.
Cc s gi ESP packet sau y ch r cch thc kin to v
minh ha mt gi ESP (Bng 6.2).
32
96
Bit10
Octet16
Octet16
Offsets
0 1 2 3 4 5 6
Pad length
Payload data
Sequence Number
Next Header
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Bng 6.2
172
173
174
175
176
177
Phn ph lc
PHN PH LC
178
Ph lc 1
1. HM LOGIC XOR
AND
Hm hi f = a b. Gi tr ca bin u ra f bng 1 khi v ch khi
c hai bin u vo cng c gi tr bng 1, cc trng hp cn li f ly
gi tr bng 0. ( ngha: f ng khi v ch khi va a va b cng ng)
179
Phn ph lc
ab
OR
Hm tuyn f = a b. f bng 1 khi v ch khi c hoc a hoc b,
hoc c a v b c gi tr bng 1. ( ngha: f ng khi hoc a ng hoc
b ng hoc c hai a v b cng ng)
a
ab
XOR
Hm tuyn ngt (Exclusive OR) hay cn gi l hm cng modulo
2: f = p XOR q hay f = p q. f ly gi tr 1 khi v ch khi ch c mt
trong hai bin p hoc q c gi tr bng 1. ( ngha: nu c a v b cng
sai hay cng ng th f sai)
a
a XOR b
180
P=
100110001
Kha K:
K=
001111001
101001000
Gii m: Plaintext
100110001
P = C XOR K =
Nhn xt:
- di (kch thc s bit) ca kha K r rng c tc ng rt
ln n kh nng bo mt ca m i xng. Chng hn trong m
block c kch thc block l 56 - 64 bit th ta dng kha K c kch
thc cng l 56 - 64 bit. V mi v tr trong kha c th ty chn 1
trong 2 gi tr 0 hay 1 nn c tt c: 256 cch to kha khc nhau! y
l mt con s rt ln cho nn thng thng nguy c b tn cng bo
lc thp.
- Tuy nhin v php ton XOR c thc hin hon ton n gin
nn tc lp m, gii m vn kh nhanh.
Phn ph lc
181
182
Phn ph lc
183
184
185
Phn ph lc
Ph lc 2
1. HM MODULO - NG D THC
186
Gii thut Euclid, hay thut ton Euclid, l mt gii thut tnh c
s chung ln nht (USCLN) ca hai s (nguyn) mt cch hiu qu.
Gii thut ny c bit n t khong nm 300 trc Cng Nguyn.
Nh ton hc C Hy Lp Euclid nu gii thut ny trong cun sch
C s (Elements) ni ting.
V d: Tnh c s chung ln nht ca 91 v 287.
Trc ht ly 287 (s ln hn trong 2 s) chia cho 91:
287 = 91*3+14 (91 v 14 s c dng cho vng lp k tip)
Nhn xt: Bt k s no chia ht bi 287 v 91 cng s chia ht
bi 287 - 91*3 = 14. Tng t, s chia ht bi 91 v 14 cng chia ht
bi 91*3 + 14 = 287. Do , USCLN(91,287) = USCLN(91,14). Bi
ton tr thnh tm USCLN(91,14). Lp li quy trnh trn cho n khi
php chia khng cn s d na. 91 = 14*6 + 7 (14 v 7 s c dng
cho vng lp k tip) 14 = 7*2 + 0 (khng cn s d, kt thc, nhn 7
lm kt qu).
Cui cng ta c:
7 = USCLN(14,7) = USCLN(91,14) = USCLN(287,91).
B . Gi s a = bq + r, vi a, b, q, r l cc s nguyn, ta c:
nu r = 0
b
UCLN(a, b) =
UCLN(b, r) nu r 0
M gii:
Chng trnh quy procedure USCLN(a, b: positive integers)
Begin
if a mod b = 0 then USCLN:= b
else USCLN(b; a mod b);
End
Phn ph lc
187
188
(1)
Tng qut, gi s c:
a * xi + b * yi = ri
vi i = 0,1,.... a * xi + 1 + b * yi + 1 = ri + 1 vi i = 0,1,....
Khi t: ri = qi + 1 * ri + 1 + ri + 2
suy ra:
ri qi + 1 * ri + 1 = ri + 2
(a * xi + b * yi) qi + 1 * (a * xi + 1 + b * yi + 1) = ri + 2
a * (xi qi + 1 * xi + 1) + b * (yi qi + 1 * yi + 1) = ri + 2
t , c th chn:
xi + 2 = xi qi + 1 * xi + 1
(2)
yi + 2 = yi qi + 1 * yi + 1
(3)
189
Phn ph lc
Khi i = m - 1 ta c c xm + 1 v ym + 1.
Cc cng thc (1), (2), (3) l cng thc truy hi tnh x, y.
Gii thut
Gii thut sau ch thc hin vi cc s nguyn a > b > 0, biu
din bng:
Procedure Euclid_Extended (a,b)
Var Int x0:=1, x1:=0, y0=0,y1:=1;
While b>0
do
{r:= a mod b
q:= a div b
x:= x0-x1*q
y:= y0-y1*q
if r=0 then Break
a:=b
b:=r
x0:=x1
x1:=x
y0:=y1
y1:=y}
Return d:=b, x, y;
V d:
Gi s cho a = 29, b = 8, gii thut tri qua cc bc nh sau:
Bc i
ri
ri + 1
ri + 2
qi + 1
xi
xi + 1
xi + 2
yi
yi + 1
yi + 2
29
-3
-1
-3
-1
-3
-7
-1
-3
-7
11
190