Tải bản đầy đủ (.pdf) (49 trang)

Nghiên cứu xây dựng giải pháp bảo vệ tính bí mật và tính riêng tư dữ liệu trong cơ sở dữ liệu bằng phương pháp mã hóa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (954.9 KB, 49 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH

NGUYỄN XUÂN DUY

NGHIÊN CỨU XÂY DỰNG GIẢI PHÁP BẢO VỆ
TÍNH BÍ MẬT VÀ TÍNH RIÊNG TƯ DỮ LIỆU
TRONG CƠ SỞ DỮ LIỆU BẰNG PHƯƠNG
PHÁP MÃ HÓA
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã chuyên ngành: 60480101

LUẬN VĂN THẠC SĨ

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2O17


TÓM TẮT LUẬN VĂN THẠC SĨ
Dữ liệu lưu trữ trong cơ sở dữ liệu (CSDL) cần được bảo vệ trước mọi tấn công và
truy cập trái phép nhằm đảm bảo tính bí mật và tính riêng tư dữ liệu, đặc biệt là dữ
liệu nhạy cảm. Để giải quyết vấn đề này, luận văn đã đề xuất phương pháp kết hợp
hệ mật mã RSA-AES để mã hóa dữ liệu trong CSDL và đưa ra các mơ hình, giải
pháp cụ thể cho bài tốn này. Bên cạnh đó, nghiên cứu cũng quan tâm đến các giải
pháp nhằm nâng cao tính tiện ích và giải quyết các vấn đề phát sinh khi dữ liệu bị
mã hóa: giải pháp dự phịng để giải mã dữ liệu, giải pháp thay đổi khóa bí mật khi
dữ liệu đã được mã hóa, xác thực thơng tin đăng nhập khi thay đổi khóa bí mật bằng
cách ứng dụng chữ ký số sử dụng hệ mã RSA,… Giải pháp đề xuất được triển khai
trên ứng dụng Web kết nối với hệ quản trị CSDL Oracle 12c và áp dụng thử nghiệm
để bảo vệ tính bí mật vị trí kho của hàng hóa vận chuyển bằng đường hàng khơng.
Nghiên cứu bước đầu cho kết quả khả quan và có thể phát triển để áp dụng vào các
bài toán khác như: bảo mật thông tin trong lĩnh vực y tế, ngân hàng.



2


MỤC LỤC
MỤC LỤC ...................................................................................................................... 5
DANH MỤC HÌNH ẢNH ............................................................................................. 7
DANH MỤC BẢNG BIỂU ........................................................................................... 8
DANH MỤC TỪ VIẾT TẮT ......................................................................................... 9
MỞ ĐẦU ...................................................................................................................... 10
1. LÝ DO CHỌN ĐỀ TÀI ........................................................................................ 10
2. TỔNG QUAN TÌNH HÌNH THỰC TẾ VÀ TÌNH HÌNH NGHIÊN CỨU ......... 11
3. MỤC TIÊU NGHIÊN CỨU.................................................................................. 14
4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ...................................................... 14
5. PHƯƠNG PHÁP NGHIÊN CỨU......................................................................... 14
6. CẤU TRÚC CỦA LUẬN VĂN ........................................................................... 15
CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN VỀ BẢO MẬT CƠ SỞ DỮ LIỆU ...... 16
1.1 Một số khái niệm sử dụng trong đề tài nghiên cứu ............................................. 16
1.2 An toàn và bảo mật thông tin .............................................................................. 18
1.3 Bảo mật cơ sở dữ liệu bằng phương pháp mã hóa .............................................. 20
1.3.1 Các mức mã hóa ............................................................................................ 21
1.3.2 Phương pháp mã hóa ..................................................................................... 23
1.4 Bảo mật bằng phương pháp mã hóa trong hệ quản trị CSDL ORACLE ............ 26
CHƯƠNG 2: GIẢI PHÁP BẢO VỆ TÍNH BÍ MẬT VÀ TÍNH RIÊNG TƯ DỮ
LIỆU TRONG CƠ SỞ DỮ LIỆU BẰNG PHƯƠNG PHÁP MÃ HÓA ..................... 34
2.1 Mơ hình mã hóa dữ liệu bằng cách kết hợp hệ mật mã RSA và AES ................ 34

5



2.1.1 Định nghĩa hệ mật mã ................................................................................... 34
2.1.2 Mơ hình mã hóa dữ liệu RSA-AES............................................................... 35
2.2 Kết hợp RSA-AES để mã hóa dữ liệu trong CSDL ............................................ 36
2.2.1 Mơ hình RSA-AES để mã hóa dữ liệu trong CSDL ..................................... 36
2.2.2 Giải pháp kết hợp RSA-AES để mã hóa dữ liệu trong CSDL ...................... 39
2.3 Giải pháp thay đổi khóa bí mật khi dữ liệu đã được mã hóa .............................. 45
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM ...... 51
3.1 Xây dựng chương trình ....................................................................................... 51
3.1.1 Bài tốn thực nghiệm .................................................................................... 51
3.1.2 Thiết kế chương trình .................................................................................... 52
3.2 Thử nghiệm chương trình.................................................................................... 57
3.2.1 Mơ tả chương trình ........................................................................................ 57
3.2.2 Kết quả thử nghiệm chương trình ................................................................. 59
3.3 Đánh giá kết quả thử nghiệm .............................................................................. 66
KẾT LUẬN .................................................................................................................. 74
TÀI LIỆU THAM KHẢO ............................................................................................ 79
PHỤ LỤC ..................................................................................................................... 82
LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN ............................................................ 87

6


DANH MỤC HÌNH ẢNH
Hình 1.1 Mơ hình mã hóa dữ liệu trong CSDL ở mức ứng dụng .............................17
Hình 1.2 Những u cầu bảo mật hệ thống thơng tin. ..............................................18
Hình 1.3 Mơ hình mã hóa mức lưu trữ .....................................................................21
Hình 1.4 Mơ hình mã hóa mức hệ quản trị CSDL ....................................................22
Hình 1.5 Mơ hình mã hóa mức ứng dụng .................................................................23
Hình 1.6 Mơ hình mã hóa đối xứng ..........................................................................24
Hình 1.7 Mơ hình mã hóa khóa cơng khai ................................................................25

Hình 1.8 Mơ hình chức năng mã hóa trong ORACLE .............................................26
Hình 1.9 Cơ chế hoạt động TDE ...............................................................................27
Hình 2.1 Mơ hình mã hóa RSA-AES. .......................................................................35
Hình 2.2 Mơ hình giải mã RSA-AES. ......................................................................36
Hình 2.3 Mơ hình RSA-AES để mã hóa dữ liệu trong CSDL.. ................................37
Hình 2.4 Mơ hình RSA-AES để giải mã dữ liệu trong CSDL.. ................................38
Hình 2.5 Mơ hình mã hóa RSA-AES đối với User và Backup. ................................41
Hình 2.6 Mơ hình giải mã RSA-AES đối với User và Backup. ...............................41
Hình 2.7 Sơ đồ kiểm tra xác thực thơng tin đăng nhập khi thay đổi khóa bí mật. ...49
Hình 3.1 Hệ điều hành: Oracle Linux Server release 6.4. ........................................53
Hình 3.2 Database Oracle 12C. .................................................................................54
Hình 3.3 Oracle SQL Developer: Cấu trúc bảng Location. ......................................54
Hình 3.4 Oracle SQL Developer: Dữ liêu bảng Location. ........................................55
Hình 3.5 Hệ quản trị CSDL MySQL: Bảng members. .............................................55
Hình 3.6 Hệ quản trị CSDL MySQL: Bảng user_kpr_history..................................56
Hình 3.7 Màn hình đăng nhập. ..................................................................................56
Hình 3.8 Giao diện chính của chương trình. .............................................................57

7


DANH MỤC BẢNG BIỂU
Bảng 2.1 Table USER-KPU-1 .................................................................................42
Bảng 2.2 Table USER-EAES-1 ...............................................................................42
Bảng 2.3 Table USER-KPU-2 .................................................................................43
Bảng 2.4 Table USER-EAES-2 ...............................................................................43
Bảng 2.5 Table USER-KPU-3 .................................................................................45
Bảng 2.6 Table USER-EAES-3 ...............................................................................45
Bảng 2.7 Table USER-KPR-HISTORY sau khi User1 thay đổi KPR-USR lần 1 ......46
Bảng 2.8 Table USER-KPR-HISTORY sau khi User1 thay đổi KPR-USR lần 2 ......47


8


DANH MỤC TỪ VIẾT TẮT
AES

Advanced Encryption Standard

ANSI

American National Standards Institute

DAC

Discretionary Access Control

DBA

Database Administrator

DBMS

Database Management System

DCL

Data Control Language

DDL


Data Definition Language

DES

Data Encryption Standard

DML

Data Manipulation Language

FW

Firewall

HSM

Hardware Security Module

HTML

HyperText Markup Language

IDS

Intrusion Detection System

ISO

International Organization for Standardization


MAC

Mandatory Access Control

MD5

Message-Digest algorithm 5

RMAN

Recovery Manager

RSA

Rivest-Shamir-Adleman

SA

Security Administrator

SHA

Secure Hash Algorithm

SMS

Short Message Services

SQL


Structured Query Language

SSL

Secure Sockets Layer

TDE

Transparent Data Encryption

WIFI

Wireless Fidelity

9


MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Trong hệ thống công nghệ thông tin, dữ liệu thường được lưu trữ một cách có tổ
chức và hệ thống dưới dạng cơ sở dữ liệu (CSDL- Database). CSDL cũng lưu trữ
các thông tin bí mật, các thơng tin nhạy cảm cần được bảo vệ. Các thơng tin này có
thể là: thơng tin cá nhân, mật khẩu, hồ sơ điều tra, thông tin tài chính ngân hàng,
thơng tin cần được xác minh,… Do đó, cần có một giải pháp hiệu quả để đảm bảo
vấn đề an tồn thơng tin trong CSDL nói chung và bảo vệ tính bí mật dữ liệu, tính
riêng tư dữ liệu trong CSDL nói riêng.
Chun trang về Cơng nghệ thơng tin của báo điện tử Infonet - cơ quan ngôn luận
của Bộ Thơng tin và Truyền thơng, có đăng bài: "Security World 2016 bàn về bảo
mật cơ sở dữ liệu". Hội thảo - Triển lãm Quốc gia về An ninh Bảo mật Security

World 2016 sẽ đưa vào thảo luận chủ đề “Giám sát An tồn thơng tin & Bảo mật dữ
liệu: Yêu cầu bức thiết trong kỷ nguyên số”. Security World 2016 do Bộ Cơng an
chủ trì với sự phối hợp tổ chức giữa Cục An ninh Văn hóa, Thơng tin, Truyền thông
- Tổng cục An ninh, Cục Công nghệ Thông tin - Tổng cục Hậu cần Kỹ thuật với
IDG Việt Nam.
Bảo vệ an tồn dữ liệu có thể thực hiện bằng việc trang bị các hệ thống tường lửa,
hệ thống phát hiện xâm nhập, các kỹ thuật chống truy cập trái phép. Việc bảo vệ
này chỉ đảm bảo hệ thống an tồn trước các cuộc tấn cơng và xâm nhập trái phép từ
bên ngoài. Tuy nhiên, những rủi ro, nguy cơ từ bên trong là khơng thể kiểm sốt
được. Do đó, vấn đề đặt ra là làm sao để đảm bảo an toàn dữ liệu trước các nguy cơ
tấn cơng từ bên ngồi và các rủi ro từ bên trong là cần thiết.
Dịch vụ quản lý CSDL thuê ngoài đã mang lại những lợi ích về kinh tế và tính
chuyên nghiệp trong quản lý dữ liệu. Với cách quản lý này, máy chủ thuộc về một
tổ chức bên ngoài nên được xem là không đáng tin cậy đối với nội dung cơ sở dữ

10


liệu. Hơn nữa, quá trình thao tác dữ liệu của chủ sở hữu dữ liệu hay người dùng đều
thông qua mạng diện rộng. Chính vì vậy mà thách thức đặt ra liên quan đến vấn đề
bảo mật thông tin mật, thông tin nhạy cảm trong CSDL. Từ thực tế trên, các cơ
quan tổ chức đã tập trung xây dụng các chính sách bảo mật như kiểm sốt truy cập
hay mã hóa dữ liệu trên đường truyền nhưng vấn đề bảo vệ dữ liệu nằm trong cơ sở
dữ liệu chưa được quan tâm đúng mức. Vì vậy, có thể xảy ra tình trạng thơng tin dữ
liệu mật có thể bị lộ, bị lấy cấp nếu CSDL bị tấn công, xâm nhập.
Bảo vệ dữ liệu trong CSDL ở mức độ tập tin bằng hình thức mã hóa để chống lại sự
truy cập trái phép vào các tập tin CSDL. Giải pháp này không cung cấp mức độ bảo
mật truy cập đến CSDL, vì vậy bất cứ ai với quyền truy xuất CSDL đều có thể truy
cập vào tất cả dữ liệu trong CSDL. Với cách bảo mật này, chúng ta có thể sử dụng
các cơng cụ mã hóa sẵn có của các hệ quản trị CSDL SQL Server, Oracle. Trong

khi đó, đối với các hệ quản trị CSDL nguồn mở như MySQL, MariaDB,…thì các
cơng cụ mã hóa để bảo vệ tính bí mật dữ liệu vẫn cịn hạn chế. Với cơng cụ mã hóa
TDE (Transparent Data Encryption) trong Oracle, dữ liệu mật được mã hóa và lưu
trên tập tin CSDL sẽ khơng bị lộ (do khơng có khóa để giải mã) nếu bị tấn công vào
CSDL. Nhưng các dữ liệu mật đã được mã hóa này vẫn có thể bị lộ thơng tin bởi
DBA (Database Administrator) khi họ có ý định xấu hay hợp tác với kẻ tấn công.
Từ những lý do trên, chúng tôi nhận thấy việc nghiên cứu các giải pháp để bảo vệ
tính bí mật và tính riêng tư dữ liệu trước sự tấn cơng từ bên ngồi hay từ nội bộ bên
trong, ngay cả quản trị viên CSDL là cần thiết, có ý nghĩa khoa học và ứng dụng
thực tiễn cao.
2. TỔNG QUAN TÌNH HÌNH THỰC TẾ VÀ TÌNH HÌNH NGHIÊN CỨU
Năm 2010, Nguyễn Cửu Ánh Mai với luận văn Thạc sĩ chuyên ngành Khoa học
máy tính “Nghiên cứu giải pháp bảo mật cơ sở dữ liệu SQL Server bằng phương
pháp mã hóa” [1], tác giả đã nghiên cứu các tính năng mã hóa trong SQL Server
2008 và xây dựng chương trình thực hiện chức năng mã hóa CSDL dựa trên các
tính năng đã nghiên cứu.

11


Cũng đề cập đến nội dung bảo mật CSDL, Phạm Thị Bạch Huệ đã hồn thành luận
án Tiến sĩ Cơng nghệ thông tin trong năm 2013: “Nghiên cứu và phát triển một số
giải pháp bảo mật và bảo vệ tính riêng tư trong cơ sở dữ liệu thuê ngoài (ODBS)”
[2]. Mục tiêu của luận án liên quan đến vấn đề bảo mật và bảo vệ tính riêng tư đặt ra
trong dịch vụ quản lý cơ sở dữ liệu thuê ngoài. Nguyên nhân chính là do máy chủ
thuộc về một tổ chức bên ngồi, được xem là khơng đáng tin cậy đối với nội dung
cơ sở dữ liệu. Trong luận án tác giả có tổng hợp: "Theo thống kê năm 2011, có ít
nhất 8 triệu hồ sơ y tế bị đánh cắp trong khoảng từ năm 2009 – 2011; có hơn 77
triệu hồ sơ cá nhân, gồm cả thông tin thẻ tín dụng, bị truy cập trên hệ thống cung
cấp trị chơi trực tuyến của Sony (Sony Playstation Network). Nguyên nhân chủ yếu

của việc mất cắp này xuất phát từ vấn đề quản lý quyền truy cập, máy chủ bị tấn
công hay do cả từ phía người quản trị CSDL khơng đáng tin cậy. Ngồi ra, hiện tại,
tính riêng tư của người sử dụng các dịch vụ trực tuyến (ví dụ dịch vụ của Google,
Microsoft Corp., Facebook, Twitter) gần như bị phơi bày hoàn toàn đối với nhà
cung cấp dịch vụ và người sử dụng dịch vụ khơng thể kiểm sốt thơng tin riêng tư
của họ có được bảo vệ hay không".
Liên quan đến vấn đề bảo vệ bản quyền và bảo vệ tính tồn vẹn trong CSDL: Năm
2014, trong luận văn Thạc sĩ Khoa học máy tính của Dương Thị Lan Hương với đề
tài “Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân số dựa
vào hệ mật mã khóa cơng khai” [3]. Một CSDL được công khai và sử dụng rộng rãi
trên mạng Internet dễ dẫn đến việc CSDL đó dễ dàng bị sao chép, sửa đổi. Để bảo
vệ dữ liệu không bị sao chép bất hợp pháp và bảo vệ sự tồn vẹn của dữ liệu trong
CSDL, tác giả đã trình bày chi tiết kỹ thuật thủy vân số kết hợp với cơ chế xác thực
công khai dựa vào hệ mật mã khóa cơng khai.
Bài báo “A New Design Of A Hybrid Encryption Algorithm” [4] do Jan
Mohammad Najar, Shahid Bashir Dar viết năm 2014. Mục đích của bài báo là đề
xuất một mơ hình mới để mã hóa dữ liệu bằng cách kết hợp thuật tốn mã hóa đối
xứng và mã hóa cơng khai (mã hóa bất đối xứng). Giải pháp đưa ra là dùng phương
pháp mã hoá đối xứng AES để mã hố dữ liệu, sau đó dùng khóa cơng khai của hệ

12


mã hóa bất đối xứng RSA để mã hố khố chung của AES. Dữ liệu được giải mã
như sau: sử dụng khóa bí mật của hệ mã RSA để giải mã khóa chung của AES,
khóa AES sẽ thực hiện giải mã dữ liệu đã mã hóa.
Luận văn Thạc sĩ Cơng nghệ thông tin năm 2015, tác giả Nguyễn Hồng Giang đã
thực hiện đề tài “Nghiên cứu giải pháp bảo mật cơ sở dữ liệu SQL Server 2012
bằng phương pháp mã hóa” [5], trong luận văn tác giả nghiên cứu các phương pháp
mã hóa CSDL trong SQL Server 2012. Dựa trên các tính năng đã được nghiên cứu,

đưa ra các cách thực hiện cụ thể và so sánh về hiệu năng cũng như cách thức thực
hiện các biện pháp bảo mật trong hệ quản trị CSDL SQL Server 2012.
Định hướng nghiên cứu: Từ tình hình thực tế nêu trên và những vấn đề nghiên cứu
còn tồn tại, đề tài này tập trung đến vấn đề bảo vệ dữ liệu lưu trong CSDL, cụ thể là
dùng kỹ thuật mật mã bằng cách kết hợp thuật tốn mã hóa cơng khai và mã hóa đối
xứng để mã hóa dữ liệu, giải quyết các vấn đề liên quan đến giải mã, sử dụng chung
khóa cơng khai, thay đổi khóa bí mật,.. Định hướng nghiên cứu trong đề tài này
xuất phát từ nhu cầu thực tế, những tồn tại và hướng phát triển của những nghiên
cứu gần đây, có thể kể đến như:
- Luận văn Thạc sĩ năm 2010 với đề tài “Nghiên cứu giải pháp bảo mật cơ sở dữ
liệu SQL Server bằng phương pháp mã hóa” [1]. Hướng phát triển là nghiên cứu
giải pháp mã hóa trong bảo mật CSDL ORACLE.
- Hướng nghiên cứu tiếp theo là bảo vệ tính bí mật dữ liệu, được đề cập nhưng
chưa thực hiện trong Luận án Tiến sĩ “Nghiên cứu và phát triển một số giải pháp
bảo mật và bảo vệ tính riêng tư trong cơ sở dữ liệu thuê ngoài (ODBS)” [2].
- Kết hợp thuật tốn mã hóa cơng khai RSA và mã hố đối xứng AES để mã
hóa dữ liệu, được trình bày trong bài báo: “A New Design Of A Hybrid Encryption
Algorithm” [4]. Thuật tốn này giúp hệ thống xử lí hiệu quả hơn khi áp dụng hệ mã
RSA và phù hợp để xây dựng giải pháp bảo mật dữ liệu trong CSDL.

13


Đó là các lý do mà chúng tơi chọn thực hiện đề tài: “Nghiên cứu xây dựng giải pháp
bảo vệ tính bí mật và tính riêng tư dữ liệu trong cơ sở dữ liệu bằng phương pháp mã
hóa”.
3. MỤC TIÊU NGHIÊN CỨU
-

Nghiên cứu tổng quan về an toàn và bảo mật trong CSDL; ứng dụng các

thuật tốn mã hóa đối xứng và mã hóa cơng khai trong bảo mật CSDL.

-

Tìm hiểu các giải pháp bảo mật và bảo mật bằng phương pháp mã hóa trong
hệ quản trị cơ sở dữ liệu ORACLE để có sự đối chiếu với thực tiễn và so
sánh về giải pháp thương mại.

-

Đề xuất giải pháp bảo vệ tính bí mật và tính riêng tư dữ liệu trong cơ sở dữ
liệu bằng phương pháp mã hóa: Kết hợp thuật tốn mã hóa cơng khai (RSA)
và mã hóa đối xứng (AES) để mã hóa dữ liệu trong CSDL. Đồng thời, đưa ra
một số giải pháp xử lý cho các vấn đề liên quan đến giải mã, sử dụng chung
khóa cơng khai, thay đổi khóa bí mật,..

-

Xây dựng chương trình thực nghiệm theo các giải pháp đã đề xuất, ứng dụng
vào giải quyết một bài toán cụ thể cho dữ liệu không vận đơn (Airway Bill)
tại sân bay.

4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
-

Nghiên cứu cách bảo mật CSDL bằng phương pháp mã hóa.

-

Tìm hiểu tính năng mã hóa trong ORACLE để đánh giá, so sánh.


-

Tìm hiểu hệ mật mã khóa đối xứng (AES) và hệ mật mã khóa cơng khai
(RSA). Kết hợp RSA-AES để bảo vệ tính bí mật và tính riêng tư dữ liệu
trong CSDL. Dữ liệu được mã hóa trên ứng dụng trước khi truyền lưu vào
CSDL.

5. PHƯƠNG PHÁP NGHIÊN CỨU
-

Nghiên cứu lý thuyết:
14


+ Bảo mật CSDL bằng phương pháp mã hóa, các thuật tốn mã hóa.
+ Tìm hiểu tính năng mã hóa trong Oracle để so sánh thực tế.
-

Xây dựng chương trình thử nghiệm:
+ Mã hóa dữ liệu trong CSDL bằng phương pháp kết hợp thuật tốn mã hóa
cơng khai (RSA) và mã hóa đối xứng (AES).
+ Một số đề xuất giải pháp giải quyết các vấn đề liên quan đến giải mã, sử
dụng chung khóa cơng khai, thay đổi khóa bí mật,..

6. CẤU TRÚC CỦA LUẬN VĂN
Ngoài các phần: Mở đầu, Kết luận, Tài liệu tham khảo và Phụ lục, cấu trúc luận văn
gồm 3 chương:
Chương 1: Nghiên cứu tổng quan về bảo mật cơ sở dữ liệu.
Chương 2: Giải pháp bảo vệ tính bí mật và tính riêng tư dữ liệu trong cơ sở dữ

liệu bằng phương pháp mã hóa.
Chương 3: Xây dựng chương trình và kết quả thử nghiệm.

15


CHƯƠNG 1:
NGHIÊN CỨU TỔNG QUAN VỀ BẢO MẬT CƠ SỞ DỮ LIỆU
1.1 Một số khái niệm sử dụng trong đề tài nghiên cứu
- Dữ liệu (Data): là các giá trị của thơng tin định lượng hoặc định tính của các sự
vật, hiện tượng trong cuộc sống. Trong tin học, dữ liệu được dùng như một cách
biểu diễn hình thức hố của thơng tin về các sự kiện, hiện tượng thích ứng với các
yêu cầu truyền nhận, thể hiện và xử lí bằng máy tính. [6]
- Thơng tin (Information): là dữ liệu đã được xử lý, phân tích, tổ chức nhằm mục
đích hiểu rõ hơn sự vật, sự việc, hiện tượng theo một góc độ nhất định. [6]
- Hệ thống thơng tin (Information Systems) là một hệ thống gồm con người, dữ liệu
và những hoạt động xử lý dữ liệu và thông tin trong một tổ chức. [6]
- Bảo mật hệ thống thông tin (Information Systems Security): là bảo vệ hệ thống
thông tin chống lại việc truy cập, sử dụng, chỉnh sửa, phá hủy, làm lộ và làm gián
đoạn thông tin và hoạt động của hệ thống một cách trái phép. [6]
- Cơ sở dữ liệu (CSDL-Database): là tập hợp các dữ liệu có cấu trúc và liên quan
với nhau được lưu trữ trên máy tính, được nhiều người sử dụng và được tổ chức
theo một mơ hình.
- Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): là tập hợp các
phần mềm cho phép định nghĩa các cấu trúc để lưu trữ thông tin trên máy, nhập dữ
liệu, thao tác trên các dữ liệu đảm bảo sự an tồn và bí mật của dữ liệu.
- Hệ thống cơ sở dữ liệu (Database System): là phần mềm DBMS cùng với dữ liệu
của bản thân cơ sở dữ liệu đó.
- Quản trị viên cơ sở dữ liệu (Database Administrators - DBA): Trong những tổ
chức có nhiều người cùng sử dụng chung một nguồn dữ liệu thì nhất thiết phải có

