Hệ mã hóa đối xứng và bất đối xứng, các thuật toán des, aes, rsa chữ ký số và ứng dụng

50 3.1K 10
Hệ mã hóa đối xứng và bất đối xứng, các thuật toán des, aes, rsa chữ ký số và ứng dụng

Đ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

Hệ mã hóa đối xứng và bất đối xứng, các thuật toán des, aes, rsa chữ ký số và ứng dụng

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN I BÁO CÁO THỰC TẬP TỐT NGHIỆP Đề tài : Hệ mã hóa đối xứng bất đối xứng, thuật toán DES, AES, RSA Chữ ký số ứng dụng Giảng viên hướng dẫn : DƯƠNG TRẦN ĐỨC Lớp D07HTTT1 : Hà Nội , ngày 27 tháng năm 2011 BÁO CÁO THỰC TẬP TỐT NGHIỆP LỜI MỞ ĐẦU Sự phát triển nhanh chóng Internet tác động đến công việc kinh doanh người tiêu dùng với hứa hẹn việc thay đổi cách mà người sống làm việc Nhưng mối lo ngại lớn đề cập đến việc bảo mật Internet, đặc biệt thông tin mang tính nhạy cảm riêng tư gửi mạng Quá trình mã hoá máy tính dựa vào khoa học mật mã (Cryptography) người sử dụng từ lâu đời Trước thời đại số hoá, người sử dụng mật mã nhiều phủ, chủ yếu mục đích quân Hầu hết phương pháp mã hoá dùng dựa vào máy tính, đơn giản mã người sinh dễ bị phá công cụ máy tính Ứng dụng khoa học mật mã không đơn mã hóa giải mã thông tin mà bao gồm nhiều vấn đề khác cần nghiên cứu giải chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký số ), chứng nhận xác thực người sở hữu mã khóa ( chứng nhận khóa công cộng), qui trình trao đổi thông tin thực giao dịch điện tử an toàn mạng … Khi chọn đề tài , em mong muốn tìm hiểu kiến thức tổng quan mã hóa ,đồng thời trình bày phân tích số thuật toán mã hóa ứng dụng vào kỹ thuật chữ ký số Nội dung báo cáo gồm phần : Phần I : Mã hóa Phần II: Chữ ký số Mặc dù cố gắng hoàn thành báo cáo với tất nỗ lực chắn em thiếu sót định Kính mong thông cảm góp ý thầy bạn Em xin chân thành cảm ơn ! Hà Nội, ngày 23 tháng năm 2011 Sinh viên SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… …………………………………………………………… Điểm: …………………………………………………(bằng chữ: … …………… ….) …………, ngày … tháng … năm 2011 GIẢNG VIÊN HƯỚNG DẪN (ký, họ tên) SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP MỤC LỤC DANH MỤC CÁC HÌNH VẼ SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP DANH MỤC THUẬT NGỮ VIẾT TẮT Thuật ngữ Viết tắt AES Advanced Encryption Standard CA A Ý nghĩa Tiêu chuẩn mã hóa tiên tiến CFB CTR Certificate Authority Cipher FeedBack Counter Chứng thực số Mã phản hồi ngược Bộ đếm CTR CBC DES Cipher Block Chaining Data Encryption Standard Dây chuyền mã khối Tiêu chuẩn mã hóa liệu IDEA International Data Encryption Algorithm Thuật toán mã hóa liệu quốc tế ECB MD5 OFB FIPS Electronic Codebook Book Message Digest Output FeedBack RSA Algorithm Sách mật mã điện tử Giải thuật MD5 Phản hồi ngược đầu Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ Thuật toán mật mã hóa khóa công khai MÃ HÓA SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP Tổng quan mã hóa Mã hóa trình biến đổi thông tin sang dạng khác biến đổi ngược dạng ban đầu Giải mã trình biến đổi ngược lại mã hóa I Tại cần mã hóa thông tin? Mọi công việc hàng ngày thực đựợc từ xa với hổ trợ máy vi tính mạng internet (từ việc học tập, mua sắm, gửi thư… đến việc chợ cô đầu bếp) Tất thông tin liên quan đến công việc máy vi tính quản lý truyền hệ thống mạng Đối với thông tin bình thường ý đến, thông tin mang tính chất sống số cá nhân (hay tổ chức) vấn đề bảo mật thật quan trọng Do mà cần phả mã hõa thông tin lại trước gửi Cụ thể: Hình : Mô hình trao đổi thông tin qua mạng thông thường Thông thường việc trao đổi thông tin hai người mô tả hình 1, bước thực sau: Tạo thông tin cần gửi Gửi thông tin cho đối tác - Theo cách quản lý bí mật thông tin người thứ ba không mong muốn đón thông tin Vì ta xây dựng mô hình trao đổi thông tin bảo mật hình 2, bước thực sau: - Tạo thông tin cần gửi Mã hóa gửi thông tin mã hóa Đối tác giải mã thông tin nhận Đối tác có thông tin ban đầu người gởi SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP Hình : Quy trình mã hóa thông tin Hơn nữa, mã hóa liệu ngăn chặn việc sau : Nghe trộm xem liệu Chỉnh sữa đánh cắp liệu Giả mạo thông tin Data non-repudiation Sự gián đoạn dịch vụ mạng • • • • • Khi nhận gói tin, người nhận giải mã liệu lại dạng ban đầu Cho dù liệu có bị chặn suốt trình trao đổi liệu II Mã hóa đối xứng thuật toán II.1 Khái niệm mã hóa đối xứng Mã hóa đối xứng kiểu mã hóa hai bên tham gia truyền liệu sử dụng chung khóa để mã hóa giải mã Một khoá số, từ, cụm từ dùng vào mục đích mã hóa giải mã liệu Trước hai bên trao đổi liệu, khóa phải chia dùng chung cho bên Người gửi mã hóa thông tin khóa riêng gửi thông tin đến người Trong trình nhận thông tin, người nhận sủ dụng khóa để giải mã thông điệp SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP Hình : Mô hình mã hóa đối xứng  • • • • • Các thành phần thuật toán (5 thành phần): Plaintext: tin (dữ liệu) gốc Encryption algorithm: Thuật toán mã hóa – thực thay biến đổi liệu gốc Secret key: khóa bí mật- đầu vào thuật toán Sự xáo trộn, thay thực phụ thuộc vào khóa Ciphertext: Bản tin bị biến đổi sau áp dụng thuật toán, phụ thuộc vào plaintext khóa bí mật Decryption algorithm: Thuật toán giải mã (phép biến đổi ngược) Sử dụng ciphertext khóa bí mật để đưa tin gốc Cụ thể hơn: • • • • Plaintext: M Hàm biến đổi mã hóa: Ek : :M → C, where k∈K (tập khóa K- vô hạn) Ciphertext: C Hàm biến đổi ngược giải mã: Dk: CM (k∈K) M  E k  C  Dk  M Ek định nghĩa thuật toán mã hóa E, D k định nghĩa thuật toán giải mã D Với K, Dk nghịch đảo Ek : DK(EK(M))=M , với M II.2 Các kiểu công hệ mã hóa đối xứng Có kiểu công hệ mã hóa đối xứng: Phân tích mã hóa Tấn công vét cạn SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP - Phân tích mã hóa: trình cố gắng phát tin gốc khóa Có cách kiểu công phân tích là: • Ciphertext only- dùng mã: đối phương có tin gốc mã hóa, dùng phương pháp thống kê, xác định gốc p Known plaintext- biết tin gốc: đối phương có ciphertext số cặp p c khác Chosen plaintext: c engine biến đổi p-c, Đột nhập vào máy mã hoá Tự chọn văn p mã hoá lấy văn mã c tương ứng Chosen ciphertext: đối phương có c +một engine biến đổi c-p, Đột nhập vào máy giải mã Tự chọn văn mã c giải mã lấy văn p tương ứng • • • - Tấn công vét cạn: thử với trường hợp Phần lớn công sức công tỉ lệ với kích thước khóa Giả thiết biết nhận biết tin gốc p: SVTH: D07HTTT1 BÁO CÁO THỰC TẬP TỐT NGHIỆP Key size Thời gian vét Thời gian (106 (bit) cạn encrypt/Ms) 32 231 Ms= 35p Ms 56 255= 1142 năm 10h 128 2127= năm 5,4.1024 5,4.108 Như vậy, thuật toán an toàn mặt tính toán giá để phá khóa có vượt giá trị tính toán thu Kết luận: Hệ thống mã hóa đồng đưa vấn đề Đầu tiên, khóa vừa dùng để mã hóa vừa dùng để giả mã, bắt đầu trở thành kẻ xâm nhập, tất thông tin sữ dụng khóa bị huỷ Vì thế, khóa nên thường xuyên thay đổi theo định kỳ Một vấn đề khác hệ thống mã hóa đồng xữ lý lượng thông tin lớn, việc lý khóa trở thành công việc vô khó khăn Kết hợp với việc thiết lặp cặp khóa, phân phối, thay đổi theo định kỳ đòi hỏi thời gian tiền bạc Hệ hống mã hóa đối xứng giải vấn đề việc đưa hệ thống mã hóa đối xứng Đồng thời, họ tăng tính bảo mật suốt trình chuyển vận Chúng ta tham khảo thêm hệ thống mã hóa bất đối xứng phần sau II.3 Thuật toán DES ( Data Encryption Standard) II.3.1 Lịch sử thuật toán DES DES (viết tắt Data Encryption Standard, hay Tiêu chuẩn Mã hóa Dữ liệu) phương pháp mật mã hóa FIPS (Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn thức vào năm 1976 Sau chuẩn sử dụng rộng rãi phạm vi giới Ngay từ đầu, thuật toán gây nhiều tranh cãi, bao gồm thành phần thiết kế mật, độ dài khóa tương đối ngắn, nghi ngờ cửa sau để Cơ quan An ninh quốc gia Hoa Kỳ (NSA) bẻ khóa Do đó, DES giới 10 SVTH: D07HTTT1 10 BÁO CÁO THỰC TẬP TỐT NGHIỆP encrypt(123) = 12317 mod 3233 = 855 Để giải mã văn có giá trị 855, ta thực phép tính: decrypt(855) = 8552753 mod 3233 = 123 Cả hai phép tính thực hiệu nhờ giải thuật bình phương nhân Chuyển đổi văn rõ Trước thực mã hóa, ta phải thực việc chuyển đổi văn rõ (chuyển đổi từ M sang m) cho giá trị M tạo văn mã không an toàn Nếu trình này, RSA gặp phải số vấn đề sau: • Nếu m = m = tạo mã có giá trị tương ứng • Khi mã hóa với số mũ nhỏ (chẳng hạn e = 3) m có giá trị nhỏ, giá trị me nhận giá trị nhỏ (so với n) Như phép môđun tác dụng dễ dàng tìm m cách khai bậc e c (bỏ qua môđun) • RSA phương pháp mã hóa xác định (không có thành phần ngẫu nhiên) nên kẻ công thực công lựa chọn rõ cách tạo bảng tra rõ mã Khi gặp mã, kẻ công sử dụng bảng tra để tìm rõ tương ứng Trên thực tế, ta thường gặp vấn đề đầu gửi tin ASCII ngắn với m nhóm vài ký tự ASCII Một đoạn tin có ký tự NUL gán giá trị m = cho mã giá trị e N Tương tự, ký tự ASCII khác, SOH, có giá trị cho mã Với hệ thống dùng giá trị e nhỏ tất ký tự ASCII cho kết mã hóa không an toàn giá trị lớn m 255 2553 nhỏ giá trị n chấp nhận Những mã dễ dàng bị phá mã Để tránh gặp phải vấn đề trên, RSA thực tế thường bao gồm hình thức chuyển đổi ngẫu nhiên hóa m trước mã hóa Quá trình chuyển đổi phải đảm bảo m không rơi vào giá trị không an toàn Sau chuyển đổi, rõ mã hóa cho số khả tập hợp mã Điều làm giảm tính khả thi phương pháp công lựa chọn rõ (một rõ tương ứng với nhiều mã tuỳ thuộc vào cách chuyển đổi) 36 SVTH: D07HTTT1 36 BÁO CÁO THỰC TẬP TỐT NGHIỆP Một số tiêu chuẩn, chẳng hạn PKCS, thiết kế để chuyển đổi rõ trước mã hóa RSA Các phương pháp chuyển đổi bổ sung thêm bít vào M Các phương pháp chuyển đổi cần thiết kế cẩn thận để tránh dạng công phức tạp tận dụng khả biết trước cấu trúc rõ Phiên ban đầu PKCS dùng phương pháp đặc ứng (ad-hoc) mà sau biết không an toàn trước công lựa chọn rõ thích ứng (adaptive chosen ciphertext attack) Các phương pháp chuyển đổi đại sử dụng kỹ thuật chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding - OAEP) để chống lại công dạng Tiêu chuẩn PKCS bổ sung tính khác để đảm bảo an toàn cho chữ ký RSA (Probabilistic Signature Scheme for RSA - RSA-PSS) IV.3 Đặc điểm thuật toán IV.3.1 Vấn đề an ninh Độ an toàn hệ thống RSA dựa vấn đề toán học: toán phân tích thừa số nguyên tố số nguyên lớn toán RSA Nếu toán khó (không tìm thuật toán hiệu để giải chúng) thực việc phá mã toàn RSA Phá mã phần phải ngăn chặn phương pháp chuyển đổi rõ an toàn Bài toán RSA toán tính bậc e môđun n (với n hợp số): tìm số m cho me=c mod n, (e, n) khóa công khai c mã Hiện phương pháp triển vọng giải toán phân tích n thừa số nguyên tố Khi thực điều này, kẻ công tìm số mũ bí mật d từ khóa công khai giải mã theo quy trình thuật toán Nếu kẻ công tìm số nguyên tố p q cho: n = pq dễ dàng tìm giá trị (p-1)(q-1) qua xác định d từ e Chưa có phương pháp tìm máy tính để giải toán thời gian đa thức (polynomial-time) Tuy nhiên người ta chưa chứng minh điều ngược lại (sự không tồn thuật toán) Xem thêm phân tích thừa số nguyên tố vấn đề Tại thời điểm năm 2005, số lớn phân tích thừa số nguyên tố có độ dài 663 bít với phương pháp phân tán khóa RSA có độ dài từ 1024 tới 2048 bít Một số chuyên gia cho khóa 1024 bít sớm bị phá vỡ (cũng có nhiều người phản đối việc này) Với khóa 4096 bít khả bị phá vỡ tương lai gần Do đó, người ta thường cho RSA đảm bảo an toàn với điều kiện n chọn đủ lớn Nếu n có độ dài 256 bít ngắn hơn, bị phân tích vài với máy tính cá nhân dùng phần mềm có sẵn Nếu n có độ dài 512 bít, bị phân tích vài trăm máy tính thời điểm năm 1999 Một thiết bị lý thuyết có tên 37 SVTH: D07HTTT1 37 BÁO CÁO THỰC TẬP TỐT NGHIỆP TWIRL Shamir Tromer mô tả năm 2003 đặt câu hỏi độ an toàn khóa 1024 bít Vì người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bít Năm 1993, Peter Shor công bố thuật toán Shor rằng: máy tính lượng tử (trên lý thuyết) giải toán phân tích thừa số thời gian đa thức Tuy nhiên, máy tính lượng tử chưa thể phát triển tới mức độ nhiều năm Năm 2010, nhà khoa học thuộc Đại học Michigan công bố phát kẽ hở hệ thống mật mã hoá RSA Cách phá vỡ hệ thống, lấy khoá bí mật RSA 1024 bit vài ngày thay vài năm công theo cách thông thường - công brute force (dò tìm lần lượt) Các nhà khoa học tạo điện lớn để gây lỗi hệ thống, từ giúp tìm khoá bí mật Việc công thực FPGA Báo cáo trình bày hội nghị DATE 2010 diễn Dresden, Đức tháng năm 2010 IV.3.2 Tốc độ RSA có tốc độ thực chậm đáng kể so với DES thuật toán mã hóa đối xứng khác Trên thực tế, Bob sử dụng thuật toán mã hóa đối xứng để mã hóa văn cần gửi sử dụng RSA để mã hóa khóa để giải mã (thông thường khóa ngắn nhiều so với văn bản) Phương thức tạo vấn đề an ninh Một ví dụ cần phải tạo khóa đối xứng thật ngẫu nhiên Nếu không, kẻ công (thường ký hiệu Eve) bỏ qua RSA tập trung vào việc đoán khóa đối xứng IV.3.3 Phân phối khóa Cũng giống thuật toán mã hóa khác, cách thức phân phối khóa công khai yếu tố định độ an toàn RSA Quá trình phân phối khóa cần chống lại công đứng (man-in-the-middle attack) Giả sử Eve gửi cho Bob khóa khiến Bob tin khóa (công khai) Alice Đồng thời Eve có khả đọc thông tin trao đổi Bob Alice Khi đó, Eve gửi cho Bob khóa công khai (mà Bob nghĩ khóa Alice) Sau đó, Eve đọc tất văn mã hóa Bob gửi, giải mã với khóa bí mật mình, giữ copy đồng thời mã hóa khóa công khai Alice gửi cho Alice Về nguyên tắc, Bob Alice không phát can thiệp người thứ ba Các phương pháp chống lại dạng công thường dựa chứng thực khóa công khai (digital 38 SVTH: D07HTTT1 38 BÁO CÁO THỰC TẬP TỐT NGHIỆP certificate) thành phần hạ tầng khóa công khai (public key infrastructure PKI) IV.3.4 Tấn công dựa thời gian Vào năm 1995, Paul Kocher mô tả dạng công lên RSA: kẻ công nắm đủ thông tin phần cứng thực mã hóa xác định thời gian giải mã số mã lựa chọn nhanh chóng tìm khóa d Dạng công áp dụng hệ thống chữ ký điện tử sử dụng RSA Năm 2003, Dan Boneh David Brumley chứng minh dạng công thực tế hơn: phân tích thừa số RSA dùng mạng máy tính (Máy chủ web dùng SSL) Tấn công khai thác thông tin rò rỉ việc tối ưu hóa định lý số dư Trung quốc mà nhiều ứng dụng thực Để chống lại công dựa thời gian đảm bảo trình giải mã diễn thời gian không đổi văn mã Tuy nhiên, cách làm giảm hiệu suất tính toán Thay vào đó, hầu hết ứng dụng RSA sử dụng kỹ thuật gọi che mắt Kỹ thuật dựa tính nhân RSA: thay tính cd mod n, Alice chọn số ngẫu nhiên r tính (rec)d mod n Kết phép tính rm mod n tác động r loại bỏ cách nhân kết với nghịch đảo r Đỗi với văn mã, người ta chọn giá trị r Vì vậy, thời gian giải mã không phụ thuộc vào giá trị văn mã IV.3.5 Tấn công lựa chọn thích nghi mã Năm 1981, Daniel Bleichenbacher mô tả dạng công lựa chọn thích nghi mã (adaptive chosen ciphertext attack) thực thực tế văn mã hóa RSA Văn mã hóa dựa tiêu chuẩn PKCS #1 v1, tiêu chuẩn chuyển đổi rõ có khả kiểm tra tính hợp lệ văn sau giải mã Do khiếm khuyết PKCS #1, Bleichenbacher thực công lên RSA dùng cho giao thức SSL (tìm khóa phiên) Do phát này, mô hình chuyển đổi an toàn chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding) khuyến cáo sử dụng Đồng thời phòng nghiên cứu RSA đưa phiên PKCS #1 có khả chống lại dạng công nói 39 SVTH: D07HTTT1 39 BÁO CÁO THỰC TẬP TỐT NGHIỆP B CHỮ KÝ SỐ VÀ I Chữ ký số I.1 Khái niệm ỨNG DỤNG Trong cách thức truyền thống , thông báo truyền giao dịch thường dạng văn viết tay hay đánh máy kèm thêm chữ ký ( viết tay ) người gửi bên văn Chữ ký chứng xác nhận thông báo người ký tức chủ thể giao dịch tờ giấy mang văn không cắt, dán, tẩy, xóa , tính toàn vẹn thông báo chứng thực chữ ký Chữ ký viết tay có nhiểu ưu điểm quen thuộc dễ kiểm thử , không chép , chữ ký người giống nhiều văn , chữ ký gắn liến với văn cụ thể v.v… Khi chuyển sang cách thức truyền tin phương tiện đại, thông báo truyền mạng truyền tin số hóa, thân thông báo biểu diễn 40 SVTH: D07HTTT1 40 BÁO CÁO THỰC TẬP TỐT NGHIỆP dạng số hóa , tức dạng dãy bit nhị phân ,’’chữ ký’’ có dạng dãy bít, mối quan hệ tự nhiên kể không giữ Chăng hạn, ‘chữ ký ‘ người gửi văn khác phải thể gắn kết trách nhiệm người gửi văn tất yếu phải khác đoạn bit giống chữ ký giống văn thông thường Chữ ký viết tay kiểm thử cách so sánh với nguyên mẫu , chữ ký điện tử có ‘nguyên mẫu’ mà so sánh , việc kiểm thử phải thực thuật toán đặc biệt - - Chữ ký số : Là thể chứng thực mã hóa khoá bí mật người gửi Chữ ký số thông tin kèm theo liệu (văn bản, hình ảnh, video ) nhằm mục đích xác định người chủ liệu Chữ ký số khóa công khai (hay hạ tầng khóa công khai) mô hình sử dụng kỹ thuật mật mã để gắn với người sử dụng cặp khóa công khai - bí mật qua ký văn điện tử trao đổi thông tin mật Khóa công khai thường phân phối thông qua chứng thực khóa công khai Quá trình sử dụng chữ ký số bao gồm trình: tạo chữ ký kiểm tra chữ ký Tạo sử dụng chữ ký số kỹ thuật mã hóa bất đối xứng I.2 Chữ ký số khóa công khai dựa tảng mật mã hóa khóa công khai Để trao đổi thông tin môi trường này, người sử dụng có cặp khóa: công khai bí mật Khóa công khai công bố rộng rãi khóa bí mật phải giữ kín tìm khóa bí mật biết khóa công khai 41 SVTH: D07HTTT1 41 BÁO CÁO THỰC TẬP TỐT NGHIỆP Hình : Sơ đồ tạo kiểm tra chữ ký số Toàn trình gồm thuật toán: • Thuật toán tạo khóa • Thuật toán tạo chữ ký số • Thuật toán kiểm tra chữ ký số Xét ví dụ sau: Bob muốn gửi thông tin cho Alice muốn Alice biết thông tin thực Bob gửi Bob gửi cho Alice tin kèm với chữ ký số Chữ ký tạo với khóa bí mật Bob Khi nhận tin, Alice kiểm tra thống tin chữ ký thuật toán kiểm tra sử dụng khóa công cộng Bob Bản chất thuật toán tạo chữ ký đảm bảo cho trước tin, khó (gần không thể) tạo chữ ký Bob khóa bí mật Bob Nếu phép thử cho kết Alice tin tưởng tin thực Bob gửi 42 SVTH: D07HTTT1 42 BÁO CÁO THỰC TẬP TỐT NGHIỆP Thông thường, Bob không mật mã hóa toàn tin với khóa bí mật mà thực với giá trị băm tin Điều khiến việc ký trở nên đơn giản chữ ký ngắn Tuy nhiên làm nảy sinh vấn đề tin khác lại cho giá trị băm Đây điều xảy xác suất thấp Tạo chữ ký số: kỹ thuật mã hóa bất đối xứng (kỹ thuật mã hóa khóa công khai): Chữ ký điện tử tạo cách áp dụng thuật toán băm chiều văn gốc để tạo phân tích văn (message digest) hay gọi fingerprint, sau mã hóa private key tạo chữ ký số đính kèm với văn gốc để gửi Khi nhận, văn tách làm phần, phần văn gốc tính lại fingerprint để so sánh với fingerprint cũ phục hồi từ việc giải mã chữ ký số Các bước mã hóa: Dùng giải thuật băm để thay đổi thông điệp cần truyền Kết ta message digest Dùng giải thuật MD5 (Message Digest 5) ta digest có chiều dài 128-bit, dùng giải thuật SHA (Secure Hash Algorithm) ta có chiều dài 160-bit Sử dụng khóa private key người gửi để mã hóa message digest thu bước Thông thường bước ta dùng giải thuật RSA Kết thu gọi digital signature message ban đầu 43 SVTH: D07HTTT1 43 BÁO CÁO THỰC TẬP TỐT NGHIỆP Gộp digital signature vào message ban đầu Công việc gọi “ký nhận” vào message Sau ký nhận vào message, thay đổi message bị phát giai đoạn kiểm tra Ngoài ra, việc ký nhận đảm bảo người nhận tin tưởng message xuất phát từ người gửi khác Các bước kiểm tra: Dùng public key người gửi (khóa thông báo đến người) để giải mã chữ ký số message Dùng giải thuật (MD5 SHA) băm message đính kèm So sánh kết thu bước Nếu trùng nhau, ta kết luận message không bị thay đổi trình truyền message người gửi Chứng số Khái niệm chứng số (Digital Certificate) Chứng nhận khóa public thuộc chủ nhân khóa Chứng số bao gồm khóa public, thông tin người sử dụng (mã số, tin), chữ ký bên thứ tin cậy II II.1 - - Chứng số (digital certificate): Đoạn nội dung (chứa thông tin cá nhân khoá công khai người sở hữu) có đính kèm chữ ký số hệ thống phát hành cặp khoá gọi chứng số (digital certificate) người sở hữu cặp khoá Chứng thực số (certificate authority - CA): Hệ thống cấp khoá chứng thực cặp khoá đại diện cho người tham gia giao dịch gọi hệ thống chứng thực số (Certificate Authority - CA) Để giải câu hỏi "khoá công khai có người gửi văn không khoá công khai lấy đâu để tin cậy được?", mặt công nghệ, vấn đề giải sau: - Xây dựng hệ thống tập trung cấp phát cặp khoá bí mật - công khai cho toàn người tham gia giao dịch 44 SVTH: D07HTTT1 44 BÁO CÁO THỰC TẬP TỐT NGHIỆP - - II.2 Chuyển giao phần khoá bí mật cho người sở hữu đảm bảo biết khoá Gắn liền thông tin cá nhân (tên, số nhân dạng có nhân, chức vụ, đơn vị công tác, số thông tin khác) người sở hữu cặp khoá vào phần khoá công khai để tạo thành file liệu – phần nội dung chứng số Để đảm bảo tính toàn vẹn tin cậy vào file liệu này, hệ thống phát hành sử dụng khoá bí mật tạo đính kèm chữ ký điện tử lên file liệu nói Đoạn nội dung (chứa thông tin cá nhân khoá công khai người sở hữu) có đính kèm chữ ký số hệ thống phát hành cặp khoá gọi chứng số (digital certificate) người sở hữu cặp khoá Quá trình xác minh chữ ký số thông qua chứng số Khi có chứng số, ta có khoá công khai người giao dịch, khoá công khai đính kèm với thông tin cá nhân (tên, số nhân dạng có nhân, chức vụ, đơn vị công tác, số thông tin khác) người giao dịch Việc chứng thực khoá công khai hợp lệ đại diện cho người tham gia giao dịch chứng thực hệ thống CA Tất bên giao dịch muốn kiểm tra tính đắn, hợp lệ nội dung chứng số xuất phát từ việc tin cậy vào chữ ký số CA chứng số (điều hoàn toàn tự nhiên ta xem xét chứng minh thư nhân dân để tin cậy vào cá nhân, ta tin cậy vào chữ ký dấu người ký chứng minh thư đó) Giải pháp ứng dụng chữ ký số III Phần , xin trình bày giải pháp ứng dụng chữ ký số hệ thống quản lý Quá trình gửi nhận tệp văn phục vụ quản lý dựa thuật toán băm MD5 thuật toán mã hóa RSA Thuật toán băm MD5: MD5 (viết tắt tiếng Anh Message-Digest algorithm ) thiết kế Ronald Rivest vào năm 1991 để thay cho hàm băm trước đó, MD4 Giải thuật MD5 hoạt động trạng thái 128-bit, chia thành từ 32-bit, với ký hiệu A, B, C D Chúng khởi tạo với số cố định Giải thuật sau xử lý khối tin 512-bit, khối xác định trạng thái Quá trình xử lý khối tin bao gôm bốn giai đoạn giống nhau, gọi vòng; vòng gồm có 16 tác vụ giống dựa hàm phi tuyến F, 45 SVTH: D07HTTT1 45 BÁO CÁO THỰC TẬP TỐT NGHIỆP cộng mô đun, dịch trái Hình 10 mô tả tác vụ vòng Có khả cho hàm F; dùng khác cho vòng: phép XOR, AND, OR NOT Hình 10 : Mô tả giải thuật MD5 III.1 - Quá trình ký gửi tệp văn Từ file cần gửi ban đầu , chương trình sử dụng hàm băm MD5 để mã hóa thành chuỗi ký tự dài 128bit , Hash value ( gọi Bản tóm lược ) Chương trình sử dụng thuật toán RSA để mã hóa khóa riêng người gửi hash value thành dạng khác gọi chữ ký điện t Kết hợp file ban đầu với chữ ký điện tử thành thông điệp ký gửi cho người nhận 46 SVTH: D07HTTT1 46 BÁO CÁO THỰC TẬP TỐT NGHIỆP Hình 11 : Sơ đồ mô tả trình ký gửi tệp văn Quá trình nhận tệp văn III.2 Sau người nhận đăng nhập vào hệ thống thực việc nhận tệp vă Hệ thống tách thông điệp ký thành file chữ ký điện tử Đến giai đoạn có trình kiểm tra : Kiểm tra file có người gửi không ? - Sử dụng thuật toán RSA để giải mã chữ ký khóa công khai người gửi Nếu giải mã không file nhận không người gửi Nếu giải mã thành công file nhận người gửi có Hashvalue Kiểm tra file có bị thay đổi nội dung hay không ? - Từ file tách ta sử dụng hàm băm MD5 mã hóa thành hash value 47 SVTH: D07HTTT1 47 BÁO CÁO THỰC TẬP TỐT NGHIỆP - Kiểm tra Hash value Hash value có giống hay không ? Nếu giống file nhận vẹn toàn ( không bị thay đổi hay tác động ), ngược lại file bị thay đổi Hình 12 : Sơ đồ mô tả trình nhận tệp văn 48 SVTH: D07HTTT1 48 BÁO CÁO THỰC TẬP TỐT NGHIỆP KẾT LUẬN Xu hướng ứng dụng công nghệ thông tin (CNTT) để xây dựng thương mại điện tử phủ điện tử mô hình phát triển chung nước giới Ở Việt Nam Đảng phủ bước triển khai chủ trương, sách nhằm thúc đầy ứng dụng CNTT quan nhà nước: hành công, thuế, ngân hàng… để hướng tới phát triển phủ điện tử thương mại điện tử.Tuy mẻ Việt Nam chữ kí số xem nhân tố quan trọng định đến tương lai thương mại điện tử phủ điện tử Đã từ lâu, việc ứng dụng CNTT coi yếu tố quan trọng giúp doanh nghiệp giữ vững mở rộng thị trường, tăng tính cạnh tranh, thực thỏa thuận thương mại khu vực giới Tất trình đòi hỏi lượng thông tin trao đổi lớn qua mạng, đồng thời yêu cầu độ an toàn tính xác thực cao Chỉ có chữ ký số đảm bảo an toàn này; coi phương tiện hữu hiệu để doanh nghiệp tăng cường sức cạnh tranh thông qua thương mại điện tử tham gia vào phủ điện tử 49 SVTH: D07HTTT1 49 BÁO CÁO THỰC TẬP TỐT NGHIỆP TÀI LIỆU THAM KHẢO http://vi.wikipedia.org/wiki/ Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein Introduction to Algorithms, Second Edition MIT Press and McGrawHill, 2001 Phan Đình Diệu Lý thuyết mật mã & An toàn thông tin NXB Đại học Quốc gia Hà Nội , 2002 Dương Anh Đức , Trần Minh Triết Mã hóa ứng dụng Đại học Khoa học Tự nhiên , Đại học Quốc gia TP Hồ Chí Minh 2005 FIPS Announcing the Advanced Encryption Standard (AES) 2001 Mohan Atrey , Ben Hammond , Stephen Paine, Paul Starrett, Stephen Wu Digital Signatures, RSA.2002 50 SVTH: D07HTTT1 50 [...]... Mã hóa bất đối xứng III.1 Khái niệm mã hóa bất đối xứng, cơ chế, các thành phần của hệ mã hóa bất đối xứng Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật) Thuật. .. thực hiện giải mã khi có c và PU Một trong hai khóa có thể dùng để mã hóa và khóa còn lại để giải mã IV Thuật toán mã hóa khóa công khai RSA IV.1 Ý tưởng và yêu cầu của thuật toán Thuật toán RSA được phát minh năm 1978 Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã Khóa công khai... khóa bí mật nào đó hay không • Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa 2 bên Thay vì sử dụng một khóa đơn trong hệ thống mã hóa đối xứng, hệ thống mã hóa bất đối xứng sử dụng một cặp khóa có quan hệ toán học Một khóa là riêng tư, chỉ được dùng bởi chính chủ nhân Khóa thứ hai thì được phổ biến, công cộng và phân phối tự do Khóa công cộng thì được dùng để mã hóa và. .. Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàn toàn tương đương Có những thuật toán mật mã khóa bất đối xứng không có tính chất khóa công khai và bí mật như đề cập ở trên mà cả hai khóa (cho mã hóa và giải mã) đều cần phải giữ bí mật Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trong khi khóa công khai... biến công khai Trong 2 khóa, một dùng để mã hóa và khóa còn lại 28 SVTH: D07HTTT1 28 BÁO CÁO THỰC TẬP TỐT NGHIỆP dùng để giải mã Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích: • Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được • Tạo chữ ký số: cho phép kiểm tra... thuật toán mã hóa AES được quy định như một số lần lặp lại của vòng chuyển đổi mà chuyển đổi các chữ thô đầu vào vào đầu ra cuối cùng của bản mã Mỗi vòng bao gồm nhiều bước xử lý, trong đó có một phụ thuộc vào khóa mã hóa Một tập hợp các vòng đảo 23 SVTH: D07HTTT1 23 BÁO CÁO THỰC TẬP TỐT NGHIỆP ngược được áp dụng để biến đổi bản mã trở lại bản rõ ban đầu bằng cách sử dụng cùng một khóa mã hóa II.4.1... công khai khóa PU (Publish) Giữ bí mật khóa PR (private) Dữ liệu truyền từ A B nghĩa là A mã hóa dữ liệu bằng PU của B; B giải mã bằng khóa PR của A Các đặc điểm và yêu cầu của hệ mã hóa bất đối xứng Thuận tiện cho người dùng có thể tạo khóa PU/PR Cho phép bên gửi dễ dàng thực hiện mã hóa bằng PU C= EPU (M) III.2 • • • Cho phép bên nhận dễ dàng thực hiện giải mã 29 SVTH: D07HTTT1 29 BÁO CÁO THỰC TẬP... của mình và đọc thông tin trong thư Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa bí mật Thuật toán sử dụng chế độ mã hóa khối M, C là một số nguyên Nhắc lại: ∈ (0, n) C= EPU (M) : mã hóa khóa PU M= DPR(EPU (M)) : giải mã khóa PR (ko cho phép tính được PR từ PU) - Dạng mã hóa / giải mã: C= Me mod n M= cd mod n = Med mod n PU = {e, u} -> Public 30 SVTH:... như Internet) Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau: 1 Chọn 2 số nguyên tố lớn 2 Tính: và với , lựa chọn ngẫu nhiên và độc lập 3 Tính: giá trị hàm số Ơle 4 Chọn một số tự nhiên e sao cho và là số nguyên tố cùng nhau với 5 Tính: d sao cho 31 SVTH: D07HTTT1 31 BÁO CÁO THỰC TẬP TỐT NGHIỆP Một số lưu ý: • Các số nguyên tố thường... từng chu trình) Các khóa con 48 bit được tạo thành bởi thuật toán lựa chọn 2 (Permuted Choice 2, hay PC-2) gồm 24 bit từ mỗi phần Quá trình dịch bit (được ký hiệu là " ... Nb-1]) Y = state III Mã hóa bất đối xứng III.1 Khái niệm mã hóa bất đối xứng, chế, thành phần hệ mã hóa bất đối xứng Mật mã hóa khóa công khai dạng mật mã hóa cho phép người sử dụng trao đổi thông... khai Quá trình sử dụng chữ ký số bao gồm trình: tạo chữ ký kiểm tra chữ ký Tạo sử dụng chữ ký số kỹ thuật mã hóa bất đối xứng I.2 Chữ ký số khóa công khai dựa tảng mật mã hóa khóa công khai Để... so với DES thuật toán mã hóa đối xứng khác Trên thực tế, Bob sử dụng thuật toán mã hóa đối xứng để mã hóa văn cần gửi sử dụng RSA để mã hóa khóa để giải mã (thông thường khóa ngắn nhiều so với

