1
B GIÁO DCĐÀO TO
ĐI HC ĐÀ NNG
NGUYN CU TH ÁNH MAI
NGHIÊN CU GII PHÁP
BO MT CƠ S D LIU SQL SERVER
BNG PHƯƠNG PHÁP MÃ HÓA
Chuyên ngành: Khoa hc máy tính
Mã s: 60.48.01
TÓM TT LUN VĂN THC SĨ K THUT
Ngưi hưng dn khoa hc: PGS.TSKH. TRN QUC CHIN
ĐÀ NNG, 2010
2
Công trình ñưc hoàn thành ti
ĐI HC ĐÀ NNG
Ngưi hưng dn khoa hc: PGS.TSKH. TRN QUC CHIN
Ph n bi!n 1: TS. NGUYN THANH BÌNH
Ph n bi!n 2: TS. TRƯƠNG CÔNG TU"N
Lun văn ñưc bo v ti Hi ñng chm Lun văn tt nghip thc sĩ
k thut hp ti Đi hc Đà Nng vào ngày 15 tháng 10 năm 2010.
* Có th tìm hiu lun văn ti
- Trung tâm Thông tin - Hc liu, Đi hc Đà Nng
- Trung tâm Hc liu, Đi hc Đà Nng
3
M ĐU
1. Lý do chn ñ$ tài
Thông tin luôn mt tài sn giá ca doanh nghip cn
ñưc bo v bng mi giá. Tuy nhiên, vi nhng ñòi hi ngày càng
gt gao ca môi trưng kinh doanh yêu cu doanh nghip phi năng
ñng chia s thông tin ca mình cho nhiu ñi tưng khác nhau qua
Internet hay Intranet, vic bo v thông tin tr nên ngày càng quan
trng và khó khăn hơn bao gi ht.
Hu ht các doanh nghip ngày nay ñu s d ng các h qun
tr! cơ s d liu (CSDL) ñ" lưu tr tp trung tt c các thông tin quý
giá ca mình. H thng này s# tiêu ñi"m tn công ca nhng k
xu. $ m%c ñ nh&, các tn công s# làm h thng CSDL b! hng hóc,
hot ñng không 'n ñ!nh, mt mát d liu làm cho các giao d!ch hàng
ngày ca doanh nghip b! ñình tr. Nghiêm trng hơn, các thông tin
sng còn ca doanh nghip b! tit l (như chin lưc kinh doanh, các
thông tin v khách ng, nhà cung cp, tài chánh, m%c lương nhân
viên,…) ñưc ñem bán cho các doanh nghip ñi th. th" nói
thit hi ca vic thông tin b! rò r( là vô cùng kinh khng. Đó s# là
mt ñòn chí mng ñi vi uy tín ca doanh nghip ñi vi khách
hàng và các ñi tác.
vy vn ñ bo mt CSDL tr nên cp bách và rt cn thit cho
tt c mi ngưi và nht ñi vi c cơ quan lưu tr nhng d liu
quan trng. Mt trong nhng cách bo mt CSDL là s d ng phương
pháp mã a. Đây cũng lý do i chn ñ tài: Nghiên cu gii pháp
bo mt cơ s d liu SQL Server bng phương pp mã a.
4
2. M%c tiêu và nhi!m v%
Nghiên c%u, tìm hi"u h qun tr! CSDL SQL Server
2008 nhm tìm ra các gii pháp bo mt ca h qun tr!
CSDL ñ" gii quyt ba vn ñ cơ bn tính mt,
tính toàn v&n ca d liu tính sn sàng ca h thng
d liu.
Nghiên c%u c tính năng hóa trong SQL Server
2008.
D*a trên các nh năng này xây d*ng chương trình th*c
hin ch%c năng hóa CSDL, xây d*ng cơ ch phân
quyn ñi vi d liu ñã ñưc hóa, th*c hin các
thao tác ñiu khi"n d liu.
Tính năng mã hóa trong SQL Server 2008 ch(th"
hóa t+ng ct. Điu này khin cho vic mun bo mt
thông tin ca mt ñi tưng nào ñó thì bt buc phi mã
hóa toàn b các ct lưu tr d liu ca tt c các ñi
tưng trong bng. Đ" khc ph c khuyt ñi"m này tôi
ý tưng xây d*ng chương trình th*c hin hóa dòng
d liu ca bng. Ch( nhng dòng d liu cn ñưc che
du s# ñưc th*c hin bng cách mã hóa, d liu còn li
v,n hi"n th! bình thưng.
3. Đi tư&ng và ph'm vi nghiên c(u
Đi tưng trng tâm ca ñ tài hình hóa vi nhng
ni dung c th" ca gm: các k thut hóa phương hưng
mã hóa cho CSDL lưu trong SQL Server 2008.
Phm vi nghiên c%u ca ñ tài bao gm nghiên c%u thuyt
xây d*ng chương trình mã hóa CSDL SQL Server 2008. Gii hn
5
nghiên c%u %ng d ng trong phm vi ca h qun tr! CSDL SQL
Server 2008.
4. Phương pháp nghiên c(u
Vi các m c tiêu trên tôi chn phương pháp nghiên c%u lý thuyt
kt hp th*c nghim. Đ tài d* ñ!nh tin hành theo các bưc sau:
Nghiên c%u thuyt v k thut hóa trong SQL
SERVER 2008.
Nghiên c%u phương pháp xây d*ng tng mã hóa s d ng
cơ ch có sn trong CSDL SQL SERVER 2008.
Nghiên c%u các thut toán hóa ñưc s d ng trong
các k thut mã hóa ca SQL Server 2008.
Nghiên c%u gii pháp hóa d liu m%c %ng d ng,
gii pháp này x hóa d liu trưc khi truyn d
liu vào CSDL SQL SERVER 2008.
Cài ñ-t chương trình hóa dòng d liu bng ngôn
ng lp trình Java.
5. Ý nghĩa khoa hc và th+c ti,n c-a ñ$i
Các k thut mã hóa ca SQL Server 2008 to nên mt
hình tng mã hóa. Mô hình này truy xut d liu t+ bng o và lưu d
liu mã hóa vào bng gc.
Ngoài cách s d ng cơ ch có sn trong SQL Server 2008, mô
hình tng hóa này còn ñưc th*c hin bng cách hóa d liu
bi %ng d ng trưc khi lưu d liu vào CSDL SQL Server 2008.
Vic hóa d liu trong CSDL mt gii pháp ca tương
lai. Đn mt lúc nào ñó chúng ta s# không còn lưu d liu ti mt
máy c ñ!nh mà hưng ñn vic lưu tt c d liu trên mng Internet,
vic mt mát ñ" l thông tin ñiu không tránh khi. vy ch(
6
mt gii pháp ñó hóa chúng ñ" bt c% ai cũng không ñc ñưc
thông tin này.
Các nghiên c%u ca lun văn góp phn chuy"n ti thông tin v
các k thut hóa d liu ñn ngưi xây d*ng %ng d ng qun
CSDL. Giúp ci thin tư duy bo mt d liu ca bn thân, vn d ng
có hiu qu cách th%c ñm bo an toàn d liu.
6. B c%c lu.n văn
Lun văn ñưc b c c trong ba chương.
Chương 1: Mã hóa d liu trong SQL SERVER 2008.
Trìnhyc tính năng mã hóa trong SQL Server 2008. M.i tính
năng có cách th*c hin và ưu nhưc ñi"m riêng. Ngoài ra trong chương
y còn trình y v mô hình tng mã hóa trong SQL Server 2008.
Chương 2: Thut toán hóa d liu trong SQL SERVER
2008.
t các thut toán hóa d liu ñưc s d ng trong SQL
Server 2008.
Chương 3: ng dng mã hóa dòng d liu vi java.
Trình bày thuyt hóa ca Java ý tưng v hóa
dòng d liu ñưc lưu tr trong SQL Server 2008.
CHƯƠNG 1
MÃ HÓA D LIU TRONG SQL SERVER 2008
1.1. Các khái ni!m cơ b n c-a hóa d0 li!u trong SQL
Server
Trong bi cnh bo mt d liu, quá trình hóa ñưc s
d ng ñ" chuy"n ñ'i ho-c mã hóa d liu gc thành d liu không th"
7
ñc ñưc gi văn bn mã sau ñó gii mã tr li thành mt ñ!nh
dng có th" ñc ñưc gi là văn bn rõ.
Phn này trình bày v các khóa ñưc s d ng ñ" th*c hin
ch%c năng hóa trong SQL Server mi quan h gia các khóa
vi nhau trong h thng khóa cp bc. Các khóa này phi ñm bo
rng chúng cung cp mt m%c ñ bo v nht quán, lâu i ñng thi
luôn luôn an toàn vi quá trình sao lưu d liu.
1.1.1. Khóa
Thành phn chính ca hóa khóa. M.i khóa ch%a thut
toán, trình t* th*c hin ch%c năng hóa khác nhau do SQL Server
cung cp ñ" mã hóa và gii mã d liu.
1.1.2. H thng phân cp khóa mã hóa
Hình 1.1. H thng khóa phân cp.
Khóa ch
CSDL
(DMK)
Khóa ch
d!ch v
(SMK)
Windows
Data
Protection
API
Ch%ng
nhn
Khóa bt
ñi x%ng
Khóa ñi
x%ng
Khóa mã
hóa d
liu
(DEK)
8
H thng phân cp này cung cp mt cơ s bo mt cao cho d
liu nhy cm. Ti phía trên cùng ca h thng phân cp này là khóa
ch d!ch v SMK, khóa này th*c hin bo v khóa ch CSDL DMK
ti m.i %ng d ng CSDL trong SQL Server. Khóa ch CSDL DMK
ñưc s d ng ñ" hóa các khóa riêng như khóa bt ñi x%ng
ch%ng nhn trong CSDL. Khóa bt ñi x%ng, ch%ng nhn ñưc s
d ng ñ" bo v khóa riêng tư khác, ñó khóa ñi x%ng d liu
ch%a trong CSDL. Các khóa ñi x%ng trong CSDL ñưc s d ng ñ"
bo v các khóa ñi x%ng khác cũng như d liu trong CSDL.
1.1.2.1. Khóa ch dch SMK
1.1.2.2. Khóa ch cơ s d liu DMK
1.1.2.3. Khóa bt ñi xng
1.1.2.4. Chng nhn
1.1.2.5. Khóa ñi xng
1.1.2.6. Khóa mã hóa d liu DEK
1.1.2.7. Mt khu
1.1.3. Bo v khóa
Khóa mã hóa mt kh/u bo v khóa ñm bo tính năng bo
mt d liu nhy cm. Thưng xuyên bo v các khóa mt kh/u
làm gim s* xut hin ca vic phá hy d liu mã hóa thông qua s*
theo dõi các giá tr! mã hóa ca tin t-c. S* bo v này ñưc ñiu khi"n
thông qua mt vòng ñi ca m.i khóa, minh ha trong hình 1.2 sau
ñây.
9
Hình 1.2. Vòng ñi ca khóa
1.1.4. Sao lưu khóa
1.2. Các thu.t toán hóa d0 li!u ñư&c s1 d%ng trong
SQL Server
1.2.1. Thut toán ñi xng
1.2.1.1. Thut toán DES (Data Encryption Standard)
1.2.1.2. Thut toán AES (Advanced Encryption Standard)
1.2.2. Thut toán bt ñi xng RSA
1.2.3. Thut toán băm
1.3. Mã hóa c2t
1.3.1. Cơ bn mã hóa ct
$ cp ñ ô, m%c ñ tt nht ca mã hóa, m.i ô ch%a d liu
hóa ñưc bo v bi mt khóa c th" do ngưi dùng th*c hin mã hóa.
Gii ñưc th*c hin thông qua vic s d ng cùng mt khóa ho-c
mt khóa ng khai tùy thuc vào phương pháp mãa ñưc áp d ng.
Ch(
Gii mã
Ch
x
Kt thúc V hưu Chm d%t
Mã hóa
Gii mã
Khóa
chưa
ñưc
s
d ng
Khóa
b! loi
b
Khóa
ñã ñưc
s d ng
Hot
ñng
10
Ngoài ra hóa ct hóa tt c các ô trong mt ct duy
nht cùng vi khóa cho phép gii vi khóa này sau ñó cp
quyn cho các thành viên vi vai trò ca CSDL.
1.3.2. Ưu và nhưc ñim ca mã hóa ct
1.3.2.1. Ưu ñim
hóa ct cung cp mã hóa m%c ñ tt hơn nhiu so
vi hóa tp tin sao lưu d liu. cung cp phương
tin ñ" hóa mt ct duy nht trong bng t+ mt ct
khác.
An toàn - yu t d liu ñưc mã hóa duy trì trng thái
ñó cho ñn khi nó gii mã.
Ngưi s d ng - ngưi s d ng th" ñưc cp quyn
truy cp vào khóa mã hóa và gii mã d liu.
1.3.2.2. Nhưc ñim
Hn ch ki"u d liu - th*c hin mã hóa ct yêu cu sa
ñ'i ki"u d liu. Tt c các d liu hóa phi ñưc
lưu tr vi ki"u d liu varbinary.
Trong quá trình quét bng d liu, các giá tr! b! hóa
mt cách gưng ép. Khóa chính ch( m c sau khi
hóa không còn s d ng ñưc.
T'ng chi phí x các x cho quá trình hóa
gii mã tn chi phí cao.
1.3.3. Mã hóa mt khi lưng ln d liu
1.3.4. Các bưc thc hin mã hóa ct