một người đứng đầu quản lý, chịu trách nhiệm đối với nguồn dữ liệu này. Đó chính
16


là người quản trị cơ sở dữ liệu. DBA có nhiệm vụ tổ chức nội dung của cơ sở dữ
liệu, tạo và phân quyền cho người sử dụng, đưa ra yêu cầu về phần cứng và phần
mềm,… nếu cần thiết. DBA chịu trách nhiệm bảo vệ an toàn, sao lưu dữ liệu,… khi
có sự cố.
- Người dùng (User): là những người dùng cuối truy cập CSDL để truy vấn, cập
nhật, thống kê, báo cáo.
- Xác thực (Authentication): xác minh người dùng đang đăng nhập vào hệ thống là
một người dùng hợp lệ.
- Bảo vệ tính bí mật dữ liệu (Data confidentiality): là bảo vệ dữ liệu khơng bị lộ ra
ngồi từ những truy cập bất hợp pháp, ngay cả từ quản trị viên CSDL.
- Bảo vệ tính riêng tư dữ liệu (Data privacy): là bảo vệ tính bí mật của nội dung dữ
liệu và hệ thống cần đảm bảo không có một chủ thể nào khác (ngồi chính người
dùng đã nhập dữ liệu vào hệ thống) có thể biết được nội dung dữ liệu.
Tính bí mật và riêng tư dữ liệu được bảo vệ bằng một cơ chế quản lý truy cập, mã
hóa dữ liệu hoặc kết hợp cả hai. Trong nội dung đề tài, chúng tôi chỉ tập trung thực
hiện bảo vệ tính bí mật và tính riêng tư dữ liệu bằng phương pháp mã hóa. Dữ liệu
được mã hóa trên ứng dụng trước khi truyền lưu vào CSDL.

