TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN
Bài giảng môn học: AN NINH MẠNG
Số tín chỉ: 3 Tổng số tiết: 60 tiết (30 LT + 30 TH)
Giảng viên: ThS. Phạm Đình Tài Tel: 0985733939 Email: pdtai@ntt.edu.vn
Môn học: AN NINH MẠNG
Bài 1
Các kỹ thuật tấn công mạng.
Bài 2
Các kỹ thuật mã hóa và xác thực
Bài 3
Triển khai hệ thống Firewall
Bài 4
Chứng thực trên Firewall
Bài 5
Thiết lập các chính sách truy cập
Bài 6
Bảo vệ Server công cộng
Bài 7
Bảo mật truy cập từ xa
- 2 -
Bài 2: Các kỹ thuật mã hóa và xác thực
Mã hóa khóa đối xứng
Mã hóa khóa bất đối xứng
Chứng thư số (Certificate Authority)
Chữ ký số (Digital Sign)
Hàm băm (hash)
Trao đổi khóa
Mục tiêu của an toàn thông tin
• Tiêu chuẩn an toàn thông tin:
• An toàn thông tin là các biện pháp nhằm bảo mật thông tin
Accountability
Reliability
Authenticity
Non-repudiation
Integrity
Availability
Confidentialit y
Information Security
People
Policy
Technolo gy
Procedur es
ISO/IEC-27001:2005
Legal Framework
Mục tiêu của an toàn thông tin
• Lớp nền tảng của an toàn thông tin:
• Chỉ những người được phân quyền mới có thể truy cập được dữ liệu. • Mã hóa dữ liệu trước khi truyền từ nơi này sang nơi khác.
• Tính bí mật (Confidentiality)
• Người nhận sẽ xác minh sự toàn vẹn của dữ liệu. • Đảm bảo dữ liệu không bị thay đổi trên đường truyền.
• Tính toàn vẹn (Integrity)
• Đảm bảo dữ liệu luôn trong tình trạng sẵn sàng khi người dùng có nhu
cầu truy cập.
$10.0 00
$10 0
$10.0 00
5
5
• Tính sẵn sàng (Avaibility)
Mục tiêu của an toàn thông tin
• Lớp xác thực thông tin:
• Authenticity: xác minh nguồn gốc của thông tin
• Đảm bảo người tạo ra thông tin không thể phủ nhận thông tin mình đã
tạo.
• Non-repudiation (tính chống từ chối):
• Lớp
Accountability
Reliability
Authenticity
Non-repudiation
Integrity
Availability
Confidentialit y
Information Security
People
Policy
Technolo gy
Procedur es
Legal Framework
6
Mã hóa khóa đối xứng
• Khái niệm mã hóa:
• Mật mã (encryption) là dùng thuật toán (algorithms) nào đó để
làm biến đổi thông tin gốc.
• Giải mã (decryption) là dùng thuật toán để chuyển thông tin đã bị
biến đối thành thông tin gốc.
• Hệ thống mã hóa (cryptosystem): bao gồm các thuật toán mã hóa
và giải mã.
7
• Khóa mã (Key) là chìa khóa (từ khóa, mã khóa…) điều khiển hoạt động của việc mã hóa hoặc giải mã trong thuật toán.
Mã hóa khóa đối xứng
• Mã hóa khóa đối xứng.
• Thông tin gốc X được mã hóa bởi khóa K để thanh dữ liệu Y.
• Dữ liệu Y được truyền trên mạng tới nơi nhận.
• Nơi nhận sẽ dùng chính khóa K để giải mã dữ liệu Y thanh thông
8
tin gốc X.
Mã hóa khóa đối xứng
• Ví dụ về mã hóa khóa đối xứng bằng thuật toán XOR:
Bên gởi
X = 1000 1011 K = 0101 0101 Y = 1101 1110
Bên nhận dùng khóa Đúng Y = 1101 1110 K = 0101 0101 X = 1000 1011
A xor B
Bảng chân trị của XOR B A 0
0
0
0
1
1
1
0
1
1
1
0
Bên nhận dùng khóa Sai Y = 1101 1110 K = 0001 0001 X = 1100 1111 (2 bit giống nhau trả về 0 2 bit khác nhau trả về 1 )
9
Mã hóa khóa đối xứng
• Một số thuật toán mã hóa khóa đối xứng thông dụng.
• Thông điệp (message) được chia thành những khối (block) 64 bits • Dùng khóa 56 bít để mã hóa. ( 8 bit để kiểm tra chẳn, lẻ) • Có thể bị tấn công bằng giải thuật vét cạn khóa (Brute-force)
• DES (Data Encryption Standard):
• Triple DES: thực hiện thuật toán DES 3 lần.
EK1 { DK2 [ EK1 (m) ] } => c
• Mã hóa thông điệp m: • Mã hóa thông tin đã mã hóa c:
DK1 { EK2 [ DK1 (c) ] } => m
• Thông điệp được chia khối tương tự DES • Dùng khóa: 128, 192 hoặc 256 bits
10
• AES (Advanced Encryption Standard): thay thế cho DES
Mã hóa khóa bất đối xứng
• Mã hóa bất đối xứng – thuật toán RSA.
• Mỗi máy tính sử dụng bộ khóa bao gồm 2 khóa:
• Kr: Khóa riêng (private) – giữ trong máy, không public ra ngoài. • Kp: Khóa chung (public) – không giữ trong máy, public ra ngoài.
• Dữ liệu mã hóa bằng khóa riêng Kr thì chỉ giải mã được bằng khóa
chung Kp
• Dữ liệu mã hóa bằng khóa chung Kp thì chỉ giải mã được bằng khóa
riêng Kr
11
• Nguyên tắc mã hóa và giải mã:
Mã hóa thông tin (Cryptography)
• Các phương pháp dùng thuật toán RSA:
• Giả định: Alice muốn truyền thông tin cho Bob
• Bob công khai khóa KpB ra ngoài • Alice mã hóa bằng khóa KpB của Bob • Bob giải mã bằng khóa KrB của Bob
• Giải pháp 1:
• Alice công khai khóa KpA ra ngoài • Alice mã hóa bằng khóa KrA của Alice • Bob giải mã bằng khóa KpA của Alice
12
• Giải pháp 2:
Hàm băm (hash function)
• Công dụng của hàm băm
• Băm thông điệp bất kỳ về kích thước cố định.
• Phát hiện sự thay đổi trên thông điệp
• Có thể được sử dụng để tạo chữ ký trên thông điệp
• Tính chất của hàm băm:
• Nếu có thông điệp (M) sẽ dễ dàng tính được mã băm (h) theo một
thuật toán băm (H) nào đó (ví du: MD5, SHA1,…)
• Nếu có mã băm (h), không thể tính ngược được để cho ra thông
điệp (M) cho dù biết thuật toán băm.
• Kích thước h nhỏ và cố định
13
• h chỉ phụ thuộc vào M
Hàm băm (hash function)
• Hàm băm đơn giản:
• Dùng thuật toán XOR để băm thông điệp
• Thông điệp (M): 1010 1100 0111 1000 1010 1100
• Băm 8 bit – chia thông diệp thành các đoạn 8 bit
1010 1100 0111 1000 1010 1100
Mã băm (h): 0111 1000
• Nếu có thay đổi trên thông điệp
1010 1101 0111 1000 1010 1100
14
Mã băm mới: 0111 1001 sẽ khác với mã băm cũ
Hàm băm (hash function)
• Minh họa ứng dụng Hash:
• Mật khẩu “abc” theo dạng ASCII:
0100 0001 0100 0010 0100 0011
• Băm 8 bit theo thuật toán XOR ta được mã băm: 0100 0000
• Hệ thống lưu trữ mật khẩu “abc” dưới dạng mã băm: 0100 0000
• Trường hợp Attacker lấy được bảng mật khẩu => không thể giải
15
mã băm 0100 0000 thành mật khẩu “abc” .
Trao đổi khóa (Key exchange)
• Thuật toán Diffie-Hellman:
• Mục đích: đảm bảo tính bí mật
khi 2 đối tác thảo thuận thay đổi khóa đối xứng.
• Alice và Bob đang dùng 1 khóa
chung (màu vàng), muốn thay đổi khóa chung khác.
• Mỗi bên tự tạo 1 khóa mới, trộn
với Khóa chung đang dùng. • Gởi khóa đã trộn cho đối tác. • Trộn khóa nhận được với khóa
tự tạo => có được Khóa chung mới giống nhau cho cả 2.
- 16 -
• Cơ chế hoạt động:
Chứng thư số (Certification Authority)
• Vai trò của Chứng thư số (Certification Authority – CA)
• Mã hóa thông tin truyền.
• Chứng thực nguồn cung cấp dịch vụ (Server) bởi “Nhà cung cấp
chứng thư” tin cậy.
• Đảm bảo tính toàn vẹn dữ liệu trong quá trình mã hóa và giải mã
CA Server
Server
Client
17
thông tin.
Chứng thư số (Certification Authority)
• Hoạt động của CA
1. Client gởi yêu cầu truy cập dịch vụ đến Server. 2. Server gởi Cert. của nó cho Client, bao gồm khóa public KpuS 3. Client gởi Cert. tới CA Server nhờ chứng thực nguồn gốc.
CA Server
Server
Client
18
4. Nếu CA Server xác nhận đúng, client sẽ tiến hành giao dịch với Server bằng dữ liệu mã hóa bởi khóa KpuS (Server giải mã bằng khóa KprS của nó).
Chữ ký số (Digital Signature)
• Vai trò của Chữ ký số (Digital Signature)
• Mã hóa thông tin truyền.
• Chứng thực người truy cập dịch vụ (Client) bởi “Nhà cung cấp chữ
ký số” tin cậy.
• Đảm bảo tính toàn vẹn dữ liệu trong quá trình mã hóa và giải mã
19
thông tin.
Chữ ký số (Digital Signature)
• Hoạt động của DS
1. Client kết nối Server để thực hiện giao dịch dùng DS. 2. Client gởi Sign. của nó cho Server, bao gồm khóa public KpuC 3. Server gởi Sign. tới CA Server nhờ chứng thực nguồn gốc.
4. Nếu CA Server xác nhận đúng, Server sẽ tiến hành giao dịch với
CA Server
Server
Client
20
Client bằng dữ liệu mã hóa bởi khóa KpuC
Chứng thư số (Certification Authority)
• Giả mạo chứng thư số
Trong trường hợp Client đã bị tấn công Man in the middle.
1. Yêu cầu truy cập của Client sẽ gởi tới Hacker.
2. Hacker giao dịch với Server như 1 client bình thường.
3. Hacker giả mạo Server gởi cho Client một Cert. giả.
4. Client đem Cert. đi chứng thực, nó sẽ nhận được cảnh báo “không
CA Server
Server
Client
Hacker
21
tin cậy” từ CA Server.
Chữ ký số (Digital Signature)
• Giả mạo Chữ ký số
Trường hợp Client đã bị tấn công Man in the middle và người dùng Client đã chấp nhận dùng Certification không tin cậy từ Hacker
1. Hacker dùng Sign. giả gởi tới Server.
2. Server đem Sign. đi chứng thực, nó sẽ nhận được cảnh báo “không
tin cậy” từ CA Server
CA Server
Server
Client
Hacker
22
3. Server hủy phiên giao dịch.
Thảo Luận
Cấu trúc MT – ThS. Vương Xuân Chí
Trang 23