12 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU THUẬT TOÁN RSA VÀ XÂY DỰNG ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ CHO PHIẾU THU CỦA CÔNG TY CỔ PHẦN HOSCO Hà Nội – Năm 2016 TRƯỜN.
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN NGHIÊN CỨU THUẬT TỐN RSA VÀ XÂY DỰNG ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ CHO PHIẾU THU CỦA CÔNG TY CỔ PHẦN HOSCO Hà Nội – Năm 2016 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN NGƠ THỊ B NGHIÊN CỨU THUẬT TỐN RSA VÀ XÂY DỰNG ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ CHO PHIẾU THU CỦA CƠNG TY CỔ PHẦN HOSCO Chun ngành: Cơng nghệ thông tin Mã ngành: D480201 NGƯỜI HƯỚNG DẪN: ThS Nguyễn Văn A Hà Nội – Năm 2016 LỜI CAM ĐOAN Những nội dung đồ án tốt nghiệp thành từ nghiên cứu thực trực tiếp hướng dẫn giảng viên hướng dẫn ThS Nguyễn Văn Hách Đồ án thực hồn tồn mới, thành riêng em, khơng chép theo đồ án tương tự Mọi tham khảo sử dụng đồ án trích dẫn nguồn tài liệu báo cáo danh mục tài liệu tham khảo Mọi chép không hợp lệ, vi phạm quy chế nhà trường, em xin hoàn toàn chịu trách nhiệm Sinh viên thực Nguyễn Văn A LỜI CẢM ƠN Để hoàn thành đề tài đồ án tốt nghiệp này, trước hết em xin gửi lời cảm ơn chân thành đến Cán Giảng viên Khoa Công nghệ Thông tin, cán giảng viên Trường Đại học Tài ngun Mơi trường Hà Nội tận tình giảng dạy truyền đạt kiến thức cho em Đồng thời em xin gửi lời cảm ơn đặc biệt dạy, hướng dẫn tận tình ThS Nguyễn Văn Hách ln tận tình hướng dẫn, giúp đỡ em suốt thời gian thực đồ án Em xin gửi lời cảm ơn tới Khoa Công nghệ Thông tin – Trường Đại Học Tài nguyên Môi trường Hà Nội quan tâm tạo điều kiện giúp em hoàn thành đề tài đồ án tốt nghiệp Ngoài ra, em xin cảm ơn người bạn giúp đỡ trao đổi thêm nhiều thông tin đề tài trình thực đề tài Cuối em vơ biết ơn gia đình bạn bè, người luôn bên cạnh em, động viên, chia sẻ với em suốt thời gian thực đề tài đồ án tốt nghiệp “Nghiên cứu thuật toán RSA xây dựng ứng dụng chữ ký điện tử cho phiếu thu Công ty Cổ phần HOSCO” Do kiến thức hạn chế, báo cáo em khơng tránh khỏi sai sót Rất mong nhận lời góp ý từ q Thầy để đồ án tốt nghiệp em hoàn thiện giúp em có thêm kinh nghiệm quý báu Cuối cùng, em xin kính chúc thầy giảng viên trường Đại học Tài nguyên Môi trường Hà Nội nói chung, thầy khoa cơng nghệ thơng tin nói riêng dồi sức khỏe thành cơng nghiệp cao quý Hà Nội, tháng năm 2016 Sinh viên thực Ngô Thu Thủy MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT Chữ viết tắt Tên tiếng anh RSA Nghĩa tiếng việt Viết theo chữ đầu tên ba tác giả Rivest– Shamir Adleman C# Ngơn ngữ lập trình C Sharp DES Data Encryption Standard Tiêu chuẩn mã hóa liệu PKI Public Key Infrastructure Hạ tầng khóa cơng khai IBM International Bussiness Machines Tập đồn cơng nghệ máy tính đa quốc gia MD4 Message – Digest Algorithm Giải thuật tiêu hóa thơng tin MD5 Message – Digest Algorithm Giải thuật tiêu hóa thơng tin MIT Massachusetts Institute of Technology Viện công nghệ Massachusetts SHA Secure Hash Algorithm Thuật giải băm an tồn VPN Virtual Private Network Cơng nghệ mạng riêng ảo DSA Digital Signature Algorithm Giải thuật chữ ký số UCLN Ước chung lớn DANH MỤC CÁC BẢNG DANH MỤC HÌNH ẢNH MỞ ĐẦU Lý chọn đề tài Mục tiêu đề tài Phương pháp nghiên cứu đề tài Đối tượng phạm vi nghiên cứu đề tài - CHƯƠNG 1: GIỚI THIỆU VỀ HỆ MẬT MÃ HỌC 1.1 Các khái niệm sở 1.1.1 Khái niệm mật mã học Mật mã học (Cryptography) khoa học nghiên cứu sở lý thuyết công nghệ để thực việc xây dựng sử dụng hệ thống mật mã Mật mã học ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành dạng khác nhằm mục đích che dấu nội dung, ý nghĩa thơng tin cần mã hóa Đây ngành quan trọng có nhiều ứng dụng đời sống xã hội Ngày nay, ứng dụng mã hóa bảo mật thông tin sử dụng ngày phổ biến lĩnh vực khác giới, từ lĩnh vực an ninh, quân sự, quốc phòng, lĩnh vực dân thương mại điện tử, ngân hàng… Mật mã học lĩnh vực quan tâm mở rộng với nhiều ứng dụng quan trọng như: chứng thực khóa cơng khai, chữ ký số, toán điện tử 1.1.2 Các khái niệm - Tính khơng thể chối bỏ (Non-repudiation): người gửi, người nhận chối bỏ sau gửi nhận thông điệp 1.2 Lịch sử phát triển CHƯƠNG 2: GIỚI THIỆU VỀ CHỮ KÝ SỐ 2.1 Khái niệm chữ ký số 2.2 Kiến trúc chữ ký số 2.2.1 Tính chất chữ ký số 10 Quá trình kiểm tra chữ ký (Receiver) - ThơnVị trí, vai trị chữ ký số thực tế Internet ngày phát triển có vị trí vơ quan trọng sống nay, với phát triển vượt bậc công nghệ thông tin Điều cho phép thực giao dịch điện tử thông qua internet, tính linh hoạt internet tạo hội cho “bên thứ ba” thực hành động bất thường ví dụ nghe trộm, giả mạo Để đảm bảo an toàn an ninh mạng thương mại điện tử, khái niệm chữ ký số điện tử đời Với phát triển mạnh mẽ xu quốc tế hóa, tồn cầu hóa, việc trao đổi thông tin yêu cầu nhanh gọn, xác đặc biệt phải an tồn Từ khó khăn thực tế, cơng nghệ thơng tin cơng nghệ mã hóa từ mà phát triển cách mạnh mẽ Hiện nay, giới tất nước phát triển phát triển, mạng máy tính ngày đóng vai trị thiết yếu lĩnh vực hoạt động tồn xã hội Chính mà nhu cầu bảo mật thông tin đặt lên hàng đầu Điển hình việc mã hóa bảo mật thông tin, dùng chữ ký số xác thực email trao đổi thơng tin, kiểm sốt truy cập vào sàn thương mại điện tử,… mà vai trò chủ yếu chữ ký số điện tử Chữ ký số sử dụng giao dịch thư điện tử, ký vào email để xác thực danh tính người gửi Sử dụng chữ ký số để mua bán hàng trực tuyến, đầu tư chứng khốn trực tuyến, chuyển tiền ngân hàng, toán trực tuyến mà không sợ bị đánh cắp tiền với tài khoản VISA, Master Sử dụng chữ ký số với ứng dụng quản lý tổ chức / doanh nghiệp với mức độ tin cậy, bảo mật xác thực cao nhiều Dùng chữ ký số để ký hợp đồng với đối tác hoàn toàn trực tuyến mạng mà không cần ngồi trực tiếp với nhau, cần ký vào file hợp đồng gửi qua email 11 Sử dụng với ứng dụng phủ điện tử, quan nhà nước tương lai làm việc với nhân dân hoàn toàn trực tuyến cửa Khi cần làm thủ tục hành hay xin xác nhận quan nhà nước cần ngồi nhà khai vào mẫu ký số vào để gửi xong… Trên thực tế, chữ ký số không thực cho giao dịch điện tử mạng internet mà cịn thực thơng qua hệ thống mạng viễn thông di động Đặc biệt, nhiều nước giới không triển khai ứng dụng chữ ký số mạng máy tính mà cịn áp dụng mạng điện thoại di động để thực giao dịch điện tử Chữ ký số bao hàm cam kết gửi email, nhập số định dạng cá nhân (PIN) vào máy ATM, ký bút điện tử với thiết bị hình cảm ứng quầy tính tiền, chấp nhận điều khoản người dùng cài đặt phần mềm máy tính, ký hợp đồng điện tử online Sự đời chữ ký số ngày khẳng định lợi ích to lớn chiến lược kinh tế, đồng thời vấn đề liên quan đến chữ ký số chủ đề quan trọng mật mã học 2.3 2.3.1 Giới thiệu hàm băm tính chất hàm băm Tổng quan hàm băm Hàm băm Hàm băm (Hash funtion - h) giải thuật nhằm sinh giá trị băm tương ứng với khối liệu (có thể chuỗi kí tự, đối tượng lập trình hướng đối tượng, v.v…) Nói cách khác, hàm băm hàm tốn học chuyển đổi thơng điệp đầu vào có độ dài thành dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm) Dãy bit gọi thông điệp rút gọn (message digest) hay giá trị băm (hash value), đại diện cho thông điệp ban đầu 12 2.4 Một số hàm băm mật mã học 13 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG RSA TRONG XÂY DỰNG CHỮ KÝ SỐ Trước nhu cầu giao dịch an toàn mạng Internet ngày nay, ứng dụng việc mã hóa cơng khai ngày có vai trị quan trọng Một thuật tốn mã hóa cơng khai phổ biến RSA Thuật tốn ứng dụng rộng rãi cho công nghệ VPN Chương giới thiệu tổng quan thuật toán RSA ứng dụng RSA xây dựng chữ ký số Cụ thể là: Giới thiệu chung hệ mật RSA Kiến trúc giải thuật RSA Lược đồ chữ ký số RSA Độ an toàn bảo mật hệ mật RSA 3.1 Tổng quan hệ mật mã RSA 3.1.1 Lịch sử chữ ký số RSA Thuật toán RSA Ron Rivest, Adi Shamir Len Adleman giới thiệu lần vào năm 1977 Học viện Công nghệ Massachusetts (MIT) Tên thuật toán lấy từ chữ tên tác giả 3.1.2 Hoạt động hệ mật mã RSA Mục đích việc xác thực chữ ký – Xác thực người gửi: Các hệ thống mật mã hóa khóa cơng khai cho phép mật mã hóa văn với khóa bí mật mà có người chủ khóa biết Để sử dụng chữ ký số văn khơng cần phải mã hóa mà cần mã hóa hàm băm văn (thường có độ dài cố định ngắn văn bản) Khi cần kiểm tra, bên nhận thực giải mã (với khóa cơng khai) để lấy lại hàm băm kiểm tra với hàm băm văn nhận Nếu giá trị khớp bên nhận tin tưởng văn xuất phát từ người sở hữu khóa bí mật Tất nhiên đảm bảo 100% văn khơng bị giả mạo hệ thống bị phá vỡ Vấn đề xác thực đặc biệt quan trọng giao dịch tài Chẳng hạn chi nhánh ngân hàng gửi gói tin trung tâm dạng (a, b), a số 14 tài khoản b số tiền chuyển vào tài khoản Một kẻ lừa đảo gửi số tiền để lấy nội dung gói tin truyền lại gói tin thu nhiều lần để thu lợi (tấn công truyền lại gói tin) – Chống chối bỏ: Trong giao dịch, bên từ chối nhận văn gửi Để ngăn ngừa khả này, bên nhận yêu cầu bên gửi phải gửi kèm chữ ký số với văn Khi có tranh chấp, bên nhận dùng chữ ký chứng để bên thứ ba giải Tuy nhiên, khóa bí mật bị lộ tính khơng thể phủ nhận khơng thể đạt hồn tồn – Xác thực tồn vẹn thơng tin: Cả hai bên tham gia vào q trình thơng tin tin tưởng văn khơng bị sửa đổi truyền văn bị thay đổi hàm băm thay đổi bị phát Q trình mã hóa ẩn nội dung gói tin bên thứ không ngăn cản việc thay đổi nội dung 15 3.1.3 Giải thuật thuật tốn RSA 3.2 Độ an tồn bảo mật hệ mật RSA 3.3 Giới thiệu lược đồ chữ ký số RSA 3.3.1 Thuật toán khởi tạo tham số hệ thống 3.4 Một số khái niệm toán học sử dụng RSA CHƯƠNG 4: XÂY DỰNG CHỮ KÝ SỐ TRONG PHIẾU THU ĐIỆN TỬ TẠI CÔNG TY CỔ PHẦN HOSCO Được ứng dụng phổ biến nay, phiếu thu điện tử giúp nhiều công ty tiết kiệm nhiều chi phí, thời gian việc thu tiền, lên sổ sách nâng cao mức độ chun nghiệp giao dịch hàng hóa Cơng ty cổ phần HOSCO công ty kinh doanh phần mềm bán hàng khác nhau, có số lượng đơn đặt hàng lớn, nên hệ thống phiếu thu điện tử cần thiết cho công ty Chương xây dựng ứng dụng chữ ký số phiếu thu điện tử công ty thuật toán RSA với nội dung sau: Hiện trạng thực tế vấn đề in ấn phiếu thu cơng ty Phân tích thiết kế Xây dựng giao diện chương trình (giới thiệu ngơn ngữ, xây dựng giao diện) 1.1 Hiện trạng thực tế vấn đề in ấn phiếu thu đơn vị 1.2 Phân tích thiết kế hệ thống 1.2.1 Sơ đồ usecase tổng qt 1.2.2 Mơ hình usecase phân rã chức Hình 4.1 Sơ đồ Usecase phân rã chức tạo chữ ký ký Sơ đồ Usecase phân rã chức chứng thực chữ ký in phiếu thu Trong chức chứng thực chữ ký in phiếu thu, gồm hai chức năng: xác nhận chữ ký in phiếu thu Hình 4.2 Sơ đồ Usecase phân rã chức xác nhận chữ ký in phiếu thu 1.2.3 Biểu đồ hệ thống Biểu đồ thực chức đăng nhập hệ thống 16 Hình 4.3 Biểu đồ chức Tạo chữ ký ký phiếu thu Biểu đồ thực chức chứng thực chữ ký Hình 4.4 Biểu đồ chức chứng thực chữ ký 1.2.4 Biểu đồ hoạt động hệ thống Biểu đồ hoạt động chức Đăng nhập Hình 4.5 Biểu đồ hoạt động thực chức đăng nhập 17 Biểu đồ hoạt động thực chức tạo khóa Hình 4.6 Biểu đồ hoạt động thực chức nhập số nguyên tố 18 Biểu đồ hoạt động thực chức tạo khóa Hình 4.7 Biểu đồ hoạt động thực chức tạo chữ ký ký phiếu thu 19 Biểu đồ hoạt động chức Chứng thực chữ ký in phiếu thu Admin yêu cầu xác nhận chữ ký sau gửi, hệ thống gửi yêu cầu điền đầy đủ thông tin vào form cần xác nhận, chọn khóa chọn người ký Hệ thống tiến hành kiểm tra thông tin nhân viên nhập liệu vào Nếu đủ tiến hành xác nhận chữ ký phiếu thu; ngược lại hệ thống yêu cầu chọn đủ thông tin trước xác nhận chữ ký Có thể thực in phiếu thu muốn Hình 4.8 Biểu đồ hoạt động thực chứng thực chữ ký in phiếu thu 1.3 Xây dựng giao diện chương trình 1.3.1 Tổng quan ngơn ngữ lập trình C sharp • Form giao diện chương trình Hình 4.9 Giao diện chương trình Phần hệ thống gồm chức đăng xuất đổi mật Form đổi mật Hình 4.10 Giao diện form đổi mật Trong phần chức có chức nhỏ: Form xuất phiếu thu Nhân viên chọn mã phiếu thu ô combobox chọn xuất phiếu thu lưu lại với định dạng *.doc Hình 4.11 Giao diện form xuất phiếu thu Form tạo khóa - Phần tạo khóa: thủ trưởng đơn vị chưa có khóa admin sử dụng giao diện để tạo khóa cơng khai khóa bí mật cho người thủ trưởng Có hai chế độ: Tùy chọn Tự động tạo khóa 20 - Khóa admin tạo cấp cho thủ trưởng đơn vị để thực việc ký phiếu thu với khóa bí mật KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Phần mềm chưa thiết kế cách hồn chỉnh để kết nối trực tiếp vào số phần mềm: gửi nhận email, phần mềm quản lý… để thực đầy đủ nghiệp vụ hoạt động tạo phiếu thu Hướng phát triển đề tài 21 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Xuân Dũng (2007), Bảo mật thơng tin, mơ hình ứng dụng, Nhà xuất Thống Kê [2] Phan Đình Diệu (1999), Giáo trình lý thuyết mật mã an tồn thơng tin, Nhà xuất Đại học Quốc Gia Hà Nội ... NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN NGÔ THỊ B NGHIÊN CỨU THU? ??T TOÁN RSA VÀ XÂY DỰNG ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ CHO PHIẾU THU CỦA CÔNG TY CỔ PHẦN HOSCO Chuyên ngành: Công nghệ... Cơng ty cổ phần HOSCO công ty kinh doanh phần mềm bán hàng khác nhau, có số lượng đơn đặt hàng lớn, nên hệ thống phiếu thu điện tử cần thiết cho công ty Chương xây dựng ứng dụng chữ ký số phiếu thu. .. trị quan trọng Một thu? ??t tốn mã hóa cơng khai phổ biến RSA Thu? ??t toán ứng dụng rộng rãi cho công nghệ VPN Chương giới thiệu tổng quan thu? ??t toán RSA ứng dụng RSA xây dựng chữ ký số Cụ thể là: