ĐẠ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

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ỉ http://qlth.quangninh.edu.vn 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 có các loại điểm: điểm kiểm tra thường xuyên,

điểm kiểm tra định kì và điểm kiểm tra học kỳ. Số lượng con điểm tùy thuộc vào từng

bộ môn và do giáo viên bộ môn quản lý.

 Mỗi lớp có một giáo viên chủ nhiệm. Giáo viên chủ nhiệm có trách nhiệm

quản lý kỷ luật của từng học sinh trong lớp. Cuối mỗi học kỳ giáo viên chủ nhiệm sẽ

nhận xét, đánh giá hạnh kiểm, giáo viên chủ nhiệm sẽ thông báo kết quả học tập cả

học kỳ cho học sinh.

 Sau mỗi học kỳ, giáo viên chủ nhiệm và giáo viên bộ môn sẽ nhập điểm cho

học sinh mình phụ trách dạy. Các giáo viên có quyền cập nhật điểm (thêm, sửa, xóa

điểm) trong thời gian qui định.

 Ngoài ra giáo viên có thể thống kê kết quả học kỳ theo lớp, theo môn và kết

quả cả năm theo lớp, theo môn. Điểm tổng kết môn học được làm tròn đến chữ số

thập phân thứ nhất.

 Người quản lý sẽ quản lý việc nhập điểm của học sinh từ các giáo viên, quản

lý người dùng. Ngoài ra, người quản lý sẽ tiếp nhận học sinh mới, lập bảng phân lớp

và lập bảng phân công giáo viên. Hệ thống quản lý học sinh dựa vào họ tên, lớp, ngày

sinh, địa chỉ.

Cách tính điểm được áp dụng:

a) Điểm trung bình môn học kỳ (ĐTBmhk) là trung bình cộng của điểm các bài KTtx,

KTđk và KThk với các hệ số quy định tại Điểm a, Khoản 3, Điều 7 Quy chế này:

TĐKTtx + 2 x TĐKTđk + 3 x ĐKThk ĐTBmhk =

Số bài KTtx + 2 x Số bài KTđk + 3

- TĐKTtx: Tổng điểm của các bài KTtx

- TĐKTđk: Tổng điểm của các bài KTđk

- ĐKThk: Điểm bài KThk

b) Điểm trung bình môn cả năm (ĐTBmcn) là trung bình cộng của ĐTBmhkI với

ĐTBmhkII, trong đó ĐTBmhkII tính hệ số 2:

14

ĐTBmhkI + 2 x ĐTBmhkII ĐTBmcn = 3

c) ĐTBmhk và ĐTBmcn là số nguyên hoặc số thập phân được lấy đến chữ số thập

phân thứ nhất sau khi làm tròn số.

Tiêu chuẩn xét học lực của học sinh:

 Loại giỏi:

1. Điểm trung bình các môn từ 8,0 trở lên trong đó điểm trung bình của một

trong hai môn toán và ngữ văn phải từ 8,0 trở lên.

2. Không có môn học nào tổng kết dưới 6,5.

3. Các môn học đánh giá bằng hình thức đạt hay không đạt thì phải Đạt.

 Loại Tiên Tiến:

1. Điểm trung bình các môn từ 6,5 trở lên, trong đó điểm trung bình của 1 trong

2 môn toán và ngữ văn từ 6,5 trở lên.

2. Không có môn học nào điểm trung bình dưới 5,0.

3. Các môn học đánh giá bằng hình thức đạt hay không đạt thì phải đạt.

 Loại trung bình:

1. Điểm trung bình các môn học từ 5 trở lên, trong đó điểm trung bình của 1

trong 2 môn toán và ngữ văn phải trên 5,0.

2. Không có môn học nào điểm trung bình dưới 3,5.

3. Các môn học đánh giá bằng hình thức đạt hay không đạt phải Đạt.

 Loại yếu:

1. Điểm trung bình các môn học từ 3,5 trở lên, không có môn học nào trung

bình dưới 2.

Tiêu chuẩn xét lên lớp:

 Cho lên lớp thẳng với những học sinh có đủ điều kiện sau:

1. Nghỉ học không quá 45 ngày/1 năm.

2. Được xếp loại học lực và hành kiểm của cả năm từ trung bình trở lên.

15

 Không được lên lớp với khi học sinh vi phạm 1 trong những điều sau đây:

1. Nghỉ học quá 45 ngày/ 1 năm.

2. Có học lực và hạnh kiểm vcar năm xếp loại yếu.

 Thi lại: những học sinh có tổng điểm cả năm dưới 5,0 phải thi lại 1 trong 2

môn toán và văn.

d) Hiện tại hệ thống hội nghị trực tuyến (công nghệ video conferencing) đã

được triển khai từ Sở đến tất cả các phòng GDĐT. Hàng tháng, Sở GDĐT đều tổ

chức giao ban trực tuyến tới toàn bộ các phòng GDĐT và các trường THPT trên toàn

tỉnh.

e) Hệ thống cổng thông tin điện tử, thư điện tử theo tên miền riêng đã được triển

khai và hoạt động ổn định tại Sở và các phòng GDĐT từ năm 2012. Dự kiến trong

năm 2020, toàn bộ hệ thống cổng thông tin điện tử ngành GDĐT trong toàn tỉnh sẽ

được đầu tư xây mới.

g) Công tác thực hiện tổ chức thi, cấp chứng chỉ ứng dụng CNTT trên địa bàn

theo Thông tư liên tịch số 17/2016/TTLT-BGDĐT-BTTTT ngày 21/6/2016 sát các

cơ sở đào tạo, trung tâm sát hạch được quản lý, kiểm tra, giám sát chặt chẽ. Toàn bộ

các kỳ thi đều được phê duyệt bằng văn bản, được giám sát bằng cán bộ của Sở GDĐT

và Sở TTTT.

Hiện tại, Sở GDĐT đang tham mưu Ủy ban nhân dân tỉnh phê duyệt dự án Xây

dựng hệ thống quản lý giáo dục thông minh với mục tiêu triển khai các giải pháp

mang tính đồng bộ (bao gồm kho học liệu số, bài giảng e-learning, phần mềm thiết

kế bài giảng điện tử, phần mềm mô phỏng, thí nghiệm ảo và phần mềm dạy học) liên

kết với phần mềm quản lý trường học, cơ sở dữ liệu giáo dục của tỉnh và cả nước.

1.6. Kết luận chương 1

Chương này nhằm giới thiệu một cách tổng quan về an toàn thông tin trong cơ

sở dữ liệu. Nội dung của chương đã trình bày tổng quan và chi tiết về các vấn đề:

 Khái niệm cơ bản về CSDL.

16

 Vấn đề an toàn trong CSDL trong đó đã đưa ra được các nguy cơ, hiểm họa

hiện nay đối với cơ sở dữ liệu và yêu cầu bảo vệ cơ sở dữ liệu.

 Các phương pháp kiểm soát an toàn để bảo vệ CSDL.

 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.

17

CHƯƠNG 2

LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ SỞ DỮ LIỆU

2.1. Giới thiệu về lý thuyết mật mã

Có thể nói rằng, thời đại hiện nay là thời đại của công nghệ thông tin, trong đó

thông tin được lưu trữ các máy tính rất phổ biến, các thông tin này được trao đổi qua

mạng internet và lưu trữ trong CSDL…, chính vì thế khả năng dữ liệu bị đánh cắp, bị

thay đổi và bị chỉnh sửa trái phép khi truyền thông là không thể tránh khỏi.

Do đó, đặt ra vấn đề đảm bảo tính bí mật, toàn vẹn của dữ liệu trên đường truyền

hoặc trong các CSDL, mã hóa dữ liệu là phương pháp chính trong việc bảo vệ dữ

liệu. Thực chất, mã hóa là quá trình biến đổi thông tin ban đầu sang một dạng khác

gọi là bản mã.

Một hệ thống mã hóa bao gồm những thành phần sau:

 PlainText: Là bản tin sẽ được mã hóa hay bản tin gốc.

 CipherText: Là bản tin đã được mã hóa hay bản tin mã.

 Thuật toán mã hóa và giải mã.

 Encryption: Là quá trình chuyển bản tin gốc thành bản tin dạng mật mã.

 Decryption: Là quá trình chuyển bản tin dạng mật mã thành bản tin gốc.

 Cách chọn khóa: Giá trị toán học dùng để thực hiện mã hóa.

Có nhiều phương pháp mã hóa đã được đưa ra dựa trên các giải thuật phức tạp,

để tạo ra sự khó khăn cho những người nào đó muốn phá mật mã mà không cần có

khóa. Sự khó khăn ở trên là theo lý thuyết, tuy nhiên những kẻ tấn công vẫn có thể

dò tìm được khoá. Nếu thời gian để những kẻ tấn công dò tìm được khoá đủ lớn hoặc

cho đến khi thì dữ liệu không còn giá trị nữa thì đó là một mức độ an toàn tốt.

18

2.2. Mã hóa bằng khóa bí mật

Các hệ thống mã hóa bằng khóa bí mật còn được gọi là mã hóa bằng khóa riêng

hay mã hóa bằng khóa đối xứng, mã hóa khóa đối xứng sử dụng duy nhất một khóa

cho cả quá trình mã hóa lẫn giải mã.

Một số thuật toán hiện đang được sử dụng rộng rãi hiện nay như: DES, Triple

DES, RC6, Rijndael (AES)…

Quá trình mã hóa và giải mã bằng khóa bí mật được minh họa trong Hình 2.1

Hình 2.1: Mã hóa bằng khóa bí mật

2.2.1. Khái niệm

Mã hóa khóa bí mật là thuật toán mà tại đó khóa mã hóa có thể tính toán ra được

từ khóa giải mã. Trong rất nhiều trường hợp, khóa mã hóa và khóa giải mã là giống

nhau. Thuật toán này yêu cầu người gửi và người nhận phải thỏa thuận một khóa

trước khi thông báo được gửi đi, khóa này phải được cất giữ bí mật. Độ an toàn của

thuật toán này phục thuộc vào khóa, nếu để lộ ra khóa này nghĩa là bất kì người nào

cũng có thể mã hóa và giải mã thông báo trong hệ thống mã hóa.

2.2.2. Ưu khuyết điểm

Ưu điểm của phương pháp mã hoá bằng khoá bí mật là thời gian mã hoá nhanh,

sử dụng đơn giản chỉ cần dùng một khóa cho hai quá trình mã hóa và giải mã, tuy

nhiên phương pháp này có nhược điểm là hệ thống sẽ không an toàn nếu khóa bị lộ

với xác suất cao, do đó trong hệ này khóa phải được gửi đi trên kênh an toàn. Điều

19

này làm phức tạp cho hệ thống khi cài đặt và không thể cho phép tạo ra chữ ký điện

tử.

2.2.3. Cơ chế mã hóa khóa bí mật

2.2.3.1. Cơ chế mã hóa AES

AES là thuật toán mã hóa khối được chính phủ Hoa Hỳ áp dụng làm chuẩn mã

hóa từ năm 2001. AES có thể 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ớ. Nó sử dụng một kích thước khối 128-

bit và kích thước khóa 128, 192, hoặc 256 bit. Hình 2.2 minh họa tiến trình mã hoá

AES.

Để mã hóa khối dữ liệu bằng AES thì đầu tiên, tiến hành thao tác:

Add Round Key (thao tác XOR một khóa con với khối dữ liệu). Tiếp theo thì

thực hiện một số vòng lặp chính, số vòng lặp chính trong Rijdael như sau:

 Là 9 vòng nếu cả khối cùng mã hóa và khóa có cùng chiều dài là 128 bit.

 Là 11 vòng nếu hoặc khối dữ liệu hay khóa là 192 bit và không có cái nào có

kích thước lớn hơn 192 bit.

 Là 13 vòng nếu hoặc khối dữ liệu hay khóa có chiều dài là 256 bit.

Vòng lặp chính bao gồm những bước sau:

 SubByte (Substitution Byte): Mỗi byte của khối được thay thế bằng một giá

trị khi qua một hộp S-box.

 ShiftRow (Shift Rows): Là quá trình chuyển đổi các dòng.

 MixColumn (Multiply Colunms): Thực hiện quá trình nhân ma trận, mỗi cột

được nhân với một ma trận kích thước 4x4.

 AddRoundKey (Xored By Key): Quá trình này chỉ là việc XOR khóa con và

cho kết quả của vòng hiện hành.

Vòng cuối cùng chỉ thi hành việc chuyển đổi:

 SubByte.

20

 ShiftRow.

 AddRoundKey.

Hình 2.2: Tiến trình mã hoá AES

21

2.2.3.2. Phân phối khóa bí mật

Vấn đề an toàn trong dùng khóa đối xứng là vấn đề rất quan trọng vì khóa yêu

cầu giữ bí mật tuyệt đối, nếu khóa bị lộ coi như toàn bộ thông tin bị lộ. An toàn trong

dùng khóa đối xứng liên quan mật thiết tới vấn đề phân phối khóa. Sơ đồ khóa đối

xứng đòi hỏi cả hai đối tác chia sẻ khóa bí mật chung.

Với hai đối tác A và B cần thực hiện chia sẻ thông tin thì có cách phân phối

khóa bí mật như sau:

 A lựa chọn khóa bí mật và truyền cho B.

 Đối tác thứ ba chọn khóa và phân phối cho A và B.

 A và B có thể thống nhất dùng khóa trước để mã khóa mới.

 A và B trao đổi với một đối tác thứ ba C và C chuyển tiếp giữa A và B.

Phân loại khóa: Có hai loại chính là khóa phiên và khóa chính.

- 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

cho một phiên logic sau đó bị hủy.

- Khóa chính: Là khóa dùng để mã hóa các khóa phiên chia sẻ giữa người dùng

và trung tâm phân phối khóa.

2.3. Mã hóa bằng khóa công khai

2.3.1. Khái niệm

Mã hóa bằng khóa công khai hay còn được gọi là mã hóa khóa bất đối xứng hay

mã hóa bằng khóa chung. Hệ thống mã hóa bằng khóa công khai sử dụng hai khóa

khác nhau để mã hóa và giải mã: một khóa dành cho người mã hóa thường được công

khai và khóa còn lại dùng cho người giải mã và được giữ bí mật. Như vậy thì hệ thống

mã hóa sử dụng khóa công khai cần có một quá trình sinh ra hai khóa để mã hóa và

giải mã thông điệp và các khóa này được xem như một bộ đôi:

 Public-key (khóa công khai):

22

Là khóa được phép công khai mà không phải chịu bất kì một rủi ro nào về an

toàn, khóa này được dùng để mã hóa dữ liệu.

 Private-key (khóa bí mật):

Là khóa để giải mã và được giữ bí mật, mỗi một dữ liệu được mã hóa bằng khóa

công khai thì chỉ có thể giải mã được bằng một khóa bí mật thích hợp.

 Một số thuật toán mã hóa khóa công khai phổ biến như: RSA, Elgamal, …

Quá trình mã hóa và giải mã bằng cách sử dụng khóa công khai được minh họa

như hình sau:

Hình 2.3: Mã hóa bằng khóa công khai

2.3.2. Ưu khuyết điểm

Ưu điểm của phương pháp này là: Mặc dù kẻ tấn công biết thuật toán mã hóa

và khóa mã hóa cũng không thể xác định được khóa giải mã. Chức năng này đạt được

trên nguyên tắc sử dụng các hàm một chiều trong toán học khi tính hàm y= f(x) là

đơn giản nhưng ngược lại việc tính giá trị y khi đã biết x là rất khó khăn.

Điểm yếu lớn nhất của phương pháp mã hóa bằng khoá công khai là tốc độ mã

hóa và giải mã rất chậm so với mã hóa bí mật, nếu dùng mã hóa công khai để mã hóa

dữ liệu truyền - nhận giữa hai bên thì sẽ tốn rất nhiều chi phí.

2.3.3. Cơ chế mã hóa khóa công khai

