ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ THU TRANG
NGHIÊN CỨU MỘT SỐ GIẢI PHÁP
AN TOÀN VÀ BẢO MẬT CƠ SỞ DỮ LIỆU ỨNG DỤNG
CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NINH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2020
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ THU TRANG
NGHIÊN CỨU MỘT SỐ GIẢI PHÁP
AN TOÀN VÀ BẢO MẬT CƠ SỞ DỮ LIỆU ỨNG DỤNG
CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NINH
81 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 380 | Lượt tải: 1
Tóm tắt tài liệu Luận văn Nghiên cứu một số giải pháp an toàn và bảo mật cơ sở dữ liệu ứng dụng cho sở giáo dục và đào tạo tỉnh Quảng Ninh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chuyên ngành: Khoa học máy tính
Mã số: 8 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Giáo viên hướng dẫn: TS. Hồ Văn Hương
THÁI NGUYÊN - 2020
i
LỜI CẢM ƠN
Trong suốt quá trình học tập vừa qua, em đã được quý thầy cô cung cấp và
truyền đạt tất cả kiến thức chuyên môn cần thiết và quý giá nhất. Ngoài ra, em còn
được rèn luyện một tinh thần học tập và làm việc độc lập và sáng tạo. Đây là tính
cách hết sức cần thiết để có thể thành công khi bắt tay vào nghề nghiệp trong tương
lai.
Đề tài luận văn thạc sĩ là cơ hội để em có thể áp dụng, tổng kết lại những kiến
thức mà mình đã học. Đồng thời, rút ra được những kinh nghiệm thực tế và quý giá
trong suốt quá trình thực hiện đề tài. Sau một thời gian em tập trung công sức cho đề
tài và làm việc tích cực, đặc biệt là nhờ sự chỉ đạo và hướng dẫn tận tình của TS Hồ
Văn Hương cùng với các thầy cô trong trường Đại học Công nghệ thông tin & Truyền
thông - Đại học Thái Nguyên, đã giúp cho em hoàn thành đề tài một cách thuận lợi
và gặt hái được những kết quả mong muốn. Bên cạnh những kết quả khiêm tốn mà
em đạt được, chắc chắn không tránh khỏi những thiếu sót khi thực hiện luận văn của
mình, kính mong thầy cô thông cảm. Sự phê bình, góp ý của quý thầy cô sẽ là những
bài học kinh nghiệm rất quý báu cho công việc thực tế của em sau này.
Là sinh viên ngành công nghệ thông tin, em rất tự hào về khoa mà mình theo
học, tự hào về tất cả các thầy cô của mình.
Em xin chân thành cảm ơn TS Hồ Văn Hương đã tận tình giúp đỡ em hoàn
thành đề tài này.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 9 năm 2020
Học viên
Nguyễn Thị Thu Trang
ii
LỜI CAM ĐOAN
Em xin cam đoan nội dung luận văn này là do chính em thực hiện, các số liệu
thu thập và kết quả phân tích trong báo cáo là trung thực, không sao chép từ bất cứ
đề tài nghiên cứu khoa học nào. Nếu sai, em xin hoàn toàn chịu trách nhiệm trước
Nhà trường.
Thái Nguyên, tháng 9 năm 2020
Học viên
Nguyễn Thị Thu Trang
iii
MỤC LỤC
LỜI CẢM ƠN ..............................................................................................................i
LỜI CAM ĐOAN ...................................................................................................... ii
DANH MỤC HÌNH ẢNH .........................................................................................vi
MỞ ĐẦU ..................................................................................................................... 1
1. Tính khoa học và cấp thiết của đề tài ...................................................................... 1
2. Đối tượng và phạm vi nghiên cứu của đề tài .......................................................... 2
3. Phương pháp luận nghiên cứu ................................................................................. 2
4. Nội dung và bố cục của luận văn ............................................................................ 3
CHƯƠNG 1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ
LIỆU ............................................................................................................................ 4
1.1. Giới thiệu chung về an toàn, bảo mật cơ sở dữ liệu ......................................... 4
1.2. Khái niệm cơ bản ............................................................................................. 4
1.2.1. Các thành phần của DBMS ....................................................................... 5
1.2.2. Các mức mô tả dữ liệu .............................................................................. 6
1.3. Vấn đề an toàn trong cơ sở dữ liệu .................................................................. 7
1.3.1. Các hiểm hoạ đối với an toàn cơ sở dữ liệu ............................................. 7
1.3.2. Các yêu cầu bảo vệ cơ sở dữ liệu .............................................................. 8
1.4. Kiểm soát an toàn ............................................................................................. 9
1.4.1. Kiểm soát luồng....................................................................................... 10
1.4.2. Kiểm soát suy diễn .................................................................................. 10
1.4.3. Kiểm soát truy nhập ................................................................................ 10
1.5. Khảo sát thực trạng an toàn và bảo mật cơ sở dữ liệu tại Sở Giáo dục và Đào
tạo tỉnh Quảng Ninh .............................................................................................. 11
1.6. Kết luận chương 1 .......................................................................................... 15
CHƯƠNG 2. LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ SỞ DỮ LIỆU ..... 17
2.1. Giới thiệu về lý thuyết mật mã ....................................................................... 17
2.2. Mã hóa bằng khóa bí mật ............................................................................... 18
2.2.1. Khái niệm ................................................................................................ 18
2.2.2. Ưu khuyết điểm........................................................................................ 18
2.2.3. Cơ chế mã hóa khóa bí mật ..................................................................... 19
2.3. Mã hóa bằng khóa công khai ......................................................................... 21
2.3.1. Khái niệm ................................................................................................ 21
2.3.2. Ưu khuyết điểm........................................................................................ 22
iv
2.3.3. Cơ chế mã hóa khóa công khai ............................................................... 22
2.4. Xác thực thông tin .......................................................................................... 25
2.4.1. Bảo vệ tính toàn vẹn của thông tin .......................................................... 26
2.4.2. Kiểm chứng danh tính nguồn gốc thông tin ............................................ 27
2.4.3. Chống từ chối bản tin gốc ....................................................................... 28
2.5. Hàm băm ........................................................................................................ 30
2.6. Chữ ký số ....................................................................................................... 32
2.7. Một số vấn đề về bảo mật cơ sở dữ liệu ......................................................... 35
2.7.1. Mô hình bảo mật CSDL .......................................................................... 35
2.7.2. Các yếu tố mất an toàn với cơ sở dữ liệu ................................................ 39
2.7.3. Những yêu cầu khi xây dựng một hệ thống cơ sở dữ liệu an toàn .......... 40
2.8. Kết luận chương 2 .......................................................................................... 41
CHƯƠNG 3. THỰC NGHIỆM MỘT SỐ GIẢI PHÁP AN TOÀN VÀ BẢO MẬT
CƠ SỞ DỮ LIỆU MYSQL ỨNG DỤNG CHO SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH QUẢNG NINH ............................................................................................... 42
3.1. Mục tiêu và giải pháp bảo mật cơ sở dữ liệu ................................................. 42
3.1.1. Mục tiêu ................................................................................................... 42
3.1.2. Giải pháp ................................................................................................. 42
3.2. Giải pháp bảo mật CSDL trong hệ quản trị CSDL MySQL .......................... 49
3.2.1. Giới thiệu................................................................................................. 49
3.2.2. Vấn đề bảo mật trong MySQL ................................................................. 50
3.3. Thử nghiệm bảo mật cơ sở dữ liệu trong phát triển website quản lý điểm .... 57
3.3.1. Phạm vi và yêu cầu bài toán ................................................................... 57
3.3.2. Mô hình bảo mật của hệ thống ................................................................ 58
3.3.3. Triển khai mô hình bảo mật .................................................................... 59
3.3.4. Một số kết quả sau khi phát triển website ............................................... 59
3.4. Kết luận chương 3 .......................................................................................... 69
KẾT LUẬN VÀ ĐỀ NGHỊ ....................................................................................... 70
TÀI LIỆU THAM KHẢO ......................................................................................... 72
v
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
AES : Advanced Encrypition Standard
CA : Certificate Authority
CSDL : Cơ sở dữ liệu
DBMS : Database Management System
DDL : Data Definition Language
DES : Data Encript Standard
DDM : Data Manipulation Language
MAC : Message Authentication Code
QL : Query Language
SQL : Structured Query Language
vi
DANH MỤC HÌNH ẢNH
Hình 1.1: Tương tác giữa trình ứng dụng và cơ sở dữ liệu ......................................... 6
Hình 1.2: Hệ thống kiểm soát truy nhập ................................................................... 11
Hình 2.1: Mã hóa bằng khóa bí mật .......................................................................... 18
Hình 2.2: Tiến trình mã hoá AES.............................................................................. 20
Hình 2.3: Mã hóa bằng khóa công khai .................................................................... 22
Hình 2.4: Các bước thực hiện của thuật toán RSA ................................................... 23
Hình 2.5: Lược đồ tạo chữ ký số ............................................................................... 33
Hình 2.6: Lược đồ kiểm tra chữ ký số ...................................................................... 34
Hình 2.7: Các thành phần của mô hình an toàn trong một hệ thống an toàn ............ 39
Hình 3.1: Dòng dữ liệu trao đổi giữa hai nút ............................................................ 44
Hình 3.2: Mô hình khai thác CSDL được bảo mật ................................................... 46
Hình 3.3: Giao thức bắt tay của SSL ......................................................................... 52
Hình 3.4: Mô hình bảo mật của hệ thống .................................................................. 58
Hình 3.5: Giao diện đăng nhập người dùng .............................................................. 60
Hình 3.6: Bản mã tài khoản người dùng ................................................................... 60
Hình 3.7: Giao diện thêm mới học sinh .................................................................... 61
Hình 3.8: Sửa thông tin học sinh ............................................................................... 61
Hình 3.9: Bản mã thông tin học sinh ........................................................................ 61
Hình 3.10: Giao diện nhập điểm của học sinh .......................................................... 62
Hình 3.11: Giao diện xem bản mã điểm của học sinh .............................................. 62
Hình 3.12: Bản mã được lưu trong CSDL ................................................................ 63
Hình 3.13: Giao diện sau khi đăng nhập ................................................................... 63
Hình 3.14: Giao diện thiết lập năm học .................................................................... 64
Hình 3.15: Giao diện thêm mới năm học .................................................................. 65
Hình 3.16: Giao diện thiết lập môn học .................................................................... 65
Hình 3.17: Giao diện thêm mới môn học .................................................................. 66
Hình 3.18: Giao diện quản lý người dùng ................................................................. 66
Hình 3.19: Giao diện quản lý lớp học ....................................................................... 67
vii
Hình 3.20: Giao diện danh sách học sinh trong lớp .................................................. 68
Hình 3.21: Giao diện sửa và xét hạnh kiểm học sinh trong lớp ................................ 68
Hình 3.22: Giao diện tìm kiếm điểm ......................................................................... 69
1
MỞ ĐẦU
1. Tính khoa học và cấp thiết của đề tài
An toàn thông tin luôn là vấn đề được bàn luận và quan tâm trong thời đại
Internet phát triển, đảm bảo thông tin được bảo mật, không bị đánh cắp, sửa đổi làm
ảnh hưởng đến quyền lợi của người dùng cá nhân cũng như của các tổ chức. Ngày
nay, lĩnh vực bảo mật an toàn thông tin đang được nghiên cứu, phát triển và ứng dụng
rộng rãi trong nhiều hệ thống thông tin nhằm đảm bảo một hệ thống có tính bảo mật,
tin cậy và sẵn sàng. Đặc biệt là những hệ thống có cơ sở dữ liệu lưu trữ lớn cần phải
có giải pháp đảm bảo an toàn và bí mật như trong lĩnh vực ngân hàng, tài chính, bảo
hiểm. Do đó, việc tạo ra một hệ thống an toàn phục vụ cho nhu cầu truy cập, sửa đổi,
cập nhật là hết sức cần thiết và chỉ có những cá nhân hay các tổ chức có quyền hợp
lệ mới có khả năng tương tác dữ liệu với hệ thống.
Vì thế, nhiệm vụ đảm bảo tính bí mật cho cơ sở dữ liệu là hết sức quan trọng,
giúp tạo ra một hệ thống bảo mật, hoạt động chặt chẽ và an toàn cho việc cập nhật và
truy cập dữ liệu.
Hiện nay, Quảng Ninh là một trong những tỉnh tiên phong trong việc triển khai
Chính phủ điện tử và ứng dụng công nghệ thông tin vào hầu hết các ngành nghề, các
lĩnh vực trong cuộc sống. Trong đó, giáo dục và đào tạo là ngành được quan tâm hàng
đầu. Sở Giáo dục và Đào tạo tỉnh Quảng Ninh đã không ngừng áp dụng những ứng
dụng mới vào công tác quản lý cũng như công tác dạy và học, mang lại nhiều hiệu
quả tích cực.
Nhưng cùng với thực trạng chung trên cả nước, sự phát triển nhanh chóng của
công nghệ thông tin đang khiến cho vấn đề mất an toàn thông tin của Sở Giáo dục và
Đào tạo tỉnh Quảng Ninh ở mức độ cao. Do năng lực chống lại sự xâm nhập về thông
tin còn yếu, hầu hết không biết rõ đối tượng tấn công cơ sở dữ liệu của mình và chưa
có quy trình thao tác để ứng phó khi có sự cố xảy ra. Từ đó đặt ra những nhiệm vụ
quan trọng đối với Sở Giáo dục và Đào tạo tỉnh Quảng Ninh là công tác đảm bảo an
toàn và bảo mật thông tin cho cơ sở dữ liệu.
2
Được sự gợi ý của thầy giáo hướng dẫn tôi đã chọn đề tài “Nghiên cứu một số
giải pháp an toàn và bảo mật cơ sở dữ liệu ứng dụng cho Sở Giáo dục và Đào tạo
tỉnh Quảng Ninh” làm luận văn tốt nghiệp của mình. Mục tiêu chính của luận văn
tìm hiểu các kỹ thuật và phương pháp để thực hiện nhiệm vụ bảo mật và an toàn dữ
liệu như mật mã, xác thực, bảo mật, chữ ký số có liên quan tới truyền thông an toàn
và cơ sở dữ liệu, sau đó sử dụng hệ quản trị cơ sở dữ liệu MySQL với bài toán quản
lý dữ liệu và truyền thông bảo mật dữ liệu về kết quả học tập của học sinh cho một
trường THPT của tỉnh Quảng Ninh để thử nghiệm.
2. Đối tượng và phạm vi nghiên cứu của đề tài
- Đối tượng nghiên cứu: Tìm hiểu, nghiên cứu thực trạng và nhu cầu về an
ninh, an toàn thông tin trong bộ dữ liệu của Sở Giáo dục và Đào tạo tỉnh Quảng Ninh,
dựa trên các tiêu chuẩn, cơ sở mật mã, chữ ký số nhằm đưa ra các giải pháp an toàn
và bảo mật cơ sở dữ liệu cho Sở Giáo dục và Đào tạo.
- Phạm vi nghiên cứu: Luận văn tập trung nghiên cứu trên bài toán bảo mật
thông tin trong CSDL MySQL.
3. Phương pháp luận nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Nghiên cứu, thu thập các tài liệu đã xuất
bản, các bài báo trên các tạp chí khoa học và các tài liệu trên mạng Internet có liên
quan đến vấn đề đang nghiên cứu của các tác giả trong và ngoài nước. Từ đó, chọn
lọc và sắp xếp lại theo ý tưởng của mình.
Tìm hiểu, vận dụng một số giải pháp an toàn và bảo mật cơ sở dữ liệu.
Thực hiện triển khai cài đặt ứng dụng demo sử dụng một số giải pháp an toàn
và bảo mật cơ sở dữ liệu ứng dụng cho Sở Giáo dục và Đào tạo tỉnh Quảng Ninh.
- Phương pháp nghiên cứu thực nghiệm: Nghiên cứu tài liệu, ứng dụng và
công nghệ liên quan. Tổng hợp các tài liệu lý thuyết về bảo mật CSDL. Xây
dựng ứng dụng để bảo mật CSDL MySQL.
- Phương pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia.
3
4. Nội dung và bố cục của luận văn
Ngoài phần mở đầu, kết luận và hướng phát triển, luận văn được bố cục thành
ba chương chính như sau:
Chương 1. Tổng quan về an toàn thông tin trong cơ sở dữ liệu: Giới thiệu một
cách tổng quan về an toàn thông tin trong cơ sở dữ liệu.
Chương 2. Cơ sở lý thuyết mật mã trong bảo mật cơ sở dữ liệu: Giới thiệu
những kiến thức chung về mã hóa đối xứng, mã hoá công khai và cơ chế mã hóa. Nêu
ra các vấn đề an toàn trong dùng các hệ mã, phân phối và sử dụng khóa.
Chương 3. Thực nghiệm một số giải pháp an toàn và bảo mật cơ sở dữ liệu
MySQL ứng dụng cho Sở Giáo dục và Đào tạo tỉnh Quảng Ninh: Trình bày các giải
pháp bảo mật trong CSDL, từ đó đưa ra hướng bảo mật CSDL MySQL và xây dựng
ứng dụng bảo mật CSDL MySQL. Xây dựng ứng dụng bảo mật CSDL điểm cho các
trường THPT.
4
CHƯƠNG 1
TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ LIỆU
1.1. Giới thiệu chung về an toàn, bảo mật cơ sở dữ liệu
An ninh cơ sở dữ liệu đã trở thành một vấn đề có tầm quan trọng toàn cầu, những
kẻ xâm nhập tìm mọi con đường để đánh cắp dữ liệu. Hướng triển khai nhiều lớp bảo
mật trong môi trường cơ sở dữ liệu quan trọng là phương pháp hữu hiệu nhất để giảm
thiểu nguy cơ xâm phạm dữ liệu. Nếu nhiều lớp bảo mật được áp dụng cho một môi
trường lưu trữ dữ liệu, khi đó những kẻ xâm nhập sẽ có một thời gian khó khăn hơn
khi truy cập dữ liệu.
Để bảo mật môi trường lưu trữ dữ liệu cần có những lớp bảo vệ sau: Bảo mật
cơ sở dữ liệu, bảo mật máy tính và an ninh mạng.
1.2. Khái niệm cơ bản
CSDL được hiểu là một tập hợp các dữ liệu, các quy tắc dữ liệu và chỉ ra mỗi
quan hệ giữa các dữ liệu ấy. Thông qua quy tắc này thì người tạo lập CSDL mô tả
khuôn dạng logic cho dữ liệu [1].
Hệ quản trị CSDL: Hay trình quản lý CSDL (DBMS) là một hệ thống chương
trình hỗ trợ thuận lợi cho người tạo lập CSDL và quản lý CSDL.
Ví dụ như hệ quản trị CSDL Access của Microsoft: Hỗ trợ cho việc tạo bảng,
câu lệnh truy vẫn, các khung nhìn, thủ tục lưu trữ... rất thuận tiện, thực hiện các chính
sách về truy cập CSDL.
Người quản trị CSDL: Là những người xác định các quy tắc về tổ chức, kiểm
soát, cấp quyền truy cập đến các thành phần của CSDL.
Ví dụ như hệ quản trị CSDL của Microsoft là SQL server: Người quản trị có thể
tạo ra những quy tắc, cấp quyền truy xuất đến CSDL,...
5
Người dùng tương tác đến CSDL: Là những đối tượng truy xuất đến CSDL
thông qua hệ quản trị CSDL hay ứng dụng có tương tác (truy xuất) đến CSDL.
Ví dụ: Website báo chí cần truy xuất thông tin bài báo bằng cách thực hiện kết
nối đến CSDL.
1.2.1. Các thành phần của DBMS
Một DBMS thông thường bao gồm nhiều môđun tương ứng với các chức năng sau:
Định nghĩa dữ liệu - DDL.
Thao tác dữ liệu - DML.
Hỏi đáp cơ sở dữ liệu - QL.
Quản trị cơ sở dữ liệu - DBMS.
Quản lý file.
Nguyên lý hoạt động:
Yêu cầu người dùng cuối hoặc một chương trình ứng dụng thông qua câu lệnh
của DML hoặc QL để thao tác với CSDL. Các câu lệnh này được thông dịch bằng bộ
xử lý DML, QL. Kết quả đưa ra các câu hỏi tối ưu theo lược đồ CSDL. Sau đó các
câu lệnh được đưa tới bộ quản lý CSDL. Tại đây bộ quản lý CSDL kiểm tra xem
người dùng hoặc chương trình có được phép truy cập tới CSDL không, thông qua
bảng phân quyền. Ngoài tra chương trình quản lý CSDL không, thông qua bảng truy
cập đồng thời. Tiếp đó thực hiện truy vấn tới chương trình quản lý file, thực thi các
thao tác trên file. Chương trình này chịu trách nhiệm lấy dữ liệu từ trong CSDL rồi
trả về kết quả cho người dùng thông qua chương trình quản lý file, chương trình quản
lý CSDL. Bộ xử lý DML, QL là nơi tiếp nhận sự trả về cuối cùng [1].
6
Hình 1.1: Tương tác giữa trình ứng dụng và cơ sở dữ liệu
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.
1.2.2. Các mức mô tả dữ liệu
DBMS mô tả dữ liệu theo nhiều mức khác nhau và được mô tả như sau [1]:
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ả 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 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ư bản ghi hay con trỏ của bản ghi.
7
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 của 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 đó.
1.3. Vấn đề an toàn trong cơ sở dữ liệu
1.3.1. Các hiểm hoạ đối với an toàn cơ sở dữ liệu
Hiểm họa đối với an ninh cơ sở dữ liệu là người truy cập trái phép vào CSDL
nhằm sao chép, sửa đổi, khám phá thông tin. Hiện nay, hiểm họa hàng đầu đối với an
toàn cơ sở dữ liệu là:
Lạm dụng quyền vượt mức:
Người dùng sử dụng quyền vượt mức các yêu cầu trong chức năng công việc
của mình.
Lạm dụng quyền hợp pháp:
Người dùng sử dụng không dúng mục đích quyền của mình để thu thập dữ
liệu...
Nâng cấp quyền bất hợp pháp:
Kẻ tấn công thay đổi quyền truy nhập của người bình thường thành quyền truy
nhập của một người quản trị.
Lợi dụng các điểm yếu của nền tảng:
Các điểm yếu trên hệ điều hành, điểm yếu trong các dịch vụ được cài đặt máy
chủ CSDL có thể dẫn tới truy nhập bất hợp pháp, hay từ chối dịch vụ.
SQL Injection:
Kẻ tấn công chèn các mệnh đề CSDL bất hợp pháp vào nguồn CSDL SQL. Để
truy nhập và khai thác dữ liệu.
Mã độc:
8
Kẻ tấn công sử dụng các mã độc, hoặc phần mềm độc hại để thâm nhập vào các
tổ chức để lấy cắp dữ liệu nhạy cảm.
Lợi dụng lỗ hổng truy vết:
Không phát hiện và ngăn chặn được hành động tấn công của người dùng do
không ghi lại được đầy đủ những hành động của người dùng.
Từ chối dịch vụ:
Người dùng hợp pháp sẽ không thể truy cập được dữ liệu hay các ứng dụng trên
mạng.
Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ:
Do các phương tiện lưu trữ không thường xuyên được bảo vệ khỏi các tấn công
dễ dẫn đến mất mát đĩa và băng sao lưu CSDL.
1.3.2. Các yêu cầu bảo vệ cơ sở dữ liệu
Bảo vệ cơ sở dữ liệu khỏi các hiểm hoạ, có nghĩa là bảo vệ tài nguyên, đặc biệt
là dữ liệu khỏi các thảm hoạ, hoặc truy nhập trái phép. Các yêu cầu bảo vệ cơ sở dữ
liệu gồm [2]:
Bảo vệ chống truy cập trái phép:
Đây là một vấn đề được quan tâm chính 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 cậ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 không thông qua bảng phân quyền.
Bảo vệ chống suy diễn:
Suy diễn chỉ rõ khả năng thu được thông tin bí mật từ những dữ liệu đã được
công khai. Vấn đề suy diễn thường là mối đe dọa lớn của cơ sở dữ liệu thống kê.
Người dùng sẽ bắt đầu tìm thông tin ẩn từ những dấu vết để lại trên thông tin đã được
công khai.
Bảo vệ toàn vẹn CSDL:
9
Bảo vệ truy vấn lại sự truy cập trái phép bắt nguồn từ các lỗi, virut, sự phá hoại
hoặc các lỗi hệ thống. DBMS dựa vào dạng bảo vẹn thông qua việc kiểm soát tính
đúng đắn của hệ thống, các thủ tục sao lưu, phục hồi dữ liệu, các thủ tục an toàn dữ
liệu.
Tính đúng đắn của các phép toán thực hiện trên dữ liệu:
Yêu cầu này đảm bảo tính tương thích logic của dữ liệu và các thao tác thực hiện
đồng thời trên dữ liệu.
Tính toàn vẹn về mặt ngữ nghĩa của dữ liệu:
Yêu cầu đảm bảo tính tương thích logic của dữ liệu bị thay đổi, bằng cách kiểm
tra dữ liệu có nằm trong khoảng giá trị cho phép hay không.
Dữ liệu có khả năng lưu vết và kiểm tra:
Là khả năng ghi lại mọi truy cập tới dữ liệu và dữ liệu có khả năng kiểm tra
được nhằm đảm bảo tính toàn vẹn dữ liệu.
Xác thực người dùng:
Hệ thống phải có khả năng xác thực đối tượng người dùng và quyền truy cập
của người dùng tới dữ liệu, chỉ có người có quyền hợp pháp mới được truy cập tới dữ
liệu.
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 đặt biệt trong các môi trường
năng động, nhạy cảm như quân đội, thương mại
Có nhiều cấp độ bảo vệ khác nhau:
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.
Giới hạn thông tin truyền nhằm tránh mất mát thông tin trên đường truyền.
1.4. Kiểm soát an toàn
Có thể bảo vệ được cơ sở dữ liệu thông qua các phương pháp an toàn sau:
Kiểm soát luồng.
Kiểm soát suy diễn.
10
Kiểm soát truy nhập.
1.4.1. Kiểm soát luồng
Kiểm soát luồng là kiểm tra xem thông tin có trong một số đối tượng có đi
vào các đối tượng có mức bảo vệ thấp hơn hay không. Các kiểm soát luồng điều
chỉnh phân bố luồng thông tin giữa các đối tượng có khả năng truy nhập. Các chính
sách kiểm soát luồng cần phải chỉ ra các luồng có thể được chấp nhận, hoặc phải
điều chỉnh.
1.4.2. Kiểm soát suy diễn
Kiểm soát suy diễn nhằm mục đích bảo vệ dữ liệu không bị khám phá gián tiếp.
Các kênh suy diễn chính trong hệ thống là:
Truy nhập gián tiếp:
Từ dữ liệu được phép truy nhập để khám phá ra những dữ liệu khác qua các câu
hỏi truy vấn.
Dữ liệu tương quan:
Dữ liệu tương quan là một kênh suy diễn đặc trưng, xảy ra khi dữ liệu có thể
nhìn thấy được X và dữ liệu không thể nhìn thấy được Y kết nối với nhau mặt ngữ
nghĩa. Kết quả là có thể khám phá được thông tin về Y nhờ đọc X.
Thiếu dữ liệu:
Kênh thiếu dữ liệu là một kênh suy diễn mà qua đó, người dùng có thể biết được
sự tồn tại của một tập giá trị X.
1.4.3. Kiểm soát truy nhập
Kiểm soát truy nhập trong các hệ thống thông tin là đảm bảo mọi truy nhập
trực tiếp vào các đối tượng của hệ thống tuân theo các kiểu và các quy tắc đã được
xác định trong chính sách bảo vệ. Hình 1.2 minh hoạ một hệ thống kiểm soát truy
nhập.
11
Hình 1.2: Hệ thống kiểm soát truy nhập
1.5. Khảo sát thực trạng an toàn và bảo mật cơ sở dữ liệu tại Sở Giáo dục và Đào
tạo tỉnh Quảng Ninh
Hiện tại, Sở Giáo dục và Đào tạo tỉnh Quảng Ninh đã và đang thực hiện quản
lý nhiều lĩnh vực khác nhau, trong đó bao gồm một số lĩnh vực sau:
- Quản lý cán bộ (CB) gồm các thông tin sau:
Mã CB, tên CB, ngày sinh, giới tính, trình độ đào tạo, bộ môn, hình thức hợp
đồng, phòng ban/đơn vị, email, số điện thoại, tình trạng.
- Quản lý Đảng viên (ĐV) gồm các thông tin sau:
Mã ĐV, tên ĐV, chức vụ, trình độ đào tạo, phòng ban/đơn vị, ngày vào Đảng,
ngày chính thức, trạng thái.
- Quản lý học sinh (HS) gồm các thông tin sau:
Mã HS, tên HS, ngày sinh, giới tính, lớp, trường, trạng thái.
- Quản lý điểm học sinh được tác giả trình bày chi tiết ở phần tiếp theo của
luận văn.
Quảng Ninh là một trong những tỉnh tiên phong trong việc triển khai Chính
phủ điện tử và ứng dụng công nghệ thông tin vào hầu hết các ngành nghề, các lĩnh
vực trong cuộc sống. Sở Giáo dục và đào tạo tỉnh Quảng Ninh cũng triển khai các
12
biện pháp nhằm đảm bảo an toàn thông tin trong hoạt động ứng dụng công nghệ thông
tin cụ thể như:
a) Công tác triển khai cơ sở dữ liệu ngành Giáo dục và Đào tạo
Ngành GDĐT tỉnh Quảng Ninh triển khai cơ sở dữ liệu ngành Giáo dục theo
hướng dữ liệu được thu thập thông qua phần mềm quản lý trường học trực tuyến tại
các trường học và được chuyển tự động sang phần mềm quản lý cơ sở dữ liệu ngành
Giáo dục qua các giao tiếp lập trình ứng dụng (API).
Đến thời điểm này, toàn bộ dữ liệu học sinh, giáo viên (trừ các nhóm trẻ tư thục
độc lập, các cơ sở đào tạo GDTX tại các trường cao đẳng, đại học) đã được thu thập
và cập nhật vào cơ sở dữ liệu ngành Giáo dục. Sở GDĐT tỉnh Quảng Ninh đã hoàn
thiện, gửi toàn bộ các báo cáo cuối năm trên phần mềm cơ sở dữ liệu.
b) Sở GDĐT tỉnh Quảng Ninh đã thực hiện việc gửi và nhận văn bản điện tử có
ký số thông qua phần mềm quản lý hành chính điện tử (e-office) với Bộ GDĐT. Sở
và các phòng GDĐT, các trường học trực thuộc sở đã thực hiện chuyển nhận văn bản
điện tử có ký số qua phần mềm quản lý văn bản.
c) Trong các năm học vừa qua, Sở GDĐT Quảng Ninh đã triển khai phần mềm
quản lý trường học trực tuyến tại địa chỉ tới 100% các
trường mầm non, phổ thông trên địa bàn toàn tỉnh.
Sở GDĐT tỉnh Quảng Ninh hiện nay đang quản lý 56 trường THPT thành viên
như các trường: THPT Chuyên Hạ Long, THPT Hòn Gai, THPT Cẩm Phả, THPT
Uông Bí, THPT Hồng Đức, THPT Hoàng Văn Thụ, THPT Đông Thành, THPT Bãi
Cháy, THPT Lê Quý Đôn, THPT Hoành Bồ
Các trường THPT đều có chung cách tính điểm cũng như quy trình quản lý điểm
của học sinh theo từng khối. Cụ thể như sau:
13
Mỗi học kỳ, một học sinh ...thông điệp sẽ bị phát
hiện trong giai đoạn kiểm tra. Ngoài ra, việc ký nhận này đảm bảo người nhận tin
tưởng vào thông điệp này xuất phát từ người gửi chứ không phải ai khác.
Quá trình nhận và kiểm tra chữ ký số gồm các bước như sau:
Hình 2.6: Lược đồ kiểm tra chữ ký số
Sau khi nhận được thông điệp có đính kèm chữ ký điện tử người nhận kiểm
tra lại thông điệp:
Người nhận sử dụng khóa công khai của người gửi để giải mã chữ ký điện tử
đính kèm trong thông điệp.
35
Sử dụng giải thuật MD5 hay SHA để băm thông điệp đính kèm.
So sánh kết quả thu được ở hai bước trên. Nếu trùng nhau thì ta kết luận thông
điệp này không bị thay đổi trong quá trình gửi, người gửi là chính xác và ngược lại.
Bản chất của thuật toán tạo chữ ký số là đảm bảo nếu chỉ biết thông điệp thì rất
khó (hầu như không thể) tạo ra chữ ký số của người gửi nếu không biết khóa bí mật
của người gửi. Nên nếu phép so sánh cho kết quả đúng thì có thể xác nhận người gửi
là chính xác.
Tuy nhiên khi tạo chữ ký số, người gửi thường không mã hóa toàn bộ thông
điệp với khóa bí mật mà chỉ thực hiện với bản băm của thông điệp (bản tóm tắt thông
điệp 160 bits) nên có thể xảy ra trường hợp hai thông điệp khác nhau có cùng bản
băm nhưng với xác suất rất thấp.
2.7. Một số vấn đề về bảo mật cơ sở dữ liệu
2.7.1. Mô hình bảo mật CSDL
Đối tượng mà mô hình CSDL an toàn nghiên cứu là các thủ tục ở cấp độ cao,
tính độc lập của phần mềm, mô hình khái niệm, nhằm bảo vệ an toàn hệ thống từ yếu
tố bên ngoài. Mô hình an toàn cung cấp các thành phần đại diện về mặt ngữ nghĩa
trong đó cho phép các thuộc tính của hàm và cấu trúc của hệ thống an toàn được mô
tả. Mô hình bảo mật hỗ trợ cho người phát triển đưa ra các định nghĩa ở cấp độ cao
các yêu cầu bảo vệ và các chính sách được cung cấp một cách ngắn gọn, rõ ràng phù
hợp với mô hình trừu tượng và dễ dàng trong cài đặt hệ thống [4].
Có nhiều mô hình an toàn, các mô hình có thể phân thành nhiều loại nhưng
xoay quanh hai mô hình chính là mô hình an toàn bắt buộc và mô hình an toàn tùy
chọn.
Mô hình an toàn tùy chọn quản lý truy cập của người dùng tới thông tin
trong CSDL dựa vào việc xác thực người dùng, dựa vào các quy tắc dành riêng cho
từng người dùng và từng đối tượng trong hệ thống, các quyền mà người dùng được
thao tác với đối tượng. Yêu cầu của người dùng truy cập tới một đối tượng được kiểm
36
tra trong bảng CSDL xem có thỏa mãn các quyền mà họ được cấp không. Nếu truy
cập của người dùng phù hợp với các quyền của họ thì họ được quyền tiếp tục truy cập
vào hệ thống, nếu không hệ thống đưa ra thông báo từ chối truy cập. Mô hình bảo vệ
tùy chọn nhìn chung cho phép người dùng cấp quyền cho những người dùng khác để
truy cập tới các đối tượng trong CSDL. Hầu hết quyền đều ở dạng là các chính sách
sở hữu, ở đây người tạo ra một đối tượng được phép cấp phát hoặc thu hồi quyền truy
cập của người sử dụng khác tới đối tượng mà họ tạo ra.
Đánh giá: Cho đến nay, truy cập thông tin vẫn dựa phần lớn trên chính sách
bảo vệ tùy chọn. Thuận lợi mà chính sách tùy chọn mang lại đó là tính mềm dẻo, phù
hợp với nhiều hệ thống và các chương trình ứng dụng. Tuy nhiên, chính sách điều
khiển truy cập tùy chọn có mặt hạn chế, nó không thể cung cấp một cách thực sự chắc
chắn nhằm thỏa mãn các yêu cầu bảo vệ. Mặc dù mỗi cách thức truy cập chỉ được
điều khiển hoặc được cho phép nếu được ủy quyền, tuy nhiên vẫn có thể vượt qua
các hạn chế đó bằng cách lách quyền. Vấn đề chính mà chính sách tùy chọn gặp phải
đó là nó không chịu bất kì hạn chế nào trên các cách thức sử dụng thông tin mà một
người dùng giành được, do đó thông tin bị điều khiển dễ dàng. Chính điều này làm
cho điều khiển tùy chọn có thể bị tấn công từ Trojan khi chúng được nhúng vào trong
chương trình.
Mô hình an toàn bắt buộc quản lý việc truy cập tới thông tin trong CSDL
dựa vào việc phân lớp các chủ thể và các đối tượng trong hệ thống. Đối tượng là các
thực thể thụ động lưu trữ thông tin như file, bản ghi, không gian trong bản ghi, chủ
thể là các thực thể hoạt động, thành phần truy cập tới các đối tượng. Nhìn chung một
chủ thể được coi là một quá trình xử lý tính toán đại diện cho người dùng. Các lớp
thao tác truy cập được kết hợp với các chủ thể và các đối tượng trong hệ thống, thao
tác truy cập của chủ thể trên đối tượng được cấp nếu thỏa mãn các yêu cầu truy cập
giữa lớp chủ thể và lớp đối tượng mà hệ thống đặt ra.
Đánh giá: Những thuận lợi mà chính sách bắt buộc mang lại xuất phát từ
môi trường, nơi có các đối tượng và chủ thể được phân lớp. Chúng cung cấp tính xác
37
thực ở cấp độ cao cho vấn đề an toàn dựa trên nhãn có thực. Mô hình điều khiển bắt
buộc và mô hình điều khiển luồng cho phép lưu vết thông tin do đó ngăn chặn được
các kiểu tấn công bề mặt của Trojan. Đối với những môi trường đòi hỏi linh động thì
chính sách này là không phù hợp. Hiện nay mô hình an toàn có thể được xây dựng từ
sự tích hợp của chính sách tùy chọn và chính sách bắt buộc.
Bên cạnh các mô hình ràng buộc và mô hình tùy chọn, các mô hình có thể
được phân loại theo các hướng sau:
Mô hình phụ thuộc vào mục đích của hệ thống: Tùy thuộc vào mục tiêu của
hệ thống, tài nguyên cần bảo vệ, cách điều khiển mà ta có các mô hình khác nhau.
Như mô hình để bảo vệ hệ điều hành, mô hình để bảo vệ CSDL hoặc bảo vệ cả hệ
điều hành và CSDL.
Mô hình phụ thuộc vào các chính sách hệ thống đặt ra: Mô hình bắt buộc
hoặc mô hình tùy chọn.
Mô hình phụ thuộc vào các cách thức kiểm soát: Cho phép truy cập trực tiếp
tới thông tin, hoặc cho phép truy cập gián tiếp tới thông tin.
Do đó việc lựa chọn mô hình bảo mật nào trong phát triển hệ thống an toàn phụ
thuộc vào mục đích, môi trường, dữ liệu nó muốn bảo vệ, dựa trên các mặt an toàn,
chính sách an toàn và trên các mục đích kiểm soát. Có thể một mô hình là không đủ
để đảm bảo an toàn trên nhiều khía cạnh khác nhau của hệ thống. Vì vậy, cần có sự
kết hợp của nhiều mô hình để đáp ứng được yêu cầu về an toàn CSDL mà nhà quản
lý đặt ra.
Các thành phần của mô hình CSDL an toàn:
Chủ thể: Đây là những thực thể hoạt động của hệ thống, thực hiện các yêu
cầu truy cập tới các đối tượng. Những truy cập bất hợp pháp của chủ thể có thể đe
dọa đến tính an toàn của hệ thống.
38
Đối tượng: Đây là các thực thể bị động của hệ thống, chịu sự điều khiển truy
cập của chủ thể. Nó bao gồm các thông tin cần được bảo vệ từ việc truy cập hoặc các
thay đổi bất hợp pháp trên đối tượng.
Mô hình truy cập: Biểu diễn cách mà chủ thể truy cập, thực thi trên các
đối tượng.
Chính sách: Là các quy tắc đặt ra nhằm thực hiện việc kiểm soát và truy cập
tới CSDL.
Tập các quyền: Là các quyền truy cập của chủ thể.
Quyền quản lý: Đây chính là các quyền như: cấp phát, thu hồi, sở hữu, cấp
quyền.
Các tiên đề: Đây là các thuộc tính mà một hệ thống an toàn phải được thỏa
mãn. Chúng là điều kiện mà một quyền khi được yêu cầu thực thi phải thỏa mãn. Một
sự thay đổi trên một thể hiện đặc quyền chỉ được phép khi đi qua đặc quyền quản lý
mà các tiên đề được thỏa mãn.
39
Hình 2.7: Các thành phần của mô hình an toàn trong một hệ thống an toàn
2.7.2. Các yếu tố mất an toàn với cơ sở dữ liệu
Các hiểm họa đối với hệ thống có thể phân thành hiểm họa vô tình hay cố ý,
chủ động hay thụ động:
Hiểm họa vô tình: Những kẻ xấu lợi dụng sử dụng quyền bất hợp pháp của
người dùng truy cập được phép do khi hoàn thành công việc không chuyển hệ thống
về bình thường.
Hiểm họa cố ý: Truy cập trái phép vào hệ thống.
Hiểm họa thụ động: Không tác động trực tiếp vào hệ thống.
Hiểm họa chủ động: Là việc thay đổi thông tin, thay đổi tình trạng hoặc hoạt
động của hệ thống.
Đối với mỗi hệ thống thông tin mối đe dọa tiềm ẩn là rất lớn nó có thể xuẩt phát
từ các nguyên nhân sau:
40
Từ phía người sử dụng: Xâm phạm bất hợp pháp, hoặc sử dụng quyền vượt
mức.
Trong kiến trúc hệ thống thông tin: Cấu trúc của hệ thông không đủ mạnh để
bảo vệ thông tin.
Chính sách bảo mật an toàn thông tin: Chưa phân rõ quyền hạn của người
dùng, không áp dụng các chuẩn an toàn.
Do không có công cụ quản lý, kiểm tra và điều khiển hệ thống trên hệ thống
máy tính.
Các tội phạm công nghệ cao là nguy hiểm nhất đối với hệ thống.
Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công:
Tấn công giả mạo: Giả dạng một chủ thể tin cậy để lấy cắp thông tin nhạy
cảm của người dùng.
Tấn công chuyển tiếp: Một thông báo hoặc một phần thông báo được gửi
nhiều lần gây ra các tác động tiêu cực.
Tấn công sửa đổi thông báo: Bằng cách nào đó thông báo sẽ bị sửa đổi mà
không bị phát hiện.
Tấn công từ chối dịch vụ: Làm cho dùng hợp pháp sẽ không thể truy cập
được dữ liệu hay các ứng dụng trên mạng.
Tấn công từ bên trong hệ thống: Người dùng hợp pháp dùng vượt quá quyền
hạn của mình để thu thập thông tin trái phép.
Tấn công từ bên ngoài: Người dùng bất hợp pháp truy cập trái phép vào hệ
thống nhằm thu thập thông tin.
2.7.3. Những yêu cầu khi xây dựng một hệ thống cơ sở dữ liệu an toàn
Chính vì các yêu tố mất an toàn trên, đặt ra yêu cầu phải có một hệ thống đủ
mạnh để quản lý, cấp quyền truy cập cho từng cá nhân một cách hợp lý, chỉ có cá
nhân có đủ thẩm quyền mới được phép truy cập vào CSDL để tránh xâm nhập bất
hợp pháp vào hệ thống, thực hiện thao tác đọc dữ liệu, thêm, xóa, sửa dữ liệu trong
CSDL làm mất tính toàn vẹn của dữ liệu, có những thao tác mã hóa dữ liệu nhạy cảm
41
để tránh trường hợp nội dung dữ liệu bị lộ, sửa đổi trên đường truyền. Khi xây dựng
mô hình an toàn CSDL, mô hình cần thỏa mãn các yêu cầu sau:
Khả năng thích nghi của hệ thống: Các đặc tính an toàn cần phải làm việc
được trên mọi nền, các thiết bị phần cứng, phần mềm, tránh xảy ra xung đột với các
hệ thống khác.
Tính trong suốt: Khi thực hiện cài đặt chương trình vào hệ thống, chương
trình là trong suốt, việc thêm nó vào không làm cho các ứng dụng khác phải thay đổi
theo.
Khả năng mở rộng: Các môđun của chương trình ứng dụng nên được xây
dựng một cách độc lập với nhau, việc này thuận tiện cho việc sử dụng lại các môđun
khi có nhu cầu, đồng thời khi thực hiện một thay đổi trên môđun này không làm cho
các môđun khác phải thay đổi theo.
Dễ cài đặt: Các môđun an toàn có thể cài đặt trên các máy tính cá nhân hay
các máy chủ một cách dễ dàng mà không cần phải thực hiện bất kì thay đổi nào của
hệ thống.
Tính hiệu quả: Tính mật của hệ thống được nâng cao, tốc độ xử lý của hệ
thống là khả thi.
2.8. Kết luận chương 2
Trong chương này đã giới thiệu những kiến thức chung về mã hóa đối xứng, mã
hoá công khai và cơ chế mã hóa. Nêu ra các vấn đề an toàn trong dùng các hệ mã,
phân phối và sử dụng khóa. Tìm hiểu về xác thực thông tin, kỹ thuật băm, chữ ký số
và một số kỹ thuật cơ bản được sử dụng.
42
CHƯƠNG 3
THỰC NGHIỆM MỘT SỐ GIẢI PHÁP AN TOÀN VÀ BẢO MẬT
CƠ SỞ DỮ LIỆU MYSQL ỨNG DỤNG CHO SỞ GIÁO DỤC VÀ ĐÀO
TẠO TỈNH QUẢNG NINH
3.1. Mục tiêu và giải pháp bảo mật cơ sở dữ liệu
3.1.1. Mục tiêu
Căn cứ vào mô hình truy xuất dữ liệu và các nguy cơ có thể gây mất an toàn
cho CSDL thì mô hình an toàn hệ thống CSDL đề xuất phải giải quyết các mục
tiêu sau:
1. Đảm bảo an toàn dữ liệu CSDL khi chuyển dữ liệu trên mạng.
2. Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác CSDL phục vụ tác
nghiệp.
3. Đảm bảo an toàn dữ liệu CSDL khi không phục vụ tác nghiệp.
3.1.2. Giải pháp
Hệ thống bảo mật CSDL hoạt động trên nguyên tắc kết hợp chặt chẽ giữa biện
pháp nghiệp vụ và các giải pháp kỹ thuật. Các biện pháp nghiệp vụ và giải pháp kỹ
thuật không được ảnh hưởng đến những khả năng khai thác CSDL. Với giải pháp kỹ
thuật cũng kết hợp nhiều phương pháp khác nhau để thu nhỏ dần không gian hiểm
họa đối với CSDL, tiến tới kiểm soát hoàn toàn các hiểm họa đối với CSDL. Việc
bảo vệ có thể thực hiện bằng nhiều lớp bảo vệ. Các biện pháp nghiệp vụ mang tính
chất hỗ trợ các giải pháp kỹ thuật.
Theo nguyên tắc phối hợp nhiều phương pháp khác nhau và chia thành nhiều
lớp. Các giải pháp kỹ thuật phải giải quyết cả hai mục tiêu: toàn vẹn dữ liệu và bảo
mật dữ liệu. Tính toàn vẹn dữ liệu nhằm chống lại tất cả những tấn công trái phép dẫn
tới sai lệnh dữ liệu cũng như từ chối dịch vụ. Bảo mật dữ liệu nhằm chống lại tất cả
43
những tấn công trái phép dẫn đến khám phá thông tin trong CSDL một cách bất hợp
pháp.
3.1.2.1. Các giải pháp kỹ thuật
Giải quyết bài toán “Đảm bảo an toàn dữ liệu CSDL khi chuyển dữ liệu trên
mạng”.
Do dữ liệu được truyền từ máy khách tới máy chủ và ngược lại cho nên có những
nguy cơ gặp phải:
Không chắc rằng việc trao đổi thông tin là đúng với đối tượng cần trao đổi.
Dữ liệu trên mạng có thể bị chặn, thay đổi và sửa đổi dữ liệu trước khi gửi
đến người nhận.
Để thực hiện được điều này thì ta áp dụng giao thức SSL để bảo vệ dữ liệu trong
quá trình trao đổi giữa tất cả các dich vụ. SSL sẽ giải quyết vấn đề xác thực các đối
tượng bằng cách cho phép một cách tùy chọn mỗi bên trao đổi để chắc chắn về định
danh của phía đối tác trong quá trình xác thực. Một khi các bên đã được xác thực thì
SSL sẽ cung cấp một kết nối mã hóa giữa hai bên để truyền bảo mật các thông điệp.
Việc mã hóa trong quá trình trao đổi thông tin giữa hai bên cung cấp sự riêng tư, bí
mật do đó giải quyết được vấn đề chặn bắt dữ liệu. Thuật toán mã hóa sử dụng bao
gồm các hàm băm mã hóa, nó đảm bảo rằng dữ liệu không bị thay đổi trong quá trình
truyền dẫn.
Ngoài ra, giao thức SSL còn đòi hỏi ứng dụng chủ phải được xác thực bằng một
đối tượng thứ 3 (CA) thông qua giấy chứng thực điện tử dựa trên mật mã công khai.
Giao thức SSL dựa trên hai nhóm giao thức là giao thức bắt tay và giao thức bản ghi.
Giao thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao
đổi thông tin hoặc dữ liệu. Giao thức bản ghi xác định khuôn dạng cho tiến hành mã
hóa và truyền tin hai chiều giữa hai đối tượng đó. SSL không phải là một giao thức
đơn lẻ, mà là một tập các thủ tục đã được chuẩn hóa để thực hiện các nhiệm vụ bảo
mật sau: xác thực máy chủ, xác thực máy trạm, mã hóa kết nối.
44
Kiểm soát quá trình trao đổi dữ liệu trên mạng: Đảm bảo kiểm soát được các
điểm kết nối tham gia vào quá trình trao đổi dữ liệu và tránh tình trạng các kết nối
không kiểm soát được. Khi tiến hành tra đổi dữ liệu thì toàn bộ trao đổi phải được
bảo mật, thức là mã hóa dữ liệu trước khi trao đổi. Cách trao đổi được giải quyết bằng
cách:
Không sử dụng lại tiến trình trao đổi của hệ thống mà viết lại để có thể kiểm
soát và có thể đưa kỹ thuật bảo mật vào quá trình trao đổi.
Bảo mật dữ liệu trong suốt quá trình trao đổi dữ liệu từ nút tới nút, tức là dữ
liệu trao đổi trước khi chuyển lên kênh truyền thì sẽ được mã hóa.
Dòng dữ liệu trao đổi trên kênh giữa hai nút A và B được thực hiện trong sơ đồ
sau:
Hình 3.1: Dòng dữ liệu trao đổi giữa hai nút
Giải quyết bài toán “Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác
CSDL phục vụ tác nghiệp”
Trong DBMS có nhiều CSDL và người dùng, do đó việc phân quyền hạn cho
những người dùng này là rất quan trọng nhằm tránh việc lạm dụng quyền hạn, truy
cập CSDL trái phép, sửa đổi thông tin... Do đó, để hạn chế tối đa những nguy cơ mất
an toàn này thì thứ nhất cần có biện pháp phân quyền truy cập: tùy theo vai trò khác
nhau của người dùng mà họ có những quyền hạn khác nhau để khai thác CSDL, ví
dụ một số người chỉ có quyền đọc, xem, trong khi đó một số người lại có quyền chỉnh
45
sửa... Các đối tượng trên muốn truy cập vào hệ thống thì cần phải xác thực trước khi
vào. Thông tin xác thực bao gồm tên đăng nhập và mật khẩu, dựa vào các thông tin
này thì DBMS sẽ thực hiện việc xác nhận và sẽ cho phép hay từ chối vào quyền truy
cập CSDL. Trong một số trường hợp thì đối với người có cấp cao thì cơ chế nhận
dạng sẽ phức tạp hơn.
Ngoài ra, để đảm bảo thông tin xác thực thì DBMS cũng cung cấp cơ chế thay
đổi mật khẩu để tăng cường khả năng an toàn cho mật khẩu. Một vấn đề cũng cần
chú ý nữa là các thông tin trong CSDL cũng cần có biện pháp bảo vệ, bởi vì nếu
chẳng may có kẻ xâm nhập vào DBMS thì chúng dễ dàng xem được các thông tin
quan trọng.
Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác CSDL phục vụ tác nghiệp
nhằm chống lại các tấn công trực tiếp vào CSDL qua môi trường hệ quản trị CSDL.
Bài toán được giải quyết theo các hướng sau:
Phân hoạch CSDL:
Tùy theo mức độ quan trọng của dữ liệu mà CSDL nên được phân hoạch theo
chiều ngang. Với mỗi phân hoạch hệ thống an toàn sẽ thực hiện một chiến lược bảo
mật riêng theo yêu cầu bảo mật của dữ liệu. Với phần CSDL lưu trữ thông tin quan
trọng yêu cầu độ mật cao thì luôn lưu giữ ở dạng mã hóa toàn bộ CSDL còn những
phần CSDL lưu trữ thông tin ít nhạy cảm thì chỉ cần bảo đảm tính xác thực toàn vẹn
dữ liệu. Việc khai thác trên phần CSDL này chỉ có thể tiến hành qua phần giao diện
ứng dụng chỉ người làm việc thích hợp mới có thể chuyển CSDL về trạng thái sẵn
sàng phục vụ và khi kết thúc công việc CSDL lại được chuyển về trạng thái an toàn.
Mã hóa các trường hợp dữ liệu quan trọng:
Các dữ liệu trong CSDL có mức độ quan trọng là không giống nhau, có những
dữ liệu cần phải bảo mật trong khi có những dữ liệu chỉ cần đảm bảo tính toàn vẹn và
xác thực, việc CSDL cần được bảo mật được xác định bởi người có thẩm quyền. Các
thông tin có độ mật cao luôn được lưu trữ ở dạng mã hóa, những thông tin này chỉ
được giải mã ở tầng giao diện người dùng và chỉ có những thông tin thỏa mãn yêu
46
cầu của người dùng và trong thẩm quyền được phép của người dùng mới được giải
mã.
Kiểm soát các luồng dữ liệu:
Kiểm soát chuyển thông tin giữa các mức có những mức bảo mật khác nhau. Có
hai kiểu chính sách kiểm soát thông tin trong các hệ quản trị CSDL để phục vụ cho
bảo vệ CSDL là: Chính sách tùy ý và chính sách bắt buộc.
Kiểm soát người dùng CSDL:
Có hai mức kiểm soát quy định bởi người quản trị CSDL và quy định bởi hệ
thống an ninh cơ sở dữ liệu người dùng CSDL, để truy cập vào CSDL người dùng
cần phải vượt qua hai mức kiểm soát trên.
Mô hình có thể được thể hiện như sau:
Hình 3.2: Mô hình khai thác CSDL được bảo mật
Giải quyết bài toán “Đảm bảo an toàn dữ liệu CSDL khi không phục vụ tác
nghiệp”
Môi trường hệ điều hành là nơi DBMS được cài đặt trên đó cho nên việc có kẻ
xâm nhập được vào hệ thống qua hệ điều hành thì chúng có thể có các biện pháp tấn
công, trộm cắp, khai thác thông tin qua việc cài virus, hay các phương tiện phục vụ
cho việc khai thác thông tin, để từ đó chúng có thể đánh cắp được thông tin CSDL,
47
thông tin đăng nhập vào DBMS... Do vậy việc bảo vệ CSDL qua môi trường hệ điều
hành là việc rất quan trọng. Có một số biện pháp như cần phải phân quyền hạn như
quyền truy cập máy chủ, bảo trì hệ thống. Quyền chạy các chương trình ứng dụng
trên hệ điều hành.
Ngoài ra vấn đề cần chú ý là khi không phục vụ tác nghiệp thì dữ liệu quan
trọng trong CSDL sẽ ở trạng thái lưu trữ. Ở trạng thái này thì ngoài những trường
quan trọng thì toàn bộ CSDL được mã hóa. Hệ mật phục vụ cho mã hóa cũng là sự
kết hợp giữa mã đối xứng và mã công khai đảm bảo người dùng hợp pháp có thể
chuyển CSDL về trạng thái sẵn sàng phục vụ do đó ngăn chặn được những tấn công
qua đường hệ điều hành vào CSDL chứa những dữ liệu có độ bảo mật cao.
3.1.2.2. Thiết kế hệ mật
Hệ mật được sử dụng để bảo vệ dữ liệu cho hệ thống CSDL trong mô hình bảo
mật đề xuất được dựa trên hai hệ mật cơ bản:
Hệ mật khóa công khai: Sử dụng để phục vụ cho phân phối khóa phiên cho
các phiên làm việc, xác thực người sử dụng và dữ liệu.
Hệ mật khóa đối xứng: Được sử dụng để mã hóa dữ liệu.
Hai hệ mật này được kết hợp với nhau để tạo ra các hệ mật cụ thể phục vụ cho
các mục tiêu an toàn khác nhau như đã trình bày trong phần trước.
3.1.2.3. Sử dụng hệ thống quản lý và phân phối khóa
Hệ thống bảo mật sử dụng hai hệ mật để đảm bảo an toàn là hệ mật khóa công
khai và hệ mật khóa đối xứng. Hệ mật khóa công khai được sử dụng để phục vụ cho
phân phối khóa phiên cho các phiên làm việc, xác thực người sử dụng và dữ liệu.
Để giải quyết bài toán quản lý và phân phối hệ thống bảo mật ứng dụng cơ sở
hạ tầng khóa công khai (PKI). Hệ thống cấp phát chứng chỉ làm việc như sau: Một
CA phát hành các chứng chỉ cho người tham gia hệ thống CSDL nắm giữ cặp khóa
công khai và khóa riêng. Mỗi chứng chỉ gồm có một khóa công khai và thông tin
48
dùng để nhận dạng duy nhất chủ thể của chứng chỉ. Các chứng chỉ CA kí bằng khóa
riêng của CA.
Một khi các chứng chỉ được thiết lập, nếu người dùng cần khóa công khai của
một đối tượng khác trong hệ thống CSDL, anh ta có thể lấy được khóa công khai của
đối tượng đó bằng cách lấy một bản sao chứng chỉ của thuê bao, lấy ra khóa công
khai, kiểm tra chữ ký của CA có trên chứng chỉ bằng cách sử dụng khóa công khai
của CA.
Nếu một đối tượng muốn làm giả một chứng chỉ để truy cập trái phép vào hệ
thống CSDL khi chứng chỉ này đang được phát hành cho những người sử dụng khóa
công khai, anh ta sẽ bị những người này phát hiện ra việc làm giả, bởi vì chữ ký số
của CA được kiểm tra chính xác. Khi sử dụng chứng chỉ số trong hệ thống bảo mật
an toàn cho CSDL, các cặp khóa của người dùng và khóa công khai của CA sẽ được
lưu trữ trên thiết bị lưu trữ an toàn, nhỏ gọn.
Với cách phân phối khóa như vậy sẽ giúp thuận lợi hơn rất nhiều cho việc quản
lý khóa và việc mở rộng hệ thống. Chúng ta đều biết phân phối khóa là một khâu hết
sức quan trọng trong bất kì một hệ thống mật nào. Có được một hệ thống phân phối
khóa tốt cũng đồng nghĩa với việc nâng cao hiệu quả và độ tin cậy hệ thống mật áp
dụng ở đây.
3.1.2.4. Giải pháp bảo mật trong khâu tác nghiệp
Đây là phần hết sức quan trọng không thể thiếu được trong hệ thống bảo đảm
an toàn cho CSDL. Cùng với những giải pháp kỹ thuật, các biện pháp nghiệp vụ sẽ
tăng độ an toàn cho hệ thống CSDL. Sau đây là một số biện pháp nghiệp vụ sẽ được
triển khai trong hệ thống an toàn cho CSDL.
Quy định khai thác CSDL, bảo vệ máy chủ lưu trữ CSDL.
Quy định về nhiệm vụ quản lý khóa.
Quy định về tổ chức hệ thống thiết bị khai thác CSDL.
49
Quy định về trách nhiệm của người sử dụng khi khai thác CSDL. Quy định
rõ ràng ai được phép khi thác CSDL và khai thác đến mức nào.
Với những đối tượng khai thác các dữ liệu có độ mật cao phải hết sức tin cậy
và được quản lý chặt chẽ, phải ghi rõ nhật kí khai thác. Số lượng người khai thác
được tính toán hết sức cẩn thận.
Có các kỹ thuật nghiệp vụ bảo vệ môđun mật mã.
Có các nghiệp vụ bảo vệ các môđun chương trình.
Có các kỹ thuật nghiệp vụ bảo vệ các tham số người dùng trên các thiết bị
mang tin.
Về đối tượng sử dụng CSDL tại các mức khác nhau cũng rất khác nhau.
Hơn nữa, điều kiện bảo vệ ở các mức khác nhau cũng khác nhau. Do đó tùy từng
điều kiện cụ thể và tùy thuộc vào mức độ cần bảo vệ của CSDL mà vận dụng
những biện pháp nghiệp vụ phù hợp tại mỗi khu vực. Đối với những hệ thống
CSDL nhạy cảm chứa nhiều dữ liệu quan trọng có thể cung cấp cho mỗi người sử
dụng một thẻ nghiệp vụ khai thác CSDL. Khi muốn khai thác CSDL, người sử
dụng phải trình thẻ thì mới được phép truy cập hệ thống sau đó mới tiến hành
những mức kiểm tra tiếp theo.
3.2. Giải pháp bảo mật CSDL trong hệ quản trị CSDL MySQL
3.2.1. Giới thiệu
MySQL Server là một hệ quản trị CSDL quan hệ mã nguồn mở phổ biến nhất
hiện nay, được phát triển, phân chia, hỗ trợ bởi MySQL AB. MySQL Server nhanh,
đáng tin cậy, dễ sử dụng, chạy trên mọi nền, dễ dàng cấu hình và miễn phí nhưng vẫn
là một DBMS rất an toàn. Các tính năng của MySQL Server đang được bổ sung dần
qua từng phiên bản. MySQL là giải pháp cơ sở dữ liệu tốt nhất cho các website.
Một số đặc điểm của MySQL [7]:
50
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương
với SQL Server của Microsoft).
MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng
quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được
quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user
name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu
của tài khoản có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không làm được
gì cả.
3.2.2. Vấn đề bảo mật trong MySQL
Bảo mật CSDL là một yếu tố cần thiết trong bất kì hệ thống CSDL nào. Bảo
mật là bảo vệ dữ liệu chống lại các cracker, đồng thời cũng bảo vệ dữ liệu từ người
dùng.
Ví dụ người dùng có thể xóa, sửa, xem hoặc thêm những bản ghi mà họ không
được phép. Để tránh những tình trạng này, người quản trị có thể tạo nên một cơ chế
bảo mật trên CSDL để ngăn chặn các thao tác mà người dùng không được phép thao
tác trên CSDL. Bảo mật đóng vai trò chính trong bất kì ứng dụng nào mà người dùng
có thể truy cập vào ít nhất một lần. Cơ chế bảo mật của hệ quản trị CSDL MySQL rất
tốt, là một trong hệ quản trị CSDL an toàn hiện nay. Cơ chế bảo mật của hệ quản trị
CSDL MySQL bao gồm các lĩnh vực chính [3]:
Bảo mật trong môi trường mạng.
Bảo mật tại chỗ.
Các biện pháp tác nghiệp.
3.2.2.1. Bảo mật trong môi trường mạng
Các phiên bản gần đây của MySQL Server hỗ trợ cho các kết nối an toàn giữa
các MySQL Client và Server dùng giao thức SSL. Mặc định, MySQL Server dùng
51
các kết nối giải mã giữa Client và Server. Điều này có nghĩa là một người dùng khi
truy cập vào mạng có thể biết được mọi hoạt động của người dùng và thấy được tất
cả dữ liệu đang được nhận hay gửi đi. Thậm chí họ có thể thay đổi dữ liệu trên đường
truyền. Chính vì vậy giao thức SSL và chuẩn X.509 được sử dụng để mã hóa dữ liệu
và xác thực người dùng trong MySQL Server để đảm bảo tính toàn vẹn và bí mật của
CSDL.
Để sử dụng giao thức SSL kết nối giữa máy trạm và máy chủ hệ thống phải cung
cấp thêm thư viện OpenSSL và yaSSL phù hợp với phiên bản MySQL Server có hỗ
trợ SSL... Giao thức SSL được phát triển bởi Netscape, giao thức SSL đã được sử
dụng rộng rãi trên mạng Internet trong việc xác thực và mã hóa thông tin giữa máy
trạm và máy chủ. SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục
đã được chuẩn hóa để thực hiện các nhiệm vụ bảo mật sau:
Xác thực máy chủ:
Máy khách sẽ xác thực có đúng là máy chủ cần kết nối hay không. Các kỹ thuật
mã hóa công khai được duyệt sử dụng để chắc chắn rằng chứng chỉ và khóa công
cộng của máy chủ là có giá trị và được cấp phát bởi một CA trong danh sách các CA
đáng tin cậy của máy trạm.
Xác thực máy trạm:
Máy chủ sẽ xác thực có đúng là máy khách muốn kết nối hay không. Phía máy
chủ cũng sử dụng các kỹ thuật mã hóa công khai để kiểm tra xem chứng chỉ và khóa
công cộng máy trạm có giá trị hay không và được cấp phát bởi một CA trong danh
sách các CA đáng tin cậy không.
Mã hóa kết nối:
Để bảo mật thông tin trao đổi giữa máy chủ và máy trạm thì thông tin sẽ được
mã hóa bằng các thuật toán mã hóa mà SSL hỗ trợ. Các dữ liệu gửi đi trên một kết
nối SSL đã được mã hóa còn được bảo vệ nhờ cơ chế tự động phát hiện xáo trộn, thay
đổi dữ liệu đó là các thuật toán băm.
52
Giao thức SSL hoạt động dựa trên hai nhóm giao thức con là giao thức “bắt tay”
và giao thức “bản ghi”. Giao thức bắt tay xác định các tham số giao dịch giữa hai đối
tượng có nhu cầu trao đổi thông tin hoặc dữ liệu, còn giao thức bản ghi xác định
khuôn dạng cho tiến hành mã hóa và truyền tin hai chiều giữa hai đối tượng đó. Giao
thức SSL “bắt tay” sẽ sử dụng SSL “bản ghi” để trao đổi một số thông tin giữa máy
chủ và máy trạm vào lần đầu tiên thiết lập kết nối SSL. Một giao dịch SSL thường
bắt đầu bởi quá trình “bắt tay” giữa hai bên.
Các giai đoạn trong quá trình “bắt tay” có thể như sau:
Hình 3.3: Giao thức bắt tay của SSL
Giai đoạn 1: Thiết lập khả năng bảo mật
Giai đoạn này được sử dụng để thiết lập kết nối vật lý và khả năng bảo mật sẽ
được liên kết với nó. Việc trao đổi được khởi tạo bằng máy khách bằng việc gửi một
53
thông điệp cho máy chủ với những thông số sau: phiên bản SSL mới nhất mà máy
khách biết, dữ liệu được sinh ra ngẫu nhiên, những thuật toán mã hóa, phương thức
nén mà máy khách được hỗ trợ. Sau đó máy khách chờ thông điệp được gửi từ máy
chủ có chứ thông điệp giống với thông điệp máy khách gửi và những thỏa thuận kèm
theo.
Giai đoạn 2: Xác thực máy chủ và trao đổi khóa
Giai đoạn này máy chủ gửi chứng chỉ đến máy trạm, thông điệp chứa một hoặc
một chuỗi chứng thực X.509. Sau đó là một thông điệp trao đổi khóa từ máy chủ nếu
nó được yêu cầu. Yêu cầu chứng chỉ từ máy khách nếu có yêu cầu. Chứng thư số ở
giai đoạn này chỉ ra giải thuật khóa công khai và danh sách các CA được chấp nhận.
Giai đoạn 3: Xác thực máy khách và trao đổi khóa
Máy khách xác nhận xem máy chủ cung cấp chứng chỉ hợp lệ hay chưa, nếu
được yêu cầu và kiểm tra các thông số từ thông điệp máy chủ gửi tới được chấp nhận
hay không. Nếu thỏa mãn máy khác gửi một hoặc nhiều thông điệp trở lại cho máy
chủ. Nếu máy chủ yêu cầu chứng chỉ thì máy khách bắt đầu giai đoạn này bằng cách
gửi một thông điệp chứng chỉ. Nếu không có chứng chỉ phù hợp máy khách gửi thông
điệp không có chứng chỉ thay thế. Tiếp theo máy khác gửi thông điệp trao đổi khóa,
nội dung thông điệp phụ thuộc vào kiểu trao đổi khóa. Cuối cùng, trong giai đoạn này
máy khách gửi một thông điệp để xác thực tường minh của một thông điệp máy khách.
Giai đoạn 4: Kết thúc
Giai đoạn này hoàn thành thiết lập một kết nối an toàn, máy khách gửi thông
điệp theo giải thuật mới với các khóa và các bí mật. Thông điệp kết thúc xác minh
xem quá trình trao đổi khóa và xác thực có thành công hay không.
Thuật toán mã hóa xác t
Các file đính kèm theo tài liệu này:
- luan_van_nghien_cuu_mot_so_giai_phap_an_toan_va_bao_mat_co_s.pdf