intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Mật mã ứng dụng: Hệ mã có xác thực - Đại học Bách khoa Hà Nội

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:45

10
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Mật mã ứng dụng: Hệ mã có xác thực" trình bày các nội dung chính sau đây: Tấn công chủ động hệ mã CPA-an toàn; Tấn công chọn bản mã; Xây dựng từ hệ mã và MAC; Case study: TLS; CBC pading attack; Attacking non-atomic decryption;... Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Mật mã ứng dụng: Hệ mã có xác thực - Đại học Bách khoa Hà Nội

  1. Mật mã ứng dụng Hệ mã có xác thực
  2. HỆ MÃ CÓ XÁC THỰC ‣ Tấn công chủ động hệ mã CPA-an toàn ‣ Định nghĩa ‣ Tấn công chọn bản mã ‣ Xây dựng từ hệ mã và MAC ‣ Case study: TLS https://class.coursera.org/ crypto-preview/class/index ‣ CBC pading attack ‣ Attacking non-atomic decryption
  3. HỆ MÃ CÓ XÁC THỰC ‣ Tấn công chủ động hệ mã CPA-an toàn ‣ Định nghĩa ‣ Tấn công chọn bản mã ‣ Xây dựng từ hệ mã và MAC ‣ Case study: TLS https://class.coursera.org/ crypto-preview/class/index ‣ CBC pading attack ‣ Attacking non-atomic decryption
  4. Nhắc lại Bí mật: An toàn ngữ nghĩa chống lại tấn công CPA ・ Mã hóa chỉ chống kẻ nghe trộm Toàn vẹn: ・ Không thể giả mạo dưới tấn công với thông điệp chọn sẵn ・ CBC-MAC, HMAC, PMAC, CW-MAC Tiếp theo: Mã hóa an toàn chống lại tấn công chủ động ・ Đảm bảo cả bí mật và toàn vẹn 4
  5. Ví dụ tấn công chủ động: TCP/IP WWW
 d ata port = 80 pack dest = 80 data source machine TCP/IP Bob stack port = 25 Máy đích 5
  6. Ví dụ tấn công chủ động: TCP/IP WWW
 TCP/IP d ata port = 80 packet stack dest = 80 data stuff k dest = 25 k packets encrypted
 Bob using key k port = 25 6
  7. Đọc thông tin của người khác WWW
 IV, dest = 80 data port = 80 Bob: dat a k IV’, dest = 25 data k Bob port = 25 Dễ làm với CBC với rand. IV (chỉ thay đổi IV) 7
  8. Sửa gói tin IV dest = 80 data IV’ dest = 25 data ・Giả sử gói tin được mã hóa bằng CBC mode với IV ngẫu nhiên. ・Vậy ta nên sửa IV’ như thế nào để m[0] = D(k, c[0]) ⨁ IV = “dest=80…” 1. IV’ = IV ⨁ (…25…) 2. IV’ = IV ⨁ (…80…) 3. IV’ = IV ⨁ (…80…) ⨁ (…25…) 4. Không thể làm được 8
  9. Một cách tấn công chỉ cần truy cập mạng Ứng dụng đầu cuối từ xa: ・ Mỗi lần gõ phím được mã hóa với CTR mode TCP/IP packet k T D IP hdr TCP hdr k 16 bit TCP checksum 1 byte keystroke for all t, s send: ⨁t ⨁s IP hdr TCP hdr ACK if valid checksum, nothing otherwise { checksum(hdr, D) = t ⨁ checksum(hdr, D⨁s) } can find D 9
  10. Bài học CPA an toàn: ・không đảm bảo giữ bí mật khỏi phương pháp tấn công chủ động Chỉ nên dùng 2 mode: ・Nếu thông điệp chỉ cần toàn vẹn không cần bí mật: sử dụng MAC ・Nếu thông điệp cần cả toàn vẹn và bí mật sử dụng mã có xác thực 10
  11. HỆ MÃ CÓ XÁC THỰC ‣ Tấn công chủ động hệ mã CPA-an toàn ‣ Định nghĩa ‣ Tấn công chọn bản mã ‣ Xây dựng từ hệ mã và MAC ‣ Case study: TLS https://class.coursera.org/ crypto-preview/class/index ‣ CBC pading attack ‣ Attacking non-atomic decryption
  12. Mục đích Định nghĩa. Một hệ mã xác thực (E,D) là một hệ mã với Như thông thường: E: K × M × N ⟶ C nhưng: D: K × C × N ⟶ M ∪ {⊥} Bản mã bị loại Tính an toàn: Hệ thống phải đảm bảo ・an toàn ngữ nghĩa chống CPA attack, và ・toàn vẹn thông điệp: 
 kẻ tấn công không thể tạo ra được bản mã hợp lệ mới 12
  13. Toàn vẹn thông điệp Thử thác m1 2 M m2 , · · · , mq Kẻ k←K tấn côn c1 E(k, m1 ) c2 , · · · , cq c b ® b=1 n∏u D(k, c) 6= ? và c 2 {c1 , · · · , cq } / b=0 ng˜Òc l§i Định nghĩa. (E, D) là toàn vẹn thông điệp nếu với mọi thuật toán “hiệu quả” A AdvCI[A,E] = Pr[Thử thách output =1] là “không đáng kể” 13 g h
  14. Hệ mã có xác thực (Authenticated Encryption) Định nghĩa. Hệ mã (E, D) là có xác thực nếu 1. an toàn ngữ nghĩa dưới CPA, và 2. có toàn vẹn thông điệp Ví dụ: ・ CBC với IV ngẫu nhiên không có xác thực vì ・ D (k, .) không bao giờ output ra ⊥, vậy kẻ tấn công dễ dàng thắng trong trò chơi toàn vẹn thông điệp 14
  15. Hệ quả 1: tính xác thực Kẻ tấn công không thể lừa Bob nghĩ rằng Alice đã gửi thông điệp cho mình m1 , …, mq c Alice Bob ci = E(k, mi) k k không thể tạo ra c ∉ { c1, …, cq } nếu D(k,c) ≠⊥ Bob biết thông điệp được gửi từ người biết khóa k (nhưng thông điệp có thể bị gửi lại nhiều lần) 15
  16. Hệ quả 2 Hệ mã có xác thực An toàn chống lại tấn công chọn bản mã (Security against chosen ciphertext attacks) 16
  17. HỆ MÃ CÓ XÁC THỰC ‣ Tấn công chủ động hệ mã CPA-an toàn ‣ Định nghĩa ‣ Tấn công chọn bản mã ‣ Xây dựng từ hệ mã và MAC ‣ Case study: TLS https://class.coursera.org/ crypto-preview/class/index ‣ CBC pading attack ‣ Attacking non-atomic decryption
  18. Ví dụ tấn công chọn bản mã (CCA) Kẻ tấn công có bản mã c và anh ta muốn giải mã ・Thông thường, anh ta có thể lừa server giải mã một số bản mã (không phải c) dest = 25 data data ・Thông thường, anh ta có thể học được một số thông tin về bản rõ từ bản mã. TCP/IP packet ACK if valid checksum 18 

  19. An toàn trước tấn công chọn bản mã Khả năng của kẻ tấn công: Cả CPA và CCA ・Có thể lấy được mã hóa của mọi thông điệp anh ta chọn ・Có thể giải mã mọi bản mã anh ta chọn, khác với thử thách (Mô hình chặt của thế giới thực) Mục đích của kẻ tấn công: Phá an toàn ngữ nghĩa 19
  20. An toàn trước tấn công chọn bản mã for i = 1,…,q: b (1) truy vấn CPA Thử thác mi,0 , mi,1 ∈ M: |mi,0| = |mi,1| Kẻ k←K tấn côn ci ← E(k, mi,b) (2) truy vấn CCA ci ∈ C: ci ∉ {c1 , …, ci-1} mi ← D(k, ci) b’ ∈ {0,1} ・E=(E, D) là hệ mã trên (K, M, C) 20 g h
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2