Tìm hiểu và phát triển cơ chế bảo mật mã nguồn mở của MySQL

132 10 0
Tìm hiểu và phát triển cơ chế bảo mật mã nguồn mở của MySQL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯ NG Đ I H C KHOA H C T NHIÊN TP HCM KHOA CÔNG NGH THÔNG TIN B MÔN H TH NG THÔNG TIN Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch) b+o m-t mã ngu1n m2 c3a mySQL Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL TRƯ NG Đ I H C KHOA H C T NHIÊN TP HCM KHOA CÔNG NGH THÔNG TIN B MÔN H TH NG THÔNG TIN Khu t Th Ng c Bích Lê Th Trúc Lâm 0112046 0112101 Tìm hi u phát tri n ch) b+o m-t mã ngu1n m2 c3a mySQL LU:N VĂN C= NHÂN TIN H C GIÁO VIÊN HƯ@NG DBN: Th.S: PH M THE B CH HU NIÊN KHOÁ: 2001I2005 Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL GIÁO VIÊN HƯ@NG DBN Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL NH:N XÉT CMA GIÁO VIÊN PHNN BI N Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL L I CNM ƠN Chúng em xin chân thành cám ơn Khoa Công Ngh$ Thông Tin, trư=ng Đ?i H c Khoa H c TA Nhiên, Đ?i h c QuBc gia Tp HC Chí Minh t?o điFu ki$n thu#n lHi cho chúng em thAc hi$n ñF tài lu#n văn tBt nghi$p Chúng em xin nói lên lịng bi t ơn sâu sLc ñBi vMi ThS Ph?m Th B?ch Hu$ Xin chân thành cám ơn Cơ ln quan tâm, t#n tình hưMng dPn em trình h c t#p, nghiên cQu thAc hi$n ñF tài Em xin chân thành cám ơn quý ThTy Cô Khoa Cơng Ngh$ Thơng Tin t#n tình gi!ng d?y, trang b cho em nh)ng ki n thQc quý báu, ñã truyFn thU cho em nh)ng ki n thQc, kinh nghi$m, ñã quan tâm dìu dLt giúp ñV em trình h c t#p lúc thAc hi$n đF tài Chúng ln nhM cơng ơn cXa Ơng Bà, Cha MZ ln thương u, lo lLng, chăm sóc ni d?y thành ngư=i CuBi chúng em xin g\i l=i cám ơn ñ n anh ch , b?n ñã quan tâm ñ]ng viên giúp ñV chúng em trình thAc hi$n ñF tài Đ^c bi$t, chúng em xin g\i l=i c!m ơn chân thành đ n thTy Nguy_n Đình Thúc, ch TrTn HCng Ng c, ch Trương Th M` Trang ñã ñ]ng viên, giúp ñV chúng em th=i gian thAc hi$n ñF tài M^c dù ñã cB gLng hoàn thành lu#n văn ph?m vi kh! cho phép chLc chLn sb không tránh khci nh)ng thi u sót, kính mong nh#n đưHc sA t#n tình chd b!o cXa quý ThTy Cô b?n M]t lTn n)a, chúng em xin chân thành cám ơn mong ln nh#n đưHc nh)ng tình c!m chân thành cXa t t c! m i ngư=i Tp HC Chí Minh, tháng năm 2005 Khu t Th Ng c Bích – Lê Th Trúc Lâm Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL MPC LPC Chương 1.1 GiMi thi$u 12 Thng quan b!o m#t 12 1.1.1 Nh#n ñ nh vF b!o m#t .12 1.1.2 Các chiFu hưMng b!o m#t thông tin : 13 1.1.3 B!o m#t thông tin .15 1.2 Tình hình an tồn b!o m#t th giMi ' Vi$t Nam 17 1.2.1 Trên th giMi : nhu cTu ñang gia tăng .17 1.2.2 l Vi$t Nam .18 1.3 Xu hưMng mã nguCn m' 19 1.3.1 LHi ích cXa phTn mFm mã nguCn m' (PMNM) .19 1.3.2 Vi$t Nam 19 1.4 Chương 2.1 MUc tiêu cXa ñF tài 20 Các s' lý thuy t b!o m#t .21 Secret Key Cryptography(H$ Mã hoá quy ưMc) .21 2.1.1 GiMi thi$u 21 2.1.2 Phân lo?i thu#t toán 22 2.1.3 M]t vài thu#t tốn SKC đưHc s\ dUng ngày .23 2.1.4 Đánh giá phương pháp mã hóa quy ưMc 23 2.2 Public Key Crytography (Mã hoá công khai) 24 2.2.1 GiMi thi$u chung .24 2.2.2 Đánh giá phương pháp mã hóa cơng khai 24 2.3 2.3.1 Hash Function (hàm Băm) 26 GiMi thi$u hàm Băm 26 Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL 2.3.2 Tính ch t cXa hàm băm 27 2.3.3 C u trúc cXa hàm băm 28 2.3.4 GiMi thi$u m]t sB hàm băm 28 Chương H$ qu!n tr s' d) li$u MySQL 30 3.1 GiMi thi$u h$ qu!n tr s' d) li$u MySQL 30 3.1.1 GiMi thi$u 30 3.1.2 B!n ch t 31 3.1.3 Các ki u d) li$u 32 3.1.4 Statement function .32 3.1.5 B!o m#t .33 3.1.6 Kh! m' r]ng giMi h?n 33 3.1.7 K t nBi 34 3.1.8 MQc h?n ñ nh 35 3.2 Cơ ch b!o m#t MySQL 35 3.2.1 Thng quan b!o m#t 35 3.2.2 B!o m#t môi trư=ng m?ng 36 3.2.3 Các khái ni$m b!n .36 3.2.4 B!o m#t s' d) li$u .44 Chương Thu#t toán b!o m#t password MySQL 60 4.1 Thu#t toán SHA 60 4.1.1 Ý tư'ng thu#t toán BĂM SHA .60 4.1.2 Thu#t toán SHA 66 4.1.3 Đánh giá ưu khuy t ñi m 68 4.2 4.2.1 Các thu#t tốn đF xu t 70 SHA 224, SHA 256, SHA 384 SHA 512 70 Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL 4.2.2 Thu#t toán Tiger .75 4.2.3 Thu#t toán Whirlpool 78 4.2.4 So sánh SHA 1, Tiger, Whirlpool 87 Chương Cài ñ^t th\ nghi$m 89 5.1 Yêu cTu chQc chương trình 89 5.2 Chương trình cài đ^t 89 5.2.1 HưMng dPn cài ñ^t MySQL ty source code 89 5.2.2 HưMng dPn thAc thi chương trình .94 5.3 GíMi thi$u chương trình cài ñ^t .94 5.3.1 Chương trình 94 5.3.2 Chương trình phU 102 5.4 Chương 6.1 K t qu! thAc nghi$m .104 K t lu#n hưMng phát tri n 106 K t lu#n 106 6.1.1 Cơ ch b!o m#t HQT CSDL MySQL .106 6.1.2 Chương trình HashFunction 107 6.2 HưMng phát tri n 107 6.2.1 Cơ ch b!o m#t HQTCSDL MySQL 107 6.2.2 Chương trình Qng dUng 107 Tài li$u tham kh!o 109 PhU lUc… 112 PhU lUc A Thu#t toán SHA 112 A.1 H|ng sB s\ dUng SHA 112 A.1.1 H|ng sB cXa SHA 112 A.1.2 H|ng sB cXa SHA 224 SHA 256 112 Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL A.1.3 H|ng sB cXa SHA 384 SHA 512 113 A.2 Giá tr kh'i t?o SHA 115 A.3 Các thao tác tiFn x\ lý SHA 115 A.4 Thu#t tốn tính hàm BĂM SHA 116 A.4.1 SHA 116 A.4.2 SHA 224 118 A.4.3 SHA 256 119 A.4.4 SHA 384 121 A.4.5 SHA 512 123 PhU lUc B Thu#t toán Tiger 125 PhU lUc C T n công SHA 128 Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL Danh sách b+ng B!ng 1.1.2 Các chiFu hưMng b!o m#t 14 B!ng 2.2.2 : Kích thưMc khóa gi)a mã hóa quy ưMc mã hóa khóa cơng khai vMi mQc ñ] b!o m#t 25 B!ng 3.1.6 Kích thưMc giMi h?n cXa file h$ thBng MySQL 34 B!ng 3.2.4.2.a Danh sách c]t cXa b!ng user, host, db MySQL 46 B!ng 3.2.4.2.b B!ng tables_priv, columns_priv MySQL 48 B!ng 3.2.4.2.d Ph?m vi c]t b!ng 50 B!ng 3.2.4.2.e Các giá tr c]t phân quyFn 51 B!ng 3.2.4.3.a Danh sách ñ^c quyFn .53 B!ng 3.2.4.3.b Danh sách ñ^c quyFn qu!n tr .54 B!ng 4.2.1.1 Các tính ch t cXa thu#t tốn băm an toàn .71 B!nng 5.3.2.2 So sánh SHA 1, Tiger, Whirlpool 88 B!nng 5.3.2.2 Các hàm SHA 1, Tiger,Whirlpool 103 B!ng B.1 Máy CPU Celeron 950MHz, SDRAM 128 MB, HDD 40GB, Processor 32bit 104 B!ng B.2 Máy CPU PentiumIV 1,5 GHz, DDRAM 384MB, HDD 30 GB, Processor 32bit 104 B!ng B.3 Máy CPU PentiumIV 2.26 GHz, DDRAM 225MB, HDD 40GB, Processor 32bit 105 B!ng B.4 Máy CPU PentiumIV 2.4 GHz, DRAM 225 MB, HDD 40 GB, Processor 32bit 105 Khu t Th Ng c Bích Lê Th Trúc Lâm Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL b = H1(i 1) c = H2(iO1) d = H3(iO1) e = H4(i 1) VMi t = ñ n 79: { T = ROTL5(a) + ft(b,c,d) + e + Kt + Wt e=d d=c c = ROTL30(b) b=a a=T } Tính giá tr băm H(i) cXa vịng l^p thQ i H0(i) = a + H0(iO1) H1(i)= b + H1(i 1) H2(i)= c + H2(iO1) H3(i)= d + H3(iO1) H4(i)= e + H4(i 1) Sau l^p bưMc N lTn (sau x\ lý M(N)), thơng đi$p rút g n 160 bit cXa thơng đi$p M : H0(N) || H1(N) || H2(N) || H3(N) || H4(N) Ký hi$u || chd phép nBi chuƒi bit theo thQ tA đ nh Khu t Th Ng c Bích Lê Th Trúc Lâm 117 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL A.4.2 SHAI224 SHA 224 s\ dUng hai ty ñơn t?m T1, T2 VMi i = ñ n N { Chu‡n b b!ng phân bB thơng đi$p {Wt} M t(i ) Wt =  {256} σ (Wt − ) + Wt −7 + σ 0{256} (Wt −15 ) + Wt −16 ≤ t ≤ 15 16 ≤ t ≤ 63 Kh'i t?o bi n a, b, c, d, e, f, g, h vMi giá tr băm thQ i a = H0(iO1) b = H1(iO1) c = H2(iO1) d = H3(iO1) e = H4(iO1) f = H5(iO1) g = H6(iO1) h = H7(iO1) VMi t = ñ n 63: { T1 = h + ∑1{256}(e) + Ch(e, f, g) + Kt{256} + Wt T2 = ∑0{256}(a) + Maj(a, b, c) h=g g=f f=e e = d + T1 Khu t Th Ng c Bích Lê Th Trúc Lâm 118 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL d=c c=b b=a a = T1 + T2 } Tính giá tr băm H(i) cXa vòng l^p thQ i H0(i) = a + H0(iO1) H1(i)= b + H1(i 1) H2(i)= c + H2(iO1) H3(i)= d + H3(iO1) H4(i)= e + H4(i 1) H5(i)= f + H5(iO1) H6(i)= g + H6(iO1) H7(i)= h + H7(iO1) } Sau l^p bưMc N lTn ( sau x\ lý M(N)), thơng đi$p rút g n 224 bit cXa thơng đi$p M : H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N) A.4.3 SHAI256 SHA 256 s\ dUng hai ty ñơn t?m T1, T2 VMi i = ñ n N { Chu‡n b b!ng phân bB thông ñi$p {Wt} Khu t Th Ng c Bích Lê Th Trúc Lâm 119 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL M t( i ) Wt =  {256} σ (Wt − ) + Wt −7 + σ 0{256} (Wt −15 ) + Wt −16 ≤ t ≤ 15 16 ≤ t ≤ 63 Kh'i t?o bi n a, b, c, d, e, f, g, h vMi giá tr băm thQ i a = H0(iO1) b = H1(iO1) c = H2(iO1) d = H3(iO1) e = H4(iO1) f = H5(iO1) g = H6(iO1) h = H7(iO1) VMi t = ñ n 63: { T1 = h + ∑1{256}(e) + Ch(e, f, g) + Kt{256} + Wt T2 = ∑0{256}(a) + Maj(a, b, c) h=g g=f f=e e = d + T1 d=c c=b b=a a = T1 + T2 } Tính giá tr băm H(i) cXa vòng l^p thQ i Khu t Th Ng c Bích Lê Th Trúc Lâm 120 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL H0(i) = a + H0(iO1) H1(i)= b + H1(iO1) H2(i)= c + H2(iO1) H3(i)= d + H3(iO1) H4(i)= e + H4(iO1) H5(i)= f + H5(iO1) H6(i)= g + H6(iO1) H7(i)= h + H7(iO1) } Sau l^p bưMc N lTn ( sau x\ lý M(N)), thơng đi$p rút g n 256 bit cXa thơng đi$p M : H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N) || H7(N) A.4.4 SHAI384 SHA 384 s\ dUng hai ty ñơn t?m T1, T2 VMi i = ñ n N { Chu‡n b b!ng phân bB thông ñi$p {Wt} M t( i ) Wt =  {512} σ (Wt − ) + Wt −7 + σ 0{512} (Wt −15 ) + Wt −16 ≤ t ≤ 15 16 ≤ t ≤ 79 Kh'i t?o bi n a, b, c, d, e, f, g, h vMi giá tr băm thQ i a = H0(iO1) b = H1(iO1) c = H2(iO1) Khu t Th Ng c Bích Lê Th Trúc Lâm 121 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL d = H3(iO1) e = H4(iO1) f = H5(iO1) g = H6(iO1) h = H7(iO1) VMi t = ñ n 63: { T1 = h + ∑1{512}(e) + Ch(e, f, g) + Kt{512} + Wt T2 = ∑0{512}(a) + Maj(a, b, c) h=g g=f f=e e = d + T1 d=c c=b b=a a = T1 + T2 } Tính giá tr băm H(i) cXa vòng l^p thQ i H0(i) = a + H0(iO1) H1(i)= b + H1(iO1) H2(i)= c + H2(iO1) H3(i)= d + H3(iO1) H4(i)= e + H4(iO1) Khu t Th Ng c Bích Lê Th Trúc Lâm 122 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL H5(i)= f + H5(iO1) H6(i)= g + H6(iO1) H7(i)= h + H7(iO1) } Sau l^p bưMc N lTn ( sau x\ lý M(N)), thơng đi$p rút g n 384 bit cXa thơng đi$p M : H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) A.4.5 SHAI512 SHA 512 s\ dUng hai ty ñơn t?m T1, T2 VMi i = ñ n N { Chu‡n b b!ng phân bB thơng đi$p {Wt} M t Wt =  {512} σ (Wt − ) + Wt −7 + σ 0{512} (Wt −15 ) + Wt −16 (i ) ≤ t ≤ 15 16 ≤ t ≤ 79 Kh'i t?o bi n a, b, c, d, e, f, g, h vMi giá tr băm thQ i a = H0(iO1) b = H1(iO1) c = H2(iO1) d = H3(iO1) e = H4(iO1) f = H5(iO1) g = H6(iO1) h = H7(iO1) Khu t Th Ng c Bích Lê Th Trúc Lâm 123 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL VMi t = ñ n 63: { T1 = h + ∑1{512}(e) + Ch(e, f, g) + Kt{512} + Wt T2 = ∑0{512}(a) + Maj(a, b, c) h=g g=f f=e e = d + T1 d=c c=b b=a a = T1 + T2 } Tính giá tr băm H(i) cXa vịng l^p thQ i H0(i) = a + H0(iO1) H1(i)= b + H1(iO1) H2(i)= c + H2(iO1) H3(i)= d + H3(iO1) H4(i)= e + H4(iO1) H5(i)= f + H5(iO1) H6(i)= g + H6(iO1) H7(i)= h + H7(iO1) } Sau l^p bưMc N lTn ( sau x\ lý M(N)), thơng đi$p rút g n 512 bit cXa thơng ñi$p M Khu t Th Ng c Bích Lê Th Trúc Lâm 124 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N) || H7(N) Phm lmc B Thu-t tốn Tiger Vi$c tính tốn bao gCm lTn thông qua hàm pass, cQ gi)a hai hàm pass hàm key schedule, hàm có tác dUng bi n ñhi d?ng d) li$u ñTu vào ngăn c!n kˆ t n cơng lHi dUng tính thưa cXa d) li$u vòng l^p qua hàm pass CuBi hàm feedforward đưHc dùng, ' giá tr cXa a, b, c ñưHc k t hHp vMi giá tr kh'i đTu cXa đ cho giá tr băm hi+1: save_abc pass(a, b, c, 5) key_schedule pass(c, a, b, 7) key_schedule pass(b, c, a, 9) feedforward Trong đó: save_abc lưu lfi giá trb hi aa = a bb = b cc = c dd = d pass(a, b, c, mul) là: round(a, b, c, x0, mul); round(b, c, a, x1, mul); round(c, a, b, x2, mul); Khu t Th Ng c Bích Lê Th Trúc Lâm 125 Tìm hi u phát tri n ch b!o m#t h$ qu!n tr s' d) li$u MySQL round(a, b, c, x3, mul); round(b, c, a, x4, mul); round(c, a, b, x5, mul); round(a, b, c, x6, mul); round(b, c, a, x7, mul); đó: c ^= x; a = t1[c0] ^ t2[c2] ^ t3[c4] ^ t4[c6] ; b += t4[c1] ^ t3[c3] ^ t2[c5] ^ t1[c7] ; b *= mul; l ñây c_i byte thQ i cXa c (0 ≤ i ≤ 7) t1 ñ n t4 b!ng S_box đưHc trình bày t#p tin “sboxes.h” đính kèm key_schedule x0 = x7 ^ 0xA5A5A5A5A5A5A5A5; x1 ^= x0; x2 += x1; x3 = x2 ^ ((~x1)23); x7 ^= x6; x0 += x7; x1 = x0 ^ ((~x7)

Ngày đăng: 27/02/2022, 09:01

Tài liệu cùng người dùng

Tài liệu liên quan