Hàm băm Hash function Trang 10 băm.. Quá trình ký Bên gửiTính toán chuỗi đại diện message digest/ hash value của thông điệp sử dụng một giải thuật băm Hashing algorithm.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LỚN NHẬP MÔN AN TOÀN THÔNG TIN Đề tài: Tìm hiểu về Chữ ký số Lớp : 132648 Mã học phần : IT4015 Nhóm : Giảng viên hướng dẫn : PGS TS Nguyễn Linh Giang Danh sách thành viên nhóm: Họ và tên Nguyễn Thế Vũ Trương Văn Hiển Lương Thái Nam Phạm Ngọc Dũng Mã số sinh viên 20194214 20194276 20194126 20194257 Hà Nội, tháng năm 2022 Bài tập lớn: Nhập mơn An toàn thơng tin PHÂN CƠNG THÀNH VIÊN TRONG NHÓM ST Họ và tên MSSV Email Công việc Tỷ lệ % T công việc làm 25% Lương Thái Nam 20194126 nam.lt194126@ sis.hust.edu.vn chữ ký số Nguyễn Thế Vũ 20194214 vu.nt194214@si s.hust.edu.vn Trương Văn Hiển Thuật toán chữ 25% chữ ký số Phạm Ngọc Dũng 25% việc nhóm ký số RSA RABIN 20194276 hien.tv194276@ An toàn sis.hust.edu.vn Kiến trúc chữ ký số tổng quát Phân chia công Giới thiệu về Tổng hợp kết 20194257 dung.pn194257 quả thành báo cáo Phương pháp @sis.hust.edu.v khảo sát tính an toàn n của chữ ký số 25% Nhóm Bài tập lớn: Nhập môn An toàn thông tin MỞ ĐẦU Trong các hoạt động thương mại điện tử cũng việc xây dựng một nền hành chính điện tử, không thể không tính đến mức độ chính xác, an toàn của các bản thông báo điện tử được gửi và đến cũng việc xác thực đối tượng gửi bản thông báo đó Điều này nói lên sự cần thiết của việc xác thực và chữ ký số Hiện nay, Bộ Thông tin và Truyền thông, Bộ Công thương, Bộ Tài chính và Ngân hàng Nhà nước Việt Nam đã được Chính phủ cho phép triển khai chữ ký số và xác thực toán điện tử từ năm 2006 Hiện nay, Hàn Quốc cũng giúp ta triển khai hạ tầng sở khóa công khai PKI Chính phủ điện tử Tất cả kết quả chủ yếu là được chuyển giao từ bên ngoài Xét về lĩnh vực an ninh quốc gia, chúng ta sẽ đặt câu hỏi: Mức độ an toàn của chữ ký số và tính xác thực của văn bản có đảm bảo yêu cầu của chúng ta không mà chúng ta phải nhập ngoại hoàn toàn dây chuyện công nghệ? Trên sở đánh giá mức độ an toàn của hệ thống, nhóm chúng em đã chọn đề tài: “Tìm hiểu về Chữ ký số” làm đối tượng để nghiên cứu phục vụ cho Bài tập lớn môn học Do khả còn hạn chế, đặc biệt là khả về toán học mặc dù nhóm đã có nhiệm cố gắng nhằm hoàn thành tốt nhất nhiệm vụ của mình không tránh khỏi còn có nhiều thiết sót Nhóm em rất mong nhận được những nhận xét thẳng thắn, chi tiết đến từ thầy để tiếp tục hoàn thiện nữa Cuối cùng, nhóm xin được gửi lời cảm ơn đến thầy PGS.TS Nguyễn Linh Giang đã hướng dẫn nhóm suốt quá trình hoàn thiện Bài tập lớn Xin chân thành cảm ơn thầy Nhóm Bài tập lớn: Nhập môn An toàn thông tin NHẬN XÉT (Của Giảng viên hướng dẫn) ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Nhóm Bài tập lớn: Nhập môn An toàn thông tin ………………………………………………………………………………………… ………………………………………………………………………………………… MỤC LỤC CHƯƠNG 1: GIỚI THIỆU VỀ CHỮ KÝ SỐ 1.1 Khái niệm 1.2 Các yêu cầu của chữ ký số 1.3 Tính chất của chữ ký số 1.4 So sánh chữ ký viết tay và chữ ký số 1.5 Hàm băm (Hash function) CHƯƠNG 2: KIẾN TRÚC CHỮ KÝ SỐ TỔNG QUÁT 11 2.1 Quá trình ký (Bên gửi) .11 2.2 Quá trình kiểm tra chữ ký (Bên nhận) 12 2.3 Nhược điểm 12 2.4 Chức 12 2.5 Nguy 13 CHƯƠNG 3: THUẬT TOÁN CHỮ KÝ SỐ RSA RABIN 14 3.1 Sơ đồ thuật toán chữ ký số RSA .14 3.1.1 Quá trình ký (Bên gửi) .14 3.1.2 Quá trình kiểm tra (Bên nhận) 15 3.2 Thuật toán mã hóa RSA 15 3.2.1 Quá trình sinh khóa 16 3.2.2 Quá trình mã hóa và giải mã 17 3.2.3 Phân tích độ an toàn 18 3.3 Giải thuật hàm băm SHA-1 .19 3.3.1 Các tham số 19 3.3.2 Các toán tử 20 3.3.3 Thuật toán 21 3.4 Thuật toán chữ ký số RABIN 22 3.4.1 Quá trình ký (Bên gửi) .22 3.4.2 Quá trình kiểm tra (Bên nhận) 23 3.4.3 Thuật toán tạo khóa bí mật 23 CHƯƠNG 4: AN TOÀN TRONG CHỮ KÝ SỐ 25 4.1 Tính an toàn của chữ ký số .25 Nhóm Bài tập lớn: Nhập môn An toàn thông tin 4.1.1 Cơ chế bảo mật tuyệt đối 25 4.1.2 Độ an toàn của hệ thống RSA 26 4.2 Các dạng tấn công chữ ký số 27 4.2.1 Tấn công dạng 1: Tìm cách xác định khóa bí mật 27 4.2.2 Tấn công dạng 2: Giả mạo chữ ký (không tính trực tiếp khóa bí mật) .29 CHƯƠNG 5: PHƯƠNG PHÁP KHẢO SÁT TÍNH AN TOÀN CỦA CHỮ KÝ SỐ 31 5.1 Phương pháp Random Oracle Model (ROM) 31 5.2 ROM khảo sát tính an toàn của chữ ký số .32 5.3 Khảo sát phương pháp vài biến thể của chữ ký số (ECDSA) 33 CHƯƠNG 6: CHƯƠNG TRÌNH THỬ NGHIỆM 35 6.1 DEMO thuật toán mã hóa RSA 35 6.1.1 Tạo khóa 35 6.1.2 Mã hóa bằng khóa công khai .35 6.1.3 Giải mã bằng khóa bí mật 35 6.2 DEMO thuật toán băm SHA-1 36 6.2.1 Văn bản băm 36 6.2.2 Thực hiện hàm băm 36 6.3 DEMO thuật toán tạo chữ kí số 37 6.3.1 Quá trình ký .37 6.3.2 Quá trình kiểm tra 37 TÀI LIỆU THAM KHẢO 38 Nhóm Bài tập lớn: Nhập môn An toàn thông tin CHƯƠNG 1: GIỚI THIỆU VỀ CHỮ KÝ SỐ 1.1 Khái niệm Chữ kí số (Digital Signature) là những thông tin kèm với dữ liệu nhằm chứng thực nguồn gốc và nội dung của văn bản Chữ kí số được dựa sở lý thuyết hệ mã hoá công khai (public key cryptography), còn gọi là mã hóa bất đối xứng (asymetric cryptography), được tạo để giải quyết câu hỏi: “Làm thế nào để định nghĩa một chữ ký cho các văn bản số, với các tính chất tương tự chữ ký viết tay ?” Mã hóa công khai: Sử dụng khóa có quan hệ toán học với nhau, khóa công khai (public key dùng để mã hóa, được công bố rộng rãi Khóa còn lại là khóa bí mật (private key) dùng để giải mã, được giữ bí mật Mã hóa bất đối xứng: Cơ sở toán học của hệ mã hóa bất đối xứng là dùng những hàm một chiều, tức là những hàm để tính theo chiều thuận thì dễ còn theo chiều ngược lại thì với không khả thi với hệ thống máy tính hiện tại Chữ ký số bao gồm thành phần: Thuật toán tạo khóa Hàm tạo chữ ký là hàm tính toán chữ ký sở khóa mật và dữ liệu cần ký Hàm kiểm tra chữ ký là hàm kiểm tra xem chữ ký đã cho có đúng với khóa công cộng không (Khóa này mọi người có quyền truy cập mọi người đều có thể kiểm tra được chữ ký) 1.2 Các yêu cầu của chữ ký số - Tính xác thực: người nhận có thể chứng minh được văn bản được ký bởi gửi Nhóm Bài tập lớn: Nhập môn An toàn thông tin - Tính toàn vẹn: người nhận có thể chứng minh được không có sửa đổi văn bản đã được ký - Không thể tái sử dụng: chữ ký có giá trị văn bản - Không thể giả mạo - Chống từ chối: người gửi không thể phủ nhận được hành động ký vào văn bản 1.3 Tính chất của chữ ký số Là một chuỗi ký tự, có nội dung phụ thuộc vào nội dung bản tin được ký: khó thay đổi, khó dùng lại Do đó có thể xác thực nội dung bản tin được ký Sử dụng thông tin mà có người ký mới có: Khó giả mạo, khó chỗi từ Do đó có thể xác minh người ký Nhóm Bài tập lớn: Nhập môn An toàn thông tin Gần không thể giả mạo chữ ký 1.4 So sánh chữ ký viết tay và chữ ký số Chữ ký viết tay Chữ ký cố định Chữ ký số Chữ ký thay đổi theo nội dung Gắn liền với nội dung được ký văn bản Có thể tách khỏi nội dung được ký 1.5 Hàm băm (Hash function) Hàm băm là hàm toán học chuyển đổi thông điệp (message) có độ dài bất kỳ (hữu hạn) thành một dãy bít có độ dài cố định (tùy thuộc vào thuật toán Nhóm Bài tập lớn: Nhập môn An toàn thông tin băm) Dãy bít này được gọi là thông điệp rút gọn (message disgest) hay giá trị băm (hash value), đại diện cho thông điệp ban đầu Hàm băm SHA-1: Thuật toán SHA-1 nhận thông điệp ở đầu vào có chiều dài k