Hình 1.1 Mơ hình mã hóa dữ liệu trong CSDL ở mức ứng dụng

17


1.2 An tồn và bảo mật thơng tin [7], [8], [6]
Với sự phát triển của công nghệ thông tin, đặt biệt là mạng Internet, thông tin được
truy cập, khai thác và trao đổi ngày càng cao. Vì thế vấn đề an tồn và bảo mật

thơng tin được xem là một trong những quan tâm hàng đầu của xã hội, có ảnh
hưởng rất lớn đến hầu hết các ngành khoa học tự nhiên, kỹ thuật, khoa học xã hội
và kinh tế. Những u cầu bảo mật hệ thống thơng tin [6]:

Hình 1.2 Những yêu cầu bảo mật hệ thống thông tin.
- Tính bí mật (Confidentiality): bảo vệ dữ liệu khơng bị lộ ra ngồi một cách
trái phép.
Ví dụ: Trong hệ thống ngân hàng, một khách hàng được phép xem thông tin
số dư tài khoản của mình nhưng khơng được phép xem thơng tin của khách
hàng khác.
- Tính tồn vẹn (Integrity): Chỉ những người dùng được ủy quyền mới được
phép chỉnh sửa dữ liệu.
Ví dụ: Trong hệ thống ngân hàng, khơng cho phép khách hàng tự thay đổi
thông tin số dư của tài khoản của mình.
- Tính sẵn sàng (Availability): Đảm bảo dữ liệu luôn sẵn sàng khi những người
dùng hoặc ứng dụng được ủy quyền yêu cầu.

