slide athttt 2010

302
 Mt mã & Ứ ng dng Tr n  Đứ c Khánh Bmôn HTTT – Vin CNTT&TT ĐH BKHN

Upload: anh-dang-hoang

Post on 11-Jul-2015

162 views

Category:

Documents


0 download

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

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

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 

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

 

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)

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

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

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

5/11/2018 Slide Athttt 2010 - slidepdf.com

http://slidepdf.com/reader/full/slide-athttt-2010 302/302

ẹ ,

Bí mật: mật khẩu, mail, thông tin dữ  liệu