Trang chủ
PHASE 5: TRẬN CHIẾN CUỐI CÙNG - LUYỆN ĐỀ PART B (DAY 86 - 100)/Ngày 87/100
DAY 87🇯🇵 暗号化技術
Mã hóa: Đối xứng vs Bất đối xứng
87%
Quảng cáo • Advertisement
📢 Sponsor Ad
Google AdSense
lesson.content.title
lesson.content.subtitle
🎯 Chìa khóa và Ổ khóa
1. Mã hóa khóa chung (Common Key / Symmetric)
Dùng CÙNG 1 KHÓA để đóng và mở.
- Đại diện: AES (Hiện đại), DES (Cổ lỗ sĩ).
- Ưu điểm: Nhanh.
- Nhược điểm: Làm sao gửi khóa cho nhau mà không bị lộ? (Key Distribution Problem).
🎨 Ẩn dụ: Diffie-Hellman (Trộn màu)
Làm sao để 2 người cùng tạo ra một màu bí mật mà không cần gửi màu đó cho nhau?
- Public: Màu Vàng (Ai cũng biết).
- Alice: Có màu Đỏ (Bí mật). Trộn Vàng + Đỏ = Cam. Gửi Cam cho Bob.
- Bob: Có màu Xanh (Bí mật). Trộn Vàng + Xanh = Lục. Gửi Lục cho Alice.
- Alice: Lấy Lục (của Bob) + Đỏ (của mình) = Màu Nâu.
- Bob: Lấy Cam (của Alice) + Xanh (của mình) = Màu Nâu.
👉 Cả 2 cùng có Màu Nâu (Session Key) để mã hóa AES. Hacker ở giữa chỉ thấy màu Cam và Lục, không thể tách ra để tìm màu Đỏ hay Xanh được.
2. Mã hóa khóa công khai (Public Key / Asymmetric)
Dùng CẶP KHÓA (Key Pair): Public Key (Công khai) và Private Key (Bí mật).
- Nguyên tắc: Khóa này đóng thì khóa kia mở.
- Quy trình Gửi tin mật:
- A muốn gửi thư cho B.
- A lấy Public Key của B để mã hóa thư.
- Gửi thư đi (Ai bắt được cũng không đọc được).
- B dùng Private Key của B để giải mã.
- Đại diện: RSA, ECC.
- Ưu điểm: An toàn tuyệt đối việc trao đổi khóa.
- Nhược điểm: Chậm hơn AES cả nghìn lần. -> Thực tế dùng Hybrid (Dùng RSA để trao đổi khóa AES, rồi dùng AES để mã hóa dữ liệu).
4. TLS Handshake (Cái bắt tay thế kỷ) - Chi tiết
Điều gì xảy ra trong 1 giây đầu tiên khi bạn vào web ngân hàng?
- Client Hello: "Chào Server, tớ có hỗ trợ TLS 1.2, 1.3 và mã hóa AES-GCM nhé."
- Server Hello: "Chào Client, thế thì dùng TLS 1.3 và AES-256 nhé. Đây là Certificate của tớ (có chứa Public Key)."
- Client Verify: Client kiểm tra Certificate với CA (Google/Digicert...). Nếu OK -> Tin tưởng.
- Key Exchange: Client tạo ra một chuỗi ngẫu nhiên (Pre-master secret), mã hóa bằng Public Key của Server -> Gửi đi.
- Server Decrypt: Dùng Private Key giải mã -> Lấy được chuỗi ngẫu nhiên.
- Change Cipher Spec: Cả 2 cùng tính toán ra Session Key từ chuỗi ngẫu nhiên đó.
- Finished: Từ giờ mọi tin nhắn sẽ được mã hóa bằng Session Key (AES).
📝 Luyện tập Part B (Exam Drills):
- Câu hỏi: Trong mã hóa Hybrid (Sử dụng cả AES và RSA), tại sao người ta không dùng RSA để mã hóa toàn bộ dữ liệu?
Đáp án
Vì RSA (Asymmetric) chậm hơn AES (Symmetric) rất nhiều lần (hàng nghìn lần). - Câu hỏi: Alice muốn gửi thư mật cho Bob. Alice cần dùng khóa nào để mã hóa?
Đáp án
Public Key của Bob. Chỉ Bob mới có Private Key tương ứng để giải mã. - Câu hỏi: Diffie-Hellman được dùng để làm gì?
Đáp án
Trao đổi khóa bí mật (Session Key) qua một kênh truyền không an toàn mà không bị lộ khóa.
Quảng cáo • Advertisement
📢 Ad Space
Google AdSense