slide athttt 2010
TRANSCRIPT
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 1/302
Mật m ã & Ứ ng dụng
Tr ần Đứ c KhánhBộ môn HTTT – Viện CNTT&TT
ĐH BKHN
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 2/302
Mật m ã học Mật m ã học (Cryptology)
Mật mã (Cryptography) Mã thám (Cryptanalysis)
Mật mã Tăng cường các tính chấ t Bí mật và Toàn v ẹn
thông tin: các phép mã hóa Xây dự ng các kỹ thuật trao đổi thông tin bí mật:
các giao thứ c mật mã Mã thám
Phá mã
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 3/302
Lịch sử ngành Mật mã Giai đoạn “Ti ền sử ” (~ 2000, TCN)
Nhữ ng dấ u hiệu đầu tiên của Mật mã xuấ t hiện ở bênbờ sông Nile, Ai Cập
Giai đoạn “Mật mã thủ công” (~ 50, TCN) Phép mã hóa Ceasar
Giai đoạn “Mật m ã cơ học” (cho đế n Thế chiế n 2) Máy Enigma ở Đứ c Các nghiên cứ u v ề Giải mã ở Anh
Giai đoạn “Mật mã điện tử ” Dự a vào Toán học và Tin học Được đặt n ền móng bởi Shanon, Diffie và Hellman Khóa bí mật (DES, AES,…), Khóa công khai (RSA,
ElGamal, …)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 4/302
Trao đổi thông tin bí mật Alice và Bob trao đổi thông tin bí mật,
được mã hóa Eve và Charlie tấ n công bằng giải mã
Alice Bob
Charlie
Eve Tấ n công thụ động
Tấ n công chủ động
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 5/302
Mục tiêu An toàn Bí mật (Confidentiality) Toàn vẹn (Integrity) Xác thự c (Authentication)
Chố ng phủ nhận (Non-repudiation) …
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 6/302
Chủ đề Hệ mật m ã cổ điển Hệ mật mã khóa bí mật (đố i xứ ng) Hệ mật mã khóa công khai (bấ t đố i
xứ ng) Hàm băm, chữ ký số
Quản lý khóa, giao thứ c mật mã,…
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 7/302
Hệ mật mãHệ Mật mã = Bộ 5 (K,M,C,E,D)
Không gian Khóa (Key): K Không gian Tin (Message/Plaintext): M
Không gian Mã (Cipher): C
Hàm mã hóa (Encryption) E: K x M -> C
Hàm giải mã (Decryption) D: K x C -> M
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 8/302
Chủ đề Hệ mật m ã cổ điển Hệ mật mã khóa bí mật (đố i xứ ng) Hệ mật mã khóa công khai (bấ t đố i
xứ ng) Hàm băm, chữ ký số
Quản lý khóa, giao thứ c mật mã,…
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 9/302
Hệ mật m ã cổ điển
Mã hóa Giải mãTin Mã Tin ban đầu
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 10/302
Hệ mật m ã cổ điển Mã hoán vị Mã đơn thế
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 11/302
Mã hoán vị Các ký tự trong Tin được hoán vị cho
nhau
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 12/302
Mã hoán vịHoán vị cột
c1 c2 c3 c4 c5c6 c7 c8 c9 c10c11 c12 …
chuyển thành
c1 c6 c11 c2 c7c12 c3 c8 …. .…….. …. ….
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 13/302
Hoán vị cộtTin
T H I S IS A M E SS A G E T
O S H O WH O W A CO L U M N
A R T R AN S P O SI T I O NW O R K S
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 14/302
Hoán vị cộtTin
T H I S IS A M E SS A G E T
O S H O WH O W A CO L U M N
A R T R AN S P O SI T I O NW O R K S
Mã
t s s o ho a n i wh a a s o
l r s t oi m g h wu t p i r
s e e o am r o o ki s t w cn a s n s
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 15/302
Mã đơn thế Mỗi k ý tự được thay thế bằng một ký
tự khác
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 16/302
Mã đơn thế Mã Ceasar: c = m + n
m: ký tự trong Tin c : ký tự tương ứ ng trong Mã n: độ dịch chuyển +: phép cộng modulo 26
Ví dụ: n = 3
Tin: ABCDEFGHIJKLMNOPQRSTUVWXYZMã: defghijklmnopqrstuvwxyzabc
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 17/302
Mã CeasarTin
T R E A T YI M P O S S I B L E
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 18/302
Mã CeasarTin
T R E A T YI M P O S S I B L E
Mã
W U H D W BL P S R V V L E O H
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 19/302
Chủ đề Hệ mật m ã cổ điển Hệ mật mã khóa bí mật (đố i xứ ng) Hệ mật mã khóa công khai (bấ t đố i
xứ ng) Hàm băm, chữ ký số
Quản lý khóa, giao thứ c mật mã,…
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 20/302
Hệ mật mã khóa đố i xứ ng Duy nhấ t một khóa cho quá trình mã
hóa và giải mã C = E(K,M)
M = D(K,C)
Khóa phải được giữ bí mật
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 21/302
Hệ mật mã khóa đố i xứ ng
Mã hóa Giải mã
Khóa duy nhấ t
Tin Mã Tin ban đầu
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 22/302
Các Hệ mật mã khóa đố i xứ ng Mã lu ồng Mã Vigenère Mã Vernam
Mã khố i DES AES
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 23/302
Mã lu ồng Đơn vị mã hóa cơ bản là các ký tự Các ký tự trong Tin được mã hóa tách
biệt
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 24/302
Mã VigenèreKhóa
Tin
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 25/302
Mã Vigenère Khóa
BENCH Tin
A LIMERICK PACKS LAUGHS ANATOMICAL
Nố i dài Khóa B ENCHBENC HBENC HBENCH BENCHBENCH
Mã hóa Khóa: B ENCHBENC HBENC HBENCH BENCHBENCH Tin: A LIMERICK PACKS LAUGHS ANATOMICAL
Mã: B PVOLSMPM WBGXU SBYTJZ BRNVVNMPCS
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 26/302
Mã Vernam Ký tự là các bit
Khóa K = K1K2K3…Kn Số ngẫu nhiên
Tin M = M1M2M3…Mn
Mã C = C1C2C3…Cn
trong đó Ci = Ki xor Mi
Ki Mi Ci = Ki xor Mi
0 0 0
0 1 1
1 0 1
1 1 0
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 27/302
Mã khố i Đơn vị mã hóa cơ bản là các khố i ký
tự Các tham số bao g ồm kích thước khố i
và chi ều dài khóa Kích thước khố i lớn để chố ng tấ n côngbằng thố ng kê
Chi ều dài khóa lớn để chố ng tấ n côngvét cạn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 28/302
Data Encryption Standard (DES) Lịch sử
~ 1970, NIST kêu gọi xây dự ng hệ mật mã dành cho
công chúng 1974, IBM xây dự ng DES trên n ền tảng của hệ
Lucifer 1979, chuẩn hóa
Mục tiêu Mục đích sử dụng rộng rãi Độ an toàn cao Không phụ thuộc vào tính bí mật của thuật toán
Ứ ng dụng ATM Truy nhập từ xa …
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 29/302
Data Encryption Standard (DES) DES Khố i 64 bit Khóa 56 bit 16 vòng lặp mã hóa Mỗi vòng kế t hợp Hoán vị + Đơn thế
Mã hóa DES
Khóa 56 bit
MãTin
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 30/302
Mã hóa DESTIN 64-bit
IP
Vòng 1
Vòng 2
Vòng 16
FP
MÃ 64-bit
......
KHÓA 64-bit
KSK1 48-bit
K2 48-bit
K16 48-bit
Hoán vị đầu
Hoán vị cuố i
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 31/302
IP, FP
IP(b1b2…b64) = b58b50…b7
FP(b1b2…b64) = b40b8…b25
IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 159 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7 25571749941133
265818501042234
275919511143335286020521244436
296121531345537
306222541446638
316323551547739
326424561648840
FP
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 32/302
KS
KS1 chuyển khố i 64 bit thành khố i 2 khố i 28 bit KS1(b1b2…b64) = b57b49…b36 b63b55…b4
KS2 chuyển 2 khố i 28 bit thành khố i 48 bit KS2 (b1b2…b56) = b14b17…b32
KS1
57 49 41 33 25 17 9
1 58 50 42 34 26 1810 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
533456394944
483345514030
554737315241
2132027716
322936504246
8264121923
1021615283
5124111714
KS2
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 33/302
KS Khóa ban đầu K
(C0,D0) = KS1(K) Ki = KS2 (Ci,Di)
Ci Dịch chuyển vòng tròn sang trái 1 bit Ci-1
nế u i = 1,2,9,16
Dịch chuyển vòng tròn sang trái 2 bit Ci-1trong các trường hợp khác
Tương tự cho Di
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 34/302
Vòng lặp DES32 bit trái 32 bit phải
32 bit trái 32 bit phải
xor
E
P
S-boxes
xor khóa 48-bit
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 35/302
E, P
E(b1b2…b32) = b32b1…b1
P(b1b2…b32) = b16b7…b25
E
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
6301319
2541122
932732142482
1031185
2623151
17281229
2120716
P
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 36/302
S-Boxes Chuyển khố i 48 bit thành khố i 32 bit
8 khố i 6 bit: S1, S2,…,S8 (b1b2b3b4b5b6) Chuyển S1 thành khố i 4 bit
b1b6 cho giá trị thập phân i b2b3b4b5 cho giá trị thập phân j
kế t quả tại dòng i cột j của bảng S1
Tương tự đố i với S2,S3,…,S8 (có bảng riêng)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 37/302
S-Boxes Chuyển S1 (110001) thành khố i 4 bit
b1b6 (11) cho giá trị thập phân i (3) b2b3b4b5 (1000) cho giá trị thập phân j (8): kế t quả (5) tại dòng i (3) cột j (8) của bảng S1
5 (Thập phân) = 0101 (Nhị phân)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 38/302
Giải mã DES Sử dụng cùng một dãy khóa
Thứ tự các khóa đảo ngược Hoán đổi 2 nử a trái, phải
Thự c hiện cùng số vòng lặp
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 39/302
Điểm yế u DES Tìm khóa bằng vét cạn
khả năng
Sử dụng tính bù để loại trừ số khả năng khóa
Ví dụ
Khóa yế u c = DES(k, m) và m = DES(k, c) c = DES(k1,m) và c = DES(k2,m)
Mã thám Vi sai Tuyế n tính Davies
562
),(),( mk DEScmk DESc =⇒=
01001011=
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 40/302
3DES Mã hóa
c = E(k3,(D(k2,E(k1,m))) Giải mã
m = D(k1,(E(k2,D(k3,c))) Lự a chọn khóa k1,k2,k3 độc lập k1,k2 độc lập và k3 = k1
k1=k2=k3
Advanced Encryption Standard
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 41/302
Advanced Encryption Standard
(AES) 1997, NIST kêu gọi xây dự ng một hệ mật m ã mới để
thay thế DES Hệ Rijndael của Daemen và Rijmen được lự a chọn 2001, hệ Rijndael được chuẩn hóa thành AES
Dự a trên lý thuyế t “Trường Galois”
Khố i 128 bit Khóa 128, 192, 256 bit n vòng lặp mã hóa, phụ thuộc vào chi ều dài khóa
Khóa 128 bit, n = 10
Khóa 192 bit, n = 12 Khóa 256 bit, n = 14
Mỗi vòng kế t hợp Hoán vị + Đơn thế
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 42/302
Mật mã & Ứ ng dụng
Tr ần Đứ c KhánhBộ môn HTTT – Viện CNTT&TT
ĐH BKHN
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 43/302
Chủ đề Hệ mật mã cổ điển
Hệ mật mã khóa bí mật (đố i xứ ng) Hệ mật mã khóa công khai (bấ t đố i
xứ ng) Hàm băm, chữ ký số Quản lý khóa, giao thứ c mật mã,…
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 44/302
Tại sao Hệ mật mã khóa công khai Hệ mật mã khóa đố i xứ ng không đáp ứ ng
được 2 mục tiêu an toàn Xác thự c Alice và Bob trao đổi thông tin bí mật
Alice c ần phải biế t thông tin chắc chắn đế n từ Bob, và ngược lại
Chố ng phủ nhận
Alice và Bob trao đổi thông tin bí mật
Nế u Alice đã gử i thông tin nào đó cho Bob thìAlice không thể chố i bỏ thông tin đó là của mình
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 45/302
Tại sao Hệ mật mã khóa công khai Quản lý khóa đố i xứ ng là một vấ n đề
nan giải Trong các hệ khóa đố i xứ ng, mỗi cặp
người dùng phải có khóa riêng
N người dùng c ần N * (N-1)/2 khóa
Việc quản lý khóa trở nên phứ c tạp khisố lượng người dùng tăng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 46/302
Hệ mật mã khóa công khai Mỗi người dùng có 1 khóa riêng và 1
khóa công khai Khóa riêng bí mật
Khóa công khai có thể chia xẻ
Quản lý khóa N người dùng c ần N khóa công khai được
xác thự c Hạ t ầng khóa công khai PKI
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 47/302
Hệ mật mã khóa công khai Mã hóa dùng khóa công khai k
C = E(k,M) Giải mã dùng khóa riêng K
M = D(K,C)
Mã hóa Giải mã
Khóa công khai
Tin Mã Tin ban đầu
Khóa riêng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 48/302
Hệ mật mã khóa công khai Mã hóa dùng khóa riêng K
C = E(K,M) Giải mã dùng khóa công khai k
M = D(k,C)
Mã hóa Giải mã
Khóa riêng
Tin Mã Tin ban đầu
Khóa công khai
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 49/302
Khóa bí mật vs. Khóa công khaiKhóa bí mật Khóa công khai
Số khóa 1 2
Bảo vệ khóa Khóa được giữ bí mật 1 khóa bí mật1 khóa công khai
Ứ ng dụng Bí mật và toàn vẹn
dữ liệu
Trao đổi khóa
Xác thự cTố c độ Nhanh Chậm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 50/302
Hệ mật mã khóa công khai Lý thuyế t n ền tảng
Độ phứ c tạp Số học đồng dư (Modular Arithmetic)
Các hệ Mật mã khóa công khai
RSA MerkleHellman
ElGamal
Rabin Đường cong êlip (Elliptic Curve)
…
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 51/302
Độ phứ c tạp Độ phứ c tạp tính toán (thời gian)
Vấ n đề “dễ”: lớp P Vấ n đề “khó”: lớp NP
Giải quyế t các vấ n đề P Số trường hợp phải xét đế n là một hàm đa thứ c
Giải quyế t các vấ n đề NP Số trường hợp phải xét đế n là hàm lũy thừ a
Các hệ mật mã khóa công khai d ự a trênđộ khó/phứ c t ạ p c ủa gi ải thuật bẻ khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 52/302
Số học đồng dư Số học đồng dư
a mod n
a op b mod n
op = +, -, *, /, ^
Ví dụ: 40 mod 6 = 4
5 + 2 mod 6 = 1
9 – 4 mod 3 = 2
5 * 3 mod 6 = 3 4/2 mod 3 = 2
2^4 mod 6 = 4
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 53/302
Số học đồng dư a mod n
Số dư của a chia n
a + b mod n Số dư của a + b chia n
a - b mod n
Số dư của a - b chia n a * b mod n
Số dư của a * b chia n
a ^ b mod n
Thủ tục bình phương a / b mod n
Giải thuật Euclide mở rộng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 54/302
Thủ tục bình phương Dự a vào tính chấ t
a*b mod n = ((a mod n)*(b mod n)) mod n
Tính a^25 a^25 = a^(11001)
a^(11001) = a^(10000+1000+1)
a^(10000+1000+1) = a^10000 * a^1000 *a^1
a^10000 * a^1000 * a^1 = a^16 * a^8 * a^1
Độ phứ c tạp (O(logb*(logs)^2)) Hiệu quả hơn phương pháp tính lũy thừ a
bằng phép nhân đồng dư (O(b*(logs)^2))
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 55/302
Thủ tục bình phươngModExp1(a,b, s) Vào:
3 số nguyên dương a,b,s sao cho a < s bn−1 ···b1b0 là biểu diễn nhị phân của b, n = [logb]
Ra: a^b mod s
p[0] = a mod sfor i = 1 to n−1
p[i] = p[i−1]^2 mod sr = 1
for i = 0 to n−1if b[i] = 1 then r = r*p[i] mod s
return r
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 56/302
Bài tập Tính 6^73 mod 100
73 = 2^0 + 2^3 + 2^6 6^73 = 6 * 6^(2^3)*6^(2^6)
6 = 6 mod 100
6^(2^3) = 16 mod 100
6^(2^6) = -4 mod 100
6^73 = 6 * (16) * (-4) = 16 mod 100
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 57/302
Giải thuật Euclide mở rộng Giải thuật Euclide
Tính Ư SCLN(a,b) Dự a trên tính chấ t Nế u a > b thì Ư SCLN(a,b) = Ư SCLN(a mod
b,b) Giải thuật Euclide mở rộng Tính 2 số x, y sao cho
a*x + b*y = Ư SCLN(a,b) Giải quyế t bài toán tìm x sao cho a*x = 1 mod s
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 58/302
Giải thuật Euclide mở rộngExtended-Euclid(a,b)
Vào: 2 số nguyên dương a,b Ra: 3 số nguyên x,y,d sao cho
d = Ư SCLN(a,b) và ax+by = d
1. Nế u b = 0 thì trả v ề (1,0,a)
2. Tìm q, r sao cho a = b*q+r
3. (x’,y’,d) = Extended-Euclid(b, r)4. Trả v ề (y’,x’ −q*y’,d)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 59/302
Bài tập Dùng giải thuật Euclide mở rộng để tìm
Ư SCLN(120,23)
a b q r x y d
120 23 5 5 -9 47 1
23 5 4 3 2 -9 1
5 3 1 2 -1 2 1
3 2 1 1 1 -1 12 1 2 0 0 1 1
1 0 _ _ 1 0 1
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 60/302
Bài tập Dùng giải thuật Euclide mở rộng để tìm
tìm x sao cho 51*x mod 100 = 1 Nế u a*x mod n = 1 thì t ồn tại k trong đó a*x =1 + n*k
Ta có a*x – n*k = 1
Đặt y = -k, ta được a*x + b*y = 1
Tìm x,y bằng giải thuật Euclide mở rộng
x = -49, y = 25
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 61/302
Hệ Mật mã khóa công khai RSA RSA
1978 Rivest, Shamir và Adlerman phátminh ra hệ mật mã RSA
Hệ mật mã khóa công khai phổ biế n và
đa năng nhấ t trong thự c tế Sử dụng các kế t quả trong số học đồng
dư Dự a trên độ phứ c tạp của bài toán
phân tích số nguyên ra thừ a số nguyên t ố
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 62/302
RSA – Tạo khóa Chọn ngẫu nhiên 2 số nguyên tố p, q
n = p * q
Chọn e sao cho 1 < e < (p-1) * (q-1)
Ư SCLN(e, (p-1) * (q-1)) = 1
Chọn d sao cho 1 < d < (p-1) * (q-1)
e*d = 1 mod (p-1) * (q-1)
Khóa công khai
(n,e) Khóa riêng
(p,q,d)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 63/302
RSA – Tạo khóa Ví dụ
p = 11, q = 23 n = 11*23 = 253
(p-1)*(q-1) = 10*22=220
Ư SCLN(e,220) = 1
giá trị nhỏ nhấ t e = 3
áp dụng giải thuật Euclide mở rộng d = 147
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 64/302
RSA – Mã hóa Mã hóa sử dụng khóa công khai
Tin m Khóa công khai (n,e)
Mã
c = m^e mod n
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 65/302
RSA – Mã hóa Ví dụ
p = 11, q = 23 n = 11*23 = 253
(p-1)*(q-1) = 10*22=220
e = 3 d = 147
Tin m = 165
Mã c = 165^3 mod 253 = 110
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 66/302
RSA – Giải mã Tin m
Khóa công khai (n,e) Khóa riêng (p,q,d)
Mã c = m^e mod n Giải mã m = c^d mod n
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 67/302
RSA – Giải mã Ví dụ
p = 11, q = 23
n = 11*23 = 253
(p-1)*(q-1) = 10*22=220
e = 3
d = 147
Mã
c = 165^3 mod 253 = 110
Tin
m = 110^147 mod 253 = 165
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 68/302
RSA – Định lý RSANế u
(n,e) là khóa công khai (p,q,d) là khóa riêng
0 <= m < nthì
(m^e)^d mod n = m
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 69/302
RSA – Định lý Euler & FermatNế u
ef(n) là số “số nguyên dương nhỏ hơnn và nguyên tố cùng nhau với n”
x và n là hai số nguyên tố cùng nhau
thì
x^ef(n) = 1 mod n
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 70/302
RSA- Độ an toàn RSA và bài toán phân tích thừ a số nguyên
tố Khóa công khai (n,e)
Khóa riêng (p,q,d) được giữ bí mật
Độ an toàn của RSA dự a trên độ khó/phứ c tạpcủa bài toán tính (p,q,d) từ (n,e)
p,q là 2 số nguyên tố , n = p*q
e,d được tính từ p,q
Do đó bài toán trên qui v ề bài toán PTTSNT(n)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 71/302
RSA- Độ an toàn Lự a chọn p,q
Đảm bảo rằng bài toán PTTSNT(n) thự csự khó
Tránh tình trạng p,q rơi vào nhữ ng
trường hợp đặc biệt mà bài toán trên trởnên dễ dàng
Ví dụ: p-1 có các thừ a số nguyên tố nhỏ
p,q phải có độ dài tố i thiểu là 512 bít p,q xấ p xỉ nhau
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 72/302
RSA- Độ an toàn Lự a chọn e
e nhỏ nhấ t có thể e không nhỏ quá để tránh bị tấ n công
theo dạng “low exponent”
Lự a chọn d d không nhỏ quá (d < n/4) để tránh tấ n
công dạng “low decryption”
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 73/302
RSA – Hiệu năng Nhân, chia, số dư phép chia
Tính lũy thừ a modulo m^e mod n
c^d mod n
Tố c độ rấ t chậm so với DES
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 74/302
RSA – Bài tập Cho p = 7, q = 11. Giả sử Alice dùng khóa
công khai (n,e) = (77,17).
Tìm khóa riêng.
Biế t rằng các ký tự từ A đế n Z được biểu diễnbằng các số nguyên từ 00 đế n 25. Dấ u cáchđược biểu diễn bằng số 26.Bob muố n gử i cho Alice Tin “HELLO WORLD”
sử dụng hệ mật mã RSA.
Tính Mã tương ứ ng.
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 75/302
RSA – Bài tập Đáp án
(p,q,d) = (7,11,53) Tin
H E L L O W O R L D
07 04 11 11 14 26 22 14 17 11 03
Mã
28 16 44 44 42 38 22 42 19 44 75
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 76/302
Các Mật mã khóa công khai khác MerkleHellman
ElGamal Rabin
Đường cong êlip (Elliptic Curve) …
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 77/302
Bài tập Chứ ng minh Định lý Euler & Fermat
Chứ ng minh Định lý RSA
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 78/302
Mật mã & Ứ ng dụng
Tr ầnĐứ
c KhánhBộ môn HTTT – Viện CNTT&TT
ĐH BKHN
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 79/302
Chủ đề Hệ mật mã cổ điển
Hệ mật mã khóa bí mật (đố i xứ ng) Hệ mật mã khóa công khai (bấ t đố i
xứ ng)
Hàm băm, chữ ký số Quản lý khóa, giao thứ c mật mã,…
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 80/302
Nhu c ầu toàn vẹn thông tin Các ứ ng dụng chú trọng mục tiêu Toàn vẹn
Tài liệu được sử dụng giố ng hệt tài liệu lư u trữ Các thông điệp trao đổi trong một hệ thố ng an
toàn không bị thay đổi/sử a chữ a
“Niêm phong” tài liệu/thông điệp “Niêm phong” không bị sử a đổi/phá hủy đồng
ngh ĩ a với tài liệu/thông điệp toàn vẹn
“Niêm phong”: băm (hash), tóm lược (message
digest), đặc số kiểm tra (checksum) Tạo ra “niêm phong”: hàm băm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 81/302
Hàm băm Mục tiêu an toàn
Toàn vẹn (Integrity)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 82/302
Hàm băm có khóa Đầu vào là một chuỗi có chi ều dài biế n thiên, và đầu ra có
chi ều dài cố định
Tin:
Cố t (Digest):
Khóa: K
h là hàm một chi ều (one way function) biế t y , rấ t khó tìm x sao cho h(x,k)=y như ng rấ t khó tính
h có tính phi đụng độ lỏng (weak collision resistence) cho x, rấ t khó tìm y /= x sao cho h(x,k) = h(y,k)
h có tính phi đụng độ chặt (strong collision resistence) rấ t khó tìm được x /= y sao cho h(x,k) = h(y,k)
∑∑→×
nK h
*:
∑n
∑*
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 83/302
Hàm băm không khóa Đầu vào là một chuỗi có chi ều dài biế n thiên, và đầu ra có
chi ều dài cố định
Tin:
Cố t (Digest):
h là hàm một chi ều (one way function) biế t y , rấ t khó tìm x sao cho h(x)=y như ng rấ t khó tính
h có tính phi đụng độ lỏng (weak collision resistence) cho x, rấ t khó tìm y /= x sao cho h(x) = h(y)
h có tính phi đụng độ chặt (strong collision resistence) rấ t khó tìm được x /= y sao cho h(x) = h(y)
∑∑ →
n
h
*
:
∑
n
∑*
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 84/302
Kỹ thuật tạo hàm băm Dùng các hàm mã hóa
CBC
RMDP
DM
Dùng các phép toán số học đồng dư QCMDC
DP
Dùng các hàm thiế t kế đặc biệt MD4/5
SHA/SHS
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 85/302
Kỹ thuật tạo hàm băm Dùng các hàm mã hóa
CBC
RMDP
DM
Dùng các phép toán số học đồng dư QCMDC
DP
Dùng các hàm thiế t kế đặc biệt MD4/5
SHA/SHS
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 86/302
CBC - Chaining Block Cipher Mật mã đố i xứ ng
Hàm mã hóa E Khóa K
Hàm băm M = M1M2…Mn
Hi = E(K,Mi xor Hi-1)
H = Hn
RMDP – Rabin, Matyas, Davise,
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 87/302
Price Mật mã đố i xứ ng
Hàm mã hóa E Khóa là các khố i của tin
Hàm băm M = M1M2..Mn
H0 = r (r ngẫu nhiên)
Hi = E(Mi,Hi-1) H= Hn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 88/302
DM – Davies, Meyer Mật mã đố i xứ ng
Hàm mã hóa E Khóa là các khố i của tin
Hàm băm M = M1M2..Mn
H0 = r (r ngẫu nhiên)
Hi = E(Mi,Hi-1) xor Hi-1 H = Hn
Kỹ thuật tạo hàm băm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 89/302
Dùng các hàm mã hóa CBC
RMDP
DM
Dùng các phép toán số
học
đồng d
ư QCMDC
DP
Dùng các hàm thiế t kế đặc biệt MD4/5
SHA/SHS
QCMDC – Quadratic CongruentialManipulation Dectection Code
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 90/302
M = M1M2…Mn
Mi khố i n bit N là số nguyên tố sao cho N >= 2^(n-1)
Hàm băm H0 = r (r ngẫu nhiên)
Hi = (Hi-1+Mi)^2 mod N H = Hn
DP – Davies, Price
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 91/302
M = M1M2…Mn
N là số nguyên tố sao cho N >= 2^r
Hàm băm H0 = 0
Hi = (Hi-1 xor Mi)^2 mod N
H = Hn
Kỹ thuật tạo hàm băm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 92/302
Dùng các hàm mã hóa CBC
RMDP
DM
Dùng các phép toán số học đồng dư QCMDC
DP
Dùng các hàm thiế t kế đặc biệt SHA/SHS
MD4/5
SHA-1
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 93/302
SHA = Secure Hash Algorithm
Được đề xuấ t và bảo trợ bởi NIST Dùng trong hệ DSS (Digital Signature
Standard) của NIST
Được sử dụng rộng rãi SSL, PGP, SSH, S/MIME, IPSec
SHA-1
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 94/302
Đầu vào bội số của 512 bit
Giá trị băm 160 bit 80 vòng lặp tính toán
Vòng lặp SHA-1
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 95/302
Vòng lặp SHA-1
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 96/302
A,B,C,D,E khố i 32 bit
Kt hằng số của vòng lặp t Wt được tính từ các khố i của Tin
<<< dịch chuyển các bit sang trái cộng modulo 32
F là hàm kế t hợp các phép toán logic not, and, or, xor
MD5
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 97/302
MD = Message Digest
MD5 được đề xuấ t bởi Rivest vào năm1991
Được sử dụng rộng rãi Truy ền tập tin
Lư u trữ mật khẩu
MD5
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 98/302
Đầu vào 512 bit
Giá trị băm 128 bit 64 vòng lặp tính toán
Vòng lặp MD5
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 99/302
Vòng lặp MD5
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 100/302
A,B,C,D khố i 32 bit
Ki hằng số của vòng lặp i Mi khố i 32 bit của Tin
<<< dịch chuyển các bit
cộng modulo 32
F là hàm kế t hợp các phép toán logic not, and, or, xor
Tấ n công Hàm băm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 101/302
Đe dọa/mố i nguy Nghịch lý sinh nhật
Trong một nhóm 23 người, xác suấ t để có haingười có cùng một sinh nhật là không nhỏ hơn1/2
Tấ n công dạng “sinh nhật” Tính N giá trị băm trong thời gian và không gian
cho phép
Lư u trữ các giá trị băm để tìm ra đụng độ
Xác suấ t đụng độ Nế u N > 2^(n/2) giá trị băm, thì xác suấ t đụng độlà > 1/2, trong đó n là độ dài của chuỗi giá trị băm
Chữ ký số
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 102/302
1976, Diffie & Hellman l ần đầu tiên đề cậpđế n khái niệm Chữ ký số
1989, phiên bản thương mại Chữ ký số đầutiên trong Lotus Notes, dự a trên RSA
Ứ ng dụng Hợp đồng số B ầu cử điện tử
Giao dịch ngân hàng …
Chữ ký số
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 103/302
Mục tiêu an toàn
Xác thự c (Authentication) Chố ng phủ nhận (Non-repudiation)
Hệ chữ ký số
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 104/302
Thuật toán tạo chữ ký Ký hiệu S
Đầu vào là một thông tin m
Chữ ký S(m)
Thuật toán kiểm định chữ ký Ký hiệu V
Đầu vào là thông tin m và chữ ký kèm
theo s V(m,s) = true khi và chỉ khi s = S(m)
Kỹ thuật tạo Chữ ký số
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 105/302
Mật mã khóa công khai
Mật mã khóa công khai + Hàm băm RSA + Hàm băm
ElGamal + Hàm băm
DSA
Chữ ký số dùng Mật mã khóa côngkhai
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 106/302
RSA Chọn ngẫu nhiên 2 số nguyên tố p, q
n = p * q Chọn e sao cho
1 < e < (p-1) * (q-1)
Ư SCLN(e, (p-1) * (q-1)) = 1
Chọn d sao cho 1 < d < (p-1) * (q-1)
e*d = 1 mod (p-1) * (q-1)
Khóa công khai: (n,e)
Khóa riêng: (p,q,d) Mã hóa: c = m^e mod n
Giả mã: m = c^d mod n
Chữ ký số dùng RSA
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 107/302
Tin m
Khóa công khai (n,e)
Khóa riêng (p,q,d)
Tạo chữ ký
s = m^d mod n Kiểm định chữ ký
m =? s^e mod n
Chữ ký số dùng RSA
ố
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 108/302
Đe dọa/mố i nguy Tấ n công dạng “tráo khóa”
Tấ n công dạng “chọn tin”, dự a trên đặc điểm “nhân tính” của RSA Nế u m1^d mod n là chữ ký của m1, m2^d mod
n là chữ ký của m2, thì (m1*m2)^d mod n là
chữ ký của m1*m2 Tấ n công dạng “không Tin” Lấ y khóa công khai k của Alice
Tạo tin m và chữ ký s của m sao cho m và sđược công nhận bởi thuật toán kiểm định sử dụng k
Chữ ký số dùng Mật mã khóa côngkhai + Hàm băm
ă ờ độ à bằ kế h
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 109/302
Tăng cường độ an toàn bằng kế t hợp Hệ mật mã khóa công khai
Hàm băm
Thuật toán tạo chữ ký
Hàm mã hóa sử dụng khóa riêng Hàm băm
Thuật toán kiểm định chữ ký Hàm giải mã sử dụng khóa công khai Hàm băm
Chuẩn Chữ ký số - DSSTạo chữ ký Kiểm định chữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 110/302
Khóa riêng
Hàm băm Hàm băm
Sinh chữ ký Kiểm định chữ ký
Tạo chữ ký Kiểm định chữ ký
Khóa công khai
Chữ ký
Tóm lược Tóm lược
Hợp lệ /Không hợp lệ
Tin Tin
Chữ ký số RSA + Hàm băm
á hô ố
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 111/302
Các thông số Hàm băm h
2 số nguyên tố p,q
Chữ ký số RSA + Hàm băm
Tạo khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 112/302
Tạo khóa n = p*q
Chọn e sao cho 1 < e < (p-1) * (q-1)
Ư SCLN(e, (p-1) * (q-1)) = 1
Chọn d sao cho
1 < d < (p-1) * (q-1) e*d = 1 mod (p-1) * (q-1)
Khóa công khai
(n,e)
Khóa riêng
(p,q,d)
Chữ ký số RSA + Hàm băm
T hữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 113/302
Tạo chữ ký Tin m
Chữ ký
s = h(m)^d mod n
Chữ ký số RSA + Hàm băm
Kiể đị h hữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 114/302
Kiểm định chữ ký Chữ ký s
Tin m
Kiểm định
h(m) ?= s^e mod n
Chữ ký số ElGamal + Hàm băm
Cá thô ố
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 115/302
Các thông số Hàm băm h
Số nguyên tố p Số nguyên g sao cho
g^c = b mod ptrong đó b,p nguyên tố cùng nhau
Chữ ký số ElGamal + Hàm băm
Tạo khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 116/302
Tạo khóa Chọn a sao cho 0 < a < p-1
A = g^a mod p
a được gọi là logarit rời rạc của A
Khóa công khai (p,g,A)
Khóa riêng
a
Chữ ký số ElGamal + Hàm băm
Tạo chữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 117/302
Tạo chữ ký Tin m
Chọn k sao cho
0 < k < p-1
k nguyên tố cùng nhau với p-1 Chữ ký
r = g^k mod p
s = k^(-1) * (h(m) – a*r) mod (p-1)
Chữ ký số ElGamal + Hàm băm
Kiểm định chữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 118/302
Kiểm định chữ ký Chữ ký (r,s)
Tin m
Kiểm định
0 < r < p
0 < s < p-1
A^r*r^s ?= g^h(m) mod p
Chữ ký số DSA
Các thông số
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 119/302
Các thông số Hàm băm h
Số nguyên tố q Số nguyên p sao cho
p-1 la bội số của q Số nguyên g sao cho
g = x^((p-1)/q) mod p
trong đó x < p
Chữ ký số DSA
Tạo khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 120/302
Tạo khóa Chọn a < q
A = g^a mod p
Khóa công khai
(p,q,g,A) Khóa riêng
a
Chữ ký số DSA
Tạo chữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 121/302
Tạo chữ ký Tin m
Chọn k sao cho 0 < k < q
Chữ ký
r = (g^k mod p) mod q
s = k^(-1) * (h(m) + a*r) mod q
Chữ ký số DSA
Kiểm định chữ ký
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 122/302
Kiểm định chữ ký Chữ ký (r,s)
Tin m
Kiểm định
0 < r < q
0 < s < q
r = ((g^(s^(-1)*h(m) mod q) A^(r*s^(-1)mod q)) mod p) mod q
Mật mã & Ứng dụng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 123/302
Mật mã & Ứ ng dụng
Tr ần Đứ c Khánh
Bộ môn HTTT – Viện CNTT&TT
ĐH BKHN
Chủ đề
Hệ Mật mã không Khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 124/302
Hệ Mật mã không Khóa
Hệ Mật mã khóa bí mật (đố i xứ ng) Hệ Mật mã khóa công khai (bấ t đố i
xứ ng)
Hàm băm, chữ ký số Quản lý khóa, giao thứ c mật mã,…
Quản lý khóa, giao thứ c mật mã,…
Quản lý khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 125/302
Q ý Khóa đố i xứ ng
TTP Khóa công khai
PKI
Giao thứ c mật mã Thố ng nhấ t khóa
Diffie-Hellman
Xác thự c Needham-Schroeder
Quản lý khóa, giao thứ c mật mã,…
Quản lý khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 126/302
Q ý Khóa đố i xứ ng
TTP Khóa công khai
PKI
Giao thứ c mật mã Thố ng nhấ t khóa
Diffie-Hellman
Xác thự c Needham-Schroeder
Quản lý khóa
Quản lý khóa là một vấ n đề quan trọng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 127/302
Q ý ộ q ọ g Tính bí mật: khóa đố i xứ ng
Tính toàn vẹn: khóa đố i xứ ng, khóa công khai
Giải pháp quản lý khóa Khóa đố i xứ ng
Trọng tài (Trusted Third Party)
Khóa công khai
PKI (Public Key Infrastructure)
Quản lý khóa đố i xứ ng
Mô hình cơ bản trao đổi thông tin
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 128/302
gkhóa đố i xứ ng
A1
A2
A6 A5
A3
A4
Mô hình cơ bản trao đổi thông tinkhóa đố i xứ ng
Ư u điểm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 129/302
Dễ dàng thêm bớt các thự c thể
Nhược điểm Mỗi thự c thể phải lư u trữ nhi ều khóa dài
hạn để trao đổi với các thự c thể khác Thố ng nhấ t, chia xẻ khóa khó khăn
Đòi hỏi các thự c thể phải tin tưởng nhau
Quản lý khóa đố i xứ ng nhờ trọngtài
Trọng tài (Trusted Third Party)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 130/302
ọ g ( y) Thự c thể được tấ t cả các thự c thể tham
gia khác tin tưởng
Mỗi thự c thể tham gia chia xẻ một khóađố
i xứ ng v
ới Tr
ọng tài
Hai thự c thể trao đổi thông tin bằng khóađố i xứ ng được Trọng tài tạo ra
Quản lý khóa đố i xứ ng nhờ Trọngtài
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 131/302
A1
A2
A6 A5
A3
A4Ngu ồnkhóa
k
E(k6,k)
E(k2,k)
E(k,m) TTP
Quản lý khóa đố i xứ ng nhờ Trọngtài
Ư u điểm Dễ dàng thêm bớt các thực thể
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 132/302
Dễ dàng thêm bớt các thự c thể Mỗi thự c thể chỉ c ần lư u trữ một khóa đố i dài
hạn
Nhược điểm Tấ t cảc các cuộc trao đổi thông tin đều c ần
tương tác ban đầu với Trọng tài Trọng tài phải lư u trữ nhi ều khóa đố i xứ ng dài
hạn Trọng tài phải xử lý khố i lượng lớn thông tin
Nế u Trọng tài bị đe dọa, tấ t cả các trao đổithông tin đều bị đe dọa
Quản lý khóa công khai
Mô hình cơ bản trao đổi thông tin
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 133/302
khóa công khai
A1: d1
A2: d2
A6: d6 A5:d5
A3: d3
A4: d4
Thư mục công cộng
A1: e1A2 : e2A3 : e3A4 : e4
A5 : e5A6 : e6
e6
c = E(e6,m)
m = D(d6,c)
c
Mô hình cơ bản trao đổi thông tinkhóa công khai
Ư u điểm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 134/302
Không c ần TTP
Thư mục công cộng có thể được lư u trữ cục bộ cùng các thự c thể
Số khóa lư u trữ bằng số thự c thể thamgia
Nhược điểm
Tấ n công chủ động
Mô hình cơ bản trao đổi thông tinkhóa công khai
Tấ n công chủ động
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 135/302
Kẻ tấ n công:d*
A2: d2
A6: d6 A5:d5
A3: d3
A4: d4
Thư mục công cộng
A1: e1A2 : e2A3 : e3A4 : e4
A5 : e5A6 : e6 e*
e*
c = E(e*,m)
c’ = E(e6,m)
m = D(d6,c’)
Quản lý khóa công khai nhờ PKI
Hạ t ầng khóa công khai (PKI)à ộ ầ à ó á
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 136/302
Là một hạ t ầng an toàn trong đó các dịch
vụ được xây dự ng và cung cấ p dự a trêncác khái niệm và kỹ thuật khóa côngkhai
Mục tiêu của PKI nố i khóa công khai vớithự c thể thông qua một thự c thể được tincậy có thẩm quy ền cấ p phát chứ ng nhận
số Certificate Authority
Các hợp ph ần của PKI
Phát hành chứ ng nhận (Certificate Issuance) Một hay nhi ều thự c thể tin cậy được quy ền phát hành
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 137/302
ộ y ự ậy ợ q y pchứ ng nhận
Các thự c thể này gọi là Certificate Authorities Thu h ồi chứ ng nhận (Certificate Revocation)
Thu h ồi chứ ng nhận hế t hạn sử dụng Sao lư u/Phục h ồi/Cập nhật khóa (Key
Backup/Recovery/Update) Sao lư u khóa riêng Phục h ồi trong trường hợp bị mấ t Cập nhật khóa để đảm bảo an toàn
Tem thời gian (Time Stamping) Thời gian cấ p phát chứ ng nhật
Quản lý khóa công khai nhờ PKI
Mô hình trao đổi thông tin
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 138/302
A1: d1
A2: d2
A6: d6 A5:d5
A3: d3
A4: d4
A1, e1, s1 = S(A1||e1)
A2, e2, s2 = S(A2||e2)A3, e3, s3 = S(A3||e3)A4, e4, s4 = S(A4||e4)A5, e5, s5 = S(A5||e5)
A6, e6, s6 = S(A6||e6)
A6||e6,s6
V(A6||e6,s6)
c = E(e6,m)
m = D(d6,c)
c
Certificate
AuthorityCấ p chứ ng nhận
Quản lý khóa công khai nhờ PKI
Ư u điểm Chố tấ ô hủ độ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 139/302
Chố ng tấ n công chủ động
CA chỉ cấ p chứ ng nhận, không tham gia vào việctrao đổi thông tin giữ a các bên
Có thể giảm thiểu tương tác với CA bằng cách
lư u các chứ ng nhận cục bộ Nhược điểm
Nế u thuật toán sinh chữ ký của CA bị đe dọa, tấ t
cả các trao đổi thông tin đều bị đe dọa Độ tin cậy hoàn toàn dự a trên CA
Quản lý khóa, giao thứ c mật mã,…
Quản lý khóa Khóa đối xứng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 140/302
Khóa đố i xứ ng
TTP Khóa công khai
PKI
Giao thứ c mật mã Thố ng nhấ t khóa
Diffie-Hellman
Xác thự c Needham-Schroeder
Giao thứ c
Giao thứ cộ h ỗ á b ớ h h ệ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 141/302
Một chuỗi các bước thự c hiện
Các bước thự c hiện phải tường minh
Tấ t cả các tình huố ng phải được dự tính
và có các bước thự c hiện trước Có ít nhấ t 2 bên tham dự Các bên tham dự phải hiểu biế t và tuân
thủ các bước thự c hiện
Giao thứ c mật mã
Giao thứ c truy ền thông = Giao thứ c trongđó các bước thực hiện là trao đổi thông tin
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 142/302
đó các bước thự c hiện là trao đổi thông tin
Giao thứ c mật mã = Giao thứ c truy ềnthông + Mật mã học
Thông thường một giao thứ c mật mã kế thợp các khía cạnh sau Thố ng nhấ t khóa
Xác thự c Mã hóa
Chố ng phủ nhận
Mô tả giao thứ c mật mã
Các thự c thể tham gia giao thứ cCá b ớ h h ệ ủ hứ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 143/302
Các bước thự c hiện của giao thứ c1. Bước 1
2. Bước 2
3. … Một bước thự c hiện
Alice gử i cho Bob thông tin M Aice -> Bob: M
Giao thứ c mật mã SSL/TLS
SSL/TLS Gi thứ ật ã để t đổi thô ti
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 144/302
Giao thứ c mật mã để trao đổi thông tin
trên Internet SSL được phát triển bởi Netscape
TLS kế thừ a từ SSL phiên bản 3.0 Ứ ng dụng
Duyệt Web, Email, IM, VoIP,…
Thương mại điện tử : Visa, MasterCard,American Express,…
Khởi tạo phiên SSL/TLS
Các pha khởi tạo SSL/TSL1 Bắt ta
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 145/302
1. Bắt tay
2. Thương lượng lự a chọn giải thuật
Thố ng nhấ t khóa: RSA, Diffie-Hellman,…
Mã hóa khóa đố i xứ ng: 3DES, AES,… Chữ ký số : RSA, DSA,…
Hàm băm: SHA, MD5,…
3. Xác thự c4. Thố ng nhấ t khóa
Khởi tạo phiên SSL/TLS
1. Client chào Server C -> S: Hi, I’m Client
2 Server chào Client
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 146/302
2. Server chào Client
S -> C: Hi, I’m Server3. Server xác thự c với Client
S -> C: PK, sig(PK)4. Client kiểm định chữ ký sig(PK)
5. Client tạo ra một số ngẫu nhiên bí mật MS
6. Client gử i Server MS mã hóa C - > S: y=E(PK,MS)
7. Server giải mã y MS = D(K,y)
8. Client và Server tạo 2 khóa bí mật K1, K2 = h(MS)
Quản lý khóa, chia xẻ bí mật
Quản lý khóa Khóa đối xứng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 147/302
Khóa đố i xứ ng
TTP Khóa công khai
PKI
Giao thứ c mật mã Thố ng nhấ t khóa
Diffie-Hellman
Xác thự c Needham-Schroeder
Thố ng nhấ t khóa
Trao đổi thông tin bí mật với tố c độnhanh
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 148/302
nhanh Mật mã khóa đố i xứ ng
Thiế t lập và trao đổi khóa
Các thự c thể tham gia phải thố ng nhấ tkhóa đố i xứ ng
Quá trình thố ng nhấ t khóa phải đảm bảo
Tính bí mật
Tính toàn vẹn
Giao thứ c Diffie-Hellman
1976, Diffie và Hellman phát minhgiao thức thống nhất khóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 149/302
g ao t ức t ố g ất óa
Hình thành và trao đổi khóa chung bí mật trên một kênh truy ền tin không antoàn
Sử dụng các kế t quả trong lý thuyế tnhóm số nguyên nhân tính đồng dư Dự a trên độ phứ c tạp của bài toán Logarit rời rạc
Diffie-Hellman
1. Alice (A) chọn và gử i cho Bob (B) số nguyên tố p vàmột ph ần tử nguyên thủy g thuộc nhóm nhân tính modp
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 150/302
A -> B: p,g
2. Alice chọn một số tự nhiên ngẫu nhiên a và gử i g^amod p cho Bob A -> B: g^a mod p
3. Bob chọn một số tự nhiên ngẫu nhiên b và gử i g^b mod
p cho Alice B -> A: g^b mod p
4. Alice tính (g^b mod p)^a mod p5. Bob tính (g^a mod p)^b mod p
6. Khóa chung bí mật g^(a*b) mod p
Diffie-Hellman
Ví dụ: p = 23, g = 5, a = 6, b = 151. Alice gử i Bob p=23, g=5
A -> B: 23,5
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 151/302
A B: 23,5
2. Alice chọn a=6, và gử i Bob g^a mod p = 5^6 mod23 = 8 A -> B: 8
3. Bob chọn b=15, và gử i Alice g^b mod p = 5^15 mod23 = 19 B -> A: 19
4. Alice tính 19^6 mod 23 = 2
5. Bob tính
8^15 mod 23 = 26. Khóa K = 2
Độ an toàn của Diffie-Hellman
Khóa bí mật Bài toán Diffie-Hellman
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 152/302
Biế t g, g^a, g^b. Tìm g^(a*b)? Bài toàn Logarit rời rạc Biế t g^a. Tìm a?
Tính xác thự c Tấ n công dạng “Man-in-the-middle” Alice và Bob muố n thố ng nhấ t khóa bí mật
Eve là kẻ ở giữ a
Alice và Eve thố ng nhấ t g^(a*e) Bob và Eve thố ng nhấ t g^(b*e)
Quản lý khóa, giao thứ c mật mã,…
Quản lý khóa Khóa đố i xứ ng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 153/302
TTP Khóa công khai
PKI
Giao thứ c mật mã Thố ng nhấ t khóa
Diffie-Hellman
Xác thự c Needham-Schroeder
Xác thự c
Rấ t nhi ều ứ ng dụng đòi hỏi các thự cthể tham gia phải chứ ng minh danh
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 154/302
a g a p g da
tính Mô hình Client-Server an toàn
Quá trình các nhận danh tính của cácthự c thể phải đảm bảo Tính toàn vẹn
Chố ng mạo danh
Giao thứ c Needham-Schroeder
1978, Needham và Schroeder phát minhgiao thứ c xác thự c trên mạng máy tính
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 155/302
không an toàn Chứ ng minh nhận dạng của các thự c thể trao đổithông tin
Ngăn chặn nghe lén, thay đổi thông tin
Ứ ng dụng Xác thự c trong mô hình Client-Server: Kerberos
2 loại giao thứ c Khóa đố i xứ ng Khóa công khai
Needham-Schroeder khóa đố i xứ ng
Alice (A) muố n trao đổi thông tin vớiBob (B)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 156/302
( )
Alice và Bob cùng tin tưởng mộtServer (S) trung gian
Kas khóa đố i xứ ng giữ a A va S Kbs khóa đố i xứ ng giữ a B va S
Na và Nb là các “nonce”
Kab là khóa đố i xứ ng giữ a A và B
Needham-Schroeder khóa đố i xứ ng
1. A gử i thông tin của mình và B cho S A -> S: A,B,Na
2. S gửi khóa Kab cho A, thông tin được mã hóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 157/302
2. S gử i khóa Kab cho A, thông tin được mã hóa
S -> A: {Na,Kab,B,{Kab,A}_Kbs}_Kas3. A gử i khóa Kab cho Bob, thông tin được mã hóa
A -> B: {Kab,A}_Kbs
4. B trả lời A đã nhận được khóa Kab, thông tin đượcmã hóa B -> A: {Nb}_Kab
5. A báo B rằng A sẵn sàng và đang giữ khóa Kab,
thông tin được mã hóa A -> B: {Nb-1}_Kab
Tấ n công Needham-Schroeder khóađố i xứ ng
Tấ n công “Replay”
Charlie lấ y được {Kab,A} Kbs và sử
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 158/302
y ợ { , }_
dụng Kab ở một phiên trao đổi thôngtin khác với Bob mà Bob không pháthiện được
Ngăn chặn tấ n công “Replay”
Giải pháp dùng trong Kerberos Tem thời gian (Timestamp)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 159/302
g ( p)
Nonce
Needham-Schroeder khóa côngkhai
Alice (A) muố n trao đổi thông tin vớiBob (B)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 160/302
Alice và Bob cùng tin tưởng mộtServer (S) trung gian
Ka và ka khóa riêng và công khai của A Kb và kb khóa riêng và công khai của B
Ks và ks khóa riêng và công khai của S
Na và Nb là các “nonce”
Needham-Schroeder khóa côngkhai
1. A yêu c ầu S khóa công khai của B A -> S: A,B
2. S gử i khóa công khai của B cho A
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 161/302
S -> A: {kb,B}_Ks3. A gử i nonce của mình cho B
A -> B: {Na,A}_kb4. B yêu c ầu S khóa công khai của A
B -> S: B,A5. S gử i khóa công khai của A cho B
S -> B: {ka,A}_Ks6. B gử i nonce của mình và của A cho A
B -> A: {Na,Nb}_ka7. A khẳng định đã nhận được nonce của B A ->B: {Nb}_kb
Tấ n công Needham-Schroeder khóacông khai
Tấ n công “Man-in-the-middle” 1. A -> I: {Na,A}_ki
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 162/302
{ }
2. I -> B: {Na,A}_kb
3. B -> I: {Na,Nb}_ka
4. I -> A: {Na,Nb}_ka5. A -> I: {Nb}_ki
6. I -> B: {Nb}_kb
Ngăn chặn tấ n công “Man-in-the-middle”
Thay B -> A: {Na,Nb}_ka
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 163/302
Bởi B -> A: {Na,Nb,B}_ka
An toàn Ph ần m ềm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 164/302
Tr ần Đứ c Khánh
Bộ môn HTTT – Viện CNTT&TT
ĐH BKHN
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 165/302
Các biện pháp ngăn chặn
Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 166/302
Các biện pháp ngăn chặn
Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
Ph ần m ềm ác tính
Chạy theo chủ định của người lậptrình ra nó
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 167/302
Chạy và phản ứ ng theo cách bấ tthường, không trông đợi từ phíangười dùng
Ẩn náu trong hệ thố ng, hoặc gắn vàocác ph ần m ềm không ác tính
Có thể làm được mọi thứ mà mộtph ần m ềm có thể làm
Các ph ần m ềm ác tính thường gặp
Vi rut (Virus) Gắn vào một chương trình, phát tán bản sao ra khác chương
trình khác
Trojan horse
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 168/302
Có các tính năng bấ t thường Bom logic (Logic bomb)
Phát động khi đi ều kiện được thỏa mãn
Bom thời gian (Time bomb)
Phát động khi đế n hạn thời gian Trapdoor
Cho phép truy nhập trái phép các tính năng
Sâu (Worm) Phát tán bản sao qua mạng
Thỏ (Rabbit) Nhân bản đế n khi không còn tài nguyên
Kích hoạt Virus
Virus chỉ gây hại khi được kích hoạt Virus chạy cùng với một chương trình
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 169/302
khác chạy bởi người dùng Virus chạy khi mở tệp đính kèm trong e-
mails, tệp ảnh, tệp đồ họa
Mã virus nố i vào mã chương trình
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 170/302
Mã virus bao quanh mã chươngtrình
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 171/302
Mã virus tích hợp vào mã chươngtrình
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 172/302
Virus tài liệu
Tài liệu Slide
S d h
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 173/302
Spreadsheet Lệnh Macro
Biế n Thủ tục
Truy nhập tệp, CSDL Gọi hệ thố ng
Virus đoạt quy ền kiểm soát
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 174/302
Nơi ẩn náu Virus
Vùng Boot (Boot Sector)
Bộ nhớ (Memory-Resident)
Ứ d (A li i P )
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 175/302
Ứ ng dụng (Application Program)
Thư viện (Library)
…
Boot Sector Virus
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 176/302
Dấ u hiệu nhận biế t Virus
Mã virus có kiểu mẫu đặc biệt Có thể nhận biế t các đoạn mã của từ ng
lo i virus
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 177/302
loại virus Chương trình nhiễm virus sẽ lớn hơn
chương trình ban đầu
Vị trí virus đính kèm không thay đổi
Cách thứ c phát động và hậu quả
Nhận dạng Code Red
/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 178/302
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucdb3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%ub00%u531b%u53ff %u0078%u0000%u00=a
HTTP/1.0
Cách thứ c phát động và hậu quả Đính kèm tệp
Thay đổi thư mục, tệp
Xâm nhập trong bộ nhớ Thay đổi bảng tín hiệu ngắt Tải lên bộ nhớ khi có tín hiệu ngắt
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 179/302
Tải lên bộ nhớ khi có tín hiệu ngắt
Lây lan qua đĩ a Đón tín hiệu ngắt, gọi hàm hệ thố ng Thay đổi tệp hệ thố ng/tệp thự c thi
Phát tán lây lan Lây lan vào vùng Boot, chương trình hệ thố ng, chương
trình và dữ liệu
Ẩn náu
Đón gọi hệ thố ng Thay đổi kế t quả
…
Các biện pháp ngăn chặn
Sử dụng ph ần m ềm thương mại từ ngu ồntin cậy
Kiểm thử phần mềm trên một máy tính/hệ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 180/302
Kiểm thử ph ần m ềm trên một máy tính/hệthố ng tách biệt
Mở tệp đính kèm chỉ khi nào biế t rõ ngu ồn
gố c Lư u ở nơi an toàn một phiên bản có thể tái
tạo của hệ thố ng đang sử dụng
Sử dụng ph ần m ềm quét diệt virus
Một số ngộ nhận v ề virus
Virus chỉ lây nhiễm trên các hệ thố ng MSWindows
Virus không thể thay đổi các file “hidden”
hoặc “read only”
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 181/302
hoặc read-only Virus chỉ xuấ t hiện trong tệp dữ liệu,
chương trình
Virus chỉ phát tán thông qua qua đĩ a, e-mail Virus không thể t ồn tại trong bộ nhớ sau
khi reboot power off/on Virus lây nhiễm trên ph ần cứ ng
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
Các biện pháp ngăn chặn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 182/302
Các biện pháp ngăn chặn
Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
Các biện pháp ngăn chặn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 183/302
Các biện pháp ngăn chặn
Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
Lỗi ph ần m ềm
Lập trình viên thường mắc lỗi không cố ý
không ác tính
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 184/302
không ác tính như ng đôi khi gây hậu quả nghiêm trọng
Các lỗi ph ần m ềm thường gặp
Tràn bộ đệm (Buffer Overflow) Array Index Out of Bound
Không đầy đủ (Incomplete Mediation)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 185/302
Không đầy đủ (Incomplete Mediation) Implicit Cast, Integer Overflow
Đồng bộ (Synchronization) File stat()/open()
Lỗi tràn bộ đệm
1. int authenticated = 0;
2. int (*fnptr)();
3 void vulnerable() {4 h b f[80]
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 186/302
3. void vulnerable() {4. char buf[80];
5. gets(buf);
6. }
Đi ều gì xảy ra nế u đầu vào có hơn 80 byte authenticated /= 0 int (*fnptr)() trỏ đế n mã của hàm khác
Lỗi không đầy đủ1. char buf[80];2. void vulnerable() {3. int len = read_int_from_network();4. char *p = read_string_from_network();
5. if (len > sizeof buf) {6 ("l th t l i t !")
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 187/302
6. error("length too large, nice try!");7. return;8. }
9. memcpy(buf, p, len);10. }11. void *memcpy(void *dest, const void *src, size_t n);12. typedef unsigned int size_t;
Đi ều gì sẽ xảy ra? len là số âm, copy một đoạn bộ nhớ khổng l ồ
Lỗi đồng bộ1. int openfile(char *path) {2. struct stat s;3. if (stat(path, &s) < 0)4. return -1;5. if (!S ISRREG(s.st mode)) {
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 188/302
( _ ( _ )) {6. error("only allowed to regular files; nice try!");7. return -1;
8. }9. return open(path, O_RDONLY);10. }
Đi ều gì sẽ xảy ra? trạng thái hệ thố ng thay đổi giữ a stat() và open()
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
Các biện pháp ngăn chặn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 189/302
Các biện pháp ngăn chặn
Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
Các biện pháp ngăn chặn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 190/302
ệ p p gă ặ Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
Kiểm thử
Mục đích của kiểm thử là tìm ra lỗicủa hệ thố ng
Nếu không tìm ra lỗi, chúng ta hi vọngằ hệ hố là à
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 191/302
ế g ỗ , g ọ grằng hệ thố ng là an toàn
Quy trình kiểm thử
1. Đơn vị (Unit Testing)
2. Tích hợp (Integration Testing)
3. Chức năng (Function Testing)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 192/302
3. Chứ c năng (Function Testing)
4. Hiệu năng (Performance Testing)
5. Công nhận (Acceptance Testing)6. Cài đặt (Installation Testing)
Một số loại hình kiểm thử đặc biệt
H ồi quy (Regression Testing) Nế u hệ thố ng có thay đổi, chỉnh sử a
Xoắn (Fuzz Testing)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 193/302
ắ ( g) Các trường hợp đặc biệt, dễ bị khai thác
và tấ n công
Các tiế p cận trong kiểm thử
Hộp đen (Black-box) Không có thông tin v ề cấ u trúc bên trong của
ph ần m ềm
Dùng cho tấ t cả các mứ c của quy trình kiểm thử Hộ ắ (Whi b )
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 194/302
Hộp trắng (White-box) Biế t cấ u trúc bên trong của ph ần m ềm
Thường dùng cho kiểm thử đơn vị Hộp xám (Grey-box)
Hỗn hợp
Đen: kiểm thử Trắng: thiế t kế ca kiểm thử
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
Các biện pháp ngăn chặnỗ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 195/302
ệ ặ Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
Kiểm định hình thứ c
Mục đích của kiểm định hình thứ c làchứ ng minh hệ thố ng an toàn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 196/302
Các tiế p cận trong kiểm định hìnhthứ c
Kiểm định mô hình (Model checking) Ph ần m ềm được đặc tả bằng một mô hình
Quá trình kiểm định thự c hiện bằng cách duyệt
tấ t cả các trạng thái thông qua tấ t cả cácchuyển tiếp
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 197/302
chuyển tiế p
Suy diễn logic (Logical Inference)
Đầu vào của ph ần m ềm bị ràng buộc bằng mộtbiểu thứ c logic
Tương tự với đầu ra
Bản thân ph ần m ềm cũng bị ràng buộc bằngmột biểu thứ c logic
Kiểm định hình thứ c sử dụng suydiễn logic
Chương trìnhĐầu vào Đầu ra
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 198/302
Đầu vào+ Đi ều kiện trước Đầu ra
+Đi ều kiện sau
Chương trình
+ Đi ều kiện
Đi ều kiện trước (Precondition)
1. /* Requires: n >= 1 */
2. int fact(int n) {
3. int t;4 if ( 1)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 199/302
4. if (n == 1)5. return 1;
6. t = fact(n-1);7. t *= n;8. return t;
9. }
Đi ều kiện sau (Postcondition)
1. /* Ensures: returnvalue >= 0 */
2. int fact(int n) {
3. int t;4 if ( 1)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 200/302
4. if (n == 1)5. return 1;
6. t = fact(n-1);7. t *= n;8. return t;
9. }
Đi ều kiện trong chương trình
1. int fact(int n) {
2. int t;
3. if (n == 1)
4. return 1;5. /* n>=2 */
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 201/302
/ /
6. t = fact(n-1);
7. /* t>=0 */
8. t *= n;
9. /* t>=0 */
10. return t;
11.}
Đi ều kiện
1. /* Requires: n >= 1; Ensures: returnvalue >= 0 */
2. int fact(int n) {
3. int t;4. if (n == 1)5 return 1;
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 202/302
5. return 1;6. /* n>=2 */
7. t = fact(n-1);8. /* t>=0 */9. t *= n;10. /* t>=0 */
11. return t;12. }
An toàn Ph ần m ềm
Ph ần m ềm ác tính Các ph ần m ềm ác tính thường gặp
Các biện pháp ngăn chặn Lỗi phần mềm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 203/302
Lỗi ph ần m ềm
Các lỗi ph ần m ềm thường gặp Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thứ c (Formal Verification) Lập trình an toàn (Secure Coding)
Lập trình an toàn (Secure Coding)
Nguyên tắc Mô đun (Modularity)
Đóng gói (Encapsulation) Giấu thông tin (Information Hiding)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 204/302
Giấ u thông tin (Information Hiding)
Mô đun
Thiế t kế các hợp ph ần Một mục tiêu/nhiệm vụ
Nhỏ Đơn giản
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 205/302
Đơn giản
Độc lập
Đóng gói
Giấ u thông tin v ề cách thứ c cài đặtcác hợp ph ần
Ví dụ: lớp ảo C++, giao diện Java Giảm thiểu chia xẻ giữ a các hợp ph ần
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 206/302
g ợp p Ví dụ: các thư viện
Các hợp ph ần tương tác thông quacác giao diện Ví dụ: tương tác giữ a các đố i tượng
thông qua các phương thứ c
Giấ u thông tin
Một hợp ph ần như một hộp đen nhìntừ phía ngoài
Ví dụ: một lớp C++, Java Các phần tử bên ngoài không thể
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 207/302
Các ph ần tử bên ngoài không thểthay đổi sữ a chữ a thông tin một cáchác ý và trái phép Ví dụ: các thuộc tính private, protected
Lập trình an toàn (Secure Coding)
Một số quy tắc thự c hành Sử dụng một chuẩn lập trình
Lập trình phòng thủ Kiểm tra dữ liệu đầu vào/đầu ra
ử ặ ề ấ ấ ó ể
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 208/302
Sử dụng đặc quy ền thấ p nhấ t có thể
Thiế t kế theo chính sách an toàn Sử dụng các công cụ đảm bảo chấ t lượng Kiểm thử
Kiểm định Duyệt lại mã
An toàn Hệ đi ều hành
T ầ Đứ Khá h
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 209/302
Tr ần Đứ c Khánh
Bộ môn HTTT – Viện CNTT&TTĐH BKHN
Hệ đi ều hành
Vai trò Giao diện giữ a ph ần cứ ng và ph ần m ềm
Quản lý tài nguyên Cung cấp các phương tiện bảo vệ phần
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 210/302
Cung cấ p các phương tiện bảo vệ ph ầncứ ng và ứ ng dụng
An toàn Hệ đi ều hành
Các vấ n đề bảo vệ trong Hệ đi ều hành Bảo vệ bộ nhớ và địa chỉ Bảo vệ tệp
Xác thự c người dùng Đi ều khiển truy nhập
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 211/302
y ập Các mô hình ĐKTN
ĐKTN trong Unix, Windows NT/2000 Nguyên tắc thiế t kế Hệ đi ều hành
Giám sát thẩm quy ền (Reference Monitor)
Phân hoạch (Separation)/Cách ly (Isolation) Thiế t kế phân t ầng (Layered Design)
An toàn Hệ đi ều hành
Các vấ n đề bảo vệ trong Hệ đi ều hành
Bảo vệ bộ nhớ và địa chỉ Bảo vệ tệp
Xác thự c người dùng
Điều khiển truy nhập
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 212/302
Đi ều khiển truy nhập
Nguyên tắc thiế t kế Hệ đi ều hành
Giám sát thẩm quy ền (Reference Monitor)
Phân hoạch (Separation)/Cách ly (Isolation)
Thiế t k
ế phân t
ầng (Layered Design)
Bảo vệ bộ nhớ và địa chỉ Làm thế nào ngăn chặn một chương
trình/người dùng can thiệp vào không
gian bộ nhớ của chương trình/ngườidùng khác?
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 213/302
Phân đoạn (Segmentation)
Phân trang (Paging)
Phân đoạn (Segmentation)
Phân chia chương trình thành các đoạn Tương ứ ng với các đoạn dữ liệu, các chương
trình con
Mỗi đoạn có quy ền khác nhau (R,W,E) Phân chia bộ nhớ vật lý thành các đoạn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 214/302
Tương ứ ng với, các mảng dữ liệu người dùng
hoặc các đoạn mã chương trình Mỗi đoạn có một tên duy nhấ t
<Name,Offset>
Hệ đi ều hành phải duy trì một bảng cácđoạn
Đoạn logic và đoạn vật lý
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 215/302
Tính địa chỉ đoạn
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 216/302
Phân trang (Paging)
Phân chia chương trình thành các trang(page) cùng kích thước
Phân chia bộ
nhớ
vật lý thành các khungtrang (page frame) cùng kích thước
512 đến 4096 byte
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 217/302
512 đế n 4096 byte
Mỗi trang có một tên duy nhấ t <Page,Offset>
Hệ đi ều hành phải duy trì một bảng các
trang
Tính địa chỉ trang
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 218/302
Kế t hợp Phân đoạn và Phân trang
Ư u điểm của phân đoạn Bảo vệ bộ nhớ bằng cách phân quy ền
theo chương trình/người dùng
Hệ đi ều hành kiểm soát việc quy ềnđọc/ghi/thự c hiện trên bộ nhớ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 219/302
ọ /g / ự ệ ộ
Ư u điểm của phân trang Tố c độ
Trong các hệ đi ều hành hiện đại
Kế t hợp Phân đoạn+Phân trang
Kế t hợp Phân đoạn và Phân trang
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 220/302
Bảo vệ tệp
Bảo vệ nhóm Tấ t cả người dùng được phân thành
nhóm Quy ền sử dụng được một người dùng
thiết lập cho mình và cả nhóm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 221/302
thiế t lập cho mình và cả nhóm
Bảo vệ cá thể Mỗi người dùng có một số quy ền
Quy ền sử dụng lâu dài
Quy ền sử dụng tạm thời
Bảo vệ tệp
Hệ thố ng tệp UNIX/LINUX Mỗi tệp có chủ sở hữ u và nhóm sở hữ u
Quy ền được thiế t lập bởi chủ sở hữ u R,W,E
tid th
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 222/302
setid, owner, group, other
Chỉ có chủ sở hữ u và root mới được phépthay đổi quy ền
Xác thự c người dùng
Hệ đi ều hành quản lý nhi ều ngườidùng
Ai là ai? Giải pháp xác thự c người dùng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 223/302
Mật khẩu
Một số đặc điểm sinh trắc học
Xác thự c bằng mật khẩu
Hệ đi ều hành lư u trữ một tệp người dùng/mậtkhẩu Tệp thông thường
Thông tin lư u dạng văn bản
Độ an toàn thấ p Tệp mã hóa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 224/302
Mã hóa cả tệp hoặc chỉ mã hóa mật khẩu
Độ an toàn phụ thuộc vào hê mật mã Để tăng cường độ an toàn
Mật khẩu đủ dài, tránh chứ a các thông tin đặc biệt
Thay đổi mật khẩu đều đặn Đề phòng tấ n công dạng “đăng nhập giả”
Thố ng kê lự a chọn mật khẩu
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 225/302
Xác thự c bằng sinh trắc học
Các đặc điểm sinh trắc học Vân tay, mắt, khuôn mặt, chữ viế t…
Xác thự c bằng sinh trắc học tương đố imới Phát triển nhanh trong những năm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 226/302
Phát triển nhanh trong nhữ ng năm
Một số nhược điểm Giá thành
Tố c độ /Độ chính xác
Giả mạo
An toàn Hệ đi ều hành
Các vấ n đề bảo vệ trong Hệ đi ều hành Bảo vệ bộ nhớ và địa chỉ Bảo vệ tệp
Xác thự c người dùng Đi ều khiển truy nhập
Các mô hình ĐKTN
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 227/302
Các mô hình ĐKTN
ĐKTN trong Unix, Windows NT/2000 Nguyên tắc thiế t kế Hệ đi ều hành
Giám sát thẩm quy ền (Reference Monitor)
Phân hoạch (Separation)/Cách ly (Isolation)
Thiế t kế phân t ầng (Layered Design)
Đi ều khiển truy nhập
Rât nhi ều đố i tượng được truy nhập Bộ nhớ Ph ần cứ ng
Tệp
Thông tin hệ thố ng: bảng, cơ chế bảo vệ,
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 228/302
g ệ g g, ệ,
lệnh đặc quy ền …
Vấ n đề an toàn đặt ra
Ai được truy nhập gì với đặc quy ền nào?
Cơ chế Đi ều khiển truy nhập
Truy nhập thư mục Mỗi đố i tượng c ần bảo vệ giố ng như một tệp
Mỗi người dùng có một số quy ền nhấ t định trên
một số tệp Danh sách đi ều khiển truy nhập
Danh sách các đối tượng truy nhập
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 229/302
Danh sách các đố i tượng truy nhập
Mỗi đố i tượng có một danh sách các chủ thể Ma trận đi ều khiển truy nhập
Một chi ều là danh sách các chủ thể
Một chi ều là danh sách các đố i tượng truy nhậptương ứ ng với các chủ thể
Truy nhập thư mụcDirectory Access
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 230/302
Đường dẫn truy nhập thư mục
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 231/302
Danh sách đi ều khiển truy nhậpAccess Control List
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 232/302
Ma trận đi ều khiển truy nhậpAccess Control Matrix
BIBLIOG TEMP F HELP.TXT C_COMP
LINKER SYS_CLOCK
PRINTER
USER A ORW ORW ORW R X X R W
USER B R R X X R W
USER S RW R R X X R W
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 233/302
USER T R X X R W
SYS_M
GR
RW OX OX ORW O
USER_SVCS
O X X R W
ĐKTN trong UNIX/LINUX
Dùng ACL Đố i với các tệp, thuộc tính rwx cho
Chủ sở hữ u Nhóm
Tấ t cả Ví dụ
drwxrwxrwx Alice Accounts
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 234/302
drwxrwxrwx Alice Accounts
-rw-r------ Bob Accounts Các chương trình chạy trong lúc hệ thố ng khởi động
có đặc quy ền quản trị (root)
Các chương trình khác chạy với quy ền người dùng(user)
ĐKTN trong UNIX/LINUX
Làm thế nào để duy trì bộ 3 (ngườidùng, chương trình, tệp) UNIX/LINUX dùng suid và sgid
Vấ n đề an toàn suid root
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 235/302
Vấ n đề theo dõi thự c thi chương trình Thu h ồi đặc quy ền
Vấ n đề quản lý tiế n trình Tiế n trình có một group id
ĐKTN trong WINDOWS NT/2000
Quản lý (nhóm) người dùng sử dụngActive Directory
Xác thự c sử dụng Kerberos Các thuộc tính của tệp mịn hơnUNIX/LINUX
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 236/302
read, write, execute, accessdenied,accessallowed, systemaudit,…
Vấ n đề quản trị có toàn quy ền
Dùng Registry, một hình thứ c của ACL
An toàn Hệ đi ều hành
Các vấ n đề bảo vệ trong Hệ đi ều hành Bảo vệ bộ nhớ và địa chỉ Bảo vệ tệp
Xác thự c người dùng Đi ều khiển truy nhập
Các mô hình ĐKTN
ĐKTN U i Wi d NT/2000
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 237/302
ĐKTN trong Unix, Windows NT/2000
Nguyên tắc thiế t kế Hệ đi ều hành Giám sát thẩm quy ền (Reference Monitor)
Phân hoạch (Separation)/Cách ly (Isolation)
Thiế t kế phân t ầng (Layered Design)
Giám sát thẩm quy ền
Ph ần quan trọng nhấ t của hệ đi ều hành Là một tập các đi ều khiển truy nhập các đố i
tượng Bộ nhớ, thiế t bị, tệp, thông tin các tiế n trình, …
Đặc điểm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 238/302
Không bao giờ bị suy yế u, tê liệt Luôn được gọi đế n khi một đố i tượng được yêu
c ầu sử dụng
Nhỏ gọn, để có thể dễ dàng phân tích và kiểmthử và đảm bảo tính đầy đủ
Giám sát thẩm quy ền
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 239/302
Phân hoạch/Cách ly
Phân hoạch vật lý Các tiế n trình khác nhau sử
dụng các thiế t bị khác nhau Phân hoạch thời gian
Các tiế n trình với yêu c ầukhác nhau thự c hiện tại cácthời gian khác nhau
Phân hoạch logic (Cách ly)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 240/302
Người dùng/tiế n trình thự chiện nhiệm vụ của mìnhtrong không gian của mình
Phân hoạch mật mã Người dùng/tiế n trình giấ u
thông tinh của mình
Thiế t kế phân t ầng
1. Lõi an toàn (Security Kernel)1. Ph ần cứ ng2. An toàn
2. Lõi hệ đi ều hành1. Đồng bộ2. Cấ p phát
3. Hệ đi ều hành
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 241/302
1. Sắp đặt, Chia xẻ, Quản lý bộ nhớ2. Hệ thố ng tệp, Cấ p phát thiế t bị3. Tính năng khác
4. Ứ ng dụng
Thiế t kế phân t ầng
Một mô đun = nhi ều mô đun hợpph ần Mỗi mô đun hợp ph ần thuộc một t ầng
khác nhau của kiế n trúc đa t ầng
Ví dụ: Mô đun xác thự c người dùng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 242/302
1. Cập nhật thông tin người dùng2. So sánh thông tin người dùng
3. Tìm kiế m người dùng
4. Giao diện xác thự c người dùng
Thiế t kế phân t ầng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 243/302
Môđun xác thự c trong thiế t kế phânt ầng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 244/302
An toàn Cơ sở dữ liệu
Tr ần Đứ c Khánh
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 245/302
Bộ môn HTTT – Viện CNTT&TTĐH BKHN
Cơ sở dữ liệu
Tập hợp các dữ liệu có quan hệ đượclư u trữ (tập trung hoặc phân tán) để
người dùng có thể truy nhập khi c ần
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 246/302
Mục tiêu an toàn CSDL
Bí mật Dữ liệu nhạy cảm
Toàn vẹn Vật lý
Logic
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 247/302
Sẵn dùng
Đi ều khiển truy nhập
Xác thự c người dùng
An toàn CSDL
Các mố i đe dọa CSDL Cập nhật CSDL
Dữ liệu nhạy cảm
Suy diễn
Thiế t kế CSDL tin cậy
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 248/302
CSDL đa t ầng
An toàn CSDL
Các mố i đe dọa CSDL Cập nhật CSDL
Dữ liệu nhạy cảm
Suy diễn
Thiế t kế CSDL tin cậy
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 249/302
CSDL đa t ầng
Cập nhật CSDL
Sự cố hệ thố ng Hệ thố ng bị sự cố khi đang cập nhật
CSDL
Tương tranh Nhi ều người dùng truy nhập sử a đổi cùng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 250/302
lúc vào cùng dữ liệu
Sự cố hệ thố ng: ví dụ CSDL vănphòng phẩm
Kho chứ a văn phòng phẩm Giấ y, bút,…
Quản trị kho chịu trách nhiệm đặtmua văn phòng phẩm
Phòng, ban sử dụng văn phòng phẩm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 251/302
Mỗi văn phòng phẩm có một quota kinhphí văn phòng phẩm cố định
CSDL văn phòng phẩm: một kịchbản cập nhật
Phòng kế toán yêu c ầu 50 hộp ghimgiấ y
Giả sử còn 107 hộp ghim giấ y trongkho
Quản trị kho sẽ đặt hàng nế u số
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 252/302
lượng hộp ghim giấ y nhỏ hơn 100
Các bước thự c hiện kịch bản
1. Kiểm tra kho còn đủ 50 hộp hay không.Nế u không, yêu c ầu bị từ chố i. Kế t thúcgiao tác
2. Còn đủ số lượng. Làm phép trừ (107-50=57)
3. Trừ quota kinh phí của phòng kế toán
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 253/302
4. Kiểm tra số lượng hộp có dưới 100 haykhông (57). Đặt mua thêm
5. Gử i 50 hộp ghim giấ y cho phòng kế toán
Sự cố kịch bản
Đi ều gì xảy ra nế u có sự cố hệ thố ngsau các bước 1,2,3,4
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 254/302
Giải pháp phòng chố ng sự cố hệthố ng
Giải pháp 2 pha1. Intent
1. Thu thập tài nguyên và thông tin, tính toán
và chuẩn bị dữ liệu cho pha sau2. Đánh dấ u kế t thúc pha Intent Set COMMIT-FLAG
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 255/302
2. Commit1. Thự c hiện cập nhật CSDL với các dữ liệu đã
chuẩn bị ở pha trước
2. Đánh dấ u kế t thúc pha Commit Unset COMMIT-FLAG
Ví dụ giải pháp 2 pha: cập nhậtCSDL văn phòng phẩm
Intent1. Kiểm tra giá trị COMMIT-FLAG. Nế u khác 0, chờ cho
đế n khi COMMIT-FLAG bằng 0
2. So sánh số hộp ghim giấ y đang có với số yêu c ầu;
nế u số yêu c ầu lớn hơn, kế t thúc3. Tính TCLIPS = ONHAND - REQUISITION
4. Xem BUDGET hiện nay của phòng kế toán. TínhTBUDGET = BUDGET - COST, trong đó COST là giáhà h h h
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 256/302
thành của 50 hộp ghim
5. Kiểm tra TCLIPS < 100 hay không; nế u đúng,TREORDER = TRUE; nế u không TREORDER = FALSE
Ví dụ giải pháp 2 pha: cập nhậtCSDL văn phòng phẩm
Commit1. COMMIT-FLAG = 1
2. Cóp TCLIPS vào CLIPS trong CSDL
3. Cóp TBUDGET vào BUDGET trong CSDL
4. Cóp TREORDER vào REORDER trong CSDL
5 Ch ẩ b i bá i hà h hò k
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 257/302
5. Chuẩn bị giấ y báo giao hàng cho phòng kế toán. Ghi chú giao tác hoàn thành vào log
6. COMMIT-FLAG = 0
Tương tranh: ví dụ CSDL vé máybay
Văn phòng du lịch A SELECT (SEAT-NO = '11D') ASSIGN
'MOCK,E' TO PASSENGER-NAME
Văn phòng du lịch B SELECT (SEAT-NO = '11D') ASSIGN
'EHLERS P' TO PASSENGER NAME
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 258/302
'EHLERS,P' TO PASSENGER-NAME
Giải pháp tương tranh
Cập nhật CSDL là một thao tác cơ bản Chỉ một thao tác cập nhật thự c hiện trên
một dữ liệu
Hệ quản trị CSDL sẽ bảo vệ dữ liệu đang
ậ hật
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 259/302
được cập nhật Khi thao tác cập nhật một dữ liệu kế t
thúc, các thao tác khá mới có quy ền thự c
hiện trên dữ liệu đó
Dữ liệu nhạy cảm
Dữ liệu công chúng không nên có Loại dữ liệu nhạy cảm
Bảng Bản ghi
Trường
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 260/302
Dữ liệu nhạy cảm
Các loại rò gỉ dữ liệu nhạy cảm Dữ liệu chính xác
Cận Kế t quả âm
T ồn tại
Giá trị xác xuất
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 261/302
Giá trị xác xuấ t
Bảo vệ dữ liệu nhạy cảm
Hệ quản trị CSDL quản lý truy nhậpdữ liệu nhạy cảm bằng đi ều khiểntruy nhập
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 262/302
Suy diễn
Suy diễn dữ liệu nhạy cảm từ dữ liệukhông nhạy cảm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 263/302
Suy diễn
Các loại tấ n công suy diễn Trự c tiế p (Direct)
Gián tiế p (Indirect) Tổng (Sum)
Đế m (Count)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 264/302
…
Ví dụ
N ame Sex Race Aid Fines Drugs DormAdams
Bailey
Chin
Dewitt
Earhart
Fein
Groff
Holmes145.5000CM
M
F
M
F
F
Grey
M
00.0B
A
B
West
C
C
0
C
20.3000
1000 Grey
2000
1000
4000
335.
95.
15.
Holmes
0
1
0
3
West
West
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 265/302
Groff
Hill
Koch
LiuMajors
M
F
F
F
C
B
C
A
4000
5000
0
M
0.
10.
C0
3
2000
0.
10.0.
2
1
22
West
Holmes
West
GreyGrey
Ví dụ: tấ n công trự c tiế p
List NAME where SEX=M DRUGS=1 Trả v ề thông tin liên quan đế n Adam
Hệ CSDL có thể từ chố i câu truy vấ n này vì quá
đặc biệt
List NAME where (SEX=M and DRUGS=1) or
(SEX /= M and SEX /= F) or
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 266/302
(SEX /= M and SEX /= F) or(DORM=AYRES) Câu truy vẫn phứ c tạp hơn như ng kế t quả giố ng
như trên
Ví dụ: tấ n công gián tiế p
Dùng tổng (Sum): tổng của kinh phí hỗ trợtheo giới tính và khu vự c
Holmes Grey West Total
M 5000 3000 4000 12000
F 7000 0 4000 11000
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 267/302
F 7000 0 4000 11000
Total 12000 3000 8000 23000
Ví dụ: tấ n công gián tiế p
Dùng đế m kế t hợp tổng (Count & Sum): số sinh viên theo giới tính và khu vự c
Holmes Grey West Total
M 1 3 1 5
F 2 1 3 6
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 268/302
F 2 1 3 6
Total 3 4 4 11
Biện pháp ngăn chặn tấ n công suydiễn
Phân tích câu truy vấ n Ngụy trang thông tin
Loại bỏ thông tin nhạy cảm
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 269/302
An toàn CSDL
Các mố i đe dọa CSDL Cập nhật CSDL
Dữ liệu nhạy cảm
Suy diễn
Thiế t kế CSDL tin cậy
CSDL đa tầng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 270/302
CSDL đa t ầng
CSDL đa t ầng
Các t ầng CSDL tương ứ ng với mứ c độ nhạycảm của dữ liệu
Các tiế p cận
Phân ngăn (Partitioning) Mã hóa (Encryption)
Khóa
Khóa toàn vẹn (Integrity Lock) Khóa nhạy cảm (Sensitive Lock)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 271/302
Khóa toàn vẹn (Integrity Lock) Khóa nhạy cảm (Sensitive Lock)
Front-end tin cậy (Trusted Front-end)
Bộ lọc giao hoán (Commutative Filter)
Cử a sổ (Window/View)
Phân ngăn
CSDL được chia thành các CSDL khácnhau ở mứ c độ nhạy cảm khác nhau
Ư u điểm Quản lý an toàn ở nhi ều mứ c khác nhau
Nhược điểm Dư thừa
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 272/302
Dư thừ a Không kế t hợp dữ liệu ở các mứ c nhạy
cảm khác nhau
Mã hóa
Mỗi dữ liệu nhạy cảm sẽ được mã hóabằng một khóa tương ứ ng
Ư u điểm Quản lý an toàn ở nhi ều mứ c khác nhau
Nhược điểm Tốc độ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 273/302
Tố c độ Không gian lư u trữ
Khóa toàn vẹn
Mục tiêu đảm bảo tính toàn vẹn vàgiới hạn truy nhập
Khóa Checksum
Tính toán bằng hàm mã hóa hoặc hàm băm
Giá trị phụ thuộc vào Data ID + Data +Sensitivity Label
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 274/302
ị p ụ ộSensitivity Label
Khóa nhạy cảm
Mục tiêu che giấ u độ nhạy cảm củadữ liệu
Khóa Mã
Tính toán bằng hàm mã hóa hoặc hàm băm
Giá trị phụ thuộc vào Data ID + SensitivityLevel
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 275/302
ị p ụ ộ yLevel
Front-end tin cậy
Hoạt động giố ng “Giám sát thẩm quy ền” Đi ều khiển truy nhập CSDL
1. Xác thự c người dùng
2. Kiểm tra quy ền người dùng3. Gử i truy vấ n cho hệ quản trị CSDL
4. Nhận kế t quả truy vấ n
5. Phân tích độ nhạy cảm của kế t quả truy vấ n, soá h ớ ề ờ dù
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 276/302
ộ ạsánh với quy ền người dùng
6. Định dạng lại kế t quả truy vấ n
7. Gử i kế t quả truy vấ n cho người dùng
Bộ lọc giao hoán
Hoạt động giố ng “Front-end tin cậy” Đi ều khiển truy nhập CSDL
1. Xác thự c người dùng
2. Kiểm tra quy ền người dùng3. Định dạng lại truy vấ n4. Gử i truy vấ n cho hệ quản trị CSDL
5. Nhận kế t quả truy vấ n6. Phân tích độ nhạy cảm dữ liệu của kế t quả truy
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 277/302
ộ ạy ệ q yvấ n, so sánh với quy ền người dùng
7. Định dạng lại kế t quả truy vấ n
8. Gử i kế t quả truy vấ n cho người dùng
Cử a sổ
Mục tiêu giới hạn “t ầm nhìn” củangười dùng theo quy ền Quy ền đọc, ghi
Mỗi cử a sổ là một tập con của CSDL Mỗi tập con tương ứ ng với dữ liệu mà
người dùng có quy ền sử dụng
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 278/302
g g ụ g
An toàn Mạng và Web
Tr ần Đứ c Khánh
Bộ môn HTTT – Viện CNTT&TT
ĐH BKHN
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 279/302
ĐH BKHN
An toàn Mạng và Web
An toàn Mạng An toàn Web
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 280/302
An toàn Mạng và Web
An toàn Mạng An toàn Web
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 281/302
Mạng máy tính
Môi trường sử dụng
Tôpô và kích thước
Phương tiện truy ền thông Cáp, Cáp quang, Vi sóng, H ồng ngọa, Satellite
Giao thứ c 7 t ầng OSI: Vật lý, Liên kế t Dữ liệu, Mạng, Vận
chuyển, Phiên, Trình diễn, Ứ ng dụng
Địa chỉ MAC, IP
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 282/302
Định tuyế n Loại mạng
LAN, WAN, Internets
An toàn Mạng
Các mố i đe dọa Thăm dò
Nghe trộm
Mạo danh, lừ a đảo
Lỗ hổng trang Web Từ chố i dịch vụ Mã lư u động
Các biện pháp ngăn chặn Mã hóa
á
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 283/302
Xác thự c Tường lử a
Phát hiện đột nhập
An toàn Mạng
Các mố i đe dọa Thăm dò
Nghe trộm
Mạo danh, lừ a đảo
Lỗ hổng trang Web Từ chố i dịch vụ Mã lư u động
Các biện pháp ngăn chặn Mã hóa
á h
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 284/302
Xác thự c Tường lử a
Phát hiện đột nhập
Thăm dò
Quét cổng (Port Scan) Thu thập thông tin đố i tượng tấ n công
dịch vụ, cổng đang hoạt động (HTTP:80,
POP:110, SMTP:25, FTP:21) phiên bản hệ đi ều hành
phiên bản ứ ng dụng
Tham khảo danh sách các lỗ hổng củaá h ê bả
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 285/302
các phiên bản
Thự c hiện tấ n công
Nghe trộm
Đường truy ền cáp Sử dụng “packet sniffer”
Lập trình lại card
Wireless Tín hiệu rấ t dễ bị nghe trộm
Sử dụng ăng ten
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 286/302
Mạo danh, lừ a đảo
Phỏng đoán thông tin xác thự c của đố i tượng tấ n công Đoán mật khẩu
Nghe trộm thông tin xác thự c của đố i tượng tấ n công Nghe trộm mật khẩu
Tận dụng lỗ hổng cơ chế xác thự c Tràn bộ đệm
Thông tin xác thự c công cộng
Thiế t bị mạng quản lý bởi SNMP Man-in-the-middle
h h
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 287/302
Phishing
Lỗ hổng trang Web
Tràn bộ đệm Dot-Dot-Slash
../.. Gọi phương thứ c phía máy chủ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 288/302
Từ chố i dịch vụ
Tràn kế t nố i (Connection Flooding) Tấ n công giao thứ c TCP, UDP, ICMP Ping, Smurf, Syn Flood
DNS (Domain Name Server) Tận dụng lỗi Buffer Overflow để thay đổi
thông tin định tuyế n DNS cache poisoning
Từ chối dịch vụ phân tán (DDoS)
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 289/302
Từ chố i dịch vụ phân tán (DDoS) Dùng các Zombie đồng loạt tấ n công
Mã lư u động
Cookie Cookie lư u thông tin người dùng (phiên, lâu dài)
Scripts Tấ n công các trang ASP, JSP, CGI, PHP
ActiveX Mã Java
Applet
Auto Exec .exe, .doc
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 290/302
.exe, .doc
Bot
Trojan Horse
An toàn Mạng
Các mố iđe d
ọa Thăm dò
Nghe trộm
Mạo danh, lừ a đảo
Lỗ hổng trang Web Từ chố i dịch vụ Mã lư u động
Các biện pháp ngăn chặn Mã hóa
Xác thực
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 291/302
Xác thự c Tường lử a
Phát hiện đột nhập
Mã hóa
Mã hóa liên kế t Thông tin được mã hóa ở t ầng Data Link của
mô hình OSI Mã hóa end-to-end
Thông tin được mã hóa ở t ầng Application củamô hình OSI VPN (Virtual Private Network)
Trao đổi thông tin giữ a người dùng và Firewall
thông qua kênh mã hóa PKI
Mật ã ô kh i à hứ hậ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 292/302
Mật mã công khai và chứ ng nhận Giao thứ c mật mã
SSH, SSL, IPSec
Xác thự c
Mật khẩu một l ần Password Token
Hệ Challenge-Response
Xác thự c số phân tán
Kerberos
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 293/302
Tường lử a
Công cụ để lọc thông tin di chuyểngiữ a “mạng bên trong” và “mạng bênngoài” Ví dụ: Mạng LAN và Internet
Mục tiêu ngăn chặn nguy cơ đế n từ
mạng bên ngoài Thực hiện ngăn chặn thông qua chính
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 294/302
Thự c hiện ngăn chặn thông qua chínhsách an toàn
Tường lử a
Các loại tường lử a Lọc gói (Packet Filtering Gateways)
Duyệt trạng thái (Stateful InspectionFirewalls)
Cổng ứ ng dụng (Application Proxies)
Gác (Guards)
á â
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 295/302
Cá nhân (Personal Firewalls)
Phát hiện đột nhập
Kiểm tra người dùng và hoạt động hệ thố ng Ghi lại cấ u hình hệ thố ng để phát hiện nguycơ
Đánh giá tính toàn vẹn của hệ thố ng và dữ liệu
Phát hiện các dạng tấ n công Phát hiện các hoạt động bấ t thường thông
qua phân tích thố ng kê Sử a chữ a lỗi cấ u hình hệ thố ng
ẫ
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 296/302
Cài đặt và vận hành các hệ thố ng bẫy đột
nhập
Phát hiện đột nhập
Các loại hệ thố ng phát hiện đột nhập Hệ phát hiện đột nhập dự a trên mẫu
Hệ phát hiện đột nhập dùngHeuristics
Hệ phát hiện đột nhập hoạt động bí
mật Hệ Tripwire
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 297/302
Hệ Tripwire
An toàn Mạng và Web
An toàn Mạng An toàn Web
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 298/302
SQL Injection
SQL Structured Query Language
Ngôn ngữ truy vấ n CSDL
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 299/302
SQL Injection
Tấ n công SQL Injection statement = “SELECT * FROM users
WHERE name = ‘ “ + userName +” ‘;”
Đi ều gì xảy ra nế u userName = a’ or ‘t’=‘t
Đi ều gì xảy ra nế u userName = a';DROPTABLE
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 300/302
TABLE users;
SQL Injection
Biện pháp ngăn chặn Mứ c lập trình Kiểm soát chặt chẽ đầu vào
Loại bỏ các ký tự đặc biệt Ở mứ c CSDL Dùng lệnh prepare để định dạng câu truy
vấ n Phân tích t ĩ nh câu truy vấ n Phát hiện điều kiện “t t”
5/11/2018 Slide Athttt 2010 - slidepdf.com
http://slidepdf.com/reader/full/slide-athttt-2010 301/302
Phát hiện đi ều kiện t = t
Kiểm thử
Một số vấ n đề an toàn Internetkhác
Tấ n công XSS Scripts, PhP,…
Quản lý Cookie Xác thự c Bí mật: thông tin người dùng
An toàn Browser Toàn vẹn: malware, tài khoản