Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

Tấn công Chosen Plaintext (CPA) trong mật mã học là gì?

Chosen Plaintext Attack (CPA) - Tấn công bản rõ được chọn

Chosen Plaintext Attack (CPA) là mô hình tấn công mật mã học nơi kẻ tấn công có khả năng:

  • Chọn bất kỳ bản rõ (plaintext) nào theo ý muốn
  • Nhận được bản mã (ciphertext) tương ứng được mã hóa dưới khóa bí mật mục tiêu
  • Mục tiêu: Thu thập thông tin để suy ra khóa bí mật hoặc giải mã các bản mã khác

So sánh các mô hình tấn công mật mã học

Mô hình tấn công Khả năng của kẻ tấn công Mức độ mạnh
Ciphertext Only Attack (COA) Chỉ có bản mã Yếu nhất
Known Plaintext Attack (KPA) Có cặp (plaintext, ciphertext) nhưng không chọn được plaintext Trung bình
Chosen Plaintext Attack (CPA) Chọn được plaintext tùy ý, nhận ciphertext Mạnh
Chosen Ciphertext Attack (CCA/CCA1) Chọn ciphertext, nhận plaintext (trước khi thấy challenge) Mạnh hơn CPA
Adaptive CCA (CCA2) Chọn ciphertext thích ứng, kể cả sau khi thấy challenge Mạnh nhất

CPA trong thực tế

  • Differential Cryptanalysis (Biham & Shamir, 1990): Phân tích cặp plaintext có chênh lệch cụ thể → suy ra khóa DES/block cipher. Đây là CPA kinh điển.
  • Linear Cryptanalysis (Matsui, 1993): Sử dụng mối quan hệ tuyến tính xấp xỉ giữa plaintext, ciphertext, khóa.
  • Padding Oracle Attack: Kết hợp CPA với thông tin lỗi padding (chế độ CBC).

CPA Security (IND-CPA) - Định nghĩa an toàn

Một схéma mã hóa được gọi là IND-CPA secure (Indistinguishability under Chosen Plaintext Attack) nếu kẻ tấn công không thể phân biệt được ciphertext của 2 plaintext do mình chọn, ngay cả khi có oracle mã hóa.

  • AES-CBC với IV ngẫu nhiên: IND-CPA secure
  • AES-CTR với nonce duy nhất: IND-CPA secure
  • AES-ECB: KHÔNG IND-CPA secure (cùng plaintext → cùng ciphertext)
  • RSA textbook (không padding): KHÔNG IND-CPA secure
  • RSA-OAEP: IND-CPA secure

CCA Security (IND-CCA/IND-CCA2)

  • IND-CCA1: Kẻ tấn công có giải mã oracle trước khi nhận challenge
  • IND-CCA2: Kẻ tấn công có giải mã oracle cả trước và sau khi nhận challenge (trừ challenge ciphertext)
  • Mối quan hệ: IND-CCA2 ⇒ IND-CCA1 ⇒ IND-CPA

Liên quan đến AES và Side-Channel

  • AES thuật toán bản thân: IND-CPA secure khi dùng đúng mode (CBC, CTR, GCM...)
  • Correlation Power Analysis (CPA) ở đây là Side-Channel Attack (phân tích tiêu thụ điện năng/điện từ), KHÔNG PHẢI Chosen Plaintext Attack. Cùng viết tắt CPA nhưng ý nghĩa hoàn toàn khác.
  • Side-channel CPA khai thác rò rỉ thông tin vật lý (power, EM, timing) để tìm khóa AES nhúng trong chip.

Tóm tắt

  • CPA = Chosen Plaintext Attack = Kẻ tấn công chọn plaintext, lấy ciphertext
  • IND-CPA = Tiêu chuẩn an toàn chống CPA (AES-CBC, AES-CTR, RSA-OAEP đạt được)
  • CCA mạnh hơn CPA (IND-CCA2 là tiêu chuẩn vàng cho public-key encryption)
  • CPA (Side-channel) = Correlation Power Analysis = Tấn công kênh phụ, khác hoàn toàn