2.3.3.1. Cơ chế mã hóa RSA

Thuật toán mã hóa RSA do ba nhà toán học là Ron Rivest, Adi Shamir và Len

Adlerman tại đại học MIT cùng thực hiện vào năm 1977 và được công bố vào năm

23

1978. Thuật toán được đặt tên là RSA (Rivest - Shamir - Adlerman) được thiết kế

theo hệ mã hóa khóa công khai.

Sự khác biệt cơ bản giữa một hệ mã hóa khóa bí mật với một hệ mã hóa khóa

công khai đó là hệ mã hóa khóa công khai sử dụng hai khóa khác nhau để mã hóa và

giải mã. Mặc dù hai khóa này thực hiện các thao tác ngược nhau và có liên quan đến

nhau, nhưng phải làm thế nào đó để không thể suy ra khóa bí mật từ khóa công khai.

Các bước thực hiện của thuật toán RSA được minh họa trong Hình 2.4.

Hình 2.4: Các bước thực hiện của thuật toán RSA

Vấn đề cốt lõi của thuật toán RSA là hai số nguyên tố p và q, hai số này cần

phải được giữ bí mật tuyệt đối. Mặt khác, có thể tính toán được khóa bí mật D nếu

phân tích được n thành hai số nguyên tố p và q. Nhưng điều này là không khả thi vì

phải đối mặt với bài toán khó.

Định nghĩa các giá trị:

24

Sinh khóa:

 Chọn p, q là 2 số nguyên tố

 Tính n = p.q

 Tính Ø (n) = (p-1)(q-1)

 Chọn e: USCLN[e, Ø(n)] =1

 Tính d: d=e-1 mod Ø(n)

 Khóa công khai: KU={e,n}

 Khóa bí mật: KR={d,n}

Mã hóa: Bản tin gốc: P, bản mã: C=Pe(mod n)

Giải mã: Bản tin mã: C, bản giải mã: P=Cd(mod n)

Các hệ thống mã hóa khóa công khai khắc phục được nhược điểm phân phối

khóa phải được giữ một cách an toàn. Tuy nhiên thì khi công khai các khóa dùng để

mã hóa thì lại nảy sinh vấn đề một người nào đó giả danh sử dụng để mã hóa các

thông báo gửi đến bên nhận làm cho họ không thể phân biệt được thông báo đó là

hợp lệ hay không. Và có nhiều phương pháp giải quyết được vấn đề này, điển hình là

chữ ký số.

2.3.3.2. Phân phối khóa công khai

Các hệ mã công khai chúng ta đã biết yêu cầu mỗi người phải có một giá trị

công khai. Để phân phối các giá trị đó cho người dùng đảm bảo tính xác thực, ta có

thể sử dụng một trong các kỹ thuật sau:

Phân phối điểm - điểm trên kênh truyền tin cậy: Khóa công khai của các bên

thu được thông qua việc tra đổi trược tiếp với nhau trên mật kênh tin cậy. Phương

pháp này phù hợp với hệ thống không thường xuyên sử dụng hoặc hệ thống đóng

và nhỏ.

Truy nhập trực tiếp tới các tệp dùng chung: Sử dụng một cơ sở dữ liệu công

khai lưu trữ tên và khóa công khai được xác thực mỗi người dùng hệ thống. Truy cập

25

từ xa trên những kênh truyền công cộng có thể tránh được những tấn công bị động,

còn muốn chống lại những tấn công chủ động ta sử dụng những kênh truyền tin cậy.

Sử dụng phục vụ ủy quyền trực tuyến: Một phục vụ tin cậy cho phép các truy

nhập như khi truy nhập tới tệp dùng chung, khi các bên có nhu cầu khóa công khai,

nó sẽ được phục vụ gửi cho và chữ ký của phục vụ trên đó. Mỗi người sử dụng đều

có thể kiểm thử được chữ ký của phục vụ đó.

Sử dụng phục vụ ủy quyền ngoại tuyến và chứng chỉ: Phục vụ được gọi là CA

(ủy quyền chứng chỉ). Mỗi người sử dụng chỉ phải liên lạc với phục vụ một lần để

đăng ký khóa công khai của mình và nhận khóa kiểm thử chữ ký của CA. CA sẽ

chứng nhận khóa công khai của người sử dụng rồi rằng buộc giá trị này với xâu xác

định danh tính của người sử dụng, đó là nội dung chứng chỉ của người sử dụng.

2.4. Xác thực thông tin

Việc xác thực thông tin liên quan đến việc sau khi thông tin được truyền trên

mạng bao gồm có:

 Bảo vệ tính toàn vẹn của thông tin, tức là bảo vệ thông tin không bị thay đổi

hoặc có thể phát hiện ra nếu thông tin có sự thay đổi trên đường truyền.

 Kiểm chứng danh tính nguồn gốc thông tin, tức là kiểm tra xem thông tin có

đúng là người gửi hay bị kẻ khác mạo danh.

 Chống từ chối bản tin gốc, tức là bản thân thông tin có chứa định danh người

gửi và không ai có thể làm việc đó.

 Có thể bổ sung thêm việc bảo mật như mã hóa.

Do đó để đáp ứng được những yêu cầu đó thì có ba cách mã hóa được lựa chọn

là:

 Thông tin được mã hóa bằng khóa đối xứng hoặc công khai.

 Sử dụng mã xác thực bản tin, dùng khóa với hàm nén thông tin cần gửi để

nhận được một đặc trưng đính kèm với thông tin và người gửi đó.

26

 Sử dụng hàm băm nén thông tin thành dấu vân tay cho thông tin.

Yêu cầu bảo mật thông tin khi truyền thông tin trên mạng bao gồm có [4]: Giữ

bí mật thông tin, chỉ cho phép người có quyền biết nắm được thông tin đó, không cho

phép theo dõi hoặc cản trở việc truyền tin, tránh việc giả mạo lấy danh nghĩa của

người khác để truyền tin, ngăn chặn việc nội dung thông tin bị cắn xén và sửa đổi,

tránh việc thay đổi thứ tự bản tin truyền, chống chối cãi.

2.4.1. Bảo vệ tính toàn vẹn của thông tin

Đảm bảo tính toàn vẹn của thông tin, tức là thông tin chỉ được phép xóa hoặc

sửa bởi những đối tượng được phép và phải đảm bảo rằng thông tin vẫn còn chính

xác khi được lưu trữ hay truyền đi. Về điểm này, nhiều người thường hay nghĩ tính

toàn vẹn (integrity) đơn giản chỉ là đảm bảo thông tin không bị thay đổi (modify) là

chưa đẩy đủ [8].

Trong an toàn thông tin, toàn vẹn có nghĩa rằng dữ liệu không thể bị chỉnh sửa

mà không bị phát hiện. Nó khác với tính toàn vẹn trong tham chiếu của cơ sở dữ liệu,

mặc dù nó có thể được xem như là một trường hợp đặc biệt của tính nhất quán như

được hiểu trong hô hình cổ điển ACID (tính nguyên tử (Atomicity), tính nhất quán

(Consistency), tính tính cách ly (Isolation), tính lâu bền (Durability) - là một tập các

thuộc tính đảm bảo rằng cơ sở dữ liệu đáng tin cậy) của xử lý giao dịch. Tính toàn

vẹn bị xâm phạm khi một thông điệp bị chỉnh sửa trong giao dịch. Hệ thống thông tin

an toàn luôn cung cấp các thông điệp toàn vẹn và bí mật [5].

Ngoài ra, một giải pháp toàn vẹn dữ liệu (data integrity) có thể bao gồm thêm

việc xác thực nguồn gốc của thông tin này (thuộc sở hữu của đối tượng nào) để đảm

bảo thông tin đến từ một nguồn đáng tin cậy và ta gọi đó là tính xác thực

(Authenticity) của thông tin.

Sau đây là một số trường hợp tính toàn vẹn của thông tin bị phá vỡ:

 Thay đổi giao diện trang chủ của một website.

 Chặn đứng và thay đổi gói tin được gửi qua mạng.