Ngày đăng: 03/02/2016, 14:53

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • DANH MỤC THUẬT NGỮ VIẾT TẮT

    • Advanced Encryption Standard

    • Tiêu chuẩn mã hóa tiên tiến

    • A. MÃ HÓA.

      • I. Tổng quan về mã hóa.

      • II. Mã hóa đối xứng và các thuật toán

        • II.1. Khái niệm mã hóa đối xứng.

        • II.2. Các kiểu tấn công hệ mã hóa đối xứng

        • II.3. Thuật toán DES ( Data Encryption Standard).

        • II.4. Thuật toán AES (Advanced Encryption Standard).

        • III. Mã hóa bất đối xứng.

          • III.1. Khái niệm mã hóa bất đối xứng, cơ chế, các thành phần của hệ mã hóa bất đối xứng.

          • III.2. Các đặc điểm và yêu cầu của hệ mã hóa bất đối xứng.

          • IV. Thuật toán mã hóa khóa công khai RSA.

            • IV.1. Ý tưởng và yêu cầu của thuật toán

            • IV.2. Chi tiết về tạo khóa và quá trình mã hóa, giải mã.

            • IV.3. Đặc điểm của thuật toán.

            • B. CHỮ KÝ SỐ VÀ ỨNG DỤNG.

              • I. Chữ ký số

                • I.1. Khái niệm.

                • I.2. Tạo và sử dụng chữ ký số bằng kỹ thuật mã hóa bất đối xứng.

                • II. Chứng chỉ số

                  • II.1. Khái niệm chứng chỉ số (Digital Certificate).

                  • II.2. Quá trình xác minh chữ ký số thông qua chứng chỉ số.

                  • III. Giải pháp ứng dụng chữ ký số

                  • KẾT LUẬN

                  • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan