Thứ Bảy, 22 tháng 2, 2014
tìm hiểu phát triển cơ chế bảo mật trên mã nguồn mở của mySQL
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 4
LỜI CẢM Ơ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 Tự Nhiên, Đại học Quốc gia Tp. Hồ Chí Minh đã tạo điều kiện
thuận lợi cho chúng em thực hiện đề tài luận văn tốt nghiệp này.
Chúng em xin nói lên lòng biết ơn sâu sắc đối với ThS. Phạm Thị Bạch
Huệ. Xin chân thành cám ơn Cô đã luôn quan tâm, tận tình hướng dẫn em trong
quá trình học tập, nghiên cứu và thực hiện đề tài.
Em xin chân thành cám ơn quý Thầy Cô trong Khoa Công Nghệ Thông Tin
đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu, đã truyền thụ
cho em những kiến thức, kinh nghiệm, đã quan tâm dìu dắt và giúp đỡ em trong
quá trình học tập cũng như trong lúc thực hiện đề tài này.
Chúng con luôn nhớ mãi công ơn của Ông Bà, Cha Mẹ đã luôn thương yêu,
lo lắng, chăm sóc và nuôi dạy con thành người.
Cuối cùng chúng em xin gửi lời cám ơn đến các anh chị, các bạn đã quan
tâm động viên và giúp đỡ chúng em trong quá trình thực hiện đề tài. Đặc biệt,
chúng em xin gửi lời cảm ơn chân thành đến thầy Nguyễn Đình Thúc, chị Trần
Hồng Ngọc, chị Trương Thị Mỹ Trang đã động viên, giúp đỡ chúng em trong
thời gian thực hiện đề tài.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận
được sự tận tình chỉ bảo của quý Thầy Cô và các bạn.
Một lần nữa, chúng em xin chân thành cám ơn và mong luôn nhận được
những tình cảm chân thành của tất cả mọi người.
Tp. Hồ Chí Minh, tháng 6 năm 2005
Khuất Thị Ngọc Bích – Lê Thị Trúc Lâm
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 5
MỤC LỤC
Chương 1. Giới thiệu 12
1.1. Tổng quan bảo mật 12
1.1.1. Nhận định về bảo mật 12
1.1.2. Các chiều hướng 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 toàn và bảo mật trên thế giới và ở Việt Nam 17
1.2.1. Trên thế giới : nhu cầu đang gia tăng 17
1.2.2. Ở Việt Nam 18
1.3. Xu hướng mã nguồn mở 19
1.3.1. Lợi ích của phần mềm mã nguồn mở (PMNM) 19
1.3.2. Việt Nam 19
1.4. Mục tiêu của đề tài 20
Chương 2. Các cơ sở lý thuyết bảo mật 21
2.1. Secret Key Cryptography(Hệ Mã hoá quy ước) 21
2.1.1. Giới thiệu 21
2.1.2. Phân loại thuật toán 22
2.1.3. Một vài thuật toán SKC được sử dụng ngày nay 23
2.1.4. Đánh giá phương pháp mã hóa quy ước 23
2.2. Public Key Crytography (Mã hoá công khai) 24
2.2.1. Giới thiệu chung 24
2.2.2. Đánh giá phương pháp mã hóa công khai 24
2.3. Hash Function (hàm Băm) 26
2.3.1. Giới thiệu hàm Băm 26
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 6
2.3.2. Tính chất của hàm băm 27
2.3.3. Cấu trúc của hàm băm 28
2.3.4. Giới thiệu một số hàm băm 28
Chương 3. Hệ quản trị cơ sở dữ liệu MySQL 30
3.1. Giới thiệu hệ quản trị cơ sở dữ liệu MySQL 30
3.1.1. Giới 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 và function 32
3.1.5. Bảo mật 33
3.1.6. Khả năng mở rộng và giới hạn 33
3.1.7. Kết nối 34
3.1.8. Mức hạn định 35
3.2. Cơ chế bảo mật trong MySQL 35
3.2.1. Tổng quan bảo mật 35
3.2.2. Bảo mật trong môi trường mạng 36
3.2.3. Các khái niệm cơ bản 36
3.2.4. Bảo mật cơ sở dữ liệu 44
Chương 4. Thuật toán bảo mật password trong MySQL 60
4.1. Thuật toán SHA-1 60
4.1.1. Ý tưởng thuật toán BĂM SHA 60
4.1.2. Thuật toán SHA-1 66
4.1.3. Đánh giá ưu khuyết điểm 68
4.2. Các thuật toán đề xuất 70
4.2.1. SHA-224, SHA-256, SHA-384 và SHA-512 70
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 7
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 5. Cài đặt thử nghiệm 89
5.1. Yêu cầu chức năng chương trình 89
5.2. Chương trình cài đặt 89
5.2.1. Hướng dẫn cài đặt MySQL từ source code 89
5.2.2. Hướng dẫn thực thi chương trình 94
5.3. Gíới thiệu chương trình cài đặt 94
5.3.1. Chương trình chính 94
5.3.2. Chương trình phụ 102
5.4. Kết quả thực nghiệm 104
Chương 6. Kết luận và hướng phát triển 106
6.1. Kết luận 106
6.1.1. Cơ chế bảo mật trên HQT CSDL MySQL 106
6.1.2. Chương trình HashFunction 107
6.2. Hướng phát triển 107
6.2.1. Cơ chế bảo mật trong HQTCSDL MySQL 107
6.2.2. Chương trình ứng dụng 107
Tài liệu tham khảo 109
Phụ lục… 112
Phụ lục A Thuật toán SHA 112
A.1. Hằng số sử dụng trong SHA 112
A.1.1 Hằng số của SHA-1 112
A.1.2 Hằng số của SHA-224 và SHA-256 112
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 8
A.1.3 Hằng số của SHA-384 và SHA-512 113
A.2 Giá trị khởi tạo trong SHA 115
A.3 Các thao tác tiền xử lý trong SHA 115
A.4 Thuật toán tính hàm BĂM trong SHA 116
A.4.1 SHA-1 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
Phụ lục B Thuật toán Tiger 125
Phụ lục C Tấn công SHA-1 128
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 9
Danh sách các bảng
Bảng 1.1.2 Các chiều hướng bảo mật 14
Bảng 2.2.2 : Kích thước khóa giữa mã hóa quy ước và mã hóa khóa công khai
với cùng mức độ bảo mật 25
Bảng 3.1.6 Kích thước giới hạn của file hệ thống trong MySQL 34
Bảng 3.2.4.2.a Danh sách các cột của bảng user, host, db trong MySQL 46
Bảng 3.2.4.2.b Bảng tables_priv, columns_priv trong MySQL 48
Bảng 3.2.4.2.d Phạm vi các cột trong các bảng 50
Bảng 3.2.4.2.e Các giá trị trong các cột phân quyền 51
Bảng 3.2.4.3.a Danh sách các đặc quyền 53
Bảng 3.2.4.3.b Danh sách các đặc quyền quản trị 54
Bảng 4.2.1.1 Các tính chất của các thuật toá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 chính trong 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
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 10
Danh sách các hình
Hình 2.1.1 Secret Key Cryptography 21
Hình 2.2.1 Public Key Crytography 24
Hình 2.3.1 Hash Function 26
Hình 3.2.4.4 Kiểm tra yêu cầu 59
Hình 5.3.2 Chương trình Hash Function 102
Hình phác thảo chức năng nén của Tiger 127
Danh sách các từ viết tắt
BM bảo mật
csdl cơ sở dữ liệu
HQTCSDL hệ quản trị cơ sở dữ liệu
CNTT công nghệ thông tin
PMNM phần mềm nguồn mở
SSL Secure Sockets Layer
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 11
Tóm tắt nội dung của luận văn
• Chương 1 : Trình bày tổng quan về bảo mật dữ liệu, các chiều hướng bảo
mật thông tin hiện tại, các yêu cầu trong bảo mật dữ liệu, tình hình nghiên
cứu hiện nay trên thế giới và trong nước về lĩnh vực này, đồng thời nêu
lên mục đích, nội dung và ý nghĩa của đề tài.
• Chương 2 : Trình bày tóm tắt một số phương pháp mã hoá hiện nay, phân
loại cũng như đánh giá ưu khuyết điểm của từng phương pháp. Đặc biệt,
trong chương này sẽ giới thiệu khá kĩ về hàm BĂM, tạo cơ sở tiền đề để ta
nghiên cứu ở các chương sau.
• Chương 3 : Trình bày khái quát về hệ quản trị cơ sở dữ liệu MySQL.
Trong chương này, cơ chế bảo mật của MySQL sẽ được trình bày cụ thể.
Cơ chế bảo mật trong môi trường mạng, trong cơ sở dữ liệu cũng như cách
lưu trữ password, quá trình kiểm tra password, cơ chế phân quyền sẽ được
trình bày trong chương này.
• Chương 4 : Trình bày về thuật toán bảo mật password trong MySQL : ý
tưởng, các bước của thuật toán, đánh giá ưu khuyết điểm. Đồng thời,
chúng tôi sẽ đề xuất một số thuật toán tốt hơn có thể hạn chế được khuyết
điểm của thuật toán hiện tại.
• Chương 5 : Giới thiệu sơ lược mã nguồn mở của MySQL, tìm hiểu các
hàm mã hoá password, hàm lưu password trong CSDL. Đồng thời cài đặt
thử nghiệm một số thuật toán mới và ứng dụng phát triển cơ chế bảo mật
của HQTCSDL MySQL.
• Chương 6 : Kết luận và hướng phát triền của đề tài.
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 12
Chương 1. Giới thiệu
Nội dung của chương 1 trình bày tổng quan về xu hướng mã nguồn mở và
chiều hướng bảo mật thông tin hiện tại, các yêu cầu trong bảo mật dữ liệu, tình
hình nghiên cứu hiện nay trên thế giới và trong nước về lĩnh vực này, đồng thời
nêu lên mục đích, nội dung và ý nghĩa của đề tài.
1.1. Tổng quan bảo mật
1.1.1. Nhận định về bảo mật
Bảo mật thông tin ảnh hưởng rất lớn đến sự tồn tại và phát triển của doanh
nghiệp hay tổ chức. Do đó việc bảo mật thông tin bảo mật thông tin có ý nghĩa
hết sức quan trọng.
Ngày nay với sự phát triển không ngừng của công nghệ thông tin, dữ liệu của
các doanh, nghiệp, tổ chức, các nhân không chỉ lưu trữ trên giấy tờ mà được tổ
chức thành một cơ sở dữ liệu (csdl). Csdl sẽ được quản lý bằng một hệ quản trị
cơ sở dữ liệu (hqtcsdl). Tùy thuộc vào độ lớn của csdl, tình hình tài chính, khả
năng của mình mà mỗi công ty sẽ chọn lựa một hệ quản trị phù hợp.
Ngày nay, sự phát triển của internet giúp cho các giao dịch trên mạng ngày
càng tăng, lượng thông tin trao đổi trên mạng cũng tăng tương ứng. Vì thế cơ hội
cho các đối thủ, các “hacker” thâm nhập đánh cắp dữ liệu càng tăng.
Thông tin cần được bảo vệ khỏi các mối đe dọa như :
Việc mạo danh truy cập thông tin bất hợp pháp và sử dụng thông tin cho
các mục đích riêng của mình.
Tìm hiểu và phát triển cơ chế bảo mật hệ quản trị cơ sở dữ liệu MySQL
Khuất Thị Ngọc Bích - Lê Thị Trúc Lâm 13
Sự tấn công của các hacker vào các dữ liệu nhằm phá hoại dữ liệu để phục
vụ cho các mục đích riêng như cạnh tranh không lành mạnh giữa các
doanh nghiệp.
Các thông tin nhạy cảm có thể bị lấy trộm.
Thông tin cần được bảo vệ ngay trong csdl, trên đường mạng để tránh bị đánh
cắp, bị thay đổi.
Các nhận định sai lầm về “mất mát thông tin” :
Thông tin bị mất thường là do các hacker bên ngoài đột nhập vào và đánh
cắp. Nhưng thực tế thì 80% dữ liệu bị mất là do những người bên trong hệ
thống gây ra.
Chỉ cần mã hóa dữ liệu là đã đủ khả năng bảo mật dữ liệu. Thực chất mã
hóa chỉ là một bước trong một cơ chế bảo mật mà thôi.
Do đó, ta cần phải có cơ chế bảo mật thích hợp cho hệ thống. Một cơ chế bảo
mật thường gồm các vấn đề sau :
Mã hóa dữ liệu.
Cách thức trao đổi thông tin.
Cách thức lưu trữ thông tin.
Các phương pháp chứng thực user.
Cách thức nhận biết quyền hợp pháp của user đối với thông tin dữ liệu.
1.1.2. Các chiều hướng bảo mật thông tin :
Thông tin thường được lưu tại các server và được tổ chức thành các file vật lý
có cấu trúc và được quản trị bằng một hệ quản trị cơ sở dữ liệu thích hợp. Thông
tin được truyền trên các đường mạng sẽ được bảo vệ theo các cơ chế riêng.
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét