Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
1,19 MB
Nội dung
i LỜI CAM ĐOAN Tôi xin cam đoan toàn nội dung luận văn “Nghiên cứu số chữ ký đặc biệt Ứng dụng” tự làm sở tìm hiểu giáo trình, tài liệu tham khảo theo hướng dẫn PGS TS Trịnh Nhật Tiến Các nguồn lấy từ giáo trình, tài liệu tham khảo thích rõ ràng, quy định Nếu sai xin hoàn toàn chịu trách nhiệm Thái Nguyên, tháng năm 2014 Người cam đoan Trần Thị Hồng Dung ii LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn chân thành sâu sắc tới PGS.TS Trịnh Nhật Tiến, người thầy cho định hướng tận tình bảo giúp trình hoàn thành luận văn xin bày tỏ lòng biết ơn sâu sắc đến thầy Viện Công Nghệ Thông tin, thầy cô trường Công Nghệ Thông Tin & Truyền thông Thái Nguyên giảng dạy, truyền đạt cho kiến thức quý báu khóa học Tôi xin chân thành cảm ơn Lãnh đạo trường Đại học Tân Trào tạo điều kiện thuận lợi, giúp đỡ trình học tập, cảm ơn giúp đỡ gia đình, bạn bè đồng nghiệp động viên vượt qua khó khăn Trong trình học tập, tìm hiểu nghiên cứu với thời gian làm luận văn, cố gắng tập trung tìm hiểu tham khảo tài liệu liên quan Tuy nhiên, thời gian nghiên cứu lực có hạn nên khó tránh khỏi sai sót cần bổ sung, mong nhận đóng góp ý kiến thầy, cô giáo Thái Nguyên, tháng 07 năm 2014 Học viên Trần Thị Hồng Dung iii MỤC LỤC LỜI CAM ĐOAN I LỜI CẢM ƠN II DANH MỤC CÁC TỪ VIẾT TẮT VI DANH MỤC BẢNG VII DANH MỤC HÌNH ẢNH VIII DANH MỤC BIỂU ĐỒ IX MỞ ĐẦU CHƯƠNG CÁC KHÁI NIỆM CƠ BẢN 1.1 TỔNG QUAN VỀ MẬT MÃ 1.1.1 Vấn đề Mã hóa 1.1.2 Hàm băm 1.2 CƠ SỞ TOÁN HỌC 1.2.1 Khái niệm 1.2.2 Quan hệ đồng dư 1.2.3 Số nguyên tố 1.2.4 Phần tử nghịch đảo phép nhân 11 1.2.5 Một số Nhóm đặc biệt: 11 1.2.6 Các khái niệm đường cong Elliptic 12 1.3 TỔNG QUAN VỀ THANH TOÁN ĐIỆN TỬ 16 1.3.1 Khái niệm toán điện tử 16 1.3.2 Mô hình toán điện tử 16 1.3.3 Hình thức toán toán điện tử 16 1.3.4 Các phương tiện toán điện tử 16 1.3.5 Giao thức SET bảo mật toán điện tử 18 1.3.6 Tiền điện tử 19 1.3.7 Một số lược đồ Hệ thống tiền điện tử 24 1.4 KẾT LUẬN CHƯƠNG I 29 CHƯƠNG MỘT SỐ CHỮ KÝ ĐẶC BIỆT 30 2.1 GIỚI THIỆU CHỮ KÝ SỐ 30 2.1.1 Khái niệm chữ ký số 30 iv 2.1.2 Sơ đồ chữ ký số 30 2.1.3 Phân loại “Chữ ký số” 31 2.1.4 Hoạt động chữ ký số 32 2.2 CHỮ KÝ “MÙ RSA” 35 2.2.1 Khái niệm Chữ ký “mù” (Blind Signature) 35 2.1.2 Lưu đồ thuật toán chữ ký mù RSA 37 2.1.3 Ứng dụng Chữ ký “mù” 38 2.3 CHỮ KÝ “MÙ NHÓM” 39 2.3.1 Sơ đồ chữ ký “mù nhóm” CS97 40 2.3.2 Ứng dụng Chữ ký “mù nhóm” 41 2.4 CHỮ KÝ “MÙ BỘI” (BLIND MULTI SIGNATURE) 43 2.4.1 Sơ đồ chữ ký bội ECC 43 2.4.2 Ứng dụng Chữ ký “mù bội” 44 2.5 CHỮ KÝ KHÔNG THỂ PHỦ ĐỊNH 46 2.5.1 Giới thiệu chữ ký phủ định 46 2.5.2 Sơ đồ chữ ký phủ định (Chaum – van Antverpen) 47 2.5.3 Ứng dụng chữ ký “ phủ nhận” 50 2.6 KẾT LUẬN CHƯƠNG II 50 CHƯƠNG THỬ NGHIỆM CHƯƠNG TRÌNH 51 3.1 BÀI TOÁN THỬ NGHIỆM CHƯƠNG TRÌNH 51 3.1.1 Bài toán thử nghiệm chương trình Ẩn danh đồng tiền điện tử 51 3.1.2 Mô hình thuật toán chữ ký mù RSA 52 3.2 CẤU HÌNH HỆ THỐNG 53 3.2.1 Yêu cầu phần cứng 53 3.2.2 Yêu cầu phần mềm 53 3.3 YÊU CẦU HỆ THỐNG 53 3.3.1 Yêu cầu chức 53 3.3.2 Yêu cầu giao diện 53 3.4 PHÂN TÍCH CHỨC NĂNG 53 v 3.4.1 Người gửi thông điệp 53 3.4.2 Người ký thông điệp 53 3.5 THIẾT KẾ HỆ THỐNG 53 3.5.1 Xác định tác nhân ca sử dụng 53 3.5.2 Biểu đồ người dùng 54 3.5.3 Biểu đồ trình tự 54 3.6 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH 56 3.7 KẾT LUẬN CHƯƠNG III 61 KẾT LUẬN - KIẾN NGHỊ 62 TÀI LIỆU THAM KHẢO 63 vi DANH MỤC CÁC TỪ VIẾT TẮT SHA Secure Hash Algorithm MD Message Digest RSA Ron Rivest, Adi Shamir, Leonard Adleman UCLN, gcd Ước số chung lớn (Greatest Common Divisor) ID Identify SET Secure Electronic Transaction TMĐT Thương mại điện tử SSL Secure Sockets Layer CA Certificate Authorit eK Thuật toán mã hóa dK Thuật toán giải mã sigK Thuật toán ký số verK Thuật toán kiểm tra chữ ký KV D Kugler H Vogt ECDSA Thuật toán ký EC ECC Elliptic Curve Cryptography CT Cử tri KP Kiểm phiếu EC Elliptic Curve Blind(x) Thuật toán làm mù UnBlind(x) Thuật toán xóa mù vii DANH MỤC BẢNG Bảng1.1 Tìm phần tử nghịch đảo Z7 viii DANH MỤC HÌNH ẢNH Hình 1.1 Ví dụ đường cong Elliptic Hình 1.2 Phép cộng Hình 1.3 Cộng hai điểm trùng Hình 1.4 Phép “nhân” điểm với số nguyên Hình 1.5 Mô hình giao dịch hệ thống tiền điện tử ngân hàng Hình 1.6 Mô hình giao dịch hệ thống tiền điện tử liên ngân hàng Hình 2.1 Quá trình tạo chữ ký Hình 2.2 Quá trình tạo chữ ký Hình 2.3 Lưu đồ thuật toán chữ ký mù RSA Hình 3.1 Mô hình thuật toán chữ ký mù RSA Hình 3.2 Giao diện Demo chương trình chữ ký mù Hình 3.3 Làm mù thông điệp Hình 3.4 Ký mù thông điệp Hình 3.5 Khử mù thông điệp Hình 3.6 Xác thực/ Giải mã thông điệp ix DANH MỤC BIỂU ĐỒ Biểu đồ 3.1 Biểu đồ Người gửi thông điệp Biểu đồ 3.2 Biểu đồ Người ký thông điệp Biểu đồ 3.3 Tạo làm mù thông điệp dành cho Người gửi thông điệp Biểu đồ 3.4 Khử mù thông điệp dành cho Người gửi thông điệp Biểu đồ 3.5 Ký mù thông điệp dành cho Người ký thông điệp Biểu đồ 3.6 Xác thực/ Giải mã thông điệp dành cho Người ký thông điệp MỞ ĐẦU Lý chọn đề tài Cùng với phát triển công nghệ thông tin, phương tiện công nghệ truyền thông tiên tiến đời, mạng máy tính đặc biệt mạng Intenet giúp người trao đổi thông tin thuận tiện, nhanh chóng, xu hướng giao dịch trực tuyến gia tăng song hành không rủi ro, chủ tài khoản ngân hàng nhà đầu tư chứng khoán lo ngại có vụ tiền giao dịch toán điện tử vô tình để lộ thông tin, tài khoản cá nhân,… Vấn đề vô quan trọng đặt bảo mật an toàn việc trao đổi thông tin Các thông tin truyền phải đảm bảo tính xác, không bị sửa đổi nhiều trường hợp cần bảo đảm tính bí mật thông tin cần xác thực người gửi người nhận Xuất phát từ thực tế có nhiều biện pháp an toàn thông tin đời Một giải pháp hữu hiệu cho cho việc đảm bảo tính bí mật thông tin mã hóa thông tin với mục đích “che giấu” nội dung thông tin, đối tượng có thẩm quyền giải mã thông tin mã hóa để lấy lại thông tin ban đầu Để xác thực thông tin, gắn trách nhiệm thực thể với thông tin, đảm bảo tính toàn vẹn, thông tin truyền không bị sửa đổi ý muốn, người sáng tạo chữ ký số để thực yêu cầu lĩnh vực An toàn bảo mật thông tin Xuất phát từ thực tế nêu trên, luận văn ghiên cứu phương pháp an toàn thông tin nói chung, chữ ký số nói riêng để bảo vệ thông tin số thiết thực có ý nghĩa to lớn Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu Tìm hiểu số chữ ký chữ ký mù RSA, chữ ký mù nhóm, chữ ký mù bội chữ ký phủ định - Phạm vi nghiên cứu Tìm hiểu chữ ký số lĩnh vực toán điện tử 50 (d* -e2)f1 (184 * -137)225 79 mod 467 (D* -f2)e1 (426 * -19)47 79 mod 467 Hai giá trị Kết luận chữ ký y giả mạo 2.5.3 Ứng dụng chữ ký “ phủ nhận” Chữ ký ứng dụng dùng nhiều ứng dụng mật mã như: - Bản quyền phần mềm (licensing softwares) - Đấu giá bỏ phiếu điện tử - Ứng dụng giao dịch đặt hàng qua mạng - Dịch vụ chứng thực chữ kí số - Ứng dụng kí mã hóa sử dụng chứng thư số E-Office - Ứng dụng việc thu thuế cá nhân doanh nghiệp 2.6 KẾT LUẬN CHƯƠNG II Chương thể nội dung sau: - Trình bày giới thiệu chữ ký số: Khái niệm, Sơ đồ chữ ký số, Phân loại, Hoạt động chữ ký số - Trình bày chi tiết thuật toán chữ ký mù RSA, chữ ký mù nhóm, chữ ký mù bội, chữ ký phủ nhận, để xây dựng thử nghiệm chương trình chương - Trình bày ứng dụng chữ ký 51 Chương THỬ NGHIỆM CHƯƠNG TRÌNH 3.1 BÀI TOÁN THỬ NGHIỆM CHƯƠNG TRÌNH 3.1.1 Bài toán thử nghiệm chương trình Ẩn danh đồng tiền điện tử Một đồng tiền điện tử C có thông tin quan trọng : số Seri giá trị đồng tiền Cũng đồng tiền thông thường (bằng giấy), Hệ thống phải bảo đảm yêu cầu sau : Ngân hàng phát hành đồng tiền C “khó” nhận biết đồng tiền (ví dụ : số Seri) người mua hàng rút từ tài khoản họ ; Ngân hàng thu nạp đồng tiền C “khó” thể biết đồng tiền C nhận từ người bán hàng ; Mặt khác người bán hàng “khó” thể biết C rút từ tài khoản Để thực yêu cầu trên, người ta dùng “Chữ ký mù” để ký lên đồng tiền C Trên thực tế đồng tiền C không ngân hàng phát hành, đồng tiền chung nhiều ngân hàng Vì phải mang dấu ấn ngân hàng liên quan Trong trường hợp Tổ chức liên ngân hàng thống “Đa chữ ký mù” để ký lên đồng tiền C Bài toán thực tế : Giả sử Alice muốn mua sách hàng Bob trị giá 100VNĐ, Alice Bob sử dụng hệ thống toán điện tử, trường hợp - Alice : Người gửi - Bob : Người nhận trải qua bước sau 1/ Rút tiền (Withdrawcal): Thực bước sau: + Người gửi tạo đồng tiền điện tử T gồm số Seri mệnh giá + Người gửi yêu cầu Ngân hàng ký “mù” vào T + Ngân hàng ký “mù” vào T rút số tiền tương ứng từ tài khoản Người gửi Bây Người gửi sở hữu tiền T có giá trị ngân hàng 52 2/ Thanh toán (Spending): Thực bước sau: + Người gửi đưa cho Người nhận tiền T có chữ ký ngân hàng + Người nhận tiền kiểm tra xác thực chữ ký ngân hàng T Việc thực dễ dàng nhờ khoá công khai ngân hàng 3/ Gửi tiền (Deposit): Thực bước sau: + Nếu bước hoàn thành, Người nhận tiền gửi tiền T cho Ngân hàng + Ngân hàng xác thực chữ ký T Cần nhớ ngân hàng không cần biết người thực việc này, mà cần sử dụng khoá công khai ngân hàng + Ngân hàng kiểm tra tiền T tiêu chưa qua danh sách đồng tiền tiêu lưu ngân hàng, để tránh tiêu tiền T lần Nếu kiểm tra hoàn tất, Ngân hàng nạp thêm vào tài khoản Người nhận tiền số tiền T Người nhận tiền yên tâm gửi hàng cho Người gửi tiền 3.1.2 Mô hình thuật toán chữ ký mù RSA Hình 3.1 Mô hình thuật toán chữ ký mù RSA 53 3.2 CẤU HÌNH HỆ THỐNG 3.2.1 Yêu cầu phần cứng Processor : Intel®CoreTMi5 CPU240M@2.30GHz Installed memory (RAM) : 4.00GB(2.50 GB usable) Hard Disk : 500GB 3.2.2 Yêu cầu phần mềm Sử dụng Windows Ultimate 64-bit Operating System Cài đặt JDK JRE Sử dụng IDE Eclipse để tạo chương trình thử nghiệm 3.3 YÊU CẦU HỆ THỐNG 3.3.1 Yêu cầu chức - Cho phép người sử dụng làm mù thông điệp, ký thông điệp, khử mù thông điệp xác thực/ giải mã thông điệp 3.3.2 Yêu cầu giao diện - Giao diện tiếng việt - Tổ chức hợp lý, dễ sử dụng 3.4 PHÂN TÍCH CHỨC NĂNG 3.4.1 Người gửi thông điệp Người gửi tạo thông điệp thực làm mù thông điệp, khử mù thông điệp 3.4.2 Người ký thông điệp Người ký thông điệp thực ký thông điệp làm mù, xác thực/ Giải mã thông điệp 3.5 THIẾT KẾ HỆ THỐNG 3.5.1 Xác định tác nhân ca sử dụng Hệ thông có hai tác nhân chính, cung cấp chức sau: - Người gửi thông điệp Làm mù thông điệp Khử mù thông điệp 54 - Người ký thông điệp Ký mù thông diệp Xác thực/ Giải mã 3.5.2 Biểu đồ người dùng Làm mù thông điệp - Người gửi thông điệp Khử mù thông điệp Biểu đồ 3.1 Biểu đồ Người gửi thông điệp Ký mù thông điệp - Người ký thông điệp Xác thực/ Giải mã Biểu đồ 3.2 Biểu đồ Người ký thông điệp 3.5.3 Biểu đồ trình tự - Tạo làm mù thông điệp System Người gửi thông điệp 1.Tạo thông điệp làm mù thông điệp Gửi kết Biểu đồ 3.3 Tạo làm mù thông điệp dành cho Người gửi thông điệp 55 - Khử mù thông điệp System Người gửi thông điệp Khử mù thông điệp Gửi kết Biểu đồ 3.4 Khử mù thông điệp dành cho Người gửi thông điệp - Ký thông điệp Người ký thông điệp System 1.Ký mù lên thông điệp Gửi kết Biểu đồ 3.5 Ký mù thông điệp dành cho Người ký thông điệp 56 - Xác thực/ Giải mã Người ký thông điệp System 1.Xác thực/ Giải mã thông điệp Gửi kết Biểu đồ 3.6 Xác thực/ Giải mã thông điệp dành cho Người ký thông điệp 3.6 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH Giao diện chương trình chữ ký mù Hình 3.2 Giao diện Demo chương trình chữ ký mù 57 Bước : Người gửi thông điệp tiến hành tạo làm mù thông điệp với khóa công khai người ký thông điệp cách bấm vào nút làm mù văn - Thông tin đầu vào + Các tham số tạo khóa tham số mù chương trình khởi tạo ngẫu nhiên + Thông điệp cần ký số nguyên Trong chương trình hệ thống sinh tham số tự động - Thông tin đầu + Giá trị thông điệp sau làm mù + Chữ ký mù thông điệp Hình 3.3 Làm mù thông điệp 58 Bước : Người ký thông điệp tiến hành ký mù lên thông điệp - Thông tin đầu vào : Bản thông điệp làm mù - Thông tin đầu : Bản thông điệp có chữ ký mù Hình 3.4 Ký mù thông điệp 59 Bước 3: Người gửi thông điệp khử mù thông điệp có chữ ký người ký thông điệp - Thông tin đầu vào: Giá trị thông điệp sau làm mù, chữ ký mù - Thông tin đầu ra: Bản thông điệp mù chữ ký Hình 3.5 Khử mù thông điệp 60 Bước 4: Xác thực/ Giải mã Khi nhận yêu cầu xác thực thông điệp có chữ ký người ký thông điệp tiến hành xác thực chữ ký đồng thời giải mã thông điệp - Thông tin đầu vào: Bản thông điệp có chữ ký - Thông tin đầu + Xác thực chữ ký + Giá trị chữ ký xác thực sau xóa mù Hình 3.6 Xác thực/ Giải mã thông điệp 61 3.7 KẾT LUẬN CHƯƠNG III Trình bày toán, phân tích toán ẩn danh người sử dụng đồng tiền điện tử xây dựng chương trình Demo chữ ký mù cài đặt thuật toán để minh chứng cho kết thuật toán giải vấn đề ẩn danh thực tế, hướng dẫn cài đặt sử dụng hệ thống 62 KẾT LUẬN - KIẾN NGHỊ Cùng với nỗ lực thân bảo tận tình thầy giáo PGS.TS.Trịnh Nhật Tiến thời gian vừa qua, hoàn thành luận văn Những kết luận văn là: 1/ Nghiên cứu tìm hiểu tài liệu để hệ thống lại vấn đề sau: - Luận văn trình bày kiến thức Cơ sở toán học dùng mã hóa thuật toán chữ ký số luận văn đề cập đến, Tổng quan toán điện tử, Giao thức bảo mật, Tiền điện tử, tìm hiểu phân tích đánh giá lược đồ sử dụng hệ thống tiền điện tử - Nghiên cứu phân tích hai vấn đề giai đoạn rút tiền điện tử: + Vấn đề ẩn danh người sử dụng tiền điện tử + Vấn đề chống gian lận giá trị đồng tiền - Trình bày chi tiết thuật toán chữ ký mù RSA, chữ ký mù nhóm, chữ ký mù bội, chữ ký phủ nhận ứng dụng loại chữ ký 2/ Chương trình Demo thử nghiệm chữ ký mù giải vấn đề ẩn danh người sử dụng tiền điện tử Hướng phát triển luận văn nghiên cứu sâu vấn đề ẩn danh người sử dụng tiền điện tử, phân tích mô hình tiền điện tử, phát lỗ hổng an toàn mô hình tiền điện tử đề xuất, cải tiến mô hình Tiền điện tử hiệu 63 TÀI LIỆU THAM KHẢO Tiếng việt [1] Phan Đình Diệu (2006), Lý thuyết mật mã An toàn thông tin, NXB Đại học Quốc gia Hà Nội [2] Nguyễn Đăng Hậu (2004), Kiến thức thương mại điện tử, Viện Đào tạo công nghệ Quản lý Quốc tế [3] Trịnh Nhật Tiến, ThS Trương Thị Thu Hiền (2005), Chữ ký mù bội đường cong elliptic ứng dụng, Trường Đại học công nghệ– ĐHQGHN [4] Trịnh Nhật Tiến, Trương Thị Thu Hiền, Nguyễn Đình Nam (2005), “Một số kỹ thuật bỏ phiếu từ xa”, Kỷ yếu HT QG CNTT Thái nguyên / 2003, NXB Khoa học kỹ thuật, Trang 419 - 423 [5] Trịnh Nhật Tiến, Đinh Vinh Quang (2006), Giải pháp công nghệ sử dụng tiền điện tử , Đại học Quốc gia Hà Nội [6] Trịnh Nhật Tiến (2008), Giáo trình An toàn Dữ liệu, Hà Nội [7] Trịnh Nhật Tiến (2005) “Chữ ký mù, Chữ ký nhóm, Chữ ký mù nhóm” ứng dụng, Báo cáo Hội nghị FAIR TP Hồ Chí Minh Tiếng Anh [8] A.Lysyanskaya and Z Ramzan (1998), Group Blind Digital Signatures: A scalable solution to electronic Cash [9] B.Schneier (1996), “Applied Cryptography” nd edition, John wiley&sons [10] D O’Mahony, M.Peirce, H.Tewari (2001), “Electronic payment systems”, Artech House [11] David Chaum, van Heijst, Eugene and Pfitzmann, Birgit (1992), “Cryptographically strong undeniable signatures, unconditionally secure for the signer” (extended abstract), In CRYPTO 91 [12] David Chaum (1983), Blind signatures for untraceable payments New York Plenum Press In R.L Rivest, A Sherman, and D.Chaum, proc 82 , pages 199 –203 64 [13] H.M Deitel, P.J Deitel, T.R Nieto (2001), “E-Busines & E-Commerce” How to Progarm, Prentice Hall, New Jersey [14] Using Elliptic Curve Cryptography (ECC) for Enhanced Embedded Security (Embedded Market Forecasters American Technology International, Inc November 2004) Internet [15] http://en.wikipedia.org/wiki/Blind_signature [16] http://en.wikipedia.org/wiki/Undeniable_signature [...]...2 3 Những nội dung nghiên cứu chính Nội dung chính của Luận văn gồm có: Chương 1: Các khái niệm cơ bản Trong chương này sẽ trình bày cơ sở toán học, tổng quan về mã hóa, tổng quan về thanh toán điện tử trong thương mại điện