Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,28 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG TIỂU LUẬN Môn học: An ninh mạng thông tin Đề tài: Tìm hiểu giải thuật ký số DSA Giảng viên : Phạm Anh Thư Bài thi cuối kỳ môn ANM KIỂM TRA ĐỘ TRÙNG LẶP i Bài thi cuối kỳ mơn ANM BẢNG PHÂN CHIA CƠNG VIỆC Sinh viên Nội dung thực MỤC LỤC DANH MỤC HÌNH VẼ iv DANH MỤC BẢNG BIỂU iv DANH MỤC TỪ VIẾT TẮT v LỜI CẢM ƠN vi PHẦN MỞ ĐẦU vii HÀM BĂM AN TOÀN 1.1 Khái niệm hàm băm 1.2 Giải thuật băm an toàn 1.3 Các giải thuật băm an toàn 1.3.1 SHA-1 1.3.2 SHA-224 1.3.3 SHA-256 1.3.4 SHA-512 1.3.5 SHA-384 KHÁI QUÁT VỀ CHỮ KÝ SỐ 2.1 Mã hóa đối xứng 2.2 Mã hóa cơng khai 2.3 Chữ ký số 10 2.4 Chức chữ ký số 11 2.5 Sơ đồ hoạt động 11 ii Bài thi cuối kỳ môn ANM GIẢI THUẬT KÝ SỐ DSA 12 3.1 Tiêu chuẩn chữ ký số DSS 12 3.2 Giới thiệu giải thuật ký số DSA 13 3.3 Nguyên tắc hoạt động 14 3.3.1 Tạo chữ ký số 14 3.3.2 Xác thực chữ ký số 15 3.4 Các tham số 15 3.5 Đánh giá nhận xét giải thuật 17 ỨNG DỤNG CỦA DSA TRONG BẢO MẬT TÀI LIỆU ĐIỆN TỬ 18 KẾT LUẬN 20 TÀI LIỆU THAM KHẢO 21 iii Bài thi cuối kỳ mơn ANM DANH MỤC HÌNH VẼ Hình 1: Hàm băm Hình 2: Đệm liệu SHA-1 Hình 3: Xử lý liệu SHA-1 Hình 4: Đệm dự liệu SHA-512 Hình 5: Mơ hình mã hóa đối xứng đơn giản Hình 6: Mơ hình mã hóa cơng khai Hình 7: Mơ hình tổng qt chữ ký số 11 Hình 8: Chuẩn chữ ký số DSS 13 Hình 9: Tạo chữ ký số DSA 14 Hình 10: Xác minh chữ ký số DSA 15 Hình 11: Tổng quan tham số DSA 16 Hình 12: Tạo khóa ngẫu nhiên 18 Hình 13: Thực ký lên tài liệu 19 Hình 14: Chứng thực toàn vẹn tài liệu, văn 19 DANH MỤC BẢNG BIỂU Bảng 1: So sánh tham số giải thuật SHA Bảng 2: Bảng tính tốn chữ ký số 17 iv Bài thi cuối kỳ môn ANM DANH MỤC TỪ VIẾT TẮT Từ viết tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt DSA Digital Signature Algorithm Giải thuật ký số DSS Digital Signature Standard Chuẩn ký số FIPS Federal Information Processing Standard Tiêu chuẩn xử lý thông tin liên bang M Message Bản tin, thông điệp NIST National Institute of Standards and Technology Học viện quốc gia tiêu chuẩn kỹ thuật NSA National Security Agency Cơ quan An ninh Quốc gia RSA Rivest Shamir Adleman Thuật tốn mã hóa cơng khai SHA Secure Hash Algorithm Giải thuật băm an toàn USA United States of America Hợp chúng quốc Hoa Kỳ v Bài thi cuối kỳ mơn ANM LỜI CẢM ƠN Để thực tiểu luận này, chúng em xin gửi lời cảm ơn đến Cô Phạm Anh Thư, giảng viên môn An ninh mạng viễn thông - Học viện Công nghệ Bưu Viễn thơng Trong q trình học tập tìm hiểu học phần An ninh mạng viễn thơng, chúng em nhận quan tâm, giúp đỡ bảo tận tình Cơ giúp chúng em tiếp nhận kiến thức mới, để có tảng vững đường nghiên cứu chuẩn bị hành trang nghề nghiệp tương lai Do chưa có nhiều kinh nghiệm khả hạn chế, báo cáo tiểu luận chắn khơng tránh khỏi thiếu sót Rất mong nhận nhận xét, ý kiến đóng góp, phê bình từ phía Cuối chúng em xin kính chúc nhiều sức khỏe, thành cơng hạnh phúc Xin chân thành cảm ơn! vi Bài thi cuối kỳ môn ANM PHẦN MỞ ĐẦU Lý chọn đề tài Với phát triển xã hội với việc đời trao đổi thông tin, an tồn thơng tin trở thành u cầu thiết yếu gắn liền với sống người Đặc biệt giao dịch điện tử việc bảo mật, đảm bảo an tồn thơng tin liệu trở thành vấn đề thời sự, chủ đề rộng liên quan đến nhiều lĩnh vực khác Trong thực tế, nhiều phương pháp thực đời để đảm bảo an toàn liệu Điển hình đời chữ ký số với nhiều tính ưu việt sử dụng, thơng tin kèm liệu nhằm xác minh chủ liệu Chữ ký số giúp rút ngắn thời gian, công sức số công việc giao dịch với ngân hàng, quan hành chính,… Ngày nay, với lây lan rộng đại dịch Covid-19 việc giao dịch thơng tin qua mạng xem xu thế, bước phù hợp cho phát triển công nghệ số thương mại điện tử nước ta Nhận thấy thiết thực chữ ký số tài liệu, văn điện tử, giao dịch qua mạng, … đồng ý giảng viên mơn, chúng em lựa chọn đề tài “Tìm hiểu giải thuật ký số DSA” làm đề tài cho tiểu luận Mục đích phạm vi tiểu luận Bài tiểu luận nhóm viết với mục đích trình bày tổng quan kiến thức, khái niệm, mơ hình hoạt động giải thuật hình thành nên giải thuật ký số nói chung, giải thuật DSA nói riêng Đưa ứng dụng giải thuật ký số DSA thực tiễn Phạm vi tiểu luận nằm lĩnh vực An ninh mạng thông tin Phương pháp nghiên cứu Xây dựng hệ thống lý thuyết, phân tích đánh giá sở lý thuyết sẵn có kinh nghiệm thân Nội dung tiểu luận Nội dung phần tiểu luận trình bày sau: Phần 1: Hàm băm an toàn Phần 2: Khái quát chữ ký số Phần 3: Giải thuật ký số DSA Phần 4: Ứng dụng giải thuật ký số DSA bảo mật tài liệu điện tử Phần 5: Kết luận vii Bài thi cuối kỳ môn ANM HÀM BĂM AN TOÀN 1.1 Khái niệm hàm băm Hàm băm (Hash function) giải thuật nhằm tạo giá trị băm (Hash value) cho tin (có thể chuỗi ký tự, đối tượng lập trình hướng đối tượng, v.v ) nhằm kiểm tra tính tồn vẹn Giá trị băm đóng vai gần khóa để phân biệt tin • Được xem giải thuật mã hóa linh hoạt • Được sử dụng rộng rãi nhiều ứng dụng bảo mật giao thức Internet • Hàm băm giúp giảm chi phí tính tốn tìm khối liệu tập hợp (vì việc so sánh giá trị băm nhanh việc so sánh khối liệu có kích thước lớn) Hình 1: Hàm băm 1.2 Giải thuật băm an tồn Giải thuật băm an toàn (SHA: Secure Hash Algorithm) giải thuật chấp nhận FIPS (Tiêu chuẩn xử lý thông tin liên bang) dùng để chuyển đoạn liệu định thành đoạn liệu có chiều dài khơng đổi với xác suất khác biệt cao Những giải thuật gọi "an toàn" vì: • Nếu biết trước giá trị băm định tạo nên giải thuật SHA, việc tìm khơi phục lại tin gốc (bản rõ) việc bất khả thi • Việc tìm hai tin khác mà có giá trị băm tạo giải thuật SHA không khả thi Bài thi cuối kỳ mơn ANM • Bất kỳ thay đổi tin gốc (bản rõ), cho dù nhỏ, tạo nên giá trị băm hoàn toàn khác 1.3 Các giải thuật băm an toàn Mỗi giải thuật chia làm giai đoạn: nối bit đệm, nối thêm chiều dài, khởi tạo đệm băm, xử lý liệu khối xuất kết Giá trị cuối thu tin rút gọn Năm giải thuật chủ yếu khác số bit bảo mật Số bit bảo mật liên quan trực tiếp tới độ dài tin rút gọn Khí giải thuật băm sử dụng với giải thuật khác phải hàm băm cần sử dụng có số bit bảo mật Ví dụ, tin ký giải thuật chữ ký số với 256 bit bảo mật giải thuật chữ ký số u cầu sử dụng giải thuật băm an tồn có 256 bit bảo mật (ví dụ SHA-512) Ngồi ra, giải thuật khác kích thước khối kích thước từ liệu sử dụng trình băm Bảng so sánh tham số giải thuật SHA: Bảng 1: So sánh tham số giải thuật SHA Phần em chủ yếu tập chung mơ tả thuật tốn băm SHA-1, phiên khác SHA thiết kế theo nguyên lý tương tự 1.3.1 SHA-1 SHA-1 (Secure Hash Algorithm 1) Giải thuật nhận đầu vào tin có độ dài tối đa nhỏ 264 bit, thực xử lý tạo dạng đầu tin rút gọn có Bài thi cuối kỳ môn ANM Đối với SHA-512, giá trị băm ban đầu K(0) bao gồm từ 64 bit, dạng Hex: K0(0) = 6a09e667f3bcc908 K 1(0) = bb67ae8584caa73b K 2(0) = 3c6ef372fe94f82b K 3(0) = a54ff53a5f1d36f1 K 4(0) = a54ff53a5f1d36f1 K 5(0) = 9b05688c2b3e6c1f K 6(0) = 1f83d9abfb41bd6b K 7(0) = 5be0cd19137e2179 1.3.5 SHA-384 SHA-384 giải thuật sử dụng để tính tốn hàm băm cho tin, M, có độ dài l bit, với ≤ l ≤ 264 Giải thuật đinh nghĩa theo cách giống hệt SHA-512, với hai ngoại lệ sau: 1) Đối với SHA-384, giá trị băm ban đầu K(0) bao gồm từ 64 bit sau: K0(0) = cbbb9d5dc1059ed8 K1(0) = 629a292a367cd507 K2(0) = 9159015a3070dd17 K3(0) = 152fecd8f70e5939 K4(0) = 67332667ffc00b31 K5(0) = 8eb44a8768581511 K6(0) = db0c2e0d64f98fa7 K7(0) = 47b5481dbefa4fa4 2) Bản tin rút gọn có giá trị 384 bit KHÁI QUÁT VỀ CHỮ KÝ SỐ 2.1 Mã hóa đối xứng Mã hóa đối xứng loại mơ hình mã hóa mà bên gửi bên nhận sử dụng chung khóa bí mật để mã hóa giải mã tin Bài thi cuối kỳ môn ANM Hình 5: Mơ hình mã hóa đối xứng đơn giản Mơ hình mã hóa đối xứng đơn giản bao gồm thành phần chính: • Bản rõ: liệu ban đầu đọc rõ ràng, đầu vào khối giải thuật mã hóa • Giải thuật mã hóa: thực nhiều phép biến đổi thay khác rõ • Khóa bí mật: đầu vào khối giải thuật mã hóa Đây giá trị độc lập Giải thuật cho đầu khác phụ thuộc vào khóa cụ thể sử dụng thời điểm Các phép biến đổi thay xác thực giải thuật phụ thuộc vào khóa • Bản mã: tin đầu khối giải thuật mã hóa Phụ thuộc vào rõ khóa bí mật Với rõ ban đầu, hai khóa khác tạo hai mã khác • Giải thuật giải mã: khối ngược lại với khối giải thuật mã hóa Khối nhận mã truyền đến sử dụng khóa bí mật để khôi phục lại rõ ban đầu ➜ Ưu điểm: - Vừa có khả cung cấp mức độ bảo mật cao, vừa có khả cho phép mã hóa giải mã tin nhanh - Nâng cao độ bảo mật cách dễ dàng cách đơn giản tăng độ dài khóa Với bit thêm vào khóa việc phá vỡ mã hóa cơng Brute force tăng lên theo cấp số mũ ➜ Nhược điểm: Vấn đề việc trao đổi khóa dùng để mã hóa giải mã liệu Nếu khóa chia sẻ lên kênh khơng an tồn nguy bị can thiệp Nhóm 13.N6 Bài thi cuối kỳ mơn ANM bên thứ lớn Khi hacker biết khóa bí mật liệu bị xâm phạm 2.2 Mã hóa cơng khai Nếu trên, bên gửi bên nhận dùng chung khóa bí mật để mã hóa giải mã, mã hóa cơng khai (hay mã hóa bất đối xứng) hai khóa hồn tồn khác Khóa cơng khai (Public key) cơng khai miễn phí mạng tới tất người, cịn khóa bí mật (Private key) lưu trữ riêng biệt, bí mật để đảm bảo tính bảo mật Có hai mode làm việc: • Bảo mật: Mã hóa khóa cơng khai ➜ Giải mã khóa bí mật • Xác thực: Mã hóa khóa bí mật➜ Giải mã khóa cơng khai Hình 6: Mơ hình mã hóa cơng khai Nhóm 13.N6 Bài thi cuối kỳ mơn ANM Một mơ hình mã hóa cơng khai gồm thành phần: • Bản rõ: liệu ban đầu đọc rõ ràng, đầu vào khối giải thuật mã hóa • Giải thuật mã hóa: thực nhiều phép biến đổi thay khác rõ • Khóa cơng khai khóa bí mật: Cặp khóa sử dụng để mã mã giải hóa Nếu khóa sử dụng thực mã hóa khóa sử dụng để thực giải mã Các phép biến đổi thay xác thực giải thuật phụ thuộc vào khóa cơng khai khóa bí mật mà coi đầu vào • Bản mã: tin đầu khối giải thuật mã hóa Phụ thuộc vào rõ khóa Với rõ ban đầu, hai khóa khác tạo hai mã khác • Giải thuật giải mã: Chấp nhận mã khóa phù hợp để tạo rõ ban đầu ➜ Ưu điểm: - Đơn giản việc trao đổi khóa cơng khai - Mỗi người cần cặp khóa (Pu, Pr) trao đổi thơng tin tới tất người - Là tiền đề để xây dựng lên ứng dụng chữ ký số phương pháp chứng thực điện tử ➜ Nhược điểm: - Tốc độ xử lý cảu mã hóa chậm so với mã hóa đối xứng - Tính xác thực khóa cơng khai: Bất tạo khóa cơng khai, mà việc giả mạo chưa bị phát kẻ giả mạo đọc nội dung tin gửi cho người Nên cần đảm bảo đáng tin cậy người đăng ký khóa 2.3 Chữ ký số Một phát triển quan trọng từ việc nghiên cứu mã hóa khóa cơng khai chữ ký số Chữ ký số chế xác thực cho phép người gửi tạo tin đính kèm với mã hoạt động chữ ký Chữ ký đảm bảo nguồn gửi không bị mạo danh tính tồn vẹn tin 10 Nhóm 13.N6 Bài thi cuối kỳ mơn ANM 2.4 Chức chữ ký số Xác thực: Mã hóa đối xứng cho phép tạo chữ ký với khóa bí mật mà người nắm giữ khóa biết Khi nhận tin, người xác thực xác thực cách dung khóa cơng khai để giải mã, sau thực tính tốn lại giá trị băm so sánh với giá trị băm ban đầu Điều giúp xác thực chủ tin Toàn vẹn: Bản tin gửi khó để giả mạo Vì thay đổi tin giá trị băm bị thay đổi theo Hacker tìm cách để đọc tin giá trị băm thay đổi tin khơng có khóa bí mật để sửa đổi chữ ký số cho phù hợp Chống thoái thác: Ngăn chặn người dùng từ chối tạo gửi tin Trong giao dịch, tin đính kèm chữ ký số dễ dàng tìm nguồn gốc Vì khóa bí mật có người chủ biết, chối cãi 2.5 Sơ đồ hoạt động Hình 7: Mơ hình tổng qt chữ ký số 11 Nhóm 13.N6 Bài thi cuối kỳ mơn ANM Hình mơ hình chung q trình xây dựng sử dụng chữ ký số: Giả sử Bob muốn gửi tin cho Alice Mặc dù việc giữ bí mật tin khơng quan trọng anh muốn Alice biết chắn tin thực anh gửi Với mục đích này, Bob sử dụng hàm băm an toàn, chẳng hạn SHA-512, để tạo giá trị băm cho tin Giá trị băm với khóa riêng Bob đóng vai trị đầu vào cho giải thuật tạo chữ ký số, giải thuật tạo khối ngắn có chức chữ ký số Bob gửi tin với chữ ký số đính kèm Khi Alice nhận tin cộng với chữ ký số, thực tính tốn lại giá trị băm cho tin; sử dụng giá trị băm vừa tính tốn khóa cơng khai Bob làm đầu vào cho thuật toán xác minh chữ ký số Nếu thuật toán trả kết chữ ký hợp lệ (hai hàm băm trùng nhau), Alice xác nhận tin ký gửi Bob ➜ Khơng khác có khóa bí mật Bob có Bob tạo chữ ký số để xác minh cho tin khóa cơng khai Bob Ngồi ra, khơng thể thay đổi tin khơng có quyền truy cập khóa bí mật Bob khơng thể thay đổi giá trị băm, đó, tin xác thực nguồn gửi tính tồn vẹn liệu GIẢI THUẬT KÝ SỐ DSA 3.1 Tiêu chuẩn chữ ký số DSS Tiêu chuẩn chữ ký số DSS: Digital Signature Standard) đề xuất năm 1991, Viện khoa học công nghệ Hoa Kỳ công bố FIPS 186 DSS sử dụng thuật tốn băm an tồn SHA cải biên sơ đồ chữ ký ElGamal, chấp nhận chuẩn vào năm 1994 để dùng số lĩnh vực giao dịch USA DSS sửa đổi qua năm 1993, 2000, 2009 cho phù hợp Tiêu chuẩn quy định thuật tốn thích hợp cho ứng dụng yêu cầu kỹ thuật số, văn bản, chữ ký Chữ ký điện tử biểu diễn máy tính dạng chuỗi nhị phân chữ số Chữ ký điện tử tính toán cách sử dụng tập hợp quy tắc tập hợp tham số cho danh tính người ký tính tồn vẹn liệu xác minh Một thuật tốn cung cấp khả tạo xác minh chữ ký Tạo chữ ký sử dụng khóa cá nhân để tạo chữ ký điện tử, xác minh chữ ký sử dụng khóa cơng khai tương ứng Mỗi người dùng sở hữu cặp khóa cá nhân cơng khai Cơng khai khóa khai cho tất người biết đến Khóa riêng tư khơng chia sẻ Ai xác minh chữ ký người dùng cách sử dụng khóa cơng khai người dùng Tạo chữ ký được thực người sở hữu khóa cá nhân người dùng Hàm băm sử dụng trình tạo chữ ký, tin qua hàm băm giá trị băm Giá trị sau nhập vào thuật toán tạo chữ ký điện tử Chữ ký điện tử gửi đến người xác minh dự định với liệu ký Người xác minh tin nhắn xác 12 Nhóm 13.N6 Bài thi cuối kỳ mơn ANM minh chữ ký cách sử dụng khóa công khai người gửi Hàm băm tương tự phải sử dụng trình xác minh Hàm băm định tiêu chuẩn riêng Hình 8: Chuẩn chữ ký số DSS - Các yêu cầu chữ ký số Chữ ký phải mẫu bit phụ thuộc vào tin nhắn ký Chữ ký phải sử dụng số thông tin cho người gửi để ngăn chặn việc giả mạo từ chối Nó phải tương đối dễ dàng để tạo chữ ký số Nó phải tương đối dễ dàng để nhận xác minh chữ ký số Không thể giả mạo chữ ký số tạo tin nhắn cho chữ ký số có tạo chữ ký số giả cho thông điệp cụ thể Phải giữ lại chữ ký số kho lưu trữ 3.2 Giới thiệu giải thuật ký số DSA Thuật toán chữ ký số – Digital Signature Algorithm (DSA) – tiêu chuẩn xử lý thông tin (Federal Information Processing Standard – FIPS) cho chữ ký số Nó đề xuất Học viện quốc gia tiêu chuẩn kỹ thuật – National Institute of Standards and Technology (NIST) vào tháng 8/1991 để sử dụng cho tiêu chuẩn chữ ký số – Digital Signature Standard (DSS) thông qua FIPS 186 (tiêu chuẩn số 186) năm 1993 sửa đổi với đặc điểm kỹ thuật ban đầu phát hành: FIPS 186-1 vào năm 1996, FIPS 186-2 vào năm 2000, FIPS 186-3 vào năm 2009 FIPS 186-4 vào năm 2013 DSA bao hàm bên sáng chế số 5.231.668 phủ Hoa Kỳ cấp vào ngày 26/7/1991 đóng góp David W Kravitz, cựu nhân viên NSA Bằng sáng chế trao cho phủ Hoa Kỳ, đại diện Bộ trưởng thương mại, thủ đô Washington NIST làm cho sáng chế trở thành miễn phí toàn giới Claus P Schnorr cho sáng chế số 4.995.082 ông bao hàm DSA; tuyên bố tranh cãi DSA biến thể sơ đồ chữ 13 Nhóm 13.N6 Bài thi cuối kỳ môn ANM ký ElGamal DSA loại thuật tốn mã hóa khóa cơng khai sử dụng để tạo chữ ký điện tử 3.3 Nguyên tắc hoạt động 3.3.1 Tạo chữ ký số Hình 9: Tạo chữ ký số DSA Phía gửi: hàm ký - - Chữ ký thông điệp M cặp số r s tính theo phương trình phía dưới: o r = (gk mod p) mod q o s =[k-1 (H(M)+ xr)] mod q Cho tin gốc qua hàm băm H(M), thu giá trị băm đưa tới hàm tính s Chọn ngẫu nhiên giá trị k, k dùng hàm tính r s Giá trị x ngẫu nhiên người ký chọn đưa vào hàm tính s Gắn chữ ký số lên tin gốc (M || s || r) 14 Nhóm 13.N6 Bài thi cuối kỳ mơn ANM 3.3.2 Xác thực chữ ký số Hình 10: Xác minh chữ ký số DSA Phía nhận: hàm xác thực Trước xác minh chữ ký thư ký p, q g cộng với khóa cơng khai người gửi danh tính cung cấp cho người xác minh Gọi M’, r’ s’là phiên nhận M, r, s gọi y khóa cơng khai người ký Để xác minh chữ ký, trước tiên người xác minh kiểm tra xem