27

 Chỉnh sửa trái phép các file được lưu trữ trên máy tính.

 Do có sự cố trên đường truyền mà tín hiệu bị nhiễu hoặc suy hao dẫn đến

thông tin bị sai lệch.

2.4.2. Kiểm chứng danh tính nguồn gốc thông tin

Xác thực nguồn gốc dữ liệu còn được gọi là xác thực thông báo, liên quan nhiều

tới nguyên vẹn dữ liệu. Tuy nhiên, đây là hai khái niệm khác nhau, chúng có thể được

phân biệt rõ ràng qua một số khía cạnh sau đây [2]:

 Thứ nhất, xác thực nguồn gốc dữ liệu gắn liền với liên lạc. Nó có mục đích

kiểm tra xem thông báo có phải đến từ nguồn đã khai báo hay không. Còn nguyên

vẹn dữ liệu không cần đến đặc tính liên lạc mà nó có thể được cung cấp ngay trên dữ

liệu lưu trữ.

 Thứ hai, xác thực nguồn gốc dữ liệu phải bao gồm sự nhận biết nguồn gốc

của thông báo, còn nguyên vẹn dữ liệu với tư cách là một dịch vụ an toàn có thể được

cung cấp, không cần nhận biết nguồn gốc thông báo.

 Thứ ba và có ý nghĩa hơn cả là xác thực nguồn gốc dữ liệu bao gồm sự thiết

lập “tính tươi” của thông báo trong khi đó nguyên vẹn dữ liệu lại không cần làm như

vậy: Một đoạn dữ liệu cũ cũng có thể có tính nguyên vẹn hoàn hảo.

 Trong dịch vụ xác thực nguồn gốc dữ liệu, bên nhận thông báo phải kiểm tra

xem thông báo này có đủ mới hay không (tức là khoảng thời gian giữa phát và thu

thông báo là đủ nhỏ). Thông báo mà bên nhận cho là mới thường được đề cập đến

như là một thông báo “tươi”. Việc đòi hỏi thông báo phải tươi có ý nghĩa phổ biến là,

thông báo tươi kéo theo sự đáp ứng tốt giữa những thực thể liên lạc và điều này có

thể suy luận đến tình huống ít khả năng hơn là khi những thực thể liên lạc, máy móc,

những hệ thống hay bản thân thông báo có thể đã bị phá hoại rồi.

Khoảng thời gian để xác định tính tươi của thông báo được xác định bởi các ứng

dụng cụ thể. Một số ứng dụng đòi hỏi khoảng thời gian đó dao động trong khoảng vài

giây. Một số ứng dụng cho phép chu kỳ tươi dài hơn. Chẳng hạn, thời gian sống

28

(lifetime) của séc ngân hàng là khoảng thời gian giữa ngày phát hành séc và ngày chi

trả séc. Đa số các ngân hàng cho phép khoảng thời gian ba tháng là thời gian sống

hợp lệ của séc.

Cuối cùng, cần chỉ ra rằng một sự xác nhận nặc danh nào đó được tạo bởi một

vài sơ đồ mật mã (ví dụ chữ ký mù) cũng giúp phân biệt rõ ràng giữa xác thực nguồn

gốc dữ liệu và nguyên vẹn dữ liệu. Người sử dụng được cấp một “giấy” xác nhận nặc

danh để chứng minh tư cách thành viên với hệ thống. Tại đây, bằng chứng về sự

nguyên vẹn dữ liệu có thể được trình diễn theo cách hợp lý, sống động, tuy nhiên

hành động của hệ thống nhằm nhận biết nguồn gốc dữ liệu sẽ bị ngăn chặn.

2.4.3. Chống từ chối bản tin gốc

Khi sử dụng một chứng chỉ số, người gửi phải chịu trách nhiệm hoàn toàn về

những thông tin mà chứng chỉ số đi kèm. Trong trường hợp người gửi chối cãi, phủ

nhận một thông tin nào đó không phải do mình gửi (chẳng hạn qua mạng) chứng

chỉ số mà người nhận có được sẽ là bằng chứng khẳng định người gửi là tác giả của

thông tin đó. Trong trường hợp chối bỏ, CA cung cấp chứng chỉ số cho hai bên sẽ

chịu trách nhiệm xác minh nguồn gốc thông tin, chứng tỏ nguồn gốc thông tin được

gửi [6].

Trong các ứng dụng, Chữ ký chống chối từ có tác dụng bảo vệ lợi ích riêng của

người ký. Nó bảo đảm cho việc chữ ký không bị bên nhận dùng sai mục đích, cũng

như những việc làm của bên nhận để thuyết phục người khác về sau này. Nó cũng

thuyết phục bên nhận rằng tất cả những người giữ Chữ ký chống chối từ đều có thể

yêu cầu sự hợp tác của người ký và người ký không thể trả lời sai vì họ luôn luôn

thuyết phục một người bất kì rằng một chữ ký tin cậy là đáng tin cậy và một chữ ký

không tin cậy là không tin cậy.

Ví dụ rõ ràng nhất về tác dụng của Chữ ký chống chối từ là chống sự sao chép

trái phép phần mềm. Sản phẩm phần mềm của A có kèm theo Chữ ký chống chối từ

được bán cho B. Sau đó B không thể giả danh A để bán cho C vì khi C thực hiện kiểm

29

tra chữ ký, sự hợp tác của B là vô nghĩa (nếu B chịu hợp tác thì câu trả lời trong giao

thức sẽ là “chữ ký không tin cậy”). Chỉ có sự hợp tác của A mới mang lại sự khẳng

định tin cậy cho C.

Đối với người nhận, các Chữ ký chống chối từ có ưu thế hơn so với phép Chứng

minh tri thức không ở chỗ bên nhận nắm được điều gì đó mà sau này, trong những

hoàn cảnh nhất định, có thể được sử dụng để thuyết phục người khác. Mặc dù vậy,

điều này phụ thuộc vào sự đáp ứng của người ký trong việc tiếp tục xác nhận chữ ký.

Nếu người ký không thể đáp ứng đầy đủ các điều kiện trong giao thức hoặc từ chối

hợp tác thì bên nhận không thể sử dụng chữ ký [9]. Việc từ chối hợp tác xác nhận chữ

ký có thể do người ký muốn chối bỏ trách nhiệm của mình hoặc cũng có thể do người

ký quá bận rộn với công việc. Chẳng hạn, nếu chữ ký chống chối từ trên sản phẩm

phần mềm là của Giám đốc công ty thì Giám đốc không thể thường xuyên cộng tác

với khách hàng để kiểm tra chữ ký được.

Người ta đã đề xuất Lược đồ chữ ký người xác nhận được chỉ định để giải

quyết điểm yếu này và nâng cao độ tin cậy của lược đồ chữ ký chống chối từ. Giao

thức này đòi hỏi có ba bên tham gia: người nhận, người ký và người xác nhận. Người

ký và người xác nhận có khoá công khai và chúng được người nhận chấp thuận. Ở

giao thức ký, người ký đã tạo ra được một Chữ ký chống chối từ như là nó được ký

bởi người xác nhận. Nếu giao thức kiểm tra được tiến hành với sự cộng tác của người

ký, người nhận bị thuyết phục rằng chữ ký này do người ký tạo ra và chữ ký đó có

thể được kiểm tra bởi người xác nhận [2].

Trong giao thức xác nhận, với sự hợp tác của người xác nhận, người kiểm tra

(có thể là chính người nhận hoặc là một người khác. Trong tình huống B gửi cho A

thông báo cho phép rút một số tiền ở tài khoản của B thì người kiểm tra có thể là nhân

viên của ngân hàng) bị thuyết phục rằng chữ ký là tin cậy, nhưng cũng không cho

phép người kiểm tra một mình tiếp tục đi thuyết phục người khác.

30

Trong Lược đồ chữ ký người xác nhận, người xác nhận có khả năng xác nhận

hoặc từ chối chứng thực độ tin cậy của chữ ký gốc nhưng họ không có khả năng giả

mạo chữ ký.

