Mối đe dọa DBMS bị thỏa hiệp

Một phần của tài liệu Xử lý và mã hóa bảo mật dữ liệu trên điện toán đám mây (Trang 37)

Để đối mặt với mối đe dọa này, CryptDB bảo vệ chống lại một DBA tò mò hoặc kẻ tấn công bên ngoài với truy cập hoàn toàn tới dữ liệu được lưu trên máy chủ DBMS. Mục tiêu của chúng ta là tính bí mật, không phải tính toàn vẹn hay sẵn sàng. Giả sử kẻ tấn công là bị động (passive): hắn truy cập

tới dữ liệu bí mật, nhưng không thay đổi các truy vấn được sinh ra bởi ứng dụng, các kết quả truy vấn, hay dữ liệu trong DBMS. Mối đe dọa này bao gồm các thỏa hiệp phần mềm DBMS, truy cập root tới các máy DBMS, và kể cả truy cập tới RAM của máy vật lý. Với sự gia tăng trong việc thống nhất cơ sở dữ liệu bên trong các trung tậm dữ liệu doanh nghiệp, lưu trữ các cơ sở dữ liệu trên cơ sở hạ tầng điện toán đám mây công cộng, và sử dụng các DBA của bên thứ ba, mối đe dọa này đang ngày càng trở nên quan trọng.

Hình 2.2 Mối đe dọa các DBA đánh cắp dữ liệu.

Tiếp cận. CryptDB nhằm mục đích bảo vệ tính bí mật của dữ liệu chống

lại mối đe dọa này bằng cách thực thi các truy vấn SQL trên dữ liệu mã hóa trên DBMS server. Proxy sử dụng các key bí mật để mã hóa toàn bộ dữ liệu được thêm vào hoặc được bao gồm trong các truy vấn được sinh ra cho DBMS. Hướng tiếp cận là cho phép DBMS server thực hiện việc xử lý truy vấn trên dữ liệu mã hóa như là nó thực hiện trên một cơ sở dữ liệu không mã

29

hóa bằng cách cho phép nó tính toán các hàm nhất định trên các mục dữ liệu dựa trên dữ liệu mã hóa. Ví dụ, nếu DBMS cần thực hiện một GROUP BY trên cột c, máy chủ DBMS sẽ có thể xác định những mục nào trong cột đó là bằng nhau với mỗi mục khác, nhưng đó không phải nội dung thực tế của mỗi mục đó. Do đó, proxy cần phải làm cho máy chủ DBMS có thể xác định các mỗi quan hệ giữa dữ liệu cần thiết để xử lý một truy vấn. Bằng cách sử dụng SQL-aware encryption điều chỉnh tự động các truy vấn được đưa ra, CryptDB cẩn thận xem xét những quan hệ nó tiết lộ giữa các bộ dữ liệu tới server. Ví dụ, nếu DBMS cần thực hiện chỉ một GROUP BY trên một cột c, máy chủ DBMS không được biết thứ tự của các mục trong cột c, cũng như không được biết bất kỳ thông tin nào khác về các cột khác. Nếu DBMS được yêu cầu thực hiện một ORDER BY, hoặc tìm MAX hoặc MIN, CryptDB tiết lộ thứ tự của các mục trong cột đó, chứ không phải cột nào khác.

Sự bảo đảm. CryptDB cung cấp tính bí mật cho nội dung dữ liệu và cho

các tên của các cột và các bảng; CryptDB không che giấu cấu trúc bảng tổng thể, số hàng, các loại của các cột, hay kích thước của dữ liệu theo byte. Sự an toàn của CryptDB là không hoàn hảo: CryptDB tiết lộ cho DBMS server các mỗi quan hệ giữa các mục dữ liệu tương ứng với các lớp tính toán mà các truy vấn thực hiện trên cơ sở dữ liệu, chẳng hạn như so sánh các mục có bằng nhau không, sắp xếp, hoặc thực hiện tìm kiếm từ. Tính phân mảnh - Granularity (Granularity là mức độ mà một bộ dữ liệu hay thông tin lớn, phức tạp được chia ra thành các đơn vị nhỏ hơn) tại CryptDB nào cho phép DBMS thực hiện một lớp các tính toán là toàn bộ một cột (hoặc một nhóm của các cột được liên kết với nhau), có nghĩa là ngay cả khi một truy vấn yêu cầu các equality check cho một vài hàng, việc thực thi truy vấn đó trên server sẽ yêu cầu tiết lộ lớp tính toán đó cho cả một cột.

CryptDB cung cấp các tính chất sau:

 Dữ liệu nhạy cảm không bao giờ tồn tại dưới dạng rõ trên DBMS server.

 Thông tin bị lộ cho máy chủ DBMS phụ thuộc và các lớp tính toán được yêu cầu bởi các truy vấn của ứng dụng, tùy theo những ràng buộc mà nhà phát triển ứng dụng chỉ ra trong lược đồ:

30

o Nếu ứng dụng không yêu cầu bộ lọc vị từ quan hệ (relational predicate filtering) trên một cột, không gì về nội dung dữ liệu bị rò rỉ (trừ kích thước của nó tính theo byte).

o Nếu ứng dụng yêu cầu các equality check trên một cột, proxy của CryptDB để lộ các mục lặp lại trong cột đó (biểu đồ tần suất – the histogram), nhưng không phải là các giá trị thực tế.

o Nếu ứng dụng yêu cầu các order check trên một cột, proxy sẽ để lộ thư tự của các phần tử trong cột.

 DBMS server không thể tính toán các kết quả (được mã hóa) cho các truy vấn liên quan đến các lớp tính toán mà không được ứng dụng yêu cầu.

CryptDB “tối ưu” an ninh như thế nào? Về cơ bản, tối ưu an ninh đã đạt được bằng các nghiên cứu gần đây trong lý thuyết mật mã cho phép tính toán toàn trên dữ liệu mã hóa; tuy nhiên, những đề xuất như vậy không thực tế. Ngược lại, CryptDB là hoàn toàn thiết thực, tất cả hoặc hầu như tất cả các trường nhạy cảm nhất trong các ứng dụng thử nghiệm được mã hóa với các lược đồ mã hóa bảo mật cao.

Một phần của tài liệu Xử lý và mã hóa bảo mật dữ liệu trên điện toán đám mây (Trang 37)

Tải bản đầy đủ (PDF)

(90 trang)