bảo mật trong cơ sở dữ liệu sql server
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG CHÍ HIẾU
BẢO MẬT TRONG CƠ SỞ DỮ LIỆU SQL SERVER
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Các hệ thống thông tin
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG CHÍ HIẾU
BẢO MẬT TRONG CƠ SỞ DỮ LIỆU SQL SERVER
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Các hệ thống thông tin
Cán bộ hướng dẫn: TS Hồ Văn Hương
HÀ NỘI - 2010
Trang 3LỜI CẢM ƠN
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin trường đại học Công Nghệ - Đại học Quốc Gia Hà Nội đã tạo điều kiện thuận lợi để em thực hiện đề tài khóa luận tốt nghiệp này
Em xin chân thành cảm ơn TS Hồ Văn Hương, thầy đã 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 này
Em xin chân thành cảm ơn các thầy cô trong và ngoài 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 thực tập cũng như trong lúc thực hiện đề tài này
Mặc dù đã cố gắng hoàn thành khóa luậ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 thầy cô và các bạn
HÀ NỘI, THÁNG 6 NĂM 2010
Hoàng Chí Hiếu
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC AN TOÀN THÔNG TIN TRONG CƠ
SỞ DỮ LIỆU 3
1.1 Giới thiệu 3
1.2 Khái niệm 4
1.3 Vấn đề an toàn thông tin 8
1.4 Vấn đề an toàn thông tin trong cơ quan chính phủ và thương mại điện tử 11
1.5 Thiết kế cơ sở dữ liệu an toàn 13
1.5.1 Phân tích sơ bộ 14
1.5.2 Phân tích yêu cầu và chọn lựa chính sách an toàn 15
1.5.3 Thiết kế khái niệm 18
1.5.4 Thiết kế logic 19
1.5.5 Thiết kế vật lý 19
1.5.6 Cài đặt cơ chế an toàn 19
1.5.7 Kiểm tra và kiểm thử 22
1.6 An toàn cơ sở dữ liệu thống kê 22
1.6.1 Khái niệm 22
1.6.2 Phương pháp bảo vệ suy luận 23
1.7 Kết luận 24
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ SỞ DỮ LIỆU 26
2.1 Giới thiệu 26
2.2 Mã hóa khóa đối xứng 26
2.2.1 Mã khối 26
2.2.2 An toàn trong việc dùng mã hóa khóa đối xứng 30
2.3 Mã hóa khóa công khai 30
2.3.1 Mã hóa RSA 32
2.3.2 Mã hóa Elgamal 32
2.3.3 Phân phối khóa 33
2.3.4 Trao đổi khóa Diffie Helman 34
2.3.5 Xác thực thông tin 35
2.3.6 Hàm băm 38
Trang 52.3.7 Chữ ký số 41
2.4 Kết luận 43
CHƯƠNG 3: ĐỀ XUẤT GIẢI PHÁP BẢO MẬT CƠ SỞ DỮ LIỆU 45
3.1 Giới thiệu 45
3.2 Mô hình bảo mật cơ sở dữ liệu 45
3.3 Các yếu tố mất an toàn 48
3.4 yêu cầu đặt ra khi xây dựng hệ thống an toàn 50
3.5 Giải pháp 51
3.5 1 Mô hình đề xuất 51
3.5.2 Giải pháp đề xuất 51
3.5.3 Các giải pháp kỹ thuật 52
3.5.3.1 Giải pháp bài toán “đảm bảo an toàn dữ liệu khi chuyển dữ liệu trên mạng” 52
3.5.3.2 Giải quyết bài toán “Đảm bảo an toàn CSDL trong lúc khai thác CSDL phục vụ tác nghiệp” 55
3.5.3.3 Giải quyết bài toán “đảm bảo an toàn CSDL khi không phục vụ tác nghiệp” 56
3.5.4 Thiết kế hệ mật 57
3.5.5 Hệ thống quản lý và phân phối khóa 57
3.6 Nghiên cứu giải pháp bảo mật CSDL trong DBMS SQL Server 58
3.6.1 Giới thiệu 58
3.6.2 Vấn đề bảo mật trong SQL Server 59
3.6.2.1 Bảo mật trong môi trường mạng 59
3.6.2.2 Bảo mật tại chỗ 62
3.6.2.3 Biện pháp tác nghiệp 63
3.7 Xây dựng ứng dụng 63
3.7.1 Chèn dữ liệu vào bảng trong CSDL 64
3.7.2 Hiển thị những thông tin trong CSDL dưới dạng bản mã 65
3.7.3 Hiển thị những thông tin trong CSDL sau khi được mã hóa 66
3.7.4 Giao diện ứng dụng và cách sử dụng 67
3.8 Kết luận 70
TÀI LIỆU THAM KHẢO 72
Trang 6Hình 3.1: Các thành phần của mô hình an toàn trong một hệ thống an toàn 48
Hình 3.6: Quá trình hiển thị những thông tin trong CSDL sau khi giải mã 66 Hình 3.7: Giao diện để người dùng đăng nhập vào hệ thống 67
Hình 3.11: Giao diện thông báo khi người dùng không nhập khóa 69 Hình 3.12: Giao diện khi người dùng nhập khóa chính xác 70
Trang 7KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
AES Advanced Encription Standard Chuẩn mã hóa tiên tiến
DBMS Database Management System Hệ quản trị cơ sở dữ liệu DDL Data Difinition Language Ngôn ngữ định nghĩa dữ liệu
DML Data Manipulation Language Ngôn ngữ thao tác dữ liệu MAC Message Authentication Code Thuật toán chữ ký số
PKI Public Key Infrastructure Hạ tầng khóa công khai
SHA Sucure Hash Authorithm Thuật toán băm an toàn
SQL Structure Query Language Ngôn ngữ truy vấn có cấu trúc
Trang 8MỞ ĐẦU
Thông luôn là một nguồn tài sản quan trọng của các tổ chức, doanh nghiệp và cần được bảo vệ bằng mọi giá Ngày nay, với những đòi hỏi gắt gao của môi trường làm việc cũng như nhu cầu chia sẻ thông tin ở mức tối đa Các tổ chức, doanh nghiệp phải năng động chia sẻ thông tin của mình cho nhiều đối tượng khác nhau qua môi trường không an toàn như Internet hay Intranet, cùng với việc sử dụng các hệ quản trị cơ sở dữ liệu để lưu trữ tập trung hay phân tán những thông tin quý giá của mình Do đó hệ quản trị cơ sở dữ liệu và hệ thống mạng máy tính sẽ là tiêu điểm tấn công của nhiều kẻ xấu nhằm chiếm đoạt thông tin Việc bảo vệ thông tin ngày càng trở nên quan trọng và khó khăn hơn khi các kỹ thuật tấn công ngày càng tinh vi, thực hiện trên diện rộng với nhiều cách thức khác nhau Ở mức độ nhẹ, các tấn công sẽ làm hệ thống cơ sở dữ liệu bị hỏng hóc, hoạt động không ổn định, mất mát dữ liệu làm cho hoạt động của tổ chức, doanh nghiệp bị trì trệ Nghiêm trọng hơn, các thông tin sống còn của tổ chức doanh nghiệp bị tiết lộ, thay đổi có thể làm sụp đổ hoàn toàn hệ thống thông tin của tổ chức hay doanh nghiệp
Chính vì vậy, đặt ra vấn đề cần phải bảo vệ thông tin trong các hệ quản trị cơ sở dữ liệu, thông tin trên đường truyền nhằm chống lại các truy cập, sửa đổi trái phép dữ liệu của người dùng Nhiệm vụ chính của khóa luận là nghiên cứu, đề xuất các giải pháp bảo mật cơ sở dữ liệu dựa trên kiến trúc tổng quan của mô hình an toàn thông tin trong cơ sở
dữ liệu và vận dụng cơ sở lý thuyết mật mã ứng dụng trong bảo mật cơ sở dữ liệu Khóa luận gồm ba chương:
Chương 1: Tổng quan về kiến trúc an toàn thông tin trong cơ sở dữ liệu
Trong đó trình bày các khái niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu, nêu lên các vấn đề dẫn tới mất an toàn thông tin, thông qua đó đưa ra các phương pháp bảo vệ cơ sở dữ liệu, trình bày các bước cơ bản để thiết kế một cơ
sở dữ liệu an toàn
Chương 2: Cơ sở lý thuyết mật mã trong bảo mật cơ sở dữ liệu Trong đó
hai hệ mật quan trọng làm nền tảng cho các thuật toán bảo mật là hệ mật mã hóa khóa đối xứng và hệ mật mã hóa khóa công khai được trình bày Ngoài vấn
đề bảo mật dữ liệu hệ mật còn đưa ra phương pháp xác thực thông tin, xác thực người dùng dựa trên hệ mật mã hóa khóa công khai
Trang 9 Chương 3: đề xuất giải pháp bảo mật cơ sở dữ liệu và demo Giải pháp bảo
mật cơ sở dữ liệu nhằm giải quyết các vấn đề bảo mật dữ liệu và xác thực thông tin trên đường truyền không tin cậy và bảo mật cơ sở dữ liệu tại chỗ Ngoài ra còn đưa ra các nguyên tắc chỉ đạo khi người dùng thực hiện các nhiệm vụ tác nghiệp để khai thác cơ sở dữ liệu trong hệ quản trị cơ sở dữ liệu, thực hiện một
số nghiên cứu tìm hiểu về giải pháp bảo mật trong hệ quản trị cơ sở dữ liệu SQL Server Cuối cùng là làm demo về bảo mật cơ sở dữ liệu bằng cách mã hóa các trường thông tin trong hệ quản trị cơ sở dữ liệu SQL Server
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC AN TOÀN THÔNG TIN TRONG CƠ
SỞ DỮ LIỆU
1.1 Giới thiệu
Trong những năm gần đây, công nghệ thông tin được sử dụng rộng rãi trong nhiều
hệ thống máy tính của các tổ chức như Chính phủ, phi chính phủ, các doanh nghiệp, các trường đại học, bệnh viện … và các cá nhân Đặc biệt là sự phát triển mạnh của các phần cứng, phần mềm về chất lượng và số lượng, giá cả hợp lý, kéo theo đó là sự ra đời của các công cụ trợ giúp đã góp phần khuyến khích việc sử dụng dịch vụ máy tính ngày càng tăng nhanh Do đó, ngày càng có nhiều dữ liệu được lưu trữ và quản lý bởi các hệ thống máy tính Vì vậy vấn đề đặt ra là làm sao để đảm bảo tính an toàn và toàn vẹn của dữ liệu trên các hệ thống này?
Có rất nhiều phương pháp để thiết kế cơ sở dữ liệu ( CSDL ) đã được phát triển nhằm hỗ trợ cho các yêu cầu ứng dụng khác nhau được đặt ra trong thực tế Trong đó mô hình khái niệm, mô hình logic cùng với các công cụ truy vấn đã được nghiên cứu và phát triển nhằm tạo ra một hệ quản trị cơ sở dữ liệu ( DBMS ) hỗ trợ tốt nhất cho người dùng khai thác và quản lý dữ liệu Một đặc điểm cơ bản của DBMS là khả năng quản lý đồng thời nhiều giao diện ứng dụng, một CSDL cho phép nhiều người dùng cùng khai thác dữ liệu tại một thời điểm
Ngoài ra DBMS còn hỗ trợ việc xử lý phân tán, góp phần nâng cao phát triển hệ thống thông tin tự động Vì vậy, việc xử lý thông tin của các tổ chức có các chi nhánh ở
xa nhau có thể được thực hiện nhanh chóng thông qua mạng máy tính, cho phép truyền thông tin với số lượng lớn Sử dụng CSDL phân tán và tập trung gắn liền với việc giải quyết bài toán an toàn dữ liệu, đồng thời vẫn phải thỏa mãn các đòi hỏi đa dạng của mô hình CSDL thương mại Trong thực tế, sự cố xảy ra với dữ liệu không chỉ ảnh hưởng với từng người sử dụng, từng ứng dụng mà nó còn ảnh hưởng lớn đến toàn bộ hệ thống thông tin
Sử dụng giao diện trong khi thao tác với CSDL đã góp phần hỗ trợ nhiều nhóm người dùng khác nhau, nhưng cũng kéo theo đó là vấn đề mất an toàn thông tin do lượng
Trang 11thông tin được trao đổi là rất lớn, nhiều người dùng tinh vi hơn tạo ra những khả năng truy nhập trái phép vào hệ thống CSDL
An toàn thông tin trong một hệ thống CSDL, thông tin phải đáp ứng ba yêu cầu sau:
Tính bí mật của thông tin: Thông tin sẽ không đến được với các tổ chức, cá nhân không có quyền truy cập tới nó
Tính toàn vẹn của thông tin: Đảm bảo tính nhất quán của dữ liệu, ngăn chặn những sửa đổi vô tình hay hữu ý tới nguồn thông tin
Tính sẵn sàng: Một hệ thống thông tin an toàn luôn phải sẵn sàng cung cấp thông tin cho người dùng hợp pháp khi người ngày truy nhập tới CSDL Chính xác hơn là phần cứng hay phần mềm của hệ thông phải hoạt động hiệu quả và
hệ thống có khả năng khôi phục nhanh chóng, chính xác thông tin khi xảy ra sự
cố
1.2 Khái niệm
CSDL dữ liệu là một tập hợp dữ liệu không nhất thiết đồng nhất, có quan hệ với nhau về mặt logic được sử dụng trong các tổ chức với những ứng dụng khác nhau Trong thiết kế CSDL có hai vấn đề chính đó là thiết kế pha khái niệm, hai pha này được dùng để
mô tả cấu trúc của CSDL Trong quá trình thiết kế pha logic, lược đồ logic được chuyển
từ lược đồ khái niệm Pha khái niệm độc lập với DBMS pha logic phụ thuộc vào từng DBMS
DBMS là phần mềm ứng dụng để quản lý, tạo mới, bảo trì và đảm bảo truy cập có điều kiện tới CSDL của người dùng Có rất nhiều DBMS khác nhau, từ các phần mềm nhỏ chạy trên máy tính cá nhân đến các hệ quản trị phức tạp chạy trên các máy chủ Nhưng tất cả đều có đặc điểm chung là sử dụng ngôn ngữ truy vấn có cấu trúc SQL Các ngôn ngữ dùng trong DBMS bao gồm:
DDL – Data Definition Language: Là ngôn ngữ định nghĩa dữ liệu, hỗ trợ định nghĩa lược đồ CSDL logic
DML – Data Munipulation Language: Là ngôn ngữ thao tác dữ liệu, được người dùng đặc biệt sử dụng, ví dụ như các nhà phát triển Bao gồm các cú
Trang 12 QL – Query Language: Là ngôn ngữ hỏi, cho phép người sử dụng khai thác dữ liệu truy vấn thông tin trên CSDL
Một DBMS thông thường bao gồm nhiều modun tương ứng với các chức năng sau:
về cuối cùng
Tất cả mọi thao tác nhằm truy vấn tới CSDL đều được thực hiện thông qua các thủ tục của DBMS Thực hiện một câu lệnh DML tương ứng với một thủ tục của DBMS truy cập tới CSDL Thủ tục lấy dữ liệu từ CSDL đưa tới các vùng làm việc của ứng dụng
Trang 13tương ứng với câu lệnh retrieval, chuyển dữ liệu từ vùng làm việc vào CSDL tương ứng với câu lệnh insert, update, xóa dữ liệu ra khỏi CSDL với câu lệnh delete
Hình 1.1: Mô hình DBMS
Hình 1.2: Mô hình tương tác giữa ứng dụng và CSDL
Trong DBMS có các tầng mô tả dữ liệu, mỗi tầng mô tả dữ liệu cung cấp cái nhìn
Vùng làm việc của ứng dụng
Các trình ứng dụng
………
………
Thủ tục của DBMS
Vùng làm việc của DBMS
Cơ sở dữ liệu
Bộ xử lý DML,
bộ truy vấn CSDL
Trình biên dịch DDL
Bộ quản lý CSDL
Bộ quản lý file
Các bảng truy cập đồng thời
Các bảng phân quyền
Trang 14Hình 1.3: Các tầng mô tả dữ liệu
Tầng hiển thị logic: Chức năng của tầng là hỗ trợ các ứng dụng hiển thị trên đó, việc xây dựng tầng này phụ thuộc vào các yêu cầu của mô hình logic và mục đích của ứng dụng Tầng hiển thị logic mô tả một phần tầng lược đồ CSDL logic Tầng này sử dụng DDL để định nghĩa các hiển thị logic và DML để thực hiện các thao tác trên đó
Tầng lược đồ dữ liệu logic: Ở tầng này tất cả các dữ liệu của CSDL được mô tả
sử dụng mô hình logic của DBMS Dữ liệu và các mối quan hệ của dữ liệu được mô tả qua DDL của DBMS và các thao tác khác nhau trên tầng này được xác định thông qua DML của DBMS
Tầng dữ liệu vật lý: Ở tầng này kiến trúc lưu trữ của dữ liệu chính xác là các file trên bộ nhớ ngoài Dữ liệu là các dữ liệu vật lý được lưu trữ như các bản ghi hay con trỏ của bản ghi
Việc DBMS tạo ra các tầng khác nhau trong mô tả của dữ liệu làm cho khái niệm về logic và vật lý của dữ liệu trở nên độc lập ở cả hai mức logic và vật lý
Độc lập logic nghĩa là một lược đồ logic có thể được thay đổi mà không làm thay đổi các chương trình ứng dụng làm việc với lược đồ này
Độc lập vật lý nghĩa là lược đồ dữ liệu vật lý có thể thay đổi mà không cần thay đổi các ứng dụng truy cập dữ liệu trên đó
Trang 15Ngày nay, người ta sử dụng DBMS dựa trên mô hình thực thể quan hệ trong lĩnh vực thương mại điện tử ngày càng nhiều Thực thể được xem như là các lớp đối tượng của thế giới bên ngoài được mô tả bên trong CSDL và các quan hệ mô tả mối liên hệ giữa hai hay nhiều thực thể Mô hình cung cấp tính độc lập cao với kiến trúc vật lý của dữ liệu, thêm vào đó mô hình linh động, đa dạng trong việc thực hiện các câu lệnh truy vấn mà không bị giới hạn bởi tầng vật lý, đây chính là những ưu điểm của nó so với mô hình phân quyền và mô hình mạng Theo mô hình quan hệ dữ liệu được thể hiện về khái niệm trong bảng hai chiều bao gồm các cột và các dòng Các bảng gọi là các quan hệ, các dòng gọi là các bộ, các cột là các thuộc tính Theo cách nhìn trước đây, mỗi cột là một bản ghi, thuộc tính cho biết ý nghĩa của các giá trị trong bản ghi CSDL dùng các giá trị thuộc tính để liên kết dữ liệu thuộc các bảng khác nhau
1.3 Vấn đề an toàn thông tin
Trong môi trường CSDL sự khác nhau giữa chương trình ứng dụng và người sử dụng của tổ chức dẫn tới việc phải kết hợp thành một bộ dữ liệu duy nhất thông qua DBMS Ngoài ra DBMS còn phải giải quyết vấn đề sao chép dữ liệu, xung đột dữ liệu, sự phụ thuộc của chương trình và kiến trúc của dữ liệu Mặt khác DBMS với tính năng bảo mật giúp tránh khỏi các đe dọa từ bên ngoài vào trong hệ thống vốn là một vấn đề nóng
và ngày càng trở nên quan trọng, cấp bách với môi trường CSDL
Một hiểm họa có thể được xác định khi đối phương sử dụng các kỹ thuật đặc biệt để tiếp cận nhằm khám phá, sửa đối trái phép những thông tin quan trọng trong hệ thống do
hệ thống quản lý Các xâm phạm dữ liệu đó bao gồm đọc, sửa, xóa dữ liệu trái phép
Mất an toàn dữ liệu liên quan đến các vấn đề:
Mất thông tin: Thông tin bị lộ do sự truy cập trái phép của người sử dụng
Thay đổi dữ liệu một cách trái phép: Người thay đổi có thể không cần biết đến nội dung của dữ liệu
Sự từ chối phục vụ của hệ thống: Hệ thống từ chối dịch vụ sự truy cập hợp pháp của người dùng vào trong CSDL hoặc các truy cập sử dụng tài nguyên
Sự an toàn của dữ liệu thường bị đe dọa do:
Trang 16 Các thảm họa từ tự nhiên như: Động đất, lụt lội, hỏa hoạn… có thể phá hoại phần cứng, hệ thống lưu trữ dữ liệu dẫn đến mất tính toàn vẹn và sẵn sàng của
Những xâm phạm liên quan đến hai lớp người dùng sau:
Người dùng hợp pháp có thể lạm dụng quyền sử dụng vượt quá quyền hạn được phép của họ
Đối phương là một người hay nhóm người truy nhập thông tin trái phép, có thể
là những người nằm ngoài tổ chức hay bên trong tổ chức Họ tiến hành các hành vi phá hoại phần mềm cơ sở dữ liệu hay hệ thống phần cứng hoặc đọc ghi các dữ liệu trái phép Trong cả hai trường hợp trên họ đều thực hiện với chủ ý
rõ ràng
Các biện pháp bảo vệ CSDL:
Bảo vệ cơ sở dữ liệu khỏi các hiểm họa có nghĩa là bảo vệ tài nguyên, đặc biệt là bảo vệ dữ liệu khỏi các thảm họa, hoặc truy nhập trái phép Các biện pháp bảo vệ bao gồm:
Bảo vệ chống truy cập trái phép: Đây là vấn đề được quan tâm nhiều nhất trong
an toàn CSDL Nó bao gồm việc truy cập hợp pháp tới dữ liệu của người được cấp quyền Các yêu cầu truy nhập sẽ được DBMS kiểm tra lại để xem xét có chấp nhận quyền đó của người dùng hay chương trình ứng dụng thông qua bảng phân quyền Kiểm soát truy cập tới dữ liệu khó hơn nhiều so với kiểm soát truy cập tới file và việc kiểm soát cần được thực hiện trên các đối tượng dữ liệu ở mức thấp nhất hơn mức file đó là các bản ghi, thuộc tính và giá trị
Bảo vệ chống suy diễn: Suy diễn là khả năng có được các thông tin bí mật từ những thông tin không bí mật Đặc biệt suy diễn ảnh hưởng tới các CSDL thống kê, trong đó người dùng không được phép dò xét thông tin của các cá thể khác từ các dữ liệu thống kê
Trang 17 Bảo vệ toàn vẹn CSDL: Bảo vệ CSDL khỏi các truy nhập trái phép mà có thể dẫn đến việc thay đổi nội dung dữ liệu Các lỗi do Virus, sự phá hoại hoặc hỏng hóc trong hệ thống có thể gây hỏng dữ liệu DBMS dựa vào dạng bảo vệ này, thông qua việc kiểm soát đúng đắn của hệ thống các thủ tục sao lưu, phục hồi
và các thủ tục an toàn dữ liệu Để duy trì tính tương thích của CSDL mỗi giao tác phải là một đơn vị tính toán tin cậy và tương thích Hệ thống khôi phục sử dụng nhật ký Với mỗi giao tác nhật ký ghi lại các phép toán đã được thực hiện trên dữ liệu ( chẳng hạn như read, write, insert, update, delete) cũng như các phép toán điều khiển giao tác ( commit, abort ) cả giá trị cũ và mới của các bản ghi kéo theo Hệ thống phục hồi đọc file nhật ký để xác định giao tác nào bị hủy bỏ hoặc giao tác nào cần phải thực hiện lại Hủy một giao tác có nghĩa là phục hồi lại các giá trị cũ của mỗi phép toán trên bản ghi kéo theo Thực hiện lại các giao tác có nghĩa là cập nhật lại giá trị mới của mỗi phép toán vào bản ghi kéo theo Các thủ tục an toàn đặc biệt bảo vệ dữ liệu không bị truy nhập trái phép Xây dựng mô hình, thiết kế và thực hiện các thủ tục này là một trong các mục tiêu an toàn CSDL
Toàn vẹn dữ liệu thao tác: Đảm bảo tính tương thích của dữ liệu khi có nhiều giao tác thực hiện đồng thời Bộ quản lý tương tranh trong DBMS đảm bảo tính chất khả tuần tự và cô lập của các giao tác Khả tuần tự có nghĩa là kết quả của việc thực hiện đồng thời một tập hợp các giao tác này Tính cô lập thể hiện sự độc lập giữa các giao tác, tránh hiệu ứng Domino, trong đó việc hủy bỏ một giao tác dẫn đến hủy bỏ các giao tác khác
Tính toàn vẹn ngữ nghĩa của dữ liệu: Yêu cầu này đảm bảo tính tương thích logic của các dữ liệu bị thay đổi, bằng cách kiểm tra các giá trị dữ liệu có nằm trong khoảng giá trị cho phép hay không Các hạn chế ( trên các giá trị dữ liệu ) được biểu diễn như các ràng buộc toàn vẹn Các ràng buộc có thể được xác định trên toàn bộ CSDL hoặc là cho một số giao tác
Khả năng lưu vết và kiểm tra: Yêu cầu này bao gồm khả năng lưu lại mọi truy nhập tới dữ liệu (với các phép toán read và write) Khả năng kiểm tra và lưu vết đảm bảo tính toàn vẹn dữ liệu vật lý và trợ giúp cho việc phân tích dãy truy nhập vào cơ sở dữ liệu
Trang 18 Xác thực người dùng: Hệ thống phải có khả năng xác thực đối với người dùng
và quyền truy cập của người dùng tới dữ liệu được phép Chỉ có những người dùng có quyền truy nhập hợp pháp mới có quyền truy cập đến dữ liệu Yêu cầu này thực sự cần thiết để xác định tính duy nhất của người dùng
Bảo vệ dữ liệu nhạy cảm: Bảo vệ dữ liệu nhạy cảm là một vấn đề rất quan trọng
và cần được quan tâm đặc biệt trong các môi trường nhạy cảm như quân sự, thương mại… Vì vậy cần có chế độ kiểm soát người dùng truy cập tới dữ liệu nhạy cảm, hạn chế tối đa mức truy cập không cần thiết
Bảo vệ nhiều mức: Tùy vào tính chất nhạy cảm của dữ liệu mà phân cấp, cấp
độ bảo vệ khác nhau và trao quyền cho người dùng truy cập tới dữ liệu là khác nhau
1.4 Vấn đề an toàn thông tin trong cơ quan chính phủ và thương mại điện tử
An toàn thông tin bao gồm 2 mức:
Mức ngoài: Kiểm soát truy nhập vật lý vào hệ thống quản lý, bảo vệ hệ thống vật lý khỏi các thảm họa tự nhiên, con người hoặc máy móc gây ra
Mức trong: Chống lại các tấn công có thể xảy ra đối với các hệ thống xuất phát
từ sự không trung thực gây lỗi hoặc thiếu tinh thần trách nhiệm của người dùng trong hoặc ngoài hệ thống
Các mức an toàn này được xem là an toàn vật lý và an toàn logic Vài năm trước đây
an toàn vật lý được chú ý nhiều hơn cả vì xét theo góc độ bảo vệ chung nó là quá trình khai hóa tài nguyên của hệ thống trong môi trường vật lý an toàn Tuy nhiên không thể đảm bảo an toàn chắc chắn nếu chỉ dựa vào bảo vệ vật lý Trong thực tế người dùng hợp pháp có thể truy nhập gian lận dữ liệu Đây là một hình thức lạm dụng quyền Do vậy việc trao quyền phải được phân phối một cách hợp lý, tránh tình trạng lạm dụng quyền Quyền truy nhập thông tin nhạy cảm chỉ nên trao cho những người dùng tin cậy tránh việc lạm dùng quyền truy nhập bất hợp pháp đến những dữ liệu nhạy cảm Trong các môi trường khác nhau thì cấp độ bảo vệ dữ liệu là khác nhau Hệ thống an toàn dữ liệu trong các cơ quan chính phủ và trong thương mại điện tử là hai vấn đề được quan tâm hàng đầu
CSDL trong các cơ quan chính phủ: CSDL cần được phân loại thành thông tin cần thiết cho các cơ quan quốc gia, những thông tin này cần được chia thành 2
Trang 19loại là những thông tin cần được giữ bí mật và những thông tin có thể công khai Bảo vệ thông tin dựa vào việc kiểm soát và phân quyền Dữ liệu được phân thành các mức an toàn khác nhau tùy theo mức độ nhạy cảm của nó và việc trao quyền chỉ định tới từng đối tượng người dùng một cách chính xác, hợp lý Trong môi trường này việc thâm nhập vào CSDL là rất khó khăn, động
cơ thâm nhập vào CSDL ở mức cao hơn và có các kỹ thuật thâm nhập tinh vi hơn
CSDL trong thương mại điện tử: Việc đánh giá thiệt hại trong các hệ thống thông tin của các tổ chức thương mại là khá dễ dàng Mức độ nhạy cảm do tổ chức công bố bằng cách phân biệt dữ liệu thiết yếu và dữ liệu có yêu cầu bảo vệ thấp hơn Do vậy, thiết kế an toàn trong CSDL thương mại ít khi được xem là mối quan tâm hàng đầu, các vấn đề cũng không được chú ý nhiều Trong các môi trường này vấn đề an toàn xuất phát từ người dùng hợp pháp Việc kiểm tra
sơ bộ độ tin cậy của người dùng còn lỏng lẻo Việc phân quyền không thật hợp
lý các yêu cầu bảo vệ ở mức thấp Vì vậy, không cần đến các kỹ thuật tinh vi cũng có thể thâm nhập được vào hệ thống CSDL
Tóm lại, kiểm soát truy nhập trong hệ thống tuân theo các chính sách truy nhập ( chỉ
ra ai là người có thể truy nhập và truy nhập đến đối tượng nào của hệ thống ) Chính sách truy nhập không nên phụ thuộc vào các cơ chế thực thi kiểm soát truy nhập vật lý Chính sách truy nhập xác định các yêu cầu truy nhập Sau đó các yêu cầu được chuyển thành các quy tắc truy nhập, dựa vào các chính sách được phê chuẩn Đây là giai đoạn thiết yếu khi phát triển các hệ thống an toàn Tính đúng đắn và đầy đủ của các quy tắc và cơ chế thực thi tương ứng được xác định trong giai đoạn này Quá trình ánh xạ cần được thực hiện bằng cách sử dụng các kỹ thuật được xây dựng mô hình cho các yêu cầu và chính sách an toàn : Một mô hình cho phép nhà thiết kế miêu tả rõ ràng và kiểm tra các đặc tính an toàn của hệ thống
Có nhiều thảm họa có thể xảy ra đối với tính bí mật và an toàn của cơ sở dữ liệu, chúng làm cho việc bảo vệ cơ sở dữ liệu trở nên phức tạp hơn Chính vì vậy, việc bảo vệ
cơ sở dữ liệu đòi hỏi nhiều biện pháp trong đó có cả con người, phần mềm và phần cứng
Trang 20Bất kỳ điểm yếu nào cũng làm ảnh hưởng đến độ an toàn của toàn bộ hệ thống Hơn nữa, bảo vệ dữ liệu cũng nảy sinh nhiều vấn đề về tính tin cậy của hệ thống
Như vậy, khi phát triển hệ thống an toàn cần quan tâm đến một số khía cạnh thiết yếu sau:
Các đặc điểm của môi trường xử lý và lưu giữ thực tế Cần phân tích cẩn thận
để đề ra mức bảo vệ theo yêu cầu của hệ thống Đây chính là các yêu cầu an toàn
Các cơ chế bảo vệ môi trường xử lý Chúng là các biện pháp kiểm soát vật lý
và quản trị góp phần đảm bảo hiệu lực của các cơ chế hoạt động an toàn
Các cơ chế dữ liệu bên trong Chúng được thực hiện khi người dùng qua được các kiểm soát đăng nhập và xác thực
Tổ chức vật lý của các hệ thống được lưu giữ
Các đặc tính an toàn do hệ điều hành và phần cứng cung cấp
Độ tin cậy của phần mềm và phần cứng
Các khía cạnh về tổ chức con người
1.5 Thiết kế CSDL an toàn
An toàn CSDL được nhìn nhận như là một yêu cầu hai bổ sung thêm vào hệ thống hiện có hoặc làm một đòi hỏi thiết yếu của hệ thống Chính vì vậy, nó được coi là một yêu cầu quan trọng cần được thỏa mãn trong các thiết kế ban đầu hệ thống Một số trường hợp coi bảo mật không là mối quan tâm chính trong việc phát triển hệ thống, do đó hệ thống được làm phong phú thêm bằng cách thêm vào các gói tin an toàn với chức năng cơ bản ở mức độ hệ điều hành DoD được xem là nhân tố hữu ích cấu thành nên các chuẩn đảm bảo an toàn trong hệ thống DoD được xem xét như là một gợi ý cho việc thiết kế CSDL
an toàn
Một hướng tiếp cận mang tính phương pháp luận thỏa mãn các yêu cầu của DoD đó chính là phương pháp luận tích hợp đa giai đoạn, cho phép nhà phát triển phân tích các yêu cầu an toàn, chọn lựa các chính sách an toàn một cách phù hợp nhất Phương pháp luận dựa trên các nguyên tắc của chuẩn DoD bao gồm các giai đoạn sau:
Phân tích sơ bộ
Trang 21 Yêu cầu và các chính sách an toàn
Thiết kế khái niệm
Thiết kế logic
Thiết kế vật lý
Lợi ích mà phương pháp tích hợp đa giai đoạn mang lại là:
Có thể chia nhỏ quá trình thiết kế thành các thành phần nhỏ hơn, cho phép nhà thiết kế tập trung chi tiết vào từng khía cạnh riêng của từng phần
Tách chính sách an toàn ra khỏi cơ chế an toàn Chính sách là các cơ chế ở mức cao bắt buộc việc thiết kế phải tuân theo Cơ chế an toàn là một tập hợp các chức năng phần cứng, phần mềm Các cơ chế nên được dựa trên các yêu cầu an toàn để đảm bảo chúng tuân theo một chính sách an toàn đó
Thuận tiện trong thiết kế hệ thống cài đặt và quản lý
Hỗ trợ vạch kế hoạch cho việc bảo vệ hệ thống thông tin trong hệ thống
1.5.1 Phân tích sơ bộ
Giai đoạn này thực hiện việc tìm hiểu tính khả thi của hệ thống an toàn tức là tìm hiểu những gì có thể xảy ra đối với hệ thống Trong một hệ thống thông tin tính khả thi dựa vào việc phân tích những khía cạnh sau: Đánh giá rủi ro, ước lượng chi phí dành cho thiết kế, xác định ứng dụng phải được phát triển và xác định quyền ưu tiên của chúng Để đảm bảo mục đích này, các phân tích cần quan tâm đến:
Các rủi ro của hệ thống: Đây là đe dọa đáng kể nhất có thể xảy ra đối với một CSDL, cần ước tính các hình thức xâm phạm tương ứng và hậu quả của việc mất mát, thông qua các kỹ thuật phân tích rủi ro Nói chung, các đe dọa điển hình là: Đọc, sửa đổi trái phép dữ liệu, không cho phép người sử dụng hợp pháp truy nhập Các hình thức tấn công phụ thuộc vào các kiểu đe dọa
Các đặc trưng của môi trường CSDL: Tùy thuộc vào việc phân quyền truy nhập CSDL, loại dữ liệu được sử dụng người ta sẽ thiết kế mô hình phù hợp Như trong môi trường quân đội phù hợp với bảo vệ đa mức nhưng trong môi trường thương mại chưa chắc đã phù hợp vì việc định nghĩa mức truy cập cho người dùng gặp khó khăn
Trang 22 Khả năng ứng dụng của các sản phẩm an toàn hiện có: Việc ứng dụng các sản phẩm an toàn hiện có phải được xem xét dựa trên tính tiện lợi mà nó mang lại
và có khả năng phát triển hệ thống an toàn từ việc kết hợp nhiều sản phẩm thương mại khác nhau hay không? Việc lựa chọn đó tùy thuộc vào mô hình và cấp độ bảo vệ dữ liệu
Hình 1.4: Mô hình thiết kế CSDL an toàn
Khả năng tích hợp các sản phẩm an toàn: Có khả năng tích hợp với các thiết bị
an toàn cơ học là phần cứng và phần mềm
Hiệu suất đạt được của hệ thống an toàn: Hiệu suất đạt được của hệ thống an toàn phải được so sánh với khả năng hoạt động hiệu quả của hệ thống hiện tại hoặc là hệ thống mới mà không cần bất kỳ các cơ chế và kiểm soát an toàn nào
1.5.2 Phân tích yêu cầu và chọn lựa chính sách an toàn
Thiết kế khái niệm
Trang 23Việc phân tích yêu cầu bắt đầu từ việc phân tích đầy đủ các chính xác tất cả các đe dọa có thể xảy ra đối với hệ thống Điều này cho phép các nhà thiết kế xác định các yêu cầu an toàn một cách chính xác và đầy đủ, tùy thuộc vào các đòi hỏi bảo vệ thực tế của hệ thống
CSDL khác nhau đòi hỏi có các bảo vệ khác nhau Sự khác nhau đầu tiên xuất phát
từ tính nhạy cảm của thông tin, tiếp đến là các luật và các dự luật có thể Hơn nữa, các hệ thống được phân loại thành hệ thống rủi ro cao và hệ thống rủi ro thấp, dựa vào các yếu tố
cơ bản chẳng hạn như mức tương quan dữ liệu, chia sẻ dữ liệu, khả năng truy nhập dữ liệu, kỹ năng của nhân viên và các kỹ thuật được lựa chọn
Bảo vệ hệ thống hầu hết chịu ảnh hưởng bởi số lượng và cấp độ người dùng Một mặt sự chuyên nghiệp của người dùng làm cho hệ thống đáng tin cậy hơn, mặt khác do nắm được kẽ hở an toàn chính người dùng lại là mối đe dọa tiềm tàng khả năng lạm dụng quyền là rất cao Chính vì vậy, thể hiện dữ liệu phải có tính an toàn cao Trong phân tích yêu cầu, khả năng tấn công vào hệ thống nên được xem xét đến mục đích tấn công Hầu hết các kiểu tấn công là thực hiện quyền truy nhập trái phép vào dữ liệu, làm lộ dữ liệu, thay đổi dữ liệu hoặc từ chối quyền truy nhập tới dữ liệu
Trong việc phân tích hệ thống, phân tích các mối đe dọa và các điểm yếu dễ bị tấn công thường được xem xét ở các mặt sau:
Phân tích giá trị: Phân tích dữ liệu được lưu giữ và các ứng dụng truy nhập vào
dữ liệu này nhằm xác định mức nhạy cảm của chúng Các kiểm soát truy nhập tăng theo mức nhạy cảm của dữ liệu
Nhận dạng các mối đe dọa: Cần nhận dạng các mối đe dọa điển hình cũng như các kỹ thuật thâm nhập ( có thể có ) của các ứng dụng khác nhau
Phân tích các điểm yếu dễ bị tấn công: Cần nhận dạng các điểm yếu của hệ thống và liên hệ chúng với các đe dọa đã được nhận dạng từ trước
Phân tích rủi ro: Đánh giá các đe dọa, các điểm yếu của hệ thống và các kỹ thuật xâm nhập dựa vào các xâm phạm tính bí mật, tính toàn vẹn của hệ thống
Trang 24Chẳng hạn như khám phá, xử lý dữ liệu trái phép sử dụng trái phép tài nguyên
Để hỗ trợ việc chọn lựa các chính sách an toàn một cách hợp lý nhất người ta dựa vào một bộ các tiêu chuẩn chọn lựa chính sách an toàn :
Tính bí mật đối nghịch với tính toàn vẹn dữ liệu và tính tin cậy của dữ liệu:
Việc chia sẻ tối đa nghịch với đặc quyền tối thiểu: Tùy thuộc từng môi trường
mà có lựa chọn phù hợp
Mức độ chi tiết của kiểm soát: Nghĩa thứ nhất chỉ phạm vi của kiểm soát trong mối quan hệ về số lượng của chủ thể và đối tượng bị kiểm soát Nghĩa thứ hai chỉ độ chi tiết của của từng đối tượng bị kiểm soát Thứ ba khi nói đến độ chi tiết của kiểm soát người ta muốn nói đến mức độ điều khiển Trong một hệ thống, việc kiểm soát tất cả các file trong hệ thống nằm ở vùng duy nhất và khi
có lỗi xảy ra thì chúng tập trung trong một vùng duy nhất này Trong các hệ thống khác, an toàn phức tạp hơn nhiều, nhưng các kiểm soát và các trách nhiệm được dàn trải trên các vùng khác nhau của hệ thống
Các thuộc tính được sử dụng cho kiểm soát truy cập: Các quyết định an toàn dựa trên các thuộc tính chủ thể/đối tượng dựa trên ngữ cảnh yêu cầu truy nhập Các thuộc tính cơ bản là: Vị trí, phân phối chủ thể/đối tượng, thời gian, trạng thái một hoặc nhiều biến của hệ thống, lược sử truy nhập Các chính sách an toàn phải được lựa chọn tùy thuộc vào nhu cầu của kiểm soát
Tính toàn vẹn: Áp dụng các chính sách và mô hình an toàn xác định vào trong các môi trường, trong đó tính toàn vẹn là mối quan tâm chính ví dụ trong các môi trường CSDL…
Trao các quyên ưu tiên: Mâu thuẫn có thể xảy ra giữa các nguyên tắc có thể tăng và quyền ưu tiên dùng để giải quyết các mâu thuẫn này
Trang 25 Các đặc quyền: Chính là khả năng sử dụng các quyền: Đọc, ghi , thực thi, xóa, sửa, thêm Để quản lý đặc quyền, các phép trao/thu hồi đặc quyền phải rõ ràng
Quyền: Một chính sách phải định nghĩa các kiểu vai trò, quyền và trách nhiệm khác nhau trong cùng một hệ thống Các vai trò phổ biến là người sử dụng, người sở hữu, người quản trị an toàn Ngoài ra còn có thêm các nhóm người sử dụng điều này thực sự hữu ích khi những người sử dụng chia sẻ các yêu cầu truy nhập thông thường trong tổ chức
Tính kế thừa: Điều này chỉ ra việc sao chép các quyền truy nhập Việc truyền lại các quyền truy nhập không xảy ra trong các chính sách tùy ý, nhưng lại xảy
ra trong các chính sách bắt buộc
1.5.3 Thiết kế khái niệm
Trong giai đoạn này, các yêu cầu và các chính sách an toàn ( được định nghĩa trong giai đoạn trước đó ) được hình thức hóa khái niệm Mô hình an toàn khái niệm là một công cụ và nó được sử dụng cho việc hình thức hóa các yêu cầu và các chính sách
Mô hình an toàn khái niệm được định nghĩa thông qua:
Nhận dạng các chủ thể và các đối tượng liên quan đến một quan điểm an toàn, các chủ thể/đối tượng có chung một vai trò trong tổ chức được nhóm lại với nhau
Nhận dạng các chế độ truy nhập được trao cho các chủ thể khác nhau trên các đối tượng khác nhau, xác định các ràng buộc có thể trên truy nhập
Phân tích việc thừa kế các quyền trên hệ thống thông qua các đặc quyền trao/thu hồi quyền
Từ các bước trên yêu cầu được biểu diễn thành các bộ bốn như sau:
{chủ thể, quyền truy cập, đối tượng, thuộc tính}
Nhiệm vụ mà các mô hình này thực hiện là:
Mô tả ngữ nghĩa của CSDL an toàn
Hỗ trợ việc phân tích các luồng quyền
Hỗ trợ cho người quản trị CSDL Tại mức khái niệm các kiểm tra này dễ thực
Trang 26Một mô hình an toàn mức khái niệm cho phép biểu diễn một cách tường minh các chính sách và các yêu cầu, đồng thời cho phép kiểm tra một số đặc tính an toàn hệ thống
Mô hình an toàn khái niệm biểu diễn các chủ thể, các đối tượng, các phép toán, các chế độ truy nhập tùy thuộc vào các yêu cầu chính sách đã được định nghĩa Mô hình của một hệ thống xác định phải đảm bảo:
Đầy đủ: Mô hình đáp ứng tất cả các yêu cầu an toàn đã được xác định ban đầu
Tính thương thích: Các thao tác thực hiện phải nhất quán với nhau
Mô hình phải đảm bảo rằng tất cả các yêu cầu được xác định là thống nhất với nhau và không tồn tại dư thừa dữ liệu
1.5.4 Thiết kế logic
Trong giai đoạn này người ta sử dụng mô hình an toàn khái niệm chuyển nó thành
mô hình logic Mô hình này được DBMS hỗ trợ Hơn nữa trong giai đoạn thiết kế logic các nguyên tắc an toàn phải được xác định trong mô hình logic một cách chi tiết ở mức độ
hệ điều hành và các chức năng được cung cấp bởi các gói an toàn Mục đích là xác định các yêu cầu an toàn, chính sách và các ràng buộc các tiên đề được biểu diễn trong mô hình an toàn mức khái niệm, sử dụng các thông tin về chức năng an toàn được định nghĩa trong mức khái niệm, người phát triển xây dựng các yêu cầu an toàn có thể được cung cấp
ở mức độ hệ điều hành, mức DBMS hoặc thông qua các gói an toàn
1.5.5 Thiết kế vật lý
Những chi tiết về việc tổ chức và cài đặt phân tích các mô hình thỏa mãn các yêu cầu được xem xét trong giai đoạn thiết kế vật lý Được bắt đầu từ mức thiết kế logic Nhìn chung việc phân công mức công việc an toàn phụ thuộc vào từng cấp độ Mục đích là gán mức bắt buộc chính xác cho từng nhiệm vụ an toàn
1.5.6 Cài đặt cơ chế an toàn
Một bộ các nguyên tắc có thể được sử dụng hữu ích cho người phát triển trong việc lựa chọn và cài đặt các cơ chế trộn ghép phi hình thức, nhằm tránh những vấn đề nghiêm trọng sau này Phần này nói về các nguyên tắc cơ bản và thảo luận về các vấn đề thực hiện
Trang 27Các nguyên tắc dành cho việc lựa chọn và cài đặt được liệt kê như sau:
Tính kinh tế của cơ chế: Các cơ chế nên đơn giản nhất ở mức có thể thực hiện được Nói chung khi xây dựng hệ thống mức cơ học nên đặt ra các yêu cầu: Giảm bớt chi phí, độ tin cậy cao, việc kiểm tra và kiểm toán các giai đoạn của
đi lặp lại cùng một cơ chế trong các hệ thống phân tán
Đặc quyền tối thiểu: Nên giới hạn các mức đặc quyền tối thiểu đối với các chương trình và người sử dụng Chúng ta cần quan tâm đến nguyên tắc “cần –
để - biết ” khi lựa chọn các chính sách và và áp dụng nguyên tắc này cho các thành phần của hệ thống Lợi ích của đặc quyền tối thiểu mang lại là: Hạn chế lỗi, có khả năng bảo trì, phòng vệ sự tấn công của Trojan, kiểm tra các hiệu chỉnh
Kiểm soát toàn bộ: Mỗi lần truy nhập vào một đối tượng phải tuân theo kiểm soát quyền
Thiết kế dựa trên các kỹ thuật chuẩn, đã được công nhận: Các kỹ thuật an toàn được chấp nhận phải là các kỹ thuật có độ tin cậy cao Khi truy nhập đến các thành phần bí mật phải dựa vào khóa và mật khẩu là chính
An toàn thông tin ngầm định: Một CSDL nên có các quyền ngầm định Nhìn chung thì một hệ thống đóng an toàn hơn hệ thống mở
Cơ chế phổ biến tối thiểu: Việc thiết kế phải khuyến khích tính độc lập giữa các
cơ chế
Khả năng chấp nhận mang tính tâm lý: Việc sử dụng các cơ chế phải dễ dàng, cho phép người dùng sử dụng chúng một cách phù hợp Tránh các hạn chế không cần thiết
Trang 28 Tính mềm dẻo: Một cơ chế an toàn nên tuân theo các chính sách khác nhau Tính mềm dẻo của cơ chế bao hàm cả việc duy trì bảo vệ chống lại các tấn công chủ ý và vô ý Do đó, thiết kế cần đảm bảo được các hoạt động đúng đắn và liên tục của cơ chế ngay cả khi các biến cố xảy ra do tấn công chủ ý hoặc vô ý Đồng thời trong các điều kiện xấu nhất cơ chế vẫn làm việc
Sự cách ly: Cơ chế an toàn phải chứng minh được rằng nó phù hợp với các yêu cầu chính sách an toàn
Tính đầy đủ và tương thích: Cơ chế an toàn phải đầy đủ và nhất quán
Khả năng quan sát hệ thống: Hệ thống cần có khả năng quan sát và tấn công lại các cơ chế Điều này cho phép chỉ ra các điểm yếu hoặc các lỗi thiết kế
Vấn đề bỏ sót dữ liệu: Phần bỏ sót là các đoạn thông tin Một tiến trình đã sử dụng chúng và có thể lưu giữ chúng trong bộ nhớ mặc dù tiến trình đã kết thúc
Vì vậy dữ liệu có thể bị lộ nếu chủ thể trái phép kiểm tra các phần bị bỏ sót Cơ chế an toàn thích hợp thường loại bỏ các phần bị bỏ sót
Tính ẩn của dữ liệu: Dữ liệu ẩn đi đối với người dùng không được phép
Hệ số làm việc: Nhằm đánh giá chất lượng của một cơ chế
Các bẫy chủ ý: Thiết kế một cơ chế với lỗi chủ ý bên trong sau đó kiểm soát chúng trong thời gian thực của hệ thống để phát hiện ra các cố gắng để xâm nhập, nhằm giám sát các hành vi của kẻ xâm nhập
Xác định tình trạng khẩn cấp: Nên thiết kế các cơ chế cùng với các phương thức “mất khả năng làm việc” Để cho phép một số người dùng tin cậy tạm thời ngừng kiểm soát hoặc sửa đổi tạm thời các phương thức kiểm soát
Phần cứng an toàn: Phần cứng phải tin cậy nếu không những kẻ xâm nhập có thể lợi dụng các lỗi phần cứng hoặc phần mềm để vượt qua kiểm soát an toàn
Ngôn ngữ lập trình: Khi lập trình chúng ta phải tuân thủ một cách nghiêm ngặt các đặc tả của mô hình
Tính đúng đắn: Một cơ chế không đúng đắn có thể đưa ra các bảo vệ sai lầm và
có thể gây ra các tình trạng: Thứ nhất, từ chối các hoạt động dịch vụ hợp pháp, thứ hai, trao các quyền truy nhập trái phép Với tình trạng thứ hai, hệ thống có thể gặp nguy hiểm do không đảm bảo được tính bí mật, và toàn vẹn dữ liệu Phần cơ chế được phát triển từ nhiều vấn đề hỗn tạp, có thể cài đặt qua phần cứng, phần mềm, hoặc các chương trình cơ sở Khi quyết định phương pháp sử dụng trong quá
Trang 29trình cài đặt cần xem xét kỹ lưỡng tính hiệu quả, kích cỡ độ phức tạp mà hệ thống mang lại
1.5.7 Kiểm tra và thử nghiệm
Nhìn chung, mục đích của giai đoạn này là kiểm tra các yêu cầu và các chính sách
an toàn Việc kiểm tra này được thực hiện thông qua các sản phẩm phần mềm Để làm được điều này cần có sẵn các phương pháp hình thức và phi hình thức dựa vào hoặc không dựa vào các ký hiệu toán học
Các phương pháp phi hình thức dựa trên:
Kiểm soát chéo các yêu cầu/chương trình nguồn hoặc các yêu cầu/các hành vi thời gian chạy
Duyệt lại chương trình phần mềm để phát hiện ra các lỗi/các mâu thuẫn
Phân tích hành vi của chương trình, tùy thuộc vào các tham số khác nhau nhằm kiểm tra các đường dẫn thực hiện khác nhau và biến thể tương ứng của các tham số
Thông qua thử nghiệm, gỡ rối
Nói chung, các phương pháp phi hình thức có thể được áp dụng một cách nhanh chóng, không cần định nghĩa trước mô hình an toàn hình thức Các phương pháp phi hình thức có thể xác định hành vi của phần mềm trong các trường hợp cụ thể Nhưng nó không thể chỉ ra cấm thực hiện các hoạt động trái phép trong hệ thống Các phương pháp hình thức tinh xảo hơn, chúng dựa vào các ký hiệu toán học và các phương pháp toán học
1.6 An toàn CSDL thống kê
1.6.1 Khái niệm
CSDL thống kê là CSDL được sử dụng cho các truy vấn thống kê trên một tập con của các thực thể CSDL Trước đây, CSDL thống kê chỉ được dùng cho các tính toán thống kê, sau này nó được sử dụng cho các CSDL thông thường trong bệnh viện, nhà băng, thương mại với tính chất là thống kê CSDL
Trang 30Bảo vệ CSDL thống kê có nghĩa là ngăn cản và tránh xa các suy luận thống kê Vấn
đề đầu tiên trong an toàn CSDL thống kê là đánh giá khả năng lọc thống kê, cái chỉ cho phép câu truy vấn thống kê và ngăn cản các truy cập trực tiếp tới mức thực thể xác định trong CSDL thống kê Tuy nhiên lọc thống kê không thể ngăn chặn các suy luận Khi vấn
đề này xảy ra, một CSDL thống kê chắc chắn sẽ xảy vấn đề thỏa hiệp Một CSDL thống
kê chắc chắn được thỏa hiệp nếu một người dùng tìm ra một cá thể có những nét đặc trưng của riêng nó ví dụ như các giá trị thuộc tính
Kỹ thuật thiết kế và cài đặt cho mục đích bảo vệ suy luận là một công việc phức tạp, các nhân tố chi phối tới kỹ thuật thiết kế và cài đặt là:
Bảo vệ những nét đặc trưng của CSDL thống kê
Sự biểu biết của người dùng dữ liệu thống kê, đó là những hiểu biết về chuyên môn, kỹ năng mềm
Các kiểu tấn công có thể là sự kết hợp của nhiều loại tấn công như vậy mức độ nguy hiểm là rất cao
Kiến trúc của CSDL thống kê được xây dựng dựa trên mô hình quan hệ Theo mô hình quan hệ dữ liệu được thể hiện về khái niệm trong bảng hai chiều gồm các cột và các dòng Các bảng gọi là các quan hệ các dòng là các bộ dữ liệu và các cột biểu diễn thuộc tính Các câu truy vấn thống kê chính có thể được người dùng sử dụng trong truy vấn thông tin trong một CSDL thống kê như: Count, sum, avg, max, min…
1.6.2 Phương pháp bảo vệ suy luận
Phương pháp bảo vệ suy luận còn được gọi là điều khiển suy luận, mục đích là ngăn chặn người dùng tìm ra các thông tin về đặc trưng của các cá thể trong CSDL thống kê Việc thỏa hiệp đối với người dùng có thể xảy ra hai trường hợp:
Thỏa hiệp hoàn toàn: Thỏa hiệp hoàn toàn có thể xảy ra nếu người dùng đi qua một hoặc nhiều câu truy vấn thống kê có thể biểu diễn thuộc tính Ai một hoặc toàn bộ giá trị cho một bản ghi j trong CSDL thống kê
Thỏa hiệp một phần: Thỏa hiệp một phần xảy ra nếu người dùng đi qua một hoặc nhiều câu truy vấn thống kê có thể được biểu diễn thuộc tính Ai có giá trị
Trang 310 hoặc là có thể ước lượng được giá trị A trên thực tế, nó như là một biến thống
kê trạng thái có thể được biểu diễn như sau: Var(A) < k2
Phương pháp khái niệm là một phương pháp nằm trong bảo vệ suy luận Cụ thể ở đây sử dụng mô hình mắt cáo và phương pháp phân chia khái niệm được đề xuất bởi Chin
và Ozsoyoghi cho việc phân chia CSDL thống kê cá nhân vào trong cộng đồng
Ngoài phương pháp khái niệm còn có phương pháp dựa trên kỹ thuật hạn chế và phương pháp dựa trên kỹ thuật xáo trộn
Phương pháp dựa trên kỹ thuật hạn chế: Phương pháp này chống lại việc suy luận bằng cách sử dụng các câu truy vấn thống kê hạn chế
Phương pháp dựa trên kỹ thuật xáo trộn: Phương pháp này nhằm ngăn chặn những suy luận thống kê bằng cách kết hợp một vài dạng chuyển đổi trong khi
xử lý một câu truy vấn thống kê
1.7 Kết luận
Chương này nhằm giới thiệu một cách tổng quan về kiến trúc an toàn thông tin trong CSDL Chương này đề cập đến các vấn đề chính sau:
Các khái niệm cơ bản về CSDL
Vai trò của DBMS trong quản lý, đảm bảo an toàn thông tin
Thành phần, kiến trúc cũng như nguyên lý hoạt động của một DBMS
Các mối đe dọa dẫn đến mất an toàn thông tin đồng thời nêu lên các phương pháp bảo vệ an toàn CSDL
Giới thiệu về hệ thống CSDL trong cơ quan chính phủ và CSDL trong thương mại điện tử, mức độ an toàn của từng mô hình
Các chính sách bảo đảm an toàn trong thiết kế CSDL
Mô hình và các bước cơ bản để thực hiện thiết kế một CSDL an toàn
Nêu lên một vài vấn đề trong an toàn CSDL thống kê
Những vấn đề nêu ra trong chương này là những kiến thức cơ bản về vấn đề an toàn CSDL, hướng dẫn xây dựng một hệ CSDL đảm bảo các chính sách an toàn, làm cơ sở
Trang 32cho việc xây dựng các mô hình CSDL an toàn trong trường hợp cụ thểm thỏa mãn yêu cầu mà một trình ứng dụng đặt ra
Trang 33CHƯƠNG 2: CƠ SỞ LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ
2.2 Mã hóa khóa đối xứng
Mã hóa khóa đối xứng là dạng mã mà thuật toán mã hóa vả giải mã sử dụng chung một khóa tức là biết chìa này dễ tính chìa kia Mã hóa khóa đối xứng biến đổi một bản rõ thành một bản mã bằng cách sử dụng một khóa và một thuật toán mã hóa Và ngược lại để giải mã thì cũng dùng chìa khóa để mã hóa và thuật toán giải mã
Mã hóa khóa đối xứng sử dụng hai phương pháp cơ bản để mã hóa là kỹ thuật thay thế và kỹ thuật chuyển vị Mã hóa khóa đối xứng gồm 5 thành phần: Bản rõ P, bản mã C, khóa K, thuật toán mã hóa E và thuật toán giải mã D
Hình 2.1 Sơ đồ mã hóa khóa đối xứng
Trang 34Đây là kiểu mã được sử dụng rộng rãi nhất trong các thuật toán mã hóa khóa đối xứng Mã khối xử lý bản tin theo khối bằng cách chia bản rõ thành từng khối sau đó lần lượt mã hóa từng khối Mỗi khối có thể gồm 64bits, 128bits, 192bits…
Nguyên lý hoạt động của mã khối: Hầu hết các mã khối đối xứng đều tuân theo cấu trúc mã Feisel Mã khối được xem như một loại mã có phép thế cực lớn cần bảng 264
đầu vào cho khối 64 bits Ta sử dụng kết hợp kỹ thuật thay thế, kỹ thuật chuyển vị và vòng lặp
để mã hóa và giải mã mã khối
Phép thế hoán vị: Năm 1949 Shanon đưa ra ý tưởng mạng ghép thế và hoán vị với mong muốn cản trở việc thám mã dựa vào nguyên tắc phân tích thống kê Mạng S-P ra đời dựa trên hai thao tác cơ bản là: Phép thế S và phép hoán vị P Chúng tạo ra độ rối loạn
và khuếch tán của bản tin
Phép thế S: Là kỹ thuật trong đó một ký tự của bản rõ được thay thế bằng một, hoặc một vài ký tự số, biểu tượng trong bản mã Trong quá trình thám mã sử dụng kỹ thuật thay thế có hai phương pháp chính là phương pháp vét cạn và phương pháp đánh giá tần suất xuất hiện các chữ cái trong bản mã với tần suất xuất hiện các chữ cái trong tiếng anh Chống lại việc thám mã bằng cách phân tích tần suất chính là thực hiện dấu đi những tính chất mang tính quy luật trên bản mã do đó phương pháp xấp xỉ tần suất xuất hiện các ký
tự trong bản mã hoặc sử dụng nhiều bảng chữ cái đã được sử dụng trong mã hóa Tuy nhiên với nhiều bảng chữ cái vẫn tạo ra những tính chất mang tính quy luật tồn tại trên bản mã để có thể giải mã được chúng
Phép hoán vị P: Kỹ thuật chuyển vị là kỹ thuật mã hóa đơn giản nhất, chỉ bằng cách thay thế những vị trí trong bản rõ theo quy luật nào đó ta sẽ thu được bản mã Các thuật toán mã hóa dạng này là: Mã Rail Fence, mã dịch chuyển vòng
Chuẩn mã hóa tiên tiến AES: AES là một thuật toán mã hóa khối được chính phủ hoa kỳ áp dụng làm chuẩn mã hóa AES có thể dễ dàng thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng và không đòi hỏi nhiều bộ nhớ Do AES là một tiêu chuẩn mã hóa mới, nó đang được tiến hành để sử dụng đại trà
Trang 35AES làm việc với từng khối dữ liệu 4x4 Quá trình mã hóa bao gồm 4 bước:
AddRoundKey: Mỗi byte của khối được kết hợp với khóa con Mỗi khóa con trong chu trình khóa được tạo ra từ khóa chính với quá trình tạo khóa con Rijdael Mỗi khóa có độ dài như các khối Quá trình được thực hiện bằng phép XOR từng bit của khóa con vơi khối dữ liệu
Hình 2.2: AddRoundKey bản rõ và khóa
Bước SubBytes: Các bytes được thay thế thông qua bảng S-box Đây chính là quá trình phi tuyến của thuật toán Hộp S-box này được tạo ra trong từ nghịch đảo trong trường hữu hạn GF( 28
) có tính chất phi tuyến Để chống lại các tấn công trên các đặc tính đại số, hộp S-box này được tạo nên bằng cách kết hợp nghịch đảo với một phép biến đổi affine khả nghịch
Hình 2.3: Bước SubBytes
Trang 36 Bước ShiftRow: Các hàng được dịch vòng một số vị trí nhất định Đối với AES hàng đầu được giữ nguyên Mỗi byte của hàng thứ hai được dịch sang trái một bit Tương tự mỗi byte của hàng thứ 3 và thứ 4 lần lượt được dịch sang trái 2 hoặc 3 bit
+ x2 + x + 2(modulo x4 +1 ) Vì thế bước này có thể được xem như là phép nhân ma trận trong trường hữu hạn
Hình 2.5: Bước MixColumns
Trang 372.2.2 An toàn trong dùng mã hóa khóa đối xứng
Vấn đề an toàn thông tin khi dùng mã hóa khóa đối xứng là một vấn đề khó khăn vì khóa cần được yêu cầu bí mật tuyệt đối, nếu khóa bị lộ thì coi như toàn bộ thông tin mật
bị lộ An toàn trong khi dùng mã hóa khóa đối xứng liên quan mật thiết đến vấn đề phân phối khóa Sơ đồ phân phối khóa đối xứng đòi hỏi cả hai đối tác chia sẻ khóa bí mật chung Dẫn đến việc thực hiện phân phối khóa mật Thông thường trong các hệ mật bị sập
là do bẻ khóa trong sơ đồ phân phối khóa Đối với hai đối tác A và B cho trước có một số cách phân phối khóa khác nhau:
A lựa chọn khóa và truyền tay cho B
Đối tác thứ 3 chọn khóa và phân phối khóa cho A và B
A và B trao đổi với một đối tác thứ ba là C, C chuyển tiếp giữa A và B
Phân loại khóa:
Khóa phiên: Là khóa tạm thời, dùng để mã hóa dữ liệu giữa nhóm người dùng
sử dụng cho một phiên logic và sau đó bị hủy, khóa phiên được sử dụng ở tầng thấp nhất của mã hóa
Khóa chính: Dùng để mã hóa các khóa phiên chia sẻ giữa người sử dụng và trung tâm phân phối khóa
Vấn đề phân phối khóa: Đối với các mạng lớn đòi hỏi cần phải phân cấp trung tâm phân phối khóa và phải tạo tin cậy cho nhau giữa người sử dụng với trung tâm, trung tâm với trung tâm Thời gian sống của khóa phiên cần được hạn chế cho an toàn hơn Sử dụng phương pháp khóa tự động thay mặt người dùng nhưng phải có hệ thống tin cậy, các khóa cấp phát được sinh ra càng ngẫu nhiên càng tốt, đồng thời cần hỗ trợ kiểm soát mục đích của người sử dụng khóa
2.3 Mã hóa khóa công khai
Mã hóa khóa công khai ra đời vào những năm đầu thập kỷ 70 Có thể nói đây là bước tiến quan trọng nhất trong lịch sử 3000 năm về mã hóa Mã hóa khóa công khai sử dụng 2 khóa, một khóa riêng và một khóa công khai, hai khóa là khác nhau, không đối xứng do đó mã hóa khóa công khai còn được gọi là mã hóa bất đối xứng Sự ra đời của
Trang 38công khai ra đời hỗ trợ thêm để giải quyết bài toán an toàn trong phân phối khóa Ngày nay, cả mã hóa khóa công khai và mã hóa khóa đối xứng cùng được phát triển và hỗ trợ, hạn chế những nhược điểm của nhau Mã hóa khóa công khai ra đời ngoài việc mã hóa thông tin nó còn được dùng trong quá trình kiểm chứng chữ ký
Độ an toàn của mã hóa khóa công khai cũng giống như khóa riêng, việc tìm kiếm vét cạn có thể thực hiện được với khóa công khai khi biết thuật toán, biết một trong hai khóa ta tìm các thuộc tính liên quan để tìm ra khóa thứ hai Nhưng nói chung không gian khóa là rất lớn nên bài toán có độ phức tạp cao Mã hóa khóa công khai thường chậm hơn nhiều so với mã hóa khóa đối xứng vì vậy người ta thường dùng mã hóa khóa công khai
để mã hóa những thông tin nhỏ ví dụ như: Mã hóa khóa của trong mã hóa khóa đối xứng
Mã hóa khóa công khai là công cụ hữu ích trong việc xác thực thông tin
Hình 2.6: Sơ đồ mã hóa khóa công khai
Sau khi thông tin được mã hóa vấn đề an toàn nảy sinh hai vấn đề:
Phân phối khóa: Làm sao có thể phân phối khóa một cách an toàn
Chữ ký điện tử: Làm cách nào để kiểm chứng được thông tin gửi đến là nguyên vẹn từ đúng người đứng tên gửi đến?
Mã hóa khóa công khai giải quyết hai vấn đề trên
Trang 39Các đặc trưng của mã hóa khóa công khai
Khó có khả năng tính toán để tìm ra khóa giải mã nếu chỉ biết thuật toán mã hóa và khóa công khai
Có thể dễ dàng mã hóa hoặc giải mã nếu biết khóa tương ứng
Một trong hai khóa dùng để mã hóa, khóa còn lại dùng để giải mã
2.3.1 Mã hóa RSA
Mã hóa RSA là mã hóa khóa công khai được tạo bởi Rivest, Shamir, Adleman vào năm 1977 Mã hóa RSA là mã hóa được biết đến nhiều nhất và sử dụng nhiều nhất hiện nay, nó dựa trên các phép toán lũy thừa trong trường hữu hạn, các số nguyên theo modulo nguyên tố là một số rất lớn Việc thám mã tức là tìm ra các khóa riêng dự theo việc phân tích một số lớn thành thừa số nguyên tố là một bài toán khó
Mã hóa RSA được làm theo sơ đồ sau:
Khởi tạo khóa RSA: Người tạo chọn cặp khóa công khai – bí mật như sau:
Chon p, q là các số nguyên tố lớn Đặt n= p*q, P = C = Zn
Chọn b nguyên tố với (n) =(p-1) * (q-1)
Định nghĩa K = {(n, a, b): a*b 1 mod( (n))}
n, b là khóa công khai; a, p, q là khóa bí mật
Với mỗi K = (n, a, b) mỗi x P, y C, định nghĩa:
Hàm mã hoá: y = e k (x) = xb mod n
Hàm giải mã: d k (y) = ya mod n
Độ an toàn của mã hóa RSA:
Độ an toàn của mã hóa RSA phụ thuộc vào độ an toàn của bài toán phân tích số lớn thành hai thừa số nguyên tố Do đó, nếu chúng ta tìm ra hai số nguyên tố p
và q càng lớn thì độ an toàn của mã hóa RSA càng cao
2.3.2 Mã hóa Elgamal