Trang 2 Giới thiệu• Nếu khơng có mã hóa thì bất kỳ ai cũng có thể dễ dàng truy cập vào đường truyền dữ liệu giữa các máy tính để xem, sửa chữa,…• Bảo mật là vấn đề hết sức quan trọng tro
6/29/2011 CHƯƠNG BẢO VỆ DỮ LIỆU - MÃ HÓA ThS Trần Bá Nhiệm Website: sites.google.com/site/tranbanhiem Email: tranbanhiem@gmail.com Nội dung • Giới thiệu • Phân tích mã • Các thuật ngữ • Mã hóa bất đối xứng – khóa cơng khai • RSA • Mã hóa đối xứng • Chống công 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 6/29/2011 Giới thiệu • Nếu khơng có mã hóa dễ dàng truy cập vào đường truyền liệu máy tính để xem, sửa chữa,… • Bảo mật vấn đề quan trọng giao dịch thương mại nhiều kiểu trao đổi thông tin khác 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa Giới thiệu • Nội dung trình bày chương chia làm phần: – Mô tả phương pháp bẻ khóa bảo mật bảo mật yếu – Mã hóa bất đối xứng: phương pháp ứng dụng nhiều – Mã hóa đối xứng: phương pháp bổ sung, kết hợp với kiểu khác để tăng cường hiệu 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 6/29/2011 Các thuật ngữ • Plain text: thơng tin số chưa mã hóa • Cipher text: thơng tin số mã hóa • Key: mảnh liệu số dùng chương trình máy tính để mã hóa giải mã • Cryptographic algorithm Cipher: giải thuật để mã hóa giải mã • Strength: đo độ khó bẻ khóa 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa An ninh hệ mã hóa • An ninh vơ điều kiện – Bản mã không chứa đủ thông tin để xác định nguyên tương ứng, với số lượng bao nhiêu tốc độ máy tính • An ninh tính tốn – Thỏa mãn hai điều kiện • Chi phí phá mã vượt q giá trị thơng tin • Thời gian phá mã vượt tuổi thọ thông tin – Thực tế thỏa mãn hai điều kiện • Khơng có nhược điểm • Khóa có q nhiều giá trị khơng thể thử hết 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 6/29/2011 Mã hóa bất đối xứng • Những hạn chế mật mã đối xứng – Vấn đề phân phối khóa • Khó đảm bảo chia sẻ mà khơng làm lộ khóa bí mật • Trung tâm phân phối khóa bị cơng – Khơng thích hợp cho chữ ký số • Bên nhận làm giả thơng báo nói nhận từ bên gửi • Mật mã khóa cơng khai đề xuất Whitfield Diffie Martin Hellman vào năm 1976 – Khắc phục hạn chế mật mã đối xứng – Có thể coi bước đột phá quan trọng lịch sử ngành mật mã – Bổ sung không thay mật mã đối xứng 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa Đặc điểm mật mã khóa cơng khai • Cịn gọi mật mã hai khóa hay bất đối xứng • Các giải thuật khóa cơng khai sử dụng khóa – Một khóa cơng khai • Ai biết • Dùng để mã hóa thơng báo thẩm tra chữ ký – Một khóa riêng • Chỉ nơi giữ biết • Dùng để giải mã thơng báo ký (tạo ra) chữ ký • Có tính bất đối xứng – Bên mã hóa khơng thể giải mã thông báo – Bên thẩm tra tạo chữ ký 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 6/29/2011 Mã hóa khóa cơng khai Các khóa cơng khai Joy Ted Mike Alice Khóa riêng Khóa cơng khai Alice Alice Bản mã truyền Nguyên Giải thuật Giải thuật Nguyên đầu vào mã hóa giải mã đầu 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa Xác thực Các khóa cơng khai Joy Ted Mike Bob Khóa cơng khai Khóa riêng Bob Bob Bản mã truyền Nguyên Giải thuật Giải thuật Nguyên đầu vào mã hóa giải mã đầu 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 10 6/29/2011 Ứng dụng mật mã khóa cơng khai • Có thể phân loại ứng dụng – Mã hóa/giải mã • Đảm bảo bí mật thông tin – Chữ ký số • Hỗ trợ xác thực văn – Trao đổi khóa • Cho phép chia sẻ khóa phiên mã hóa đối xứng • Một số giải thuật khóa cơng khai thích hợp cho loại ứng dụng; số khác dùng cho hay loại 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 11 Mô hình đảm bảo bí mật Kẻ phá mã Nguồn A Đích B Nguồn Giải thuật Giải thuật Đích th báo mã hóa giải mã th báo Nguồn cặp khóa 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 12 6/29/2011 Mơ hình xác thực Kẻ phá mã Nguồn A Đích B Nguồn Giải thuật Giải thuật Đích th báo mã hóa giải mã th báo Nguồn cặp khóa 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 13 Mơ hình kết hợp Nguồn A Đích B Nguồn G thuật G thuật G thuật G thuật Đích th báo mã hóa mã hóa giải mã giải mã th báo Nguồn cặp khóa Nguồn cặp khóa 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 14 6/29/2011 Trao đổi khóa Khóa ngẫu nhiên Khóa ngẫu nhiên Alice Bob Giải mã Mã hóa Khóa cơng khai Bob Khóa riêng Bob 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 15 Các điều kiện cần thiết • Bên B dễ dàng tạo cặp (KUb, KRb) • Bên A dễ dàng tạo C = EKUb(M) • Bên B dễ dàng giải mã M = DKRb(C) • Đối thủ khơng thể xác định KRb biết KUb • Đối thủ xác định M biết KUb C • Một hai khóa dùng mã hóa khóa dùng giải mã – M = DKRb(EKUb(M)) = DKUb(EKRb(M)) – Không thực cần thiết 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 16 6/29/2011 Hệ mã hóa RSA • Đề xuất Ron Rivest, Adi Shamir Len Adleman (MIT) vào năm 1977 • Hệ mã hóa khóa cơng khai phổ dụng • Mã hóa khối với khối số nguyên < n – Thường kích cỡ n 1024 bit ≈ 309 chữ số thập phân • Đăng ký quyền năm 1983, hết hạn năm 2000 • An ninh chi phí phân tích thừa số số nguyên lớn lớn 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 17 Tạo khóa RSA • Mỗi bên tự tạo cặp khóa cơng khai - khóa riêng theo bước sau: – Chọn ngẫu nhiên số nguyên tố đủ lớn p ≠ q – Tính n = pq – Tính Φ(n) = (p-1)(q-1) – Chọn ngẫu nhiên khóa mã hóa e cho < e < Φ(n) gcd(e, Φ(n)) = – Tìm khóa giải mã d ≤ n thỏa mãn e.d ≡ mod Φ(n) • Cơng bố khóa mã hóa cơng khai KU = {e, n} • Giữ bí mật khóa giải mã riêng KR = {d, n} – Các giá trị bí mật p q bị hủy bỏ 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 18 6/29/2011 Thực RSA • Để mã hóa thơng báo ngun M, bên gửi thực – Lấy khóa cơng khai bên nhận KU = {e, n} – Tính C = Me mod n • Để giải mã mã C nhận được, bên nhận thực – Sử dụng khóa riêng KR = {d, n} – Tính M = Cd mod n • Lưu ý thông báo M phải nhỏ n – Phân thành nhiều khối cần 29/06/2011 Chương 8: Bảo vệ liệu - Mã hóa 19 Vì RSA khả thi • Theo định lý Euler – ∀ a, n: gcd(a, n) = ⇒ aΦ(n) mod n = – Φ(n) số số nguyên dương nhỏ n nguyên tố với n • Đối với RSA có – n = pq với p q số nguyên tố – Φ(n) = (p - 1)(q - 1) – ed ≡ mod Φ(n) ⇒ ∃ số nguyên k: ed = kΦ(n) + – M