Tuy nhiên, trong nhiều lược đồ Chữ ký người xác nhận, bản thân người ký

không thể xác nhận chữ ký của mình là tin cậy. Nếu người xác nhận từ chối cộng tác

thì dẫn đến việc không thể kiểm tra chữ ký. Trong thực tế, sự tin cậy của các bên

tham gia giữ vai trò rất quan trọng, vì vậy giảm sự rắc rối cho các bên là cần thiết cả

về phương diện kỹ thuật cũng như tiết kiệm chi phí trong giao dịch.

Lược đồ chữ ký người xác nhận không thể chối từ gắn cả chức năng kiểm tra

chữ ký của cả người ký và của cả người xác nhận. Lược đồ này là sự biến đổi của

lược đồ chữ ký người xác nhận. Nó đem lại sự linh hoạt đối với người ký, người nhận

cũng như người xác nhận được chỉ định - người thường được tin cậy trong thực tế. Ở

đây, người nhận có thể kiểm tra chữ ký thông qua sự hợp tác của người ký hoặc của

người xác nhận. Hơn nữa, lược đồ này còn có thể phát triển thành lược đồ chữ ký

người xác nhận không thể chối từ “mù” (nghĩa là người ký không quan tâm đến nội

dung cần ký).

Các Chữ ký số này đem lại lợi ích trong nhiều ứng dụng, ví dụ như thiết kế hệ

thống trả tiền trước (micropayment) đối với các mạng lớn bao gồm nhiều dịch vụ.

Trong mô hình này, giấy chứng nhận trả tiền trước (thường là số tiền nhỏ) có chữ ký

người xác nhận không thể chối từ mù của người quản lý liên hợp các công ty (thuộc

tính “mù” được đưa vào để đảm bảo tính riêng tư của người sử dụng). Để truy cập tới

các dịch vụ trực tuyến, người sử dụng phải chứng minh giấy chứng nhận trả tiền trước

là tin cậy đối với người cung cấp dịch vụ - người có vai trò người xác nhận trong lược

đồ chữ ký [2].

2.5. Hàm băm

Hàm băm chính là một biến thể của mã xác thực thông điệp. Với hàm băm,

đầu vào là một thông điệp M có kích thước bất kì, nhưng đầu ra H(M) có kích thước

31

cố định. Mã băm chính là hàm của tất cả các bit trong một thông điệp, đồng thời

cũng cung cấp khả năng phát hiện ra lỗi. Tức là nếu người nào đó thay đổi một bit

bất kì hay một chuỗi bit trong một thông điệp thì giá trị băm cũng sẽ bị thay đổi. Do

đó, để đáp ứng yêu cầu về xác thực thì hàm băm phải thỏa mãn những yêu cầu sau:

 Có thể áp dụng cho mọi thông điệp có kích thước tùy ý, nhưng đầu ra H phải

có kích thước cố định thường là 128 hay 1024 bit.

 Dễ tính được giá trị h=H(M) cho mọi bản tin M và hàm băm H tính toán

nhanh, phụ thuộc vào bản tin và không thể tính toán ngược lại, nói cách khác chính

là hàm một chiều.

 Nếu cho một giá trị x thì không thể tìm được y sao cho H(x)=H(y) và cũng

không thể tìm được x, y sao cho H(x)=H(y).

 Hàm băm sẽ tạo nên dấu vân tay hay chính là thông tin đặc trưng của

dữ liệu.

 Vì việc đầu vào có kích thước tùy ý, đầu ra có kích thước cố định, nói cách

khác là hàm băm đã nén thông điệp về dấu vân tay có kích thước cố định.

Các bước thực hiện để băm một thông điệp là:

Bước 1: Với một thông điệp có kích thước bất kì, bổ sung một số bit vào thông

điệp để sao cho độ dài của thông điệp khi đó là bội của một số cho trước. Sau đó chia

nhỏ thông điệp ra thành các khối M1, M2,….Ms…

Bước 2: Với H là hàm trạng thái có kích thước n bit, f là hàm nén thực hiện thao

tác trên gói dữ liệu với trạng thái như sau:

 H(0) là trạng thái ban đầu, khởi tạo.

 Hi=f(Hi-1, Mi) với i=1,2…s.

 Hs là thông điệp đã được rút gọn.

32

2.6. Chữ ký số

Một chữ ký số là một cơ chế xác thực cho phép người tạo ra một thông điệp để

đính kèm một mã số hoạt động như một chữ ký. Thông thường các chữ ký được tạo

thành bằng cách lấy các hash của thông điệp và mã hóa các tin nhắn với khóa riêng

của người tạo ra nó. Chữ ký đảm bảo nguồn gốc và tính toàn vẹn của thông điệp. Chữ

ký số dùng để hai thành viên bảo vệ lẫn nhau trong việc gửi thông điệp [2]. Chữ ký

số có tính chất sau [8]:

 Có khả năng xác thực tác giả và thời gian ký.

 Có khả năng xác thực nội dung tại thời điểm ký.

 Thành viên thứ ba có thể xác thực để giải quyết tranh chấp.

Các yêu cầu đối với chữ ký số:

 Chữ ký phải là chuỗi bit phụ thuộc vào các thông điệp được ký.

 Chữ ký phải sử dụng một thông tin duy nhất nào đó từ người gửi nhằm ngăn

chặn tình trạng làm giả chữ ký và chối bỏ chữ ký.

 Việc tạo ra chữ ký số là dễ dàng.

 Khó có thể làm giả chữ ký.

 Cần phải lưu trữ một bản sao các chữ ký.

Quá trình thực hiện chữ ký số công khai: Chữ ký số khóa công khai dựa trên

nền tảng mật mã khóa công khai. Để có thể trao đổi thông tin trong môi trường này,

mỗi người dùng có một căp khóa (khóa công khai và khóa bí mật). Khóa công khai

được công bố rộng rãi, còn khóa bí mật được giữ kín và không thể tìm được khóa bí

mật nếu chỉ biết khóa công khai.

Quá trình xử lý chữ ký số gồm ba thuật toán tạo khóa, tạo chữ ký số và kiểm

tra chữ ký số. Quá trình tạo chữ ký số được minh hoạ trong Hình 2.5. Quá trình kiểm

tra chữ ký số được minh hoạ trong Hình 2.5.

33

Hình 2.5: Lược đồ tạo chữ ký số

Chi tiết về quá trình tạo chữ ký số được mô tả như sau:

 Sử dụng giải thuật băm (hash) một chiều để thay đổi thông điệp cần truyền

đi. Kết quả thu được một message digest gọi là bản phân tích văn bản hay tóm tắt

thông điệp.

 Sử dụng giải thuật MD5 thu được digest độ dài 128 bits.

 Tiếp tục sử dụng giải thuật SHA (Secure Hash Algorithm) nên thu được

message digest có độ dài 160 bits.

 Sử dụng khóa bí mật của người gửi để mã hóa bản phân tích văn bản thu được

(thông thường là bằng giải thuật RSA). Kết quả thu được là chữ ký điện tử của thông

điệp ban đầu.

 Gộp chữ ký điện tử vào thông điệp ban đầu. Công việc này gọi là ký nhận

thông điệp.

34

 Sau khi đã ký nhận thông điệp, mọi sự thay đổi trên 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 thực mà SSL sử dụng là SHA-1 - một trong những thuật

toán băm mã hóa, được dùng trong việc kiểm tra tính toàn vẹn của dữ liệu ở phía

người nhận.

54

AES (Advanced Encryption Standard, hay Tiêu chuẩn mã hóa nâng cao) là một

thuật toán mã hóa khối được chính phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa. AES

là thuật toán được phát triển dựa trên bản thiết kế Square bởi 2 nhà mật mã học người

Bỉ là Joan Daemen và Vincent Rijmen. AES là một thuật toán mã hóa khối đối xứng

với độ dài khóa là 128 bit, 192 bit và 256 bit tương ứng gọi là AES-128, AES-192 và

AES-256. Tùy vào độ dài của key khi sử dụng mà ta có số vòng lặp khác nhau AES-

