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
Nguyễn Thị Thụy
Nguyễn Thị Thảo
Đào Thị Hiểu
Dƣơng Thị Minh Thảo
GIA LAI, 7/ 2018
MỤC LỤC
LỜI NÓI ĐẦU ..............................................................................................................................
16 trang |
Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 495 | Lượt tải: 0
Tóm tắt tài liệu Tiểu luận Mã hóa cơ sở dữ liệu database encryption, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
. 1
MÃ HÓA CƠ SỞ DỮ LIỆU (DATABASE ENCRYPTION) .................................................... 2
I. ĐỊNH NGHĨA VÀ HỌC THUYẾT MÃ HÓA CƠ SỞ DỮ LIỆU ..................................... 2
1.1. Đinh nghĩa Mã hóa cơ sở dữ liệu - Definition: ............................................................ 2
1.2 Học thuyết mã hóa cơ sở dữ liệu Theory: ..................................................................... 2
II. CÁC MỨC ĐỘ MÃ HÓA - ENCRYPTION LEVEL ....................................................... 3
2.1. Mức độ mã hóa lƣu trữ: Storage-level encryption ..................................................... 3
2.2. Mức độ mã hóa Cớ sở dữ liệu: Database-level encryption ........................................ 4
2.3 Mức độ mã hóa ứng dụng: Application-level encryption ............................................ 4
III. THUẬT TOÁN MÃ HÓA VÀ MÔ HÌNH HOẠT ĐỘNG: Encryption Algorithm and
Mode of Operation .................................................................................................................... 5
IV. QUẢN LÝ KHÓA Key Management ................................................................................ 6
V. CÁC ỨNG DỤNG Applications .......................................................................................... 7
VI. HƢỚNG PHÁT TRIỂN VÀ CÁC VẤN ĐỀ MỞ Open Problems and future
directions .................................................................................................................................... 9
6.1. Lƣợc đồ mã hóa Encryption Scheme ............................................................................ 9
6.2. Các chiến lƣợc mã hóa cơ sở dữ liệu mới New database encryption strategies ..... 10
6.3. Các vấn đề bảo mật khác - Other Security Issues ..................................................... 12
TÀI LIỆU THAMTHẢO ............................................................................................................ 13
Trang 1
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 2
ĐỀ 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 3
đượ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ố. Ví 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 4
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 5
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 6
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 7
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 8
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 9
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
to existing table
ALTER TABLE table_name ADD (column_name datatype ENCRYPT
Encrypt unencrypted
existing table
ALTER TABLE table_name MODIFY (column_name ENCRYPT)
Create Table
and encrypt column
CREATE TABLE (column_name datatype ENCRYPT)
Creating table from an
existing table
CREATE TABLE AS SELECT * ;
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 10
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 11
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 12
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 13
TÀI LIỆU THAMTHẢO
1. Database encryption, Luc Bouganim, Yanli Guo, 2009
https://hal.archives-ouvertes.fr/hal-00623915 với tên tệp
BOUGA_B6_ENC_CRYPT_2009.pdf
2. Performance Analysis of the Encryption Algorithms as Solution to Cloud
Database Security
https://pdfs.semanticscholar.org/34f5/b715b734baa4d5cf843fe3e6322ca2940d4d.pdf
Các file đính kèm theo tài liệu này:
- tieu_luan_ma_hoa_co_so_du_lieu_database_encryption.pdf