8 3 Kiểm định công khai đảm bảo tính riêng tư cho dữ liệu lưu trữ ngoài 12 3.1 Phương pháp dựa vào ma trận giả nghịch đảo... • Tổ chức kiểm định thứ ba Third-party auditor, viết tắt là T
Trang 1ĐẠI HỌC QUỐC GIA TPHCMTRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KIỂM ĐỊNH CÔNG KHAI ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU LƯU TRỮ NGOÀI
Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 62.48.01.01
TÓM TẮT LUẬN ÁN TIẾN SĨNGÀNH CÔNG NGHỆ THÔNG TIN
Tp Hồ Chí Minh, năm 2016
Trang 2Công trình được hoàn thành tại:
Người hướng dẫn khoa học:
(ghi rõ họ tên, chức danh khoa học, học vị) Phản biện 1:
Phản biện 2:
Phản biện 3:
Phản biện độc lập 1:
Phản biện độc lập 2:
Luận án sẽ được bảo vệ trước Hội đồng chấm luận án họp tại
vào lúc · · · giờ · · · ngày · · · tháng · · · năm· · ·
Có thể tìm hiểu luận án tại thư viện:
- Thư viện Khoa học Tổng hợp Tp.HCM
- Thư viện Trường Đại học Khoa học Tự Nhiên
Trang 3Mục lục
2.1 Ma trận giả nghịch đảo 4
2.2 Mã xác thực thông điệp đảm bảo tính riêng tư 8
3 Kiểm định công khai đảm bảo tính riêng tư cho dữ liệu lưu trữ ngoài 12 3.1 Phương pháp dựa vào ma trận giả nghịch đảo 12
3.1.1 Mô tả 12
3.1.2 Phân tích 15
3.1.3 Thực nghiệm đo thời gian chạy thuật toán 16
3.2 Phương pháp dựa vào mã xác thực thông điệp 17
3.2.1 Mô tả giao thức tổng quát 17
3.2.2 Phân tích 19
3.2.3 Mô tả giao thức cụ thể 20
3.3 So sánh 22
Trang 4Chương 1 Giới thiệu
Việc sử dụng hệ thống lưu trữ ngoài hay lưu trữ trên đám mây điệntoán đã trở nên phổ biến không chỉ cho các doanh nghiệp mà còn các
cá nhân Lợi thế của điện toán đám mây và các hệ thống lưu trữ ngoài
là việc lưu trữ dữ liệu không còn bị giới hạn trong hệ thống máy tínhcủa cá nhân/ tổ chức người dùng mà được cung cấp bởi các nhà cungcấp dịch vụ chuyên nghiệp Bên cạnh các lợi ích, người dùng cần cânnhắc các khía cạnh về bảo mật và tính riêng tư [12, 13, 16], trong đóbao gồm việc người dùng cần được đảm bảo là nhà cung cấp dịch vụkhông xóa hay làm mất mát bất kỳ phần nào dữ liệu mà người dùnglưu trữ [16] Giải pháp cho vấn đề này là chủ dữ liệu thưc hiện kiểmtra xem dữ liệu có bị mất mát hay xóa hay không, hoặc thuê một tổchức thứ ba thực hiện Quá trình kiểm tra này được gọi là kiểm định
mã hóa RSA và tính chất đồng cấu [1,6], chữ ký BLS và ánh xạ song
Trang 5tuyến tính [18,14] Một số phương pháp có hỗ trợ kiểm định các thaotác cập nhật dữ liệu (thêm, xóa, sửa) nhờ vào việc sử dụng các cấu trúc
dữ liệu đặc biệt như cây Merkle Hash [19], danh sách xác thực nhảy cóc[5] Tiêu chí thiết kế thuật toán của các phương pháp đã được đề xuấtthường là chi phí dùng để kiểm định, chi phí phát sinh thêm do cần lưuthêm thông tin cần thiết hỗ trợ cho việc kiểm định (gọi là metadata),chi phí truyền tải từ máy chủ đến tổ chức kiểm định sao cho các chiphí này càng nhỏ càng tốt
Mục tiêu của luận án là đề xuất một hướng tiếp cận khác để giảibài toán kiểm định công khai đảm bảo tính riêng tư dữ liệu
Mô hình kiểm định dữ liệu công khai gồm 3 đối tượng:
• Máy chủ (Server): Máy chủ cung cấp dịch vụ lưu trữ dữ liệu ngoài.Giả thiết rằng máy chủ không sử dụng hay tiết lộ dữ liệu ngườidùng nhưng có thể giấu giếm thông tin nếu xảy ra mất mát dữliệu hoặc chủ động xóa một phần dữ liệu ít truy xuất đến củangười dùng
• Chủ dữ liệu (Data Owner, viết tắt là DO): Người dùng dịch vụlưu trữ dữ liệu ngoài
• Tổ chức kiểm định thứ ba (Third-party auditor, viết tắt là TPA):Một tổ chức thứ ba được người dùng thuê để kiểm định dữ liệutrên máy chủ nhưng lại không đọc được nội dung của dữ liệu.Chúng tôi xây dựng giải pháp cho bài toán kiểm định công khai từhai hướng tiếp cận khác nhau: dựa trên ma trận giả nghịch đảo [11],dựa trên mã xác thực thông điệp mới (gọi là mã xác thực thông điệpđảm bảo tính riêng tư) Phương pháp dựa trên ma trận giả nghịch đảo
có chi phí tính toán khi thực hiện kiểm định thấp hơn phương phápdựa vào RSA [1] và ánh xạ song tuyến tính [16] Phương pháp dựa trên
mã xác thực thông điệp mới có chi phí tính toán cao hơn phương phápdùng mã xác thực thông thường, nhưng lại đảm bảo được tính riêng tư
Trang 6của dữ liệu, trong khi phương pháp dùng mã xác thực thông thườngthì không có [17].
Bố cục của luận án gồm các phần sau
1 Mục tiêu, nội dung nghiên cứu và bố cục của luận án được giớithiệu trong Chương 1
2 Cơ sở lý thuyết, bao gồm ma trận giả nghịch đảo và mã xác thựcthông điệp được trình bày trong Chương 2
3 Ứng dụng kiểm định dữ liệu đảm bảo tính riêng tư theo 2 phươngpháp: phương pháp dựa vào ma trận giả nghịch đảo, phương phápdựa vào mã xác thực thông điệp đảm bảo tính riêng tư và so sánhgiữa 2 phương pháp được mô tả trong Chương 3
4 Phần tổng kết các nội dung đã làm trong luận án và hướng pháttriển được trình bày trong Chương 4
Trang 7Chương 2 Cơ sở lý thuyết
Trường hợp A là ma trận vuông khả nghịch, A†= A−1 [11]
1
Ma trận giả nghịch đảo được định nghĩa tổng quát cho số phức Tuy nhiên, để đơn giản, chúng tôi chỉ trình bày định nghĩa cho số thực Ký hiệu T để chỉ phép toán chuyển vị ma trận Đối với số phức, phép chuyển vị A T đổi thành phép chuyển
vị liên hợp (conjugate transpose) A∗
Trang 8Dựa trên tính chất của ma trận giả nghịch đảo trên trường số thực[3,11], chúng tôi khảo sát lại tính chất của chúng trên trường hữu hạn
Zp với p nguyên tố như phát biểu trong mệnh đề sau
Mệnh đề 1 Xét ma trận A có kích thước m × n với hệ số trên Zp.Khi đó
• Cách 2: tạo ma trận A dựa vào ma trận khả nghịch và ma trận
tự trực giao theo dòng [9]
Định nghĩa 1 [9] Một ma trận không vuông C được gọi là tự trựcgiao theo dòng (row-self-orthogonal) nếu CCT = O trong đó O là matrận zero có kích thước phù hợp
Tính chất sau sẽ giúp việc xây dựng ma trận tự trực giao theo dòng
dễ dàng
Trang 9Mệnh đề 2 Cho ma trận Q kích thước k × m trong trường có đặc số
p sao cho tồn tại α mà α2 = −1 Ma trận P =
Q αQ
là ma trận
tự trực giao theo dòng, kích thước k × 2m [9]
Dựa vào ma trận tự trực giao theo dòng và ma trận khả nghịch,chúng tôi xây dựng ma trận giả khả nghịch theo phương pháp như sauMệnh đề 3 Cho ma trận khả nghịch Z ∈ Zm×mp , ma trận tự trực giaotheo dòng V ∈ Zm×(n−m)p (m < n) Ma trận A được tạo bằng cách nối
ma trận Z với ma trận V theo cột, A =Z V
, thì tích của ma trận
Trang 10Thuật toán 1 SimplePseudoMatrix(n, p)- Thuật toán sinh vector giảkhả nghịch
Đầu vào: n, p {gcd(n, p) = 1 và p nguyên tố}
Đầu ra: Ma trận A kích thước 1 × n trong trường Zp sao cho tồn tại
4: Chọn q trong {0, 1, , p−1} sao cho (Pn−1
i=1 A[1, i]2+q2) (mod p) 6=0
3: Tạo ma trận A = A0 A”
bằng cách ghép 2 ma trận A0 và A00theo cột
4: Trả về A
Để đánh giá tốc độ thực thi, chúng tôi cài đặt chương trình thựcnghiệm đánh giá thời gian sinh ma trận giả khả nghịch bằng cách chạyThuật toán2 - PseudoInverseMatrix(m, n, p) và đo thời gian chạy củathuật toán với các giá trị tham số:
• m, n được sinh ngẫu nhiên Kết quả 2 lần sinh ngẫu nhiên m, n
Trang 11là: m = 20, n = 26 và m = 16, n = 22
• Kích thước (số bit) của p: 8 bit, 16 bit
Trong mỗi trường hợp, chúng tôi chạy chương trình 30 lần và tính thờigian chạy trung bình
Chương trình thực nghiệm được thực hiện trên máy ảo Virtual Box
có cài đặt phần mềm SageMath và cấu hình như sau:
Kết quả thực nghiệm như sau:
Bảng 2.2: Thời gian sinh ma trận giả khả nghịch (Đơn vị: giây)Kích thước
ma trận m×n
Chiều dài (sốbit) của p
Trung bình thời giansinh ma trận (số giây)
Độ lệchchuẩn
Trang 13Thuật toán 3 CreateMAC(·)-Tạo mã xác thực
Độ an toàn của mã xác thực thông điệp đảm bảo tính riêng tư được
mô tả qua Mệnh đề4 như sau
Định lý 2 [2, 4] Số lượng số nguyên tố không vượt quá x tiệm cậnvới x/lnx
Hệ quả 1 Số nguyên tố (n + 1) bit tiệm cận với 2n(n − 1)/(n(n + 1))Mệnh đề 4 Không biết trước khóa chia sẻ và {hk} là hàm sinh số ngẫunhiên (pseudorandom functions (PRF)) an toàn, kẻ tấn công không giảmạo được mã xác thực đảm bảo tính riêng tư X với xác suất đáng kểtrong thời gian đa thức
Mệnh đề 5 Hệ phương trình xi ⊕ xj = ai(i = 1, , m − 1; j =
i + 1, , m; m ≥ 2 và xi ∈ Zn
2, ∀i) có 2n nghiệm
Trang 14Mệnh đề 6 Dựa trên H0(m0)⊕H1(m1), H0(m0)⊕H2(m2), người thựchiện xác thực không tìm được nội dung của H0(m0), H1(m1), H2(m2)bằng tấn công đại số trong thời gian đa thức.
Chứng minh Dựa trên H0(m0) ⊕ H1(m1), H0(m0) ⊕ H2(m2), ngườithực hiện xác thực có thể thiết lập hệ phương trình như trong Mệnh
đề 5 Theo Mệnh đề 5, nếu Hi(mi) ∈ Zn2, ∀i = 0, 1, 2 thì hệ phươngtrình có 2n nghiệm Vì vậy, người thực hiện xác thực không tìm đượcnội dung của H0(m0), H1(m1), H2(m2) bằng tấn công đại số trong thờigian đa thức
Một số nhận xét về chi phí tính toán và lưu trữ:
• Kích thước mã xác thực đảm bảo tính riêng tư tương đương vớikích thước mã xác thực dùng hàm băm thông thường
• Kích thước dữ liệu cần gửi đi có thể nhỏ hơn trường hợp mã xácthực dùng hàm băm thông thường nếu chọn tham số phù hợp
• Chi phí tính toán cao hơn so với trường hợp mã xác thực dùnghàm băm thông thường
Tóm tắt
Trong chương này chúng tôi giới thiệu khái niệm và các tính chất của
ma trận giả nghịch đảo được Penrose đưa ra vào năm 1955 [11] và mãxác thực thông điệp đảm bảo tính riêng tư Chúng tôi sẽ dựa vào 2khái niệm này để xây dựng mô hình kiểm định dữ liệu
Trong chương tiếp theo, chúng tôi áp dụng ma trận giả nghịch đảo
và mã xác thực thông điệp đảm bảo tính riêng tư vào ứng dụng kiểmđịnh dữ liệu
Trang 15Chương 3 Kiểm định công khai đảm bảo tính riêng tư cho dữ liệu lưu trữ ngoài
đảo
Trong mô hình này chúng tôi giả sử đã có sẵn các thành phần như sau:
• Hàm f sinh một ma trận khả nghịch Đầu vào của hàm này là 2giá trị có vai trò như tham số khởi tạo (seed)
• Một khóa chia sẻ giữa chủ dữ liệu và tổ chức kiểm định Khóanày là 1 ma trận giả khả nghịch X trên trường hữu hạn Zp (p là
số nguyên tố)
• Dữ liệu gồm nhiều mẫu tin Mỗi mẫu tin có thể xem là 1 ma trận
• Mỗi lần tổ chức kiểm định ít nhất 2 mẫu tin
Trang 16Bảng 3.1: Các bước kiểm định bảo toàn tính riêng tư
(TPA)
DO gửi dữ liệu đến máy chủ để lưu trữ
(1) Với mỗi mẫu tin M i với
và B = Σ`j=1 c ijT ij,
và gửi đến tổ chức kiểm định.
R · B · X, trả về 0 nếu ngược lại (1 nghĩa là dữ liệu toàn vẹn và 0 nghĩa
là dữ liệu đã bị thay đổi).
Trang 17Mệnh đề 7 (Tính đúng đắn) Gọi i1, , i` là chỉ số các mẫu tin tổ
chức kiểm định cần truy vấn và giả sử rằng các mẫu tin tương ứng
Mij(j = 1, , `) vẫn còn nguyên vẹn X là khóa bí mật của tổ chức
kiểm định Thông tin máy chủ gửi về được sinh ra từ các mẫu tin đó
Vì vậy, tổ chức kiểm định trả kết quả về 1
Kích thước các ma trận trong phương pháp trên được trình bày
Lưu ý: Kích thước ma trận giả khả nghịch X là m × k, với m > k,
ngầm hiểu X sẽ được tạo ra dựa vào Mệnh đề 1 sao cho XTX khả
nghịch Suy ra X độc lập tuyến tính cột
Trang 183.1.2 Phân tích
Mệnh đề 8 (Chi phí lưu trữ) Gọi N là số lượng dữ liệu của cơ sở dữliệu và (k × m) là kích thước của một mẫu tin
• Chi phí để lưu trữ trên máy chủ là O(N km)
• Chi phí để lưu trữ ở phía chủ dữ liệu và tổ chức kiểm định đều làkm
Mệnh đề 9 (Chi phí trên đường truyền) Gọi ` là số lượng mẫu tinđược yêu cầu kiểm định, k ×m là kích thước mẫu tin, |Int| là kích thướccủa 1 số nguyên
1 Máy chủ gửi về cho tổ chức kiểm định dữ liệu với kích thước
2 × k × m
2 Tổ chức kiểm định gửi về cho máy chủ yêu cầu với kích thước
`(|Int| + k × k)
Mệnh đề 10 (Về chi phí tính toán) Gọi N là số lượng mẫu tin của
cơ sở dữ liệu, ` là số lượng dữ liệu được yêu cầu kiểm định
1 Chủ dữ liệu thực hiện 2N phép băm, 4N phép nhân ma trận đểgửi N dữ liệu lên máy chủ
2 Máy chủ thực hiện 2` phép nhân ma trận để trả lời truy vấn kiểmđịnh ` mẫu tin
3 Tổ chức kiểm định thực hiện 2` + 1 phép băm, ` + 4 phép nhân
ma trận để kiểm định ` mẫu tin, 1 phép so sánh ma trận.Tiếp đến, chúng tôi phân tích độ an toàn của mô hình, trong đóchúng tôi chỉ giới hạn xét một số mô hình tấn công cụ thể như sau:
• Máy chủ dựa vào các giá trị nhãn Tivà các mẫu tin Mi để tìm giátrị khóa X Phương pháp máy chủ tìm khóa X là phương phápđại số: phân tích Ti = Qi· Mi· X · X†, biết trước Mi để tìm X
Trang 19• Tổ chức kiểm định dựa vào A, B để tìm giá trị mẫu tin Mij.Phương pháp tổ chức kiểm định tìm các mẫu tin Mi j là phươngpháp đại số, giải hệ phương trình A = Σ`j=1 cijR · Qij· Mij và
B = Σ`j=1ci jTi j = Σ`j=1 ci jQi j · Mij· X · X†, biết trước R · Qij
và X
Mệnh đề 11 (An toàn của khóa bí mật) Gọi Mi là mẫu tin thứ i và
Ti = Qi· Mi· X · X† là giá trị nhãn tương ứng Dựa vào Mi, Ti, máychủ không tìm được giá trị khóa X dựa vào tấn công đại số trong thờigian đa thức
Mệnh đề 12 (Bảo toàn tính riêng tư) Gọi A = Σ`j=1 ci jR · Qi j· Mij
và B = Σ`j=1cijTij = Σ`j=1 cijQij · Mij· X · X† là dữ liệu máy chủ gửicho tổ chức kiểm định, trong đó R, {Qij} do tổ chức kiểm định tạo ra,
X là khóa bí mật Tổ chức kiểm định không tìm được nội dung của cácmẫu tin {Mij} dựa vào tấn công đại số trong thời gian đa thức.Giả sử năng lực tính toán của máy tính là 280 và chúng tôi chỉ xétkhía cạnh lựa chọn tham số như thế nào để đảm bảo tính riêng tư của
dữ liệu, chống lại tấn công vét cạn Kết quả đánh giá là các hệ số cầnđược chọn sao cho
(` − 2) × k × m × |p| > 80 (3.1.1)trong đó |p| chỉ số bit của p
Chúng tôi cài đặt chương trình thực nghiệm đo thời gian máy chủ tạominh chứng và tổ chức thứ 3 kiểm định dữ liệu dựa vào minh chứngnhư mô tả trong giao thức ở Bảng3.1, sau đó so sánh với phương phápdựa trên RSA [1] và phương pháp dựa trên ánh xạ song tuyến tính[16] Số nguyên tố p được sinh ngẫu nhiên là p = 137 Số lượng mẫutin được yêu cầu để kiểm định là 460 Với mỗi trường hợp, chúng tôichạy 50 lần và tính thời gian chạy trung bình
Trang 20Bảng 3.3: Thời gian thực hiện kiểm định (Đơn vị: giây)
Chiều dài
mẫu tin
(số bit)
Phương pháp đềnghị
Phương pháp dựavào RSA [1]
Phương pháp dựavào ánh xạ songtuyến tính [16]
Kiểm tra minhchứng: 0.00012
Kiểm tra minhchứng: 2.111
Kiểm tra minhchứng: 0.1712
Kiểm tra minhchứng: 0.00017
Kiểm tra minhchứng: 2.371
Kiểm tra minhchứng: 0.2629
Theo như bảng kết quả, phương pháp của chúng tôi có chi phí tínhtoán thấp nhất, kế đến là phương pháp dùng ánh xạ song tuyến tính[16], và sau cùng là phương pháp dùng RSA [1]
• Chủ dữ liệu (Data owner, viét tắt là DO) dùng một khóa bí mật
x Khóa này sẽ được chia sẻ với tổ chức kiểm định
Trang 21• h : {0, 1, }∗× {0, 1}∗ → {0, 1}n là một hàm băm phụ thuộc khóa(keyed hash function) sinh ra dãy n bit.
• Q : {0, 1, }∗× {0, 1}∗ → {0, 1}n+1 là hàm sinh số nguyên tố phụthuộc khóa trả về một số nguyên tố n + 1 bit
Quá trình kiểm định dữ liệu gồm 3 pha
Pha 1: Chủ dữ liệu (DO) gửi dữ liệu đến máy chủ để lưu trữ.Mỗi lần chủ dữ liệu gửi một khối gồm d mẫu tin Các khối được đánh
số từ 0 Ta ký hiệu các mẫu tin trong khối thứ k là {Rkd+1, , R(k+1)d}.Chủ dữ liệu thực hiện:
(1) Tính Sk= Rkd+1⊕ · · · ⊕ R(k+1)d trong đó ⊕ là phép XOR bit.(2) Tính Rkd+i = Sk⊕ Rkd+i(∀i = 1, , d) = Rkd+1⊕ Rkd+i−1⊕
Xk≡ f(k+1)d (mod qd)Trong trường hợp d = 3, Xk là mã xác thực thông điệp đảm bảotính riêng tư (PPMAC) được mô tả trong Định nghĩa2
(6) Gửi khối dữ liệu và Xk, {{Rkd+i}d
i=1, Xk}, đến máy chủ Xk làthông tin dùng để kiểm định, gọi là metadata
Pha 2: Tổ chức kiểm định yêu cầu dữ liệu từ máy chủ để thực hiệnkiểm định
Trang 22(1) Tổ chức kiểm định gửi máy chủ yêu cầu gồm danh sách các chỉ mục{Ij}`
j=1của các mẫu tin RI1, · · · , RI` Biết rằng {Ij = kjd + ij}`
j=1,trong đó kj là thứ tự khối dữ liệu, ij là thứ tự của mẫu tin trongkhối
(2) Máy chủ xác định thứ tự của các khối dữ liệu tương ứng
{kj = bIj
dc}
` j=1
(3) Với mỗi chỉ mục Ij, máy chủ tính Sk j như trong bước (1) của pha
1 và RIj+1= Skj⊕ RIj+1 như trong bước (2) của pha 1
(4) Máy chủ trả về {RI j +1, Xk j}`
j=1 cho tổ chức kiểm định
Pha 3: Tổ chức kiểm định thực hiện kiểm định dữ liệu
(1) Với mỗi chỉ mục Ij trong danh sách yêu cầu, tổ chức kiểm địnhsinh một số nguyên tố qIj+1 = Q(Ij+ 1, x) (j = 1, , `)
(2) Với mỗi chỉ mục Ij, tổ chức kiểm định so sánh Xkj (mod qI j +1) =h(RIj+1, x) hay không Nếu bằng nhau, mẫu tin RIj không bị thayđổi Nếu không, mẫu tin đã bị thay đổi
Tính đúng đắn của phương pháp kiểm định được đảm bảo dựa vàotính duy nhất của nghiệm của hệ phương trình đồng dư và tính chấtcủa hàm băm
Quy ước:
• N là số lượng mẫu tin trong cơ sở dữ liệu
• d là số lượng mẫu tin trong 1 khối
• R là một mẫu tin |R| là kích thước (số bit) của mẫu tin R