Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 90 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
90
Dung lượng
1,62 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - BÙI XUÂN BÌNH ZERO KNOWLEDGE VÀ ỨNG DỤNG TRONG AN TOÀN DỮ LIỆU LUẬN VĂN THẠC SĨ KỸ THUẬT TOÁN TIN Hà Nội – 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - BÙI XUÂN BÌNH ZERO KNOWLEDGE VÀ ỨNG DỤNG TRONG AN TỒN DỮ LIỆU Chun ngành: TỐN TIN Mã đề tài: TOAN-VINH01 LUẬN VĂN THẠC SĨ KỸ THUẬT TOÁN TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TIẾN SĨ: VŨ THÀNH NAM Hà Nội – 2014 LỜI CẢM ƠN Trước hết tác giả xin gửi lời cảm ơn đến TS Vũ Thành Nam, người thầy hướng dẫn nhiều suốt trình tìm hiểu nghiên cứu hồn thành khóa luận từ lý thuyết đến ứng dụng Sự hướng dẫn thầy giúp tơi có thêm hiểu biết số vấn đề liên quan đến bảo mật thơng tin Qua , lý thuyết bảo mật lôi trở thành hướng nghiên cứu tiếp sau tốt nghiệp Đồng thời xin chân thành cảm ơn thầy cô môn thầy cô trường trang bị cho kiến thức , cần thiết để hồn thành tốt khóa luận Tơi xin gửi lời cảm ơn đến học viên lớp 12ATT-VINH, người bạn bên cạnh động viên, tạo điều kiện thuận lợi giúp tơi tìm hiểu, hồn thành tốt khóa luận Cuối cùng, tơi xin gửi lời cảm ơn đến gia đình, bạn bè tạo điều kiện để tơi xây dựng thành cơng khóa luận này./ LỜI CAM ĐOAN Tôi xin cam đoan kết đạt luận văn sản phẩm cá nhân thực nghiêm túc hướng dẫn Tiến sĩ Vũ Thành Nam Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo qui định cho lời cam đoan Hà Nội, tháng 10 năm 2014 HỌC VIÊN THỰC HIỆN Bùi Xuân Bình DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT Ký hiệu, viết tắt Giải thích CT Cử tri ƯCLN Ước chung lớn gcd(m, n) Uớc chung lớn m n KP Kiểm phiếu TT Trung thực CM KTLTT Chứng minh không tiết lộ thông tin TMĐT Thương mại điện tử TTĐT Thanh toán điện tử Prover Người chứng minh Verifier Người xác minh DANH MỤC CÁC BẢNG Bảng 2.1 Mơ tả bước tính: gcd(30, 18) 29 Bảng 2.2 Tốc độ thuật toán Brent-Bollard 45 Bảng 3.1 Quá trình chứng minh đại diện tài khoản 62 Bảng 3.2 Giao thức rút tiền 64 Bảng 3.3 Giao thức toán 66 Bảng 3.4 Giai đoạn Cử tri chứng minh phiếu hợp lệ 71 Bảng 3.5 Giai đoạn Người xác minh TT chứng minh phiếu làm mù hợp lệ 74 Bảng 3.6 Phương án gồm giai đoạn hai 76 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Sơ đồ chứng minh tương tác Hình 3.1 Sơ đồ giao thức Fiat – Shamir .50 Hình 3.2 Sơ đồ giao thức Feige-Fiat-Shamir .52 Hình 3.3 Mơ hình giao dịch mua bán tiền điện tử .55 Hình 3.4 Quá trình khởi tạo tài khoản 61 Hình 3.5 Sơ đồ Cử tri chuyển phiếu đến Ban kiểm phiếu 70 MỤC LỤC LỜI CAM ĐOAN DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU Chương ZERO KNOWLEDGE 1.1 Chứng minh tương tác .9 1.1.1 Khái niệm 1.1.2 Các tính chất 1.2 Chứng minh không tiết lộ thông tin .11 1.2.1 Khái niệm 11 1.2.2 Các tính chất: .11 1.2.3 Giao thức 12 1.2.4 Các thành phần phép chứng minh không tiết lộ thông tin 12 1.3 Hệ thống CM KTLTT cho tính Đẳng cấu đồ thị 12 1.3.1 Khái niệm đồ thị đẳng cấu 12 1.3.2 Định nghĩa hệ thống CM KTLTT hoàn thiện 16 1.3.3 Định nghĩa hệ thống CM KTLTT hoàn thiện không điều kiện 18 1.4 Hệ thống CM KTLTT cho toán thặng dư bậc hai 22 1.4.1 Sơ đồ chứng minh .22 1.4.2 Tính chất sơ đồ .22 1.4.3 Chứng minh sơ đồ có tính đầy đủ .23 Chương 2: CƠ SỞ MẬT MÃ 23 2.1 Cơ sở toán học 23 2.1.1 Các khái niệm Đại số: 23 2.1.2 Các khái niệm số học: 27 2.1.3 Lý thuyết độ phức tạp 31 2.2 Mã hóa .36 2.2.1 Từ, ngôn ngữ: 36 2.2.2 Mã khóa bí mật: 37 2.2.3 Mã khóa cơng khai: 42 2.2.4 Chữ ký số: 47 Chương ỨNG DỤNG ZERO KNOWLEDGE 49 3.1 Giao thức xác thực không lộ: 49 3.1.1 Giao thức xác thực Fiat-Shamir 49 3.1.2 Giao thức xác thực Feige-Fiat-Shamir .51 3.1.3 Giao thức xác minh Schnorr’s 53 3.2 Ứng dụng Zero knowledge tiền điện tử 53 3.2.1 Khái niệm toán điện tử 53 3.2.2 Khái niệm tiền điện tử 54 3.2.3 Mơ hình giao dịch mua bán tiền điện tử 55 3.2.4 Vấn đề “tiền điện tử” 57 3.2.5 Lược đồ tiền điện tử Brand 60 3.3 Ứng dụng Zero knowledge bầu cử điện tử 66 3.3.1 Sơ đồ bỏ phiếu truyền thống .67 3.3.2 Một số khái niệm 68 3.3.3 Chứng minh tính hợp lệ phiếu (x, y) (Giao thức 1) 70 3.3.4 Chứng minh quyền sở hữu giá trị bí mật β (Giao thức 2) .73 3.3.5 Giai đoạn cử tri chuyển phiếu đến ban kiểm phiếu (phương án 2) 75 KẾT LUẬN 77 TÀI LIỆU THAM KHẢO 78 Phụ lục Thử nghiệm chương trình “Bỏ phiếu điện tử” mã nguồn PHP 79 I Mơ tả chương trình 79 II Mã nguồn chương trình .81 MỞ ĐẦU Ngày nay, công nghệ thông tin phát triển mạnh mẽ, Internet trở thành phần khơng thể thiếu sống hàng ngày hoạt động trao đổi thông tin, giao dịch điện tử,…trên môi trường mạng diễn thường xuyên ngày phổ biến Chính mà việc bảo mật, đảm bảo an tồn thơng tin nhu cầu cấp thiết Trước nhu cầu cấp thiết đó, lý thuyết mật mã thông tin đời nhằm đảm bảo tính an tồn liệu nơi lưu trữ liệu truyền mạng Với kiến thức học tìm hiểu hướng dẫn thầy giáo, chọn đề tài nghiên cứu là: “Zero knowledge ứng dụng an tồn liệu” Khố luận gồm có chương phụ lục với nội dung: Chương ZERO KNOWLEDGE Chương CƠ SỞ MẬT MÃ Chương ỨNG DỤNG ZERO KNOWLEDGE Phụ lục THỬ NGHIỆM CHƯƠNG TRÌNH “Chứng minh khơng để lộ thơng tin”, phương pháp chứng minh khơng có nghĩa “khơng để lộ thông tin” mà “để lộ thông tin mức nhất” vật, việc cần chứng minh Với việc “không để lộ” người xác minh nhiều hiểu biết vật, việc, họ thu chút thơng tin (coi khơng) đặc điểm tính chất Ngành mật mã học phát triển không ngừng, phạm vi khóa luận này, chúng tơi trình bày vấn đề phương pháp “chứng minh không tiết lộ thông tin” đồng thời tìm hiểu số ứng dụng thực tế sở lý thuyết này./ Chương ZERO KNOWLEDGE 1.1 Chứng minh tương tác 1.1.1 Khái niệm Trước tiên ta thảo luận ý tưởng hệ thống chứng minh tương tác Trong hệ thống chứng minh tương tác có hai thành viên: Alice Bob Alice người chứng minh Bob người kiểm tra phép chứng minh Alice biết điều bí mật cô ta muốn chứng minh cho Bob cô ta biết điều Hình 1.1 Sơ đồ chứng minh tương tác (Hình 1) Phép chứng minh tương tác giao thức hỏi đáp, gồm số vòng xác định Trong vòng, Alice Bob luân phiên thực công việc sau: - Nhận thông báo từ nhóm khác - Thực tính tốn riêng - Gửi thơng báo tới nhóm khác Một vòng giao thức gồm yêu cầu Bob đáp ứng Alice Tới cuối phép chứng minh, Bob chấp nhận từ chối phép chứng minh Alice tùy thuộc vào việc liệu Alice có đáp ứng thành công yêu cầu Bob hay khơng 1.1.2 Các tính chất Sự chứng minh tương tác có tính chất, Sự hồn thành Tính chắn Một chứng minh tương tác thừa nhận Complete Verifier chấp nhận chứng minh đưa True Nói cách khác, vài định lý chứng minh Nếu có giả mạo biết β để tạo (u, v) = (gβ, hβ ) “khó” tính r = w + βc, tức bước kiểm thử gr = au c , h r = bv c “khó” thực Vì a, b, c, r, g, h, u, v công khai nên xác minh r = w + βc Nhờ giao thức người tin người xác minh trung thực dùng β để làm “mù” phiếu 3.3.5 Giai đoạn cử tri chuyển phiếu đến ban kiểm phiếu (phương án 2) Trong mục b.3.3.2 khóa luận trình bày giai đoạn Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu (Ban KP) Nó thực Giao thức Giao thức 2, ta gọi phương án Có phương án khác (tạm gọi phương án 2) để thực giai đoạn giao thức Giao thức giống phương án giao thức có thay đổi sau: Sau người xác minh trung thực, xác minh phiếu Cử tri hợp lệ, sau Cử tri xác minh người xác minh trung thực sở hữu giá trị β Cử tri làm “mù” phiếu gửi Ban KP (thay người xác minh trung thực làm “mù” phiếu gửi Ban KP theo giao thức phương án 1) Trong phương án đề nghị: lần xử lý phiếu, bước thử điều kiện 75 không thoả mãn, công việc xử lý dừng lại với phiếu để chuyển sang phiếu Bảng 3.6 Phương án gồm giai đoạn hai (Bảng 8) 76 KẾT LUẬN Mã hóa khóa công khai đời năm 1976, đánh dấu công trình khoa học Diffie-Hellman Đó thực bước ngoặt đưa mật mã từ ngành nghệ thuật thành ngành khoa học Trong trình phát triển, phát kiến mật mã hầu hết không trực quan, bất ngờ thú vị, có ảnh hưởng lớn đến nhiều ngành khoa học khác: áp dụng kết trừu tượng lý thuyết số vào thực tế; thúc đẩy phát triển thuật toán xác suất; đưa khái niệm quan trọng lý thuyết tính tốn mà điển hình khái niệm chứng minh tương tác - đưa Goldwasser, Micali Rackof vào đầu năm 80 Các chứng minh không để lộ tri thức đặc biệt quan trọng mật mã, thành phần việc xây dựng sơ đồ mã hóa, chữ ký điện tử Chứng minh khơng để lộ tri thức thành phần thiếu sơ đồ bầu cử điện tử, cho phép cử tri kiểm tra phiếu tính đến mà việc kiểm phiếu lại khơng cần phải công bố nội dung phiếu, đảm bảo quyền lựa chọn bí mật cử tri Qua thời gian thực đề tài, tác giả - Tìm hiểu, nắm bắt khái niệm chứng minh không để lộ thông tin (zero knowledge proof), chứng minh tương tác (interactive proof); - Nghiên cứu, tìm hiểu số ứng dụng chứng minh không tiết lộ thơng tin vấn đề an ninh an tồn: + Xác thực + Tiền điện tử + Ứng dụng sơ đồ bỏ phiếu điện tử nhằm đảm bảo tính nặc danh người bỏ phiếu - Cài đặt thử nghiệm ứng dụng “chứng minh không tiết lộ thông tin” bỏ phiếu từ xa Những vấn đề trình bày luận văn bước khởi đầu Tơi nghĩ cịn nhiều vấn đề tiếp tục triển khai ứng dụng sơ đồ xác thực không lộ thông tin hay bầu cử điện tử 77 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trịnh Nhật Tiến, Trương Thị Thu Hiền, “M h a đồng cấu ứng dụng”, Hội nghị khoa học ứng dụng CNTT toàn quốc lần thứ 1, Đại học Quốc Gia Hà Nội, tháng 10 năm 2003 [2] Trịnh Nhật Tiến, Nguyễn Đình Nam, Trương Thị Thu Hiền, “Một số kỹ thuật Bỏ phiếu từ xa”, Hội thảo Một số vấn đề chọn lọc Công nghệ thông tin, Thái Nguyên, tháng năm 2003 Tiếng Anh [3] Oded Goldreich (2010), A Short Tutorial of Zero-Knowledge,Weizmann Institute of Science, Rehovot, Israel [4] O Goldreich (1993) A Uniform Complexity Treatment of Encryption and Zero-Knowledge Journal of Cryptology, Vol 6, No 1, pages 21-53 [5] Oded Goldreich, Yair Oren (1994), Definitions and Properties of ZeroKnowledge Proof Systems, Journal of Cryptology, International Association for Cryptologic Research [6] S Goldwasser, S Micali (1984), Probabilistic Encryption, Journal of Computer and System Science, Vol 28, No 2, pages 270-299, 1984 [7] S Goldwasser, S Micali, C Rackoff (1985), “Knowledge Complexity of Interactive Proofs”, Proc 17th STOC, 1985, pp 291-304 [8] Lum Jia Jun, Brandon (2010), Implementing Zero-Knowledge Authentication with Zero Knowledge (ZKA_wzk), PyCon Asia-Pacific [9] Byoungcheon Lee (2002), Zero-Knowledge Proofs, Digital Signature Variants, and Their Applications, Joongbu University, dept of Information Security, Daejeon, Korea 78 PHỤ LỤC Thử nghiệm chương trình “Bỏ phiếu điện tử” mã nguồn PHP I Mơ tả chương trình Giới thiệu Chương trình mơ giao thức 1: chứng minh tính hợp lệ phiếu; giao thức 2: Người xác minh TT chứng minh quyền sở hữu giá trị bí mật β, ứng dụng Zero knowledge proof bỏ phiếu điện tử, viết ngôn ngữ lập trình PHP Các thành phần chương trình * Chương trình chứng minh tính hợp lệ phiếu mô giao thức 1: - Nhập tham số đầu vào để mã hóa phiếu - Tính tốn tham số trung gian - Kiểm tra tính hợp lệ phiếu * Chương trình chứng minh quyền sở hữu giá trị bí mật β mơ giao thức 2: - Nhập tham số đầu vào - Tính tốn tham số trung gian - Kiểm tra Người xác minh trung thực có giữ giá trị bí mật β khơng Các chức 3.1 Giao thức 1: Cử tri chứng minh tính hợp lệ phiếu sau mã hóa gửi đến Người xác minh TT Bước 1: Nhập thông tin đ ầu vào - Phần tử sinh g; - Phần tử sinh alpha; - Nhập khóa bí mật s; - Nhập lựa chọn k; - Ứng cử viên thứ i; - Số ngẫu nhiên w; 79 - Chọn tham số: D[1], D[2], D[4]; R[1], R[2], R[4]; Bước 2: Tính tốn tham số trung gian - Tính di ; - Tính ri ; Bước 3: Người xác minh TT kiểm tra tham số tiếp tục mã hóa phiếu lần gửi cho Ban KP - Kiểm tra cặp giá trị (X, Y); (A, B); (D, R); - Giá trị ngẫu nhiên c; 3.2 Giao thức Người xác minh trung thực chứng minh phiếu làm mù gửi đến Ban kiểm phiếu hoàn toàn hợp lệ: Bước 1: Người xác minh TT nhập tham số đầu vào tính tốn, sau gửi cho Ban kiểm phiếu giá trị w thông qua (a, b): - Nhập phần tử sinh g; - Nhập khóa bí mật s; - Nhập số lựa chọn k; - Ứng cử viên thứ i: Gi ; - Nhập giá trị bí mật β; - Nhập số ngẫu nhiên w; Bước 2: Ban kiểm phiếu đáp lại giá trị ngẫu nhiên c Người xác minh trung thực tính tốn giá trị r, sau gửi r cho Ban kiểm phiếu: - Nhập giá trị ngẫu nhiên c; - Tính tốn r; Bước 3: Ban kiểm phiếu kiểm tra lại kết nhận được, phiếu làm mù lần hồn tồn hợp lệ, khơng Ban kiểm phiếu khơng chấp nhận phiếu 80 II Mã nguồn chương trình Cử tri chứng minh tính hợp lệ phiếu sau mã hóa: Chứng minh phiếu hợp lệ Chào bạn đến với Chương trình chứng minh phiếu mã hóa hợp lệ: Nhập tham số đầu vào: Phần tử sinh g: Phần tử sinh alpha: Khóa bí mật s: Số lựa chọn k: Ứng cử viên thứ i: Chọn số ngẫu nhiên w: Chọn số ngẫu nhiên c: (Giao diện Chương trình Cử tri chứng minh phiếu m h a hợp lệ) 86 Người xác minh trung thực chứng minh có giữ tham số bí mật β: Chứng minh giữ giá trị bí mật β Chào bạn đến với Chương trình chứng minh có giữ tham số bí mật β: Nhập tham số đầu vào: Phần tử sinh g: Khóa bí mật s: Số lựa chọn k: Ứng cử viên thứ i: Chọn số ngẫu nhiên w: Chọn số ngẫu nhiên c: Sử dụng giá trị bí mật β: (Giao diện Chương trình Người xác minh TT chứng minh phiếu làm mù hợp lệ) 89 ... ? ?Zero knowledge ứng dụng an tồn liệu? ?? Khố luận gồm có chương phụ lục với nội dung: Chương ZERO KNOWLEDGE Chương CƠ SỞ MẬT MÃ Chương ỨNG DỤNG ZERO KNOWLEDGE Phụ lục THỬ NGHIỆM CHƯƠNG TRÌNH “Chứng...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - BÙI XUÂN BÌNH ZERO KNOWLEDGE VÀ ỨNG DỤNG TRONG AN TỒN DỮ LIỆU Chun ngành: TỐN TIN Mã đề tài: TOAN-VINH01 LUẬN VĂN... Bob đáp ứng Alice Tới cuối phép chứng minh, Bob chấp nhận từ chối phép chứng minh Alice tùy thuộc vào việc liệu Alice có đáp ứng thành cơng u cầu Bob hay khơng 1.1.2 Các tính chất Sự chứng minh