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

Những vấn đề bảo mật khi truy vấn cơ sở dữ liệu xml động được outsourced

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 (1.95 MB, 93 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC BÁCH KHOA



NGUYỄN VIỆT HÙNG

NHỮNG VẤN ĐỀ BẢO MẬT KHI TRUY VẤN
CƠ SỞ DỮ LIỆU XML ĐỘNG ĐƢỢC
“OUTSOURCED”
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ NGÀNH:

60.48.01

LUẬN VĂN THẠC SĨ

– TP. Hồ Chí Minh 02/2007 –


Trang 2/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học: Tiến sĩ ĐẶNG TRẦN KHÁNH

Cán bộ chấm nhận xét 1: Tiến sĩ NGUYỄN ĐỨC CƯỜNG



Cán bộ chấm nhận xét 2: Tiến sĩ TRẦN VĂN HOÀI

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN
THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 03 tháng 02 năm 2007

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


TRƯỜNG ĐẠI HỌC BÁCH KHOA
PHÒNG ĐÀO TẠO SĐH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
ĐỘC LẬP – TỰ DO – HẠNH PHÚC

Tp. HCM, ngày . . . . tháng . . . . năm 200. .
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Việt Hùng
Ngày, tháng, năm sinh: 14 tháng 01 năm 1981
Chuyên ngành: Công nghệ thông tin

Phái: Nam
Nơi sinh: Kiên Giang
MSHV: 00703170

I- TÊN ĐỀ TÀI:
Các vấn đề bảo mật trong việc truy vấn CSDL XML động được outsourced.
II- NHIỆM VỤ VÀ NỘI DUNG:

- Tìm hiểu tổng quan các vấn đề liên quan bảo mật CSDL được outsourced.
- Tìm hiểu các nghiên cứu liên quan khía cạnh Query Assurance.
- Đề xuất giải pháp kiểm tra query assurance cho CSDL XML được outsourced.
- Xây dựng chương trình hiện thực giải pháp, đo đạc và đánh giá giải pháp đề ra.
III- NGÀY GIAO NHIỆM VỤ : .....................................................................................
IV- NGÀY HOÀN THÀNH NHIỆM VỤ: ......................................................................
V- CÁN BỘ HƢỚNG DẪN: Tiến sĩ Đặng Trần Khánh.
CÁN BỘ HƢỚNG DẪN

(Học hàm, học vị, họ tên và chữ ký)

CN BỘ MÔN
QL CHUYÊN NGÀNH

Nội dung và đề cương luận văn thạc sĩ đã được Hội đồng chuyên ngành thơng qua.
TRƢỞNG PHỊNG ĐT – SĐH

Ngày
tháng năm 2006
TRƢỞNG KHOA QL NGÀNH


Trang 4/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

ACKNOWLEDGEMENT
I would like to express my gratefulness
To my mom and dad who has brought me up and done everything for my life;
To my advisor, Dr. DangTran Khanh, who has advised me with all his heart;

To my friends who are always in my side, and especially, to my colleagues
who are willing to help me complete some parts of the work.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 5/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

ABSTRACT
With the impressive improvement of the network technologies, database outsourcing
is emerging as an important trend beside the “application-as-a-service”. In this model,
data owners ship their data to external service providers. Service providers do data
management tasks and offer their clients a mechanism to manipulate outsourced
database. Since a service provider is not always fully trusted, security and privacy of
outsourced data are important issues. These problems are referred as data
confidentiality, user privacy, data privacy and query assurance. Among them, query
assurance takes a crucial role to the success of the database outsourcing model. To the
best of our knowledge, however, query assurance, especially for outsourced XML
database, has not been concerned reasonably in any previous work.
In this paper, we propose a novel index structure, Nested Merkle B+ Tree, combining
the advantages of B+ tree and Merkle Hash Tree to completely deal with three issues
of query assurance known as correctness, completeness and freshness in outsourced
XML database. Experimental results with real dataset prove the effeciency of our
proposed solution.

SV: Nguyễn Việt Hùng


HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 6/93

TÓM TẮT
Với sự phát triển vượt bậc trong lĩnh vực công nghệ mạng đã cho ra đời nhiều dịch vụ
từ xa, đặc biệt là sự ra đời của dịch vụ “application as a service”. Dịch vụ này giúp
cho mọi người có thể tiếp cận một cách hợp pháp với các phần mềm mới nhất với một
chi phí thấp nhất. Thời gian gần đây, xuất hiện xu thế mới cho phép làm giảm chi phí
về quản lý dữ liệu qua một dịch vụ gọi là “database outsourcing”. Với dịch vụ này,
các đơn vị, tổ chức lưu trữ thông tin, dữ liệu của mình tại máy chủ của các nhà cung
cấp dịch vụ. Các nhà cung cấp dịch vụ sẽ đảm nhận các cơng tác bảo trì máy chủ, bảo
trì phần mềm DBMS cũng như bảo trì CSDL của khách hàng. Bên cạnh đó, họ cung
cấp các cơ chế cho phép các đơn vị, tổ chức có thể thao tác trên CSDL của mình. Tuy
nhiên, thơng tin vốn là một tài sản hết sức quý báu, nên các đơn vị hoàn toàn không
thể tin cậy được các nhà cung cấp dịch vụ trong việc đảm bảo an tồn cho CSDL. Do
đó đã phát sinh các yêu cầu bảo mật về CSDL outsourced. Các vấn đề đó có thể tóm
gọn trong bốn yêu cầu bảo mật, bao gồm: data confidentiality, data privacy, user
privacy và query assurance.
Ngoài phần giới thiệu tổng quan về các kết quả đạt được trong lĩnh vực data
outsourcing, tài liệu đưa ra một cấu trúc chỉ mục mới cho dữ liệu XML. Dựa trên cấu
trúc này, tài liệu trình bày phương pháp đảm bảo truy vấn cho CSDL XML
outsourced cũng như một số kết quả thực nghiệm hiện thực cho phương pháp này.

SV: Nguyễn Việt Hùng


HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 7/93

MỤC LỤC
ACKNOWLEDGEMENT ................................................................................................................ 4
ABSTRACT ................................................................................................................................. 5
Chƣơng 1 GIỚI THIỆU ..................................................................................................... 8
1.1
Data Confidentiality ............................................................................................ 12
1.2
User Privacy và Data Privacy ............................................................................. 13
1.3
Query Assurance ................................................................................................. 17
1.4
Nhận xét .............................................................................................................. 19
Chƣơng 2 CÁC NGHIÊN CỨU LIÊN QUAN ............................................................... 22
2.1
Khái niệm ............................................................................................................ 22
2.2
Hướng tiếp cận dùng chữ ký điện tử ................................................................... 23
2.3
Hướng tiếp cận sử dụng cấu trúc dữ liệu đặc biệt ............................................... 25
2.4
Hướng tiếp cận Challenge – Response. .............................................................. 28
2.5
Hướng tiếp cận dựa vào đặc thù của bài toán ..................................................... 30

2.6
Bảo đảm truy vấn cho dữ liệu dạng cây .............................................................. 31
2.7
Nhận xét .............................................................................................................. 33
Chƣơng 3 DỮ LIỆU XML ............................................................................................... 35
3.1
Mơ hình lưu trữ ................................................................................................... 35
3.2
Chỉ mục cho tài liệu XML .................................................................................. 40
Chƣơng 4 ĐẢM BẢO TRUY VẤN ................................................................................. 42
4.1
Phương pháp ....................................................................................................... 42
4.2
Nested B+ Tree ................................................................................................... 43
4.3
Tác vụ chọn ......................................................................................................... 46
4.4
Các tác vụ cập nhật dữ liệu ................................................................................. 49
Chƣơng 5 PHÂN TÍCH .................................................................................................... 51
Chƣơng 6 THỰC NGHIỆM ............................................................................................. 58
Chƣơng 7 KẾT LUẬN ...................................................................................................... 63
Chƣơng 8 PHỤ LỤC ......................................................................................................... 67
8.1
Cấu trúc lưu trữ XML ......................................................................................... 67
8.2
Giải thuật gán nhãn (labeling)............................................................................. 67
8.3
Chương trình thử nghiệm .................................................................................... 68
8.4
Lược đồ tài liệu mondial.xml .............................................................................. 71

8.5
Kế hoạch thực thi truy vấn .................................................................................. 72
8.6
Tóm lược các nghiên cứu liên quan .................................................................... 73
8.7
Bài báo liên quan ................................................................................................ 83

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 8/93

Chương 1

GIỚI THIỆU
Thông tin là một nguồn tài nguyên rất quan trọng trong mọi tổ chức. Quản lý và xử lý
thông tin hiệu quả đã và đang tập trung sự quan tâm của mọi người. Với sự ra đời của
máy tính điện tử (eclectronic computer) và các máy tính cá nhân (personal computer
– PC), ngành khoa học máy tính đã mang đến kỷ nguyên mới, kỷ nguyên của thông
tin, tác động mạnh mẽ đến mọi lĩnh vực trong đời sống.
Dữ liệu được lưu trữ thành các các cơ sở dữ liệu (CSDL), thông thường, được đặt
trong nội bộ tổ chức (in-house database). Điều này đòi hỏi mỗi tổ chức phải đầu tư
một khoản chi phí cho việc quản lý hệ thống CSDL, bao gồm: thiết bị phần cứng
(máy móc, hệ thống mạng), phần mềm (hệ quản trị CSDL – DBMS, các chương trình
ứng dụng cụ thể,…), nhân sự (nhân viên quản trị mạng, nhân viên quản trị CSDL,…).
Cùng với sự phát triển của xã hội nói chung và tổ chức nói riêng, nhu cầu lưu trữ và

xử lý ngày càng gia tăng và phức tạp hơn. Những yêu cầu này làm tăng tổng chi phí
trong quản lý. Mặc dù, giá thành phần cứng đã giảm rất nhiều, nhưng chi phí bản
quyền phần mềm, chi phí cho đội ngũ nhân viên quản trị có trình độ cao để quản lý
các hệ thống thông tin ngày một phức tạp thật sự là một vấn đề đáng quan tâm trong
tổng chi phí sở hữu (total cost of ownership) của tổ chức. Điều này đặc biệt quan
trọng đối với các tổ chức vừa và nhỏ, tổ chức phi lợi nhuận,…
Trong những năm gần đây, sự tiến bộ vượt bậc trong công nghệ mạng và truyền thông
đã cho ra đời hệ thống mạng tốc độ cao, băng thông rộng, khai sinh ra khái niệm
“application as a service”. Người dùng chỉ cần phải trả một khoản phí nhỏ cho nhà
cung cấp dịch vụ là có thể sử dụng được các phần mềm mới mà không cần phải quan
tâm đến chi phí bản quyền, chi phí cài đặt và bảo trì hệ thống.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 9/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Bên cạnh đó, một dịch vụ khác cũng dần được hình thành, đó là “database as a
service”, cung cấp cho người dùng nơi lưu trữ và truy xuất dữ liệu chỉ với một chi phí
thấp, mà khơng cần phải mua sắm thiết bị, cũng như địi hỏi phải có đội ngũ chuyên
trách. Điều này sẽ giúp giảm đáng kể chi phí quản lý thơng tin cho các tổ chức.
Outsourced
Databases

Data Owner


Services
Provider

Submit Queries

Clients
Result
Data

Hình 1.1. Mơ hình “Database as a Service”.

Trong mơ hình “database as a service”, người sở hữu dữ liệu (data owner – DO)
đặt CSDL của mình tại nhà cung cấp dịch vụ (service provider – SP) cho các khách
hàng (clients, queriers – C, Q) thực hiện các tác vụ trên CSDL như select, insert
update. Mơ hình cịn được gọi là “outsourced database services” (ODBS).

Thông tin là tài sản quan trọng của tổ chức. Việc đặt CSDL lưu trữ các thông tin ở
một nơi khơng tin cậy bên ngồi tổ chức (nhà cung cấp dịch vụ) đã làm nảy sinh các
vấn đề bảo mật. Chính những vấn đề này sẽ quyết định tính khả thi của Dịch vụ CSDL
outsource (outsourced database services – ODBS). Các CSDL outsourced phải được
đảm bảo an toàn, ngăn cấm sự truy cập của các tổ chức/cá nhân khơng có thẩm quyền,
kể cả nhà cung cấp dịch vụ. Khi đó, chính nhà cung cấp dịch vụ trở thành đối tượng
nguy hiểm nhất trong việc đảm bảo bảo mật của dữ liệu. Do các xâm nhập từ bên
ngoài, cao nhất, cũng chỉ đạt được khả năng truy cập hệ thống như các nhà cung cấp
dịch vụ. Vì vậy các nghiên cứu chủ yếu tập trung vào việc ngăn chặn hành vi xâm
nhập của chính các nhà cung cấp dịch vụ (service provider – SP).
Về mặt cơ bản, vấn đề bảo mật CSDL tại các SP có thể chia thành bốn lĩnh vực như
sau [1]:

SV: Nguyễn Việt Hùng


HD: TS Đặng Trần Khánh


Trang 10/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Data confidentiality tính nội bộ của dữ liệu. Chủ sở hữu dữ liệu (data owner
– DO) không muốn những người khác khơng có thẩm
quyền có khả năng truy cập CSDL của mình, kể cả các
SP.
User privacy

tính riêng tư của người dùng. Thơng tin là hàng hóa.
Do đó nó có thể sẽ được bán cho các công ty khác. Các
công ty khách hàng không muốn để lộ những thông tin
mà họ khai thác, kể cả đối với DO và SP.

Data privacy

tính bảo mật dữ liệu. DO khơng muốn khách hàng của
mình có thể khai thác được nhiều hơn nhưng thơng tin
mà họ được phép khai thác.

Query Assurance

tính bảo đảm truy vấn. Khách hàng (Client) phải được
đảm bảo ra dữ liệu mà mình nhận được là chính xác,
đầy đủ và mới nhất từ CSDL nguyên thủy do DO cung

cấp, mà không bị những thay đổi ngoài ý muốn.
Bảng 1.1. Các vấn đề bảo mật trong ODBS.

Song song với việc đảm bảo các yêu cầu bảo mật, ta cần phải quan tâm đến hiệu năng
thực hiện truy vấn (performance) cũng nhưng khả năng mở rộng của CSDL
(scalability, usability).
Để đảm bảo data confidentiality, dữ liệu được mã hóa trước khi được “outsourced”.
Tuy nhiên điều này làm tăng tính phức tạp của việc xử lý các truy vấn trên dữ liệu mã
hóa mà vẫn phải đảm bảo các yêu cầu bảo mật khác.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 11/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Clients
Secure Communication

External Servers
(Outsourced Database
Service Provider)

Store/Retrieve Data
Data Owner
Service
Providers

Pay for data

ri e v
Ret

ed

ata

Clients

Hình 1.2. Mơ hình ODBS

Trong mơ hình ODBS, data owner đặt CSDL của mình tại các server bên ngồi
(SP) và thực hiện truy vấn lưu trữ thông qua đường truyền mạng bảo mật. Clients
trả chi phí cho data owner để có quyền truy cập dữ liệu, và thực hiện truy cập dữ
liệu trực tiếp từ SP cũng thông qua đường truyền bảo mật.

Trong thực tế, không phải lúc nào cũng cần thiết phải đảm bảo tất cả các yêu cầu bảo
mật trên. Tùy thuộc vào tình huống mà một số yêu cầu có thể được bỏ qua nhằm giảm
thiểu mức độ phức tạp để tăng hiệu năng xử lý của hệ thống. Quay trở lại mơ hình của
ODBS, ta có bốn mơ hình bảo mật như sau [1].
-

Mơ hình UP-DP (User privacy – Data privacy): trong mơ hình này DO đồng
thời là người cung cấp dịch vụ SP. DO bán thơng tin từ CSDL của mình cho
các khách hàng khác. Đây chính là mơ hình CSDL “in-house” truyền thống.
Do đó, mơ hình này chỉ quan tâm đến user privacy và data privacy.

-


Mơ hình UP-nDP (User privacy – non Data privacy): mơ hình này tương tự
mơ hình trên, chỉ khác là dữ liệu được bán là phổ biến, không cần phải bảo mật
dữ liệu. Chỉ cần che dấu những gì mà người dùng lấy từ CSDL.

-

Mơ hình DC-UP (Data confidentiality – User privacy): trong mơ hình này DO
đồng thời là khách hàng duy nhất của hệ thống. Đây là mơ hình khá phổ biến.
Công ty thuê nhà cung cấp dịch vụ lưu trữ dữ liệu nội bộ của mình và thực hiện
truy cập trên CSDL này. Do đó, chỉ xem xét confidentiality và user privacy.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 12/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

-

Mơ hình DC-UP-DP: đây là mơ hình đầy đủ và phức tạp nhất. DO thuê nhà
cung cấp dịch vụ lưu trữ CSDL của mình. Đồng thời, thực hiện bán thơng tin
cho các khách hàng khác. DO cần được đảm bảo data confidentiality và data
privacy trong khi người dùng cần được đảm bảo user privacy.

Trong tất cả các mơ hình trên, query assurance luôn là một vấn đề cần được quan
tâm và xem xét.

Phần tiếp theo điểm qua các nghiên cứu cũng như các kết quả liên quan đến các vấn
đề bảo mật trong bảng 1.
1.1

Data Confidentiality

Data Confidentiality là yêu cầu đảm bảo CSDL không bị truy cập bất hợp pháp, kể cả
các SP. Để đạt được yêu cầu này, CSDL thường được mã hóa trước khi outsourced.
Tuy nhiên, chính việc mã hóa này làm gia tăng sự phức tạp trong truy vấn dữ liệu, ảnh
hưởng rất nhiều đến hiệu năng của CSDL. Việc lựa chọn cơ chế mã hóa có thể dung
hòa giữa nhu cầu bảo mật và yêu cầu về hiệu năng là rất cần thiết. Hiện nay, cơ chế
mã hóa khóa bí mật đối xứng (symmetric private key encryption) thường được sử
dụng, chẳng hạn như giải thuật Rijndael, DES, TripleDES,....
Thực thi truy vấn trên dữ liệu mã hóa

Hacigümüş [5] đề xuất một giải pháp để thực thi cây truy vấn trên dữ liệu mã hóa. Ý
tưởng chính của giải pháp này là tách câu truy vấn thành hai phần: một phần sẽ được
thực thi tại server, phần còn lại sẽ được thực thi tại client.
Kenny C.K.Fong [6] đã chỉ ra năm lỗ hổng bảo mật nghiêm trọng của phương pháp
này:
1. Khơng thỏa mãn tính bảo mật về mặt ngữ nghĩa (semantically secure). Tính
chất này khơng thỏa mãn nếu ta có thể tìm được hai thơng điệp m0 và m1 mà có
thể đốn được kết quả mã hóa là của m0 hay m1 với xác suất > ½ .
2. Nếu miền giá trị của các trường dữ liệu nhỏ và rời rạc, thì hàm băm của giải
thuật khơng đảm bảo an toàn.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh



Trang 13/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

3. Giải thuật chưa đảm bảo tính xác thực của kết quả truy vấn trả về.
4. Chưa che dấu câu truy vấn một cách hồn hảo. Server có thể đốn biết được
loại truy vấn mà người dùng thực hiện.
5. Thực hiện mã hóa theo record, do đó, phải giải mã theo record. Vì vậy, người
dùng có thể biết nhiều thơng tin hơn là họ được phép (khơng thỏa mãn data
privacy).
Tìm kiếm dữ liệu mã hóa trên dữ liệu XML

R. Brinkman [9] giới thiệu một cách thức cho phép tìm kiếm so trùng các tag của một
tài liệu XML đã được mã hóa dựa trên giải thuật Linear Search Strategy for Full Text
Documents (1), gọi là Tree Search Strategy for XML Documents (2).
Giải thuật (1) chia làm 3 giai đoạn: lưu trữ (storage), tìm kiếm (search), nhận dữ liệu
(retrieval). Ở giai đoạn lưu trữ, toàn bộ dữ liệu được chia thành nhiều khối nhỏ cố
định, sau đó thực hiện mã hóa các khối này trước khi lưu trữ trên server. DO cần phải
ghi nhận một số thơng tin về mã hóa để có thể giải mã sau này. Do đó, giải thuật này
chỉ phù hợp với mơ hình DP-UP. Ở giai đoạn tìm kiếm, chuỗi dữ liệu cần tìm sẽ được
mã hóa và chuyển đến cho server so trùng trên các khối dữ liệu để xác định ra vị trí
của đoạn dữ liệu mã hóa kết quả. Giai đoạn nhận dữ liệu, kết quả mã hóa sẽ được giải
mã dựa theo các thơng tin mã hóa được ghi nhận tại giai đoạn lưu trữ.
Giải thuật (2) được xây dựng dựa trên giải thuật (1). Tuy nhiên, dữ liệu là một tài liệu
XML thay vì file text phi cấu trúc. Kích thước của các khối chia ra cũng không đều
nhau mà phục thuộc vào kích thức của từng node (hay mỗi node là một khối). (2) chỉ
đáp ứng các câu truy vấn dạng tìm kiếm so trùng các tag name trong tài liệu XML mà
không xử lý đến nội dung dữ liệu bên trong node.
1.2


User Privacy và Data Privacy

Người sử dụng CSDL yêu cầu hệ thống phải đảm bảo user privacy/data privacy về
yêu cầu truy vấn cũng như kết quả trả về. SP, và kể cả DO, không được phép biết các
thông tin này.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 14/93

Mặt khác, người dùng chỉ được phép truy vấn những gì mà họ được phép. Kết quả trả
về chỉ giới hạn trong phạm vi thông tin mà họ yêu cầu. Người dùng không được phép
“thấy” các dữ liệu không thuộc thẩm quyền của mình.
PIR-like protocols

Để đạt được user-privacy, Chor giới thiệu giao thức PIR (private information
retrieval). Về mặt lý thuyết, PIR cho phép người dùng có thể che dấu câu truy vấn và
kết quả trả về. Tuy nhiên, CSDL cần phải được nhân bản (replicate) sang nhiều nơi.
Nếu không, chi phí phải trả là rất lớn (có thể cần lấy về toàn bộ CSDL tại client). Mặc
dù vậy, ngay cả khi đã được nhân bản, chi phí phải trả cũng đủ lớn để PIR không thể
áp dụng vào thực tế.
PIR chỉ dùng để truy xuất dữ liệu chỉ đọc (read-only). Notably và Ostrovsky phát
triển giải thuật PIR cho phép hỗ trợ các thao tác cập nhật dữ liệu đảm bảo user
privacy, giao thức PIS (private information storage).

Để ứng dụng PIR/PIS vào thực tế, Asonov cải tiến PIR thành giao thức RIR
(repudiative information retrieval). RIR giảm bớt một số ràng buộc bảo mật để giảm
bớt chi phí I/O mà vẫn đảm bảo user privacy. Tương tự, giao thức RIS cải tiến từ PIS
với chi phí thấp và khả thi hơn.
Tất cả các giao thức trên đều được xây dựng dựa trên nền tảng của PIR, do đó, chúng
cịn được gọi là các giao thức họ PIR (PIR-like protocols). Tuy nhiên, các giao thức
này chỉ hỗ trợ user privacy mà không đảm bảo data privacy. Gertner đã phát triển
một giao thức xây dựng trên một giao thức họ PIR bất kỳ cho phép thỏa mãn cả hai
yêu cầu data privacy và user privacy, gọi là SPIR (symmetrically private information
retrieval).
Dữ liệu dạng cây (tree-structured data)

Lin và Candan [2] đề ra một giải thuật cho phép người dùng có thể che dấu dữ liệu và
các truy vấn trên dữ liệu dạng cây. Lin và Candan đưa ra hai kỹ thuật: redundancy
access và node swapping.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 15/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

-

Redundancy access: khi người dùng truy cập một node dữ liệu, hệ thống trả về
m node, trong đó m-1 node là ngẫu nhiên để hạn chế khơng cho server có thể
biết được người dùng thực sự truy cập vào node nào. Tuy nhiên, nếu một node

được truy cập thường xuyên, node root, server có thể giao các redandancy set
để phát hiện ra node này.

-

Node swapping: một node sau khi được truy xuất sẽ được hoán chuyển sang
một node khác. Để làm được điều này, trong m-1 node ngẫu nhiên có một node
trống (empty node), node cần đọc sẽ được hoán chuyển với node trống này và
cập nhật xuống CSDL. Kỹ thuật này đã giải quyết được vấn đề mà redundancy
access gặp phải.

[2] cũng chỉ ra năm vấn đề cần giải quyết và giải pháp cho chúng:
1. Quản lý danh sách các empty nodes. Bằng cách sử dụng một node đặc biệt
snode để quản lý các eheads, etails để biết được danh sách empty nodes.
2. Phương pháp chọn ngẫu nhiên các node cho redundancy set.
3. Đảm bảo tính tồn vẹn của mối quan hệ cha-con của node bị hoán chuyển. Lin
và Candan đề ra hai giải pháp: (1) xác định empty node sẽ hoán chuyển ở node
cha và cập nhật liên kết vào node cha trước khi đọc node con lên. (2) ghi nhớ
đường dẫn các node từ root đến node cần truy cập, sau đó mới thực hiện hốn
chuyển từ dưới lên. [2] cũng chỉ ra rằng: giải pháp (1) là khả thi trong khi (2) là
không khả thi.
4. Các vấn đề khi có sự truy cập dữ liệu đồng thời. Trong [2], tác giả đề ra giải
pháp khóa các node khi truy cập. Từ đó, đưa ra những điều chỉnh đảm bảo giải
thuật không bị deadlock.
5. Việc chọn giá trị các thông số bảo mật như thế nào là hợp lý (m – kích thước
của các tập dư thừa, redundancy set, s – kích thước của node).

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh



Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 16/93

Lin và Candan đã xây dựng giải thuật oblivious traversal algorithm, và đã chứng
minh trong [2], nếu tần suất truy cập của các node được phân bố đều (uniform
distribution) thì giải thuật này đạt được user privac.
Trong trường hợp tần suất các node không đều nhau (điều này thường gặp trong thực
tế), Lin và Candan cũng nêu ra một số giải pháp trong [4]: dummy node access,
replicate frequently accessed nodes, clique approach. Tuy nhiên, [4] cũng nêu ra các
yếu điểm của từng giải pháp như sau: số lượng dummy node access, số lượng
replicated nodes, kích thước redundancy set phải khá lớn.
Từ đó, [4] xây dựng một giải pháp đạt được tính privacy trong trường hợp tần suất
truy cập khơng đều mà tránh được các hạn chế trên, được gọi là clustering node
acceses into uniform chains.
Hai giao thức extreme protocols

Giải pháp của Lin và Candan trong [2] chỉ phù hợp cho mơ hình UC-UP. Đồng thời,
vẫn cịn tồn tại một số giới hạn [3, 22]:
-

Chưa chỉ ra rõ ràng cách thức cập nhật danh sách các empty nodes, đồng thời
cũng chưa chỉ ra được việc tận dụng lại các empty node.

-

Giải thuật này không hỗ trợ các thao tác insert, delete một cách trực tiếp. Đặc
biệt là khi xảy ra trường hợp over-full và under-full đối với các node.


-

Redundancy set chỉ có một empty node nên khơng hỗ trợ được khi xảy ra overfull và under-full.

[1] đề ra hai extreme protocol để giải quyết cho hai mơ hình DC-UP và DC-UP-DP.
Mơ hình DC-UP

DC + UP = Encryption + PIR protocol
Trong trường hợp cần cập nhật CSDL, PIR protocol được thay bằng PIS protocol. Và
để đảm bảo tính thực thi, PIR/PIS protocol được thay bằng RIR/RIS protocol.
Mơ hình DC-UP-DP

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 17/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

[1] đề xuất sử dụng K như là một tổ chức đáng tin cậy thứ 3 (trusted third-party) làm
cầu nối giữa khách hàng và nhà cung cấp dịch vụ. Khi đó mơ hình DC-UP-DP quay
trở lại mơ hình DC-UP đã đuợc giải quyết trước đó. Tuy nhiên, do thơng tin là một
vấn đề hết sức nhạy cảm, nên tìm được một tổ chức như thế này trong thực tế là một
điều hết sức khó khăn.
Oblivious operations on dynamic outsourced search trees

Như đã trình bày, giải thuật của Lin và Candan trong [2] không hỗ trợ các thao tác

insert/delete và một số giới hạn của giải thuật. [3, 22]
[3, 22] đã đề cách giải quyết các giới hạn của giải thuật của Lin và Candan. Đồng
thời, cũng đề ra giải thuật hỗ trợ thao tác insert/delete.
Tuy nhiên, giải thuật oblivious insert chỉ hỗ trợ B+-tree, mà chưa hỗ trợ các cấu trúc
cây đặc biệt khác như: SH-trees, UB-trees, R+-trees, rd-trees [3, 22].Giải thuật
oblivious delete có thể được mở rộng để hỗ trợ các cây đặc biệt này, tuy nhiên trong
trường hợp cấu trúc cây chấp nhận node under-full thì giải thuật không thể áp dụng.
Một điều chỉnh của giải thuật này có thể giải quyết tốt vấn đề under-full node tuy
nhiên chỉ được áp dụng cho B+-tree.
1.3

Query Assurance

Query Assurance đảm bảo kết quả truy vấn trả về từ server là đúng (correctness) và
đầy đủ (completeness) và mới nhất (freshness).
-

Tính đúng là các kết quả trả về là chính xác được lấy từ CSDL hay được dẫn
xuất từ đó (trung bình, tổng,…) mà khơng bị thay đổi.

-

Tính đủ đảm bảo kết quả truy vấn trả về là đầy đủ, không bị bỏ sót vì một
ngun nhân nào đó (do server thực hiện không hết câu truy vấn, hoặc không
trả về đầy đủ tập kết quả, hay do thất lạc trên đường truyền).

-

Tính mới đảm bảo kết quả trả về từ server là dữ liệu mới nhất được cập nhật từ
các DO. Tính mới thường được quan tâm trong trường hợp dữ liệu outsource

có thể được thay đổi.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 18/93

Einar Mykletun [7] đề ra một giải pháp để đảm bảo tính đúng cho các câu truy vấn
dạng chỉ đọc (read-only) và khơng có tính tốn gộp (như SUM, AVERAGE,…). Mỗi
dòng dữ liệu (record) được lưu kèm theo chữ ký điện tử của dịng đó. Kết quả trả về
kèm theo với chữ ký điện tử. Client kiểm tra nội dung dữ liệu với chữ ký kèm theo để
xác nhận được tính đúng của dữ liệu. Tuy nhiên, do số lượng record trả về có thể lớn,
vì vậy việc kiểm tra một số lượng lớn chữ ký điện tử cho từng dịng dẫn đến lãng phí
thời gian và là một chi phí nặng nề cho client. Để giải quyết vấn đề này, [7] đề nghị
mơ hình Condensed-RSA. Theo đó, thay vì kiểm tra riêng lẻ từng chữ ký của từng
record, client chỉ cần kiểm tra tất cả các record cùng lúc dựa trên chữ ký tổng hợp
(condensed signature) do server trả về là có thể xác định được tính đúng của dữ liệu.
[7, 14] cũng nêu ra một giải pháp khác nhằm đạt được tính đúng là sử dụng Merkle
Hash Tree (MHT). MHT là cây mà các lá của nó là kết quả băm của dữ liệu của từng
dòng tương ứng trong CSDL. Và đánh dấu node gốc bằng một chữ ký điện tử chuẩn.
Nếu kèm theo hai record ở hai biên kết quả, ta có thể chứng minh được kết quả trả về
đầy đủ.
Cấu trúc MHT đòi hỏi phải lưu trữ kèm theo một cấu trúc dữ liệu chuyên dùng để
phục vụ cho query assurance. Mỗi cấu trúc này thường chỉ áp dụng cho một thuộc
tính, như vậy, trong trường hợp CSDL có nhiều thuộc tính dùng để tìm (searchable
attribute) địi hỏi nhiều cấu trúc tương ứng, điều này có thể làm tăng phí tổn để lưu

trữ tại server. Maithili Narasimha [10, 21] đã đề nghị một hướng tiếp cận mới dựa
trên chuỗi chữ ký điện tử. Khi đó, trong chữ ký của một record có bao gồm nội dung
của record liền trước nó (được sắp xếp theo một thuộc tính cho trước). Như vậy, tạo
thành một chuỗi liên tiếp nhau. Trong kết quả trả về, server trả kèm thêm hai record ở
biên để có thể đảm bảo được tính đúng và đầy đủ. Hướng tiếp cận của [10, 21] khơng
địi hỏi phải tốn thêm nhiều khơng gian lưu trữ trên server. Mỗi dòng dữ liệu chỉ cần
lưu thêm một chữ ký. Độ lớn của một chữ ký thông thường là 128 byte, đối với RSA
(64 byte cho BGLS).

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 19/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Tuy nhiên, chi phí xây dựng, tạo các chữ ký và kiểm tra các chữ ký đôi khi cũng đáng
kể, thường chậm hơn từ 100 – 1,000 lần so với việc băm (hashing). [15] đề xuất giải
pháp dựa trên Embedded Merkle B-tree (EMB) cho phép đảm bảo tính đúng, đầy đủ
và mới. Việc đảm bảo truy vấn chủ yếu dựa vào các phép băm. Từ đó, có thể giảm bớt
thời gian để thực hiện tính tốn chữ ký khi CSDL có thay đổi cũng như thời gian kiểm
tra kết quả trả về. [15] đồng thời cũng là giải pháp đầu tiên giải quyết được đầy đủ các
vấn đề của query assurance.
Radu Sion [8] đưa ra một hướng tiếp cận mới cho phép đảm bảo tính đầy đủ đối với
kết quả trả về từ một tập các câu truy vấn cần được thực hiện (batch of queries).
Hướng tiếp cận này xây dựng một giao thức dựa trên việc mở rộng giao thức ringer.
Dựa trên các challenge-token, gởi kèm theo, một cách ngẫu nhiên, xen kẽ với các câu
truy vấn cần thực hiện, client đã biết trước kết quả của những câu truy vấn này và so

sánh nó với kết quả trả về từ server. Nếu trùng khớp thì đảm bảo kết quả trả về từ
server đầy đủ.
1.4

Nhận xét

Phần trên của tài liệu đã trình bày một cách tổng quan những nghiên cứu và những kết
quả hiện tại trong ODBS. Các kết quả này được tóm tắt theo dạng cây ở phần phụ lục.
Qua đó, ta có thể rút ra một số nhận xét như sau:
-

Việc đảm bảo data confidentiality có thể dễ dàng đạt được bằng cách mã hóa
dữ liệu trước khi thực hiện outsourced.

-

Việc đảm bảo user privacy/data privacy trên dữ liệu mã hóa đã có rất nhiều
nghiên cứu trên các dạng dữ liệu khác nhau (XML, RDB) và đã đạt được
những kết quả rất khả quan có thể ứng dụng được vào thực tế.

-

Việc đảm bảo query assurance trên ODB. Dù hiện nay có nhiều nghiên cứu
nhằm đảm bảo query assurance tuy nhiên kết quả đạt được vẫn còn ở mức hạn
chế so với các kết quả đạt được ở các lĩnh vực khác. Các nghiên cứu hiện nay
đã có thể đáp ứng được tính đúng, tính đầy đủ và tính mới trong việc thực hiện
các câu truy vấn. Tuy nhiên, hầu như các cách tiếp cận hiện tại vẫn chưa đề cập

SV: Nguyễn Việt Hùng


HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 20/93

trực tiếp đến vấn đề query assurance trên CSDL XML. Do tính chất đặc thù
của mình, CSDL XML địi hỏi cần phải có một số điều chỉnh để có thể đảm
bảo query assurance.
Qua những nội dung đã tìm hiểu trên, chúng tơi có đề ra một số hướng nghiên cứu
tiếp theo như sau:
1. Các nỗ lực nghiên cứu nhằm xây dựng các giao thức cho phép che dấu người
dùng trong việc khai thác thông tin (định danh, truy vấn cái gì, đuợc trả cái gì)
đi ngược lại với nguyên tắc không thể phủ định trong các hệ thống. Đặc biệt là
đối với các hệ thống thơng tin mật, có tính nhạy cảm cao, có thể tạo cơ sở cho
các tội phạm tin học có những hành động xấu. Nên chăng xây dựng một giao
thức vừa đảm bảo tính riêng tư mà vẫn có thể, khi cần thiết, chứng thực được ai
đã lấy thơng tin gì? [1]
2. Hầu hết các nghiên cứu hiện nay chỉ tập trung giải quyết cho mô hình DC-UP.
Mặc dù [1] đã trình bày một giao thức tồn diện (extreme protocol) hỗ trợ mơ
hình DC-UP-DP, nhưng giao thức này địi hỏi phải có một người trung gian tin
cậy (trusted third-party server) K để có thể chuyển đổi mơ hình DC-UP-DP
sang trở lại DP-UP. Việc nghiên cứu để loại bỏ K cũng là một vấn đế đáng
được quan tâm. [1]
3. Các giải thuật hỗ trợ oblivious operation (insert/delete) vẫn cịn một số điểm
chưa hồn thiện. Giải thuật insert chưa hỗ trợ cây đặc biệt như: SH-tree, UBtree, R+-tree, kd-tree. Giải thuật delete ban đầu có thể hỗ trợ các cây này, tuy
nhiên nếu cấu trúc cây cho phép các under-full node, thì phiên bản hiệu chỉnh
của nó chỉ hỗ trợ B+-tree [3, 22]. Một vấn đề khác cần quan tâm là các giải
thuật này được chứng minh là đảm báo tính privacy trong trường hợp tần suất

truy cập các node là phân bố đều. Trong khi, ở thế giới thực, tần suất này là
khơng đều và có sự chênh lệch khá lớn về tần suất giữa các node [4].

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 21/93

4. Chiến lược thực thi câu SQL trên dữ liệu mã hóa của Hacigümüş vẫn cịn nhiều
lỗ hổng bảo mật [6]. Việc nghiên cứu và khắc phục vấn đề này vẫn là một điều
đáng được quan tâm.
5. Đảm bảo tính query assurance đối với kết quả trả về từ server mới chỉ dừng ở
mức xử lý các câu truy vấn đơn giản [7, 8] và chỉ hỗ trợ mơ hình DC-UP. Để
có thể thực thi các câu truy vấn cập nhật dữ liệu và các câu truy vấn phức tạp
hơn địi hỏi phải cơng sức hơn nữa [8].
Trong các hướng nghiên cứu vừa nêu: (1) đã được nghiên cứu và phát triển rất nhiều,
đã áp dụng tốt vào thực tế. (2) là một vấn đề rất khó khăn, hiện tại hầu hết các giao
thức đều tránh mơ hình này do tính phức tạp của nó. Xét thấy trong thời gian giới hạn,
cũng như vẫn còn thiếu các kiến thức cần thiết về bảo mật và ODB; mặt khác vấn đề
này hầu như không liên quan đến CSDL XML như đã nêu trong đề tài nên tài liệu này
sẽ không đề cập đến. (3) (4) chỉ là những khía cạnh rất nhỏ và hầu như đã được giải
quyết. (5), như đã trình bày, tuy đã có nhiều nghiên cứu nhưng kết quả đạt được vẫn
còn nhiều hạn chế, mặt khác chưa có nghiên cứu nào về query assurance liên quan
đến CSDL XML.
Như vậy, trong phạm vi của mình, tài liệu này trình bày một hướng tiếp cận nhằm
giải quyết vấn đề query assurance trong CSDL XML. Phần tiếp theo của tài liệu sẽ

trình bày chi tiết hơn về các kết quả liên quan trong lĩnh vực query assurance.

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

Trang 22/93

Chương 2

CÁC NGHIÊN CỨU LIÊN QUAN
2.1

Khái niệm

Như đã trình bày, query assurance là một yêu cầu bảo mật cần được quan tâm trong
hầu hết tất cả các mơ hình của ODBS. Query assurance có thể được định nghĩa thơng
qua ba tính chất cần được thỏa mãn, bao gồm: tính đúng, tính đầy đủ và tính mới.
Việc giải quyết triệt để các vấn đề của query assurance vẫn còn là một bài tốn khó,
địi hỏi nhiều cơng sức hơn nữa. Hiện nay, hình thành các hướng tiếp cận khác nhau
để giải quyết vấn đề này, bao gồm:
-

Sử dụng chữ ký điện tử (digital signature) để chứng thực từng dòng dữ liệu trả
về từ server là đúng đắn, không bị thay đổi bởi server hay thay đổi trên đường
truyền [7]. Phương pháp này chỉ có thể đảm bảo tính đúng mà khơng thể đảm
bảo hai yêu cầu còn lại. Một số nghiên cứu gần đây đã mở rộng việc sử dụng

chữ ký điện tử để thể giải quyết được tính đầy đủ [10, 21]. Tuy nhiên, nó vẫn
chưa thể giải quyết được yêu cầu thứ ba (tính mới) của query assurance.

-

Sử dụng các cấu trúc dữ liệu chuyên biệt để giải quyết được bài tốn về tính
đúng và tính đầy đủ. Merkle Hash Tree (MHT) là một cấu trúc khá điển hình
của khuynh hướng này [11, 14].

-

Áp dụng một số kết quả trong bài tốn tính tốn phân bố [13] để giải quyết các
yêu cầu đặt ra. Một kết quả của hướng này là sử dụng mơ hình challengeresponse để đảm bảo tính đầy đủ trong việc xử lý tập các câu truy vấn (batch of
queries). Ưu điểm của hướng tiếp cận này là có thể xử lý được cho dạng câu
truy vấn bất kỳ [8]. Tuy nhiên, hướng tiếp cận này, như đã trình bày, chỉ có thể

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 23/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

áp dụng cho việc xử lý tập các câu truy vấn do đó khơng phù hợp trong việc xử
lý các câu truy vấn đơn lẻ.
-

Dựa vào tính đặc thù của dữ liệu, cũng như tính chuyên biệt của các câu truy

vấn để phát triển một giao thức riêng giải quyết các yêu cầu của query
assurance. Truy vấn dữ liệu đã mã hóa dựa vào các từ khóa (keyword) là một
ví dụ [12].

Phần tiếp theo của tài liệu sẽ trình bày chi tiết hơn về các hướng tiếp cận này.
2.2

Hướng tiếp cận dùng chữ ký điện tử

Việc sử dụng chữ ký điện tử để chứng minh tính đúng của dữ liệu là một giải pháp
đang được sử dụng hiện nay [7]. Trong mơ hình unified client model, do chỉ có duy
nhất một Client đồng thời là DO, nên việc sử dụng chữ ký điện tử có thể được thay
thế bằng hàm băm một chiều không thể đảo trong thời gian tuyến tính [8].
Việc chứng thực dữ liệu có thể được thực hiện ở nhiều cấp độ khác nhau, granularity.
Có thể thực hiện chứng thực trên một bảng (toàn bộ quan hệ), một cột (thuộc tính của
quan hệ) hay một dịng dữ liệu (record). Việc chứng thực ở cấp độ bảng đòi hỏi toàn
bộ dữ liệu của bảng phải được trả về mới có thể thực hiện chứng thực được. Điều này
là khơng thể khả thi, vì hầu hết các câu truy vấn dữ liệu chỉ trả về một phần (một số
dòng) của bảng mà thôi. Điều này cũng xảy ra tương tự nếu thực hiện việc chứng thực
ở cấp độ cột. Vì vậy, việc chứng thực ở cấp độ dịng có thể được xem là một chọn lựa
tốt nhất1. Như vậy, mỗi dịng, ngồi các dữ liệu của quan hệ, cịn cần được lưu trữ
thêm thông tin về chữ ký của dòng này.
Việc thiết kế một giao thức chứng thực cần phải chú ý đến các yếu tố sau [7]:
-

Tính tốn tại client: chi phí tính tốn tại client để xác định tính đúng của dịng
dữ liệu.

-


Băng thơng đường truyền đến client.

1

Một giải pháp khác là sử dụng việc chứng thực ở cấp độ trường (field). Tuy nhiên, điều này sẽ dẫn đến sự quá
tải về mặt lưu trữ cũng quá tải về tính tốn trong việc chứng thực (do thời gian kiểm tra chữ kí điện tử cũng khá
lớn).

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

-

Trang 24/93

Tính tốn tại server: bao gồm việc truy suất, trả về các thông tin dùng để kiểm
tra trả về cho câu truy vấn.

-

Tính tốn đối với Data Owner: chi phí tính tốn các thơng tin dùng để kiểm tra
trước khi để lưu trữ vào CSDL.

-

Yêu cầu không gian lưu trữ trên server.


Trong đó, ba yếu tố đầu là cần được chú ý nhiều hơn cả [7]. Tuy nhiên, đối với CSDL
động (dynamic outsourced database) thì cũng cần thiết phải xem xét đến yếu tố thứ tư
khi thực hiện cập nhật dữ liệu. Yếu tố thứ 5 hầu như không quá quan trọng do các
thiết bị dung lượng lớn ngày càng rẻ.
Mơ hình chữ ký điện tử được chọn phổ biến hiện nay là RSA với chiều dài của chữ ký
là 1024 bit (theo đánh giá thì RSA 1024 có thể an toàn trong vài thập kỷ tới). Tuy
nhiên trong trường hợp số lượng dịng dữ liệu trả về lớn thì dẫn đến việc lãng phí về
mặt bandwidth cũng như thời gian tính tốn tại server để chứng thực dữ liệu. Một giải
pháp được áp dụng là sử dụng mơ hình Condensed-RSA. Condensed-RSA là một mơ
hình chữ ký điện tử bao gộp. Giả sử có tập t message {m1,…,mt} với tập chữ ký tương
ứng { 1,…,

t),

chữ ký Condensed-RSA được tính bởi:
1,t

=

Khi đó việc kiểm chứng chữ ký

i
1,t

i

(mod n) , i = 1..t

tương đương với việc kiểm chứng t chữa ký


i

riêng lẻ. Một lợi điểm khác là kích thước của Condensed-RSA bằng với kích thước
của một RSA chuẩn. Như vậy, thay vì trả về tồn bộ các chữ ký của từng dịng riêng
lẻ, server chỉ cần tính tốn chữ ký Condensed-RSA và trả về cho client để có thể thực
hiện việc chứng thực dữ liệu.
Maithili và G.Tsudik [10, 21] đưa ra một hướng tiếp cận mới đảm bảo tính an tồn và
hiệu quả cho các câu truy vấn cơ sở mà không đòi hỏi thêm bất kỳ một cấu trúc dữ
liệu phức tạp nào. Hướng tiếp cận này gọi là Digital Signature Aggregation and
Chaining (DSAC). Để đạt được tính đúng, [10, 21] sử dụng lại cách tiếp cận đã đề cập

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


Trang 25/93

Đề tài: Security Issues in Querying Dynamic Outsourced XML Databases

trong [7]. Do đó, phần tiếp theo của tài liệu chỉ trình bày biện pháp để đạt được tính
đầy đủ.
Tính đầy đủ

Tính đầy đủ đạt được bằng cách xây dựng một mối liên kết bảo mật giữa các chữ ký
của từng record, gọi là signature-chain. Chuỗi liên kết này đạt được bằng cách thay
đổi cách tính chữ ký của từng record như sau:
Sign(r) = h(h(r)||h(IPR1(r))|| … h(IPRl(r)))SK
Trong đó, h() là hàm băm mã hóa (như SHA), IPRi là record liền kề trước đó dọc theo

chiều i, l là số chiều có thể thực hiện truy vấn, SK là khóa riêng của data owner.
Các record liền kề trước của mỗi record được xác định bằng cách sắp xếp quan hệ R
theo các chiều có thể truy vấn, như hình sau:
R6

R5

R7

A1

R2

R5

R6

A2

R7

R5

R12

A3

Hình 2.3. Sắp xếp quan hệ R theo các chiều truy vấn.

Các record liền kề trước của R5 lần lược là R6, R2, R7. Khi đó, chữ ký của R5 được

tính như sau: Sign(R5) = h(h(R5)||h(R6)||h(R2)||h(R7))SK.
Cách thức chứng minh tính đầy đủ, về mặt nguyên tắc, là tương tự như phương pháp
dùng trong AuthDS. Nghĩa là, để chứng minh một kết quả trả về của một câu truy vấn,
server trả về chuỗi chữ ký hai record biên của kết quả cùng với các chuỗi chữ ký của
hai record cận biên kết quả. Từ đó có thể chứng minh được kết quả trả về là đầy đủ.
2.3

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

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 đủ.
Ý tưởng của hướng tiếp cận này được thể hiện như sau [14]:

SV: Nguyễn Việt Hùng

HD: TS Đặng Trần Khánh


×