MỤC LỤC MỤC LỤC 3 DANH MỤC CÁC HÌNH VẼ TRONG BÁO CÁO 5 DANH MỤC CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG BÁO CÁO 7 LỜI NÓI ĐẦU 9 TÓM TẮT NỘI DUNG ĐỒ ÁN 10 LỜI CẢM ƠN 11 CHƯƠNG 1 : AN TOÀN, BẢO MẬT CHO HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 12 1. Hệ CSDL phân tán 13 1.1. Giới thiệu về hệ CSDL phân tán 13 1.2. Thiết kế hệ CSDL phân tán 19 2. An toàn, bảo mật cho hệ CSDL phân tán 29 2.1. Sơ lược về an toàn thông tin 29 2.2. Bảo vệ an toàn cho hệ thống máy tính 32 2.3. Bảo mật trong hệ CSDL phân tán 35 2.4. Các mô hình quản lý phân quyền 36 3. Kết chương 38 CHƯƠNG 2 : QUẢN LÝ PHÂN QUYỀN DỰA TRÊN VAI TRÒ VÀ GIẤY CHỨNG NHẬN THÔNG MINH 39 1. Quản lý phân quyền dựa trên vai trò ( RBAC ) 39 1.1. Sơ lược về lịch sử 39 1.2. Tổng quan về các thành phần của mô hình RBAC 40 1.3. Các chức năng của mô hình 44 2. Giấy chứng nhận thông minh ( Smart Certification ) 46 3. Mô hình quản lý phân quyền dựa trên vai trò ( RBAC ) 47 4. Kết chương 49 CHƯƠNG 3 : XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐIỂM THEO MÔ HÌNH PHÂN TÁN 50 1. Yêu cầu xây dựng hệ thống quản lý điểm sinh viên 50 1.1. Bài toán 50 1.2. Mục tiêu 50 2. Thiết kế hệ thống quản lý điểm sinh viên trên hệ CSDL phân tán 50 2.1. Kiến trúc hệ CSDL phân tán của chương trình 50 2.2. Lược đồ quan niệm toàn cục 51 2.3. Phân mảnh dữ liệu 53 2.4. Các truy vấn phân tán 57 3. Thành phần Security 59 3.1. Phân tích các điểm hở, nguy cơ và đề xuất chính sách 59 3.2. Giải pháp chứng thực và quản lý phân quyền trên hệ CSDL phân tán 60 3.3. Kiến trúc thành phần Security 62 3.4. Biểu đồ lớp của thành phần Scurity 64 3.5. Các bảng CSDL của thành phần Security 64 3.6. Cấu trúc hoạt động của thành phần 65 3.7. Các biện pháp an ninh phụ trợ 67 4. Tổ chức phân quyền cho hệ thống 67 4.1. Xây dựng các role 68 4.2. Phân cấp role 68 4.3. Một số hình ảnh của chương trình 68 5. Kết chương 73 TÀI LIỆU THAM KHẢO 77 DANH MỤC CÁC HÌNH VẼ TRONG BÁO CÁO Hình 1.1: Kho dữ liệu 11 Hình 1.2: Các lý do để phân tán dữ liệu 12 Hình 1.3: Hệ đa bộ xử lý có bộ nhớ chung 13 Hình 1.4: Hệ đa bộ xử lý có đĩa chung 14 Hình 1.5. Hệ đa bộ xử lý sở hữu cá nhân 14 Hình 1.6: Môi trường của hệ CSDL phân tán 15 Hình 1.7: Các yếu tố phân loại kiến trúc 18 Hình 1.8: Mô hình kiến trúc tham chiếu Client Server 19 Hình 1.9: Mô hình tham chiếu CSDL phân tán 20 Hình 1.10: Các thành phần của một hệ quản trị CSDL phân tán 21 Hình 1.11: Kiến trúc hệ đa quản trị CSDL với một mô hình quan niệm toàn cục 22 Hình 1.12: Hệ đa quản trị CSDL không sử dụng mô hình quan niệm toàn cục 23 Hình 1.13: Quy trình thiết kế top – down 24 Hình 1.14: Các mối đe dọa đến an toàn thông tin 28 Hình 1.15: Các cơ chế đảm bảo an toàn thông tin 32 Hình 2.1: Nhân RBAC 38 Hình 2.2: Một số phân cấp Role 40 Hình 2.3: Phân cấp role hạn chế 41 Hình 2.4: Áp dụng ràng buộc vào mô hình RBAC 42 Hình 2.5 : Giấy Chứng nhận thông minh 44 Hình 2.6: Mô hình giản lược 46 Hình 2.7: RBAC trên Web sử dụng Smart Certificate 46 Hình 3.1 : Kiến trúc của hệ CSDL phân tán của chương trình 49 Hình 3.2: Lược đồ quan niệm toàn cục của hệ thống 51 Hình 3.3: Lược đồ quan niệm địa phương tại phòng đào tạo 51 Hình 3.4: Sơ đồ nhân bản dữ liệu của chương trình 53 Hình 3.5: Sơ đồ nhân bản đoạn ngang dữ liệu điểm 53 Hình 3.6: Nhân bản điểm phục vụ sinh viên tra cứu 54 Hình 3.7: Tổng thể phân mảnh dữ liệu 55 Hình 3.8: Truy vấn phân tán 56 Hình 3.9: Phương án chứng thực phân tán của chương trình 60 Hình 3.10: Kiến trúc Security 61 Hình 3.11: Kiến trúc RBAC 61 Hình 3.12: Sinh viên đăng nhập 66 Hình 3.13: Sinh viên tra cứu thông tin sinh viên 67 Hình 3.14: Sinh viên xem danh sách sinh viên học lại 67 Hình 3.15: Sinh viên xem điểm thi 68 Hình 3.16: Sinh viên xem danh sách sinh viên thi lại 68 Hình 3.17: Quản lý tra cứu thông tin sinh viên 69 Hình 3.18: Quản lý xem danh sách sinh viên thi lại 69 Hình 3.19: Quản lý xem danh sách sinh viên học lại 70 Hình 3.20: Quản lý xem danh sách sinh viên đạt học bổng 70 Hình 3.21: Quản lý xem danh sách sinh viên đạt học bổng 71 DANH MỤC CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG BÁO CÁO STT Từ viết tắt Giải nghĩa tiếng Anh Giải nghĩa tiếng Việt 1 ACM Association for Computing Machinery Hiệp hội khoa học máy tính 2 ASP Active Server Page Công nghệ ASP xây dựng các ứng dụng web 3 ATM Automatic Teller Machine Máy rút tiền tự động 4 CNTT Công nghệ thông tin 5 CPU Central Processing Unit Bộ xử lý trung tâm 6 CSDL Cơ sở dữ liệu 7 CSI Computer Security Institute Viện an ninh máy tính Mỹ 8 DAC Discrentionary Access Control Mô hình quản lý phân quyền DAC 9 DBMS Database Management System Hệ quản trị cơ sở dữ liệu 10 DES Data Encrytion Standard Giải thuật mã hóa DES 11 DNS Domain Name System Hệ thống chuyển đổi tên miền thành địa chỉ IP và ngược lại 12 DoS Denied of Server Kiểu tấn công từ chối dịch vụ 13 DSD Dynamic Separation of Duty Ràng buộc phân tách trách nhiệm động 14 GCS Global Conceptual Schema Lược đồ quan niệm toàn cục 15 HTML Hyper Text Mark up Language Ngôn ngữ đánh dấu siêu văn bản 16 HTTP Hyper Text Transfer Protocol Giao thức HTTP 17 IP Internet Protocol Giao thức IP 18 IPSeC IP Security Cơ chế bảo mật đường truyền IPSec 19 LAN Local Area Network Mạng máy tính cục bộ 20 LCS Local Conceptual Schema Lược đồ quan niệm địa phương 21 LIS Local Internal Schema Lược đồ trong địa phương 22 MAC Multil level Access Control Mô hình quản lý phân quyền đa mức 23 MAC Message Authenticate Code Mã chứng thực văn bản 24 MS Microsoft Hãng phần mềm Microsoft 25 MS DTC Microsoft Distributed Transaction Coordinator Dịch vụ quản lý giao dịch phân tán của Windows 26 NIST National Institute of Standards and Technology Viện công nghệ và tiêu chuẩn Mỹ 27 PKI Public Key Infrastructure Cơ sở hạ tầng khóa công khai 28 RBAC Role-Based Access Control Mô hình quản lý phân quyền dựa trên vai trò 29 RSA Ron Rivest-Shamir-Adleman Giải thuật mã hóa công khai 30 SHA Secure Hash Algorithm Giải thuật tạo hàm băm 31 SoD Separation of Duty Ràng buộc phân tách trách nhiệm 32 SQL Structured Qery Language Ngôn ngữ truy vấn CSDL có cấu trúc SQL 33 SSD Static Separation of Duty Ràng buộc phân tách trách nhiệm tĩnh 34 SSL Secure Sockets Layer Cơ chế bảo mật đường truyền thông SSL 35 VB 6 Visual Basic 6.0 Ngôn ngữ lập trình Visual Basic phiên bản 6.0 36 WAN Wire Area Net Work Mạng diện rộng LỜI NÓI ĐẦU Những năm đầu thế kỉ 21 đánh dấu sự phát triển vượt bậc của công nghệ thông tin cùng với nhiều ngành công nghệ khác như: điện tử viễn thông, công nghệ vật liệu mới… Đặc biệt công nghệ thông tin đã được áp dụng trong các lĩnh vực của đời sống xã hội, góp phần thúc đẩy phát triển kinh tế của mỗi quốc gia. Do vai trò xã hội quan trọng của CNTT trong mọi mặt vận động của xã hội, dưới mọi quy mô, từ xí nghiệp, công ty đến cấp quốc gia và quốc tế, hiện nay, công tác quản lý, điều hành thực chất là quản lý thông tin, quản lý dữ liệu. Thuật ngữ CƠ SỞ DỮ LIỆU (Database) giờ đây không còn xa lạ gì với những người làm tin học. Trên thế giới cũng như ở Việt Nam đã có rất nhiều tổ chức, doanh nghiệp ứng dụng tin học với các CSDL để quản lý hệ thống thông tin của đơn vị mình. Tầm quan trọng của việc xây dựng và đảm bảo an toàn cho các ứng dụng CSDL phân tán Các ứng dụng với hệ CSDL tập trung đã tồn tại nhiều năm, đã đáp ứng được nhu cầu của đại đa số người dung máy tính. Tuy nhiên, khi công việc phát triển thì khối lượng thao tác xử lý dữ liệu, khối lượng lưu trữ dữ liệu gia tăng nhanh chóng. Hơn nữa, quy mô của nhiều tổ chức không còn giới hạn trong phạm vi nhỏ hẹp. Rõ ràng, hai vấn đề trên là sự thúc ép lên các tổ chức phải tiến hành xây dựng các ứng dụng trên hệ CSDL phân tán. Ngoài ra, nhu cầu troa đổi, chia sẻ dữ liệu của người dùng cũng tăng mạnh, người dùng từ nhiều cơ quan, tổ chức không giới hạn phạm vi địa lý muốn tích hợp dữ liệu nhằm chia sẻ, làm việc trong một môi trường cộng tác. Hệ CSDL phân tán cũng có thể hình thành từ những nhu cầu tích hợp dữ liệu này. Với sự phát triển mạnh mẽ của Internet – mạng có khả năng triển khai trên toàn cầu và mạng Intranet – hệ thống thông tin nội bộ dựa trên công nghệ Internet – hỗ trợ rất mạnh các ứng dụng mạng trên môi trường mạng LAN/WAN trong phạm vi các cơ quan, tổ chức, thì các ứng dụng CSDL phân tán không còn dừng lại ở tính khả thi mà đã và đang được triển khai. Các ứng dụng Web rất phù hợp với môi trường CSDL phân tán kết hợp với các khả năng cung cấp dịch vụ dồi dào của môi trường Web đã khiến cho các ứng dụng Web rất quan trọng với người sử dụng và do vậy, việc làm thế nào để đảm bảo an toàn cho các ứng dụng Web hoạt động bình thường là một nhiệm vụ rất quan trọng đối với những người phát triển phần mềm và quản trị hệ thống. Qua một thời gian tìm hiều, cùng với sự gợi ý và hướng dẫn tận tình của thầy giáo Đỗ Văn Uy, em quyết địn chọn đề tài cho đồ án tốt nghiệp như sau: “Sử dụng công nghệ RBAC và Smart Certificate trong hệ cơ sở dữ liệu phân tán” Su dung cong nghe RBAC va Smart Certificate trong he co so du lieu phan tan
Trang 1MỤC LỤC
MỤC LỤC 3
DANH MỤC CÁC HÌNH VẼ TRONG BÁO CÁO 5
DANH MỤC CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG BÁO CÁO 7
LỜI NÓI ĐẦU 9
TÓM TẮT NỘI DUNG ĐỒ ÁN 10
LỜI CẢM ƠN 11
CHƯƠNG 1.: AN TOÀN, BẢO MẬT CHO HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 12
1 Hệ CSDL phân tán 13
1.1 Giới thiệu về hệ CSDL phân tán 13
1.2 Thiết kế hệ CSDL phân tán 19
2 An toàn, bảo mật cho hệ CSDL phân tán 29
2.1 Sơ lược về an toàn thông tin 29
2.2 Bảo vệ an toàn cho hệ thống máy tính 32
2.3 Bảo mật trong hệ CSDL phân tán 35
2.4 Các mô hình quản lý phân quyền 36
3 Kết chương 38
CHƯƠNG 2 : QUẢN LÝ PHÂN QUYỀN DỰA TRÊN VAI TRÒ VÀ GIẤY CHỨNG NHẬN THÔNG MINH 39
1 Quản lý phân quyền dựa trên vai trò ( RBAC ) 39
1.1 Sơ lược về lịch sử 39
1.2 Tổng quan về các thành phần của mô hình RBAC 40
1.3 Các chức năng của mô hình 44
2 Giấy chứng nhận thông minh ( Smart Certification ) 46
3 Mô hình quản lý phân quyền dựa trên vai trò ( RBAC ) 47
Trang 24 Kết chương 49
CHƯƠNG 3 : XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐIỂM THEO MÔ HÌNH PHÂN TÁN 50
1 Yêu cầu xây dựng hệ thống quản lý điểm sinh viên 50
1.1 Bài toán 50
1.2 Mục tiêu 50
2 Thiết kế hệ thống quản lý điểm sinh viên trên hệ CSDL phân tán .50
2.1 Kiến trúc hệ CSDL phân tán của chương trình 50
2.2 Lược đồ quan niệm toàn cục 51
2.3 Phân mảnh dữ liệu 53
2.4 Các truy vấn phân tán 57
3 Thành phần Security 59
3.1 Phân tích các điểm hở, nguy cơ và đề xuất chính sách 59
3.2 Giải pháp chứng thực và quản lý phân quyền trên hệ CSDL phân tán 60
3.3 Kiến trúc thành phần Security 62
3.4 Biểu đồ lớp của thành phần Scurity 64
3.5 Các bảng CSDL của thành phần Security 64
3.6 Cấu trúc hoạt động của thành phần 65
3.7 Các biện pháp an ninh phụ trợ 67
4 Tổ chức phân quyền cho hệ thống 67
4.1 Xây dựng các role 68
4.2 Phân cấp role 68
4.3 Một số hình ảnh của chương trình 68
5 Kết chương 73
TÀI LIỆU THAM KHẢO 77
Trang 3DANH MỤC CÁC HÌNH VẼ TRONG BÁO CÁO
Hình 1.1: Kho dữ liệu 11
Hình 1.2: Các lý do để phân tán dữ liệu 12
Hình 1.3: Hệ đa bộ xử lý có bộ nhớ chung 13
Hình 1.4: Hệ đa bộ xử lý có đĩa chung 14
Hình 1.5 Hệ đa bộ xử lý sở hữu cá nhân 14
Hình 1.6: Môi trường của hệ CSDL phân tán 15
Hình 1.7: Các yếu tố phân loại kiến trúc 18
Hình 1.8: Mô hình kiến trúc tham chiếu Client Server 19
Hình 1.9: Mô hình tham chiếu CSDL phân tán 20
Hình 1.10: Các thành phần của một hệ quản trị CSDL phân tán 21
Hình 1.11: Kiến trúc hệ đa quản trị CSDL với một mô hình quan niệm toàn cục 22
Hình 1.12: Hệ đa quản trị CSDL không sử dụng mô hình quan niệm toàn cục 23
Hình 1.13: Quy trình thiết kế top – down 24
Hình 1.14: Các mối đe dọa đến an toàn thông tin 28
Hình 1.15: Các cơ chế đảm bảo an toàn thông tin 32
Hình 2.1: Nhân RBAC 38
Hình 2.2: Một số phân cấp Role 40
Hình 2.3: Phân cấp role hạn chế 41
Hình 2.4: Áp dụng ràng buộc vào mô hình RBAC 42
Hình 2.5 : Giấy Chứng nhận thông minh 44
Hình 2.6: Mô hình giản lược 46
Hình 2.7: RBAC trên Web sử dụng Smart Certificate 46
Trang 4Hình 3.1 : Kiến trúc của hệ CSDL phân tán của chương trình 49
Hình 3.2: Lược đồ quan niệm toàn cục của hệ thống 51
Hình 3.3: Lược đồ quan niệm địa phương tại phòng đào tạo 51
Hình 3.4: Sơ đồ nhân bản dữ liệu của chương trình 53
Hình 3.5: Sơ đồ nhân bản đoạn ngang dữ liệu điểm 53
Hình 3.6: Nhân bản điểm phục vụ sinh viên tra cứu 54
Hình 3.7: Tổng thể phân mảnh dữ liệu 55
Hình 3.8: Truy vấn phân tán 56
Hình 3.9: Phương án chứng thực phân tán của chương trình 60
Hình 3.10: Kiến trúc Security 61
Hình 3.11: Kiến trúc RBAC 61
Hình 3.12: Sinh viên đăng nhập 66
Hình 3.13: Sinh viên tra cứu thông tin sinh viên .67
Hình 3.14: Sinh viên xem danh sách sinh viên học lại 67
Hình 3.15: Sinh viên xem điểm thi 68
Hình 3.16: Sinh viên xem danh sách sinh viên thi lại 68
Hình 3.17: Quản lý tra cứu thông tin sinh viên 69
Hình 3.18: Quản lý xem danh sách sinh viên thi lại 69
Hình 3.19: Quản lý xem danh sách sinh viên học lại 70
Hình 3.20: Quản lý xem danh sách sinh viên đạt học bổng 70
Hình 3.21: Quản lý xem danh sách sinh viên đạt học bổng 71
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG BÁO
CÁO
STT Từ viết tắt Giải nghĩa tiếng Anh Giải nghĩa tiếng Việt
11 DNS Domain Name System Hệ thống chuyển đổi tên miền thành địa chỉ IP và ngược lại
Trang 619 LAN Local Area Network Mạng máy tính cục bộ
25 MS DTC Microsoft Distributed Transaction Coordinator Dịch vụ quản lý giao dịch phân tán của Windows
Control
Mô hình quản lý phân quyền dựa trên vai trò
tĩnh
Trang 7LỜI NÓI ĐẦU
Những năm đầu thế kỉ 21 đánh dấu sự phát triển vượt bậc của công nghệ thôngtin cùng với nhiều ngành công nghệ khác như: điện tử viễn thông, công nghệ vậtliệu mới… Đặc biệt công nghệ thông tin đã được áp dụng trong các lĩnh vực của đờisống xã hội, góp phần thúc đẩy phát triển kinh tế của mỗi quốc gia
Do vai trò xã hội quan trọng của CNTT trong mọi mặt vận động của xã hội,dưới mọi quy mô, từ xí nghiệp, công ty đến cấp quốc gia và quốc tế, hiện nay, côngtác quản lý, điều hành thực chất là quản lý thông tin, quản lý dữ liệu Thuật ngữ CƠ
SỞ DỮ LIỆU (Database) giờ đây không còn xa lạ gì với những người làm tin học.Trên thế giới cũng như ở Việt Nam đã có rất nhiều tổ chức, doanh nghiệp ứng dụngtin học với các CSDL để quản lý hệ thống thông tin của đơn vị mình
Tầm quan trọng của việc xây dựng và đảm bảo an toàn cho các ứng dụng CSDL phân tán
Các ứng dụng với hệ CSDL tập trung đã tồn tại nhiều năm, đã đáp ứng đượcnhu cầu của đại đa số người dung máy tính Tuy nhiên, khi công việc phát triển thìkhối lượng thao tác xử lý dữ liệu, khối lượng lưu trữ dữ liệu gia tăng nhanh chóng.Hơn nữa, quy mô của nhiều tổ chức không còn giới hạn trong phạm vi nhỏ hẹp Rõràng, hai vấn đề trên là sự thúc ép lên các tổ chức phải tiến hành xây dựng các ứngdụng trên hệ CSDL phân tán Ngoài ra, nhu cầu troa đổi, chia sẻ dữ liệu của ngườidùng cũng tăng mạnh, người dùng từ nhiều cơ quan, tổ chức không giới hạn phạm
vi địa lý muốn tích hợp dữ liệu nhằm chia sẻ, làm việc trong một môi trường cộngtác Hệ CSDL phân tán cũng có thể hình thành từ những nhu cầu tích hợp dữ liệunày
Với sự phát triển mạnh mẽ của Internet – mạng có khả năng triển khai trêntoàn cầu và mạng Intranet – hệ thống thông tin nội bộ dựa trên công nghệ Internet –
hỗ trợ rất mạnh các ứng dụng mạng trên môi trường mạng LAN/WAN trong phạm
vi các cơ quan, tổ chức, thì các ứng dụng CSDL phân tán không còn dừng lại ở tínhkhả thi mà đã và đang được triển khai
Các ứng dụng Web rất phù hợp với môi trường CSDL phân tán kết hợp với cáckhả năng cung cấp dịch vụ dồi dào của môi trường Web đã khiến cho các ứng dụngWeb rất quan trọng với người sử dụng và do vậy, việc làm thế nào để đảm bảo antoàn cho các ứng dụng Web hoạt động bình thường là một nhiệm vụ rất quan trọngđối với những người phát triển phần mềm và quản trị hệ thống
Qua một thời gian tìm hiều, cùng với sự gợi ý và hướng dẫn tận tình của thầygiáo Đỗ Văn Uy, em quyết địn chọn đề tài cho đồ án tốt nghiệp như sau:
“Sử dụng công nghệ RBAC và Smart Certificate trong hệ cơ sở dữ liệu phântán”
Trang 8TÓM TẮT NỘI DUNG ĐỒ ÁN
Đồ án tập trung tìm hiểu và xây dựng một hệ thống quản lý điểm dựa trên hệ thống quản lý điểm tại trường Đại học Bách khoa Hà Nội trên CSDL phân tán đồng thời xây dựng cơ chế quản lý phân quyền RBAC để đảm bảo an toàn thông tin cho
hệ thống Đồ án gồm các chương như sau:
Chương 1: An toàn, bảo mật cho hệ CSDL phân tán
Chương này trình bày những lý thuyết về hệ CSDL phân tán bao gồm: khái niệm, kiến trúc, các vấn đề liên quan khi thiết kế và quản lý hệ CSDL phân tán… Những lý thuyết tổng quan về an toàn thông tin, bảo mật cho hệ CSDL phân tán, các mô hình quản lý phân quyền truy cập cho các ứng dụng web như MAC, DAC
Chương 2: Quản lý phân quyền dựa trên vai trò và giấy chứng nhận thông minh
Chương này tập trung trình bày mô hình quản lý phân quyền truy cập dựa trên vai trò, tìm hiều những lý thuyết tổng quan về RBAC, các chức năng của mô hình
và giấy chứng nhận thông minh
Chương 3: Xây dựng hệ thống quản lý điểm theo mô hình phân tán
Chương này đưa ra những yêu cầu xây dựng hệ thống quản lý điểm sinh viên, đưa
ra những thiết kế về kiến trúc, CSDL và các chức năng của chương trình quản lý điểm Đồng thời trình bày về kiến trúc tổng thể và chi tiết về các thành phần tham gia đảm bảo an toàn, bảo mật cho chương trình
Do hạn chế về mặt thời gian cũng như kiến thức, đồ án chỉ dừng lại ở mức tìm hiểu lý thuyết cơ bản về hệ CSDL phân tán, lý thuyết cơ bản an toàn thông tin cho môi trường phân tán nói chung và hệ CSDL phân tán nói riêng, cài đặt chương trìnhứng dụng với một số giao dịch cụ thể Cũng cần nhấn mạnh thêm rằng, chương trình quản lý điểm này được xây dựng trên những giả định không có thật với mục đích minh họa cho lý thuyết CSDL phân tán và phục vụ cho cài đặt các yếu tố an toàn, bảo mật thông tin đã được trình bày Do vậy, nó chưa thể được coi là một chương trình quản lý điểm phân tán hoàn chỉnh nhưng có tính khả thi và có thể hoànthành trong thời gian gần
Trang 9LỜI CẢM ƠN
Em xin được bày tỏ lòng biết ơn chân thành và sâu sắc tới các thầy cô giáotrường Đại học Bách Khoa Hà Nội, các thầy cô giáo trong viện Công nghệ thông tin
và truyền thông trường Đại học Bách Khoa Hà Nội, những người đã truyền thụ cho
em nhiều kiến thức khoa học quý báu trong những năm vừa qua
Em cũng xin cảm ơn cha mẹ và gia đình, những người đã nuôi dưỡng và tạođiều kiệ để em học tập
Đặc biệt, em xin chân thành cảm ơn thầy giáo Ths Đỗ Văn Uy, người đã tậntình hướng dẫn em trong suốt thời gian thực tập và thực hiện đồ án tốt nghiệp
Sinh viên: Phạm Văn ViệnLớp: Công nghệ phần mềm
Trang 10CHƯƠNG 1
AN TOÀN, BẢO MẬT CHO HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Những năm của thập kỷ 70, máy tính đã có đủ khả năng xây dựng hệ thốngthông tin và hệ cơ sở dữ liệu Một mặt đã hình thành và phát triển các mô hình lýthuyết cho hệ cơ sở dữ liệu và mặt khác những nguồn phát triển hệ thống ứng dụngngày càng có nhiều kinh nghiệm Hệ thống thông tin hình thành trên cơ sở kết nốicác máy tính khác nhau
Việt Nam chính thức kết nối Internet từ năm 1997, và từ đó đến nay, Internet
và Intranet đã phát triển ở nhiều nơi Ở Việt Nam cũng có nhiều công ty, tổ chứcnhư tổng công ty Bưu Chính Viễn Thông, các ngân hàng, Bộ Giáo Dục - ĐàoTạo… có nhu cầu xây dựng các ứng dụng CSDL phân tán sử dụng dữ liệu từ nhiềuđịa phương Những năm gần đây, hệ cơ sở dữ liệu phân tán được phát triển dựa trên
cơ sở dữ liệu và mạng máy tính Cơ sở dữ liệu phân tán gồm nhiều cơ sở dữ liệutích hợp lại với nhau thông qua mạng máy tính để trao đổi dữ liệu, thông tin…
Cơ sở dữ liệu được tổ chức và lưu trữ ở những vị trí khác nhau trong mạngmáy tính và chương trình ứng dụng làm việc trên cơ sở truy cập dữ liệu ở nhữngđiểm khác nhau đó
Trước khi xuất hiện các hệ CSDL phân tán, các hệ CSDL tập trung đã đápứng được như cầu người dùng trong nhiều năm Tuy nhiên, trong thời điểm hiện tại,các hệ CSDL tập trung không còn đáp ứng được những nhu cầu đó nữa
Hiện nay, các nhiệm vụ việc tấn công trên mạng, xâm phạm an toàn thông tincủa nhiều hệ thống máy tính đã trở nên quen thuộc với mọi người Ở đây, chúng taphải nhấn mạnh thêm một chia tiết: hơn 70% các vụ việc xâm hại an toàn thông tinxuất phát từ người dùng trong hệ thống, chỉ có 30% các vụ việc là do các hackerbên ngoài hệ thống gây ra Đảm bảo an toàn thông tin là điều kiện tiên quyết để tinhọc hóa một hệ thống quản lý
Trong chương này, chúng ta sẽ tìm hiểu về hệ CSDL phân tán và tổng quan về
an toàn thông tin
Trang 111 Hệ CSDL phân tán
1.1 Giới thiệu về hệ CSDL phân tán
1.1.1 Nhu cầu phân tán dữ liệu
1.1.1.1 Nhu cầu của người dùng
Những hệ CSDL lớn thường là những hệ CSDL quản lý dữ liệu của các ngânhàng, bệnh viện, mạng lưới chăm sóc y tế, bảo hiểm, hàng không, những tập đoànviễn thông, … Bằng việc thu gom dữ liệu đều được tích hợp bằng các công cụCSDL như: ngôn ngữ định nghĩa dữ liệu, ngôn ngữ xử lý dữ liệu, các cơ chế truycập, các kiểm tra ràng buộc toàn vẹn và những ngôn ngữ lập trình bậc cao
Hướng tiếp cận này sản sinh ra các ứng dụng CSDL tập trung phổ biến Tuynhiên, sau một thời gian thử nghiệm, người dùng nhận thấy hướng này đáp ứng nhucầu của một số người dùng nhưng đa số người dùng không được đáp ứng hoặc đápứng không được thỏa mãn nhu cầu của mình Những người sở hữu dữ liệu ở địaphương trước đây cảm thấy mất khả năng kiểm soát dữ liệu của mình, họ không cònkhả năng thay đổi dữ liệu cho phù hợp với nhu cầu cá nhân Hơn nữa, theo thống
kê, 90% các thao tác truy nhập dữ liệu chỉ để phục vụ các nhu cầu “địa phương”
Khi các tổ chức càng phát triển về quy mô thì nhiều nhân viên càng tỏ rakhông thích thú với các hệ cơ sở dữ liệu tập trung nữa
Hình 1.1: Kho dữ liệu
1.1.1.2 Sự phát triển mạnh mẽ mạng máy tính
Mạng Internet là một cầu nối khổng lồ khiến cho tất cả mọi nơi trên “thế giớiđều ở trong nhà bạn” Bạn có thể tìm thấy những hình ảnh, tin tức, liên lạc, … vớibạn bè, người thân qua mạng Internet Chính vì nhu cầu ngày càng nâng cao củacon người là thông tin nên mạng Internet phát triển không ngừng
Sự phát triển mạnh mẽ của mạng máy tính khiến cho các ứng dụng phải kếtnối mạng nhiều hơn Chính điều này dẫn đến hệ thống đó phải phục vụ cho nhiềungười dùng và thậm chí phục vụ cho nhiều người tại cùng một thời điểm Những sựviệc này dần làm phát sinh nhu cầu phải thiết kế một hệ thống có khả năng xử lý tốthơn, thiết kế CSDL sao cho đáp ứng được những nhu cầu ngày càng cấp thiết củacon người Đối với những nhà nghiên cứu thì điều này khiến cho họ phải suy nghĩlàm sao tạo ra được một hệ thống đáp ứng đủ những nhu cầu của họ, vì thế đâycũng là một lý do quan trọng đến sự ra đời của hệ phân tán nói chung và hệ CSDLphân tán nói riêng
1.1.1.3 Tác động của công nghệ
Trang 12Đồng hành với nhu cầu của người dùng là thúc đẩy công nghệ Công nghệthông tin ngày càng phát triển đặc biệt là công nghệ phần cứng và mạng máy tính,
hệ điều hành là những cú huých cho sự ra đời của hệ CSDL phân tán
Trong quá khứ, chi phí của phần cứng tỉ lệ với bình phương hiệu năng củacác hệ thống máy tính Điều này nhấn mạnh chi phí cao dành cho các thiết bị phầncứng, phần nào cản trở ý tưởng xây dựng hệ CSDL phân tán trên mạng máy tính vớinhiều thiết bị Tuy nhiên, với sự tiến bộ kinh ngạc của khoa học kỹ thuật hiện nay,luật này không còn phù hợp nữa
Các hệ CSDL phân tán bắt manh nha từ thập kỷ 70, thực sự bắt đầu vào thập
kỷ 80 và đạt được nhiều thành tựu vào thập kỷ 90
Các ưu điểm mà công nghệ hiện đại mang lại đã dẫn đến các lý do để phântán dữ liệu như sau:
yêu cầu của người dùng, cho phép khả năng tự trị địa phương
- Hệ thống có khả năng chịu lỗi và linh hoạt hơn
Hình 1.2: Các lý do để phân tán dữ liệu
1.1.2 Nhu cầu tích hợp dữ liệu
Chỉ với nhu cầu của người dùng để phân tán dữ liệu thôi có lẽ chưa đủ để đẩynhanh sự ra đời của hệ CSDL phân tán Nhu cầu tích hợp dữ liệu để phát triển nên
hệ phân tán cũng mạnh mẽ không kém
Dữ liệu có thể lưu trữ ở nhiều vị trí khác nhau bởi các lý do địa lý, lịch sử Tuyvậy, lại có rất nhiều các truy nhập từ xa vào dữ liệu “địa phương” Một ví dụ: Giámđốc một doanh nghiệp muốn truy cập đến dữ liệu ở các chi nhánh địa phương đểkiểm tra tình hình kinh doanh của doanh nghiệp đó Các máy ATM ở các ngân hàngphải trao đổi, đồng bộ dữ liệu với nhau để tránh trường hợp một thẻ ATM có thể rúttiền tại nhiều boot ATM… Như vậy, các kho dữ liệu này cũng cần phải tích hợp vớinhau, để trong suốt với các ứng dụng Tuy nhiên, chúng ta không thể đem chúng vềcùng một nơi Như vậy chỉ còn có giải pháp là sử dụng hệ CSDL phân tán
Một sự kiện nữa cũng đáng chú ý là từ những năm 90 trở lại đây, do nhu cầucạnh tranh giữa các doanh nghiệp Các tập đoàn, tổ chức có nhu cầu sáp nhập diễn
ra ngày càng nhiều Việc này dẫn đến nhu cầu bắt buộc phải sáp nhập dữ liệu củanhững tổ chức này và giải pháp là các hệ CSDL phân tán
1.1.3 Xử lý dữ liệu phân tán và hệ CSDL phân tán
1.1.3.1 Xử lý dữ liệu phân tán
Trang 13Vì hệ CSDL phân tán chỉ là tập con của lĩnh vực xử lý dữ liệu phân tán, dovậy, trướ c hết chúng ta nên xem qua về lĩnh vực xử lý dữ liệu phân tán Hệ thống
xử lý phân tán là một tập các bộ phận xử lý tự vận hành được liên kết bởi một mạngmáy tính và hợp đồng thực hiện các tác vụ mà chúng được phân công Khái niệm bộ
xử lý muốn nói đến là các thiết bị tính toán có thể chạy được một chương trình trênnó
Vậy trong hệ thống xử lý phân tán thì những gì được phân tán? Ta có thể nêubốn dạng như sau:
- Phân tán thiết bị xử lý: Thực tế định nghĩa về việc hệ thống phân tán đãngầm định các bộ phận xử lý được phân tán
các thành phần phần cứng và phần mềm
phân tán cho một số vị trí xử lý
vụ có thể được phân tán thay vì được thực hiện bởi một hệ thống máy tính
Các hệ thống xử lý phân tán có thể được phân loại dựa vào một số chuẩnnhư: Mức độ kết nối, cấu trúc tương giao, sự liên đới giữa các thành phần, sự đồng
bộ hóa giữa các thành phần
1.1.3.2 Hệ CSDL phân tán
Một hệ CSDL phân tán là gì? Đó là một tập hợp nhiều CSDL có liên đới logic
và được phân bố trên một mạng máy tính Từ đó ta định nghĩa luôn hệ quản trịCSDL phân tán: là một hệ thống phần mềm cho phép quản lý các hệ CSDL phân tán
và làm cho việc phân tán trở nên trong suốt với người dùng
Lưu ý: Ở đây, một hệ CSDL phân tán không phải là một tập hợp các tập tin
được lưu riêng rẽ tại mỗi nút của một mạng máy tính mà các tập tin này không chỉliên đới logic mà còn phải có cấu trúc và được truy xuất qua một giao diện chung.Việc giao tiếp giữa các trạm được thực hiện trên một mạng máy tính thay vì dùngchung bộ nhớ như trong các hệ thống đa bộ vi xử lý
Hình 1.3: Hệ đa bộ xử lý có bộ nhớ chung
Có một sự khác biệt giữa các kiến trúc sở hữu tập thể và kiến trúc sở hữu cánhân Kiến trúc sở hữu thứ nhất cho phép mỗi bộ xử lý truy xuất được mọi tài
Trang 14nguyên (bộ nhớ chính, bộ nhớ thứ cấp, các thiết bị ngoại vi) trong hệ thống Việcdùng chung bộ nhớ cho phép các bộ xử lý giao tiếp với nhau mà không cần trao đổicác thông báo Kiến trúc thứ hai là kiến trúc trong đó mỗi bộ xử lý có riêng bộ nhớchính, bộ nhớ thứ cấp và thiết bị ngoại vi, việc trao đổi giữa các bộ xử lý khác nhauthông qua các kênh truyền tốc độ cao Kiến trúc này rất giống với môi trường phântán.
Hình 1.4: Hệ đa bộ xử lý có đĩa chung
Hình 1.5 Hệ đa bộ xử lý sở hữu cá nhân
Trang 15Hình 1.6: Môi trường của hệ CSDL phân tán
1.1.4 Các ưu điểm của hệ CSDL phân tán
1.1.4.1 Tăng độ tin cậy
CSDL phân tán được mong đợi là tăng cường tính tin cậy vì nó có các thànhphần được nhân bản và do đó làm giảm đi tác hại do hỏng hóc ở những điểm đơn lẻmang lại như hệ thống tập trung Sự hỏng hóc của một nút hay một đường truyềnthông có thể làm một hay một số vị trí không thể giao tiếp được nhưng không vì thế
mà làm ngừng cả hệ thống
1.1.4.2 Nâng cao hiệu năng
Hiệu năng của các hệ CSDL phân tán được nâng cao dựa trên hai điểm sau:
1 Một hệ CSDL phân tán phân ra mô hình quan niệm ( conceptual model )thành các mô hình quan niệm địa phương ( local conceptual model ), dữ liệu đượclưu trữ ở những vị trí gần với nhu cầu sử dụng Điều này đem đến hai ưu điểm:
- Mỗi vị trí chỉ phải quản lý một phần dữ liệu, CPU không phải hoạt độngquá tải như trong CSDL tập trung
- Giảm bớt thời gian truy nhập từ xa, thường gây chậm trễ, hỏng hóc
2 Thừa kế khả năng tính toán song song từ hệ phân tán, hệ CSDL phân táncho phép thực thi nhiều query một lúc hay phân chia q query đơn thành nhiều query
để thực hiện tại nhiều nơi
Điểm thứ nhất giải quyết một nhược điểm của tính toán phân tán: Dữ liệu vàchương trình xử lý được lưu trữ ở những nơi xa nhau Nếu thực hiện theo điểm thứnhất thì chúng ta không phải truyền tải một khối lượng lớn dữ liệu qua mạng Cómột số ý kiến cho rằng: Ngày nay, công nghệ mạng phát triển, những đường truyềncao tốc, băng thông rộng cài đặt ở nhiều nơi Như vậy thì vẫn có thể vẫn duy trìđược cơ chế cũ và quên đi CSDL phân tán Tuy nhiên, tư tưởng này đã lầm Trước
Trang 16tiên phải thấy rằng: Dữ liệu về bản chất là phân tán và chúng ta không thể ép buộcđem chúng tập trung lại được Thứ hai, họ đã không phân biệt được băng thông –dung lượng của đường truyền và khoảng thời gian cần để truyền thông tin quamạng Độ trễ của truyền thông trên mạng bao giờ cũng giới hạn về mặt vật lý, vàchúng ta khó có thể kiểm soát được điều này Ví dụ: Đường truyền vệ tinh cần nửagiây để truyền dữ liệu giữa hai trạm trên mặt đất Đây là tính chất vật lý của đườngtruyền mà chúng ta không thể cải thiện được.
Điểm thứ hai cũng rất quan trọng Trong trường hợp hệ CSDL phân tán sửdụng cơ chế nhân bản Nhiều truy vấn read – only sẽ được thực hiện ở các nhân bảnthay vì hiện tượng thắt cổ chai xảy ra trên bản chính như mô hình tập trung trướcđây
1.1.4.3 Dễ dàng mở rộng hệ thống
Hoạt động trong môi trường phân tán, hệ CSDL phân tán có thể nói là dễ dàngđối phó với xu hướng mở rộng của hệ CSDL hay thêm CSDL Điều này thực hiệnbằng việc thêm một thành phần vật lý hay logic vào hệ thống Hơn nữa, dữ liệuđược lưu trữ ở nhiều nơi, mà dung lượng tại một nơi thường lớn Do đó, dung lượngcủa cả hệ thống cũng lớn
1.1.5 Các khó khăn trong xây dựng và quản lý hệ CSDL phân tán
Có một số khó khăn sẽ nảy sinh khi xây dựng hệ CSDL phân tán trong đóbao gồm khó khăn từ phía công nghệ và từ phía người thiết kế, xây dựng Tuynhiên, một số khó khăn này đã, và đang được giải quyết
1.1.5.1 Các khó khăn trong phân tán dữ liệu
- Phân tán dữ liệu qua các site trên mạng đảm bảo tính tối ưu
- Đảm bảo việc truy nhập và xử lý giữa các site khác nhau phải hiệu quả và
1.1.5.2 Các khó khăn trong tích hợp dữ liệu
- Người dùng và lập trình viên khi muốn tìm hiểu về một hệ CSDL tích hợpthì cần phải biết vị trí, định dạng dữ liệu mà họ muốn truy cập
- Khi muốn tạo ra một truy vấn, thì kiểu cách, cấu trúc dữ liệu ở các site khácnhau sẽ gây cản trở tạo ra truy vấn
1.1.5.3 Các khó khăn khác
- Độ phức tạp: Xây dựng và quản lý hệ CSDL phân tán phức tạp hơn hệCSDL tập trung nhiều
Trang 17- Giá thành: Hệ phân tán đòi hỏi phải thêm các thiết bị phần cứng phục vụtruyền thông nên tăng thêm chi phí cho phần cứng Tuy nhiên, chi phí cho phầncứng chỉ là phần nhỏ so với chi phí cho phần mềm để xây dựng và bảo trì một hệphân tán Nhân sự cũng cần phải tăng lên để bảo trì cho hệ thống ở tất cả các site.
- Bảo mật: Kiểm soát CSDL tập trung thường dễ hơn phân tán Phân tán dữliệu nhạy cảm ở nhiều nơi sẽ làm cho khả năng bị lộ thông tin rất lớn Ngoài bảomật ở các site còn có nhiệm vụ bảo mật trên đường truyền
1.2 Thiết kế hệ CSDL phân tán
Hệ CSDL phân tán là một bước phát triển cao hơn của hệ CSDL tập trung nên
nó kế thừa một số tính chất của hệ tập trung như là các mức quan niệm, các quan
hệ, chuẩn hóa… Khi thiết kế CSDL phân tán, chúng ta vẫn phải thực hiện các bướcnhư khi thiết kế CSDL tập trung Tuy nhiên, thiết kế hệ CSDL phân tán còn một sốđặc trưng như: Kiến trúc khác với hệ tập trung, phân mảnh, cấp phát, xử lý truy vấn,đồng bộ, … Chúng ta sẽ xem xét các vấn đề đó trong chương này Trước tiên là tìmhiểu và xây dựng một kiến trúc cho hệ CSDL phân tán phù hợp với nhu cầu
1.2.1 Các yếu tố xác định kiến trúc hệ phân tán
1.2.1.1 Tính tự trị
Tính tự trị đề cập đến sự phân tán điều khiển chứ không phải phân tán dữ liệu
Nó mô tả các mức độ độc lập của một hệ quản trị CSDL địa phương có thể thi hành.Tính tự trị thể hiện qua các chức năng của hệ thống như: Trao đổi thông tin, thực thigiao dịch, sửa đổi dữ liệu Yêu cầu của một số hệ thống như là trao đổi thông tin,thực thi giao dịch, sửa đổi dữ liệu Yêu cầu của một hệ thống tự trị được xác địnhbằng nhiều cách, sau đây là một ví dụ:
1 Các hoạt động địa phương không bị ảnh hưởng bởi sự tham gia của nótrong hệ đa CSDL
2 Cách thức mà hệ CSDL địa phương thực hiện là các truy vấn không bịảnh hưởng tới việc thực hiện các truy vấn toàn cục có truy nhập CSDL địa phương
3 Tính nhất quán của hệ thống phải được duy trì khi một hệ quản trị CSDLtham gia hoặc rời bỏ hệ đa CSDL
Các giá trị tự trị:
- Tự trị thiết kế: Các hệ quản trị CSDL địa phương được tự do sử dụng các
mô hình dữ liệu và các kỹ thuật quản lý giao dịch
- Tự trị giao tiếp: Mỗi hệ quản trị địa phương được tự do quyết định loạithông tin mà nó có thể cung cấp cho hệ quản trị CSDL khác, hay chương trình điềukhiển thực thi truy vấn toàn cục
- Tự trị thực thi: Một hệ quản trị CSDL địa phương có thể thi hành các giaodịch gửi đến nó theo trình tự do nó sắp đặt
1.2.1.2 Tính phân tán
Nếu như tính tự trị đề cập đến vấn đề điều khiển thì tính phân tán đề cập đếnvấn đề dữ liệu Có một số cách mà hệ quản trị CSDL phân tán dữ liệu Chúng ta cóthể tổng hợp thành 2 lớp sau: Phân tán Client/Server, phân tán Peer – to – Peer(phân tán hoàn toàn)
Phân tán Client/ Server đã trở nên phổ biến trong những năm vừa qua Nó tậptrung vào hướng phân công nhiệm vụ quản lý dữ liệu vào các Server Các Client
Trang 18thực hiện nhiệm vụ giao tiếp với các ứng dụng khác hay với trực tiếp người sửdụng Nhiệm vụ truyền thông thì được chia sẻ cả hai nơi Client và Server Hệ quảntrị CSDL Client/ Server là sự thể hiện đầu tiên của việc phân tán chức năng.
Trong hệ Peer – to – Peer, không có sự phân biệt giữa các máy Client và cácmáy Server Mỗi máy đều có chức năng quản trị CSDL hoàn chỉnh và có thể giaotiếp với các máy khác để thực thi các truy vấn và các giao dịch
1.2.1.3 Tính không đồng nhất
Trong một hệ CSDL phân tán, tính không đồng nhất xảy ra ở nhiều dạng:Không đồng nhất về phần cứng, không đồng nhất về giao thức mạng, không đồngnhất về cấu trúc dữ liệu, không đồng nhât về chương trình quản lý dữ liệu Vấn đềquan tâm trong hệ quản trị CSDL phân tán là tính không đồng nhất về dữ liệu: Môhình dữ liệu khác nhau, ngôn ngữ truy vấn khác nhau, giao thức quản lý giao dịchkhác nhau
Ta có thể mô tả minh họa 3 yếu tố trên qua hình vẽ:
Hình 1.7: Các yếu tố phân loại kiến trúc
Từ các yếu tố trên, ta có thể có 6 loại kiến trúc là tổ hợp của các mức của 3yếu tố: (A0, D0, H0); (A0, D0, H1)…
Kiến trúc (A0,D0,H0): Kiến trúc này gọi là kiến trúc hỗn hợp ( compositesystem) Trong kiến trúc này, không hề có sự phân tán và hoàn toàn đồng nhất
Kiến trúc (A0,D0,H1): Trong kiến trúc này đã có sự không đồng nhất nhưngvẫn không có sự phân tán Đây là một hệ đa quản trị CSDL nhưng nằm trên mộtmáy và có một View tích hợp duy nhất
…
1.2.2 Các kiến trúc của hệ CSDL phân tán
Trong phần này, chúng ta sẽ xem xét cụ thể 3 loại kiến trúc trong số các kiếntrúc kể trên: Đó là kiến trúc Client/ Server tương ứng với (Ax,D1,Hy), kiến trúcPeer – to – Peer tương ứng với (A0,D1,H0), kiến trúc đa CSDL tương ứng với(A1,Dx,Hy) Ta sử dụng các ký tự x,y có nghĩa là không quan tâm đến mức độ củacác yếu tố đó
Trang 191.2.2.1 Kiến trúc Client/ Server
Kiến trúc Client/ Server xuất hiện trong lĩnh vực CSDL vào đầu những năm
90 và có một ảnh hưởng quan trọng tới cả hai lĩnh vực: Công nghệ quản trị CSDL
và các phương thức tính toán Ý tưởng chung rất đơn giản: Phân chia các chức năngcủa một hệ thống thành 2 lớp: Lớp Server và lớp Client
Việc phân chia này đem lại kiến trúc 2 tầng như hình vẽ:
Hình 1.8: Mô hình kiến trúc tham chiếu Client Server
Chúng ta hãy xem xét rõ hơn sự khác nhau về chức năng của Server vàClient Điều đầu tiên có thể nhận ra là Server thực hiện hầu hết các công việc quản
lý dữ liệu Điều này có nghĩa tất cả các công việc: Xử lý truy vấn, tối ưu hóa truyvấn, quản lý giao dịch, quả lý thiết bị lưu trữ đều được thực hiện ở phía Server.Phía Client sẽ gồm các công việc: Giao tiếp với người dùng, đệm và quản lý bộ đệm
dữ liệu, kiểm tra tính nhất quán, tính phù hợp, bảo mật của các truy vấn người dùngtạo ra
Có một số kiểu kiến trúc Client/ Server khác nhau Kiểu đơn giản nhất – đơnServer, đa Client – chỉ có một Server và nhiều Client truy vấn vào Server Nóichung, kiểu này không khác nhiều với hệ tập trung ngoài việc phân tán một số chứcnăng cho Client và thậm chí dành phần đệm dữ liệu cho phía Client Một loại kiếntrúc phức tạp hơn, đó là kiến trúc đa Server – đa Client Trong kiến trúc này có haihướng quản lý được đề cập:
- Mỗi một Client quản lý một kết nối của nó tới một Server phù hợp
- Mỗi Client có một “home” Server Server này sẽ chịu trách nhiệm giao tiếpvới các Server khác
Trang 201.2.2.2 Kiến trúc ngang hàng Peer – to – Peer
Kiến trúc này được coi thật sự là kiến trúc hệ CSDL phân tán Chúng ta bắtđầu mô tả kiến trúc này bằng việc xem xét việc tổ chức dữ liệu Chúng ta phải chú ýrằng tổ chức dữ liệu vật lý ở các nút khác nhau có thể khác nhau Điều này có nghĩa
là cần phải có lược đồ địa phương (local internal schema) Mô hình dữ liệu của cả tổchức được biểu diễn bởi lược đồ quan niệm toàn cục (global conceptual schema)
Dữ liệu trong một hệ CSDL phân tán thường được phân đoạn và nhân bản.Như vậy, chúng ta cũng cần mô tả cách tổ chức dữ liệu logic ở các site, chúng ta sẽxây dựng thêm tầng thứ ba trong kiến trúc đó là lược đồ quan niệm địa phương(local conceptual schema) Trong kiến trúc này, lược đồ quan niệm toàn cục sẽ làhợp của các lược đồ quan niệm địa phương Cuối cùng, những ứng dụng của người
sử dụng được hỗ trợ thông qua lược đồ ngoài, được định nghĩa ở mức trên lược đồquan niệm toàn cục Mô hình này là sự mở rộng của mô hình ANSI/SPARC quenthuộc trong hệ CSDL tập trung
Hình 1.9: Mô hình tham chiếu CSDL phân tán
Hệ quản trị CSDL trong trường hợp này gồm hai thành phần: user processor
và data processor Thành phần thứ nhất, user processor gồm các phần tử sau đây:
1 Trình quản lý giao diện người dùng chịu trách nhiệm thông dịch các lệnh
người dùng nhập vào, chuyển đổi dữ liệu thành định dạng phù hợp để trả về chongười dùng
2 Trình điều khiển ngữ nghĩa dữ liệu sử dụng những ràng buộc toàn vẹn và
các qui định phân quyền được định nghĩa như một phần của lược đồ quan niệm toàncục để kiểm tra xem truy vấn của người dùng nhập vào có thể xử lý được không
3 Trình phân rã và tối ưu hóa truy vấn xác định một chiến lược thực thi để
tối thiểu hóa chi phí, dịch những truy vấn toàn cục sang những truy vấn địa phươngnhờ vào sự ánh xạ lược đồ quan niệm toàn cục và lược đồ quan niệm địa phương
4 Trình quản lý thực thi phân tán điều phối việc thực thi phân tán các yêu
cầu của người dùng Bộ phận này cồn được gọi là bộ phận quản lý giao dịch phântán Các trình quản lý giao dịch ở các site phải luôn giao tiếp với nhau để hoànthành nhiệm vụ
Trang 21Thành phần thứ hai của một hệ quản trị CSDL phân tán là data processorgồm các phần tử sau đây:
1 Tối ưu hóa truy vấn địa phương
2 Quản lý phục hồi dữ liệu địa phương chịu trách nhiệm đảm bảo chắc
chắn CSDL ở trạng thái nhất quán sau khi khôi phục CSDL khỏi sự cố
3 Bộ xử lý run-time truy cập trực tiếp vào CSDL dựa trên các câu lệnh vật
lý tạo ra bởi trình tối ưu hóa truy vấn Bộ phận này cũng đóng vai trò là giao diệnvới hệ điều hành và quản lý bộ đệm dữ liệu
Chúng ta chú ý rằng, phân chia thành 2 thành phần user processor và dataprocessor không phải là để ám chỉ chức năng như hệ Client/ Server Cả hai thànhphần này đều có thể đặt trên một máy hay các máy khác nhau
Hình 1.10: Các thành phần của một hệ quản trị CSDL phân tán
Trang 221.2.2.3 Kiến trúc đa hệ quản trị CSDL
Sự khác nhau giữa kiến trúc đa CSDL và kiến trúc nang hàng được quyếtđịnh bởi mức độ tự trị Sự khác nhau cơ bản nằm ở định nghĩa lược đồ quan niệmtoàn cục Trong kiến trúc ngang hàng, lược đồ quan niệm toàn cục là mô hình dữliệu cho toàn bộ hệ thống CSDL còn trong kiến trúc đa CSDL, lược đồ quan niệmtoàn cục chỉ là một tập hợp của một vài CSDL mà các hệ quản trị CSDL địa phươngmuốn chia sẻ Kiến trúc này có 2 mô hình
Mô hình sử dụng một lược đồ quan niệm toàn cục
Lược đồ quan niệm toàn cục được xây dựng bằng cách tích hợp những biểu đồngoài hay một phần của những lược đồ quan niệm địa phương Ngoài ra, ngườidùng ở những CSDL địa phương vẫn có thể sử dụng những ứng dụng cũ để truy cậpvào CSDL đã có bên cạnh những người dùng toàn cục truy cập vào nhiều CSDL
Hình 1.11: Kiến trúc hệ đa quản trị CSDL với một mô hình quan niệm toàn cục
Sự khác nhau trong thiết kế lược đồ quan niệm toàn cục giữa hệ quản trị CSDLphân tán và hệ đa quản trị CSDL là trong hệ đa quản trị CSDL, lược đồ toàn cụcđược xây dựng từ ánh xạ các lược đồ quan niệm địa phương thành lược đồ quanniệm toàn cục, còn trong hệ quản trị CSDL phân tán thì làm theo chiều ngược lại.Trong phần quy trình thiết kế ở phần sau, ta sẽ thấy, thiết kế hệ quản trị CSDL phântán theo hướng top – down, còn thiết kế hệ đa quản trị CSDL theo hướng bottom –up
Mô hình không sử dụng mộ lược đồ quan niệm toàn cục
Sự tồn tại của một lược đồ quan niệm toàn cục trong hệ đa quản trị vẫn còn
là vấn đề gây tranh cãi Một số nhà nghiên cứu đã xây dựng nên mô hình CSDLkhông sử dụng mô hình quan niệm toàn cục, và họ coi đây là một ưu điểm so vớicác hệ CSDL phân tán thuần túy
Mô hình kiến trúc này gồm 2 tầng: Tầng hệ thống địa phương và tầng đaCSDL Tầng hệ thống địa phương bao gồm một số DBMS Những hệ quản trị này
sẽ đem đến cho tầng trên những phần CSDL mà chúng muốn chia sẻ Những dữ liệuđược chia sẻ này có dạng lược đồ quan niệm địa phương thực sự hay một lược đồngoài địa phương
Trang 23Hình 1.12: Hệ đa quản trị CSDL không sử dụng mô hình quan niệm toàn cục
1.2.3 Các quy trình thiết kế
Thuật ngữ thiết kế cơ sở dữ liệu phân tán có nghĩa rất rộng và không chínhxác Thiết kế cơ sở dữ liệu tập trung gồm có các công việc sau:
- Thiết kế sơ đồ khái niệm: mô tả cơ sở dữ liệu đã hợp nhất (mọi dữ liệu được
sử dụng bởi ứng dụng cơ sở dữ liệu)
- Thiết kế cơ sở dữ liệu vật lý: tham chiếu từ lược đồ khái niệm tới vùng lưutrữ và xác định các cách thức truy cập khác nhau
Trong cơ sở dữ liệu phân tán, có hai vấn đề xảy ra khi thiết kế sơ đồ toàn bộ vàkhi thiết kế cơ sở dữ liệu vật lý ở địa phương (ở mỗi vị trí) Những kỹ thuật có thểứng dụng cho hai vấn đề trên cũng giống như trong cơ sở dữ liệu phân tán Trong cơ
sở dữ liệu phân tán bổ xung vào hai vấn đề nữa:
- Thiết kế phân đoạn: xác định cách thức phân chia những quan hệ toàn bộthành những đoạn dữ liệu theo chiều dọc ,chiều ngang và kiểu hỗn hợp
- Thiết kế cấp phát đoạn dữ liệu: xác định cách thức đoạn dữ liệu tham khảođến ảnh vật lý nào và cũng xác định các bản sao của đoạn dữ liệu Bên cạnh đó vấn
đề cấp phát cũng được nghiên cứu khi phát triển hệ thống file phân tán vì trong cơ
sở dữ liệu tập trung có thiết bị lưu trữ phức tạp Cách phân biệt hai vấn đề này rõràng, vấn đề thứ nhất động lực của việc phân mảnh quan hệ giải quyết vấn đề tiêuchuẩn về logic; vấn đề thứ hai giải quyết vấn đề về nơi đặt vật lý của dữ liệu ởnhững vị trí khác nhau Tuy nhiên phải rất cẩn thận khi phân biệt theo cách này vìkhông thể xác định cách phân đoạn tốt nhất và công việc cấp phát bằng cách giảiquyết hai vấn đề độc lập vì rằng hai vấn đề liên quan đến nhau
Công việc thiết kế chương trình ứng dụng được thực hiện sau khi thiết kế sơ
đồ và có kiến thức về yêu cầu của chương trình ứng dụng Thiết kế sơ đồ để có khảnăng cung cấp hiệu quả các chương trình ứng dụng Vì vậy trong thiết kế cơ sở dữliệu phân tán, hiểu biết rõ ràng và đầy đủ về yêu cầu của chương trình ứng dụng làcần thiết đối với chương trình ứng dụng quan trọng Những công việc thiết kế đượcthực hiện thường xuyên để công việc thực hiện của thiết kế đúng đắn Những yêucầu trong chương trình ứng dụng:
Vị trí nơi chương trình ứng dụng được đưa ra (cũng gọi là vị trí cơ sở củachương trình ứng dụng )
Tính thường xuyên hoạt động của chương trình ứng dụng: số lần yêu cầu củachuơng trình ứng dụng trong một khoảng thời gian Trường hợp thông thườngchương trình ứng dụng có thể được đưa ra ở nhiều vị trí khác nhau vì vậy phải biếttần suất hoạt động của chương trình ứng dụng tại mỗi vị trí
Trang 24Số lượng, kiểu và phân tán thống kê các lần truy cập đối với mỗi đối tượng dữliệu được yêu cầu bởi các chương trình ứng dụng.
Việc mô tả những đặc điểm này không quan trọng, hơn nữa phần này chỉ quantâm đến những dữ liệu điển hình cho quan hệ và phải dịch đúng đắn sang loại có thể
áp dụng được cho các đoạn Kết quả của công việc thiết kế được dùng khi phânđoạn, những dữ liệu này phải nhận biết bởi các cách phân đoạn khác nhau khi thiết
kế
1.2.3.1 Qui trình thiết kế Top – down.
Trong hướng thiết kế Top-down, bắt đầu bởi việc thiết kế sơ đồ tổng thể, tiếptục thiết kế phân đoạn cơ sở dữ liệu và sau đó cấp phát các đoạn này cho các vị trí,tạo hình ảnh vật lý của dữ liệu Hoàn thành hướng này qua việc thực hiện thiết kếvật lý dữ liệu để cấp phát cho dữ liệu Đối với hệ thống phát triển từ những hệ thốnghỗn tạp thì phương pháp này có sức hấp dẫn lớn vì nó cho phép thực hiện thiết kếdựa trên các giải pháp hợp lý theo từng trường hợp
Hình 1.13: Quy trình thiết kế top – down
Trang 251.2.3.2 Qui trình thiết kế Bottom – up.
Dùng thiết kế Bottom-up khi cơ sở dữ liệu phân tán được phát triển qua việcliên kết cơ sở dữ liệu đã có sẵn Thực tế, trong trường hợp này sơ đồ toàn thể đượcđược tạo ra bởi sự thoả hiệp giữa các loại mô tả dữ liệu có sẵn Thậm chí có thể mỗicặp cơ sở dữ liệu có sẵn không phụ thuộc việc kết hợp với nhau khi sử dụng sơ đồgiải thích Tuy nhiên dẫn tới các hệ thống trong khái niệm khác nhau về kiến trúctham chiếu
Khi cơ sở dữ liệu có sẵn được liên kết với nhau thành cơ sở dữ liệu phân tán,các cơ sở dữ liệu này có thể dùng hệ quản trị cơ sở dữ liệu địa phương ở vị trí đó
Để hệ thống đồng bộ cần có thêm một số việc phức tạp như đồng bộ dữ liệu cầnphải giải thích giữa các mẫu cơ sở dữ liệu khác nhau Trong trường hợp này có thểtạo bản giải thích 1:1 giữa hai hệ quản trị cơ sở dữ liệu địa phương Trong thực tếhầu hết các hệ thống đồng bộ đều sử dụng hướng thiết kế này để ra chọn mô hình
dữ liệu thông thường và sau đó chuyển sang mẫu cơ sở dữ liệu duy nhất đối với sơ
đồ khác nhau trong hệ quản trị cơ sở dữ liệu
Nói chung các yêu cầu của thiết kế Bottom-up gồm:
- Chọn mô hình cơ sở dữ liệu thông thường để thiết kế lược đồ toàn bộ của
cơ sở dữ liệu
- Dịch chuyển mỗi lược đồ địa phương sang mô hình dữ liệu thôngthường
không đặc biệt đối với cơ sơ dữ liệu phân tán nhưng cũng tồn tại trong hệ thống tậptrung
1.2.4 Các vấn đề đặt ra với các hệ CSDL phân tán
1.2.4.1 Thiết kế hệ CSDL phân tán
Khi thiết kế, xây dựng và sử dụng hệ CSDL phân tán, một câu hỏi chúng taluôn đặt ra là hệ CSDL phân tán và các ứng dụng sẽ hoạt động như thế nào khichúng được phân tán ở nhiều ví trí trong mạng Hai vấn đề cơ bản nhất chúng tachắc chắn phải giải quyết khi thiết kế hệ CSDL phân tán, đó là vấn đề phân mảnh
Nhân bản (replication) là copy toàn bộ CSDL hoặc một phần CSDL rồi đặt ở
các vị trí trên mạng, nhân bản CSDL xuất phát từ nhu cầu tăng hiệu suất của hệCSDL khi phải phục vụ nhiều truy vấn dạng Select để lấy thông tin Khi nhân bản,thay vì lấy thông tin ở một nơi để có thể dẫn đến hiện tượng thắt nút và tốn kém chiphí truyền thông, các truy vấn sẽ được chuyển về những vị trí phù hợp trên mạng đểlấy dữ liệu
Nhân bản chỉ thực sự đạt được hiệu suất khi các truy vấn đều ở dạng lấythông tin chứ không phải là cập nhật thông tin Khi thực hiện cập nhật thông tin,quá trình diễn ra rất phức tạp Ví dụ, dữ liệu của một bản ghi có thể không chỉ lưutrữ ở một site mà còn nhiều site khác, khi cập nhật dữ liệu bản ghi, sẽ phải cập nhật
Trang 26ở những site có liên quan đến bản ghi đó Quá trình cập nhật có thể diễn ra theo 2phương thức:
- Phương thức ROWA ( read one write all ): Phương thức này sẽ cập nhậtngay dữ liệu ở mọi site có liên quan mỗi khi có truy vấn cập nhật Tuy nhiên việccập nhật dữ liệu ngay lập tức ở tất cả các vị trí trên mạng cũng phức tạp, và nếu nhưCSDL ở chỉ một vị trí nào đó bị lỗi, dữ liệu không được cập nhật câu truy vấn sẽ bịhủy bỏ ở các vị trí còn lại, như vậy hiệu suất sẽ bị giảm
- Phương thức lazy replication: Phương thức này sẽ không cập nhật dữ liệungay ở các vị trí mà sẽ cho phép cập nhật ở một hay một vài vị trí khác Các vị trícòn lại sẽ được cập nhật sau khi hệ thống rảnh rỗi và các vị trí có khả năng cập nhật.Phương pháp này phù hợp khi nhu cầu cập nhật thông tin không cao ở mọi vị trí Vì
nó cập nhật không đồng thời nên xảy sẽ có sự không nhất quán dữ liệu Lúc này, hệthống cần phải đề ra các qui luật để giải quyết tính không nhất quán, ví dụ như gángiá trị ưu tiên cập nhật cho các vị trí Vị trí có độ ưu tiên cao hơn sẽ áp đặt truy vấncập nhật của vị trí đó và loại bỏ các truy vấn mâu thuẫn
Phân đoạn là phân chia CSDL thành các đoạn con không trùng nhau, những
đoạn con này được đặt ở những vị trí trong mạng Phân đoạn bao gồm hai phươngpháp là phân đoạn ngang và phân đoạn dọc Khi thực hiện việc truy vấn, dữ liệu cóthể phải lấy ở nhiều vị trí sau đó kết hợp lại Hệ CSDL phân tán áp dụng hướngphân đoạn dữ liệu được coi là hệ CSDL phân tán thuần túy ( pure distributeddatabase )
Ngoài phân mảnh dữ liệu, vấn đề thứ hai chúng ta phải giải quyết là cấp phát
dữ liệu Sau khi phân mảnh dữ liệu, chúng ta phải tiến hành đặt các mảnh dữ liệu vềcác vị trí trong mạng Phân bố các tài nguyên trên các nút mạng là bài toán khôngmới Tuy nhiên, hầu hết các hướng nghiên cứu không nằm trong đề tài CSDL phântán mà chỉ dừng lại ở phân phối các file đơn lẻ trên mạng Chúng ta phải đưa ra mộtphương án cấp phát tiết kiệm được chi phí lưu trữ, truy vấn và vận chuyển Thựcchất của vấn đề này là giải bài toán tối ưu với hàm chi phí là tổng của các hàm chiphí lưu trữ, vận chuyển, xử lý truy vấn, và các ràng buộc có khả năng lưu trữ, thờigian xử lý tối đa, tối thiểu
1.2.4.2 Chuẩn hóa lược đồ quan hệ trong hệ CSDL phân tán
Trong hệ CSDL tập trung, chúng ta đã quen thuộc với các khái niệm phụ thuộchàm, các dạng chuẩn… Từ những lược đồ quan hệ thô ban đầu, chúng ta phải tiếnhành phân rã lược đồ quan hệ thành các lược đồ quan hệ ở các dạng chuẩn, mụcđích để tránh các bất thường khi thao tác với CSDL Khi chuẩn hóa, yêu cầu đặt ra
là bảo toàn được thông tin và các phụ thuộc hàm Đối với hệ CSDL tập trung, nhiềukhi chỉ cần đưa được lược đồ quan hệ về dạng chuẩn III là đủ Tuy nhiên, trong hệCSDL phân tán, để đảm bảo các lược đồ quan hệ không mất mát thông tin khi tiếnhành phân mảnh dữ liệu, các lược đồ quan hệ cần đưa về dạng chuẩn IV hoặc dạngchuẩn V, đặc biệt là khi tiến hành phân đoạn dọc
Các dạng chuẩn I, II, III sẽ không nói đến ở đây Trong phần này chỉ trình bày
về các dạng chuẩn IV và dạng chuẩn V Trước khi đưa ra định nghĩa cho hai dạngchuẩn, chúng ta sẽ xem xét thêm hai loại phụ thuộc dữ liệu khác ngoài phụ thuộchàm
Phụ thuộc đa trị: Chúng ta thấy phụ thuộc hàm không thể bao trùm hết các phụthuộc dữ liệu, trong thực tế còn nhiều loại phụ thuộc dữ liệu nữa Ví dụ, mỗi cặp vợ
Trang 27chồng ( tên cha, tên mẹ ) không phải xác định duy nhất một đứa con mà là một haymột số đứa con Mối quan hệ này gọi là mối quan hệ đa trị Giả sử có lược đồ quan
hệ R, X và Y là hai tập con của R Nối rằng X xác định đa trị Y ký hiệu l à X Ynếu với mỗi giá trị của X có một tập rỗng hoặc một tập có giá trị tương ứng trên Y
Từ định nghĩa phụ thuộc đa trị ở trên, ta đưa ra định nghĩa dạng chuẩn 4: gọi R
là một lược đồ quan hệ và D là tập hợp các phục thuộc áp dụng được đối với R Nóirằng R là dạng chuẩn IV nếu mỗi phụ thuộc đa trị X Y, trong đó Y≠ Φ hoặc YKhông là con của X và XY không chưa tất cả các thuộc tính của R thì X chưa mộtkhóa của R Nói cách khác mọi phụ thuộc đa trị đều là phụ thuộc hàm
Phụ thuộc chiếu – kết hợp ( projection – join dependency ): cho quan hệ Rđược định nghĩa trên tập các thuộc tính A= {A1, A2, …, An} và X là con của A, Y
là con của A, Z là con của A Nếu R tương đương kết hợp ( join ) của X, Y, Z thì bộ( X, Y, Z ) tạo thành một phụ thuộc chiếu – kết hợp của quan hệ R
Từ định nghĩa về phụ thuộc chiếu – kết hợp, chúng ta đưa ra định nghĩa vềdạng chuẩn V: Một quan hệ R được gọi là dạng chuẩn V nếu mọi phụ thuộc chiếu –kết hợp trên quan hệ R đều xác định bởi các khóa của quan hệ R
1.2.4.3 Một số vấn đề khác
Xử lý truy vấn phân tán
Đề cập đến việc thiết kế các thuật toán tối ưu nhằm phân tích và biến đổi cáccâu truy vấn thành một chuỗi các thao tác dữ liệu Các yếu tố cần được xem xét là
sự phân tán dữ liệu, chi phí truyền …
Điều khiển tương tranh phân tán
Điều khiển tương tranh phân tán bao gồm việc đồng bộ hóa các truy xuất đếnCSDL phân tán làm sao cho tính toàn vẹn được đảm bảo Điều khiển tương tranhphân tán khác với ngữ cảnh tập trung là chúng ta không chỉ quan tâm đến tính nhấtquán của một CSDL mà phải tính đến tính nhất quán của các đoạn CSDL tại các vịtrí khác nhau
Các CSDL không đồng nhất
Vấn đề không đồng nhất dữ liệu này nảy sinh khi chúng ta xây dựng hệCSDL phân tán bằng cách tích hợp những CSDL đã có lại với nhau Tính khôngđồng nhất ở đây có thể là không đồng nhất về lược đồ dữ liệu, kiểu dữ liệu… Chúng
ta sẽ phải đưa ra một giao diện chung cho hệ CSDL phân tán Những sự khác nhau
sẽ được dịch về giao diện chung Các truy vấn toàn cục sẽ thực hiện truy vấn hệCSDL phân tán thông qua giao diện chung
2 An toàn, bảo mật cho hệ CSDL phân tán
2.1 Sơ lược về an toàn thông tin
Với khả năng kết nối máy tính trên toàn cầu như hiện nay, việc có kẻ độtnhập vào máy tính của chúng ta vào bất cứ lúc nào cũng không còn là chuyện hiếmhoi Hầu hết các vụ tin tặc đều không được công khai trước công chúng Theo thống
kê của viện anh ninh máy tính Mỹ ( Computer Sercurity Institute – CSI ), những vụphạm tội kinh điển vẫn chưa được công bố Các vụ ăn cắp thông tin tăng 260% từnăm 1985 đến 1993 Trong số 8932 vụ tấn công trên mạng năm 1993 có 7860 vụthành công nhưng chỉ có 19 vụ được công bố Tại hội thảo do CSI tổ chức vàotháng 11/1995, một hacker khét tiếng – Kevin Mitnick tuyên bố rằng, con số thật sựnhững vụ tấn công trên mạng luôn là một ẩn số
Trang 28Trung tâm quốc gia Mỹ về tội phạm và máy tính tại Santa Cruz, California chobiết chỉ tính riêng ở Mỹ, thiệt hại về kinh tế do tin tặc gây ra hàng năm vào khoảng
550 triệu USD Tập đoàn Yankee, một tập đoàn hàng đầu về tư vấn công nghiệp lạicho rằng nếu tính cả các thiệt hại về năng suất, uy tín, lợi thế cạnh tranh thì số tiềnthiệt hại xấp xỉ 5 tỉ USD một năm
Tại Việt Nam, hiện chưa có các thống kê cụ thể về số vụ, thiệt hại nhưng con
số cũng không phải là nhỏ Trong năm 2004 đã xảy ra một số vụ tấn công vào một
số website như trang trituevietnam.com.vn, tintucvietnam.com, web site ủy bannhân dân thành phố Cần Thơ và một số web site khác bị đe dọa Rõ ràng, những con
số, sự kiện trên phần nào khiến cho mọi người dùng máy tính, các tổ chức, doanhnghiệp ngày một quan tâm đến an toàn thông tin
2.1.1 Những mối đe dọa đến an toàn thông tin
Những mối đe dọa đến an toàn thông tin có thể phân thành hai loại: Các mối
đe dọa xuất phát từ con người và các mối đe dọa đến từ tự nhiên
Hình 1.14 sẽ minh họa hai loại đe dọa này:
Hình 1.14: Các mối đe dọa đến an toàn thông tin
Thiên tai
Các loại thiên tai có thể đe dọa đến hệ thống bao gồm : Lụt lội, động đất, hỏahoạn, bão, … Chúng chủ yếu làm hỏng các thiết bị phần cứng đặc biệt là các thiết bịlưu trữ gây mất mát thông tin
Mối đe dọa xuất phát từ con người
Mối đe dọa này được chia thành 2 khả năng: Cố ý và không cố ý
- Mối đe dọa cố ý: Mối đe dọa cố ý có thể đến từ những người trong và ngoài
hệ thống Nó thường là các hành động lấy cắp, sửa, xóa thông tin, làm ngừng hệthống máy tính dẫn đến ngừng trệ hoạt động sản xuất kinh doanh của tổ chức Mối
đe dọa đến từ những người dùng trong hệ thống sẽ gây ra sự nguy hại rất lớn vì họbiết cách hoạt động của hệ thống máy tính, cách truy cập và sử dụng tài nguyên củamọi người trong hệ thống
Trang 29Những mối đe dọa bên ngoài thường xuất phát từ các hacker – thuật ngữ ámchỉ những người thường xuyên đột nhập vào các hệ thống máy tính trái phép Cáchacker ban đầu sẽ tìm tòi các lỗ hổng về bảo mật của hệ thống Sau đó khoét sâuvào lỗ hổng này để giành quyền kiểm soát hệ thống Sau khi dành được quyền kiểmsoát hệ thống, các hacker sẽ dễ dàng ăn cắp thông tin mật hay thao túng các tàinguyên của hệ thống.
- Mối đe dọa không cố ý: Mối de dọa loại này thường đến từ những ngườidùng thiếu hiểu biết, thực hiện các hành động mà không biết hậu quả của nó Đây lànhững người mới làm việc hay chưa được đào tạo kỹ về hệ thống máy tính do đókhông hiểu được các yêu cầu về an toàn thông tin của tổ chức
2.1.2 Các phương thức tấn công chủ yếu vào hệ thống
Virus máy tính là một chương trình hay một đoạn code được tải vào máy
tính mà bạn không hề hay biết và nó có tác dụng ngược lại với những gì bạn mongmuốn Một số virus không chỉ gây ra các tác động nhỏ mà còn có thể gây nguy hiểmcho ổ cứng, phần mềm hay các file Hầu hết các loại virus được đính kèm vào mộtfile chương trình, điều đó có nghĩa là virus có khả năng đã tồn tại trên máy tính củabạn nhưng nó không thể gây nguy hiểm trừ phi bạn chạy hay mở chương trình đó.Một virus không thể tự phát tán mà không có sự tác động của con người (ví dụ nhưchạy các chương trình mang virus) Mọi người sẽ tiếp tục phát tán virus khi chia sẻhay gửi qua mail các file bị đã bị nhiễm
Worm là một chương trình có khả năng tự nhân bản Worm có thể di chuyển
từ máy tính này sang máy tính khác mà không nhờ vào bất kì tác động nào củangười dùng và nó có khả năng tự nhân bản chính nó trong hệ thống của bạn, do đómáy tính của bạn có thể gửi đi không những một mà hàng trăm, thậm chí hàngnghìn bản copy của nó ra ngoài và gây ra sự tàn phá kinh khủng
Trojan là một chương trình nguy hiểm thường trong diện mạo như là một
chương trình hữu ích (ví dụ như chương trình thay đổi màn hình desktop, thêm cácbiểu tượng lạ trên màn hình), nó có thể sẽ gây hậu quả nghiêm trọng bằng cách xóafile và phá hủy toàn bộ thông tin hệ thống của máy bị nhiễm Trojan cũng có thể tạo
ra các Backdoor trên máy tính giúp cho những kẻ tấn công có thể xâm nhập vào hệthống, làm hư hại các thông tin cá nhân Trojan không phát tán bằng cách làm chocác file khác bị nhiễm cũng như không tự nhân bản
Khi các virus này kết hợp với nhau ta gọi đó là mối đe dọa hỗn hợp Chúngtổng hợp các đặc tính của virus, worm, Trojan Horse và các đoạn code gây tổnthương máy chủ và mạng Internet Bằng nhiều phương pháp và kỹ thuật, các cuộctấn công nhanh chóng lan tỏa và gây thiệt hại trên diện rộng Những đặc trưng sựpha trộn này là: Gây ra thiệt hại, truyền “bệnh” theo nhiều phương pháp, tấn công từnhiều hướng
Sniffing là một chương trình nghe trộm gói tin (còn gọi là chương trình phân
tích mạng, chương trình phân tích giao thức hay chương trình nghe trộm Ethernet)
là một phần mềm máy tính có khả năng chặn và ghi lại giao thông dữ liệu qua mộtmạng viễn thông số hoặc một phần của một mạng Khi các dòng dữ liệu di chuyểnqua lại một mạng, chương trình nghe trộm bắt lấy từng gói tin rồi giải mã và phântích nội dung của nó theo RFC hoặc các đặc tả thích hợp khác Tùy theo cấu trúcmạng (hub hay switch), người ta có thể nghe trộm tất cả hoặc chỉ một phần của giaothông dữ liệu từ một máy trong mạng Đối với các mục đích theo dõi mạng
Trang 30(network monitoring), người ta có thể muốn theo dõi tất cả các gói tin trong một
mạng LAN bằng cách sử dụng một thiết bị chuyển mạch với một cái gọi là cổngtheo dõi (nó lặp lại tất cả các gói tin đi qua tất cả các cổng của thiết bị chuyểnmạch)…
DOS (Denial of Service - Tấn công từ chối dịch vụ): Kiểu tấn công này
thông thường làm tê liệt một số dịch vụ Các tấn công này lợi dụng một số lỗi trongphần mềm hay các lỗ hổng bảo mật trên hệ thống, hacker sẽ ra lệnh cho máy tínhcủa chúng đưa những yêu cầu không đâu vào đâu đến các máy tính, thường là cácserver trên mạng Các yêu cầu này được gởi đến liên tục làm cho hệ thống nghẽnmạch và một số dịch vụ sẽ không đáp ứng được cho khách hàng
Đôi khi, những yêu cầu có trong tấn công từ chối dịch vụ là hợp lệ Ví dụmột thông điệp có hành vi tấn công, nó hoàn toàn hợp lệ về mặt kỹ thuật Nhữngthông điệp hợp lệ này sẽ gởi cùng một lúc Vì trong một thời điểm mà server nhậnquá nhiều yêu cầu nên dẫn đến tình trạng là không tiếp nhận thêm các yêu cầu Đó
là biểu hiện của từ chối dịch vụ
Cookie là những phần tử dữ liệu nhỏ có cấu trúc được chia sẻ giữa website
và trình duyệt của người dùng.Cookies được lưu trữ dưới những file dữ liệu nhỏdạng text (size dưới 4KB) Chúng được các site tạo ra để lưu trữ, truy tìm, nhận biếtcác thông tin về người dùng đã ghé thăm site và những vùng mà họ đi qua trongsite Những thông tin này có thể bao gồm tên, định danh người dùng, mật khẩu, sởthích, thói quen, …Cookies được Browser của người dùng chấp nhận lưu trên đĩacứng của máy tính, không phải Browser nào cũng hổ trợ cookies
Tấn công vào các lỗ hổng bảo mật: Hiện nay, các lỗ hổng bảo mật được
phát hiện càng nhiều trong các hệ điều hành, các web server hay các phần mềmkhác, Và các hãng sản xuất luôn cập nhật các lỗ hổng và đưa ra các phiên bảnmới sau khi đã vá lại các lỗ hổng của các phiên bản trước Do đó, người sử dụngphải luôn cập nhật thông tin và nâng cấp phiên bản cũ mà mình đang sử dụng nếukhông các hacker sẽ lợi dụng điều này để tấn công vào hệ thống Thông thường, cácforum của các hãng nổi tiếng luôn cập nhật các lỗ hổng bảo mật và việc khai tháccác lỗ hổng đó như thế nào thì tùy từng người
Can thiệp vào tham số trên URL: Đây là cách tấn công đưa tham số trực
tiếp vào URL Việc tấn công có thể dùng các câu lệnh SQL để khai thác cơ sở dữliệu trên các máy chủ bị lỗi Điển hình cho kỹ thuật tấn công này là tấn công bằnglỗi “SQL INJECTION” Kiểu tấn công này gọn nhẹ nhưng hiệu quả bởi người tấncông chỉ cần một công cụ tấn công duy nhất là trình duyệt web và backdoor
2.2 Bảo vệ an toàn cho hệ thống máy tính
Công tác thiết kế và đánh giá độ an toàn và bảo mật thông tin phải tuân theohai nguyên tắc chính sau:
- Tính đến tất cả các khả năng kẻ phá hoại có thể xâm nhập
- Tài sản phải được bảo vệ cho đến khi hết giá trị bảo vệ hoặc hết ý nghĩa bảomật
Để thiết kế hệ thống báo mật, trước tiên những nhà quản lý phải xây dựngchính sách an ninh Sau đó, dựa trên chính sách an ninh xây dựng các cơ chế đảmbảo an toàn và bảo mật thông tin
Trang 312.2.1 Các bước xây dựng chính sách an toàn thông tin
Để xây dựng các chính sách an toàn thông tin cần phải căn cứ vào các điềusau:
- Căn cứ vào giá trị các mục dữ liệu trong hệ thống
- Căn cứ vào khả năng các mục dữ liệu bị mất giá trị từ các mối đe dọa vô ývào cố ý
- Căn cứ vào khả năng phần cứng và phần mềm có thể đáp ứng của tổ chức
- Căn cứ vào mức thẩm quyền: Cương vị và trách nhiệm của người sử dụng.Dựa vào các căn cứ trên, người quản trị bắt đầu xây dựng chính sách an toànthông tin theo các bước sau:
1 Xác định các tài sản của hệ thống
Bước đầu tiên trong quy trình xây dựng chính sách an toàn thông tin là liệt
kê tất cả những thứ cần bảo vệ Danh sách này phải đảm bảo có thể cập nhật thườngxuyên, dễ dàng Các mục thường là:
- Phần cứng: CPU, bàn phím, màn hình, máy in, ổ đĩa, …
- Phần mềm: chương trình hệ thống, chương trình ứng dụng, các tiện ích …
- Dữ liệu: Cơ sở dữ liệu, các dữ liệu đã được backup, các dữ liệu đang sửdụng, các dữ liệu trên ổ đĩa…
- Con người: Người dùng
2 Định giá rủi ro
Đánh giá rủi ro bao gồm xác định nguồn gốc những đe dọa đối với từng loạitài sản, xếp loại nguy hiểm đối với từng mối đe dọa dựa trên tần xuất xuất hiện vàmức độ thiệt hại
- Sử dụng tài nguyên như thế nào?
- Người nào sẽ cấp quyền cho các cá nhân, tổ chức quyền sử dụng tàinguyên?
- Người nào sẽ là quản trị hệ thống?
- Quyền và trách nhiệm của từng người dùng là như thế nào?
- Cần phải có những thao tác gì đặc biệt đối với thông tin có tính bảo mậtcao?
4 Kiểm soát và đánh giá
Để kiểm tra xem có sự vi phạm chính sách an toàn thông tin không ? Nhữngngười quản trị nên sử dung phương pháp kiểm soát bằng các file log File log ghi lạihoạt động của người dùng khi đăng nhập hệ thống Ví dụ, với những người dùngthông thường nào đó, họ có thể đăng nhập hay thoát khỏi hệ thống theo một thờigian trong ngày theo thói quen riêng Nếu như phát hiện thấy sự đăng nhập nằmngoài thời gian đó thì có thể đã có sự đột nhập
5 Trao đổi với người dùng
Người dùng luôn dữ vai trò trung tâm trong bất kỳ một hệ thống nào Đểchính sách an toàn thông tin được thực hiện đúng, phát huy hiệu quả thì người quảntrị cần phải liên tục trao đổi thông tin với người dùng Đặc biệt, người dùng phải
Trang 32biết và báo lại các dấu hiệu khả nghi về khả năng sử dụng tài khoản của họ tráiphép.
2.2.2 Các giải pháp tổng thể an toàn thông tin
Bất cứ một giải pháp an toàn nào cũng đều tuân theo hai nguyên tắc:
- Bảo vệ theo nhiều mức, trên các tầng hệ thống
- Không thể có giải pháp nào an toàn tuyệt đối
Để đảm bảo tính toàn vẹn thông tin, người quản trị có thể sử dụng các giảipháp vật lý logic Về mặt vật lý, sao lưu dữ liệu là biện pháp chính Việc sao lưu dữliệu có thể sao lưu toàn bộ hay sao lưu từng phần Sao lưu có thể tiến hành theonhiều cơ chế khác nhau, ví dụ như sao lưu theo sự kiện, sao lưu theo điểm kiểm tra.Khi phục hồi dữ liệu có thể phục hồi toàn bộ hay từng phần, phục hồi dựa vào sựkiện ghi trên file log hay phục hồi theo các điểm kiểm tra Về mặt logic, chủ yếu là
sử dụng các chương trình để kiểm tra tính toàn vẹn của dữ liệu thông qua các ràngbuộc toàn vẹn Để đảm bảo bảo mật thông tin trong hệ thống, hình vẽ sau đây sẽ mô
tả cơ chế và thứ tự thực hiện:
Hình 1.15: Các cơ chế đảm bảo an toàn thông tin
Ta thấy tầng đầu tiên trong qui trình đăng nhập sử dụng thông tin hệ thống làbức tường lửa Tường lửa là cơ chế bảo vệ một mạng cục bộ khỏi các mối đe dọa, từbên ngoài và rò rỉ thông tin từ nội bộ ra bên ngoài Tường lửa có thể là phần cứnghoặc phần mềm hoặc kết hợp giữa cả phần cứng và phần mềm Các máy tính trong
và ngoài mạng không thể giao tiếp trực tiếp mà phải thông qua tường lửa Nó dựatrên những địa chỉ IP được phép của gói tin để quyết định có được tiếp tục trao đổihay không ?
Tầng tiếp theo là bảo vệ vật lý Đơn thuần là các biện pháp bảo vệ thủ côngnhưng độ an toàn được đánh giá là cao nhất
Tầng tiếp theo sau bảo vệ vật lý là mã hóa thông tin Thông tin được mã hóa
là các thông tin riêng tư của cá nhân, thông tin tài khoản, thông tin bí mật hay thôngtin bình thường, nó được mã hóa khi lưu trữ hay khi truyền thông để tránh kẻ địch
Trang 33nhận biết được thông tin khi bắt được trên đường truyền thông Phương pháp mãhóa ở đây có thể là sử dụng mã khối như DES hoặc mã công khai như phương pháp
mã hóa RSA
Tầng tiếp sau mã hóa là chứng thực hay nhận dạng Thường mỗi người khiđăng ký sử dụng một hệ thống phải có username và password Khi đăng nhập, hệthống sẽ nhắc người dùng nhập username và password Nếu đúng thì người dùng đóđược công nhận và sử dụng hệ thống Đó là nguyên tắc chung, hiện nay có nhiềuhình thức chứng thực như dùng thẻ thay cho nhập username, password, dùng dấuvân tay, giọng nói, nhận dạng khuôn mặt, … thay cho dùng password dạng text
Tầng cuối cùng và tiếp xúc trực tiếp với thông tin là tầng phân quyền Mỗingười dùng khi được phép sử dụng hệ thống, sẽ được phân cho một số tài nguyênnhất định và những thao tác nhất định trên các tài nguyên đó Có một số mô hìnhkiếm soát cho công việc phân quyền này
2.3 Bảo mật trong hệ CSDL phân tán
Bảo mật dữ liệu là chức năng quan trọng của một hệ CSDL chống lại nhữngtruy cập bất hợp pháp Bảo mật dữ liệu bao gồm 2 khía cạnh: Bảo vệ dữ liệu vàkiểm soát người truy cập
Bảo vệ dữ liệu ngăn chặn người dùng không hợp pháp biết được nội dungcủa dữ liệu Chức năng này, ngoài hệ quản trị CSDL, các hệ thống file của các hệđiều hành phân tán cũng hỗ trợ Cách bảo vệ dữ liệu chính là mã hóa dữ liệu ápdụng cho cả các thông tin trên đĩa và các thông tin truyền trên mạng Có hai cáchchính để mã hóa dữ liệu đó là sử dụng DES và mã công khai
Kiểm soát quyền truy cập vào CSDL là để đảm bảo người dùng được phânquyền gì thì chỉ được thực hiện quyền đó với CSDL Kiểm soát quyền truy cậptrong hệ CSDL đi vào kiểm soát chi tiết những yếu tố của hệ CSDL như quan hệ,bản ghi …
2.3.1 Kiểm soát truy cập tập trung
Có 3 yếu tố liên quan đến lý thuyết kiểm soát truy cập: Người dùng, chủnhân của những ứng dụng khai thác CSDL, các thao tác trong chương trình ứngdụng, đối tượng CSDL sẽ được các thao tác đó sử dụng Công việc kiểm soát truycập sẽ kiểm tra xem bộ ba đó có đủ điều kiện truy cập không ? Nếu co thì loại hìnhtruy cập gì được cho phép ? Người dùng thường được biểu hiện bởi một cặpusername và password gọi là định danh của người dùng Đối tượng cần để bảo vệ lànhững thành phần CSDL có thể là view, quan hệ, bản ghi, thuộc tính…
Theo cách đơn giản nhất, việc kiểm soát được tập trung hóa: Một nhómngười dùng, một nhà quản trị CSDL nắm mọi quyền và thực hiện trao đổi quyềnhay thu hồi quyền đối với các nhóm người dùng Tuy nhiên, cách này không phùhợp với môi trường phân tán, nó làm mất đi tính tự chủ ở các nút mạng trong hệthống
2.3.2 Kiểm soát truy cập phân tán
Những vấn đề phát sinh trong kiểm soát phân quyền phân tán chủ yếu bắtnguồn từ sự phân tán đối tượng và người dùng Những vấn đề này bao gồm: Chứngthực người dùng ở xa, quản lý cấp quyền phân tán
Trang 34Chứng thực từ xa là cần thiết vì thường xảy ra tình huống: Một người chứngthực ở một site nhưng phải thực hiện truy cập đến các site khác và tất nhiên ở cácsite này, người dùng cũng phải chứng thực Có 3 giải pháp:
- Thông tin để chứng thực người dùng được lưu ở tất cả các site, các giaodịch truy cập từ xa đến phải mang theo cả username và password
- Người dùng chứng thực ở một site, các site tự động chứng thực với nhau
người đó, hệ thống cấp phát một giấy chứng nhận thông minh ( gọi là smartcertification ) chứa thông tin cần thiết để có thể truy nhập các site khác
Giải pháp đầu tiên gặp phải nhiều bất lợi Thứ nhất là tốn tài nguyên lưu trữ.Thứ hai là khi cập nhật người dùng phải thực hiện nhiều thao tác phức tạp Thứ ba
là nguy cơ bị lộ thông tin như username và password là rất cao do bị phán tán Giảipháp thứ 2 thì có một nhược điểm là người dùng dường như phải chịu “đứng yên”.Giải pháp thứ 3 là giải pháp mới ứng dụng công nghệ RBAC và Smart Certificationvào chứng thực, có khả năng bảo mật thông tin nhạy cảm
Phân tán chính sách cấp quyền cũng tương tự như vấn đề chứng thực, có haicách: lưu trữ luật cấp quyền ở các site, hoặc mỗi site lưu trữ luật cấp quyền củariêng site đó Với cách lưu trữ thứ 2, kết hợp với phương pháp chứng thực thứ haicho chúng ta một mô hình khả thi hơn
Phương pháp dùng công nghệ điều khiển truy cập dựa trên vai trò ngườidùng và thẻ thông minh giúp cho mỗi người dùng có khả năng truy cập vào các site
có vai trò của chính họ ở đó, và dựa vào thẻ thông minh, họ cũng chỉ phải chứngthực một lần để nhận được thẻ đó, và từ đó có thể đi các site khác mà ko cần chứngthực nữa
2.4 Các mô hình quản lý phân quyền
Hai mô hình truyền thống được sử dụng rộng rãi là mô hình DAC ( mô hìnhquản lý truy cập tự do ) và mô hình MAC ( mô hình quản lý truy cập đa mức ).Ngoài ra còn có một số mô hình kiểm soát truy cập mới là mô hình RBAC ( kiểmsoát truy cập dựa trên vai trò ) Trong phần này, chúng ta sẽ tìm hiểu qua mô hìnhDAC, MAC và tìm hiểu sâu hơn về mô hình RBAC ở phần tiếp theo
Trong mô hình DAC, người quản trị sẽ liệt kê tất cả các chủ thể và đối tượng
dữ liệu trong hệ thống cũng như quyền truy cập của từng chủ thể đến những đốitượng dữ liệu Chủ thể có thể là người dùng, nhóm người dùng, những tiến trình củangười dùng Nếu chủ thể là người sở hữu một đối tượng dữ liệu (thường là ngườitạo ra đối tượng dữ liệu), chủ thể được phép chuyển quyền hoặc thu hồi quyền thaotác với các đối tượng cho các chủ thể khác tùy theo ý thích của chủ thể Chínhnguyên tắc này lại là điểm yếu của mô hình Ví dụ, người dùng A sở hữu đối tượng
dữ liệu a Người dùng A chuyển quyền thao tác cho người dùng B Người dùng B
Trang 35khi nhận được đối tượng a, theo ý thích của mình sẽ chuyển cho người dùng C vìmột lý do nào đó Người dùng C lại là người dùng bị cấm thao tác đối tượng a, nhưvậy là an toàn thông tin đã bị vi phạm Nói cách khác, mô hình này rất khó kiểmsoát luồng thông tin luân chuyển giữa những người sử dụng.
Ngoài ra, mô hình DAC còn một điểm yếu nữa là rất phức tạp khi chuyển đổiquyền sử dụng của người dùng Khi người dùng chuyển từ vai trò này sang vai tròkhác trong hệ thống, các quyền cũ của người dùng phải thu hồi lại, đặc biệt lànhững quyền mà người dùng đã chuyển nhượng cho người dùng khác, sau đó lạiphân quyền cho người dùng đến những đối tượng mới, quá trình cập nhật lại danhsách lưu trữ rất phức tạp, nhất là khi số lượng các đối tượng lại nhiều
Mô hình DAC chỉ phù hợp trong trường hợp người dùng cũng là người sở hữuđối tượng Điều này lại không phù hợp trong hệ thống thông tin của một tổ chức khingười dùng chỉ là người sử dụng thông tin Mô hình DAC quá đơn giản để phản ánhđược chính sách sử dụng tài nguyên của tổ chức
Trong số những mô hình DAC đang được thực thi, một mô hình đáng chú ý là
mô hình ma trận kiểm soát truy cập HRU của 3 nhà khoa học Harrison, Ruzzo vàUllman Mô hình này sử dụng một ma trận để biểu diễn quyền truy cập của chủ thểvào đối tượng dữ liệu Ngoài ra, mô hình HRU còn sử dụng một tập lệnh để xâydựng lược đồ phân quyền tổng thể Tính an toàn của mô hình HRU thì không đượcxác định Ngoài mô hình HRU ra còn một số mô hình khác được đề xuất như môhình SPM ( Schematic Protection Model), mô hình TAM (Typed Access Matrix),
mô hình DTAC (Dynamically Typed Access Control) Trong mô hình SPM vàTAM đều định nghĩa những kiểu chủ thể và kiểu đối tượng, mô hình DTAC khôngphân biệt tách bạch hai kiểu này Mô hình DTAC có hỗ trợ phân tích và kiểm soátbảo mật để duy trì tính an toàn Tuy nhiên, những mô hình này đều chỉ dừng lại ởmức độ nghiên cứu mà chưa có triển khai nào trong thực tế
2.4.2 Mô hình MAC
Ý tưởng của mô hình bảo mật đa mức xuất phát từ cơ chế bảo mật của các tổchức quân sự Trong đó, người dùng được phân ở rất nhiều cấp bậc Thông tin cũngđược phân thành nhiều mức độ bảo mật Khi đó chỉ có những người ở cấp cao hơnhoặc cùng mức bảo mật của thông tin thì mới có thể sử dụng thông tin Chúng ta cóthể mô tả nguyên tắc quản lý của mô hình này như sau:
- Các đối tượng dữ liệu được phân thành các mức bảo mật khác nhau, ngườidùng cũng được phân thành các mức sử dụng khác nhau Chúng ta có thể minh họacác mức của người dùng và của đối tượng theo thứ tự sau:
Tuyệt mật > tối mật > mật > không bảo mật
- Chúng ta gọi mức sử dụng của người dùng A là clearance (A) và mức bảomật của đối tượng x là secrect (x), như vậy, nguyên tắc quản lý của mô hình có thểphát biểu như sau:
clearance (A) >= secrect (x)
clearance (A) = secrect (x)Chúng ta có thể thấy ngay được ưu điểm của mô hình này là nó kiểm soát đượcluồng thông tin giữa những người sử dụng theo cách “không đọc lên” và “không ghixuống” (no read-up and no write-down) Những người dùng ở mức sử dụng cao
Trang 36không thể nào cập nhật hay nhập thông tin vào mức bảo mật thấp hơn để có thể lộcho những người có mức sử dụng thấp hơn Một ưu điểm khác là đối tượng bảo mật
có thể thay đổi rất linh hoạt Đối tượng bảo mật có thể là các cột của bảng dữ liệuhay cả bảng hoặc các kiểu lưu trữ khác Khi người dùng thay đổi vị trí công tác, ví
dụ như thay đổi cấp bậc thì người quản trị chỉ cần thay đổi mức sử dụng của ngườidùng
Các mức sử dụng của người dùng có thể là cố định sẵn Các mức bảo mật cóthể là xác định trước và gán cho các đối tượng thông tin nhưng cũng có thể tạo ranhờ những ràng buộc áp đặt lên các mức bảo mật Nhờ có các ràng buộc mà mô hìnhMAC có thể phản ánh chính sách an ninh của hệ thống
Tuy nhiên, mô hình này có nhược điểm là công tác cài đặt và bảo trì rất phứctạp Đặc biệt là lưu trữ các ràng buộc và phân mức dữ liệu theo các ràng buộc
3 Kết chương
Trong chương này, chúng ta đã tìm hiểu những vấn đề chung liên quan đến
hệ CSDL phân tán và cái nhìn tổng quát về an toàn thông tin
Mô hình hệ CSDL phân tán là một giải pháp thay thế cho các hệ CSDL tậptrung trong hoàn cảnh công nghệ thông tin, nhu cầu áp dụng công nghệ thông tincủa các tổ chức doanh nghiệp và nhu cầu sử dụng thông tin của người dùng tăngnhanh
Hệ CSDL phân tán có kiến trúc đa dạng Tùy vào hoàn cảnh, nhu cầu của tổchức, chúng ta có thể xây dựng hệ CSDL phân tán từ đầu theo hướng top – downhoặc tích hợp những CSDL sẵn có theo hướng bottom – up
Đi cùng với những ưu điểm, triển vọng mà hệ CSDL phân tán mang lại lànhững khó khăn, phức tạp khi thiết kế, quản trị hệ CSDL phân tán như: Phân mảnh,cấp phát, bảo mật, đồng bộ, quản lý giao dịch, quản lý tương tranh, sao lưu phụchồi…
Khi nhu cầu áp dụng và sử dụng công nghệ thông tin càng tăng thì càng cónhiều âm mưu phá hoại hệ thống thông tin và như vậy, vấn đề an toàn thông tin sẽluôn được chú trọng khi xây dựng các hệ thống thông tin Công tác đảm bảo an toànthông tin cho hệ thống thông tin trải trên một diện rộng gồm bảo mật thông tin, đảmbảo toàn vẹn dữ liệu, sao lưu phục hồi dữ liệu trước và sau sự cố Chúng ta cần chú
ý rằng, không có hệ thống nào là khôn có lỗ hổng an toàn thông tin và không có cơchế nào đảm bảo an toàn 100% Để đảm bảo an toàn cho hệ thống, chính sách antoàn thông tin phải tạo ra được sự phối hợp, trợ giúp, khắc phục điểm yếu lẫn nhaugiữa các cơ chế an toàn
Trong chương này, chúng ta cũng đã tìm hiểu một số mô hình quản lý phânquyền Mô hình DAC khá đơn giản và chỉ phù hợp để cài đặt trong một hệ điềuhành đơn lẻ hơn là cài đặt trong phạm vi các ứng dụng phân tán Mô hình DAC cókhả năng bảo mật rất chặt chẽ nhưng lại khó khăn trong cài đặt và bảo trì
Trang 37CHƯƠNG 2 QUẢN LÝ PHÂN QUYỀN DỰA TRÊN VAI TRÒ VÀ
GIẤY CHỨNG NHẬN THÔNG MINH
Trong chương 1, chúng ta đã tìm hiểu về các mô hình quản lý phân quyền:DAC, MAC Trong chương 2 chúng ta sẽ tiếp tục tìm hiểu mô hình RBAC, là môhình được xây dựng từ những ý tưởng của các mô hình truyền thống và tìm hiểu vềgiấy chứng nhận thông minh
1 Quản lý phân quyền dựa trên vai trò ( RBAC )
Trong những năm gần đây, các nhà sản xuất phần mềm đã bắt đầu cài đặt môhình RBAC trong các hệ quản trị CSDL, hệ quản trị an toàn thông tin, hệ điều hành,
… Tuy nhiên, họ lại chưa đưa ra được tiêu chuẩn cho mô hình RBAC bao gồm tiêuchuẩn về những thành phần cơ bản, quan hệ cơ bản, về những chức năng cơ bản cốtyếu của mô hình cần có để thực hiện được nhiệm vụ quản lý phân quyền Để tiếnhành chuẩn hóa mô hình và tạo những điều kiện thuận lợi khi cài đặt, đánh giá độ
an toàn trong thực tế, Viện tiêu chuẩn và công nghệ Hoa Kì (NIST) đã thực hiệnmột dự án nghiên cứu cùng với nhiều trường đại học Mĩ và đưa ra mô hình thamchiếu chuẩn cho RBAC tại hội nghị của ACM về quản lý phân quyền Role – basednăm 2000
1.1 Sơ lược về lịch sử
Khái niệm về role đã được sử dụng trong các ứng dụng phần mềm từ cách đây
ít nhất 25 năm Tuy nhiên, chỉ từ đầu những năm 90 trở lại đây, mô hình quản lýphân quyền dựa trên role mới xuất hiện và được so sánh với các mô hình truyềnthống là MAC và DAC Ý tưởng nền tảng của mô hình RBAC xuất phát từ việcnhóm người sử dụng có chức năng làm việc trong hệ thống giống nhau thành cácnhóm trong hệ điều hành Unix, phân nhóm các quyền sử trong các hệ quản trịCSDL và khái niệm phân tách trách nhiệm (separation of duty) Mô hình RBAC là
sự thể hiện của tất cả các ý tưởng đó trong một mô hình bao gồm các role, phân cấprole, kích hoạt role và các ràng buộc áp dụng lên các người dùng role
Mô hình RBAC ngày nay được coi là mô hình quản lý phân quyền tổng quát
Từ mô hình RBAC có thể chuyển thành các mô hình DAC và MAC Trong các bàibáo của Hiệp hội khoa học máy tính ACM, mô hình RBAC đều được đánh giá cao,phù hợp với các ứng dụng web – based, đáp ứng được nhiều chính sách an toànthông tin phức tạp thông qua phân cấp role và các ràng buộc Công việc quản trịđược đơn giản đi nhiều thông qua sử dụng role để phân quyền truy nhập
Ví dụ, khi một người dùng chuyển từ vị trí công tác này sang vị trí công táckhác trong một tổ chức, người quản trị chỉ cần xóa bỏ người đó khỏi role cũ và gánvào role mới Nếu sử dụng các mô hình truy nhập truyền thống thì quá trình diễn raphức tạp hơn nhiều, lúc này từng quyền của người dùng phải được thu hồi lại, đặcbiệt là các quyền được chuyển nhượng gián tiếp từ A sang B, rồi từ B sang C Ngoài
ra, để ngăn ngừa việc sử dụng thông tin không hợp pháp, các nhà quản lý cần phải
áp dụng them các ràng buộc Một ràng buộc điển hình và được sử dụng rộng rãi làràng buộc phân tách trách nhiệm (SoD) Mục đích của loại ràng buộc này là giảmbớt các thao tác sử dụng dữ liệu bất hợp pháp bằng cách không cho phép một ngườidùng cụ thể có đủ quyền lực để một mình thực hiện các hoạt dộng đó Ràng buộc