Hugh

New Member

Download miễn phí Luận văn Tìm hiểu và phát triển cơ chế bảo mật trên mã nguồn mở của MySQL





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
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
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
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ải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

ác table của csdl mysql
 Chức năng
Mỗi table đều có các cột phạm vi (scope columns) và các cột quyền
(privilege column).
 Các cột phạm vi dùng để chỉ định rõ phạm vi cho mỗi mục
của table hay chính là ngữ cảnh mà dòng dữ liệu áp dụng.
 Các cột quyền chỉ định thông tin về các quyền trên một mức
của CSDL tùy theo từng table.
Server kết hợp các thông tin trong nhiều bảng phân quyền để thực hiện
hoàn thành việc mô tả các đặc quyền của user.
 Nội dung của các column
 Các cột phạm vi :
Host : Tên máy người dùng. Trong MySQL, người dùng có thể
giới hạn số người truy cập dựa vào location mà người đó kết nối.
User : Tên mà người dùng dùng để truy cập vào MySQL
Password : mật khẩu người dung.
Db : Tên CSDL
Table_name : Tên bảng trong CSDL
Column_name : Tên của cột trong một bảng trong CSDL
 Các cột quyền : Lưu các thông tin về các quyền của user trên
từng mức độ của CSDL tùy theo nó thuộc bảng nào.
 Cấu trúc các cột
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 50
 Các cột phạm vi :
Column Name Type
Host CHAR(60)
User CHAR(16)
Password CHAR(16)
Db CHAR(64)
Table_name CHAR(64)
Column_name CHAR(64)
Routine_name CHAR(64)
Bảng 3.2.4.2.d Phạm vi các cột trong các bảng
Đối với các phiên bản MySQL trước 3.23, cột Db là
CHAR(32) trong một vài table và là CHAR(60) trong một số
table khác.
 Các cột quyền
Trong các bảng user, db, host, mỗi quyền được liệt kê
trong các cột quyền khác nhau được khai báo như ENUM
(‘N’, ‘Y’) giá trị mặc định ‘N’. Trong các từ, mỗi quyền có
thể được disabled hay enabled, với mặc định là disabled.
Trong các table tables_priv, columns_priv và procs_priv,
các cột quyền được khai báo như là các cột SET columns.
Mỗi dòng của table chỉ ra một quyền của user mà thôi. Do đó
để biết được đầy đủ các quyền của user trên một table,
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 51
column, proc cần kết hợp một tập các record. Các giá trị
có thể lưu trong các cột :
Table Name Column Name Possible Set Elements
Tables_priv Table_priv
'Select', 'Insert', 'Update', 'Delete', 'Create',
'Drop', 'Grant', 'References', 'Index', 'Alter'
Tables_priv Column_priv 'Select', 'Insert', 'Update', 'References'
columns_priv Column_priv 'Select', 'Insert', 'Update', 'References'
procs_priv Proc_priv 'Execute', 'Alter Routine', 'Grant'
Bảng 3.2.4.2.e Các giá trị trong các cột phân quyền
c) Sử dụng các table phân quyền
Server sử dụng các bảng như sau :
 Các cột phạm vi trong bảng user định rõ khi nào thì loại bỏ hay cho
phép các kết nối thực hiện. Khi các kết nối được cho phép, một số
đặc quyền đã cấp trong các bảng user chỉ cho toàn bộ các quyền của
user. Các đặc quyền này được áp dụng cho tất cả các csdl trên
server.
 Các cột phạm vi trong bảng db định rõ user nào được phép truy cập
vào các csdl nào từ các host nào. Các cột đặc quyền định rõ thao tác
nào được phép. Một đặc quyền đã cấp trong một mức csdl áp dụng
vào và tất cả các bảng của nó. (các quyền áp dụng đối với csdl)
 Bảng host được dùng trong liên kết với bảng db khi người dùng
muốn chỉ ra các dòng trong bảng db để áp dụng vào các host riêng.
Bảng host không ảnh hưởng bởi các lệnh GRANT và REVOKE.
 Các bảng tables_priv and columns_priv thì tương tự như bảng db,
