Hướng tiếp cận sử dụng cấu trúc dữ liệu đặc biệt 25

Một phần của tài liệu NHỮNG VẤN ĐỀ BẢO MẬT KHI TRUY VẤN CƠ SỞ DỮ LIỆU XML ĐỘNG ĐƯỢC “OUTSOURCED” (Trang 25 - 28)

Một hướng tiếp cận khác nhằm thỏa mãn các yêu cầu của Query Assurance là sử dụng các cấu trúc dữ liệu đặc biệt lưu trữ các thông tin giúp cho việc đảm bảo tính đúng

cũng nhưtính đầy đủ.

Hình 2.4. Mô hình chứng minh truy vấn.

Chữ ký tổng hợp (Summary-signature) được tính toán đệ quy từ dưới lên theo phương pháp băm trên toàn bộ cây chỉ mục (B-tree) đối với toàn bộ các record trong một

relation. Giá trị này được ký bằng sk0. Các truy vấn của user được publisher thực thi trả về kết quả cùng với một cấu trúc dữ liệu khác gọi là verification-object, được dùng để chứng minh là kết quả trả về là đúngđầy đủ.

Hướng tiếp cận này có một sốđặc tính như sau [14]:

- User chỉ cần tin cậy vào khóa pk0 của owner. Owner chỉ tính toán lại chữ ký tổng hợp khi thực hiện các cập nhật, thay đổi trên CSDL. Vì vậy khóa riêng sk0

hoàn toàn có thểđược bảo vệoffline, điều này tránh được sự tấn công từ mạng.

Ngoài ra, còn có thể sử dụng phần cứng để hiện thực khóa này.

- User không cần thiết phải tin cậy các DO. Vì vậy, khi có sự cố với một

publisher nào đó, thì hậu quả chỉ là mất đi dịch vụ cung cấp bởi publisher này. - Kích thước của verification-object là tuyến tính với kết quả trả về của câu truy

vấn và tương quan logarit với kích thước của CSDL.

- Verification-objectđảm bảo rằng kết quả trả lời là chính xác và đầy đủ.

- Chi phí tính toán chữ ký tổng hợp, verification-object (VO) và kiểm tra VO là chấp nhận được.

Một cấu trúc điển hình của hướng tiếp cận này là Merkle Hash Tree (MHT) [11]. Cây MHT được xây dựng dựa trên tập giá trị x1, x2,…, xn được sắp thứ tự của một thuộc tính trong một quan hệ. Mỗi lá của cây có mối liên kết với một giá trị xi sẽ chứa giá trị

h(xi), trong đó, h() là hàm băm một chiều, chẳng hạn như MD5, SHA-1. Các node trong của cây sẽ chứa giá trị băm của hợp tất cả các giá trị của các node con của nó. Giá sửv có hai node con là v1 và v2, thì giá trị của vh(v1||v2). Cuối cùng, giá trị tại

node root sẽđược xác thực bởi chữ ký điện tử.

Tính đúng (correctness)

Để chứng minh tính đúng của kết quả truy vấn, server trả về VO chứa co-path của

node trả về. co-path của một node là tập các node khác để từđó có thể tính toán được giá trị của node root. Do nội dung của rootđã được ký, nên so sánh với kết quả tính được, server có thể chứng minh được câu trả lời của mình là đúng. Ở cây MHT dưới đây, khi kết quả truy vấn node 5, server sẽ trả về thêm nodeh1 và h34. Từ hai node này ta có thể dễ dàng tính được root như hình vẽ sau.

h1 h2 h3 h4

3 5 6 9

h34= h(h3||h4) h12= h(h1||h2)

root = h(h12||h34)

Hình 2.5. Binary Merkle Hash Tree.

Trong kết quả trả về {5}, server trả kèm thêm {h1, h34, sign(root)}. Như vậy, client có thể tính được h12’ = h(h1||h{5}); root’ = h(h12’||h34). So sánh root’ với chữ ký của root, client có đểđảm bảo kết quả trả về là đúng.

Tính đầy đủ

Trước tiên ta xét trường hợp server trả lời câu truy vấn là không có một reocrd nào trong CSDL thỏa điều kiện truy vấn. Khi đó, server phải chứng minh được điều này, gọi là các empty proofs. Điều này có thể thực hiện bằng cách trả về co-path của hai node kề nhau sao cho khoảng trị cần truy vấn nằm trong khoảng giá trị của các node này.

Tính đầy đủ của câu trả lời đạt được bằng cách gởi kèm theo các empty proofs cho các node lá lân cận hai node biên nằm trong kết quả trả về của câu truy vấn.

Một giới hạn lớn của AuthDS là đòi hỏi phải bảo trì một cấu trúc dữ liệu phức tạp bên cạnh dữ liệu thực sự. Cấu trúc này cần phải được tính toán đầy đủ trước khi đưa lên

server. Mỗi thay đổi cập nhật dữ liệu đòi hỏi phải tốn chi phí không nhỏ để cập nhật lại các số liệu trong cấu trúc [8, 10, 21]. Bên cạnh đó, để có thể đảm bảo tính đúng cũng nhưđầy đủ của cây truy vấn theo khoảng (range-query) đòi hỏi phải xây dựng một cấu trúc cho từng thuộc tính, theo từng trật tự sắp xếp (sort-order) [10, 21]. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu NHỮNG VẤN ĐỀ BẢO MẬT KHI TRUY VẤN CƠ SỞ DỮ LIỆU XML ĐỘNG ĐƯỢC “OUTSOURCED” (Trang 25 - 28)