Tải bản đầy đủ (.pdf) (68 trang)

Tài liệu Chương 2: Mã hóa và Các giao thức trao đổi khóa potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.94 MB, 68 trang )

Chương 2:
Mã hóa và
Các giao thức trao đổi khóa
Khoa Khoa học và Kỹ thuật Máy tính
Đại học Bách Khoa Tp.HCM
Nội dung
Mã hóa hoàn hảo
2
Những khái niệm cơ bản về mã hóa
1
Những khái niệm cơ bản về mã hóa
1
Kênh trao đổi khóa
3
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
2
Giao thức trao đổi khóa
5
Mô hình Dolev-Yao
4
Tài liệu tham khảo:
W. Mao (2003).
Modern Cryptography: Theory and Practice
, 3
rd
Ed., Prentice
Hall, ISBN 0-13-066943-1.


Những khái niệm cơ bản về mã hóa
n Văn bản gốc (plaintext)
n Văn bản mã hóa (ciphertext)
n Hệ thống mã hóa (cryptosystem)
n Khóa (key)
n
Hệ
thống

hóa
đối
xứng
(Symmetric cryptosystem)
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
3
n
Hệ
thống

hóa
đối
xứng
(Symmetric cryptosystem)
n Hệ thống mã hóa bất đối xứng (Asymmetric cryptosystem)
n Chữ ký số (Digital signature)
n Chứng thực số (Digital certificate)

Những khái niệm cơ bản về mã hóa
n Văn bản gốc (plaintext) là văn bản ban đầu có nội dung có
thể đọc được và cần được bảo vệ.
n Văn bản mã hóa (ciphertext) là văn bản sau khi mã hóa, nội
dung không thể đọc được.
n Mã hóa (encryption) là quá trình chuyển văn bản gốc thành
văn
bản

hóa
.
Giải

(decryption)

quá
trình
đưa
văn
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
4
văn
bản

hóa
.

Giải

(decryption)

quá
trình
đưa
văn
bản mã hóa về lại văn bản gốc ban đầu
n Hệ thống mã hóa (cryptosystem)
n Cryptosystem = encryption + decryption algorithms
n Khóa (key) được sử dụng trong quá trình mã hóa và giải mã.
Hệ thống mã hóa
Cryptosystem
Hello,
This content is
confidential

À¿¾«§¶"xi
5TfhiN?"
aPQ}¸´f
…………………
Encryption
Key
E
Plaintext Ciphertext
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin

Chương 2: Mã hóa và giao thức trao đổi khóa
5
Cryptosystem
confidential

………………
….
…………………
…………………

Decryption
Key
D
Những khái niệm cơ bản về mã hóa
n Hệ thống mã hóa đối xứng (Symmetric cryptosystem) là hệ
thống mã hóa sử dụng một khóa bí mật chia sẻ (shared-
secret-key) cho cả hai quá trình mã hóa và giải mã.
n Hệ thống mã hóa bất đối xứng (Asymmetric cryptosystem)
là hệ thống mã hóa sử dụng một khóa công khai (public key)

một
khóa

mật
(private key)
cho
quá
trình

hóa


Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
6

một
khóa

mật
(private key)
cho
quá
trình

hóa

giải mã.
n Hệ thống mã hóa bất đối xứng còn được gọi là hệ thống mã
hóa khóa công khai (public-key cryptosystem)
Những khái niệm cơ bản về mã hóa
n Mã hóa đối xứng: K
E
= K
D
n Mã hóa bất đối xứng: K
E
≠ K

D
Hello,
À¿¾«
§

"xi
Encryption
K
E
Plaintext Ciphertext
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
7
Cryptosystem
Hello,
This content is
confidential

………………
….
À¿¾«
§

"xi
5TfhiN?"
aPQ}¸´f
…………………

…………………

Encryption
Decryption
K
D
Kỹ thuật mã hóa đối xứng
n Các kỹ thuật mã hóa đối xứng thông dụng: DES, Triple
DES, AES
n DES: Data Encryption Standard
n NBS (National Bureau of Standards) – bây giờ là NIST
(National Institute of Standards and Technology) (Mỹ) chọn
DES
làm
tiêu
chuẩn

hóa
vào
năm
1977.
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
8
DES
làm
tiêu

chuẩn