nhưng có nhiều fine-grained : chúng áp dụng tại các mức độ bảng
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 52
và cột hơn là ở mức độ csdl. Các quyền đặc quyền đã cấp cho mức
độ bảng thì áp dụng cho bảng và cho tất cả các cột trong bảng. Các
đặc quyền được cấp cho tại cột nào thì nó chỉ có tác dụng cho cột đó
mà thôi.
 Bảng procs_priv áp dụng cho các thủ tục lưu trữ (stored routines).
Đặc quyền đã cấp tại mức thủ tục chỉ áp dụng cho các thủ tục đơn.
3.2.4.3. Các quyền MySQL hỗ trợ
Các đặc quyền :
Privilege Column Context
CREATE Create_priv databases, tables, or indexes
DROP Drop_priv databases or tables
GRANT Grant_priv databases, tables, or stored routines
REFERENCES References_priv databases or tables
ALTER Alter_priv tables
DELETE Delete_priv tables
INDEX Index_priv tables
INSERT Insert_priv tables
SELECT Select_priv tables
UPDATE Update_priv tables
CREATE VIEW Create_view_priv views
SHOW VIEW Show_view_priv views
ALTER ROUTINE Alter_routine_priv stored routines
CREATE ROUTINE Create_routine_priv stored routines
EXECUTE Execute_priv stored routines
CREATE Create_tmp_table_priv server administration
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 53
TEMPORARY TABLES
FILE File_priv file access on server host
LOCK TABLES Lock_tables_priv server administration
PROCESS Process_priv server administration
RELOAD Reload_priv server administration
REPLICATION
CLIENT
Repl_client_priv server administration
REPLICATION SLAVE Repl_slave_priv server administration
SHOW DATABASES Show_db_priv server administration
SHUTDOWN Shutdown_priv server administration
SUPER Super_priv server administration
Bảng 3.2.4.3.a Danh sách các đặc quyền
Các quyền CREATE TEMPORARY TABLES, EXECUTE, LOCK
TABLES, REPLICATION CLIENT, REPLICATION SLAVE, SHOW
DATABASES, và SUPER được thêm trong MySQL 4.0.2. (EXECUTE
không được thực thi cho tới MySQL 5.0.3.)
CREATE VIEW và SHOW VIEW được thêm trong MySQL 5.0.1.
CREATE ROUTINE và ALTER ROUTINE được thêm trong MySQL
5.0.3.
Để sử dụng các đặc quyền này khi nâng cấp từ các phiên bản cũ của
MySQL mà không có chúng, người dùng cần nâng cấp các bảng đặc
quyền của người dùng.
Một số đặc quyền quản trị có thể thực hiện bằng cách sử dụng chương trình
mysqladmin hay đưa ra các câu lệnh SQL.
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 54
Bảng sau thể hiện các câu lệnh SQL tương ứng với đặc quyền quản trị
được thực thi :
Privilege Commands Permitted to Privilege Holders
RELOAD
flush-hosts, flush-logs, flush-privileges, flush-status,
flush-tables, flush-threads, refresh, reload.
SHUTDOWN shutdown
PROCESS processlist
SUPER kill
Bảng 3.2.4.3.b Danh sách các đặc quyền quản trị
Lệnh reload thực hiện việc đọc lại các bảng phân quyền vào trong bộ nhớ.
3.2.4.4. Điều khiển truy cập đặc quyền
Khi người dùng kết nối với CSDL MySQL :
 MySQL tìm xem trong bảng user có hostname, username, and password
đó không.
 Nếu có, người dùng được quyền truy cập vào hệ thống. Khi người đó
thực thi một câu query, trước tiên MySQL xem trong bảng user xem
người dùng có những quyền gì. Nếu người dùng này không có đặc quyền
trong bảng đó thì MySQL sẽ tìm tiếp trong bảng db. Hệ thống sẽ dựa
trên the hostname, username, và CSDL xem các đặc quyền mà người này
có. Nếu trong bảng này không có quyền để thực thi câu truy vấn thì
MySQL sẽ tìm tiếp trong bảng tables_priv và sau đó là bảng
columns_priv xem người đó có quyền thực thi câu truy vấn. Nếu không
tìm thấy thì hệ thống sẽ báo lỗ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 55
Như vậy có 2 trường hợp kiểm tra kết nối :
• Kiểm tra kết nối (connection verific...
 
Các chủ đề có liên quan khác

Các chủ đề có liên quan khác

Top