Institute of Network Security - istudy.ispace.edu.vn
KỸ THUẬT TẤN CÔNG VÀ PHÕNG
THỦ TRÊN KHÔNG GIAN MẠNG
Institute of Network Security - istudy.ispace.edu.vn
NỘI DUNG
• Module 1: Tổng quan An ninh mạng
• Module 2: Kỹ thuật tấn công
• Module 3: Kỹ thuật mã hóa
• Module 4: Bảo mật hệ điều hành
• Module 5: Bảo mật ứng dụng
• Module 6: Virus và các loại mã độc
• Module 7: Các công cụ phân tích an ninh mạng
• Module 8: Chính sách bảo mật và phục hồi thảm họa dữ liệu
• Ôn tập
• Báo cáo đồ án
• Thi cuối khóa
Institute of Network Security - istudy.ispace.edu.vn
KỸ THUẬT TẤN CÔNG VÀ PHÕNG THỦ
TRÊN KHÔNG GIAN MẠNG
• Module 1: Tổng quan An ninh mạng
• Module 2: Kỹ thuật tấn công
• Module 3: Kỹ thuật mã hóa
• Module 4: Bảo mật hệ điều hành
• Module 5: Bảo mật ứng dụng
• Module 6: Virus và các loại mã độc
• Module 7: Các công cụ phân tích an ninh mạng
• Module 8: Chính sách bảo mật và phục hồi thảm họa dữ liệu
• Ôn tập
• Báo cáo đồ án
• Thi cuối khóa
Module 3: Kỹ thuật mã hóa
Institute of Network Security - istudy.ispace.edu.vn
MODULE 3: KỸ THUẬT MÃ HÓA
• Lesson 1: Tổng quan mật mã học (Cryptography)
• Lesson 2: Các phương pháp và thuật toán mã hóa
• Lesson 3: Hàm băm và ứng dụng
• Lesson 4: PKI (Public Key Infrastructure)
• Lesson 5: Các bộ giao thức bảo mật: SSL và IPSec
Institute of Network Security - istudy.ispace.edu.vn
MODULE 3: KỸ THUẬT MÃ HÓA
• Lesson 1: Tổng quan mật mã học (Cryptography)
• Lesson 2: Các phương pháp và thuật toán mã hóa
• Lesson 3: Hàm băm và ứng dụng
• Lesson 4: PKI (Public Key Infrastructure)
• Lesson 5: Các bộ giao thức bảo mật: SSL và IPSec
Institute of Network Security - istudy.ispace.edu.vn
Tổng quan mật mã học
(Cryptography)
Institute of Network Security - istudy.ispace.edu.vn
Nội dung
• Khái niệm về mật mã
• Các thành tựu của mật mã học
• Một số dạng mã hóa
• Giới thiệu thuật toán mã hóa
• Sự cần thiết của khóa (Key) trong thuật toán mã hóa
• Giới thiệu về hàm băm
Institute of Network Security - istudy.ispace.edu.vn
Mật mã học là gì?
• Mật mã học là những nghiên cứu và công nghệ nhằm mục
đích bảo mật chuỗi dữ liệu bằng các phương pháp mã hóa.
• Mã hóa là quá trình tái cấu trúc nội dung của dữ liệu, làm cho
nó trở nên phức tạp, và che giấu nội dung thật sự.
• Giải mã là quá trình chuyển đổi nội dung dữ liệu đã được mã
hóa thành nội dung gốc trước khi mã hóa.
• Plaintext là nội dung gốc.
• Ciphertext là nội dung mới sau khi mã hóa.
• mật mã bao gồm hai thành phần chính
– Mã hóa đảm bảo tính bảo mật
– Hàm băm đảm bảo tính xác thực
Institute of Network Security - istudy.ispace.edu.vn
Thành tựu của mật mã học
Institute of Network Security - istudy.ispace.edu.vn
Mật mã dạng thay thế
• Mã hóa dạng thay thế thực hiện việc thay thế từng ky tự
trong nội dung gốc bằng một ký tự khác. Ví dụ: a=e,
c=f, b=g, …
• Julius Caesar là người phát minh ra mật mã dạng thay
thế, ngày nay còn gọi là mật mã Caesar.
• Mã hóa dạng thay thế rất dễ bị phân tích và giải mã
• Mật mã theo dạng thay thế tuần tự các ký tự Alphabet
phức tạp hơn mật mã Caesar tuy nhiên vẫn có thể bị
phân tích và giải mã nếu trong chuỗi ký tự có các điểm
lặp lại.
Institute of Network Security - istudy.ispace.edu.vn
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
B
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
C
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
D
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
E
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
F
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
G
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
H
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
I
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
J
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
K
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
L
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
M
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
N
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
O
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Q
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
S
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
T
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
U
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
X
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Mật mã Vigenère
Institute of Network Security - istudy.ispace.edu.vn
Attack tAkatc
mã hóa
Mật mã dạng dịch chuyển
• Mật mã dạng dịch chuyển là thay đổi vị trí các ký tự
trong nội dung của dữ liệu gốc.
• Một số phương pháp mã hóa hiện đại vẫn sử dụng việc
dịch chuyển ký tự như một phần trong thuật toán mã
hóa. Ví dụ: DES, 3DES, …
Institute of Network Security - istudy.ispace.edu.vn
One-Time Pads (OTP)
• OTP còn được gọi là mật mã Vernam.
• OTP là dạng mật mã không thể bị phá vỡ hay phân tích
vì khóa chỉ được sử dụng một lần duy nhất.
• OTP thường ít được sử dụng.
– Khóa một lần là một chuỗi dữ liệu được tạo ra một cách ngẫu
nhiên nên việc tạo khóa rất phức tạp
– Việc phân phối khóa cũng gặp nhiều khó khăn vì phải phân phối
hai lần, một lần cho người gửi, và một lần cho người nhận
• OTP thường được sử dụng giới hạn cho những dữ liệu
tối mật.
Institute of Network Security - istudy.ispace.edu.vn
Thuật toán mã hóa
• Thuật toán mã hóa là những phương thức nhằm biến đổi
Plaintext thành Ciphertext.
• Chức năng của thuật toán mã hóa:
• Chống lại các cuộc tấn công đánh cắp và phân tích dữ
liệu
• Tạo ra khóa kích thước lớn và tiện dụng
• Hiệu ứng phức tạp hóa - chỉ cần một sự thay đổi nhỏ
trong Plaintext thì Ciphertext sẽ thay đổi hoàn toàn
• Không dùng cho mục đích tấn công mạng
• Một số thuật toán mã hóa: DES, 3DES, AES, …
Institute of Network Security - istudy.ispace.edu.vn
Mã ha khi và mã ha dng
(Block Cipher – Stream Cipher)
• Mã hóa khối (Block Cipher)
– Mã hóa từng khối dữ liệu Plaintext có chiều di cố định thnh
khối dữ liệu Ciphertext có cng chiều di
– Kích thước của khối phụ thuộc vo thuật toán mã hóa
– Đệm bit (Padding) sẽ được dng để thêm các bit 0, đảm bảo
đng kích thước các khối
– Khối Ciphertext luôn có kích thước lớn hơn khối Plaintext
Institute of Network Security - istudy.ispace.edu.vn
10100100 01011101 00100011 11101011 10010101
01001101 11001001 0001100 1011111 11010000
Plaintext
Ciphertext
Padding: 0000
M
ha
Mã ha khi và mã ha dng
(Block Cipher – Stream Cipher)
Institute of Network Security - istudy.ispace.edu.vn
Mã ha khi và mã ha dng
(Block Cipher – Stream Cipher)
• Mã hóa dng (Stream Cipher)
– Mã từng bit dữ liệu trong Plaintext
– Kích thước dữ liệu không thay đổi khi mã hóa (không dng
Padding)
– Cơ chế chuyển đổi các bit ty thuộc vo quá trnh mã hóa
Institute of Network Security - istudy.ispace.edu.vn
111011010001011010110001011001111101100110010
010011011100110110010100101111010111010000101
Plaintext
Ciphertext
M
ha
Mã ha khi và mã ha dng
(Block Cipher – Stream Cipher)
Institute of Network Security - istudy.ispace.edu.vn
Mã
hóa
Attacker: Tôi
biết giải thuật
Giải
mã
Mạng không bảo mật
Alice
Bob
Giải
mã
Plain text
Plain text
Plain text
Cipher text
Khóa (Key)
• Chỉ sử dụng thuật toán mã hóa là chưa đủ đảm bảo độ
an toàn dữ liệu.
Institute of Network Security - istudy.ispace.edu.vn
Mã
hóa
Giải
mã
Attacker: Tôi biết
giải thuật nhưng
không biết key
Mạng không bảo mật
Alice
Bob
KEY KEY
Plain text
Plain text
Cipher text
Khóa (Key)
• Khóa được thỏa thuận giữa hai bên nhắm mục đích tăng
tính bảo mật cho dữ liệu.
Institute of Network Security - istudy.ispace.edu.vn
Khóa (Key)
• Khóa là một phần của thuật toán mã hóa.
• Nếu xét về phương diện khóa, có hai dạng thuật toán
mã hóa chính:
– Thuật toán mã hóa đối xứng: Sử dụng cùng một khóa cho việc
mã hóa và giải mã dữ liệu
– Thuật toán mã hóa bất đối xứng: Sử dụng các khóa khác nhau
cho việc mã hóa và giải mã dữ liệu
Institute of Network Security - istudy.ispace.edu.vn
Quản lý kha
• Quản lý khóa liên quan đến việc thiết lập cơ chế bảo
mật, xác minh, lưu trữ và hủy các khóa.
• Quản lý khóa được xem là việc khó nhất trong thiết kế
hệ thống mật mã.
• Quản lý khóa bằng những phương pháp bảo mật là rất
quan trọng.
• Trên thực tế, hầu hết các cuộc tấn công vào hệ thống
mật mã thường nhằm vào chức năng quản lý khóa nhiều
hơn là thuật toán mã hóa.
Institute of Network Security - istudy.ispace.edu.vn
Không gian khóa
• Không gian khóa của một thuật toán mã hóa l tất cả
những giá trị có thể có của khóa.
• Khóa có kích thước
n
bit có thể thiết lập được 2
n
giá trị.
• Hầu hết các thuật toán mã hóa có khóa yếu, tăng kích
thước khóa sẽ lm tăng độ bảo mật của thuật toán.
• Có thể xảy ra một số vấn đề về bảo mật nếu tự định
ngha khóa.
Institute of Network Security - istudy.ispace.edu.vn
Kích thước khóa
• Một hệ thống mã hóa tin cậy có thể bị tấn công Brute-
force
– Tấn công Brute-force d tm ton bộ không gian khóa để tm ra
khóa đng nên việc ny mất rất nhiều thời gian
– Trung bnh phải tm hơn một nửa số giá trị trong không gian
khóa mới có được kế quả
• Với các thuật toán hiện đại, cường độ bảo vệ dữ liệu
mạnh hay yếu phụ thuộc rất nhiều vo chiều di khóa
với điều kiện:
– Hệ thống mã hóa đáng tin cậy
– Cơ chế quản l khóa an ton
Institute of Network Security - istudy.ispace.edu.vn
Kích thước khóa
• Việc lựa chọn chiều di khóa phụ thuộc vo một số yếu
tố:
– Độ nhạy cảm của dữ liệu m khóa đang bảo vệ trong một chu
k nhất định no đó
– Hiệu năng của hệ thống mã hóa, kích thước khóa cng lớn, hiệu
năng cng thấp
• Kích thước khóa nhằm bảo vệ dữ liệu một cách thích
hợp.