128 sử dụng 10 vòng (round), AES-192 sử dụng 12 vòng và AES-256 sử dụng 14

vòng.

Trong quá trình này, khóa mã hóa được tạo và cũng phải có khóa này để giải

mã. Nếu không, dữ liệu sẽ chỉ là mớ lộn xộn không thể đọc được. Cả người gửi và

người nhận đều phải biết khóa mã hóa và giải mã.

Các thứ tự hàm AES sẽ thực hiện:

 Trộn từng byte (SubBytes) mỗi byte được thay thế với các byte khác.

 Trộn từng hàng (ShiftRows): Phép biến đổi dùng trong phép mã hóa áp dụng

lên trạng thái bằng cách chuyển dịch vòng ba hàng cuối của trạng thái theo số lượng

byte các offset khác nhau.

 Trộn từng cột (MixColumns): Mỗi cột được chuyển đổi tuyến tính bằng cách

nhân nó với một ma trận trong trường hữu hạn.

 Mã hóa (AddRoundKey): Mỗi byte trong bảng trạng thái được thực hiện phép

XOR với một khoá vòng, quá trình xử lý AES thu được 11 khoá vòng từ các key mã

hoá được phân phát cho kỹ thuật mã hoá.

Dù ban đầu AES được tạo ra để chính phủ Mỹ bảo mật dữ liệu nhưng nó cũng có

thể dùng để chuyển dữ liệu qua mạng an toàn. AES được dùng để chia sẻ tập tin qua kết

nối HTTPS, an toàn hơn HTTP, vốn được thiết kế để ngăn tấn công trung gian.

AES cũng được dùng để mã hóa WiFi trên router, khi kết hợp với giao thức phổ

biến WPA2 thì có tên AES/WPA2. Giao thức bảo mật khác được dùng cùng với

55

WPA2 là TKIP cũ hơn AES và được cho là không còn an toàn. AES cũng được dùng

để hỗ trợ mã hóa SSL.

3.2.2.2. Bảo mật tại chỗ

Hệ thống bảo mật trong MySQL Server tương đối phức tạp. MySQL Server

thực hiện bảo mật CSDL dựa vào hệ thống truy cập quyền. Chức năng chính của hệ

thống điều khiển truy cập là chứng thực kết nối của người dùng vào MySQL Server,

kết hợp người dùng với các quyền riêng trên CSDL với các thao tác: SELECT,

UPDATE, DELETE, INSERT. Để thực hiện điều khiển hệ thống cần phải thực hiện

truy cập một số thông tin đặc biệt. Các thông tin này được lưu trữ trong một CSDL

chính là MySQL. Ngay sau khi cài đặt MySQL có hai CSDL được tạo ra là:

 MySQL: Lưu trữ các thông tin cho việc quản trị.

 Test: Là CSDL bất kì ai cũng có thể có quyền thực hiện trên đó.

CSDL MySQL lưu trữ các thông tin chung và các đặc quyền của người dùng để

kiểm tra kết nối và quyền thực hiện các lệnh. Do đó chỉ có nhà quản trị CSDL mới

có quyền truy cập và thao tác trên CSDL này. Tất cả các tập tin dữ liệu của MySQL

lưu trữ dữ liệu trong môt thư mục gốc mysql. Trong CSDL mysql có các bảng phân

quyền sau: user, db, host, column_priv, procs_priv. Người dùng có thể thực hiện bất

kì câu lệnh nào trên bảng này như các bảng thông thường. Server sử dụng thông tin

trong ba bảng: user, db, host trong hai giai đoạn điều khiển truy nhập bằng cách kiểm

tra các yêu cầu để chắc chắn rằng Client đưa ra yêu cầu có đủ quyền thực hiện yêu

cầu đó.

Ngoài ra Server còn tham khảo tới bảng table_priv và bảng column_priv, các

bảng này cung cấp các quyền riêng cần thiết ở mức bảng và cột. Từ phiên bản 5.0.3

CSDL MySQL có thêm bảng procs_priv dùng để thẩm định lại các yêu cầu mà thường

xuyên được lưu trữ. Mỗi bảng đều có các cột phạm vi và các cột quyền. Cột phạm vi

dùng để chỉ rõ phạm vi cho mỗi mục của bảng hay là ngữ cảnh mà dòng dữ liệu áp

dụng. Các cột quyền chỉ định thông tin về các quyền trên một mức của CSDL tùy

thuộc từng bảng. Server kết hợp thông tin trong nhiều bảng phân quyền để hoàn thành

56

việc mô tả đặc quyền của người dùng. Quá trình truy vấn CSDL thực hiện theo hai

giai đoạn.

 Giai đoạn kiểm tra kết nối: Khi người dùng cố gắng kết nối vào cơ sở dữ liệu,

Server chấp nhận hoặc từ chối các kết nối cơ bản dựa trên nhận dạng người dùng. Chỉ

khi thông tin đưa vào là hợp lý Server mới chấp nhận, nếu không Server cấm truy

cập. Nếu đúng Server chấp nhận kết nối, sau đó chuyển sang giai đoạn hai. Chờ đợi

yêu cầu. Việc nhận dạng người dùng dựa trên hai phần thông tin sau: client host từ

kết nối của người dùng, username MySQL của người dùng.

Bất kì ai kết nối vào MySQL Server hệ thống đều đòi hỏi password, password

là công cụ được thêm vào để xác nhận người dùng, username là tên của người dùng

muốn kết nối, hostname là tên máy kết nối. MySQL Server không thể giới hạn số

người kết nối nhưng giới hạn số lượng máy kết nối. MySQL Server không lưu trữ

dạng tường tận của password mà password sẽ được mã hóa. Password được mã hóa

sẽ được dùng trong kết nối. Như vậy cách nhìn nhận của MySQL Server password đã

được mã hóa mới là password đúng.

 Giai đoạn kiểm tra yêu cầu: Xảy ra mỗi khi người dùng thực hiện yêu cầu

truy vấn vào CSDL. Sau khi quá trình kết nối đã được thiết lập, mỗi dòng lệnh đều

phải đi qua một tiến trình, điều này đảm bảo mọi người dùng đều bị giới hạn làm việc.

Mỗi khi yêu cầu được đưa ra, MySQL Server kiểm tra xem người dùng đã được phân

quyền ở cấp độ user chưa. Nếu có người dùng được phép làm bất cứ việc gì trên

CSDL của MySQL Server. Nếu không tìm thấy MySQL Server sẽ kiểm tra tiếp trong

bảng db. Db là cơ chế bảo mật ở cấp độ tiếp theo. Đặc quyền chỉ được cấp trên một

CSDL cụ thể, cho phép người dùng thao tác trên tất cả các bảng của một CSDL cụ

thể. Nếu người dùng muốn phân quyền cụ thể hơn thì dùng bảng table_priv,

column_priv. Bảng column_priv là nơi cuối cùng MySQL Server cấp quyền cho

người dùng. Nếu người dùng không được cấp quyền ở cấp độ này thì MySQL Server

báo lỗi.

Như vậy MySQL Server bảo mật theo cơ chế phân quyền. Tùy thuộc vào từng

cấp độ người dùng mà có những quyền truy cập tới CSDL là khác nhau. Việc xác

57

định cấp độ người dùng lại hoàn toàn phụ thuộc vào username, hostname và password

của người dùng. Các giá trị username, hostname là được công khai, chính vì vậy phần

lớn mục đích bảo mật CSDL trong MySQL là bảo mật password người dùng. Trong

MySQL Server để bảo mật password người ta dùng phương pháp mã hóa password

dựa vào thuật toán băm SHA-1 hoặc thuật toán MD5, đây là hai thuật toán được sử

dụng chính trong MySQL Server.

Ngoài ra MySQL Server sử dụng các phương thức AES_ENCRYPT(),

AESP_DECRYPT(), để mã hóa và giải mã dữ liệu dựa vào thuật toán AES. Mã hóa

sử dụng 128 bit khóa và có thể mở rộng thành 256 bit. Chọn 128 bit vì nhanh và đã

đủ an toàn. AES thực hiện dò tìm các giá trị không hợp lệ của dữ liệu, những giá trị

thêm vào không chính xác, sẽ bị từ chối thực hiện. Đây là hàm được coi là an toàn

nhất trong các hàm mã hóa sẵn có trong MySQL.

3.2.2.3. Biện pháp tác nghiệp

Để đảm bảo CSDL trong MySQL Server an toàn ngoài các giải pháp kỹ thuật

bạn cũng cần phải quan tâm, xem xét tới các biện pháp tác nghiệp sau:

 Đòi hỏi tất cả người sử dụng CSDL của MySQL Server đều phải có tài khoản.

 Không cho phép sử dụng các link biểu tượng tới các bảng.

 Không cấp đặc quyền processor hoặc super cho người không phải là nhà quản

trị.

 Không cấp đặc quyền file cho người không phải là nhà quản trị.

 Không cho bất kì ai có thể truy cập vào bảng user trong CSDL MySQL trừ

người có tài khoản root.

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

3.3.1. Phạm vi và yêu cầu bài toán

Xây dựng website demo nghiệp vụ quản lý điểm cho Trường THPT với các yêu

cầu:

1. Về chức năng:

a. Quản lý lớp, quản lý học sinh

58

b. Quản lý năm học, quản lý môn học

c. Quản lý điểm

d. Quản lý người dùng

e. Thống kê, báo cáo

2. Về bảo mật: Phải được thực hiện ở 3 cấp độ: ứng dụng, truyền thông và cơ

sở dữ liệu.

a. Bảo mật ở cấp độ ứng dụng: Xác thực người dùng.

b. Bảo mật ở cấp độ truyền thông: Dữ liệu được bảo mật khi truyền

thông giữa web client và web server.

c. Bảo mật ở cấp độ cơ sở dữ liệu: Thông tin được mã hoá khi lưu trữ

trong cơ sở dữ liệu và được giải mã cho các truy vấn hợp lệ đối với

cơ sở dữ liệu.

3.3.2. Mô hình bảo mật của hệ thống

Mô hình bảo mật của hệ thống được phân thành 3 lớp: (1) Lớp bảo mật ở cấp

độ ứng dụng; (2) Lớp bảo mật ở cấp độ truyền thông và (3) Lớp bảo mật ở cấp độ cơ

sở dữ liệu. Mô hình này được minh hoạ trong Hình 3.4.

Hình 3.4: Mô hình bảo mật của hệ thống

Trong mô hình này, người sử dụng muốn truy cập vào sử dụng các chức năng

của ứng dụng quản lý điểm phải thực hiện việc đăng nhập bằng một tài khoản hợp lệ

59

đã được người quản trị phân quyền để thực hiện tiến trình xác thực người dùng. Dữ

liệu trao đổi giữa trình duyệt web trên máy khách web và dịch vụ web trên máy chủ

web sẽ được bảo mật qua giao thức HTTPS trên cơ sở dịch vụ SSL/TLS. Ứng dụng

quản lý điểm chạy trên máy chủ web sẽ thực hiện truy vấn và cập nhật dữ liệu tới cơ

sở dữ liệu quản lý điểm trên máy chủ cơ sở dữ liệu. Phần mềm quản lý điểm chạy

trên máy chủ web sẽ thực hiện mã hoá dữ liệu trước khi lưu trữ và giải mã dữ liệu

được truy vấn từ cơ sở dữ liệu bằng thuật toán AES.

3.3.3. Triển khai mô hình bảo mật

Với lớp bảo mật ở cấp độ ứng dụng: Phát triển ứng dụng web phải đảm bảo

tuỳ theo tài khoản người dùng được cung cấp, người dùng sẽ phải trải qua bước xác

thực của hệ thống máy chủ web. Nếu tài khoản người dùng là hợp lệ, người dùng sẽ

được phép truy cập vào các chức năng của ứng dụng quản lý điểm theo phân quyền

của người quản trị.

Với lớp bảo mật ở cấp độ truyền thông: Thực hiện ở bước triển khai website

sau bước phát triển ứng dụng web. Sử dụng giao thức HTTPS để truyền thông dữ liệu

web một cách an toàn và bảo mật trên cơ sở áp dụng hai giao thức SSL và TLS ở tầng

Transport. Cả web client và web server sẽ bắt buộc phải trải qua giai đoạn xác thực

và dữ liệu web sẽ được mã hoá và giải mã theo cả hai chiều truyền thông giữa web

client và web server.

Với lớp bảo mật ở cấp độ cơ sở dữ liệu: Tích hợp thuật toán mã hoá và giải

mã dữ liệu AES vào phần mềm website quản lý điểm chạy trên máy chủ web để mã

hoá và giải mã dữ liệu đọc ra và ghi vào cơ sở dữ liệu trên máy chủ cơ sở dữ liệu.

3.3.4. Một số kết quả sau khi phát triển website

3.3.4.1. Quản lý người dùng

Giao diện khi người dùng đăng nhập:

60

Hình 3.5: Giao diện đăng nhập người dùng

Cơ sở dữ liệu lưu thông tin người dùng, thông tin học sinh. Dữ liệu người dùng

được mã hóa lưu trong cơ sở dữ liệu:

Hình 3.6: Bản mã tài khoản người dùng

3.3.4.2. Quản lý thông tin của học sinh

61

Hình 3.7: Giao diện thêm mới học sinh

Hình 3.8: Sửa thông tin học sinh

Bảng dữ liệu mã hóa thông tin học sinh

Hình 3.9: Bản mã thông tin học sinh

62

3.3.4.3. Quản lý điểm học sinh

Điểm trước khi được lưu vào CSDL sẽ được mã hóa rồi mới lưu. Khi điểm ra

thì điểm sẽ được lấy từ CSDL ra và tiến hành giải mã rồi mới cho hiển thị ra ngoài

giao diện.

Hình 3.10: Giao diện nhập điểm của học sinh

Hình 3.11: Giao diện xem bản mã điểm của học sinh

63

Hình 3.12: Bản mã được lưu trong CSDL

3.3.4.4. Mô tả một số các chức năng khác trong website

Người dùng sử dụng tài khoản được quản trị viên cấp để đăng nhập vào website.

Hình 3.13: Giao diện sau khi đăng nhập

a. Giao diện thiết lập

Thiết lập là chức năng quản lý chỉ có quản trị viên mới có thể dùng, bao gồm:

Thiết lập năm học, môn học và quản lý người dùng.

 Thiết lập năm học:

64

Hình 3.14: Giao diện thiết lập năm học

Gồm có danh sách các năm học đã tạo, các chức năng thêm mới, sửa, xóa, tìm

kiếm.

Để tìm kiếm năm học, người dùng nhập năm đầu và năm cuối vào thanh tìm

kiếm (Ví dụ: 2019 - 2020).

Người dùng chọn thêm mới để thêm mới năm học, chọn sửa để chỉnh sửa lại

thông tin năm học đó.

Để xóa năm học, người dùng chọn vào ô năm học cần xóa ở đầu rồi bấm xóa

(Nên xóa các lớp học của năm đó trước rồi mới xóa năm, trước khi xóa lớp nên xuất

excel điểm của các học sinh lớp đó).

65

Hình 3.15: Giao diện thêm mới năm học

Người dùng chọn năm bắt đầu và viết mô tả nếu cần cho năm đó rồi ấn chấp

nhận. Ví dụ: chọn năm bắt đầu là 2019 thì sẽ tạo được ra năm học là 2019 - 2020.

 Thiết lập môn học:

Hình 3.16: Giao diện thiết lập môn học

66

Chức năng gồm có danh sách các môn học, thêm mới, sửa thông tin, xóa môn

học, tìm kiếm môn học.

 Giao diện thêm môn học mới:

Hình 3.17: Giao diện thêm mới môn học

Để thêm mới môn học cần nhập tên môn học, mô tả của môn học (nếu có) và

chọn khối học. Chọn khối học hiện tại đang quản lý sẽ gồm có 3 khối 10, 11, 12 và

khối chung. Nếu môn học tạo mà có ở tất cả các khối thì sẽ chọn khối chung, còn