18


Ví dụ: Trong hệ thống ngân hàng, cần đảm bảo rằng khách hàng có thể truy
vấn thơng tin số dư tài khoản bất kỳ lúc nào theo như quy định.
- Tính chống thối thác (Non-repudiation): Khả năng ngăn chặn việc từ chối
một hành vi đã làm.
Ví dụ: Trong hệ thống ngân hàng, có khả năng cung cấp bằng chứng để chứng
minh một hành vi khách hàng đã làm, như rút tiền, chuyển tiền.
Chúng ta đang sống trong một thời đại bùng nổ thông tin. Nhu cầu trao đổi thông
tin và các phương tiện truyền đa thông tin phát triển một cách nhanh chóng. Và
cùng với sự phát triển đó, địi hỏi bảo vệ tính bí mật và an tồn của thơng tin cũng
càng ngày càng to lớn và có tính phổ biến. Có nhiều bài tốn khác nhau về u cầu

an tồn thơng tin tùy theo những tình huống khác nhau, nhưng tựu trung có một số
bài tốn chung nhất mà ta thường gặp trong thực tiễn là những bài tốn sau đây [8]:
- Bảo mật: giữ thơng tin được bí mật đối với tất cả mọi người, trừ một ít người
có thẩm quyền được đọc, biết thơng tin đó;
- Tồn vẹn thơng tin: bảo đảm thơng tin khơng bị thay đổi hay xun tạc bởi
những kẻ khơng có thẩm quyền hoặc bằng những phương tiện không được
phép;
- Nhận thực một thực thể: xác nhận danh tính của một thực thể, chẳng hạn một
người, một máy tính cuối trong mạng, một thẻ tín dụng,..;
- Nhận thực một thơng báo: xác nhận nguồn gốc của một thông báo được gửi
đến;
- Chữ ký: một cách để gắn kết một thông tin với một thực thể, thường dùng
trong bài toán nhận thực một thơng báo cũng như trong nhiều bài tốn nhận
thực khác;
- Ủy quyền: chuyển cho một thực thể khác quyền được đại diện hoặc được làm
một việc gì đó;
19


- Cấp chứng chỉ: cấp một sự xác nhận thông tin bởi một thực thể được tín
nhiệm;
- Báo nhận: xác nhận một thông báo đã được nhận hay một dịch vụ đã được
thực hiện;
- Làm chứng: kiểm thử việc tồn tại một thông tin ở một thực thể khác với người
chủ sở hữu thơng tin đó;
- Khơng chối bỏ được: ngăn ngừa việc chối bỏ trách nhiệm đối với một cam kết
đã có (thí dụ đã ký vào một văn bản);
- Ẩn danh: che giấu danh tính của một thực thể tham gia trong một tiến trình
nào đó (thường dùng trong giao dịch tiền điện tử);
- Thu hồi: rút lại một giấy chứng chỉ hay ủy quyền đã cấp;

Cơ sở của các giải pháp cho các bài toán kể trên là các phương pháp mật mã, đặc
biệt là mật mã khóa cơng khai.
1.3 Bảo mật cơ sở dữ liệu bằng phương pháp mã hóa
Bảo mật CSDL (Database Security): là một hệ thống quy trình hay thủ tục để bảo vệ
CSDL khỏi các tác động ngoài ý muốn như lạm dụng quyền hạn, vô ý hoặc cố ý
trong truy cập CSDL. Các cơ chế bảo mật CSDL [6]:
- Xác thực (Authentication)
- Kiểm sốt truy cập (Access controls)
- Kiểm tra tính tồn vẹn (Integrity controls)
- Khả năng giám sát (Auditing)
- Mã hóa (Encryption)
Mã hoá CSDL là biện pháp tiếp theo cần áp dụng để bảo mật CSDL, là lớp bảo vệ
trong trường hợp các biện pháp kiểm soát truy cập đã bị vượt qua. Việc mã hoá này
20


phải được thực hiện một cách đúng đắn để đảm bảo người dùng có tồn quyền trên
hệ điều hành cũng không thể đọc được dữ liệu nếu không thông qua kiểm sốt của
ứng dụng.
1.3.1 Các mức mã hóa (Encryption Level) [9], [10], [11]
- Mã hóa mức lưu trữ (Storage-Level Encryption):
Thực hiện mã hóa dữ liệu trong các hệ thống lưu trữ để bảo vệ dữ liệu. Mã hóa mức
lưu trữ sử dụng trong mã hóa các tập tin, thư mục dữ liệu trong mơi trường hệ điều
hành. Mã hóa mức lưu trữ giúp bảo vệ dữ liệu mà không phải thay đổi ứng dụng
đang có. Mã hóa mức lưu trữ khơng quan tâm đến cấu trúc dữ liệu, do đó, mức độ
nhạy cảm của dữ liệu không ảnh hưởng khi thực hiện. Vấn đề là phải lựa chọn các
tập tin sẽ được mã hóa để đảm bảo thơng tin nhạy cảm khơng bị rị rỉ.

Hình 1.3 Mơ hình mã hóa mức lưu trữ
- Mã hóa mức hệ quản trị CSDL (DBMS-Level Encryption):

Cho phép bảo vệ dữ liệu khi đưa vào hoặc lấy ra từ CSDL. Mã hóa mức CSDL phụ
thuộc vào quá trình thiết kế CSDL, với các yêu cầu về độ nhạy cảm của dữ liệu hay
phân quyền người sử dụng. Mã hóa mức CSDL có thể thực hiện linh hoạt với bảng,
cột hay dòng dữ liệu. Tùy thuộc vào mức độ hỗ trợ của DBMS, để thực hiện mã hóa
mức CSDL có thể phải thay đổi ứng dụng đang có. Hơn nữa, mã hóa mức CSDL có
thể làm giảm hiệu năng của DBMS.
21


