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
Trang 1NGUYỄ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
Trang 2NGUYỄ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
Trang 3LỜ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ươngcù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
Trang 4LỜ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
Trang 5MỤ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
Trang 62.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
Trang 7DANH 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
Trang 8DANH 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
Trang 9Hì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
Trang 10MỞ ĐẦ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
Trang 11Đượ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
Trang 124 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
Trang 13CHƯƠ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,
Trang 14Ngườ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
lý CSDL Bộ xử lý DML, QL là nơi tiếp nhận sự trả về cuối cùng [1]
Trang 15Hì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
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
Trang 16 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ợ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:
Trang 17Kẻ 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 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:
Trang 18Bả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
Trang 19 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
Trang 20Hì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
Trang 21biệ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:
Trang 22 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:
ĐTBmhk =
TĐKTtx + 2 x TĐKTđk + 3 x ĐKThk
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:
Trang 23ĐTBmcn =
ĐTBmhkI + 2 x ĐTBmhkII
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
Trang 24 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
Trang 25 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
Trang 26CHƯƠ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
Trang 272.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
Trang 28nà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
Trang 29 ShiftRow
AddRoundKey
Hình 2.2: Tiến trình mã hoá AES
Trang 302.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):
Trang 31Là 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
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
Trang 321978 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ị:
Trang 33Mã 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
Trang 34từ 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
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 đó
Trang 35 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
Trang 36 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
Trang 37(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
Trang 38tra 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
Trang 39Trong 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
Trang 40cố đị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
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