Khóa luận Nghiên cứu tìm hiểu về mật mã sinh trắc

ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
VŨ THANH MINH  
NGHIÊN CU TÌM HIU VỀ  
MT MÃ SINH TRC  
KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
HÀ NI - 2010  
1
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
VŨ THANH MINH  
NGHIÊN CU TÌM HIU VỀ  
MT MÃ SINH TRC  
KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Giáo viên hướng dn : TS HVăn Hương  
HÀ NI - 2010  
2
LI CÁM ƠN  
Em xin chân thành cám ơn toàn thcác thy cô giáo trong trường Đại hc Công  
ngh, Đại hc Quc gia Hà Ni đã hết lòng dy d, chbo, to điu kin tt cho  
em trong sut quá trình hc tp cũng như trong thi gian thc hin khoá lun tt  
nghip này.  
Đặc bit, em gi li cám ơn chân thành và sâu sc ti TS HVăn Hương –Ban cơ  
yếu chính ph, người đã trc tiếp quan tâm, tn tình hướng dn, giúp đỡ và to  
điu kin hết sc thun li cho em trong quá trình thc hin khoá lun.  
Cm ơn các bn đồng khoá và gia đình đã động viên, giúp đỡ tôi rt nhiu trong  
quá trình hc tp ti Khoa Công nghcũng như trong thi gian thc hin khoá  
lun.  
Hà ni, ngày 21 tháng 05 năm 2010  
VŨ THANH MINH  
3
DANH MC CÁC HÌNH  
Tên hình  
Trang  
8
Hình 1.1: Quá trình mã hóa và gii mã  
Hình 1.2: AddRoundKey bn rõ và khóa  
Hình 1.3: Bước SubBytes  
Hình 1.4: Bước ShiftRow  
Hình 1.5: Bước MixColumns  
Hình 1.6: Bước InvShiftRow  
Hình 1.7: Hp S-nghch  
Hình 1.8: Sơ đồ hmt RSA  
Hình 1.9: Chký sRSA  
Hình 1.10:Quá trình băm thông đip  
Hình 1.11:Quá trình ký số  
Hình 1.12:Gi thông đip  
Hình 1.13:Xác minh chký số  
Hình 1.14:Băm thông đip  
Hình 1.15:Xác minh thông đip  
Hình 1.16:Băm nhiu thông đip cho ra cùng mt kết qubăm  
Hình 1.17: Mng 64 hng s32-bit Ki{256}  
Hình 1.18 : Các giá trkhi to ca giá trbăm  
Hình 2.1: Mt svân tay tìm được tthi xưa  
Hình 2.2: Các loi vân tay  
9
10  
10  
11  
11  
12  
13  
14  
15  
15  
15  
16  
16  
17  
17  
22  
23  
26  
30  
31  
44  
45  
46  
48  
49  
57  
58  
58  
59  
Hình 2.3 : Số đếm các đường vân  
Hình 3.1 : Tng quan quá trình đăng ký ca mã hóa sinh trc hc  
Hình 3.2 : Giai đon xnh trong quá trình đăng ký  
Hình 3.3 : Thut toán liên kết khóa  
Hình 3.4 : Tng quan quá trình xác thc ca mã hóa sinh trc hc  
Hình 3.5 : Gii thut khôi phc khóa  
Hình 4.1 : Biu đồ chc năng chương trình ng dng  
Hình 4.2 : Giai đon xnh  
Hình 4.3 : Sinh mng sngu nhiên  
Hình 4.4 : Tính hàm lc lưu trHstored  
Hình 4.5 : Sinh khóa sinh trc  
59  
60  
61  
62  
63  
Hình 4.6 : Quá trình mã hóa dliu  
Hình 4.7 : Quá trình gii mã dliu  
Hình 4.8 : Giao din ng dng  
Hình 4.9 : Hp chn nh sinh trc  
Hình 4.10 : Chc năng sinh khóa  
Hình 4.12 : Ví dụ ứng dng  
63  
64  
4
Ký hiu các cm tviết tt  
Viết tt  
AES  
Bio  
Tiếng Anh  
Advanced Encryption Standard  
Biometric  
Tiếng Vit  
Chun mã hóa tiên tiến  
Sinh trc  
CA  
Certificate Authority  
Data Encryption Standard  
Data Security Standard  
Fourier Tranform  
Chquyn chng nhn  
Chun mã hóa dliu  
Chun bo mt dliu  
Biến đổi Fourier ri rc  
Thut toán băm  
Htng khóa công khai  
Tên các nhà khoa hc  
Thut toán băm an toàn  
DES  
DSS  
FT  
MD  
PKI  
RSA  
SHA  
Message Degist  
Public Key Infrastructure  
Rivest-Shamir-Adlman  
Secure Hash Algorithm  
5
MC LC  
Chương 1: TNG QUAN VMT MÃ .....................................................8  
1.1.Hmt mã ..................................................................................................8  
1.2.Hmt mã khóa đối xng và thut toán mã hóa AES...............................8  
1.2.1 Hmt mã khóa đối xng.........................................................8  
1.2.2 Thut toán mã hóa AES ............................................................9  
1.3.Hmt mã khóa công khai.........................................................................12  
1.4.Chs...................................................................................................13  
1.5.Hàm băm....................................................................................................17  
1.5.1.Hàm băm:.......................................................................................17  
1.5.2.Hàm băm SHA - 256......................................................................19  
1.5.2.1 Các tham s, ký hiu và thut ng.......................................19  
1.5.2.2 Phép toán..............................................................................20  
1.5.2.3 Chuyn đổi dliu...............................................................20  
1.5.2.4 Các thut toán.......................................................................21  
1.5.2.5 Các hàm chc năng sdng trong SHA-256 ......................21  
1.5.2.6 Các hng ssdng trong SHA-256 ..................................21  
1.5.2.7 Quá trình tin xlý thông đip M .......................................22  
1.5.2.8 Thut toán băm SHA-256 ....................................................23  
1.6. Kết lun.....................................................................................................25  
CHƯƠNG 2. SINH TRC HC KT HP VI MT MÃ ....................26  
2.1.Sinh trc hc:..............................................................................................26  
2.2.Các khái nim sinh trc hc vvân tay......................................................27  
2.2.1 Khái nim vân tay ...................................................................27  
2.2.2 Các loi vân tay.......................................................................28  
2.2.3.Các đặc trưng ca vân tay.......................................................30  
2.2.3.1 Đặc trưng tng th...................................................31  
2.2.3.1 Đặc trưng cc b.....................................................32  
2.3.Sinh trc hc kết hp vi mt mã: .............................................................34  
2.4.Kết lun......................................................................................................36  
CHƯƠNG 3:THUT TOÁN MÃ HÓA SINH TRC ...............................37  
3.1 Xnh nhn dng .................................................................................37  
3.2. Stương quan ...........................................................................................37  
3.3. Nhng yêu cu ca hthng.....................................................................38  
3.4 Thiết kế hàm lc........................................................................................38  
3.5 Độ an toàn ca hàm lc.............................................................................40  
3.6 Blc tm thi..........................................................................................40  
3.7 Thiết kế blc an toàn..............................................................................42  
6
3.8 Quá trình đăng ký và xác thc ..................................................................43  
3.8.1 Quá trình đăng ký...........................................................................43  
3.8.2 Quá trình xác thc..........................................................................47  
3.9 Kết lun.....................................................................................................51  
Chương 4: XÂY DNG NG DNG..........................................................52  
4.1 Gii thiu....................................................................................................52  
4.2 Các thut toán được sdng......................................................................52  
4.2.1 Xnh........................................................................................52  
4.2.2 Biến đổi Fourier ri rc..................................................................53  
4.2.3 Sinh mng ngu nhiên....................................................................54  
4.2.4 Các phép toán.................................................................................55  
4.2.4.1 Các phép toán vi sphc............................................55  
4.2.4.2 Các phép toán liên quan ti ma trn .............................55  
4.3 Xây dng ng dng mt mã sinh trc........................................................57  
4.3.1 Sinh khóa sinh trc.........................................................................57  
4.3.2 Mã hóa sdng khóa sinh trc................................................................ 60  
4.4 Giao din ng dng “mt mã sinh trc” và cách sdng..........................61  
4.1 Kết lun .............................................................................................................. 65  
KT LUN…………………………………………………………………. 66  
TÀI LIU THAM KHO ………………………………………………… .67  
7
CHƯƠNG 1 . TNG QUAN VMT MÃ VÀ NG DNG  
Vi sphát trin nhanh chóng ca Internet và vic lưu trcác dliu nhy cm  
trên mng, mt mã đang trthành mt công ckhá quan trng ca bo mt máy tính.  
Nhiu thut toán mã hóa đã được sdng rt phbiến trên thế gii để đảm bo an toàn  
cho thông tin. Hai hmt phbiến nht hin nay là hmt khóa đối xng và hmt khóa  
công khai.  
1.1  
Hmt mã  
Hmt mã được định nghĩa là b5 (P, C, K, E, D), trong đó:  
P : tp hu hn các bn rõ có thể  
C : tp hu hn các bn mã  
K : tp các khóa  
E : tp các hàm lp mã  
D : tp các hàm gii mã  
®
Î
k Î  
k Î  
Vi mi k K có mt hàm lp mã e  
E, e  
P.  
k
: P  
C và mt hàm gii mã d  
D,  
®
Î
"
d
k
: C  
P sao cho dk(ek(x)) = x vi  
x
Hình 1.1 Quá trình mã hóa và gii mã  
1.2 Hmt mã khóa đối xng và thut toán mã hóa AES  
1.2.1 Hmt mã khóa đối xng  
Hmt mã khóa đối xng là hmt mã sdng khóa lp mã và khóa gii mã  
ging nhau. Cmi ln truyn tin bo mt cngười gi A và người nhn B stha thun  
vi nhau mt khóa chung k, sau đó người gi sdùng ek để lp mã cho thông báo gi đi  
8
và người nhn sdùng dk để gii mã thông đip nhn được tngười gi A. Các hmt  
mã dch chuyn, thay thế là hmt mã khóa đối xng, nhưng đin hình cho hmt mã  
khóa đối xng là hmã hóa chun AES, DES. DES được xây dng ti Mtrong nhng  
năm 70 theo yêu cu ca Văn phòng quc gia vchun(NBS) và được sthm định ca  
y ban an ninh quc gia. DES kết hp chai phương pháp thay thế và chuyn dch. DES  
thc hin mã hóa trên tng khi bn rõ theo tng xâu 64bit vi khóa là xâu 56 bit và cho  
ra bn mã là xâu 64bits. Hin nay DES và biến thca nó 3DES vn được sdng thành  
công trong nhiu ng dng.  
1.2.2 Thut toán mã hóa AES  
Thut toán mã hóa AES là thut toán mã hóa khi đối xng, xlý các khi dliu  
độ dài 128 bit, sdng khóa mã có độ dài 128 bit, 192 bit hoc 256 bit tương ng vi  
“AES-128”, “AES-192”, “AES-256”. Trong khóa lun này, chúng ta sdng thut toán  
AES vi độ dài khóa là 256 bit tương ng vi “AES-256”.  
Chun mã hóa tiên tiến AES: AES là mt thut toán mã hóa khi được chính phủ  
hoa káp dng làm chun mã hóa. AES có thddàng thc hin vi tc độ cao bng  
phn mm hoc phn cng và không đòi hi nhiu bnh. Do AES là mt tiêu chun mã  
hóa mi, nó đang được tiến hành để sdng đại trà.  
AES làm vic vi tng khi dliu 4x4. Quá trình mã hóa bao gm 4 bước:  
·
AddRoundKey: mi byte ca khi được kết hp vi khóa con. Mi khóa con  
trong chu trình khóa được to ra tkhóa chính vi quá trình to khóa con Rijdael. Mi  
khóa có độ dài như các khi. Quá trình được thc hin bng phép XOR tng bit ca khóa  
con vơi khi dliu.  
Hình 1.2: AddRoundKey bn rõ và khóa  
9
·
Bước SubBytes: các bytes được thay thế thông qua bng S-box. Đây chính là  
quá trình phi tuyến ca thut toán. Hp S-box này được to ra trong tnghch đảo trong  
trường hu hn GF( 28 ) có tính cht phi tuyến. Để chng li các tn công trên các đặc  
tính đại s, hp S-box này được to nên bng cách kết hp nghch đảo vi mt phép biến  
đổi affine khnghch.  
Hình 1.3: Bước SubBytes  
·
Bước ShiftRow: các hàng được dch vòng mt svtrí nht định. Đối vi AES  
hàng đầu được ginguyên. Mi byte ca hàng thhai được dch sang trái mt bit.  
Tươnng tmi byte ca hàng th3 và th4 ln lượt được dch sang trái 2 hoc 3 bit.  
Hình 1.4: Bước ShiftRow  
·
Bước MixColumns: bn byte trong tng ct được kết hp li theo mt phép  
tuyến tính khnghch. Mi khi 4 bytes đầu vào scho mt khi 4 bytes ở đầu ra vi  
10  
tính cht mi byte ở đầu vào đều nh hưởng ti c4 bytes ở đầu ra. Cùng vi bước  
ShiftRow, MixColumns đã to ra tính cht khuếch tán cho thut toán. Mi ct được xem  
như mt đa thc trong trường hu hn và được nhân vi đa thc f(x) = 3x3 + x2 + x +  
2(modulo x4 +1 ). Vì thế bước này có thể được xem như là phép nhân ma trn trong  
trường hu hn.  
Hình 1.5: Bước MixColumns  
Quá trình gii mã thut toán mã hóa AES bao gm các bước:  
· Bước InvShiftRow : là phép biến đổi ngược ca ShiftRow, các byte trong ba từ  
cui ca trng thái được dch vòng theo sbit khác nhau, trong phép biến đổi  
này hàng đầu tiên được ginguyên, hàng 2,3,4 được dch ln lượt 1, 2, 3 bit.  
Hình 1.6 : Bước InvShiftRow  
· Bước InvSubBytes : là nghch đảo ca phép thay thế theo byte SubBytes trong  
đó sdng mt hp S-nghch bng cách áp dng phép biến đổi ngược ca phép  
11  
biến đổi affine sau khi thc hin phép nghch đảo trên trường GF(28) cho bi  
bng:  
Hình 1.7 Hp S-nghch  
· Bước InvMix  
Columns : là phép biến đổi ngược ca bước MixColumns.  
InvMixColumns thao tác trên tng ct ca trng thái, xem mi ct như là mt  
đa thc bn hng t, được coi như các đa thc trên trường GF(28) va được nhân  
theo modulo (x4+1) vi đa thc nghch đảo ca a(x) tc là a-1(x):  
· Bước InvAddRoundKey: là phép biến đổi nghch đảo ca bước AddRoundKey  
– là phép biến đổi thun nghch vì nó cháp dng mt phép toán XOR nên nó  
được thc hin như bước AddRoundKey trong quá trình gii mã  
1.3 Hmt mã khóa công khai  
Khóa mã hóa còn gi là khóa công khai dùng để mã hóa dliu. Khóa gii mã còn  
gi là khóa bí mt dùng để gii mã dliu. Trong hmt này khóa mã hóa và khóa gii  
mã là khác nhau. Vmt toán hc, khi biết khóa công khai ta khó có thtính được khóa bí  
mt. Khóa bí mt (private key) được gibí mt trong khi khóa công khai (public key)  
được công khai. Người gi thông đip A sdùng khóa công khai kB để mã hóa dliu  
mun gi ti người B và người B sdùng khóa bí mt ca mình để gii mã thông đip  
nhn được.  
Có nhiu hthng mt mã sdng khóa công khai được trin khai rng rãi như hệ  
mt RSA, hmt Elgamal sdng giao thc trao đổi khóa Diffie – Hellman và ni lên  
12  
trong nhng năm gn đây là hmt da trên đường cong Eliptic. Trong snhng hmt  
mã trên thì hmt mã RSA được cng đồng quc tế chp nhn rng rãi trong vic thc thi  
hmã hóa công khai.  
Hmt RSA do Rivest, Shamir, và Adlman phát minh ra, được công bố đầu tiên vào  
tháng 8 năm 1977 trên tp chí Scientific American. Tính bo mt ca hmt mã RSA  
được bo đảm bng độ phc tp ca mt bài toán shc ni tiếng là bài toán phân tích 1  
sthành tích ca các snguyên t.  
Sơ đồ hmt mã RSA:  
Hình 1.8 Sơ đồ hmt RSA  
1.4 Chsố  
Mt mã khóa công khai có thể được sdng theo nhiu cách khác nhau. Chký số  
là mt ví dminh chng cho vic đảm bo xác thc người dùng và toàn vn dliu. Nếu  
người gi A mã hóa thông đip hay tài liu vi khóa cá nhân ca mình thì bt kai cũng  
có thgii mã thông đip vi khóa công khai ca A. Do đó, người nhn có thchc chn  
rng thông đip là do A mã hóa, bi chcó A mi biết được khóa cá nhân ca mình. Quá  
trình mã hóa thông đip vi khóa cá nhân ca người gi là quá trình “ký s”.  
Trong thc tế, quá trình ký sthường khó hơn. Thay bng vic mã bn thông đip  
gc vi khóa cá nhân ca người gi thì chcó bn đại din thông đip (bn băm) có độ  
dài cố định được mã hóa vi khóa cá nhân ca người gi và bn băm được mã hóa này  
được gn vào vi thông đip gc. Người nhn B sau khi nhn được thông đip đầu tiên sẽ  
gii mã bn băm vi khóa công khai ca người gi, sau đó băm thông đip đi kèm bng  
thut toán băm tương ng vi thut toán băm người gi đã sdng, B so sánh 2 giá trị  
băm, nếu ging nhau thì chc chn rng thông đip A gi cho B còn nguyên vn và đồng  
thi xác thc được người gi thông tin là A.  
13  
Tính toàn vn ca thông đip được đảm bo bi vì chthay đổi mt bit trong thông  
đip gi đi thì kết quhai giá trbăm skhác nhau . Tính xác thc ca người gi cũng sẽ  
được đảm bo vì chcó người A mi có khóa bí mt để mã hóa bn băm. Chký scũng  
chng minh được tính chng chi bbn gc vì chcó A mi có khóa cá nhân dùng để ký  
s.  
Sơ đồ chđược định nghĩa là mt bnăm ( P, A, K, S, V) trong đó:  
P là tp hu hn các văn bn có thể  
A là tp hu hn các chký có thể  
K là tp hu hn các khóa có thể  
S là tp các thut toán ký  
V là tp các thut toán kim thử  
®
Î
Î
Vi mi k K, có mt thut toán ký Sigk S, Sigk : P  
A, và mt thut toán  
®
Î
kim thVerk V, Verk { P x A}  
{đúng, sai} tha mãn điu kin sau đây vi mi  
Î
Î
x
P, y A:  
Verk(x,y) đúng nếu y = Sigk(x)  
¹
Verk(x,y) sai nếu y Sigk(x)  
RSA cũng là thut toán được dùng nhiu cho mc đích ký s. Sơ đồ chký RSA  
được mô tnhư sau :  
Hình 1.9 Chký sRSA  
Quá trình ký và kim tra chđược mô t:  
GisA mun gi cho B mt thông đip x, A thc hin các bước:  
14  
1. A băm thông đip x bng thut toán băm h thu được bn đại din z = h(x) có  
kích thước cố định  
Hình 1.10 : Quá trình băm thông đip  
2. A ký strên văn bn đại din z bng khóa bí mt ca mình  
thu được bn ký số  
y = sigk(z)  
Hình 1.11: Quá trình ký số  
3. A gi (x,y) cho B  
Hình 1.12 : Gi thông đip  
15  
Khi B nhn được (x,y) , B thc hin các bước sau:  
1. B kim tra chký số để xác minh xem thông đip mà mình nhn được có phi  
được gi tA hay không bng cách gii mã chký sy bng khóa công khai  
ca A được z  
Hình 1.13 : Xác minh chký số  
2. B dùng mt thut toán băm – tương ng vi thut toán băm mà A dùng để băm  
thông đip x đi kèm, nhn được h(x)  
Hình 1.14 : Băm thông đip  
3. So sánh hai giá trbăm z hà h(x), nếu ging nhau thì chc chn rng thông đip  
z mà A gi cho B còn nguyên vn bên cnh đó cũng xác thc được người gi  
thông tin là ai  
16  
Hình 1.15 : Xác minh thông đip  
1.5 Hàm băm  
1.5.1 Hàm băm  
Vic sdng các hmt mã và các sơ đồ ký sthường là mã hóa và ký strên  
tng bit ca thông tin. Thi gian để mã hóa và ký stlthun vi dung lượng ca thông  
tin. Thêm vào đó có thxy ra trường hp : vi nhiu bc thông đip đầu vào khác nhau,  
sau khi sdng hmt mã hoc ký sthì cho ra kết qulà bn mã hay bn ký sging  
nhau ( ánh xnhiu – mt):  
Hình 1.16 Nhiu thông đip khác nhau cho cùng môt kết qubăm  
Điu này sdn ti mt src ri cho vic xác thc thông tin.  
17  
Các sơ đồ ký sthường chsdng để ký các bc thông đip có kích thước nh,  
và sau khi ký bn ký scó kích thước dài gp đôi bn thông đip gc – ví dvi sơ đồ ký  
schun DSS ký trên các bc thông đip có kích thước 160 bits, cho ra bn ký scó kích  
thước 320 bits. Trong khi đó trên thc tế, ta cn phi ký các thông đip có kích thước ln  
hơn nhiu, hơn na để đáp ng nhu cu xác thc sau khi thông tin ti người nhn, dliu  
truyn qua mng không chlà bn thông đip gc mà còn bao gm cbn ký s( có dung  
lượng gp 2 so vi bn thông đip gc). Có cách đơn gin để gii quyết vn đề trên, đó là  
cht thông đip góc thành nhiu đon 160 bit( vi sơ đồ ký chun DSS), sau đó ký lên các  
đon độc lp ca thông đip. Tuy nhiên sdng phương pháp trên có các vn đề sau:  
- Thnht : Vi mt thông đip có kích thước a, sau khi kí scó kích thước 2a(  
trong trường hp sdng DSS), điu này làm tn thi gian và đường truyn dliu.  
- Thhai : Vi các chký có độ an toàn cao thì có tc độ mã hóa chm bi chúng  
dùng nhiu phép toán shc phc tp ( như smũ modulo, logarit ), nó làm cho quá trình  
mã hóa gp nhiu khó khăn bi lượng dliêu quá ln.  
- Thba : vn đề nghiêm trng hơn là kết qusau khi ký, ni dung các đon ca  
thông đip có thbxáo trn vi nhau hoc mt số đon trong chúng có thbmt mát  
trong khi người nhn phi xác minh li thông đip, do đó ta cn phi bo đảm tính toàn  
vn cho thông đip.  
Gii pháp cho các vướng mc đến chký slà dùng hàm băm để trgiúp cho vic  
ký s. Hàm băm – hiu theo mt nghĩa đơn gin là hàm cho tương ng mt mng dliu  
vi mt mng dliu nhhơn – được sdng rng rãi trong nhiu ng dng khác nhau  
ca tin hc, không chthuc phm vi mt mã.  
Hàm băm được đề cp ti trong phm vi đồ án là hàm băm mt chiu. Có tác dng  
trgiúp cho các sơ đồ ký snhm làm gim dung lượng ca các dliu cn thiết để  
truyn qua mng. Hàm băm ở đây được hiu là không dùng các khóa để mã hóa ( sdng  
thut ng“ băm ” thay cho “mã hóa”), nó có nhim vbăm thông đip được đưa vào  
theo mt thut toán h mt chiu nào đó ri đưa ra mt bn băm là văn bn đại din cho  
thông đip đầu vào. Văn bn đại din có kích thước cố định, giá trca hàm băm là duy  
nht và không thsuy ngược li được ni dung thông đip tgiá trbăm này. Hàm băm h  
cn có mt số đặc tính quan trng sau :  
a. Vi thông đip đầu vào x thu được bn băm (văn bn đại din) z = h(x)  
là duy nht.  
b. Nếu dliu trong thông đip x thay đổi hay bxóa thành thông đip x’  
¹
thì h(x) h(x’), cho dù sthay đổi trong x là rt nh( ví dtrên mt bit  
nào đó trong x thì giá trbăm cũng thay đổi). Điu này có nghĩa là : hai  
thông đip khác nhau thì cho hai giá trbăm khác nhau  
18  
c. Ni dung ca thông đip x không thể được suy ra tgiá trbăm h(x).  
Nghĩa là vi giá trx ta có thddàng tính được văn bn đại din z =  
h(x) nhưng li không th( thc cht là vô cùng khó) suy ngược li x nếu  
chbiết giá trbăm z = h(x).  
Mt shàm băm được sdng rng rãi hin nay là : MD5, MD4, MD2 và hàm  
băm chun SHA-1, SHA – 256… và tiếp theo khóa lun strình bày vhàm băm SHA-  
256. Hàm băm này sẽ đươc sdng trong quá trình to khóa sinh trc ca hthng mã  
hóa sinh trc được xây dng trong chương 4 ca khóa lun.  
1.5.2 Hàm băm SHA-256  
SHA – Secure Hast Algorithm – hay gii thut băm an toàn. SHA là mt trong  
năm gii thut băm được chp nhn bi FIFS – dùng để chuyn mt đon dliu nht  
định thành mt đon dliu có chiu dài không đổi vi xác sut khác bit cao.  
Thut toán băm SHA-256 có thchia làm hai giai đon: tin xlý và tính toán băm. Giai  
đon tin xđưa thông tin cn băm ( M ) vdng chun, phân tích M thành m-bit  
block, và cài đặt giá trban đầu cho giai đon tính toán băm. Giai đon tính toán băm sinh  
ra thông đip lit kê ca M tthông đip chun, và sdng lit kê đó cùng vi các chc  
năng, các hng s, các phép toán để sinh mt dãy các giá trbăm. Giá trbăm cui cùng  
sinh bi giai đon tính toán băm được sdng làm giá trbăm ca M.  
1.5.2.1 Các tham s, ký hiu và thut ngữ  
M
thông đip được băm  
a, b, c, …, h các biến thay đổi có độ dài w-bit sdng trong tính toán  
giá trbăm  
H(i)  
giá trbăm thi, H(0) là giá trkhi to, H(N) là giá trị  
băm cui cùng, sdng làm giá trbăm  
tthj ca giá trbăm thi, H0(i) là ttrái nht ca giá  
trbăm thi  
Hj(i)  
Kt  
k
hng ssdng cho vòng lp tht ca tính toán băm  
Ss0 thêm vào thông đip M trong quá trình to thông  
đip chun  
l
độ dài ca thông đip M tính theo bit  
sbit trong 1 block  
m
19  
M(i)  
Block thi  
Mj(i)  
tthj ca block thi, M0(i) là ttrái nht ca block i  
w
sbit ca mt từ  
T
w-bit tm thi sdng trong tính toán băm  
sblock ca thông đip chun  
w-bit tht ca thông đip lit kê  
N
Wt  
1.5.2.2 Phép toán  
^
phép toán end  
Ú
phép toán or  
Å
Ø
phép toán cng bit XOR  
phép phủ đnh  
+
phép cng theo modulo 2w  
<<  
>>  
phép dch trái, ở đây x<<n có nghĩa là x được dch trái n bit  
phép dch phi, x>>n có nghĩa là x được dch phi n bit  
1.5.2.3 Chuyn đổi dliu  
Mt số ở dng hexa là mt mng ca tp {0, 1, 2, … 9, a, b, …, f}. Mt shex là  
sbiu din ca chui 4 bit. Ví dshex “7” là biu din ca 4 bit “0111”, shex “a” là  
biu din ca chui 4 bit “1010”.  
Mt tlà chui w-bit có thsdng dng hex. Để chuyn mt tsang dng shex, mi  
chui 4 bit được tương ng chuyn sang shex. Ví dvi chui 32 bit :  
“1010 0001 0000 0011 1111 1110 0010 0011”  
Được chuyn thành “a103fe23” dưới dng shex  
Mt snguyên có thể được biu din bng mt thoc mt st. Mt snguyên nm  
gia 0 và 232 – 1 có thbiu din như là chui 32 bit. Ví dsnguyên 291 = 256 + 32 + 2  
+ 1 = 28 + 25 + 2 + 1 được biu din dưới dng 32 bit là :  
“0000 0000 0000 0000 0000 0001 0010 0011”  
được biu din dưới dng shex là : “ 00000123”  
20  
1.5.2.4 Các thut toán  
- Phép cng modulo 2w: phép cng modulo x+y được định nghĩa như sau: x,y là  
w
w
£
£
biu din ca 2 snguyên dương X và Y vi 0 X < 2 và 0 Y<2 tính Z = (X + Y)  
mod 2w, được 0  
Z < 2w, chuyn snguyên Z thành chui z được phép cng theo  
£
modulo 2w : z = x + y  
- SHRn(x) : là phép dch phi, vi x là tw-bit và n là snguyên dương vi 0  
n
£
< w được định nghĩa :  
SHRn(x) = x >> n  
- ROTRn(x) :  
ROTRn(x) = (x>>n) v (x<<w-n)  
- ROTLn(x) :  
ROTLn(x) = (x<<n) v (x >> w-n)  
1.5.2.5 Các hàm chc năng sdng trong SHA-256  
SHA-256 sdng 6 hàm chc năng , mi hàm chc năng làm vic trên các t32-  
bit được ký hiu là x,y và z. Kết qutrvca các hàm cũng là chui 32-bit. Các hàm  
chc năng trong SHA-256 là :  
Ø
Å
Ch (x,y,z) = (x ^ y) ( x ^ z)  
Å
Å
Maj (x,y,z) = (x ^ y) (x ^ z) (y ^ z)  
{256} (x)  
Å
Å
2
13  
= ROTR (x) ROTR (x) ROTR22(x)  
å 0  
å 1  
{256} (x)  
Å
Å
6
11  
= ROTR (x) ROTR (x) ROTR25(x)  
{256}  
7
18  
(x) = ROTR (x) ROTR (x) SHR3(x)  
σ
Å
Å
0
{256}  
17  
19  
(x) = ROTR (x) ROTR (x) SHR10(x)  
σ
Å
Å
1
1.5.2.6 Các hng ssdng trong SHA-256  
SHA-256 sdng mt mng 64 hng s32-bit, K0{256}, K1{256}…, K63{256}. Nhng  
t32-bit này được ly t32 bit đầu tiên ca phn phân strong kết quca phép ly căn  
bc 3 ca 64 snguyên tố đầu tiên  
hhex, nhng hng số đó là (ttrái qua phi):  
21  
Hình 1.17 : Mng 64 hng s32-bit Ki{256}  
1.5.2.7 Quá trình tin xlý thông đip M  
Thông đip M sẽ được xlý vê dng chun trước khi tính toán băm. Quá trình xử  
lý này bao gm ba phn : chun hóa M, phân tích M thành các block và khi to giá trị  
băm  
- Chun hóa M: GisM có độ dài L bit. Thêm bit 1 vào sau thông đip M, sau đó  
thêm k bit 0 , ở đây k là snguyên nhnht vi điu kin  
L + 1 + k = 448 mod 512.  
Sau đó thêm 64-bit là biu din nhphân ca L. Ví dthông đip M là “abc” (biu din  
dưới dng 8 bit – ASCII) có độ dài 8x3 = 24 bit. Quá trình xlý M sthêm bit 1 vào sau  
thông đip, sau đó thêm 448 – (24+1) = 423 bit 0, sau đó thêm 64-bit là biu din nhị  
phân ca 24. Ta thu được thông đip đã được xlý dng :  
Thông đip M thu được sđộ dài là bi sca 512  
- Phân tích thông đip M : thông đip M được phân tích thành N khi 512 bit, M(1),  
M(2),…,M(N). Mi khi 512-bit có thể được biu din như là 16 t32-bit. 32 bit đầu tiên  
(i)  
(i)  
ca block thi là M0 , 32 bit tiếp theo là M1(i) và ti M15  
22  
- Cài đặt giá trkhi to ca giá trbăm (H(0)): trước khi tính toán băm bt đầu giá  
trbăm H(0) cn được cài đặt dng hex như sau:  
Hình 1.18 : Các giá trkhi to ca giá trbăm  
Nhng giá trtrên được ly t32 bit đầu tiên trong kết quca phép ly căn bc  
hai ca 8 snguyên tố đầu tiên  
1.5.2.8 Thut toán băm SHA-256  
£
SHA-256 có thể được sdng để băm các thông đip M có độ dài L bit, vi 0  
< 264. Thut toán sdng :  
L
1. Thông đip M đã được xlý chun hóa  
Mng 64 t32-bit W0 , …, W63  
2.  
3. 8 biến tm có nhãn a, b, c, d, e, f, g, h, mi biến là mt chui 32-bit  
4.  
(0)  
(0)  
Mt giá trbăm ban đầu là 8 chui 32-bit,có nhãn H0 ,…, H7  
5. Sdng 2 biến tính toán T1, T2 là các chui 32-bit  
Quá trình tính toán băm : Vi mi i t1 ti N  
Bước 1 : Tính {Wt} theo công thc  
Wt = Mt(i)  
vi 0 £ t £ 15  
{256}  
{256} (Wt-15) + Wt-16 vi 16 £ t £ 63  
σ
σ
Wt =  
(Wt-2) + Wt-7 +  
1
0
Bước 2 :Gán 8 biến a, b, c, d, e, f, g, h bng giá trca giá trbăm th(i-1)  
(i-1)  
a = H0  
23  
(i-1)  
(i-1)  
(i-1)  
(i-1)  
b = H1  
c = H2  
d = H3  
e = H4  
(i-1)  
(i-1)  
f = H5  
g = H6  
(i-1)  
h = H7  
Bước 3 : Vi mi giá trca t t0 ti 63 thc hin các phép tính :  
T1 = h +  
{256} (e) + Ch (e, f, g) + Kt{256} + Wt  
å 1  
{256} (a) + Maj (a, b, c)  
T = å 0  
2
h = g  
g = f  
f = e  
e = d + T1  
d = c  
c = b  
b = a  
a = T1 + T2  
Bước 4: Tính giá trbăm thi hin thi H(i)  
(i)  
(i -1)  
(i -1)  
(i -1)  
H0 = a + H0  
(i)  
H1 = b + H1  
(i)  
H2 = c + H2  
(i)  
(i -1)  
H3 = d + H3  
(i)  
(i -1)  
H4 = e + H4  
(i)  
(i -1)  
H5 = f + H5  
24  
(i)  
(i -1)  
(i -1)  
H6 = g + H6  
(i)  
H7 = h + H7  
Sau khi vòng lp chy N ln, được kết qubăm ca M là :  
(N)  
H0(N)|| H1(N)|| H2(N)|| H3(N)|| H4(N)|| H5(N)|| H6(N)|| H7  
Chui bit này được định nghĩa như là bn băm ca dư liu đầu vào là thông đip M  
1.6 Kết lun  
Trong chương “Tng quan vmt mã” chúng ta đã tìm hiu vkhái nim mt mã,  
các hmt mã khóa đối xng và hmt mã khóa công khai, chký s… Chúng ta cũng  
đã tìm hiu vchun mã hóa AES – chun mã hóa tiên tiến đang ngày càng được sdng  
rng rãi, thut toán băm SHA-256 là thut toán băm phbiến ngày nay, nó đang được sử  
dng để thay thế thut toán băm MD5. Các thut toán mã hóa và thut toán băm trên  
chính là nn tng cơ bn để xây dng lên mt hthng mt mã an toàn.  
25  
CHƯƠNG 2. SINH TRC HC KT HP VI MT MÃ  
2.1 Sinh trc hc  
Sinh trc hc được định nghĩa như là các đặc đim sinh hc duy nht đo được để  
nhn dng tự động hoc xác thc mt người. Vic phân tích thng kê các đặc đim sinh  
hc này được gi theo tên khoa hc là sinh trc hc. Ngày nay, công nghsinh trc hc  
chyếu được sdng để phân tích đặc đim con người cho các mc đích an ninh. Có  
năm dng sinh trc hc đin hình nht cho các mc đích an ninh là vân tay, bàn tay, mng  
mt, khuôn mt và ging nói.  
Sdng các đặc đim sinh trc hc như là phương tin xác thc không phi là mt  
khái nim mi.  
Hình 2.1.Mt svân tay tìm được tthi xưa  
26  
Năm 1926, các nhân viên ca cơ quan tư pháp vài thành phca Mỹ đã gi ý  
dùng thvân tay cho FBI để to ra mt kho lưu các mu vân tay ca ti phm. Các  
chuyên gia trong lĩnh vc chp pháp sau đó có thnhn dng các mu vân tay đã được tp  
hp bng tay nơi xy ra ti ác vi các mu vân tay đã được lưu trong cơ sdliu ti  
phm để nhanh chóng tìm ra thphm. Sau nhiu năm nghiên cu phát trin sơ đồ phân  
loi đặc trưng vân tay và độ chính xác đã làm cho vic xlý nhn dng trnên khthi  
bng cách gim ti đa thi gian tìm kiếm dliu được yêu cu. Đầu nhng năm 1960 FBI  
đã đầu tư mt thi gian và công sc ln vào vic phát trin hthng xác thc vân tay tự  
động. Stự động ca vic xác thc sinh trc hc cho các mc đích chp pháp này din ra  
đồng thi vi vic phát trin các hthng đã được tự động hóa cho các ng dng truy cp  
bo mt cao. Các hthng xác thc vân tay đã được trin khai trong các hthng qun lý  
truy cp tcui nhng năm 1960. Trong sut nhng năm 1970, mt sn phm sinh trc  
hc da trên kích thước hình hc ca bàn tay đã được gii thiu trong mt scác ng  
dng qun lý truy cp. Squan tâm nhn dng sinh trc hc cũng đã chuyn tcác đặc  
đim ca bàn tay sang các đặc đim ca mt. Gia nhng năm 1980 hthng đầu tiên đã  
phân tích các mu dng duy nht ca võng mc được gii thiu đồng thi cũng thc hin  
phân tích các mu dng mng mt.  
Nhng năm 1990, vic nghiên cu tiếp tc phát trin các hthng nhn dng da  
trên sự đa dng phong phú các dng sinh trc hc như là các dng sinh trc hc truyn  
thng : vân tay, hình nh bàn tay, mng mt và võng mc, kèm theo là phát trin ca các  
hthng nhn dng ging nói, chký, hình nh lòng bàn tay và khuôn mt. Thêm vào đó,  
các gii pháp có tính cht đổi mi cũng đang được kho sát cho vic phân tích sinh trc  
hc như tai, DNA và mùi cơ th.Tuy nhiên trong lun văn này, chúng ta chtìm hiu về  
du vân tay .  
2.2 Các khái nim sinh trc hc vvân tay  
2.2.1 Khái nim vân tay  
Vân tay là nhng đường vân và đường rãnh có trên ngón tay người. Nó là mt  
tham ssinh hc bt biến theo tui, đặc trưng cho mi người, nghĩa là mi người chcó  
mt dng vân tay duy nht và nó tn ti , không thay đổi trong sut cuc đời cho dù có  
phi chu nhng tn thương như đứt tay, bng… sau khi phc hi du vân tay scó dng  
cũ, không thay đổi. Skhông thay đổi theo thi gian ca vân tay đã được khoa hc chng  
minh nhưng sduy nht ca vân tay đến nay vn còn là mt bài toán m, kết lun này  
được rút ra bng kinh nghim hơn 100 năm ca ngành nghiên cu vân tay.  
Có nhiu hình thc thu thp nh vân tay khác nhau, tương ng vi các hình thc  
thu thp nh vân tay, chúng ta có các loi nh vân tay khác nhau vcht lượng nh cũng  
như sbiến dng. Sau đây chúng ta stìm hiu vnhng dng nh vân tay tiêu biu nht :  
27  
- nh mc (inked fingerprint) : nh mc là nh thu được bng cách nhúng đầu  
ngón tay vào mc ri lăn lên mt vt trung gian, chng hn như mt tgiy. nh này sau  
đó sẽ được shóa bng máy quét (Scanner) và lưu vào máy tính. nh vân tay trong  
chng minh thư nhân dân nh mc  
- nh lăn tay : Là loi nh mc thu được bng cách lăn đầu ngón tay đã nhúng  
mc lên trên giy, hay mt vt gì khác. Vi nh lăn tay, vùng nh smrng ra và các  
đường vân cũng giày hơn thc tế. Do đó nh lăn tay có nhiu thông tin bsai lch  
- nh đim ch: nh đim chlà loi nh mc thu được bng cách n đầu ngón tay  
đã nhúng mc lên trên tgiy, hay mt vt trung gian khác. nh đim chcó vùng vân  
tay nhhơn trên thc tế, nhưng li có ít thông tin bsai lch hơn so vi nh lăn tay  
- nh thu trc tiếp trên scanner : nh thu trc tiếp trên máy quét là nh thu được  
bng cách n đầu ngón tay trc tiếp lên trên máy quét. Cht lượng ca nh loi này cũng  
phthuc vào điu kin thu nhn, ví dnhư cht lượng ca máy quét, tay sch hay bn,  
tay ướt…  
Tuy nhiên do thu nhn trc tiếp nên ta có thquan sát vân tay được thu nhn, và do đó có  
thể điu chnh được cht lượng ca nh vân tay. Nói chung, nh vân tay loi này có cht  
lượng tt hơn anh mc và nh ly hin trường rt nhiu  
- nh ly ti hin trường (nh Latent) : Trong lĩnh vc hình s, mt loi nh vân  
tay được đặc bit là nh vân tay thu nhn ti hin trường, chng hn du vân tay còn in  
trên mt bàn, vchai,… nh vân tay này do các đối tượng có liên quan để li ti hin  
trường. nh vân tay loi này nói chung là không tt, và thường là không đầy đủ toàn bộ  
vân tay mà chcó mt phn vân tay.  
2.2.2 Các loi vân tay  
Có nhiu cách định nghĩa các lp vân tay. mc này, lun văn strình bày các lp  
vân tay được FBI sdng khi phân loi vân tay bng phương pháp thcông do các  
chuyên gia vân tay thc hin. Theo cách phân loi này, có tt c8 lp vân tay chia làm 3  
nhóm chính như sau :  
Nhóm các lp hình cung :  
- Lp hình cung (Arch) : Loi vân tay này có các đường vân xut phát tmt cnh  
ca vân tay, chy dc sang tn cnh bên kia. phn gia có thxut hin các vân có  
dng gò thp hoc dng sóng  
- Lp hình mái vòm ( Tented Arch) : Vân tay loi này có các đường vân phía ngoài  
chy dài tcnh này sang cnh kia nhưng các đường vân gia li không xut phát từ  
28  
cnh. Các đường vân gia này hp vi nhau các góc nhhơn 900 và có ít nht mt  
đường vân to ra đim nhn gia  
· Nhóm các lp hình quai gm các vân có đường vân đủ cong, đồng thi các  
đường vân cong này ct đường ni gia đim tâm và đim tam giác. Nhóm  
gm 2 lp :  
- Lp hình quai trái ( Left Loop ) : hướng quai ca đường vân nghiêng vbên  
trái.  
- Lp hình quai phi ( Right Loop) : hướng quai ca đường vân nghiêng vbên  
phi.  
· Nhóm các lp hình xoáy bao gm :  
- Lp hình xoáy trơn (Whorl): gm các vân tay có 2 đim tam giác và có ít nht  
mt đường vân khép kín  
- Lp hình quai bao gia (Central Pocket Loop) : gm các vân tay có 2 đim tam  
giác và mt đường cong không ct qua đường thng ni 2 đim tam giác đó  
(tc là mt đường cong to thành mt đảo cô lp)  
- Lp hình quai đôi ( Double Loop) : Gm các vân tay có 2 đim tam giác và 2  
đon vân un ngược li tương ng  
- Lp hình xoáy ph( Accidental Whorl) : Gm các vân tay có đặc trưng ca 2  
lp trlên hoc không có đặc trưng ca bt klp nà0.  
29  
Hình 2.2 Các loi vân tay  
2.2.3 Các đặc trưng ca vân tay  
Để xlý và phân tích hình nh vân tay, người ta sdng các đặc trưng ni bt  
trong nh. Có 2 loi đặc trưng được định nghĩa trong vân tay đó là :  
Các đặc trưng tng thlà các loi đặc trưng biu din cu trúc chung ca toàn bvân tay  
Các đặc trưng cc b: là các đim đặc bit trong các đường vân ca tay. Nó chỉ đại din  
cho cu trúc đường vân trong lân cn cc bvi nó mà thôi. Chính vì vy tp hp các  
đim đặc trưng cc bcó tính cá nhân tc là mi tp các đặc trưng cc bchxut hin  
trong mt vân tay duy nht.  
Nếu như đặc trưng cc bcó tính cá nhân, thì các đặc trưng tng thể đáng chú ý tính  
duy nht và tng quát ca chúng. Mi vân tay chcó mt sít các đặc trưng tng th, do  
đó vic qun lý các đặc trưng này khá ddàng . Mt khác do các đặc trưng tng thể đại  
30  

Tải về để xem bản đầy đủ

pdf 67 trang yennguyen 19/04/2025 50
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu tìm hiểu về mật mã sinh trắc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_nghien_cuu_tim_hieu_ve_mat_ma_sinh_trac.pdf