môn học mà xuất hiện chỉ ở các khối riêng biệt thì sẽ chọn khối đó.

b. Giao diện sửa thông tin để sửa lại các thông tin đã tạo

 Quản lý người dùng:

Hình 3.1: Giao diện quản lý người dùng

67

Gồm các chức năng thêm mới, sửa, chặn, xóa người dùng.

Để tìm kiếm người dùng có thể nhập tên người dùng hoặc tên đăng nhập hoặc

lớp giảng dạy của người đó.

Chức năng chặn là chặn tài khoản đó không được đăng nhập vào website mà

không cần xóa tài khoản đó.

Thêm mới người dùng cần nhập thông tin của người dùng đó, chọn môn học

mà người dùng dạy và chọn quyền cho người dùng.

c. Giao diện quản lý lớp học

Hình 3.19: Giao diện quản lý lớp học

Gồm các chức năng thêm, sửa, xóa, tìm kiếm và xem lớp học. Giáo viên chỉ có

thể xem lớp học.

Chức năng thêm, sửa, xóa, tìm kiếm tương tự như các chức năng trên. Quản trị

viên thêm giáo viên chủ nhiệm cho lớp trong thêm mới và sửa lớp học.

Chọn xem lớp để xem danh sách các học sinh của lớp đó, hoặc thêm, sửa, xóa

học sinh thuộc lớp đó. Quản trị viên hoặc giáo viên trực tiếp thêm học sinh vào lớp,

giáo viên chỉ có thể xem danh sách học sinh.

68

Hình 3.20: Giao diện danh sách học sinh trong lớp

Quản trị viên và giáo viên chủ nhiệm có thể xét hạnh kiểm cho học sinh trong

chức năng sửa. Giáo viên không phải chủ nhiệm chỉ có thể xem hoặc tải file excel.

Hình 3.21: Giao diện sửa và xét hạnh kiểm học sinh trong lớp

d. Giao diện điểm

69

Người dùng chọn các mục để có thể xem điểm của lớp cần tìm.

Hình 3.22: Giao diện tìm kiếm điểm

Sau khi ấn tìm kiếm thì sẽ hiện ra danh sách điểm môn học của lớp đã chọn.

Người dùng có thể xuất file excel để tải về dữ liệu điểm. Chỉ có quản trị viên hoặc

giáo viên dạy bộ môn và được thiết lập lớp dạy này thì mới có thể chỉnh sửa điểm.

Sau khi điền điểm thì chọn xác nhận kết quả để hệ thống tính điểm rồi sau đó ấn

xác nhận để lưu điểm.

Đối với môn thể dục thì người dùng chọn D (đạt) hoặc CD (chưa đạt).

e. Giao diện thống kê

Gồm thống kê học lực theo lớp và theo khối. Người dùng chọn các mục để tìm

kiếm lớp hoặc khối cần thống kê. Sau đó có thể xuất file excel để tải về dữ liệu thống

kê.

3.4. Kết luận chương 3

Chương 3 trình bày các giải pháp bảo mật website, trong đó nhấn mạnh đến giải

pháp bảo mật dữ liệu trong CSDL, từ đó đưa ra hướng bảo mật CSDL MySQL và

xây dựng ứng dụng website quản lý điểm được tích hợp các kỹ thuật bảo mật.

70

KẾT LUẬN VÀ ĐỀ NGHỊ

Trong đề 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”, sau một thời gian tìm

hiểu luận văn đã trình bày được một số vấn đề sau đây:

Trong chương 1, đã tìm hiểu kiến thức tổng quan về an toàn thông tin trong cơ

sở dữ liệu, giới thiệu chung về an toàn bảo mật cơ sở dữ liệu, trình bày một số khái

niệm cơ bản, các vấn đề an toàn trong cơ sở dữ liệu, vấn đề kiểm soát an toàn và 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.

Trong chương 2, đã tìm hiểu về cơ sở lý thuyết mật mã trong bảo mật cơ sở dữ

liệu, như giới thiệu chung về lý thuyết mật mã, mã hóa bằng khóa bí mật, mã hóa

bằng khóa công khai, xác thực thông tin, hàm băm, chữ ký số và trình bày chi tiết về

thuật toán mã hóa và giải mã dữ liệu AES.

Trong chương 3, tiến hành làm thực nghiệm 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. Từ thực

nghiệm đã giúp Sở GD&ĐT tỉnh Quảng Ninh dễ dàng bảo vệ CSDL nói chung và

bảo vệ CSDL MySQL nói riêng như:

- Đảm bảo an toàn dữ liệu khi truyền trên mạng.

- Đảm bảo an toàn CSDL trong lúc khai thác phục vụ tác nghiệp.

- Đảm bảo an toàn CSDL khi không khai thác phục vụ tác nghiệp.

- Từ các giải pháp đưa ra tác giả đã xây dựng ứng dụng bảo mật CSDL MySQL

để đảm bảo an toàn CSDL trong lúc khai thác phục vụ tác nghiệp và trên đường

truyền.

Do còn nhiều hạn chế về kiến thức, kinh nghiệm của bản thân cũng như thời

gian thực hiện, luận văn này không tránh khỏi những sơ suất. Với bước đầu nghiên

cứu cài đặt thử nghiệm chương trình đã tạo tiền đề ứng dụng an toàn dữ liệu trong

71

công tác quản lý điểm tại sở Giáo dục và Đào tạo tỉnh Quảng Ninh. Vì vậy, theo quan

điểm của học viên, đề tài còn có một số hướng phát triển sau:

- Thử nghiệm với hệ thống dữ liệu tại Sở Giáo dục và Đào tạo tỉnh Quảng

Ninh.

- Mở rộng CSDL với một số mảng khác hiện tại Sở đang quản lý.

- Nghiên cứu các phương pháp tấn công, các giải pháp khắc phục, các hệ mã

hóa và chữ ký số tiên tiến hơn nhằm nâng cao tính an toàn thông tin cho hệ thống.

Em rất mong nhận được các ý kiến đóng góp của thầy/cô và các bạn để luận văn

được hoàn thiện hơn nữa. Đặc biệt, trong thời gian tới có thể áp dụng các kết quả

nghiên cứu của luận văn trong thực tế.

Thái Nguyên, tháng 9 năm 2020

Học viên

Nguyễn Thị Thu Trang

72

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]. Bùi Văn Đài (2013), Nghiên cứu về bảo mật cơ sở dữ liệu SQL Server, Luận văn

thạc sĩ, Học viện kỹ thuật quân sự.

[2]. Hồ Văn Hương, Hoàng Chiến Thắng (2013), Ký số và xác thực trên nền tảng

web, http://www.antoanthongtin.vn/cong-nghe-pki/ky-so-va-xac-thuc-tren-

nen-tang-web-100650, ngày 04/10/2013.

[3]. Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy (2013), Giải pháp bảo

mật và xác thực thư điện tử, http://antoanthongtin.gov.vn/gp-attm/giai-phap-

bao-mat-va-xac-thuc-thu-dien-tu-100791, 31/03/2014.

[4]. Hồ Văn Hương, Nguyễn Quốc Uy (2014), Giải pháp bảo mật cơ sở dữ liệu ứng

dụng mã nguồn mở, http://m.antoanthongtin.gov.vn/giai-phap-khac/giai-phap-

bao-mat-co-so-du-lieu-ung-dung-ma-nguon-mo-100742, 20/02/2014.

[5]. Phạm Thị Ngọc Oanh (2009), Nghiên cứu giải pháp bảo mật cơ sở dữ liệu, Khóa

luận tốt nghiệp, Đại học Quốc Gia Hà Nội.

[6]. Đỗ Trung Tuấn (2004), Cơ sở dữ liệu, Nxb Đại học Quốc Gia Hà Nội.

Tiếng Anh

[7]. Morris Lewis (2004), SQL Server Security Distilled, Apress.

[8]. William Stallings (2010), Cryptography and Network Security: Principles and

practice, Prentice Hall.

[9]. Wrox Author Team (2003), MySQL Security Handbook, Apress.