Tiểu luận Cơ sở dữ liệu nâng cao - Đề tài: Mã hóa cơ sở dữ liệu Database Encryption

TRƢỜNG ĐẠI HỌC KHOA HỌC HUẾ  
KHOA CÔNG NGHỆ THÔNG TIN  
TIỂU LUẬN  
CƠ SỞ DỮ LIỆU NÂNG CAO  
ĐỀ TÀI:  
MÃ HÓA CƠ SỞ DỮ LIỆU  
DATABASE ENCRYPTION  
LỚP CAO HỌC: NGÀNH KHOA HỌC MÁY TÍNH  
GVHD: PGS.TS NGUYỄN MẬU HÂN  
THỰC HIỆN: NHÓM 2  
Cao Chí  
Hiển  
Thụy  
Thảo  
Hiểu  
Nguyễn Thị  
Nguyễn Thị  
Đào Thị  
Dƣơng Thị Minh Thảo  
GIA LAI, 7/ 2018  
MỤC LỤC  
LỜI NÓI ĐẦU  
Hiện này, thời đại công nghệ thông tin đã được toàn cầu hóa với sự trợ giúp  
của mạng Internet. Cùng với sự phát triển của công nghệ thông tin đã thúc đấy sự  
phát triển kinh tế, xã hội. Các hoạt động của các tổ chức xã hội như: Kinh tế, chính  
trị, văn hóa, quân sự,… Ngoài những thông tin được chia sẻ của các tổ chức lên  
mạng Internet hay các trang mạng xã hội. Bên cạnh đó có những thông tin việc mất  
mát, rò rỉ thông tin có thể ảnh hưởng nghiêm trọng đến tài chính, sự tồn vong của  
tổ chức.  
Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể  
dẫn đến mất mát thông tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông  
tin của tổ chức. Vì vậy an toàn và bảo mật thông tin là nhiệm vụ rất nặng nề và khó  
đoán trước được, nhưng tựu trung lại gồm ba hướng chính sau: Bảo đảm an toàn  
thông tin tại máy chủ; Bảo đảm an toàn cho phía máy trạm; Bảo mật thông tin trên  
đường truyền.  
Vậy vấn đề đặt ra là dự liệu khi được lưu trữ trên may chủ, máy trạm và di  
chuyển trên đường truyền làm sao bảo về được dữ liệu và chống được các truy cập  
trái phép cơ sở dữ liệu. Nếu dữ liệu vẫn bị hacker tấn công và chiếm đọt quyền  
truy cập cơ sở dữ liệu, làm sao thông tin vẫn không bị rò rỉ, mất mát. Đó là dữ liệu  
trước khi lưu trữ ở máy trạm, máy chủ và truyền đi phải được mã hóa. Đây là nội  
dung chính trong tiểu luận của nhóm em về đề tài: Mã hóa cơ sở dữ liệu  
(Database Encryption)  
Mặc dù đã rất cố gắng nhưng tiểu luận này không tránh khỏi những sai sót.  
Nhóm chúng em rất mong nhận được các ý kiến góp ý của thầy hướng dẫn và các  
bạn.  
Xin chân thành cảm ơn PGS.TS. NGUYỄN MẪU HÂN đã tận tình hướng  
dẫn và tạo điều kiện cho chúng em hoàn thành môn học này.  
Trang 1  
 
ĐỀ TÀI:  
MÃ HÓA CƠ SỞ DỮ LIỆU (DATABASE ENCRYPTION)  
I. ĐỊNH NGHĨA VÀ HỌC THUYẾT MÃ HÓA CƠ SỞ DỮ LIỆU  
1.1. Đinh nghĩa Mã hóa cơ sở dữ liệu - Definition:  
Mã hóa cơ sở dữ liệu đề cập đến việc sử dụng các kỹ thuật mã hóa để biến  
đổi cơ sở dữ liệu văn bản rõ vào một cơ sở dữ liệu được mã hóa (hoặc một phần cơ  
sở dữ liệu), do đó làm cho nó không thể đọc được cho bất kỳ ai ngoại trừ những  
người có khóa mã hóa, hay kiến thức về các khóa mã hóa.  
1.2 Học thuyết mã hóa cơ sở dữ liệu Theory:  
Bảo mật cơ sở dữ liệu bao gồm ba thuộc tính chính: bảo mật, toàn vẹn và  
tính khả sẵn sàng. Nói một cách tổng thể, bảo mật thực thi được xác định trước  
hạn chế trong khi truy cập dữ liệu được bảo vệ, do đó ngăn chặn việc những người  
không được phép truy cập. Thuộc tính toàn vẹn đảm bảo rằng dữ liệu không thể bị  
hỏng một cách vô hình. Cuối cùng, tính sẵn sàng đảm bảo kịp thời và truy cập  
đáng tin cậy vào cơ sở dữ liệu.  
Để bảo mật dữ liệu, hãy thực thi các chính sách kiểm soát truy cập được xác  
định của Hệ quản trị cơ sở dữ liệu - Database management system (DBMS) là một  
phương pháp phổ biến. Quyền truy cập chính sách kiểm soát, đó là để nói một bộ  
ủy quyền, có thể có các hình thức khác nhau tùy thuộc vào mô hình dữ liệu cơ bản  
(ví dụ, CSDL quan hệ, XML,…) và cách ủy quyền nào được quản lý, sau quyền  
truy cập Tùy ý kiểm soát (DAC), Kiểm soát truy cập dựa trên vai trò (RBAC) hoặc  
Kiểm soát truy cập bắt buộc (MAC).  
Bất kể mô hình điều khiển truy cập, các ủy quyền được thực thi bởi cơ sở dữ  
liệu máy chủ có kẻ hở. Ví dụ: kẻ xâm nhập có thể xâm nhập hệ thống thông tin và  
cố gắng khai thác cơ sở dữ liệu trên đĩa. Thực tế là nhiều cơ sở dữ liệu được thuê  
đặt tại các máy chủ chứa hệ quản trị cơ sở dữ liệu đây là một kiểu lộ thông tin từ  
nhà cung cấp dịch vụ. Nhà cung cấp dịch vụ cơ sở dữ liệu (DSP). Sau đó, chủ sở  
hữu dữ liệu không có lựa chọn nào khác ngoài tin tưởng DSP rằng hệ thống của họ  
Trang 2  
       
được bảo đảm đầy đủ và nhân viên của họ ngoài bất kỳ nghi ngờ nào. Cuối cùng,  
một quản trị viên cơ sở dữ liệu (DBA) có đủ đặc quyền để giả mạo kiểm soát truy  
cập định nghĩa và để theo dõi hành vi DBMS.  
Với tinh thần của một nguyên tắc cũ và quan trọng được gọi là bảo vệ theo  
chiều sâu (tức là, lớp bảo vệ như vậy mà kẻ tấn công phải vượt qua lớp sau lớp bảo  
vệ), với các kỹ thuật mã hóa để bổ sung và củng cố quyền truy cập kiểm soát gần  
đây đã nhận được nhiều sự chú ý từ cộng đồng cơ sở dữ liệu. Mục đích của mã hóa  
cơ sở dữ liệu là đảm bảo độ mờ của cơ sở dữ liệu bằng cách giữ thông tin bị ẩn với  
bất kỳ người nào không được phép (ví dụ: kẻ xâm nhập). Thậm chí nếu những kẻ  
tấn công có được các chính sách kiểm soát truy cập tường lửa và bỏ qua lớp bảo  
vệ, họ vẫn cần các khóa mã hóa để giải mã dữ liệu.  
Mã hóa có thể cung cấp bảo mật mạnh cho dữ liệu khi đã mã hóa, nhưng  
phát triển chiến lược mã hóa cơ sở dữ liệu phải cân nhắc nhiều yếu tố. dụ, nơi  
cần được thực hiện mã hóa, trong lớp lưu trữ, trong cơ sở dữ liệu hoặc trong ứng  
dụng nơi dữ liệu đã được tạo ra? Số lượng dữ liệu nên được mã hóa để bảo mật đầy  
đủ? Nên dùng thuật toán gì để mã hóa? Ai nên có quyền truy cập vào các khóa mã  
hóa? Làm thế nào để giảm thiểu tác động của mã hóa cơ sở dữ liệu lên dữ liệu?  
II. CÁC MỨC ĐỘ MÃ HÓA - ENCRYPTION LEVEL  
2.1. Mức độ mã hóa lƣu trữ: Storage-level encryption  
Để mã hóa dữ liệu trong các hệ thống con lưu trữ và do đó bảo vệ dữ liệu đầu cuối (ví dụ,  
bị trộm cắp phương tiện lưu trữ). Việc này rất thích hợp cho mã hóa tệp hoặc toàn bộ thư mục  
trong hệ điều hành. Theo quan điểm cơ sở dữ liệu, mã hóa mức lưu trữ có lợi thế để minh bạch,  
do đó tránh bất kỳ sự thay đổi nào đối với các ứng dụng hiện hành. Mặt khác, các hệ thống con  
lưu trữ không có hiểu biết về các đối tượng và cấu trúc cơ sở dữ liệu, nên chiến lược mã hóa  
không thể liên quan đến các quyền của người dùng (ví dụ: dùng các khóa mã hóa cho người  
dùng riêng biệt để sử dụng cơ sở dữ liệu), cũng như độ nhạy cảm của dữ liệu. Do đó, mã hóa  
chọn lọc - tức là, chỉ mã hóa một phần của cơ sở dữ liệu để giảm chi phí mã hóa - được giới hạn  
ở mức độ chi tiết của tệp. Tuy nhiên, các tập tin mã hóa chọn lọc là rủi ro vì người ta phải đảm  
bảo rằng không có bản sao dữ liệu nhạy cảm nào vẫn không được mã hóa (ví dụ: trong tệp nhật  
ký log file, tệp tạm thời temporary file, v.v.).  
Trang 3  
   
2.2. Mức độ mã hóa Cớ sở dữ liệu: Database-level encryption  
Mức độ mã hóa CSDL cho phép bảo mật dữ liệu khi nó được chèn vào, hoặc  
được lấy dữ liệu ra từ cơ sở dữ liệu. Do đó, chiến lược mã hóa có thể là một phần  
của thiết kế cơ sở dữ liệu và có thể liên quan đến độ nhạy dữ liệu hoặc đặc quyền  
của người dùng.  
Mã hóa chọn lọc có thể thực hiện được và có thể được thực hiện ở nhiều  
mức chi tiết khác nhau, chẳng hạn như bảng, cột, hàng. Nó thậm chí có thể liên  
quan đến một số điều kiện logic. Tùy thuộc vào mức độ tích hợp của tính năng mã  
hóa trong các DBMS, quá trình mã hóa có thể phát sinh một số thay đổi thành ứng  
dụng. Hơn nữa, nó có thể làm giảm hiệu suất DBMS vì mã hóa thường cấm sử  
dụng chỉ mục trên dữ liệu được mã hóa. Thật vậy, trừ khi sử dụng thuật toán mã  
hóa cụ thể hoặc phương thức mã hóa, lập chỉ mục dữ liệu được mã hóa là vô dụng.  
Đối với cả hai chiến lược trên, dữ liệu được giải mã trên máy chủ cơ sở dữ  
liệu khi chạy. Như vậy, các khóa mã hóa phải được truyền hoặc giữ với dữ liệu  
được mã hóa trên phía máy chủ, do đó cung cấp sự bảo vệ hạn chế đối với quản trị  
viên máy chủ hoặc bất kỳ kẻ xâm nhập nào chiếm đoạt quyền người quản trị. Bởi  
vì, kẻ tấn công có thể do thám bộ nhớ và khám phá các khóa mã hóa hoặc dữ liệu  
văn bản rõ.  
2.3 Mức độ mã hóa ứng dụng: Application-level encryption  
Mức độ mã hóa ứng dụng là di chuyển quá trình mã hóa / giải mã tới tầng  
ứng dụng khi tạo, xử lý dữ liệu. Do đó, mã hóa được thực hiện ở tầng ứng dụng  
sau đó lưu trữ dữ liệu đã mã hóa vào hệ cơ sở dữ liệu. Việc lưu trữ và truy xuất dữ  
liệu được mã hóa một cách tự nhiên, cuối cùng dữ liệu được giải mã thực hiện tại  
tầng ứng dụng. Cách tiếp cận này có lợi ích để tách các khóa mã hóa khỏi dữ liệu  
được mã hóa được lưu trữ trong cơ sở dữ liệu vì các khóa không bao giờ phải rời  
khỏi phía tầng ứng dụng. Tuy nhiên, các ứng dụng cần được sửa đổi để áp dụng  
giải pháp này. Ngoài ra, tùy thuộc vào mức chi tiết mã hóa, các ứng dụng có thể  
phải truy xuất một tập dữ liệu lớn hơn dữ liệu thực tế cấp cho người dùng. Người  
dùng (hoặc bất kỳ kẻ tấn công nào có quyền truy cập vào máy nơi ứng dụng chạy)  
có thể tấn công ứng dụng để truy cập dữ liệu trái phép.  
Trang 4  
   
