Một số kiến thức nền tảng Giao thức xác thực Giao thức đảm bảo an toàn cho dữ liệu tầng ứng dụng Giao thức mạng riêng ảo Giao thức an toàn mạng không dây Bài giảng giao thức an toàn mạng ( combo full slides 5 chương )
Trang 1GIAO THỨC AN TOÀN MẠNG
Trang 21 Một số kiến thức nền tảng
2 Giao thức xác thực
3 Giao thức đảm bảo an toàn cho dữ liệu
tầng ứng dụng
4 Giao thức mạng riêng ảo
5 Giao thức an toàn mạng không dây
N i dung h c ph n ội dung học phần ọc phần ần
2
Trang 3GIAO THỨC AN TOÀN MẠNG
Bài 1 Mở đầu
Trang 5Giới thiệu học phần
1
Cơ sở mật mã cho an toàn mạng
2
Tổng quan về giao thức an toàn mạng
3
Trang 6 Kiến thức
Hình dung tổng thể về học phần, bao gồm việc hiểu rõ nhiệm vụ làm bài tập lớn
Củng cố kiến thức về cơ sở lý thuyết mật mã
Tổng quan về các giao thức an toàn mạng
Kỹ năng
M c tiêu bài h c ục tiêu bài học ọc phần
6
Trang 71 Chương 1 - Giáo trình "Giao thức an toàn
Trang 8Giới thiệu học phần
1
Cơ sở mật mã cho an toàn mạng
2
Tổng quan về giao thức an toàn mạng
3
Trang 91 Một số kiến thức nền tảng
2 Giao thức xác thực
3 Giao thức đảm bảo an toàn cho dữ liệu
tầng ứng dụng
4 Giao thức mạng riêng ảo
5 Giao thức an toàn mạng không dây
N i dung h c ph n ội dung học phần ọc phần ần
9
Trang 11 Thời lượng: 2tc = 36 tiết
24 tiết lý thuyết
12 tiết bài tập
Đánh giá kết quả học tập
Điểm chuyên cần
• Đi học đầy đủ, đúng giờ
• Tham gia xây dựng bài
Điểm bài tập
Điểm thi kết thúc học phần
C u trúc h c ph n ấu trúc học phần ọc phần ần
11
Trang 121 Nguyễn Quốc Toàn, Hoàng Sỹ Tương, Giáo
trình “Giao thức an toàn mạng máy tính”,
Học viện KTMM, 2013
2 Nguyễn Bình, Hoàng Thu Phương, "Cơ sở lý
thuyết mật mã", Học viện KTMM, 2013
3 Nguyễn Ngọc Cương, Trần Thị Lượng, "Mật
mã ứng dụng trong an toàn thông tin",
Học viện KTMM, 2013
4 (và các tài liệu khác)
Giáo trình
12
Trang 14Giới thiệu học phần
1
Cơ sở mật mã cho an toàn mạng
2
Tổng quan về giao thức an toàn mạng
3
Trang 15Chữ kí số
Sinh số ngẫu
nhiên
Trang 17 Khóa mật mã
Là chuỗi bít ngẫu nhiên độ dài xác định
Được chia sẻ bởi các bên liên quan
Các bên đều có nghĩa vụ đảm bảo bí mật
Trang 18Mã kh i ối xứng
18
𝐵𝑙𝑜𝑐𝑘𝐶𝑖𝑝h𝑒𝑟 ={ 𝐸 ,𝐷 ,𝕂 ,ℙ ,ℂ }
Việc mã hóa (bởi hàm E), giải mã (bởi hàm D)
được thực hiện theo từng khối
Trang 20• Mã khối có nhiều chế độ làm việc khác
nhau: ECB, CBC, OFB, CFB, CTR, GCM
• Một số chế độ là thuần túy mã khối: ECB, CBC, CTS
• Một số chế độ là tương tự như mã dòng: OFB, CFB, CTR
• Một số chế độ cho phép kết hợp mã hóa
và xác thực (dữ liệu)
Ch đ ho t đ ng c a mã kh i ế độ hoạt động của mã khối ội dung học phần ạng máy tính" ội dung học phần ủa mã khối ối xứng
20
Trang 21ECB: Electronic Codebook
Trang 22CBC: Cipher Block Chaning
Trang 23OFB: Output Feedback
Trang 24Bộ đếm T phải được thiết kế để mọi Ti là khác nhau
(chỉ được phép lặp lại khi thay khóa K mới)
Trang 25M t mã khóa công khai ập lớn
Trang 26 Khóa mật mã
Tồn tại theo cặp
Là một bộ tham số, có ý nghĩa toán học
Khóa bí mật phải ngẫu nhiên
Kích thước khóa luôn phải rất lớn
Hiệu năng
Rất thấp so với mật mã đối xứng
Thích hợp để trao đổi khóa, ký số
M t mã khóa công khai ập lớn
26
Trang 27S d ng k t h p m t mã đ i x ng và ử dụng kết hợp mật mã đối xứng và ục tiêu bài học ế độ hoạt động của mã khối ợp mật mã đối xứng và ập lớn ối xứng ứng
m t mã khóa công khai ập lớn
Trang 29Hàm băm
29
Nén quan hệ giữa thông điệp và bản tóm lược
không phải là tương ứng 1:1
Kháng tiền ảnh: từ H(x) không thể tìm được x
Kháng tiền ảnh thứ hai: cho trước x, không thể
tìm được x' sao cho H(x) = H(x')
Kháng va chạm: không thể tìm được cặp (x, y)
sao cho H(x) = H(y)
Trong ứng dụng thực tế, có thể coi quan hệ
x : H(x) là một tương ứng 1:1.
Có thể dùng H(x) để đại diện cho x
Trong ứng dụng thực tế, có thể coi quan hệ
x : H(x) là một tương ứng 1:1.
Có thể dùng H(x) để đại diện cho x
Trang 30 Ứng dụng của hàm băm trong giao
Trang 31• MAC = Message Authentication Code
(không phải Medium Access Control!!!!)
• Được tạo bởi người gửi S
• Để người nhận R có thể kiểm tra được
rằng thông điệp M được tạo ra bởi S.
• MAC phải chứa đựng yếu tố bí mật
MAC(m, K)
• Kỹ thuật: HMAC, CBC-MAC
Mã xác th c thông đi p ực thông điệp ệu tham khảo
31
Trang 32• Tạo MAC dựa trên chế độ CBC của mã
Trang 33• HMAC = Hash-based MAC
• Cách gọi khác: Keyed hash MAC
Trang 34• Trường hợp riêng: Cần đảm bảo đồng
thời tính bí mật và tính xác thực cho M
• Trường hợp tổng quát: Thông điệp
gồm 2 phần M=(M1, M2), trong đó cả hai phần đều cần được xác thực, còn tính bí mật chỉ cần áp dụng cho M1
AEAD = Authenticated Encryption with
Associated Data
K t h p mã hóa và xác th c ế độ hoạt động của mã khối ợp mật mã đối xứng và ực thông điệp
34
Trang 35 AEAD Modes
• CCM: Counter with CBC-MAC
• GCM: Galois Counter Mode
Trang 36K t h p mã hóa và xác th c Ví d : CCM ế độ hoạt động của mã khối ợp mật mã đối xứng và ực thông điệp ục tiêu bài học
36
Trang 37• Có thể coi là một dạng MAC
• Sử dụng mật mã khóa công khai
Ký: s = Enc(KS, msg)
Gửi đi: s, msg
Kiểm tra: msg == Dec(KP, s)?
• Thường thì thông điệp "msg" có kích
thước lớn thay bằng giá trị băm
Ch ký s ữ ký số ối xứng
37
Trang 38Ch ký s ữ ký số ối xứng
38
Trang 39V n đ gi m o khóa công khai ấu trúc học phần ề giả mạo khóa công khai ảo ạng máy tính"
39
Hi Bob, I'm Alice.
I wanna send you a secret
Send me your public key
Hi Bob, I'm Alice.
I wanna send you a secret Send me your public key
KP Bob
KP Malice Enc(KP Malice , Secret) Enc(KP Bob , Secret)
I've got the secret It's OK I've got the secret It's OK
Trang 40Ch ng th c khóa công khai ứng ực thông điệp
40
CHỨNG THƯ KHÓA CÔNG KHAI
Tôi là: Trent
Chứng thực cho: Bob
Có khóa công khai là: KPBob
Ký tên (Trent)
CHỨNG THƯ KHÓA CÔNG KHAI
Tôi là: Trent
Chứng thực cho: Bob
Có khóa công khai là: KPBob
Ký tên ( Trent )
Trang 41Ch ng th khóa công khai ưng thư khóa công khai ưng thư khóa công khai
41
Trang 42Trao đ i khóa Diffie-Hellman ổi khóa Diffie-Hellman
42
Trang 43 Nguồn khóa thường gặp:
– Mật khẩu
– Khóa trao đổi, ví dụ, bằng Diffie-Hellman
Yêu cầu đối với khóa được sử dụng:
– Độ dài xác định theo hệ mật
– Có tính chất của dãy ngẫu nhiên
– Có thể phải thay đổi khóa khi mã hóa nhiều thông điệp
Cần phải thực hiện dẫn xuất khóa!
D n xu t khóa ẫn xuất khóa ấu trúc học phần
43
Trang 44• Dẫn xuất khóa (Key Derivation) là việc tạo
ra khóa để sử dụng từ một giá trị bí mật cho trước.
• Kỹ thuật thường dùng:
– Băm (một hoặc nhiều lần) bí mật ban đầu
– Lấy một lượng bít cần thiết từ kết quả băm
để làm khóa
– Nếu cần nhiều khóa thì khóa sau được dẫn
xuất từ khóa trước
D n xu t khóa ẫn xuất khóa ấu trúc học phần
44
Trang 45D n xu t khóa Ví d : PBKDF1 ẫn xuất khóa ấu trúc học phần ục tiêu bài học
Trang 46Giới thiệu học phần
1
Cơ sở mật mã cho an toàn mạng
2
Tổng quan về giao thức an toàn mạng
3
Trang 47Ch ng giao th c TCP/IP ồng giao thức TCP/IP ứng
47
Trang 48An toàn mạng máy tính là việc ngăn chặn và
giám sát các truy cập trái phép, sự lạm dụng, sửa đổi hoặc làm gián đoạn hoạt động của
mạng máy tính và các tài nguyên mạng
• An toàn mạng máy tính được đảm bảo bằng
một tập hợp các chính sách và giải pháp kỹ
thuật
• An toàn mạng máy tính đòi hỏi phải cấp quyền
và giám sát việc truy cập các tài nguyên mạng
https://en.wikipedia.org/wiki/Network_security
Khái ni m ệu tham khảo
48
Trang 49 Tấn công: Là hành động có chủ ý nhằm
phá vỡ tính an toàn của thông tin, hệ
thống thông tin được bảo vệ.
Khái ni m ệu tham khảo
49
Trang 50Phân lo i t n công m ng ạng máy tính" ấu trúc học phần ạng máy tính"
Tiêu chí: cách th c tác đ ng lên thông tin ứng ội dung học phần
50
Trang 51 Dịch vụ an toàn: Là dịch vụ nâng cao
an toàn của các hệ thống Mỗi dịch vụ an toàn sử dụng một hay nhiều kỹ thuật đảm bảo an toàn.
Kỹ thuật đảm bảo an toàn: Là kỹ thuật
được thiết kế để phát hiện, ngăn ngừa
hoặc loại bỏ tấn công.
Khái ni m ệu tham khảo
51
Trang 52Cấp quyền Xác thực
Mã hóa
Ký số
D ch v an toàn vs K thu t an toàn ịch vụ an toàn vs Kỹ thuật an toàn ục tiêu bài học ỹ thuật an toàn ập lớn
52
Trang 53Giao th c an toàn m ng ứng ạng máy tính"
53
Trang 54Giao th c an toàn m ng ứng ạng máy tính"
54
Trang 55Giao th c s xem xét trong h c ph n ứng ẽ xem xét trong học phần ọc phần ần
• Giao thức an toàn ở Network: IPsec
• Giao thức an toàn ở tầng Datalink: WEP, WPA, WPA2
Trang 5656
Trang 57T TÌM HI U Ự TÌM HIỂU ỂU Các ch đ c a mã kh i ế độ hoạt động của mã khối ội dung học phần ủa mã khối ối xứng
(Wikipedia, NIST)
57
Trang 59Khái niệm, phân loại xác thực
và giao thức xác thực
1
Truyền trực tiếp bí mật 2
Thách đố bằng nonce 3
Thách đố bằng timestamp 4
Trang 60 Kiến thức
Khái niệm, phân loại xác thực
Khái niệm, phân loại giao thức xác thực
Một số nguyên thủy xác thực thuộc các loại khác nhau
Kỹ năng
Phân tích hoạt động của giao thức xác thực
M c tiêu bài h c ục tiêu bài học ọc phần
60
Trang 611 Giáo trình "Giao thức an toàn mạng máy
Trang 62Khái niệm, phân loại xác thực
và giao thức xác thực
1
Truyền trực tiếp bí mật 2
Thách đố bằng nonce 3
Thách đố bằng timestamp 4
Trang 64M t s khái ni m trong xác th c ội dung học phần ối xứng ệu tham khảo ực thông điệp
64
phép khẳng định rằng thông điệp không
bị thay đổi trong quá trình truyền và bên nhận có thể kiểm tra được nguồn gốc của thông điệp
Trang 65 Xác thực thực thể là một thủ tục mà
qua đó, một thực thể thiết lập một tính
chất được yêu cầu cho một thực thể khác
• Thực thể: người dùng, tiến trình, client,
Trang 67Ký hi u quy ệu tham khảo ưng thư khóa công khaiới "An toàn mạng máy tính" c
67
• Alice (A), Bob (B) là tên của thực thể;
• Alice Bob: m : Alice gửi m đến Bob;
• {m}K : mã hóa m bởi khóa K;
• PA: mật khẩu của A
• KPA: khóa công khai của A;
Trang 68Ký hi u quy ệu tham khảo ưng thư khóa công khaiới "An toàn mạng máy tính" c
68
• KAB: khóa bí mật chia sẻ giữa A và B;
• TA: tem thời gian tạo bởi thực thể A;
• NA: số ngẫu nhiên tạo bởi thực thể A;
• sigA(m) : chữ ký số tạo bởi thực thể A
trên thông báo m ;
Trang 69Khái niệm, phân loại xác thực
và giao thức xác thực
1
Truyền trực tiếp bí mật 2
Thách đố bằng nonce 3
Thách đố bằng timestamp 4
Trang 701 Alice Bob: "Alice", PA
2 Bob kiểm tra tính hợp lệ và chấp nhận
hoặc từ chối truy cập
Truy n tr c ti p y u t bí m t ề giả mạo khóa công khai ực thông điệp ế độ hoạt động của mã khối ế độ hoạt động của mã khối ối xứng ập lớn
70
Trang 71Truy n tr c ti p y u t bí m t ề giả mạo khóa công khai ực thông điệp ế độ hoạt động của mã khối ế độ hoạt động của mã khối ối xứng ập lớn
Trang 72 Phương án lưu trữ mật khẩu của
Alice ở phía Bob:
– Lữu trữ dạng rõ
– Lưu trữ dạng băm
– Lưu trữ dạng băm có phụ gia (salt)
Truy n tr c ti p y u t bí m t ề giả mạo khóa công khai ực thông điệp ế độ hoạt động của mã khối ế độ hoạt động của mã khối ối xứng ập lớn
72
Trang 731.Lưu mật khẩu dạng rõ
Xác th c b ng m t kh u ực thông điệp ằng mật khẩu ập lớn ẩu
73
Trang 742 Lưu mật khẩu dạng băm
Xác th c b ng m t kh u ực thông điệp ằng mật khẩu ập lớn ẩu
74
Trang 753 Lưu mật khẩu dạng băm có salt
Xác th c b ng m t kh u ực thông điệp ằng mật khẩu ập lớn ẩu
75
Trang 76Khái niệm, phân loại xác thực
và giao thức xác thực
1
Truyền trực tiếp bí mật 2
Thách đố bằng nonce 3
Thách đố bằng timestamp 4
Trang 77 Nonce là một đại lượng được sinh ngẫu
nhiên, sao cho không bao giờ lặp lại
Để không lặp lại, nonce thường có kích thước lớn (~128 bít)
Việc nonce không lặp lại giúp đảm bảo tính tươi của thông điệp (thông điệp chỉ được sử dụng 1 lần) trong xác thực
Nonce luôn được sinh bởi bên xác thực
(authentication server)
Nonce
77
Trang 84 Điều kiện
Alice có cặp khóa bí mật, công khai
Yêu cầu
Bob xác thực được Alice
Mã hóa khóa công khai + nonce (1/2)
84
Trang 85 So sánh với NB ban đầu;
Chấp nhận nếu giống nhau
Mã hóa khóa công khai + nonce (1/2)
85
Trang 86Khái niệm, phân loại xác thực
và giao thức xác thực
1
Truyền trực tiếp bí mật 2
Thách đố bằng nonce 3
Thách đố bằng timestamp 4
Trang 87 Timestamp đại lượng chỉ thời gian trên
đồng hồ của mỗi bên tham gia xác thực.
Luôn có sự sai lệch giữa đồng hồ của các bên nên phải xác định một sai số chấp nhận được
: TB- TA TB+
Mỗi timestamp sẽ hợp lệ trong một khoảng
thời gian nhất định để chống tấn công phát lại (replay attack) bên xác thực cần có cơ chế đảm bảo mỗi timestamp chỉ được sử dụng
một lần (ví dụ: ghi nhớ timestamp gần nhất được sử dụng bởi mỗi thực thể)
Timestamp
87
Trang 9494
Trang 95T TÌM HI U Ự TÌM HIỂU ỂU
95
Trang 97Giao thức PAP, CHAP
1
Giao thức Kerberos
2
Giao thức EAP, 802.1X và RADIUS
3
Trang 98 Phân tích cơ chế xác thực của các giao thức
Phân tích hoạt động của giao thức qua việc
chặn thu lưu lượng mạng
M c tiêu bài h c ục tiêu bài học ọc phần
98
Trang 991 Giáo trình "Giao thức an toàn mạng máy
tính"// Chương 2 "Các giao thức xác thực"
2 "Authentication and Identity Protocols",
https://goo.gl/aWuGxb
3 William Stalling, Cryptography and
Network Security Principles and Practice (5e)//Chapter 15.3, Prentice Hall, 2011
4 Dirk van er Walt, FreeRADIUS Beginner's
Guide, Pack Publishing, 2011
Tài li u tham kh o ệu tham khảo ảo
99
Trang 100Thu t ng ti ng Anh ập lớn ữ ký số ế độ hoạt động của mã khối
10 0
Supplicant (hoặc Peer) Bên được xác thực
Authenticator: Bên xác thực
Authentication Server (AS): Máy chủ xác thực
Network Access Server (NAS): Máy chủ truy cập
Trang 101Thu t ng ti ng Anh ập lớn ữ ký số ế độ hoạt động của mã khối
10 1
Supplicant (hoặc Peer) Bên được xác thực
Authenticator: Bên xác thực
Authentication Server (AS): Máy chủ xác thực
Network Access Server (NAS): Máy chủ truy cập
Authentication Server: Máy chủ xác thực
Giúp Authenticator xác thực Supplicant
Tức là cung cấp dịch vụ xác thực cho
Authenticator
Authentication Server: Máy chủ xác thực
Giúp Authenticator xác thực Supplicant
Tức là cung cấp dịch vụ xác thực cho
Authenticator
Trang 102Thu t ng ti ng Anh ập lớn ữ ký số ế độ hoạt động của mã khối
10 2
Supplicant (hoặc Peer) Bên được xác thực
Authenticator: Bên xác thực
Authentication Server (AS): Máy chủ xác thực
Network Access Server (NAS): Máy chủ truy cập
Network Access Server : Máy chủ dịch vụ
Là một authenticator
Cung cấp dịch vụ cho supplicant
Network Access Server : Máy chủ dịch vụ
Là một authenticator
Cung cấp dịch vụ cho supplicant
Trang 103Giao thức PAP, CHAP
1
Giao thức Kerberos
2
Giao thức EAP, 802.1X và RADIUS
3
Trang 104 PAP và CHAP là 2 giao thức xác thực
được sử dụng trong giao thức PPP
PAP (0xC023) và CHAP (0xC223) đều sử dụng mật khẩu để xác thực
PAP (RFC 1334, Password Authentication
Protocol) truyền mật khẩu dạng rõ
CHAP (RFC 1994, Challenge Handshake
Authentication Protocol) sử dụng cơ chế
thách đố, giải đố
PAP và CHAP
10 4
Trang 105• Password Authentication Protocol
• Là giao thức bắt tay 2 bước (2-way)
• Xác thực bằng mật khẩu
Giao th c PAP ứng
10 5
Trang 106Giao th c PAP ứng
10 6
Trang 107Three PPP PAP Frame Types
10 7
Trang 108PPP PAP Authentication Request
10 8
Trang 109Giao th c PAP: 2 b ứng ưng thư khóa công khaiới "An toàn mạng máy tính" c xác th c ực thông điệp
10 9
Trang 110PPP PAP Authentication Request
11 0
Trang 111Giao th c PAP: Auth Ack ứng
11 1
Trang 112• Mật khẩu truyền ở dạng rõ
• Có thể bị chặn thu trên đường truyền
Giao th c PAP: V n đ an toàn ứng ấu trúc học phần ề giả mạo khóa công khai
11 2
Router 1
Router 2
Trang 113• CHAP = Challenge Handshake
Trang 114Giao th c CHAP ứng
11 4
4
Compare hash value
6
Server Client
Logon request
1
Trang 115Giao th c CHAP ứng
11 5
Trang 116Giao th c CHAP: Xác th c 3 b ứng ực thông điệp ưng thư khóa công khaiới "An toàn mạng máy tính" c, 2 chi u ề giả mạo khóa công khai
11 6
Trang 117Giao th c CHAP: Challenge ứng
11 7
Giải thích đại lượng này!
Trang 118Giao th c CHAP: Response ứng
11 8
Giải thích đại lượng này!
Trang 119Giao th c CHAP: Success ứng
11 9
Trang 120Giao thức PAP, CHAP
1
Giao thức Kerberos
2
Giao thức EAP, 802.1X và RADIUS
3
Trang 121 Mục tiêu: xác thực hai chiều trong mô
hình client-server
Dựa trên giao thức Needham-Schroeder
Sử dụng mật mã đối xứng; có bên thứ ba tin cậy là “Trung tâm phân phối khóa”
(Key Distribution Center)
Là giao thức Single Sign-On (SSO)
Có nhiều phiên bản: 1, 2, 3 và 4, 5
Thông tin chung v Kerberos ề giả mạo khóa công khai
12 1