Mã Hóa Ứng dụng Đoàn Trình Dục/ Đoàn Trình Dục Mail: duc.vn 2019 NỘI DUNG CHÍNH Giới Thiệu Các Khái Niệm Cơ bản Mã Hóa Đối Xứng Mã Hóa Bất Đối Xứng Hash Function Thám Mã Độ An Toàn Cơ sở dữ liệu (2014) 2 GIỚI THIỆU Giới Thiệu 3 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Giới Thiệu • Mã hóa là phương pháp để biến thông tin (file, hình ảnh.) từ định dạng bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải mã. • Giải mã là phương pháp để đưa từ dạng thông tin đã được mã hóa về dạng thông tin ban đầu, quá trình ngược của mã hóa. Giới Thiệu 4 CÁC KHÁI NIỆM CƠ BẢN Giới Thiệu 5 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Các Khái Niệm Cơ Bản Một hệ thống mã hóa bao gồm các thành phần: • Thông tin trước khi mã hóa, ký hiệu là P • Thông tin sau khi mã hóa, ký hiệu là C • Chìa khóa, ký hiệu là K • Phương pháp mã hóa/giải mã, ký hiệu là E/D. • Quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán học E lên thông tin P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C.
• Quá trình giải mã được tiến hành ngược lại: áp dụng hàm D lên thông tin C để được thông tin đã giải mã P. Các khái niệm cơ bản 6 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Các Khái Niệm Cơ Bản • Mật mã học là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về các nguyên lý và phương pháp mã hoá.Hiện nay người ta đưa ra nhiều chuẩn an toàn cho các lĩnh vực khác nhau của công nghệ thông tin. • Thám mã nghiên cứu các nguyên lý và phương pháp giải mã thường là không biết khóa. Thông thường khi đưa các mã mạnh ra làm chuẩn phổ biến công khai các mã đó được các kẻ thám mã cũng như những người phát triển mã tìm hi ểu nghiên cứu.
• Lý thuyết mã bao gồm cả mật mã và thám mã để đánh giá một mã mạnh hay không. Các khái niệm cơ bản 7 MÃ HÓA ĐỐI XỨNG/KHÓA BÍ MẬT Mã hóa đối xứng/khóa bí mật 8 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Mã hóa đối xứng là loại mã hóa sử dụng một khóa K cho việc mã hóa và giải mã Với X là văn bản cần được mã hóa (plaintext) Với K là khóa bí mật Với E là thuật toán mã hóa Với D là thuật toán giải mã Với Y là bản mã hóa của X thì 𝑌 = 𝐸𝑘 𝑋 𝑣à 𝑋 = 𝐷𝑘 (𝑌) Mã hóa đối xứng/khóa bí mật 9 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Mô hình mã hóa đối xứng Mã hóa đối xứng/khóa bí mật 10 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Một mã đối xứng có các đặc trưng là cách xử lý thông tin của thuật toán mã hóa, giải mã, tác động của khóa vào bản mã, độ dài của khóa. Mối liên hệ giữa bản rõ, khóa và bản mã thông qua thuật toán càng phức tạp càng tốt. Thuật toán mã hoá mạnh: Có cơ sở toán học vững chắc đảm bảo rằng dù công khai thuật toán, nhưng việc thám mã là rất khó khăn và phức tạp nếu không biết khóa.
Khoá được giữ bí mật: Chỉ có người gửi và người nhận biết. Có kênh an toàn để phân phối khoá giữa các người sử dụng chia sẻ khóa. Mối liên hệ giữa khóa và bản mã là không nhận biết được. Mã hóa đối xứng/khóa bí mật 11 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Trong mã hóa đối xứng được chia làm 2 loại thuật toán: Thuật toán block algorithms Thuật toán stream algorithms Mã hóa đối xứng/khóa bí mật 12 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Stream cipher là phương pháp mã hóa cho văn bản trong đó thuật toán mã hóa được áp dụng cho mỗi Bit dữ liệu từng bit một Sử dụng một khóa key tạo ngẫu nhiên một Key stream C1,C2,C3,C4.
Với Ci=Pi XOR Ki Stream cipher key phải có chu kỳ tạo key lớn Stream cipher key phải có giá trị ngẫu nhiên xuất hiện tương đương nhau Stream cipher key không được sử dụng lại stream key Mã hóa đối xứng/khóa bí mật 13 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Hệ thống Stream cipher Mã hóa đối xứng/khóa bí mật 14 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Block cipher là phương pháp mã hóa cho văn bản trong đó thuật toán mã hóa được áp dụng cho mỗi block dữ liệu Mỗi đoạn văn bản được chia thành các block và mỗi block có n bit dữ liệu Nếu số bit ít hơn n thì sẽ được thêm một số bit cho đủ n bit được gọi là kĩ thuật padding Nếu số bit văn bản không là bội số của n thì block cuối cùng sẽ được thêm vào một số bit để đủ n bit Các thuật toán sẽ có số bit trong block cố định ví dụ: DES là 64 bit Mã hóa đối xứng/khóa bí mật 15 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Đối Xứng Hệ thống block cipher Mã hóa đối xứng/khóa bí mật 16 MÃ HÓA BẤT ĐỐI XỨNG/KHÓA CÔNG KHAI Mã hóa Bất đối xứng/khóa Công khai 17 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN 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. 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 Mã hóa Bất đối xứng/khóa Công khai 18 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Bất Đối Xứng Mã hóa đối xứng là loại mã hóa sử dụng một khóa K public cho việc mã hóa và khóa K private để giải mã Với X là văn bản cần được mã hóa (plaintext) Với 𝐾𝑝 là khóa share và 𝐾𝑠 là khóa bí mật Với E là thuật toán mã hóa Với Y là bản mã hóa của X thì 𝑌 = 𝐸𝑘𝑝 𝑋 𝑣à 𝑋 = 𝐸𝑘𝑠 (𝐸𝑘𝑝 𝑋 ) Mã hóa Bất đối xứng/khóa Công khai 19 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Bất Đối Xứng Mã hóa Bất đối xứng/khóa Công khai 20 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Mã Hóa Bất Đối Xứng 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 một văn bản có phải đã được tạo với một 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. • Thông thường, các kỹ thuật mật mã hóa khóa công khai đòi hỏi khối lượng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợi điểm mà chúng mang lại khiến cho chúng được áp dụng trong nhiều ứng dụng. Mã hóa Bất đối xứng/khóa Công khai 21 HASH FUNCTION Hash function 22 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN HASH Function Hash function là giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu (có thể là một chuỗi ký tự, một đối tượng trong lập trình hướng đối tượng, v.
Giá trị băm đóng vai gần như một khóa để phân biệt các khối dữ liệu, tuy nhiên, người ta chấp hiện tượng trùng khóa hay còn gọi là đụng độ và cố gắng cải thiện giải thuật để giảm thiểu sự đụng độ đó. Hàm băm thường được dùng trong nhằm giảm chi phí tính toán khi tìm một khối dữ liệu trong một tập hợp (nhờ việc so sánh các giá trị băm nhanh hơn việc so sánh những khối dữ liệu có kích thước lớn). Hàm băm mật mã hiện nay được sử dụng rộng rãi(https, block chain) Hash function 23 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN HASH Function Một số tính chất của Hash function Tính toán nhanh. Các khoá được phân bố đều.
Ít xảy ra đụng độ. Xử lý được các loại kiểu dữ liệu khác nhau. Hash function là một hàm một chiều Một số hàm băm được sử dụng hiện nay như: MD5, SHA-224, SHA-256, SHA-384, SHA-512, … Hash function 24 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN HASH Function Minh họa về hàm Băm Hash function 25 THÁM MÃ 26 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Thám Mã Có 2 cách tấn công chính về mã hóa Tấn công dùng thuật toán: dựa trên thuật toán và một số đặc trưng chung về bản rõ hoặc một số mẫu bản rõ/bản mã. Kiểu tấn công này nhằm khai phá các đặc trưng của thuật toán để tìm bản rõ cụ thể hoặc tìm khóa.
Tấn công duyệt toàn bộ: kẻ tấn công tìm cách thử mọi khóa có thể trên bản mã cho đến khi nhận được bản rõ. Trung bình cần phải thử một nửa số khóa. Thám mã 27 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Thám Mã Biết thuật toán và bản mã, dùng phương pháp thống kê, xác định bản rõ. Biết thuật toán, biết được bản mã/bản rõ tấn công tìm khóa.
Chọn bản rõ và nhận được bản mã, biết thuật toán tấn công tìm khóa. Chọn bản mã và có được bản rõ tương ứng, biết thuật toán tấn công tìm khóa… Thám mã 28 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Thám Mã Về mặt lý thuyết phương pháp duyệt tổng thể là luôn thực hiện được, do có thể tiến hành thử từng khoá, mà số khoá là hữu hạn.