Chiến lược trên gây ra chi phí cao hoạt động (chỉ mục trên dữ liệu được mã  
hóa vô ích) và hạn chế một số chức năng nâng cao trong cơ sở dữ liệu trên dữ liệu  
được mã hóa, giống như các thủ tục được lưu trữ store procedure(mã được lưu trữ  
trong DBMS có thể là được chia sẻ và gọi bởi một số ứng dụng) và trigger (mã  
được kích hoạt khi một số dữ liệu trong cơ sở dữ liệu được sửa đổi). Xét về độ chi  
tiết và khóa quản lý, mã hóa cấp ứng dụng mang lại sự linh hoạt cao nhất kể từ khi  
độ chi tiết mã hóa và các khóa mã hóa có thể được chọn tùy thuộc vào logic ứng  
dụng.  
Hình 1. Ba chiến lược mã hóa cơ sở dữ liệu  
III. THUẬT TOÁN MÃ HÓA VÀ MÔ HÌNH HOẠT ĐỘNG: Encryption  
Algorithm and Mode of Operation  
Độc lập với chiến lược mã hóa, bảo mật dữ liệu được mã hóa phụ thuộc vào  
thuật toán mã hóa, kích thước khóa mã hóa. Ngay cả khi đã sử dụng các thuật toán  
mạnh, chẳng hạn như AES, các văn bản mã hóa vẫn có thể tiết lộ thông tin văn bản  
rõ nếu không có chế độ bảo mật phù hợp. Ví dụ, nếu thuật toán mã hóa được thực  
hiện trong chế độ sách điện tử (ECB), giống hệt nhau các khối văn bản được mã  
hóa thành các khối văn bản mã hóa giống hệt nhau. Điều này tiết lộ các mẫu lặp đi  
lặp lại và bị phá với việc so sánh các mẫu. Trong bối cảnh cơ sở dữ liệu, mô hình  
lặp lại phổ biến như nhiều các bản ghi có thể có cùng các giá trị thuộc tính, vì thế  
phải cần lưu ý khi chọn chế độ mã hóa. Hơn nữa, các giải pháp đơn giản có thể  
Trang 5  
 
hoạt động ở các giải pháp khác ngữ cảnh, có thể không thành công trong cơ sở dữ  
liệu vì dữ liệu thường xuyên được cập nhật với dữ liệu trước đó.  
Tất cả các đặc trưng của mgữ cảnh cơ sở dữ liệu như dữ liệu có tính lặp đi lặp lại  
các mẫu, cập nhật, khối lượng lớn dữ liệu được mã hóa nên được xem xét để  
hướng dẫn lựa chọn một thuật toán mã hóa đầy đủ và mô hình hoạt động. Hơn nữa,  
việc bảo vệ nên đủ mạnh vì dữ liệu có thể hợp lệ trong một thời gian rất dài (vài  
năm). Do đó, thuật toán mã hóa hiện đại và mô hình hoạt động (không có bất kỳ  
nhượng quyền) nên được sử dụng.  
IV. QUẢN LÝ KHÓA Key Management  
Quản lý khóa đề cập đến cách các khóa mã hóa được tạo ra và được quản lý  
trong suốt thời gian sống của chương trình, cơ sở dữ liệu. Bởi vì mật mã dựa trên  
các khóa mã hóa và giải mã dữ liệu, giải pháp bảo vệ cơ sở dữ liệu chính là bảo vệ  
của các khóa. Do đó, vị trí của các khóa mã hóa và hạn chế truy cập của chúng đặc  
biệt quan trọng. Vì vấn đề khá độc lập với mức mã hóa, cho nên giả định sau đây  
được đề xuất cho mức mã hóa cấp cơ sở dữ liệu.  
Đối với mã hóa cấp cơ sở dữ liệu, một giải pháp dễ dàng là lưu trữ các khóa  
trong một bảng hoặc tệp cơ sở dữ liệu bị hạn chế, có khả năng được mã hóa bằng  
khóa chính (khóa chính được lưu trữ một nơi nào đó trên máy chủ cơ sở dữ liệu).  
Nhưng tất cả quản trị viên có quyền truy cập đặc quyền cũng có thể truy cập các  
khóa này và giải mã mọi dữ liệu trong hệ thống mà không bao giờ bị phát hiện.  
Để khắc phục vấn đề này, các chipset mã hóa giả mạo chuyên dụng, được  
gọi là module bảo mật phần cứng (HSM - Hardware Security Module), có thể được  
sử dụng để cung cấp lưu trữ bảo mật an toàn cho các khóa mã hóa. Nói chung, các  
khóa mã hóa được lưu trữ trên máy chủ được mã hóa bằng khóa chính được lưu trữ  
trong HSM. Tại thời điểm khi mã hóa / giải mã, các khóa được mã hóa được giải  
mã một cách tự động bằng HSM (sử dụng khóa chính) và xóa khỏi bộ nhớ máy  
chủ ngay khi các hoạt động mã hóa thực hiện, như trong Hình 2.a.  
Trang 6  
 
Hình 2. Quản trị khóa  
Một giải pháp thay thế là chuyển các nhiệm vụ liên quan đến bảo mật sang  
phần mềm riêng biệt chạy trên một máy chủ khác (vật lý), được gọi là máy chủ bảo  
mật, như trong Hình 2.b. Sau đó, máy chủ bảo mật quản lý người dùng, vai trò, đặc  
quyền, chính sách mã hóa và các khóa mã hóa (có khả năng dựa vào HSM). Trong  
DBMS, một module bảo mật giao tiếp với máy chủ bảo mật để xác thực người  
dùng, kiểm tra đặc quyền và mã hóa hoặc giải mã dữ liệu. Sau đó, các khóa mã hóa  
có thể được liên kết với người dùng hoặc cho đặc quyền của người dùng. Một sự  
phân biệt rõ ràng cũng được thực hiện giữa vai trò của DBA, quản lý tài nguyên cơ  
sở dữ liệu và vai trò của SA (Security Administrator), quản trị các thông số bảo  
mật. Để đảm bảo an toàn thông tin cho cơ sở dữ liệu bởi những cuộc tấn công cần  
đòi hỏi có sự liên kết giữa DBA và SA.  
Trong khi thêm máy chủ bảo mật và / hoặc HSM giảm thiểu mức độ tiếp xúc  
với các khóa mã hóa, nó không bảo vệ hoàn toàn cơ sở dữ liệu. Thực sự là các  
khóa mã hóa, cũng như dữ liệu được giải mã vẫn xuất hiện (một thời gian ngắn)  
trong bộ nhớ máy chủ cơ sở dữ liệu và có thể là mục tiêu của kẻ tấn công.  
V. CÁC ỨNG DỤNG Applications  
Hầu hết các nhà sản xuất DBMS cung cấp mã hóa tự nhiên cho các nhà phát  
triển ứng dụng bao gồm các biện pháp bổ sung bảo mật dữ liệu thông qua mã hóa  
chọn lọc dữ liệu được lưu trữ. Như Oracle8i / 9i có bộ công cụ mã hóa, hoặc IBM  
Trang 7  
 