Thực hiện mã hóa mức CSDL tức là dữ liệu được giải mã tại máy chủ CSDL. Tức
là, máy chủ phải lưu trữ bản mã, các khóa mã hóa. Do đó, khi kẻ tấn cơng chiếm
được quyền quản trị máy chủ thì cũng có thể chiếm quyền sử dụng các bản mã và
khóa mã hóa để đánh cắp dữ liệu.

Hình 1.4 Mơ hình mã hóa mức hệ quản trị CSDL
- Mã hóa mức ứng dụng (Application-Level Encryption):
Thực hiện q trình mã hóa và giải mã trên ứng dụng để xử lý dữ liệu. Mã hóa được
thực hiện trên ứng dụng rồi đưa vào hệ thống. Dữ liệu mã hóa được hệ thống lưu trữ
và được giải mã trên ứng dụng. Phương pháp này có lợi ích là tách biệt khóa (trên
ứng dụng) và dữ liệu được mã hóa (lưu trong CSDL). Tuy nhiên, để áp dụng thì ứng
dụng phải viết lại. Ngồi ra, tùy thuộc vào mức độ mã hóa, khi lấy dữ liệu, ứng
dụng có thể lấy thừa dữ liệu từ CSDL, do đó làm giảm tính an tồn. Trong một số
trường hợp, để tối ưu, mã hóa có thể thực hiện nhờ các hàm lưu sẵn trong DBMS để
giảm tải cho ứng dụng. Khi đó, với cơ chế quản lý khóa của DBMS, mã hóa mức
ứng dụng có thể được thực hiện linh hoạt, tùy thuộc vào sự hợp lý của ứng dụng
đang sử dụng.

22



Hình 1.5 Mơ hình mã hóa mức ứng dụng
1.3.2 Phương pháp mã hóa [12], [13], [14], [15], [16], [4], [8]
- Hàm băm (Hash Function):
Hàm băm sử dụng phép biến đổi tốn học để mã hóa thơng tin theo một chiều
(khơng sử dụng khóa). Một hàm băm nhận đầu vào là một xâu ký tự (hay thơng
điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định. Hàm băm
h là hàm một chiều có các đặc tính sau:
+ Với thơng điệp đầu vào X thu được bản băm Y = h(X) là duy nhất.
+ Hai thơng điệp khác nhau thì giá trị hàm băm hoàn toàn khác nhau.
+ Nội dung của thông điệp gốc không thể được suy ra từ giá trị hàm băm.
Một số ứng dụng của hàm băm bao gồm bảo vệ mật khẩu, chứng thực và kiểm tra
tính ngun vẹn của thơng điệp. Một số thuật tốn hàm băm an tồn nổi tiếng gồm
có SHA-224, SHA-256, SHA-384, và SHA-512. Các thuật toán SHA-1 và MD5
hiện đang được sử dụng rộng rãi.
- Mã hóa đối xứng (Symetric cryptography)

23


Mã hoá đối xứng sử dụng cùng một khoá cho cả hai q trình mã hố và giải mã.
Mã hố đối xứng có thể tác động trên bản rõ theo từng nhóm bit hay theo từng bit
một.

Hình 1.6 Mơ hình mã hóa đối xứng
* Hệ mã hóa đối xứng AES (Advanced Encryption Standard)
Năm 1997, Viện tiêu chuẩn và công nghệ Mỹ (NIST - National Institute of Standard
and Technology) kêu gọi phát triển một thuật toán mới thay thế cho DES. Thuật
tốn được chọn phải là thuật tốn khối có kích thước khối là 128 bit, hỗ trợ khóa có
kích thước 128 bit, 192 bit và 256 bit. Năm 2001, Thuật toán Rijndael được chọn
làm hệ mã AES.

Trong Rijndael, khối dữ liệu có kích thước 128, 192, hoặc 256 bit và khố có kích
thước 128, 192 hoặc 256 bit. Trong AES, NIST đã giới hạn lại kích thước khối là
128 bit.
- Mã hóa khóa cơng khai (Mã hóa bất đối xứng- Asymetric cryptography)
Mã hóa bất đối xứng sử dụng một cặp khóa có liên quan với nhau về mặt tốn học,
một khóa cơng khai dùng để mã hố (public key) và một khóa bí mật dùng để giải
mã (private key). Một thơng điệp sau khi được mã hóa bởi khóa cơng khai sẽ chỉ có
thể được giải mã với khóa bí mật tương ứng. Do các thuật toán loại này sử dụng
một khóa cơng khai (khơng bí mật) nên cịn có tên gọi khác là public-key
cryptography (thuật tốn mã hóa khóa công khai).
24


Hình 1.7 Mơ hình mã hóa khóa cơng khai
* Hệ mã hóa khóa cơng khai RSA (Rivest-Shamir-Adleman)
Thuật tốn RSA có hai khóa: khóa cơng khai (hay khóa cơng cộng) và khóa bí mật
(hay khóa cá nhân). Mỗi khóa là những số cố định sử dụng trong q trình mã hóa
và giải mã. Khóa cơng khai được cơng bố rộng rãi cho mọi người và được dùng để
mã hóa. Những thơng tin được mã hóa bằng khóa cơng khai chỉ có thể được giải mã
bằng khóa bí mật tương ứng. Nói cách khác, mọi người đều có thể mã hóa nhưng
chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được.
Thuật toán RSA:
Chọn hai số nguyên tố ngẫu nhiên lớn p,q .Tính n = p.q
Tính Φ(n) = (p – 1)(q -1)
Chọn e , 1 ≤ e ≤ Φ(n) -1, sao cho e và Φ(n) là hai số nguyên tố cùng nhau.
Tính số d sao cho e.d ≡ 1 mod Φ(n) , tức là tính d= e
- Khóa cơng khai (Public key-PU) là (e,n)
- Khóa bí mật (Private key-PR) là d
* Bảo mật theo thuật toán RSA:
- Mã hóa bản rõ M:

C = Encrypt (M, PU) = M

e

mod n

25

-1

mod Φ(n)


- Giải mã từ bản mã C:

d

M = Decrypt (C, PR) = C mod n
* Chứng thực theo thuật toán RSA:
- Mã hóa bản rõ M:

d

C = Encrypt (M, PR) = M

mod n

- Giải mã từ bản mã C:

e


M = Decrypt (C, PU) = C mod n
1.4 Bảo mật bằng phương pháp mã hóa trong hệ quản trị CSDL ORACLE
[17], [18], [19], [20], [21], [22], [23], [24]
Hệ quản trị CSDL ORACLE có các chức năng mã hóa như sau: Mã hóa dữ liệu
bằng TDE (Transparent Data Encryption), Sao lưu CSDL đuợc mã hóa với cơng cụ
RMAN (Data encrypted on backup files), Mã hóa dữ liệu trên đường truyền
(Network encryption).

Hình 1.8 Mơ hình chức năng mã hóa trong ORACLE

26


Trong nội dung phần này, đề tài sẽ tìm hiều phương pháp mã hóa dữ liệu bằng
TDE: Cơ chế quản lý khóa, hoạt động của TDE, cấu hình Oracle Wallet và thực
nghiệm mã hóa TDE.

Hình 1.9 Cơ chế hoạt động TDE
TDE là giải pháp mã hóa dữ liệu trong suốt:
-

Dữ liệu được mã hóa ở mức lưu trữ trong data files (các tập tin chứa dữ liệu
của CSDL) và được giải mã tự động khi ứng dụng truy cập.

-

Quá trình tạo khóa, kết hợp khóa được quản lý và xác thực bởi cơ sở dữ liệu.

TDE sử dụng hai khóa để bảo đảm mã hóa dữ liệu được an tồn: Khóa Master

encryption key (MK) lưu ngồi CSDL, được lưu trong Oracle Wallet (PCKS#12
file) hoặc lưu trữ trên những mô-đun bảo mật phần cứng (HSM-hardware security
module). Bản mã khóa Column encryption Key (CK), được mã hóa bởi khóa MK,
được lưu trong CSDL. Khóa CK dùng để mã hóa và giải mã dữ liệu.
ORACLE đã tích hợp cú pháp TDE trong các DDL, nên việc mã hóa có thể xác
định một cách trực tiếp thông qua các cú pháp sau: CREATE table, ALTER table,
và CREATE tablespace TABLESPACE.

27


×