hóa
vào
năm
1977.
n Mỗi thông điệp (message) được chia thành những khối (block)
64 bits
n Khóa có 56 bits
n Có thể bị tấn công bằng giải thuật vét cạn khóa (Brute-force or
exhaustive key search)
Kỹ thuật mã hóa đối xứng - Triple DES
n 1999, Triple DES được khuyến khích sử dụng thay cho DES
n Triple DES: thực hiện giải thuật DES ba lần.
n Mã hóa: c ß ε
k1
(D
k2

k1
(m)))
n Giải mã: m ß D
k1

k2
(D
k1
(c)))
n
c:

văn
bản

hóa
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
9
n
c:
văn
bản

hóa
n m: văn bản gốc
n ε
k1
( ): mã hóa bằng khóa k1
n D
k1
( ): giải mã bằng khóa k1
n Triple DES có thể sử dụng các khóa khác nhau.
Kỹ thuật mã hóa đối xứng - AES
n AES: Advanced Encryption Standard
n Tháng 10/2000, NIST đã chọn AES làm tiêu chuẩn mã hóa
thay thế DES
n AES còn gọi là Rijndael, tên đặt theo hai nhà mật mã học thiết
kế ra giải thuật là Daemen và Rijmen

n
Rijndael

giải
thuật

hóa
theo
khối
.
Tuy
nhiên
,
khác
với
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
10
n
Rijndael

giải
thuật

hóa
theo
khối

.
Tuy
nhiên
,
khác
với
DES, Rijndael có thể làm việc với dữ liệu và khóa có độ dài
block là 128, 192 hoặc 256 bit.
Kỹ thuật mã hóa bất đối xứng
n Kỹ thuật mã hóa bất đối xứng phổ biến: RSA
n RSA: tên được đặt theo tên 3 nhà phát minh ra giải thuật
Rivest, Shamir và Adleman
n Thuật toán sử dụng 2 khóa có quan hệ toán học với nhau: khóa
công khai và khóa bí mật
Khóa
công
khai
được
công
bố
rộng
rãi
cho
mọi
người

được
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
11
n
Khóa
công
khai
được
công
bố
rộng
rãi
cho
mọi
người

được
dùng để mã hóa.
n Khóa bí mật dùng để giải mã.
So sánh mã hóa đối xứng và bất đối xứng
n Kỹ thuật mã hóa đối xứng có tốc độ mã hóa và giải mã
nhanh hơn so với kỹ thuật mã hóa bất đối xứng.
n Kỹ thuật mã hóa bất đối xứng an toàn hơn so với kỹ thuật
mã hóa đối xứng.
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
12

So sánh mã hóa đối xứng và bất đối xứng
n Trong thực tế, ta sử dụng kết hợp cả hai kỹ thuật (hybrid
scheme) mã hóa đối xứng và bất đối xứng.
n Kỹ thuật mã hóa bất đối xứng: thích hợp mã hóa những dữ liệu
nhỏ và yêu cầu bảo mật cao.
à Mã hóa khóa bí mật
Kỹ thuật mã hóa đối xứng: thích hợp mã hóa những dữ liệu
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
13
n
Kỹ thuật mã hóa đối xứng: thích hợp mã hóa những dữ liệu
lớn và yêu cầu bảo mật không cao lắm.
à Mã hóa dữ liệu
Chữ ký số
n Chữ ký số (Digital signature): là thông điệp (có thể là văn
bản, hình ảnh, hoặc video ) đã được ký bằng khóa bí mật
của người dùng nhằm mục đích xác định người chủ của
thông điệp đó.
n Mục đích của chữ ký số:
Xác
thực
:
xác
định
ai


chủ
của
thông
điệp
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
14
n
Xác
thực
:
xác
định
ai

chủ
của
thông
điệp
n Tính toàn vẹn : kiểm tra xem thông điệp có bị thay đổi
n Tính chống thoái thác: ngăn chặn việc người dùng từ chối đã
tạo ra và gửi thông điệp
Chữ ký số
n Chữ ký số:
n Dùng khóa bí mật để ký (mã hóa) lên thông điệp à chữ ký
n Dùng khóa công khai để xác thực (giải mã) chữ ký
Trường Đại Học Bách Khoa Tp.HCM

Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
15
Chữ ký số
n Quá trình đơn giản của chữ ký số
n Alice viết một văn bản và muốn gửi cho Bob
n Alice ký lên văn bản bằng khóa bí mật à Văn bản đã ký
n Alice gửi văn bản gốc và văn bản đã ký cho Bob qua đường
truyền mạng
Bob
nhận
được
văn
bản
gốc

