Thứ Sáu, 24 tháng 1, 2014

Mã nén Lecture6-Diffie- Hellmam

1
Lecture 6: Giao thức thỏa thuận, trao đổi
khóa - Diffie-Hellman
Lecture 6: Giao thức thỏa thuận, trao đổi
khóa - Diffie-Hellman
1. Tổng quan về Diffie-Hellman Cryptosystem (DHC)
2. Quá trình thỏa thuận khóa bí mật chia sẻ
3. Kiểu tấn công Man-in-the-middile
4. Ứng dụng của Diffie-Hellman
1. Tổng quan về Diffie-Hellman Cryptosystem (DHC)
2. Quá trình thỏa thuận khóa bí mật chia sẻ
3. Kiểu tấn công Man-in-the-middile
4. Ứng dụng của Diffie-Hellman
2
Tổng quan về lược đồ Diffie-Hellman
(1)
Tổng quan về lược đồ Diffie-Hellman
(1)

Diffie-Hellman là hệ thống mã hóa khóa công khai cổ
điển nhất(1976)hiện nay vẫn đang được sử dụng.

Diffie-Hellman cho phép 2 cá nhân thỏa thuận một khóa
bí mật chia sẻ (shared secret) :
z
Có thể được truyền tải qua những kết nối không an toàn và
công khai.
z
Thông tin được mã hóa bằng khóa bí mật chia sẻ.

Diffie-Hellman là hệ thống mã hóa khóa công khai cổ
điển nhất(1976)hiện nay vẫn đang được sử dụng.

Diffie-Hellman cho phép 2 cá nhân thỏa thuận một khóa
bí mật chia sẻ (shared secret) :
z
Có thể được truyền tải qua những kết nối không an toàn và
công khai.
z
Thông tin được mã hóa bằng khóa bí mật chia sẻ.
3
Tổng quan về giao thức Diffie-Hellman
(2)
Tổng quan về giao thức Diffie-Hellman
(2)

Alice & Bob, 2 người cần trao đổi thông tin với nhau:
z
Cùng tính toán và thỏa thuận một“khóa bí mật chia sẻ”.

Alice & Bob, 2 người cần trao đổi thông tin với nhau:
z
Cùng tính toán và thỏa thuận một“khóa bí mật chia sẻ”.
Alice
Alice
Bob
Bob
Alice’s public key
Bob’s public key
Private key Private key
4
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(1)
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(1)

Lược đồ thỏa thuận khóa Diffie-Hellman được tính toán
dựa trên 6 con số (p, g, a, b, x,vày)

Lược đồ thỏa thuận khóa Diffie-Hellman được tính toán
dựa trên 6 con số (p, g, a, b, x,vày)
Alice Bob
Private key a
Private key a
Public key x
Public key x
Private key b
Private key b
Public key y
Public key y
Khóa công
khai có thể
được gửi
qua network
mà không
cần mã hóa
Khóa công
khai có thể
được gửi
qua network
mà không
cần mã hóa
Số nguyên tố p và
Cơ số g
5
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(2)
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(2)

Khóa công khai x và y được tính toán dựa trên các số:
p, g, a và b

Khóa công khai x và y được tính toán dựa trên các số:
p, g, a và b
Alice Bob
Private key a
Private key a
Public key x
Public key x
Private key b
Private key b
Public key y
Public key y
Số nguyên tố p và
Cơ số g
x = g
a
modpy= g
b
modp
6
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(3)
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(3)

Alice tính toán được“shared secret” : K
a
bằng cách sử
dụng khóa riêng của mình và khóa công khai củaBob.

Alice tính toán được“shared secret” : K
a
bằng cách sử
dụng khóa riêng của mình và khóa công khai củaBob.
Alice Bob
Private key a
Private key a
Public key x
Public key x
Private key b
Private key b
Public key y
Public key y
y = g
b
modp
K
a
= y
a
modp
= (g
b
modp)
a
modp
7
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(4)
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(4)

Bob tính toán được“shared secret” : K
b
bằng cách sử
dụng khóa riêng của mình và khóa công khai của Alice.

Bob tính toán được“shared secret” : K
b
bằng cách sử
dụng khóa riêng của mình và khóa công khai của Alice.
Alice Bob
Private key a
Private key a
Public key x
Public key x
Private key b
Private key b
Public key y
Public key y
x = g
a
modp
K
b
= x
b
modp
= (g
a
modp)
b
modp
8
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(5)
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(5)

K
a
= K
b
= K

Đứng từ góc nhìn của kẻ tấn công (attacker), nếu chỉ
bằng việc sử dụng các khóa công khai x và y thì
không thể tính toán và tìm ra được khóa K

K
a
= K
b
= K

Đứng từ góc nhìn của kẻ tấn công (attacker), nếu chỉ
bằng việc sử dụng các khóa công khai x và y thì
không thể tính toán và tìm ra được khóa K
Alice Bob
Private key a
Private key a
Public key x
Public key x
Private key b
Private key b
Public key y
Public key y
K
b
= x
b
modp
= (g
a
modp)
b
modp
K
a
= y
a
modp
= (g
b
modp)
a
modp
9
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(6)
Quá trình thỏa thuận khóa
trong Diffie-Hellman
(6)

Việc tính toán khóa K ở đây là tính toán bí mật.

⇒ Các khóa công khai không cần phải mã hóa

⇒ Khóa K được dùng sau đóvới mục đích là mã hóa
và giải mã dữ liệu truyền qua mạng

Việc tính toán khóa K ở đây là tính toán bí mật.

⇒ Các khóa công khai không cần phải mã hóa

⇒ Khóa K được dùng sau đóvới mục đích là mã hóa
và giải mã dữ liệu truyền qua mạng
Encryption
Encryption
Decryption
Decryption
Plaintext PlaintextCiphertext
K K
10
Kiểu tấn công Man-in-the-middle
Kiểu tấn công Man-in-the-middle

Lược đồ thỏa thuận khóa là một kẽ hở được sử dụng
trong kiểu tấn công Man-in-the-middle

Lược đồ thỏa thuận khóa là một kẽ hở được sử dụng
trong kiểu tấn công Man-in-the-middle
Alice Bob
Man-in-
the-middle
Man-in-
the-middle
Public key x
Fake public key n
Public key y
Fake public key m
Alice Bob
K
a
= K
n
K
m
= K
b
K
a
K
n
K
m
K
b
Man-in-
the-middle
Man-in-
the-middle
11
Sơ đồ thỏa thuận khóa trong Diffie-Hellman
Sơ đồ thỏa thuận khóa trong Diffie-Hellman
12
Ví dụ
Ví dụ

Không có nhận xét nào:

Đăng nhận xét