DB2 với các chức năng có thể được nhúng trong các câu lệnh SQL, hoặc Sybase  
và SQL Server 2005 có các phần mở rộng của SQL. Để hạn chế chi phí hoạt động,  
mã hóa chọn lọc thường có thể được thực hiện ở cấp cột nhưng có thể liên quan  
đến việc thay đổi cơ sở dữ liệu lược đồ để chứa dữ liệu nhị phân phát sinh từ quá  
trình mã hóa.  
SQL Server 2008 giới thiệu TDE (Transparent Data Encryption - mã hóa dữ  
liệu trong suốt) thực sự rất giống với mã hóa mức lưu trữ. Toàn bộ cơ sở dữ liệu  
được bảo vệ bởi một khóa duy nhất (DEK for Database Encryption Key), có khả  
năng tự bảo vệ bởi độ phức tạp hơn, kể cả khả năng sử dụng HSM. TDE thực hiện  
tất cả các hoạt động mã hóa ở cấp I/O, nhưng trong hệ thống cơ sở dữ liệu lại loại  
bỏ bất kỳ nhu cầu nào cho các nhà phát triển ứng dụng tạo mã tùy chỉnh để mã hóa  
và giải mã dữ liệu.  
TDE (cùng tên với SQL Server nhưng các chức năng khác nhau) đã được  
được giới thiệu trong Oracle10g / 11g, mở rộng đáng kể khả năng sử dụng mã hóa  
trong DBMS. Giờ đây, khóa mã hóa có thể được quản lý bởi HSM hoặc được lưu  
trữ trong một tập tin mở rộng mà được bảo mật bằng cách sử dụng mật khẩu của  
người quản trị. Mã hóa chọn lọc có thể được thực hiện tại cột mức độ chi tiết hoặc  
lớn hơn một hoặc một số bảng và chỉ mục. Để tránh việc phân tích dữ liệu được  
mã hóa, Oracle đề xuất trong quá trình mã hóa Salt, một chuỗi 16 byte ngẫu nhiên  
được lưu trữ với mỗi giá trị thuộc tính được mã hóa.  
Mã hóa cấp độ cơ sở dữ liệu với phương pháp máy chủ bảo mật được đề cập  
ở trên là đề xuất bởi IBM DB2 với chuyên gia mã hóa dữ liệu DEE và bởi bên thứ  
ba các nhà cung cấp như Protegrity , RSA BSAFE và SafeNet. Các sản phẩm của  
nhà cung cấp bên thứ ba có thể thích ứng với hầu hết các công cụ DBMS (Oracle,  
IBM DB2, SQL Server và Sybase)  
Trang 8  
Bảng Tham chiếu nhanh lệnh SQL trong TDE  
Task  
SQL Command  
Wallet setup in sql.ora ENCRYPTION_WALLET_LOCATION = (SOURCE= (METHOD =  
FILE) (METHOD_DATA = (DIRECTORY = C:\APP)))  
Initializing database  
Master key  
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY  
“AMINU9090”;  
To OPEN wallet  
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IEDNITFIED  
BY AMINU9090;  
To CLOSE  
ALTER SYSTEM SET ENCRYPTION WALLET CLOSED  
IEDNITFIED BY AMINU9090;  
Add encrypted column ALTER TABLE table_name ADD (column_name datatype ENCRYPT  
to existing table  
Encrypt unencrypted  
existing table  
ALTER TABLE table_name MODIFY (column_name ENCRYPT)  
Create Table  
CREATE TABLE <table_name> (column_name datatype ENCRYPT)  
and encrypt column  
Creating table from an CREATE TABLE <table_name> AS SELECT * <existing_table > ;  
existing table  
VI. HƢỚNG PHÁT TRIỂN VÀ CÁC VẤN ĐỀ MỞ Open Problems and  
future directions  
6.1. Lƣợc đồ mã hóa Encryption Scheme  
Trong khi tất cả các sản phẩm cơ sở dữ liệu thương mại hiện đều có sử dụng  
các thuật toán mã hóa cơ sở dữ liệu cổ điển, các lược đồ mã hóa cụ thể đã thu hút  
nhiều sự chú ý trong lĩnh vực học thuật, cụ thể trong Cơ sở dữ liệu dưới dạng mô  
hình dịch vụ. Trong mô hình này, các nhà cung cấp dịch vụ cơ sở dữ liệu cung cấp  
cho khách hàng của mình cơ chế để tạo, lưu trữ và truy cập cơ sở dữ liệu của họ tại  
máy chủ đặt trang web. Trong bối cảnh này, máy chủ cơ sở dữ liệu có thể quản lý  
dữ liệu được mã hóa mà không cần có quyền truy cập vào các khóa mã hóa (tương  
tự như mã hóa cấp ứng dụng).  
Trang 9  
   
Mã hóa đồng bộ PH (Privacy homomorphic) bảo mật là một dạng mã hóa  
mà người ta có thể thực hiện một số phép toán đại số cụ thể trên bản rõ cũng như  
trên bản mã hóa. Ứng dụng đầu tiên của PH đến truy vấn tổng hợp trong cơ sở dữ  
liệu quan hệ được khai thác trong, nhưng các chức năng mã hóa PH lại không an  
toàn đối với các cuộc tấn công mã hóa văn bản cơ yếu. Trong nó hỗ trợ truy vấn  
tổng hợp phức tạp và truy vấn lồng nhau, nhưng lược đồ này có thể tiết lộ thông tin  
về phân phối đầu vào, điều này có thể bị khai thác. Lược đồ mã hóa OPES (Order  
preserving encryption schemecho) phép xây dựng các chỉ mục trực tiếp trên văn  
bản mã hóa. OPES có thể xử lý, không cần giải mã, bất kỳ loại câu truy vấn SQL.  
Không may, OPES đã được thể hiện không an toàn trong và tác giả đã giới thiệu  
lược đồ mã hóa so sánh nhanh FCE (fast comparison encryption) cho chiến lược  
mã hóa cấp cơ sở dữ liệu. FCE có thể được sử dụng để so sánh nhanh thông qua kỹ  
thuật giải mã từng phần. Nó mã hóa văn bản rõ theo (byte by byte) cho phép so  
sánh nhanh bắt đầu từ byte đánh dấu và dừng ngay khi tìm thấy sự khác biệt.  
Một đề xuất thay thế là sử dụng các thuật toán mã hóa cổ điển và để lưu trữ  
thông tin bổ sung mờ phụ trợ, bên cạnh văn bản mã hóa để cho phép một phần xử  
lý truy vấn trên dữ liệu được mã hóa. Thông tin phụ trợ như vậy không nên tiết lộ  
nội dung văn bản rõ, do đó có sự cân bằng giữa an ninh và hiệu quả: tăng độ chính  
xác của thông tin phụ trợ làm tăng hiệu suất xử lý nhiều hơn có thể được thực hiện  
trên dữ liệu được mã hóa, nhưng nó cũng làm tăng nguy cơ tiết lộ dữ liệu.  
6.2. Các chiến lƣợc mã hóa cơ sở dữ liệu mới New database encryption  
strategies  
Kiến trúc hiện tại bao gồm mã hóa cơ sở dữ liệu không đầy đủ các yêu cầu  
như đã đề cập ở trên, các khóa mã hóa xuất hiện ở dạng văn bản rõ trong RAM của  
máy chủ hay của máy khách nơi ứng dụng chạy. HSM hoạt động như một nơi lưu  
trữ an toàn để giảm thiểu rủi ro làm giảm sự tiếp xúc với khóa mã hóa/giải mã  
trong suốt thời gian sống của nó. Nghiên cứu cho thấy sử dụng HSM tốt hơn, tránh  
phơi bày các khóa mã hóa trong toàn bộ quá trình. Hai kiến trúc có thể được xem  
xét: server-HSM khi HSM được chia sẻ bởi tất cả người dùng và đặt trên máy chủ;  
Trang 10  
 
client-HSM khi HSM dành riêng cho một người dùng và nằm gần người dùng, có  
khả năng đặt trên máy khách. Hai kiến trúc này được mô tả trong hình:  
Hình 3. Môndun bảo mật phần cứng (HSM) chiến lược mã hóa CSDL mới  
Về mặt logic, máy chủ-HSM không khác gì hơn là mã hóa cấp cơ sở dữ liệu  
với một máy chủ bảo mật được nhúng trong HSM. HSM hiện quản lý người dùng,  
đặc quyền, chính sách và khóa mã hóa. Nó có cùng ưu điểm như cấp cơ sở dữ liệu  
mã hóa với cách tiếp cận máy chủ bảo mật nhưng không hiển thị các khóa mã hóa  
tại bất cứ lúc nào (kể từ khi mã hóa / giải mã được thực hiện trong HSM). Hơn  
nữa, máy chủ bảo mật không thể bị giả mạo vì nó được nhúng hoàn toàn vào trong  
HSM. Với cách tiếp cận này, dữ liệu duy nhất xuất hiện trong văn bản rõ là kết quả  
truy vấn được phân phối tới người dùng. Khó khăn chính của phương pháp này là  
sự phức tạp của nó, vì một phần mềm phức tạp phải được nhúng vào một HSM với  
nguồn tài nguyên tính toán bị hạn chế (do các ràng buộc về bảo mật).  
Trong khi đó Client-HSM tương tự với Server-HSM là mang lại lợi ích  
tương tự về an ninh, nó đặt ra một số thách thức mới. Thật vậy, HSM hiện được  
dành riêng cho một người dùng và đặt ngoài máy chủ, điều này gây khó khăn cho  
việc hợp tác chặt chẽ giữa máy chủ cơ sở dữ liệu và HSM. Do đó, máy chủ cơ sở  
dữ liệu phải mã hóa dữ liệu và cung cấp cho HSM là một siêu tập hợp kết quả truy  
vấn, sau đó được giải mã và lọc trong HSM.  
Mặc dù có những khó khăn này, vì HSM dành riêng cho một người dùng,  
mã nhúng là đơn giản hơn và ít đòi hỏi tài nguyên hơn, làm cho cách tiếp cận này  
thực tế hơn.  
Trang 11  
 
6.3. Các vấn đề bảo mật khác - Other Security Issues  
Mã hóa dữ liệu chỉ đảm bảo bảo mật dữ liệu, nhưng không cho phép đảm  
bảo về tính toàn vẹn của dữ liệu, tức là trên thực tế dữ liệu đó không phải là bất  
hợp do pháp giả mạo hoặc sửa đổi (tính xác thực) hoặc thay thế bằng các phiên bản  
cũ hơn. Ngoài ra, nếu máy chủ cơ sở dữ liệu không đáng tin cậy, (ví dụ: nó có thể  
đã bị giả mạo bởi kẻ tấn công), nên người ta kiểm tra kết quả truy vấn đúng đắn kết  
quả tương ứng với đặc tả truy vấn và đầy đủ (không có kết quả truy vấn nào bị  
thiếu).  
Kỹ thuật mã hóa và cụ thể hơn các hàm băm mật mã là các thành phần quan  
trọng để xây dựng các kỹ thuật kiểm tra tính toàn vẹn. Thông thường, Mã xác thực  
thư MAC (Message Authentication Code) có thể được sử dụng để đảm bảo tính  
xác thực của dữ liệu và khi kết hợp với cây hàm băm MHT (Merkle Hash Tree ),  
có thể mang lại bằng chứng về tính chính xác và đầy đủ. Đảm bảo yếu tố tin cậy là  
cần thiết để giữ thông tin hiện tại của từng dữ liệu.  
Sử dụng các kỹ thuật mã hóa “as-is” để đảm bảo có tác động cực lớn đến  
kích thước cơ sở dữ liệu (ví dụ: MAC, 20 byte được thêm vào mỗi giá trị thuộc  
tính được mã hóa trong TDE của Oracle 11g để đảm bảo dữ liệu tính xác thực) và  
tăng hiệu suất cơ sở dữ liệu, do đó thúc đẩy nhiều người đang thực hiện nghiên cứu  
về các chủ đề đó. Ví dụ: trong Cơ sở dữ liệu dưới dạng dịch vụ (DAS), khi MHT  
áp đặt các ràng buộc, đồng thờ làm chậm các quá trình cập nhật dữ liệu, dẫn đến  
một phương pháp xác thực dựa trên chữ ký mới đã được giới thiệu gần đây, cho  
kiểm tra tính xác thực, đầy đủ và độ mới của câu trả lời truy vấn. Ngoài ra, một số  
cách tiếp cận xác suất cũng được sử dụng để đảm bảo tính toàn vẹn cho cơ sở dữ  
liệu.  
Trang 12  
TÀI LIỆU THAMTHẢO  
1. Database encryption, Luc Bouganim, Yanli Guo, 2009  
BOUGA_B6_ENC_CRYPT_2009.pdf  
2. Performance Analysis of the Encryption Algorithms as Solution to Cloud  
Database Security  
Trang 13  
 
pdf 16 trang yennguyen 29/03/2022 8720
Bạn đang xem tài liệu "Tiểu luận Cơ sở dữ liệu nâng cao - Đề tài: Mã hóa cơ sở dữ liệu Database Encryption", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftieu_luan_co_so_du_lieu_nang_cao_de_tai_ma_hoa_co_so_du_lieu.pdf