1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận án tiến sĩ công nghệ thông tin kiểm định công khai đảm bảo tính riêng tư cho dữ liệu lưu trữ ngoài

125 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ĐẶNG HẢI VÂN KIỂM ĐỊNH CÔNG KHAI ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU LƯU TRỮ NGỒI LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN Tp Hồ Chí Minh, 2017 ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ĐẶNG HẢI VÂN KIỂM ĐỊNH CƠNG KHAI ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU LƯU TRỮ NGỒI Chun ngành: Khoa học máy tính Mã số chuyên ngành: 62.48.01.01 Phản biện 1: PGS TS Tôn Thất Trí Phản biện 2: PGS TS Trần Cơng Hùng Phản biện 3: TS Trần Nam Dũng Phản biện độc lập 1: PGS TS Nguyễn Linh Giang Phản biện độc lập 2: PGS TS Trần Công Hùng Người hướng dẫn khoa học: PGS TS Nguyễn Đình Thúc Tp Hồ Chí Minh, năm 2017 LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu tơi hướng dẫn PGS TS Nguyễn Đình Thúc Các kết nêu luận án trung thực chưa cơng bố cơng trình khác Ký tên Đặng Hải Vân Con cảm ơn ba mẹ lo lắng cho Em cảm ơn thầy ln tận tình hướng dẫn em Tơi cảm ơn người bạn bên cạnh động viên Mục lục Danh mục thuật ngữ tiếng Anh Danh mục từ viết tắt tiếng Anh Danh mục bảng Danh mục hình vẽ Giới thiệu 10 1.1 Đặt vấn đề 10 1.2 Các nghiên cứu liên quan 12 1.3 Mục tiêu Bố cục luận án 22 Cơ sở lý thuyết 2.1 28 Ma trận giả nghịch đảo 28 2.1.1 Khái niệm 28 2.1.2 Xây dựng ma trận giả nghịch đảo trường hữu hạn 33 2.1.3 Thuật toán xây dựng ma trận giả khả nghịch 40 2.1.4 Phân tích thời gian sinh ma trận giả khả nghịch thực nghiệm 45 2.2 Mã xác thực thông điệp đảm bảo tính riêng tư 49 2.2.1 Giới thiệu 49 2.2.2 Mô tả 51 2.2.3 Độ an toàn 56 2.2.4 Chi phí tính tốn, lưu trữ truyền thơng 60 Kiểm định cơng khai đảm bảo tính riêng tư cho liệu lưu trữ 64 3.1 Phương pháp 1: Dựa vào ma trận giả nghịch đảo 64 3.1.1 Mô tả 64 3.1.2 Phân tích 69 3.1.2.1 Chi phí lưu trữ truyền thơng 69 3.1.2.2 Chi phí tính tốn 70 3.1.2.3 Độ an toàn 72 3.1.2.4 Về việc lựa chọn tham số 73 3.1.2.5 Về tính xác thực kiểm định 74 Thực nghiệm đo thời gian thuật toán kiểm định liệu 77 Phương pháp 2: Dựa vào mã xác thực thông điệp 80 3.2.1 Mô tả giao thức tổng quát 81 3.2.2 Phân tích 87 3.2.2.1 Chi phí lưu trữ 87 3.2.2.2 Chi phí truyền thơng 88 3.2.2.3 Chi phí tính tốn 89 3.2.3 Mô tả giao thức cụ thể 90 3.2.4 Áp dụng phương pháp cho sở liệu 92 3.1.3 3.2 3.3 So sánh Kết luận 93 99 Danh mục cơng trình khoa học 102 Danh mục tài liệu tham khảo 103 A Phụ lục 108 A.1 Ma trận trực giao 108 A.2 Thực nghiệm 109 A.3 Phương pháp kiểm định cơng khai dựa vào vị nhóm quy 114 A.4 Chia sẻ khóa thay khóa 117 A.4.1 Giới thiệu 117 A.4.2 Trường hợp người dùng 118 A.4.3 Trường hợp N người dùng 120 Danh mục thuật ngữ tiếng Anh Bảng 1: Bảng thuật ngữ tiếng Anh Tiếng Việt Tiếng Anh Tổ chức thứ ba Third-party Tính bảo mật Security Tính riêng tư Privacy Tính bí mật Confidentiality Tính toàn vẹn Integrity Nhãn Tag Mẫu tin Record Khối liệu Block Phần liệu Sector Tính chất đồng cấu Homomorphic property Máy chủ Server Chủ liệu Data owner (DO) Tổ chức thứ thực kiểm định Third-party auditor (TPA) Thông tin cần thiết cho việc kiểm định Metadata Ma trận giả nghịch đảo Pseudoinverse matrix Mã xác thực thông điệp Message Authentication Code Đám mây Cloud Danh mục từ viết tắt tiếng Anh Bảng 2: Bảng từ viết tắt tiếng Anh Từ viết tắt Từ viết đầy đủ E-PDP Efficient Provable Data Possession (Phương pháp đề xuất nhóm tác giả Ateniese, Burns, Curtmola Herring [1]) S-PDP Strong Provable Data Possession (Phương pháp đề xuất nhóm tác giả Ateniese, Burns, Curtmola Herring [1]) BLS Phương pháp tạo chữ ký điện tử đề xuất nhóm tác giả Dan Boneh, Ben Lynn, and Hovav Shacham [5] TPA Third-party auditor DO Data owner SVD Singular Value Decomposition MAC Message Authentication Code HMAC Hash-based Message Authentication Code PPMAC Privacy-preserving Message Authentication Code PRF Pseudorandom function Danh sách bảng Bảng thuật ngữ tiếng Anh Bảng từ viết tắt tiếng Anh 1.1 Tóm tắt nghiên cứu liên quan 22 2.1 Cấu hình hệ thống 46 2.2 Thời gian sinh ma trận giả khả nghịch (Đơn vị: giây) 47 3.1 Các bước kiểm định bảo tồn tính riêng tư 66 3.2 Bảng kích thước ma trận 68 3.3 Cấu hình hệ thống 79 3.4 Thời gian thực kiểm định (Đơn vị: giây) 80 3.5 So sánh chi phí phương pháp đề xuất 95 3.6 Bảng so sánh phương pháp 96 A.1 Cấu hình hệ thống 110 A.2 Thời gian chạy pha 111 A.3 Thời gian chạy pha 112 A.4 Thời gian chạy pha 113 Phụ lục A Phụ lục A.1 Ma trận trực giao Mệnh đề 31 Cho O(n, q) nhóm ma trận trực giao kích thước n × n trường hữu hạn Zq Bậc nhóm xác định (i) Nếu n = 2t + t−1 Y |O(2t + 1, q)| = 2q (q 2t − q 2i ) t (A.1.1) i=0 (ii) Nếu n = 2t −1 số phương Zq t−1 Y |O(2t, q)| = 2(q − 1) (q 2t − q 2i ) t (A.1.2) i=1 (iii) Nếu n = 2t −1 khơng số phương Zq t |O(2t, q)| = 2(q + (−1) t+1 ) t−1 Y i=1 [15] 108 (q 2t − q 2i ) (A.1.3) Ví dụ A.1.1 Với n = 9, p = 7, ta tính số lượng ma trận 5193018961844673454624604160000 Như vậy, số lượng đáng kể A.2 Thực nghiệm Chúng tiến hành thực nghiệm cho hai phương pháp kiểm định: Phương pháp kiểm định Chương 3.2, hàm băm h định nghĩa sau h : {0, 1}∗ × {0, 1}∗ → {0, 1}n  RI , x 7→ fI = RI (mod Q(I, x)) Phương pháp thông thường không đảm bảo tính riêng tư, định nghĩa tương tự phương pháp đề nghị với số thay đổi: • Pha 1: bỏ bước (1), (2), (5) Trong bước (3), DO tính fkd+i = h(Rkd+i , x) cho mẩu liệu khối liệu Trong bước (6), DO gửi khối liệu giá trị băm, {Rkd+i , fkd+i }di=1 , đến máy chủ • Pha 2: bỏ bước (3) Trong bước (4), máy chủ trả {RIj , fIj }`j=1 cho tổ chức kiểm định • Pha 3: bước (2), tổ chức kiểm định so sánh xem fIj = h(RIj , x)(j = 1, , `) hay không Trong hai phương pháp kiểm định, đo thời gian chạy pha Tất thực nghiệm tiến hành với cấu hình máy sau 109 Bảng A.1: Cấu hình hệ thống - Hệ điều hành: Win 64 bit - Bộ vi xử lý: Intel(R) Core(TM) i5 - 3337U CPU @1.8Ghz - Ram: 4G Ngôn ngữ lập trình: C/C++ IDE: Visual Studio 2008 Các thư viện: - NTL: A Library for Doing Number Theory (version 5.5 2)(2009) - Boost C++ Libraries (2008) Chúng đặt giả thiết sau cho thực nghiệm • Cơ sở liệu sử dụng thực nghiệm gồm 49998 số nguyên tố 300 bit Chúng kiểm định liệu sở liệu • Kích thước khối d = • Hàm băm định nghĩa h : {0, 1}∗ × {0, 1}∗ → {0, 1}99  RI , x 7→ fI = RI (mod Q(I, x)) Q : {0, 1, }∗ × {0, 1}∗ → {0, 1}100 hàm sinh số nguyên tố 100 bit • Chúng tơi sinh sẵn 49998 số ngun tố 100 bit phân biệt Kết thực nghiệm bên khơng tính chi phí để sinh số ngun tố 110 • Thời gian đo mức N = 6000, N = 18000, N = 30000, N = 49998 liệu Các thực nghiệm tiến hành gồm: Thực nghiệm Chúng tơi đo tổng thời gian DO tính metadata trước gửi đến máy chủ, số lượng liệu N = 6000, N = 18000, N = 30000, N = 49998 Với N liệu, chia thành N d khối chạy pha cho khối Hình A.1 mơ tả thời gian chạy pha (đơn vị: miliseconds) phương pháp nói Kết chi tiết trình bày bảng A.2 Bảng A.2: Thời gian chạy pha Số lượng liệu Phương pháp đề xuất Phương pháp thông thường 6000 40 18000 118 11 30000 195 18 49998 328 29 111 Running time of phase 350 328 300 Time (in miliseconds) 250 200 195 150 118 100 50 40 29 18 11 6000 18000 30000 49998 Number of records Proposed Traditional Hình A.1: Thời gian chạy pha Thực nghiệm Chúng đo tổng thời gian máy chủ xử lý liệu để trả cho tổ chức kiểm định tổ chức kiểm định gửi yêu cầu truy vấn Số lượng liệu yêu cầu N = 6000, N = 18000, N = 30000, N = 49998 Hình A.2 mơ tả thời gian chạy pha (đơn vị:miliseconds) phương pháp nêu Kết chi tiết trình bày bảng A.3 Bảng A.3: Thời gian chạy pha Số lượng liệu Phương pháp đề xuất Phương pháp thông thường 6000 18000 30000 49998 12 112 Running time of phase 14 12 12 Time (in miliseconds) 10 8 2 1 6000 18000 30000 49998 Number of records Proposed Traditional Hình A.2: Thời gian chạy pha Thí nghiệm Chúng đo tổng thời gian tổ chức kiểm định thực kiểm định liệu, số lượng liệu N = 6000, N = 18000, N = 30000, N = 49998 Hình A.3 mô tả thời gian chạy pha (đơn vị: miliseconds) phương pháp nêu Kết chi tiết trình bày bảng A.4 Bảng A.4: Thời gian chạy pha Số lượng liệu Phương pháp đề xuất Phương pháp thông thường 6000 18000 16 30000 27 14 49998 45 23 113 Running time of phase 50 45 45 40 Time (in miliseconds) 35 30 27 25 23 20 16 15 14 10 5 6000 18000 30000 49998 Number of records Proposed Traditional Hình A.3: Thời gian chạy pha Nhìn vào kết thí nghiệm, ta thấy thời gian phương pháp đề xuất nhiều phương pháp thơng thường Chi phí hao tốn thêm chi phí cần để đảm bảo tính riêng tư Sử dụng phương pháp thông thường, tổ chức kiểm định biết liệu người dùng Phương pháp đề xuất chống điều với chi phí hao tốn thêm khoảng 22 mili-giây (22 kết 45 − 23) kiểm định khoảng 50000 liệu Chi phí nhỏ A.3 Phương pháp kiểm định cơng khai dựa vào vị nhóm quy Trong phần này, chúng tơi muốn tổng qt hóa mơ hình kiểm định liệu ứng dụng ma trận giả nghịch đảo thành mơ hình kiểm định ứng dụng monoid quy (regular monoid) 114 Bổ đề [4] Cho A ma trận Rm×n rank(A) = r, r > Tồn ma trận B Rm×r C Rr×n cho A = B · C, rank(B) = rank(C) = r Phân tích A = B · C gọi phân tích hạng đầy đủ ("full rank factorization") A Định lý [4] Cho A ma trận Rm×n có rank(A) = r, r > có phân tích hạng đầy đủ (full rank factorization) A = B · C A† = C T · B T · A · C T −1 · BT (A.3.1) Vì chứng minh Bổ đề Định lý cho ma trận trường hữu hạn, mở rộng hệ sau Hệ Cho M(m) tập ma trận vuông có kích thước m × m trường F A ∈ M(m) Khi Tồn ma trận B kích thước m × r C kích thước r × n cho A = B · C, rank(B) = rank(C) = r, Ma trận B T AC T khả nghịch, A† = C T · B T · A · C T −1 · BT Hệ Cho M(m) tập tất ma trận vng có kích thước m × m trường F A ∈ M(m) Tồn ma trận giả nghịch đảo A, ký hiệu A† M(m) Định nghĩa [9] Xét monoid M với phép tốn nhân "·" Ta nói (i) Phần tử a thuộc M quy ((von Neumann) regular) tồn phần tử b thuộc M thỏa a · b · a = a 115 (i) M quy tất phần tử quy Phần tử b gọi phần tử giả nghịch đảo (pseudoinverse) Monoid quy cịn gọi monoid tựa nghịch đảo (quasiinverse monoid) Nhận xét: Tập hợp M(m) gồm tất ma trận vng có kích thước m × m trường F với phép nhân ma trận tạo thành monoid quy Về mặt cài đặt, ma trận vng, thay lưu giữ tồn thơng tin ma trận, chúng tơi lưu giữ dịng độc lập tuyến tính (hay cột độc lập tuyến tính) Khi ta có ma trận giả nghịch đảo xây dựng dựa vào dòng hay cột độc lập tuyến tính Vì vậy, mơ hình kiểm định cơng khai đảm bảo tính riêng tư cho liệu lưu trữ ngồi phát biểu tổng qt dựa cấu trúc monoid quy, gồm bước thực sau: - Chủ liệu tạo nhãn cho liệu: (1) Chủ liệu tổ chức kiểm định thỏa thuận dùng chung phần tử bí mật f monoid quy M h phần tử giả nghịch đảo f (2) Chủ liệu ánh xạ giá trị liệu m thành phần tử z thuộc monoid M (3) Chủ liệu tính giá trị nhãn m: t = z · f · h - Chủ liệu gửi (m, t) đến máy chủ để lưu trữ - Tổ chức thứ thực kiểm định liệu lưu trữ máy chủ (1) Tổ chức kiểm định gửi yêu cầu truy vấn cho máy chủ (2) Máy chủ chọn ngẫu nhiên số nguyên c, ánh xạ giá trị liệu m thành z, sau tính A = cz, B = ct, sau gửi A, B cho tổ chức kiểm định 116 (3) Tổ chức kiểm định kiểm tra A · f = B · f kết luận liệu khơng thay đổi Nếu khác kết luận liệu bị thay đổi Tính đắn mơ hình dựa vào tính chất phần tử quy nêu Định nghĩa Thật vậy, liệu không bị thay đổi, ta có A · f = cz · f = cz · f · h · f = ct · f = B · f A.4 A.4.1 Chia sẻ khóa thay khóa Giới thiệu Trao đổi khóa trình hai bên bắt tay để thiết lập khóa chia sẻ chung, khóa sau dùng để mã hóa liệu Mỗi bên góp phần thơng tin vào khóa chia sẻ Giao thức chia sẻ khóa phổ biến giao thức DiffieHellman Trong phần này, đề xuất hướng tiếp cận khác, dựa ma trận giả nghịch đảo Đầu tiên, chúng tơi trình bày giao thức trao đổi khóa hai người Sau đó, chúng tơi trình bày giao thức mở rộng tùy ý cho N người 117 A.4.2 Trường hợp người dùng Bảng A.5: Bảng tóm tắt bước chia sẻ khóa bí mật hai người dùng cloud Alice(A) Cloud (1) Sinh ma trận G1 Bob(B) ∈ Sinh ma trận G2 Zm×n , m < n G†1 p ∈ Zm×n , m < n G†2 p (2) Sinh khóa P KA = G†1 · Lưu giữ P KA , P KB Sinh khóa P KB = G†2 · G1 ,SKA = G1 , gửi G2 ,SKB = G†2 , gửi P KA lên cloud P KB lên cloud (3) Lấy P KB từ cloud về, Lưu giữ M KA , M KB Lấy P KA từ cloud về, tính M KA = SKA · P KB tính M KB = P KA · SKB gửi lên cloud gửi lên cloud (4) Lấy M KB từ cloud, Lấy M KA từ cloud, = SKA · tính SKAB = M KA · tính SKAB M KB SKB (5) Dùng khóa SKAB để mã Dùng khóa SKAB để mã hóa liệu cần chia sẻ hóa liệu cần chia sẻ Mệnh đề 32 (Tính đắn) Khóa chia sẻ Alice tính với khóa chia sẻ Bob tính Chứng minh Khóa chia sẻ Alice tính SKA · M KB 118 Khóa chia sẻ Bob tính M KA · SKB SKA · M KB = SKA · (P KA · SKB ) = G1 · (G†1 · G1 · G†2 ) = G1 · G†2 = G1 · G†2 · G2 · G†2 = SKA · P KB · SKB = M KA · SKB Mệnh đề 33 (Tính an tồn) Từ giá trị khóa trung gian M KA , M KB , máy chủ khơng tìm khóa chia sẻ SKAB Chứng minh Khóa chia sẻ SKAB = G1 · G†2 (kích thước m × m) Khóa trung gian gồm M KA = SKA · P KB = G1 · G†2 · G2 (kích thước m × n) M KB = P KA · SKB = G†1 · G1 · G†2 (kích thước n × m) Máy chủ thiết lập hệ phương trình tuyến tính M KB = G†1 · G1 · G†2 với số phương trình n × m (kích thước M KB ), số ẩn m × n (kích thước G†2 ) Do G†1 · G1 không khả nghịch rank(G†1 · G1 ) = m (xem Mệnh đề 8(iv)), số biến tự n − m Giả sử lực tính tốn máy tính 280 Mỗi phần tử ma trận phần tử thuộc Zp Để chống công vét cạn, cần chọn m, n cho log(p) × (n − m) > 80 Khi đó, máy chủ khơng tìm G†2 Tương tự, máy chủ khơng tìm G1 dựa vào M KA = SKA · P KB = G1 · G†2 · G2 Vì khơng tìm khóa chia sẻ SKAB = G1 · G†2 119 A.4.3 Trường hợp N người dùng Trong trường hợp có N (N ≥ 2), chúng tơi đề xuất cách chia sẻ khóa sau Giao thức đồng thời áp dụng để thay khóa chia sẻ sau thời gian sử dụng Để đơn giản, mô tả trước giao thức cho người dùng Giao thức mở rộng dễ dàng cho nhiều người dùng Giả sử ma trận X kích thước m × n, m > n chia sẻ trước Alice Bob 120 Bảng A.6: Bảng tóm tắt bước Alice chia sẻ M · X cho Bob Alice (A) Cloud Bob (B) Tạo cặp ma trận XB1 , XB2 (1) cho XB1 · XB2 = X Lưu giữ P KB (2) Sinh ma trận khả nghịch QB , tính P KB = X · X † · XB1 · QB , SKB = Q−1 B ·XB , gửi P KB lên cloud (3) Sinh ma trận M , tính Lưu giữ C C = M · P KB gửi C lên cloud Lấy C từ cloud về, (4) tính giá trị khóa chia sẻ K = C · SKB (5) Dùng khóa M · X để mã Dùng khóa K để mã hóa hóa liệu cần chia sẻ liệu cần chia sẻ Do giao thức không yêu cầu tương tác người dùng, Alice chia sẻ M · X cho người dùng khác cách lặp lại bước (3) với khóa cơng khai thích hợp Mệnh đề 34 (Tính đắn) Khóa chia sẻ người dùng tính 121 Chứng minh K = C · SKB = M · X · X † · XB1 · QB · (Q−1 B · XB ) = M · X Mệnh đề 35 (Tính an tồn) Máy chủ khơng tìm khóa riêng người dùng † SKB = Q−1 B · XB dựa vào khóa cơng khai P KB = X · X · XB · QB người dùng Chứng minh Máy chủ tìm cách xác định khóa chia sẻ K dựa vào mã C = M · P KB khóa cơng khai Bob, P KB Máy chủ cần giải hệ C = M · P KB để tìm xác M Nếu kích thước XB1 m × k, XB2 k × n P KB kích thước m × k Nếu M có kích thước × m hệ C = M · P KB có × k phương trình, × m ẩn số Do chọn kích thước k < m đủ để đảm bảo chống lại khả giải hệ phương trình 122

Ngày đăng: 19/04/2023, 12:34

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w