Chương 6. An toàn mạng máy tính
1-6/2006
Chương 6.
An toàn mạng máy tính Đặng Xuân Hà Computer Networking 2006 (http://www.hau1.edu.vn/it/dxha/courses/0506/comnet_k48th) Dept. of SE, FIT, HAU1.
An ninh truyền tin người-người -Kẻ trộm không hiểu được nội dung -Thông điệp không bị sửa đổi -Gửi đúng địa chỉ -…
-Ăn trộm -Sửa đổi -Huỷ bỏ -…
?????? "Thần tốc, thần tốc hơn nữa. Táo bạo, táo bạo hơn nữa. Tranh thủ từng giờ, từng phút, xốc tới mặt trận, giải phóng miền Nam, quyết chiến và toàn thắng". 1-6/2006
Chương 6. An toàn mạng máy tính
2
Ch7. An toàn mạng máy tính 7.1 - An toà toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
3
1
Chương 6. An toàn mạng máy tính
1-6/2006
Tryền tin an toàn trong mạng máy tính
Alice, Bob, Trudy: các máy tính cụ thể, các dịch vụ cụ thể (web, mail, DNS, bank…). Bob, Alice muốn “trò chuyện” bí mật; nạn nhân (victim) của Trudy Trudy (kẻ trộm) muốn và có thể nghe thấy, lưu lại, huỷ bỏ, sửa đổi thông điệp, gửi thông điệp giả mạo.
(Alice’s boyfriend)
(Bob’s girlfriend) (Kẻ phá hoại) Chương 6. An toàn mạng máy tính
1-6/2006
4
Các yêu cầu về an toàn truyền tin
Bí mật (confidentiality): msg truyền đi chỉ có sender (sndr) và receiver (rcvr) hiểu được. ¾ ¾
sndr mã hoá msg rcvr giải mã msg
Chứng thực (authentication): đảm bảo sndr và rcvr đang trao đổi thông tin với đúng đối tượng (không bị giả mạo). Tính liêm chính và nguyên vẹn (integrity): msg nhận được không bị sửa đổi và nếu bị sửa đổi phải phát hiện được; msg phải đảm bảo đến từ đúng sndr. Kiểm soát truy cập (access control): ¾ ¾
1-6/2006
kiểm soát được sự truy nhập dịch vụ (firewalls). dịch vụ luôn sẵn sàng với người dùng hợp lệ.
Chương 6. An toàn mạng máy tính
5
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
6
2
Chương 6. An toàn mạng máy tính
1-6/2006
Mã hoá (cryptography)
Mã hoá (encryption): chuyển msg thành dạng khác mà chỉ có sndr và rcvr hiểu được bằng cách giải mã (decryption). Khoá (key): thông tin sử dụng để mã hoá hay giải mã ¾ ¾
Khoá đối xứng (symmetric); khoá chia sẻ (shared): cả sndr và rcvr cùng biết. Khoá công khai (public): khoá dùng để mã hoá được công khai. Chương 6. An toàn mạng máy tính
1-6/2006
7
Mã hoá đối xứng (SKC - Symmetric Key Cryptography)
Mã Caesar: thay thế các ký tự của msg bởi ký tự đứng sau nó k vị trí.
Phương pháp thế (substitution):
¾
¾ ¾
Vd: k=1 thì aÅb, bÅc,…,zÅa. thay thế ký tự theo bảng thay thế. mã Caecar là trường hợp đặc biệt.
Ví dụ:
Dễ mã hoá hoá/giả /giải mã Dễ phá phá mã??? mã??? (brute(brute-force attack + sự hiể hiểu biế biết về victim và ngôn ngữ ngữ tự nhiên) nhiên)
Bảng thế
Msg
plaintext: bob. i love you. alice ciphertext: nkn. s gktc wky. mgsbc
Chương 6. An toàn mạng máy tính
1-6/2006
8
SKC: DES
DES: Data Encryption Standard Đưa ra bởi NIST (National Institute of Standard and Technology, US). Khoá (key) là một số nhị phân 56-bit; dữ liệu (data) là số nhị phân 64-bit. Mức độ an toàn của DES: ¾
RSA Inc. 1997, msg = “Strong cryptography makes the world a safer place” , khoá 56-bit. giải mã bằng brute-force: 4 tháng.
Tăng độ an toàn của DES: ¾ ¾ ¾
cipher-block chaining: đầu ra của bộ 64-bit thứ j XOR với 64-bit vào kế tiếp. mã hoá nhiều lần liên tiếp (3 lần Æ triple-DES: 3DES). Advanced Encryption Standard (AES):
1-6/2006
NIST cải tiến DES, 2001; Khoá: 128, 256, 512-bit; brute-force: 149 nghìn tỷ (trillion) năm đối với 1 giây để giải mã DES 56-bit key. Chương 6. An toàn mạng máy tính
9
3
Chương 6. An toàn mạng máy tính
1-6/2006
Basic DES operation
Chương 6. An toàn mạng máy tính
1-6/2006
10
Public Key Cryptography (PKC)
Sử dụng khoá đối xứng (SKC): ¾ ¾ ¾
khoá mã và khoá giải mã giống nhau (khoá bí mật). sndr và rcvr cần phải thoả thuận trước khoá bí mật. nếu khoá dùng chung được gửi qua mạng thì cũng có khả năng bị “ăn cắp”.
Mã hoá sử dụng khoá công khai: ¾
¾ ¾ ¾
mỗi bên (sndr, rcvr) sử dụng một cặp khoá (khoá mã và khoá giải mã). khoá mã được công khai (PK - public key). khoá giải mã là bí mật (SK - secret key; sndr không cần biết khoá này của rcvr). sndr không cần biết khoá bí mật của rcvr.
1-6/2006
Chương 6. An toàn mạng máy tính
11
PKC (cont)
KB+ : khoá công khai (khoá mã) của Bob KB- : khoá bí mật (khoá giải mã) của Bob Alice chỉ cần biết KB+ để mã hoá thông điệp m.
1-6/2006
Chương 6. An toàn mạng máy tính
12
4
Chương 6. An toàn mạng máy tính
1-6/2006
PKC (cont)
Yêu cầu đối với PKC: ¾
Cần có hai “hàm” KB+ ( ) và KB- ( ) sao cho:
m = KBKB- (KB+ ( m)) ¾
“Không thể” tìm ra KB- khi biết KB+
Ví dụ: RSA (Rivest, Shamir, Adelson) algorithm ¾ Khoá công khai và khoá bí mật là các cặp số nguyên. ¾
Chương 6. An toàn mạng máy tính
1-6/2006
13
RSA: Chọn khoá thế nào?
Chọn hai số nguyên tố lớn p, q. (vd: 1024-bits); Tính n = pq, z = (p-1)(q-1); Chọn số e < n với e và z là hai số nguyên tố cùng nhau. Chọn số d sao cho (e.d - 1) chia hết cho z (e.d mod z =1). Từ đó, có: ¾ ¾
Khoá công khai: (n,e) n,e) Khoá bí mật: (n,d) n,d)
1-6/2006
Chương 6. An toàn mạng máy tính
14
RSA: Encryption, decryption
Mã hoá: m là dãy bit cần mã hoá c = me mod n ¾ c là mã hoá của m ¾ ¾
Giải mã: rcvr nhận được c ¾ m = cd mod n ¾
1-6/2006
Chương 6. An toàn mạng máy tính
15
5
Chương 6. An toàn mạng máy tính
1-6/2006
RSA example Bob chooses p=5, q=7. Then n=35, z=24. e=5 (so e, z relatively prime). d=29 (so ed-1 exactly divisible by z)
encrypt:
decrypt:
letter
m
me
l
12
1524832
c 17
d c 481968572106750915091411825223071697
c = me mod n 17 m = cd mod n letter 12 l
Chương 6. An toàn mạng máy tính
1-6/2006
16
RSA: more -
+ B
+ B
B
K (K (m)) = m = K (K (m)) B
sử dụng khoá công khai trước
sử dụng khoá bí mật trước
Thứ tự sử dụng khoá công khai và bí mật không ảnh hưởng tới kết quả mã hoá/giải mã 1-6/2006
Chương 6. An toàn mạng máy tính
17
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứ Chứng thự thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
18
6
Chương 6. An toàn mạng máy tính
1-6/2006
Chứng thực
Mục đích của chứng thực là đảm bảo chắc chắn đối phương không bị giả mạo. Authentication Protocol – ap (textbook #1). ap1.0: Alice say “I’m Alice”
Failed Bob không “nhìn thấy” Alice trong mạng máy tính (# đời thực) 1-6/2006
19
Chương 6. An toàn mạng máy tính
Authentication: ap2.0
Failed
Alice says “I am Alice” và gửi kèm địa chỉ của mình để chứng minh: gói tin của Alice có chứa IP của Alice (src addr). Trudy có thể tạo các gói tin giả mạo có chứa src addr là IP của Alice
1-6/2006
20
Chương 6. An toàn mạng máy tính
Authentication: ap3.0
Failed
Alice gửi kèm password để chứng minh. Trudy có khả năng “nghe” được password của Alice. ¾
1-6/2006
Trudy ghi lại password rồi dùng nó để gửi cho Bob khi bị hỏi password (record and playback). Chương 6. An toàn mạng máy tính
21
7
Chương 6. An toàn mạng máy tính
1-6/2006
Authentication: ap3.1
Alice gửi kèm password đã được mã hoá (encrypted password) để chứng minh. Trudy có khả năng “nghe” được password đã mã hoá của Alice, nhưng không biết password là gì !!! Tuy nhiên, Trudy chẳng cần biết password của Alice làm gì, chỉ cần password đã mã hoá là đủ. Alice’s encryppted“I’m Alice” IP addr password
Alice’s IP addr
OK
Alice’s encrypted “I’m Alice” IP addr password
1-6/2006
Chương 6. An toàn mạng máy tính
22
Authentication: ap4.0
Nonce: số ngẫu nhiên được Bob sử dụng để “chứng thực” Alice. Mỗi lần cần chứng thực, Bob tạo ra một nonce rồi gửi cho Alice, yêu cầu Alice mã hoá (sử dụng khoá bí mật chung KA-B) rồi gửi lại. Bob kiểm tra xem Alice mã hoá có đúng không? để chứng thực. Trudy có thể ghi lại nhưng không thể dùng lại do nonce là khác nhau với mỗi lần chứng thực. Nhược điểm: khoá bí mật; liệu có thể sử dụng khoá công khai???
1-6/2006
Chương 6. An toàn mạng máy tính
23
Authentication: ap5.0
Sử dụng nounce và mã hoá công khai.
1-6/2006
Chương 6. An toàn mạng máy tính
24
8
Chương 6. An toàn mạng máy tính
1-6/2006
ap5.0: lỗ hổng (security hole)
Trudy giả mạo Alice. Alice và Bob có thể phát hiện ra việc giả mạo này sau một thời gian (lần “nói chuyện” sau, vì thực tế lần trước Alice bị giả mạo).
1-6/2006
Chương 6. An toàn mạng máy tính
25
Lỗ hổng ap5.0: man-in-the-middle attack
Trudy đứng ở giữa, giả mạo Bob với Alice và giả mạo Alice với Bob. Rất khó phát hiện vì Trudy luôn nhận được và giả mạo các thông điệp. Giải pháp: Key Distribution Center.
1-6/2006
Chương 6. An toàn mạng máy tính
26
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chí chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
27
9
Chương 6. An toàn mạng máy tính
1-6/2006
Integrity
Để đảm bảo dữ liệu được nguyên vẹn, có thể sử dụng các phương pháp kiểm soát lỗi (checksum, CRC…). Để kiểm tra được dữ liệu nhận được đến từ một sndr cụ thể nào đó, sử dụng chữ ký điện tử (chữ ký số - digital signature). Chữ ký thông thường: giống nhau với mọi msg. Chữ ký điện tử: phải khác nhau với các msg khác nhau.
1-6/2006
Chương 6. An toàn mạng máy tính
28
Simple digital signature
Bob sử dụng KB- để mã hoá msg m Æ KB-(m). Alice nhận được KB-(m), kiểm tra KB+ (KB-(m)) = m để xác nhận Bob.
1-6/2006
Chương 6. An toàn mạng máy tính
29
Tóm tắt msg: Message Digests
Nếu msg lớn, việc tính toán chữ ký điện tử tiêu tốn nhiều thời gian Æ cần tóm tắt msg. Sử dụng hash function để tóm lược một msg bất kỳ Æ msg có kích thước cố định: msg digests.
1-6/2006
Chương 6. An toàn mạng máy tính
30
10
Chương 6. An toàn mạng máy tính
1-6/2006
Sender: Bob sends digitally signed message
1-6/2006
Chương 6. An toàn mạng máy tính
31
Receiver: Alice verifies signature and integrity of digitally signed message
1-6/2006
Chương 6. An toàn mạng máy tính
32
Hash Function Algorithms: Internet checksum
problem (poor has crypto function): msg khác nhau nhưng checksum giống nhau.
1-6/2006
Chương 6. An toàn mạng máy tính
33
11
Chương 6. An toàn mạng máy tính
1-6/2006
Hash Function Algorithms (cont)
MD5 hash function (RFC 1321) ¾ được sử dụng rộng rãi hiện nay. ¾ 128-bit msg digest. ¾ cho một chuỗi 128-bit x, rất khó để xây dựng msg m mà MD5 hash = x. SHA-1 ¾ US standard [NIST, FIPS PUB 180-1] ¾ 160-bit message digest Chương 6. An toàn mạng máy tính
1-6/2006
34
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng Chương 6. An toàn mạng máy tính
1-6/2006
35
Key Distribution and Certification
Mã đối xứng: ¾
Làm thế nào để Bob và Alice thoả thuận khoá bí mật?
Mã công khai: ¾
Giải pháp: ¾
¾
Trusted Key Distribution Center (KDC) đóng vai trò trung gian. KDC tạo ra các khoá bí mật cho các user đã đăng ký.
Giải pháp: ¾
¾
1-6/2006
Khi Bob nhận khoá công khai của Alice. Làm thế nào biết được đó chính xác là khoá công khai của Alice mà không phải là của Trudy? Trusted Certification Authorities (CA). CA gán các khoá công khai cho từng user.
Chương 6. An toàn mạng máy tính
36
12
Chương 6. An toàn mạng máy tính
1-6/2006
KDC KA-KDC
KA-KDC
KB-KDC
KB-KDC
?
KT-KDC
KT-KDC
Alice, Bob (thậm chí cả Trudy, nếu đã đăng ký) đều có khoá bí mật dùng để liên lạc với KDC: KA-KDC, KB-KDC Bob và Alice sử dụng R1 làm session key. (KDC generate R1). Trudy không thể biết R1.
1-6/2006
Chương 6. An toàn mạng máy tính
37
CA
Mỗi user sẽ đăng ký khoá công khai với CA. Mỗi khi Bob cần khoá công khai của Alice thì sẽ không hỏi Alice mà hỏi CA. ¾ ¾
1-6/2006
Lấy certificate của Alice Sử dụng CA’s public key để giải mã Æ Alice public key.
Chương 6. An toàn mạng máy tính
38
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiể Kiểm soá soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
39
13
Chương 6. An toàn mạng máy tính
1-6/2006
Firewall
Firewall: “Cửa” ra/vào giữa mạng nội bộ và mạng Internet, làm nhiệm vụ ngăn cấm các luồng dữ liệu “bất hợp pháp” ra/vào.
1-6/2006
Chương 6. An toàn mạng máy tính
40
Các mức firewalls
Firewall có thể thực thi bằng phần cứng (thiết bị mạng) hay phần mềm (phần mềm firewall). Hai mức: ¾ ¾
packet filtering (vd: router firewall) application gateway.
Packet filtering: Lọc các gói tin ra/vào mạng. src/dest IP addr TCP/UDP src/dest port number ¾ ICMP msg type ¾ TCP SYN and ACK bits (quản lý liên kết TCP). ¾ ¾
1-6/2006
Chương 6. An toàn mạng máy tính
41
Packet filtering example
Example 1: block incoming and outgoing datagrams with IP protocol field = 17 and with either source or dest port = 23. ¾ All incoming and outgoing UDP flows and telnet connections are blocked. Example 2: Block inbound TCP segments with ACK=0. ¾ Prevents external clients from making TCP connections with internal clients, but allows internal clients to connect to outside.
1-6/2006
Chương 6. An toàn mạng máy tính
42
14
Chương 6. An toàn mạng máy tính
1-6/2006
Application gateway
Nhược điểm của packet filtering ¾ ¾
Application gateway: ¾ ¾
không lọc được dữ liệu tầng ứng dụng không thiết lập được đặc quyền cho một vài người sử dụng trong một số trường hợp (lọc mọi gói tin). lọc các luồng dữ liệu của các ứng dụng lọc các luồng IP/UDP/TCP
Một số firewalls: ¾ ¾ ¾
1-6/2006
Windows XP Personal firewall Microsoft ISA server (đa chức năng) Checkpoint Chương 6. An toàn mạng máy tính
43
Application gateway + packet filtering
1-6/2006
Chương 6. An toàn mạng máy tính
44
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
45
15
Chương 6. An toàn mạng máy tính
1-6/2006
Internet security threats: mapping
Mapping: trước khi tấn công: phải xác định địa chỉ IP của victim (ping …) dò tìm các dịch vụ đang chạy (port scanning): thử thiết lập liên kết TCP hoặc gửi các segment UDP rồi “nghe ngóng” xem có chuyện gì xảy ra! ¾ nmap (http://www.insecure.org/nmap/) mapper: “network exploration and security auditing” ¾ ¾
Để phát hiện mapping, quản trị mạng có thể ghi lại các luồng ra/vào, thống kê và tìm ra các dấu vết nghi ngờ (địa chỉ IP, port kế tiếp nhau). 46
Chương 6. An toàn mạng máy tính
1-6/2006
Internet security threats: packet sniffing
Packet sniffing (nghe trộm/bắt gói tin) ¾ ¾
broadcast media: mọi nút mạng đều cảm được gói tin gửi đi. promiscuous NIC luôn nhận các gói tin cảm được.
Giải pháp: Quản trị mạng có thể dùng phần mềm để phát hiện các promiscuous NIC. C
A
src:B dest:A
payload
B 47
Chương 6. An toàn mạng máy tính
1-6/2006
Internet security threats: IP spoofing
IP spoofing (giả mạo gói tin): ¾ ¾
tạo các gói tin giả (thay đổi src addr) rồi gửi đi rcvr không phát hiện được liệu gói tin có bị giả mạo không?
Giải pháp: cấu hình router để nó không forward các gói tin có src addr sai lệch (không khả thi với mọi router, đôi khi, kẻ phá hoại lại là quản trị mạng) C
A src:B dest:A
payload
B 1-6/2006
Chương 6. An toàn mạng máy tính
48
16
Chương 6. An toàn mạng máy tính
1-6/2006
Internet security threats: DoS
DoS (Denial of Service): tấn công “từ chối dịch vụ”: ¾ ¾ ¾
hàng loạt các requests (flood) được gửi tới server server không thể xử lý hết Æ quá tải, dịch vụ ngừng… DDoS (Distributed DoS): các gói tin request được gửi từ các máy khác nhau trong mạng (bị điều khiển bởi attacker machine).
Giải pháp: lọc các gói tin flood (SYN packet); tìm src IP rồi lọc các gói tin
Chương 6. An toàn mạng máy tính
1-6/2006
49
Something about Computer Viruses
Virus/Worm/Trojan/Backdoor…: các chương trình có hại cho người dùng, có lợi cho “người khác”. Virus mạng: ¾ ¾
Lan truyền qua mạng (Vd: Blaster). Cho phép điều khiển máy tính của nạn nhân. ra lệnh
Chương trình virus
phản hồi
Chương trình điều khiển VR
NET Victim 1-6/2006
Attacker Chương 6. An toàn mạng máy tính
50
Ch7. An toàn mạng máy tính 7.1 - An toàn mạng và các yêu cầu 7.2 - Mã hoá (cryptography) 7.3 - Chứng thực (authentication) 7.4 - Tính liêm chính và nguyên vẹn (integrity) 7.5 - Key Distribution and Certification 7.6 - Kiểm soát truy cập (access control): firewalls 7.7 - Tấn công mạng (network attacks) 7.8 - An ninh tại các tầng mạng 1-6/2006
Chương 6. An toàn mạng máy tính
51
17
Chương 6. An toàn mạng máy tính
1-6/2006
Các giao thức an toàn tại các tầng
Secure email: ¾
Secure web: ¾
SSL (Secure Socket Layer): Hoạt động như tầng trung gian giữa HTTP và Transport Æ HTTPS (Secure HTTP)
Network layer security: ¾
Pretty good privacy (PGP) sử dụng chữ ký điện tử (PGP signature).
IPsec (IP secure): AH (mã hoá IP header) & ESP (mã hoá IP payload).
Wireless security: ¾
1-6/2006
Wired Equivalent Privacy (WEP). Chương 6. An toàn mạng máy tính
52
18