PHƯƠNG PHÁP ĐỒNG cấu dựa TRÊN RSA CHO dữ LIỆU số

8 344 2
PHƯƠNG PHÁP ĐỒNG cấu dựa TRÊN RSA CHO dữ LIỆU số

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

Thông tin tài liệu

Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM VII-O-9 PHƯƠNG PHÁP ĐỒNG CẤU DỰA TRÊN RSA CHO DỮ LIỆU SỐ Nguyễn Ngọc Anh Thƣ1, Đặng Hải Vân1 1 Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Email: nnanhthu2512@gmail.com, dhvan@fit.hcmus.edu.vn TÓM TẮT Việc kiểm tra tình trạng sở hữu dữ liệu từ xa đóng vai trò rất quan trọng trong lưu trữ dữ liệu trên cloud. Nó cho phép người sử dụng kiểm tra xem dữ liệu thuê ngoài của họ có được giữ nguyên vẹn mà không cần phải download dữ liệu đó về. Bài báo này trình bày một giao thức được đề nghị bởi FrancescSebe [1] để giải quyết vấn đề trên.Giao thức này cho phép kiểm tra tính toàn vẹn của dữ liệu mà không giới hạn số lần kiểm tra. Từ khóa: kiểm tra tình trạng dữ liệu từ xa, cloud, đồng cấu dựa trên RSA. MỞ ĐẦU Công ty tài chínhContoso [5]có 8 chi nhánh trên cả nước. Phòng công nghệ thông tin (IT) của Contoso đang quản lý 400 servers và 1000 máy ảo đang chạy trên 100 server. Phần mềm đang chạy trên các server của Contoso cung cấp dịch vụ cho 5000 người dùng. Hàng năm công ty Contoso cần 50 triệu làm vốn và phải chi 150 triệu cho chi phí vận hành. Trong đó, 80% chi phí dành cho vận hành các hệ thống hiện tại và chỉ 20% chi phí đầu tư cho các hệ thống mới. Hơn nữa, trong khi số lượng công việc của phòng IT ngày càng nhiều thì số nhân viên của phòng không tăng hoặc thậm chí còn bị giảm. Việc cung cấp nguồn lực IT mới đòi hỏi phải mất nhiều tuần mà hệ thống lại có quá nhiều sự cố dẫn đến không thể sửa chữa kịp thời và làm cho hệ thống bị đình trệ trong một thời gian dài, do đó hiệu suất công việc cũng như lợi nhuận giảm đi nhiều. Từ vấn đề trên, chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn. Thuật ngữ ―cloud computing‖ ra đời cũng nhằm giải quyết các vấn đề nêu trên. Trước hết, khi ứng dụng công nghệ này thì doanh nghiệp chỉ cần đầu tư cơ sở hạ tầng đúng với yêu cầu của doanh nghiệp và một cách tức thời, không dư thừa lãng phí.Khi có nhu cầu mở rộng thì doanh nghiệp không cần phải suy nghĩ là phải đầu tư thêm bao nhiêu máy chủ, bao nhiêu máy trạm, mà chỉ cần đưa ra thông số kỹ thuật thì các nhà cung cấp cloud sẽ tự tìm kiếm tài nguyên rỗi để cung cấp cho doanh nghiệp.Kế đến, vì là dịch vụ nên doanh nghiệp chủ động trong việc cắt giảm chi phí để mua bán, bảo trì tài nguyên. Doanh nghiệp không cần một đội ngũ chuyên gia đi mua máy chủ, cài đặt máy chủ, bảo trì,...cũng như không cần đầu tư một đội ngũ để vận hành hệ thống, mà tất cả những công việc này đã có nhà cung cấp cloud lo. Tuy nhiên, bên cạnh những lợi ích đáng kể như vậy, cloud computing cũng vẫn còn tồn đọng nhiềuvấn đề cần phải giải quyết.Trước hết đó là tính riêng tư của dữ liệu. Liệu các thông tin người dùng và dữ liệu được chứa trên cloud có đảm bảo được quyền riêng tư, và liệu các thông tin đó có bị sử dụng vì mục đích khác mà chủ nhân nó không hề biết? Kế đến là tính sẵn sàng. Các dịch vụ của cloud có thể bị ―treo‖ bất ngờ, các rủi ro khách quan như đường truyền internet bị mất kết nối, ... có thể ảnh hường đến việc không sử dụng các dịch vụ cũng như truy cập dữ liệu của mình trong một khoảng thời gian nào đó làm ảnh hưởng đến công việc. Hơn nữa, khi ứng dụng công nghệ cloud computing thì ta hoàn toàn dựa vào nhà cung cấp, nếu vì một lý do nào đó mà nhà cung cấp ngừng hoạt động hoặc không cung cấp dịch vụ nữa, thì người dùng phải sao lưu dữ liệu từ cloud về máy cá nhân rất tốn thời gian, và có thể có trường hợp mất luôn dữ liệu không phục hồi lại được. Đôi khi, nhà cung cấp còn tự ý xóa những dữ liệu không hoặc ít được truy cập trong thời gian dài để tiết kiệm không gian lưu trữ và che dấu việc mất mát dữ liệu bằng cách tuyên bố dữ liệu vẫn đang được lưu chính xác trên cloud. Giải pháp hàm băm đồng cấu dựa trên RSA được đề ra trong bài báo này nhằm giải quyết một phần vấn đề liên quan đến mất dữ liệu được nêu ở trên. Thông qua giao thức này, người dùng có thể kiểm tra tính chính xác của dữ liệu đang được lưu trữ trên cloud, đồng thời nhà cung cấp cũng có thể chứng minh sở hữu cho bất kỳ tập dữ liệu nào đối với người chủ dữ liệu. Đặc biệt, người kiểm tra không cần phải có dữ liệu này trong suốt quá trình thực hiện giao thức mà chỉ cần giữ giá trị băm của nó. Giao thức này cũng đã được chứng minh là an toàn như bài toán phân tích thành thừa số. Bài báo được tổ chức như sau: Mục2giới thiệu mô hình băm đồng cấu sẽ được áp dụng để giải quyết những tranh chấp liên quan đến tính nhất quán trong khi chuyển đổi dữ liệu. Mục 3 sẽ tổng kết lại các kết quả thực nghiệm được thực hiện trên mô hình đã được đề xuất.Cuối cùng, mục 4 sẽ mô tả một số công trình có liên quan đến bài toán chứng minh sở hữu dữ liệu. ISBN: 978-604-82-1375-6 59 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM GIẢI PHÁP HÀM BĂM ĐỒNG CẤU DỰA TRÊN RSA Lý thuyết Một số kiến thức liên quan Mã hóa đồng cấu [6] Mã hóa đồng cấu là dạng mã hóa cho phép các loại phép toán nào đó được thực hiện trên bản mã và tạo ra kết quả được mã hóa mà khi được giải mã cho kết quả giống với kết quả khi thực hiện phép toán trên bản rõ, nói cách khác mã hóa đồng cấu cho phép xử lý dữ liệu được mã hóa mà không cần giải mã chúng. Giải thuật RSA là đồng cấu với phép nhân vì nó cho phép nhân các bản mã để đạt được bản mã tích. Sở dĩ RSA có tính chất này là do RSA được dựa trên hàm mũ. Thực vậy, cho khóa công khai Kpub = (N,e), ta có được bản mãC bằng cách C ← 𝜋 𝑒 mod N. Do đó, k bản mã có thể được nhân với nhau bằng cách sử dụng 𝑘𝑖 𝐶𝑖 = ( 𝑘𝑖 𝜋𝑖 )𝑒 mod N. Sau đó, ta có thể phục hồi kết quả bằng cách sử dụng khóa bí mật Kprivđể giải mã 𝑘𝑖 𝜋𝑖 . Do RSA chỉ có thể thực hiện phép nhân mà không thể thực hiện phép cộng nên nó chỉ là đồng cấu một phần. Các mô hình mã hóa đồng cấu toàn phần cho phép thực hiện cả hai phép cộng và phép nhân. Hàm băm đồng cấu [2] Một hàm H là đồng cấu nếu: cho hai toán tử + và ×, chúng ta có H(d + d’) = H(d)×H(d’) Một hàm băm đồng cấu là hàm băm có tính chất đồng cấu.Trong nhiều trường hợp, một hàm băm có tính chất đồng cấu yếu. Tuy nhiên, có thể xây dựng các hàm băm đồng cấu mạnhdựa trên khoá công cộng, miễn là các tham số bí mật không bị tiết lộ; cho đến nay, ví dụ duy nhất được biết đến là công việc của Krohn, Freedman và Mazires [4], dựa trên logarit rời rạc. Chúng ta bây giờ mô tả một hàm băm đồng cấu khác, dựa trên những nguyên lý tương tự RSA. Gọi n là một RSA modulus (nghĩa làn = pqvới p và q là các số nguyên tố), và∅(n) = (p−1)(q−1) là cấp của(Z/nZ)∗.Dữ liệu công khai cho hàm băm là n và một số nguyên b được chọn ngẫu nhiên. Để băm một cụm dữ liệu d kích thước tuỳ ý, cần tính: H(d) = bd mod n Mô hình này là đồng cấu dưới phép cộng các số nguyên: H(d + d’) ≡ bd+d’ ≡ bdbd’ ≡ H(d)H(d’) (mod n). Tìm sự đụng độ cho việc băm này liên quan đến tìm các thông điệp d, d’ sao choH(d) = H(d’).Nghĩa là, bd d’ ≡ b (mod n), do đóbd−d’ ≡ 1 (mod n). Theo định lý Euler, d−d’phải là bội số của∅(n).Do đó, bài toán được rút gọn thành tìm các số nguyên đồng dư modulo ∅(n). Giải pháp [1] Giải thuậtđượccải tiến từ giao thức của Filho [2] bằng cách chia dữ liệu thành nhiều khối và tạo giá trị băm đồng cấu cho từng khối. Giao thức kiểm tra dựa trên phương pháp trao đổi khóa Diffie-Helman. Thiết lập tham số Gọi verifier là người dùng muốn lưu trữ dữ liệu của mình lên server, prover là server được dùng để lưu trữ dữ liệu. Gọi N = pq là một RSA modulus do người verify tạo ra, trong đó p và q là những số nguyên tố sao cho p'=(p-1)/2 và q'=(q-1)/2 cũng là các số nguyên tố. N được công khai còn∅(N) = (p-1)(q-1) được giữ bí mật (chỉ người verify biết). Gọi l là số nguyên dương được chọn sao cho đảm bảo thoả hiệp giữa yêu cầu về lưu trữ bên phía verifier và chi phí tính toán bên phía prover, t là tham số bảo mật và PRNG là bộ sinh số giả ngẫu nhiên để tạo ra các số nguyên t bit. Dữ liệu đầu vào m được chia thành n khối, mỗi khối kích thước l bit (n= |𝑚|/𝑙 ). Khối cuối cùng nếu không đủ l bit sẽ được chèn thêm các số 0 vào cuối. Giá trị băm đồng cấu Mi = mi mod∅(N)sẽ được tính và lưu trữ cho từng mi. Thủ tục verify challenge-response ISBN: 978-604-82-1375-6 60 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Đầu tiên, verifier sẽ tạo hạt giống ngẫu nhiên S và phần tử ngẫu nhiên a ∈ZN \ {1,N-1} rồi gửi challenge (a,S) đến prover. Sau khi nhận được (a,S), prover sẽ tạo ra n số giả ngẫu nhiên ci∈ [1,2t] với i = 1 đến n bằng cách sử dụng PRNG với hạt giống S, tính 𝑟 = 𝑛𝑖=1 𝑐𝑖 𝑚𝑖 và R = armodN. Sau đó gửi R cho verifier. Verifier sau khi nhận được R sẽ sinh lại n số giả ngẫu nhiên ci∈[1,2t] với i = 1 đến n bằng cách sử dụng PRNG với hạt giống 𝑛 S, tính𝑟′ = 𝑖=1 𝑐𝑖 𝑀𝑖 𝑚𝑜𝑑∅(𝑁) và R' = ar'modN. Sau cùng, verifier sẽ kiểm tra R và R’ xem có bằng nhau không, nếu bằng chứng tỏ dữ liệu đang được lưu trữ chính xác. Sơ đồ challenge-response được tóm tắt như sau: 1. Gửi mi,(a,S) Prover Verifier 2. - Tạo (a,S) - Nhận R - Tạo ci, tính r’, R’ - Kiểm tra R, R’ Gửi R - Nhận mi, (a,S) - Tạo ci, tính r, R Thuật toán Giải thuật Sebe được chỉ ra trong Giải thuật 1. Giải thuật đầu tiên sẽ tính giá trị cận trên của số blocks mà dữ liệu m sẽ được phân chia (dòng 1), kế tiếp sẽ tiến hành chia nhỏ dữ liệu m thành các blocks (dòng 2 và 3) rồi thực hiện sinh 2 số nguyên tố p và q với chiều dài là k bits (dòng 4), tính giá trị cho ∅(𝑁) và N (dòng 5). Sau đó tính giá trị hash cho từng block dữ liệu (dòng 6 – 8). Tiếp theo, giải thuật sẽ sinh giá trị ngẫu nhiên cho (a,S) (dòng 9), sinh ngẫu nhiên các giá trị civà tính r, R (dòng 10 – 14). Cuối cùng là sinh lại ci và tính r’, R’ (dòng 15 – 18) Giải thuật 1Sebe (data m, bitsl, security parameter t) 1: n ←length(m)/l 2: for i from 1 to n 3: m[i] ← m.substring(1+l*(i-1),l*i) 4: p ←Generate prime number (k); q← Generate prime number(k) 5: ∅(𝑁) ← (p-1)*(q-1); N ← p*q 6: initialize M[1..n] to be an empty array 7: for i from 1 to n do 8: M[i] ← m[i]mod ∅(𝑁) 9: S ← random(1,N-1); a←random(2, N-1) 10: initialize c[1..n] to be an empty array 11: for i from 1 to n do 12: c[i] ←random(1, 2t) 13: r ← r + c[i]*m[i] r 14:R← a mod N 15: for i from 1 to n do 16: c[i] ← random(1, 2t) 17: r’← r’ + c[i]*M[i]mod∅(𝑁) r’ 18:R’← a mod N ISBN: 978-604-82-1375-6 61 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM THỰC NGHIỆM Mô tả kịch bản Thực nghiệm Môi trường lập trình Visual Studio 2013 Hệ điều hành Win 8.1, x64 Cấu hình Intel Core i5, 1.7GHz, RAM 4.00 GB Thư viện (Các hàm sinh số nguyên tố, sinh NTL 6.2.1 số ngẫu nhiên, nhân modulo, cộng modulo, lũy thừa modulo, tính thời gian) Đọc vào file dữ liệu gồm 49998 số nguyên tố, mỗi số 8000 bit. Chia file này thành 49998 blocks (m1, m2,…,m49998), mỗi số là một block. Do đó, n = 49998 và l = 8000. Tham số t là 128. Tiến hành 2 lần thực nghiệm tương ứng với chiều dài N là 1024 và 2048 bit.Mỗi lần thực hiện cho số lượng các block(n) khác nhau lần lượt là 6000, 12000, 18000, 30000 và 49998.Do kích thước dữ liệu lớn nên không thể nạp tất cả 49998 blocks vào bộ nhớ một lúc mà phải chia thành nhiều lần đọc dữ liệu, mỗi lần đọc tương ứng với 6000, 12000, 18000, 30000 và 49998 blocks, đồng thời, dữ liệu của lần đọc sau sẽ được lưu vào ô nhớ của dữ liệu lần đọc trước. Chẳng hạn, lần đầu tiên đọc 6000 blocks dữ liệu đầu, đo thời gian lưu trữ, thời gian tính toán bên phía prover, thời gian tính toán bên phía verifier cho 6000 blocks đó, tiếp tục đọc tiếp 6000 blocks dữ liệu tiếp theo và cũng đo các mốc thời gian tương tự…cho đến khi đọc hết 19998 blocks dữ liệu cuối cùng. Mục đích thực nghiệm là nhằm đo được thời gian lưu trữ, thời gian tính toán bên phía prover và thời gian tính toán bên phía verifierứng với chiều dài N lần lượt là 1024 bit và 2048 bit cho phương pháp mã hóa đồng cấu được đề nghị bởi tác giả FrancescSebe. Các bước thực nghiệm Quá trình thực nghiệm gồm 3 bước. Bước 1: Đọc file dữ liệu, tách dữ liệu thành nhiều blocks, sinh 2 số nguyên tố p,q, tính ∅(𝑁), N, Mi và đo thời gian lưu trữ. Bước 2: Sinh ngẫu nhiên a, S, ci, tính r, R và đo thời gian tính toán bên phía prover. Bước 3: Sinh ngẫu nhiên ci, tính r’, R’ và đo thời gian tính toán bên phía verifier. Kết quả thực nghiệm  Thời gian lưu trữ Bảng 1. Thời gian lưu trữ ISBN: 978-604-82-1375-6 N: 1024 bit N: 2048 bit Số blocks (n) Thời gian (ms) Thời gian (ms) 6000 17,050 639,942 12000 17,476 640,366 18000 17,830 640,978 30000 18,406 641,922 49998 19,655 643,543 62 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM  Thời gian prove Bảng 2. Thời gian tính toán bên phía prover  N: 1024 bit N: 2048 bit Số blocks (n) Thời gian (ms) Thời gian (ms) 6000 1,424 2,547 12000 2,987 5,098 18000 4,324 7,680 30000 6,626 12,042 49998 11,015 18,318 Thời gian verify Bảng 3. Thời gian tính toán bên phía verifier ISBN: 978-604-82-1375-6 N: 1024 bit N: 2048 bit Số blocks (n) Thời gian (ms) Thời gian (ms) 6000 915 2,215 12000 2,429 4,353 18000 3,047 6,649 30000 5,037 10,849 49998 9,910 17,252 63 Thời gian (ms) Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM 650,000 640,000 630,000 620,000 610,000 600,000 590,000 580,000 570,000 560,000 550,000 540,000 530,000 520,000 510,000 500,000 490,000 480,000 470,000 460,000 450,000 440,000 430,000 420,000 410,000 400,000 390,000 380,000 370,000 360,000 350,000 340,000 330,000 320,000 310,000 300,000 290,000 280,000 270,000 260,000 250,000 240,000 230,000 220,000 210,000 200,000 190,000 180,000 170,000 160,000 150,000 140,000 130,000 120,000 110,000 100,000 90,000 80,000 70,000 60,000 50,000 40,000 30,000 20,000 10,000 0 Thời gian lưu trữ (N:1024 bit) Thời gian prove (N:1024 bit) Thời gian verify (N:1024 bit) Thời gian lưu trữ (N:2048 bit) Thời gian prove (N:2048 bit) Thời gian verify (N:2048 bit) 6000 12000 18000 30000 49998 Hình 1. Tổng kết thời gian lưu trữ, thời gian prove và thời gian verify Đánh giá kết quả: Thời gian lưu trữ chủ yếu là thời gian sinh 2 số nguyên tố p, q. Chẳng hạn, khi thời gian lưu trữ là 17s thì thời gian sinh số nguyên tố là 16.5s, chiếm 97% thời gian lưu trữ, trong khi thời gian tính N, ∅(𝑁) và tính giá trị ISBN: 978-604-82-1375-6 64 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM băm Michỉ khoảng 0.5s. Do đó, khi số lượng blocks tăng lên thì thời gian lưu trữ tăng không đáng kể do thời gian sinh số nguyên tố vẫn như cũ, chỉ có thời gian tính giá trị băm Mităng lên không đáng kể. Thời gian prove chủ yếu bao gồm thời gian sinh n số ngẫu nhiên ci và thời gian tính r, R. Chẳng hạn, khi thời gian prove là 1.65s thì thời gian sinh n số ngẫu nhiên cilà 0.95s, thời gian tính r, R là 0.7s. Với thời gian verify là 1.3s, thời gian sinh n số ngẫu nhiên cicũng khoảng 0.95s trong khi thời gian tính r’, R’ vào khoảng 0.35s. Mặc dù thời gian thực hiện phép nhân nhanh hơn thời gian thực hiện phép nhân modulo (thời gian phép nhân là 1𝜇𝑠 trong khi thời gian phép nhân modulo là 5𝜇𝑠) nhưng thời gian verify vẫn nhanh hơn thời gian prove là do khi prove cần tính lũy thừa modulo của r, còn khi verify cần tính lũy thừa của r’. Mà kích thước của r khoảng 8000 bit còn kích thước của r’ nhỏ hơn 1024 bit nên thời gian tính lũy thừa modulo khi prove chậm hơn thời gian tính lũy thừa modulo khi verify dẫn đến thời gian prove chậm hơn thời gian verify. Khi kích thước N tăng lên, thời gian prove và thời gian verify chỉ tăng khoảng gấp đôi tuy nhiên thời gian lưu trữ tăng hơn 37 lần do thời gian sinh 2 số nguyên tố p, q tăng. Thời gian sinh số nguyên tố 512 bit là 22.877 s trong khi thời gian sinh số nguyên tố 1024 bit là 736s. Thực nghiệm với kích thước dữ liệu đầu vào m là 120MB (49998 blocks có kích thước 8000 bit/1 block) thì thời gian tính toán tối đa chỉ khoảng 11s (bên phía prover) và khoảng 10s (bên phía verifier). HẠN CHẾ Chi phí lưu trữ vẫn còn khá lớn, chẳng hạn khi thực nghiệm với kích thước dữ liệu đầu vào m là 120MB thì thời gian lưu trữ là hơn 19s.Tuy nhiên, hiện tại, trong chi phí lưu trữ thì chi phí sinh 2 số nguyên tố p, q chiếm 97.Vì vậy, muốn giảm chi phí lưu trữ thì cần thiết phải giảm chi phí sinh số nguyên tố. Mà hàm sinh số nguyên tố sử dụng hàm của thư viện NTL: p = GenGermainPrime_ZZ(512,80); q = GenGermainPrime_ZZ(512,80); Do đó, hiện nay vẫn chưa nghĩ ra cách để có thể cải thiện được chi phí lưu trữ. CÁC CÔNG TRÌNH LIÊN QUAN Filho et al.[2] đã đề nghị một giao thức mã hoá bằng hàm băm đồng cấu dựa trên RSA. Thông qua giao thức này, prover có thể chứng minh việc sở hữu một tập dữ liệu cho verifier. Đầu tiên, verifier sẽ tính giá trị băm cho dữ liệu m cần kiểm tra h(m)= m mod∅ 𝑁 (trong đó ∅ 𝑁 là hàm Euler của N) rồi gửi dữ liệu m cho prover. Sau đó, verifier có thể xoá dữ liệu m trên máy và chỉ cần giữ lại giá trị bămh(m). Để kiểm tra tính chính xác của dữ liệu có Verifier tính M’p = bh(m) mod N và kiểm tra xem Mpcó bằng M’p không. Nếu bằng, chứng tỏ prover đang lưu dữ liệu m chính xác. Thật vậy, ta có h(m)= m mod∅ 𝑁 , suy ra m - h(m)phải là bội số của ∅ 𝑁 . Theo định lý Euler ta được bm - h(m)≡ 1 (mod N), do đó bm≡bh(m)(mod N), nghĩa là Mp = M’p . Acknowledgment.I acknowledge support from A.Prof. Dr. Nguyễn Đình Thúc, who is my supervisor. Lời cảm ơn: Tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS.Nguyễn Đình Thúc – người đã trực tiếp hướng dẫn, chỉ bảo tận tình, giúp tôi hoàn thành bài báo này. RSA-BASED HOMOMORPHIC HASH VALUE ABSTRACT Remote data possession cheking plays an important role in data storage. It permits users to check that data is correctly stored in the Cloud without downloading them. This paper presents a protocol which was proposed by FrancescSebe [1] in order to tackle this problem. The protocol allows checking data integrity with an unlimited number of file verifications. Key words: remote data possession checking, cloud, RSA-based homomorphic. TÀI LIỆU THAM KHẢO [1] FrancescSebe, JosepDomingoFerrer, AntoniMartinezBalleste, YvesDeswarte, Jean-Jacques JacquesQuisquater, Efficient remote data possession checking in critical information infrastructures,IEEE Trans. Knowl. Data Eng. 2 (2008) 1034-1038. [2] Décio LuizGazzoni Filho,Paulo Sérgio LicciardiMessederBarreto, Demonstrating Data Possession and Uncheatable Data Transfer,IACR ePrint Archive150 (2006). [3] Kan Yang, Xiaohua Jia, Data storage auditing service in cloud computing: challenges, methods and opportunities,Springer Science+Business Media15 (2011) 409-428. [4] Maxwell Krohn, Michael Freedman, David Mazieres, On-the-fly verification of rateless erasure codes for efficient content distribution,IEEE Symposium on Security and Privacy(2004)226–240. ISBN: 978-604-82-1375-6 65 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM [5] [6] Tom Shinder, Jim Dial, Yuri Diogenes, Bill Loeffler, John Dawson, Pilar Ackerman,Cloud infrastructure solution for enterprise IT. Microsoft (2013). Pedro Silveir Pisa, Michel Abdalla, Otto Carlos Muniz Bandeira Duarte, Somewhat Homomorphic Encryption Scheme for Arithmetic Operations on Large Integers,Global Information Infrastructure and Networking Symposium (GIIS) (2012) 1-8. ISBN: 978-604-82-1375-6 66 ... ĐHQG-HCM GIẢI PHÁP HÀM BĂM ĐỒNG CẤU DỰA TRÊN RSA Lý thuyết Một số kiến thức liên quan Mã hóa đồng cấu [6] Mã hóa đồng cấu dạng mã hóa cho phép loại phép toán thực mã tạo kết mã hóa mà giải mã cho kết... mã hóa đồng cấu cho phép xử lý liệu mã hóa mà không cần giải mã chúng Giải thuật RSA đồng cấu với phép nhân cho phép nhân mã để đạt mã tích Sở dĩ RSA có tính chất RSA dựa hàm mũ Thực vậy, cho khóa...

Ngày đăng: 09/10/2015, 06:40

Tài liệu cùng người dùng

Tài liệu liên quan