Bài giảng môn
An ninh mạng viễn thông
Giảng viên:
TS. Nguyễn Chiến Trinh
Điện thoại/E-mail:
0915400946;
Bộ môn:
Mạng viễn thông - KhoaViễn thông 1
Học kỳ/Năm biên soạn: 2017
Tại sao cần bảo vệ thông tin truyền
thông
Nghe trộm
Chèn bản tin vào kết nối.
Mạo danh: giả địa chỉ IP nguồn.
Chiếm kết nối.
DoS
Mật mã đối xứng và bất đối xứng
Mật mã hóa
Alice’s
K encryption
A
key
plaintext
encryption
algorithm
Bob’s
K decryption
B key
ciphertext
decryption plaintext
algorithm
Mã hóa khóa đối xứng: khóa người gửi/người nhận đồng nhất, bí mật
Mã hóa khóa công khai: mã hóa bằng khóa công khai, giải mã bằng
khóa bí mật
Sơ đồ mật mã hóa đối xứng đơn giản
Hệ thống mật mã hóa đối xứng
Mật mã hóa đối xứng
Y=E(K,X); X=D(K,Y);
Kiểu các cách thức được sử dụng để biến đổi
từ bản rõ thành bản mã;
Số khóa được sử dụng;
Cách mà bản rõ được xử lý.
Kiểu tấn công
Chỉ biết bản mã
Biết một số cặp bản rõ
– bản mã (knownplaintext)
Biết bản rõ được lựa
chọn (choosenplaintext)
Thông tin được kẻ tấn công biết
+
Thuật toán mật mã hóa
+
Bản mã
+
Thuật toán mật mã hóa
+
Bản mã
+
Một hoặc một số cặp bản rõ – bản mã được tạo ra với khóa bí mật.
+
Thuật toán mật mã hóa
+
Bản mã
+
Bản tin bản rõ được lựa chọn bởi kẻ tấn công, cùng với bản mã tương ứng
được tạo ra với khóa bí mật.
Các
cách
tấn
công
Biết bản mã được lựa
chọn (choosen
ciphertext)
+
Thuật toán mật mã hóa
+
Bản mã
+
Bản mã được lựa chọn bởi kẻ tấn công, cùng với bản mã tương ứng được
giải mật mã với khóa bí mật.
Văn bản được lựa
chọn (choosen text)
+
Thuật toán mật mã hóa
+
Bản mã
+
Bản tin bản rõ được lựa chọn bởi kẻ tấn công, cùng với bản mã tương ứng
được tạo ra với khóa bí mật.
+
Bản mã được lựa chọn bởi kẻ tấn công, cùng với bản mã tương ứng được
giải mật mã với khóa bí mật.
Phá
mã
bằng
vét
cạn
Mã hóa thay thế
monoalphabetic cipher: thay thế một chữ cái
bằng chữ cái khác
plaintext:
abcdefghijklmnopqrstuvwxyz
ciphertext:
mnbvcxzasdfghjklpoiuytrewq
Phá khóa có dễ dàng không?
Các phương pháp mã hóa cổ điển
Transposition technique: đảo lộn thứ tự chữ
cái
Rotor machines: sử dụng mã hóa nhiều giai
đoạn
Mật
mã
khối
và
mật
mã
dòng
Mật mã khối đơn giản
Số lượng tổ hợp mã: 8!=40320?
Giải pháp Fiestel cho mật mã khối
(sử dụng hàm tuyến tính)
Thay thế (substitution)
Hoán vị (permutation)
Đặc tính mật mã hóa
Yêu cầu mật mã hóa: các thống kê (của plaintext,
ciphertext) phải độc lập với khóa sử dụng;
Tính khuếch tán (diffusion): giảm ảnh hưởng của các
thống kê trên bản plaintext phản ánh trên bản mã
-> một digit của plaintext tác động đến nhiều digit
bản mã;
Tính rối (confusion): làm phức tạp mối quan hệ giữa
thống kê của các bản mã với khóa mã;
Kiến trúc
mật mã
hóa Fiestel
Mật mã hóa
liên tiếp, tạo ra
mã an toàn
(mạnh) hơn.
Cấu
trúc
mật
mã
hóa
Fiestel
(16
vòng)
Mật mã khối – Ví dụ
64-bit input
Một vòng: 1 bit
đầu vào tác
động 8 bit đầu
ra
Lặp nhiều vòng:
1 bit tác động
tất cả bit đầu
ra.
DES, AES, 3DES
loop for
n rounds
8bits
8bits
8bits
8bits
8bits
8bits
8bits
8bits
T1
T2
T3
T4
T5
T6
T7
T8
8 bits
8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits
64-bit scrambler
64-bit output
Mã khối móc xích (Cipher block
chaining - CBC)
cipher block: nếu lặp
lại đầu vào thì đầu ra
như nhau
cipher block chaining:
XOR đầu vào i, m(i),
với bản mã hóa của
block trước, c(i-1)
c(0) – vector khởi
đầu
m(1) = “HTTP/1.1”
block
cipher
c(1)
m(17) = “HTTP/1.1”
block
cipher
c(17)
m(i)
c(i-1)
+
block
cipher
c(i)
= “k329aM02”
= “k329aM02”
Nguyên lý thiết kế mật mã khối (1)
Kích thước khối: kích thước khối lớn có nghĩa là
an toàn cao hơn (với giả thiết là tất cả các tham
số khác là như nhau) nhưng tốc độ mật mã
hóa/giải mật mã bị giảm.
Kích thước khóa: kích thước khóa lớn có nghĩa là
an toàn cao hơn (chống lại được các tấn công
brute-force tốt hơn) nhưng có thể làm giảm tốc
độ mật mã hóa/giải mật mã.
Nguyên lý thiết kế mật mã khối (2)
Số lượng vòng: càng nhiều vòng càng khó
phân tích tìm khóa;
Hàm F: làm rối -> không tuyến tính, 1 bit đầu
vào thay đổi -> thay đổi nhiều bit đầu ra, bit
đầu ra j,k thay đổi độc lập với sự thay đổi của
bit đầu vào i;
Thuật toán lập lịch khóa: tạo khóa con sao cho
khó suy luận được các khóa con và khóa chủ;
DES: Data Encryption Standard
56-bit khóa đối xứng, 64-bit text đầu vào
An toàn của DES?
Giải mã DES: 56-bit-key- phá giải mã trong 4
tháng
Làm cho DES an toàn hơn:
Sử dụng 3 khóa liên tiếp (3-DES) trên mỗi dữ
kiện
Sử dụng móc xích mã khối
Cấu
trúc
DES
DES
Hoán vị ban đầu
16 vòng ứng dụng
hàm số, mỗi vòng
sử dụng một khóa
48-bit khác nhau
Hoán vị kết thúc