Bài giảng An ninh mạng - Chương 1: Chứng thực - Trần Trung Dũng
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An ninh mạng - Chương 1: Chứng thực - Trần Trung Dũng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_an_ninh_mang_ngay_1_chung_thuc_tiep_tran_trung_dun.pdf
Nội dung text: Bài giảng An ninh mạng - Chương 1: Chứng thực - Trần Trung Dũng
- Chứng thực (tt) TS. Trần Trung Dũng
- Mã hóa • Mã hóa một thông điệp sao cho chỉ các bên liên quan mới giải mã được Plaintext (P) Encryption Ciphertext (C) Key (K) Kí hiệu: Mã hóa: C=EK (P) Giải mã: P = DK(C)
- Mã hóa public key + K Bob’s public B khóa K - Bob’s private B khóa plaintext Mã hóa ciphertext Giải mã plaintext message, m + message K (m) - + B m = K (K (m)) B B
- Mã hóa public key • Yêu cầu: 1 + - Cần K B ( ) và K B ( ) sao cho - + K (K (m)) = m B B 2 cho public key K + , không thể B - tính được khóa private K B RSA: thuật toán Rivest, Shamir, Adelson
- RSA: một tính chất quan trọng - + + - K (K (m)) = m = K (K (m)) B B B B dùng public key dùng private trước, sau đó key trước, sau dùng private đó dùng public key key Kết quả như nhau!
- Xác thực (Authentication) Mục tiêu: Nam muốn Lan chứng minh chính mình là người đang nói Protocol ap1.0: Lan nói “Tôi là Lan” “Tôi là Lan” Có lỗi gì trong ngữ cảnh bên??
- Xác thực (Authentication) Mục tiêu: Nam muốn Lan chứng minh chính mình là người đang nói Protocol ap1.0: Lan nói “Tôi là Lan” Trong mạng Nam không “thấy” Lan nên Hiền ể ự ư “Tôi là Lan” có th t x ng mình là Lan??
- Xác thực: cách khác Protocol ap2.0: Lan nói “Tôi là Lan” trong gói tin chứa địa chỉ IP của máy cô ấy Lan’s IP address “Tôi là Lan” Có lỗi gì trong ngữ cảnh bên??
- Xác thực: cách khác Protocol ap2.0: Lan nói “Tôi là Lan” trong gói tin chứa địa chỉ IP của máy cô ấy Hiền có thể tạo gói tin với địa chỉ IP của Lan?? Lan’s IP address “Tôi là Lan”
- Xác thực: cách khác Protocol ap3.0: Lan nói “Tôi là Lan” và gửi 1 mật mã bí mật để chứng minh. Lan’s Lan’s “Tôi là Lan” IP addr password Lan’s OK Có lỗi gì trong ngữ IP addr cảnh bên??
- Xác thực: cách khác Protocol ap3.0: Lan nói “Tôi là Lan” và gửi 1 mật mã bí mật để chứng minh. Lan’s Lan’s “Tôi Lan” IP addr password Tấn công playback: Hiền lưu gói tin của Lan Lan’s OK IP addr và sau đó gửi lại nó cho Nam Lan’s Lan’s “Tôi là Lan” IP addr password
- Xác thực: cách khác nữa Protocol ap3.1: Lan nói “Tôi là Lan” và gửi mật mã đã được mã hóa để chứng minh. encrypted Lan’s “Tôi là Lan” IP addr password Có lỗi gì trong ngữ Lan’s OK IP addr cảnh bên??
- Xác thực: cách khác nữa Protocol ap3.1: Lan nói “Tôi là Lan” và gửi mật mã đã được mã hóa để chứng minh. encrypted Lan’s “Tôi là Lan” IP addr password Lưu và sau đó gửi lại gói tin vẫn hoạt động tốt Lan’s OK IP addr encrypted Lan’s “Tôi là Lan” IP addr password
- Xác thực: cách khác nữa Mục tiêu: tránh việc lưu và gửi lại Mật số: số (R) chỉ sử dụng một lần ap4.0: để xác thực Lan “live”, Nam gửi Lan mật số, R. Lan phải trả lời bằng con số này được mã hóa bằng khóa chung “Tôi là Lan” R K (R) Lan đang nói A-B chuyện, và chỉ có Lan biết khóa để mã hóa mật số, Có lỗ hỏng gì không? vậy đó phải là Lan!
- Xác thực: ap 5.0 • ap4.0 cần phải chia xẻ khóa dùng chung • Chúng ta có thể sử dụng kĩ thuật public key? • ap5.0: dùng mật số, public key “Tôi là Lan” Nam tính + - R K - A(K A (R)) = R K A (R) Và biết chỉ có Lan biết private key, nó đã mã “gửi Nam public key của Lan” + hóa R sao cho K A + - K (K (R)) = R A A
- Ap 5.0: lỗ hỏng trong thiết kế Có người tấn công ở giữa: Hiền đóng vai là Lan (với Nam) và vai Nam (với Lan) Tôi là Lan Tôi là Lan R - K (R) H R - Gửi Nam public key K (R) + L K H Gửi Nam public key + K + L K (m) Hiền nhận H - + + m = K (K (m)) K (m) H H - + L m = K (K (m)) Gửi m tới Lan mã L L hóa bằng public key của Lan
- Ap 5.0: lỗ hỏng trong thiết kế Có người tấn công ở giữa: Hiền đóng vai là Lan (với Nam) và vai Nam (với Lan) Khó để nhận ra: Nam nhận được tất cả thông tin Lan gủi, và ngược lại. (v.d., Nam va Lan gặp lại sau đó và nhắc lại cuộc nói chuyện hôm trước) Vấn đề là Hiền nhận được tất cả các gói tin! Giải bài toán: public key
- Trung tâm phân phối khóa Trung tâm phân phối khóa
- Xác nhận public key Certification Authority (giấy chứng nhận) - K CA’s private CA key Giấy chứng nhận public key của Lan Thuật toán mã hóa + ( K A , Lan)
- Chữ kí số Mật mã tương tự như chữ kí bằng tay – Người gửi(Nam) kí(số) tài liệu gửi đi, xác định chính họ – Xác thực, không chối từ được: Lan xác định chính là Nam gửi chứ không phải ai khác
- Chữ kí số Kí số giản đơn cho thông điệp m: • Nam- kí m bằng cách mã hóa -với private key KB, tạo thông điệp đã kí, KB(m) - Nam’s private - Nam’s message, m K K (m) B key B Dear Lan Nam’s message, Oh, how I have missed ậ you. I think of you all the Thu t tóan m, đã kí với private time! (blah blah blah) mã hóa key của Nam Nam Public key
- Chữ kí số • Giả sử Lan nhận msg m, đã kí số KB(m) + - • Lan xác nhận Nam đã kí m bằng cách kiểm tra KB(KB(m)) = m + - • Nếu KB(KB(m)) = m, bất kì ai đã kí cũng phải đã dùng private key của Nam Vì vậy Lan khẳng định: Nam kí m Không ai khác kí m Nam kí m chứ không phải m’ Không chối bỏ: Lan có lấy m, và bản đã kí KB(m) đến tòa để chứng minh Nam đã kí m
- Message Digests large H: Hash message • Chi phí lớn khi mã hóa Function thông điệp dài bằng public- m key • Mục tiêu: rút ngắn lại thông H(m) điệp, thành chiều dài nhỏ cố định Các thuộc tính của Hash function: • Sử dụng hash function H • many-to-1 cho m, nhận được • Tạo ra msg digest chiều dài cố message digest, H(m). định (fingerprint) • cho message digest x, không khả thi trong tính toán để tìm ra m sao cho x = H(m)
- Chữ kí số = kí message digest Nam gửi thông điệp được kí: Lan xác định chữ kí và tính toàn vẹn của thông điệp đã kí large H: Hash message Mã hóa function H(m) m msg digest - KB(H(m)) Nam’s Kí thông large private Điệp message - Nam’s key (Mã hóa) m Giải mã K B public + chữ kí key K Mã hóa H: Hash B msg digest function - + KB(H(m)) H(m) H(m) Giống nhau?
- Tổng hợp lại(không có CA) Lan muốn gửi thông điệp bảo mật, xác thực của chính mình và tòan vẹn Nam phải làm gì để nhận được thông điệp?