văn
bản
đã

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
16
n
Bob

nhận
được
văn
bản
gốc

văn
bản
đã

n Bob dùng khóa công khai của Alice để giải mã văn bản đã ký
n Bob so sánh văn bản giải mã được và văn bản gốc, nếu giống
nhau thì đây chính là do Alice gửi, nếu sai thì đây không phải
văn bản do Alice gửi.
Chữ ký số an toàn (Secure digital signature)
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
17
Chứng thực số
n Chứng thực số (digital certificate), hoặc chứng thực khóa
công khai (public key certificate), là một tài liệu điện tử
dùng để xác minh một khóa công khai là của ai.
n Trong mô hình hạ tầng khóa công khai (public key
infrastructure), CA (Certificate Authority) là nhà cung cấp
chứng
thực
số

.
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
18
chứng
thực
số
.
CA
Chứng thực số
n Mỗi chứng thực số bao gồm các thông tin cơ bản sau:
n Tên và URL của CA cung cấp chứng thực
n Khóa công khai
n Tên sở hữu: cá nhân, tổ chức, máy chủ
n Thời hạn sử dụng
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
19
n CA sẽ chịu trách nhiệm ký lên mỗi chứng thực số
Nội dung
Những khái niệm cơ bản về mã hóa
1
Mã hóa hoàn hảo
2

Kênh trao đổi khóa
3
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
20
Giao thức trao đổi khóa
5
Mô hình Dolev-Yao
4
Mã hóa hoàn hảo (Perfect encryption)
n Ký hiệu:
n M: văn bản gốc
n A: giải thuật mã hóa
n K: khóa mã hóa
n Mối quan hệ của M và M’ được biểu diễn như sau:
n M’: văn bản mã hóa
n A’: giải thuật giải mã
n K’: khóa giải mã
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
21
M’ = A(K,M) = {M}
K
M = A’(K’,M’) = A’(K’, A(K,M))

Mã hóa hoàn hảo
n M’ = A(K,M) = {M}
K
n Một giải thuật mã hóa được gọi là hoàn hảo cần phải đảm
bảo các tính chất sau:
n Tính chất 1: Nếu không có khóa bí mật K (trong mã hóa đối
xứng), hoặc khóa bí mật K’ tương ứng với K (trong mã hóa
bất
đối
xứng
),
thì
không

cách
nào

thể
tìm
ra
được
văn
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
22
bất
đối

xứng
),
thì
không

cách
nào

thể
tìm
ra
được
văn
bản gốc M từ văn bản mã hóa {M}
K
Mã hóa hoàn hảo
n M’ = A(K,M) = {M}
K
n Một giải thuật mã hóa được gọi là hoàn hảo cần phải đảm
bảo các tính chất sau (tiếp theo):
n Tính chất 2: Nếu có văn bản mã hóa {M}
K
và một phần
thông tin về văn bản gốc M, thì cũng không có cách nào có
thể
tìm
ra
được
khóa


mật
K (
trong

hóa
đối
xứng
),
hoặc
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
23
thể
tìm
ra
được
khóa

mật
K (
trong

hóa
đối
xứng
),
hoặc

khóa bí mật K’ tương ứng với K (trong mã hóa bất đối xứng)
n Tính chất 3: Nếu không có khóa K thì dù có thông tin của
văn bản gốc M cũng không thể thay đổi {M}
K
mà không bị
phát hiện trong quá trình giải mã.
Nội dung
Những khái niệm cơ bản về mã hóa
1
Kênh trao đổi khóa
3
Mã hóa hoàn hảo
2
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
24
Giao thức trao đổi khóa
5
Mô hình Dolev-Yao
4
Kênh trao đổi khóa
n Giả sử Alice và Bob muốn nói chuyện một cách bí mật với
nhau thông qua kỹ thuật mã hóa đối xứng.
n Alice và Bob chưa từng thỏa thuận với nhau về một khóa bí
mật chung.
n Kênh trao đổi khóa là nơi/cách thức/kỹ thuật mà Alice dùng
để

trao
đổi
đổi
với
nhau
về
khóa

mật
chung
.
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011
Bảo mật hệ thống thông tin
Chương 2: Mã hóa và giao thức trao đổi khóa
25
để
trao
đổi
đổi
với
nhau
về
khóa

mật
chung
.
Alice

Bob
K

×