Xây dựng chương trình ứng dụng chữ ký điện tử ký lên văn bản

76 337 2
Xây dựng chương trình ứng dụng chữ ký điện tử ký lên văn bản

Đ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

LỜI CẢM ƠN Em xin chân thành cảm ơn thầy giáo Th S Trần Hồng Anh – Trung tâm học liệu _ Đại học Thái Nguyên giúp đỡ em hoàn thành báo cáo “Xây dựng chương trình ứng dụng chữ ký điện tử ký lên văn bản” Là sinh viên chuyên ngành mạng, em nhận nhiều giúp đỡ từ phía thầy cô môn từ việc chọn đề tài hoàn chỉnh báo cáo Em nhận thấy tâm huyết nhiệt tình thầy cô đặc biệt thầy Trần Hồng Anh–giáo viên hướng dẫn em, giúp em biết cần phải cố gắng nhiều học tập nghiên cứu Dưới báo cáo em, em cố gắng song tránh khỏi sai sót Vì em mong nhận đóng góp thầy cô bạn bè cho đề tài em hoàn thiện Em xin trân trọng cảm ơn! Nguyễn Trọng Khiêm LỜI CAM ĐOAN Em xin cam đoan: Những nội dung đồ án thân em thực hướng dẫn trực tiếp thầy giáo hướng dẫn: ThS Trần Hồng Anh Mọi tham khảo dùng đồ án trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố Mọi chép không hợp lệ có thông tin sai lệch nào, em xin chịu hoàn toàn trách nhiệm trước Hội Đồng MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA VÀ BẢO MẬT THÔNG TIN .8 Sơ lược lịch sử mật mã Một số vấn đề an toàn bảo mật thông tin 10 2.1 Tại phải an toàn bảo mật thông tin 10 2.2 Các kĩ thuật sử dụng 11 2.3 Các phương pháp sử dụng 11 Các toán an toàn bảo mật thông tin 12 Thám mã tính an toàn hệ mã 13 4.1 Vấn đề thám mã 13 4.2 Tính an toàn hệ mật mã 13 Vấn đề mã hóa liệu 14 5.1 Định nghĩa hệ mã hóa 14 5.2 Hệ mã hoá đối xứng 15 5.3 Hệ mã hoá hoá khoá công khai 19 Thuật toán mã hóa khóa công khai RSA 21 6.1Mô tả sơ luợc thuật toán mã hóa RSA: .21 6.2 Lịch sử cách mạng toán học mã RSA .22 6.3 RSA, cách mạng nhà toán học 23 6.4 RSA phủ điện tử 24 6.5 Quy trình tạo khóa , mã hóa giải mã RSA 24 6.7 Một số phương pháp công mã hóa RSA .29 6.8 Các vấn đề đặt thực tế 29 CHƯƠNG 2: KHÁI NIỆM, SƠ ĐỒ VÀ XÁC THỰC CHỮ KÝ ĐIỆN TỬ SỬ DỤNG THUẬT TOÁN MÃ HÓA RSA 34 Khái niệm chữ ký điện tử 34 Hàm băm chữ ký: .35 2.1 Hàm Băm 35 2.2 MD5 38 Sơ đồ chữ ký điện tử RSA xác thực điện tử: 47 2.2 Mô hình chữ ký điện tử sử dụng khóa công khai .49 2.3 Cách thức hoạt động chữ ký điện tử chứng điện tử 49 2.4 Kiểm tra xác nhận tài liệu ký 51 2.5 Cách làm việc chữ ký điện tử 51 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 57 Yêu cầu: 57 Phân tích thiết kế hệ thống: .57 2.1 Mô hình USE – CASE: 57 2.2 Biểu đồ trình tự 60 Một số hình minh họa chương trình: .67 KẾT LUẬN 75 TÀI LIỆU THAM KHẢO .76 DANH MỤC HÌNH ẢNH Hình 1.1: Gậy mật mã Hình 1.2: Sơ đồ mã hóa 15 Hình 1.3: Mô tả thuật toán mã hóa khóa đối xứng 16 Hình 1.1: Mô tả thuật toán mã hóa giải mã theo khối 17 Hình 1.2: Mô tả thuật toán mã hóa dòng 18 Hình 1.3: Giải pháp mật mã đối xứng hay sử dụng 18 Hình 1.4: Mô tả thuật toán mã hóa khóa công khai 20 Hình 1.5: Ba nhà khoa học Shamir, Rivest Adleman 22 Hình 2.1: Thể hàm băm hay thông số MAC 36 Hình 2.2: Tạo thông điệp tóm lược sử dụng MD5 39 Hình 2.3: Xử lý MD5 khối đơn 512 bít (HDMD5) 40 Hình 2.4: Tác vụ MD5: [abcd k s i] .42 Hình 2.5: Mô hình chữ ký điện tử 49 Hình 2.6: Mô hình tạo chữ ký vào văn hai bên gửi nhận 50 Hình 2.7: Quá trình ký thông điệp 54 Hình 2.8: Quá trình kiểm tra xác nhận chữ ký tài liệu 55 Hình 2.9: Quá trình làm việc Chữ ký điện tử 56 Hình 3.1: Mô hình Use_case 57 Hình 3.2: Tiến trình sinh khóa 60 Hình 3.3: Tiến trình tạo chữ ký điện tử 61 Hình 3.4: Tiến trình kiểm tra chữ ký .61 Hình 3.5: Tiến trình mã hóa .62 Hình 3.6: Tiến trình giải mã .63 Hình 3.7: Biểu đồ cộng tác tiến trình sinh khóa 63 Hình 3.8: Biểu đồ cộng tác tạo chữ ký điện tử 64 Hình 3.9: Biểu đồ cộng tác kiểm tra chữ ký điện tử 64 Hình 3.10: Biểu đồ cộng tác tiến trình mã hóa .65 Hình 3.11: Biểu đồ cộng tác tiến trình giải mã .66 Hình 3.12: Giao diện chương trình 67 Hình 3.13: Form giao diện chương trình ký nhận xác thực chữ ký điện tử 68 Hình 3.14: Quá trình ký nhận văn 69 Hình 3.15: Xác nhận lưu tệp tin sau ký nhận .70 Hình 3.16: Quá trình xác thực nội dung văn .71 Hình 3.17: Hiển thị chữ ký văn 72 Hình 3.18: Hiển thị thông báo sau xác thực 73 Hinh 3.19: Mô thuật toán RSA 74 Hình 3.20: Ví dụ trình mã hóa giải mã sử dụng thuật toán RSA 74 DANH MỤC BẢNG Bảng 1: Mô tả độ phức tạp giải thuật RSA .26 Bảng 2: Mã hóa giải mã RSA 27 Bảng 3: Ví dụ cụ thể RSA 28 LỜI MỞ ĐẦU Trong năm qua ngành Công nghệ thông tin Việt Nam có tốc độ phát triển tương đối cao (dự kiến đến giai đoạn 2011-2015 tốc độ phát triển ngành công nghệ thông tin đạt 12%, doanh thu lên tới 3, tỷ USD vào năm 2015) mang đến nhiều tiện ích cho cá nhân, tổ chức toàn xã hội Ứng dụng sản phẩm từ ngành Công nghệ thông tin đa dạng: hệ thống phần mềm hỗ trợ quản lý, công nghệ số, công nghệ 3G, 4G, chữ kí số… Công nghệ thông tin góp phần nâng cao chất lượng, hiệu quả, tiết kiệm thời gian, tài nhiều lĩnh vực tài chính-ngân hàng, viễn thông, giáo dục, quản lí hành nhà nước Với tốc độ phát triển nhanh chóng ngành Công nghệ thông tin tạo môi trường mạng ổn định, thuận tiện nhiên tính bảo mật chưa thực cao Đứng trước thực trạng người cần ứng dụng đáp nhu cầu người tính bảo mật, nâng cao độ tin cậy liệu Chữ kí điện tử chữ kí số đời đáp ứng thực trạng Trong báo cáo em xin trình bày số hiểu biết thân chữ kí số chữ kí điện tử ứng dụng thực tế Qua đó, chúng em xin gửi lời cảm ơn đến thầy Th S Trần Hồng Anh tận tình hướng dẫn em thực báo cáo Bài báo cáo em thực góc độ sinh viên nên nhiều hạn chế thiếu sót Vì vậy, mong nhận góp thầy bạn để hoàn thiện cách tốt hơn! Em xin chân thành cảm ơn! Sinh viên thực hiện: Nguyễn Trọng Khiêm CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA VÀ BẢO MẬT THÔNG TIN Sơ lược lịch sử mật mã Nhu cầu sử dụng mật mã xuất sớm, từ người biết trao đổi truyền đưa thông tin cho nhau, đặc biệt thông tin thể hình thức ngôn ngữ, thư từ Theo nghiên cứu, hình thức mật mã sơ khai tìm thấy từ khoảng bốn nghìn năm trước văn minh Ai Cập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã sử dụng rộng rãi khắp giới từ Đông sang Tây nhằm đảm bảo an toàn, bí mật cho việc trao đổi truyền thông tin người quốc gia, đặc biệt lĩnh vực quân sự, trị, ngoại giao Có nhiều dụng cụ (thiết bị) kĩ thuật khác sử dụng để mã hóa Một dụng cụ (thiết bị) sử dụng sớm có lẽ gậy mật mã “scytale” (tiếng Hy Lạp là: σκυτάλη), dùng để liên lạc thông tin mật người huy quân đội Hình 1.1: Gậy mật mã “Scytale” gồm gậy vót nhọn đầu, xung quanh quấn mảnh giấy da ghi thông điệp cần chuyển Khi mở giấy da ta thấy kí tự khó hiểu, nhiên ta quấn quanh gậy mật mã khác theo kích thước ta nhận thông điệp ban đầu Tiến thêm bước nữa, họ sáng tạo mã hóa hoán vị mã hóa thay nguyên thủy cách sử dụng bảng ô vuông dạng bàn cờ (Polybius checkerboard) Bảng có dòng cột chứa tất chữ Sau đó, chữ biến đổi thành số, số thứ số hàng mà chữ hàng đó, số thứ cột chứa chữ Vì thế, chữ A biến thành số 11, tương tự vậy, chữ B biến thành số 12, v v… Suốt nghìn năm lịch sử, thông điệp truyền đưa trao đổi với thường văn bản, tức có dạng kí tự ngôn ngữ Vì vậy, thuật toán lập mã thường đơn giản thuật toán xáo trộn, thay đổi kí tự xác định phép chuyển dịch, thay hay hoán vị kí tự bảng kí tự ngôn ngữ tương ứng Hoạt động ngược lại việc bảo mật thông tin khám phá bí mật từ mã mật “lấy trộm” được, thường gọi hoạt động thám mã Thám mã thường tập trung vào việc tìm khóa mật mã nhằm giải mã mã mật “lấy trộm” được, gọi công việc phá khóa Trong kỉ 20, với tiến vượt bậc kĩ thuật tính toán truyền thông, ngành mật mã có tiến to lớn Vào thập niên đầu kỉ, phát triển kĩ thuật biểu diễn, truyền xử lý tín hiệu có tác động giúp cho hoạt động lập giải mã từ thủ công chuyển sang giới hóa điện tử hóa Các văn bản, mật mã trước viết ngôn ngữ thông thường chuyển kĩ thuật số thành dãy tín hiệu nhị phân, hay dãy số, việc thực phép lập mã, giải mã trở thành việc thực hàm số học Toán học kĩ thuật tính toán bắt đầu trở thành công cụ cho việc phát triển khoa học mật mã Năm 1976, hai tác giả Diffie Hellman đưa khái niệm mã hóa sử dụng khóa công khai phương pháp trao đổi công khai để tạo khóa bí mật chung mà tính an toàn đảm độ khó toán tính “lôgarit rời rạc” Năm 1978, Rivest, Shamir Adleman tìm hệ mật mã khóa công khai (hệ RSA) sơ đồ chữ kí điện tử hoàn toàn ứng dụng thực tiễn, tính bảo mật an toàn chúng bảo đảm độ phức tạp toán số học tiếng toán phân tích số nguyên thành thừa số nguyên tố Sau phát minh hệ mật mã RSA, việc nghiên cứu để phát minh hệ mã hóa khóa công khai khác, ứng dụng hệ mật mã khóa công khai vào toán khác an toàn thông tin tiến hành rộng rãi, lý thuyết mật mã an toàn thông tin trở thành lĩnh vực khoa học phát triển nhanh vài ba thập niên cuối kỉ 20 ngày Một số vấn đề an toàn bảo mật thông tin 2.1 Tại phải an toàn bảo mật thông tin Ngay từ thời xưa muốn giữ bí mật thông tin hay thông báo gửi ta thấy người dùng nhiều cách khác từ công cụ thô sơ (gậy mật mã, v v ) đến thiết bị máy móc phức tạp để bảo đảm thông tin trao đổi an toàn bí mật, có người có quyền biết nội dung thông tin Như vậy, an toàn thông tin cách thức thực nhằm ngăn cản người thẩm quyền xem, sửa đổi thông tin hay thông báo Ngày nay, với bùng nổ công nghệ thông tin đặc biệt xuất mạng Internet mạng cục giúp cho việc trao đổi thông tin: thư điện tử, giao dịch mạng, v v…trở nên nhanh chóng dễ dàng Tuy nhiên, nhiều vấn đề nảy sinh như: tin tức đường truyền (hoặc kho liệu) bị đánh cắp, bị sửa đổi sai lệch, bị giả mạo Do đó, số thông tin mật như: bí mật kinh doanh, tài chính, ngân hàng, thông tin an ninh quốc gia, v v… bị lộ bị giả mạo Điều dẫn đến, thiệt hại tài chính, trị, an ninh, … làm ảnh hưởng lớn đến lợi ích, tình hình công ty, tổ chức hay quốc gia giới Đứng trước vấn đề đó, an toàn thông tin đặt cấp thiết nhằm cung cấp thông tin, phương pháp kĩ thuật, chiến lược, công cụ, v v , nhằm bảo vệ thông tin an toàn Đồng thời, sáng chế ứng dụng có ý nghĩa thực tiễn nhằm phục vụ cho tổ chức, công ty, quốc gia, hết phục vụ cho sống người toàn xã hội 10 2.2.4 Tiến trình mã hóa Form RSA Dieu khien ma hoa File : user 1: Kich hoat Form 2: Mo file chua du lieu 3: Chon thuc hien ma hoa 4: Mo file chua khoa public 5: Kiem tra dai van ban 6: Gui thong bao 7: Ma hoa cong 8: Thong bao "ban co luu noi dung da ma hoa?" 9: Chon OK 10: Luu file chua ban ma Hình 3.5: Tiến trình mã hóa 62 2.2.5 Tiến trình giải mã Form RSA Dieu khien giai ma File : user 1: Kich hoat form 2: Mo file chua ban ma 3: Chon chuc nang giai ma 4: Mo file chua khoa private 5: Giai ma 6: Hien thi ket qua 7: Thong diep luu noi dung da giai ma khong? 8: Chon OK 9: Luu File Hình 3.6: Tiến trình giải mã 2.3 Biểu đồ cộng tác 2.3.1 Tiến trình phát sinh khóa 1: Kich hoat form tao khoa 3: Chon Form tao khoa : user 2: Chon kich thuoc khoa 7: Thong bao tao khoa cong File 4: Tao khoa Dieu khien tao khoa 5: Luu khoa public 6: Luu khoa Private Hình 3.7: Biểu đồ cộng tác tiến trình sinh khóa 63 2.3.2 Tiến trình tạo chữ ký điện tử 8: Dong y luu 3: Chon ban tin Form ky - xac thuc 1: Kich hoat Form : user 6: Tao chu ky 4: Xuat gia tri bam 2: Mo noi dung ban tin dien tu 7: Thong bao luu ban tin ro da ky 5: Ma hoa bam 9: Luu file Dieu khien ky nhan File Hình 3.8: Biểu đồ cộng tác tạo chữ ký điện tử 2.3.3 Tiến trình kiểm tra chữ ký 1: Kich hoat Form 3: Mo File 6: Chon kiem tra Form ky - xac thuc : user 7: Giai ma - kiem tra va so sanh 2: Mo ban tin ro chua chu ky dien tu(CKDT) 8: Thong bao ket qua kiem tra 4: Goi hien thi noi dung 5: Tach CKDT va ban tin dien tu Dieu khien kiem tra File Hình 3.9: Biểu đồ cộng tác kiểm tra chữ ký điện tử 64 2.3.4 Tiến trình mã hóa 1: Kich hoat Form 3: Chon thuc hien ma hoa 9: Chon OK Form RSA : user 6: Gui thong bao 7: Ma hoa cong 8: Thong bao "ban co luu noi dung da ma hoa?" 5: Kiem tra dai van ban 2: Mo file chua du lieu 4: Mo file chua khoa public 10: Luu file chua ban ma Dieu khien ma hoa File Hình 3.10: Biểu đồ cộng tác tiến trình mã hóa 65 2.3.5 Tiến trình giải mã: 1: Kich hoat form 3: Chon chuc nang giai ma 8: Chon OK Form RSA : user 6: Hien thi ket qua 2: Mo file chua ban ma 4: Mo file chua khoa private 7: Thong diep luu noi dung da giai ma khong? 5: Giai ma Dieu khien giai ma 9: Luu File File Hình 3.11: Biểu đồ cộng tác tiến trình giải mã 66 Một số hình minh họa chương trình: Giao diện Hình 3.12: Giao diện chương trình 67 Form ứng dụng chữ ký điện tử RSA Hình 3.13: Form giao diện chương trình ký nhận xác thực chữ ký điện tử 68 Hình 3.14: Quá trình ký nhận văn 69 Hình 3.15: Xác nhận lưu tệp tin sau ký nhận 70 Hình 3.16: Quá trình xác thực nội dung văn 71 Hình 3.17: Hiển thị chữ ký văn 72 Hình 3.18: Hiển thị thông báo sau xác thực 73 Hinh 3.19: Mô thuật toán RSA Hình 3.20: Ví dụ trình mã hóa giải mã sử dụng thuật toán RSA 74 KẾT LUẬN Trong suốt trình tìm hiểu hoàn thành báo cáo tốt nghiệp giúp cho nắm bắt hiểu khái niệm, cách thức tạo chữ ký điện tử giải pháp xác thực chữ ký ứng dụng Hiểu chế hoạt động hệ mã hóa bí mật, hệ mã công khai thông dụng CAESAR, RSA Tìm hiểu phương pháp sử lý với số lớn để xây dựng khóa Bên cạnh đó, vận dụng cách thức hoạt động hệ mã RSA giải thuật băm xây dựng chương trình mã hóa giải mã liệu, tạo chữ ký điện tử nhằm tăng tính an toàn xác thực liệu Tuy nhiên, trước kết đạt tồn nhiều hạn chế Chẳn hạn chương trình cài đặt chưa tổng quát, bám sát lý thuyết tính ứng dụng thực tiễn chưa cao, chương trình phạm vi tạo chữ ký kiểm tra tính toàn vẹn liệu mà chưa xác thực người dùng Ngoài ra, liệu mã hóa khối liệu nhỏ Để khắc phục hạn chế đó, cần có hướng phát triển phù hợp mở rộng khả mã hóa giải mã hệ mã hóa tăng tính an toàn bảo mật cho khối liệu lớn trình truyền tin Chương trình cần thêm tính quản lý thông tin cá nhân người sử dụng, để xác thực người dùng gán tính trách nhiệm cho họ thông điệp liệu; nhằm giúp hoàn thiện chương trình mang tính thực tế, có ứng dụng thực tiễn tổ chức hay cá nhân có yêu cầu cao tính bảo mật thông điệp liệu 75 TÀI LIỆU THAM KHẢO [1] Phan Đình Diệu, Lý thuyết mật mã an toàn thông tin, Nhà xuất đại học quốc gia Hà nội, 2006 [2] Dương Quang Thiện, C# bản, Samic 2001 [3] Phạm Hữu Khang, Bộ Sách Lập Trình C # 2005, Nhà Xuất Bản Lao động Xã Hội [4] MSDN library, Microsoft Corp [5] http://www cryptography com [6] http://www rsa com [7] http://www codeproject com [8] http://en wikipedia org 76 ... 38 Sơ đồ chữ ký điện tử RSA xác thực điện tử: 47 2.2 Mô hình chữ ký điện tử sử dụng khóa công khai .49 2.3 Cách thức hoạt động chữ ký điện tử chứng điện tử 49 2.4 Kiểm... chứng điện tử 49 2.4 Kiểm tra xác nhận tài liệu ký 51 2.5 Cách làm việc chữ ký điện tử 51 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 57 Yêu cầu: 57 Phân tích... tạo chữ ký vào văn hai bên gửi nhận 50 Hình 2.7: Quá trình ký thông điệp 54 Hình 2.8: Quá trình kiểm tra xác nhận chữ ký tài liệu 55 Hình 2.9: Quá trình làm việc Chữ ký điện

Ngày đăng: 19/04/2017, 22:33

Từ khóa liên quan

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

Tài liệu liên quan