Tải bản đầy đủ (.ppt) (22 trang)

Chữ ký điện tử và thủ tục xác nhận

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 (905.51 KB, 22 trang )





Chữ ký điện tử và thủ
Chữ ký điện tử và thủ
tục xác nhận
tục xác nhận
Fourth Edition
Fourth Edition
by William Stallings
by William Stallings
Lecture slides by Lawrie Brown
Lecture slides by Lawrie Brown

Chữ ký điện tử
Chữ ký điện tử
Digital Signatures
Digital Signatures

Được xem như mẩu tin được xác thực
Được xem như mẩu tin được xác thực

Cung cấp các khả năng để
Cung cấp các khả năng để

Kiểm chứng tác giả, ngày và giờ ký
Kiểm chứng tác giả, ngày và giờ ký




Xác thực nội dung mẩu tin
Xác thực nội dung mẩu tin

Được kiểm chứng bởi bên thứ 3 để chống từ
Được kiểm chứng bởi bên thứ 3 để chống từ
chối
chối

Vì vậy bao gồm hàm xác thực
Vì vậy bao gồm hàm xác thực

và một số khả năng bổ sung
và một số khả năng bổ sung

Các tính chất của chữ ký điện tử
Các tính chất của chữ ký điện tử
Digital Signature Properties
Digital Signature Properties

Cần phải phụ thuộc vào nội dung ký
Cần phải phụ thuộc vào nội dung ký

Cần sử dụng thông tin đặc trưng duy nhất
Cần sử dụng thông tin đặc trưng duy nhất
đối với người gửi
đối với người gửi

Để chống cả giả mạo và từ chối
Để chống cả giả mạo và từ chối


Cần phải tương đối dễ dàng tạo ra
Cần phải tương đối dễ dàng tạo ra

Dễ dàng đoán nhận và kiểm chứng
Dễ dàng đoán nhận và kiểm chứng

Không thể tính toán giả mạo được
Không thể tính toán giả mạo được

Với bản tin mới và chữ ký đã có
Với bản tin mới và chữ ký đã có

Với chữ ký giả mạo cho 1 bản tin
Với chữ ký giả mạo cho 1 bản tin

Có thể lưu trữ cất chữ ký điện tử
Có thể lưu trữ cất chữ ký điện tử

Chữ ký điện tử trực tiếp
Chữ ký điện tử trực tiếp
Direct Digital Signatures
Direct Digital Signatures

Bao gồm chỉ người gửi và người nhận
Bao gồm chỉ người gửi và người nhận

Người nhận được phép có khoá công khai của
Người nhận được phép có khoá công khai của
người gửi
người gửi


Chữ ký được người gửi ký trên toàn bộ mẩu tin
Chữ ký được người gửi ký trên toàn bộ mẩu tin
hoặc Hash với khoá riêng
hoặc Hash với khoá riêng

Có thể mã bằng khoá công khai của người
Có thể mã bằng khoá công khai của người
nhận
nhận

Quan trọng là ký trước và sau đó mã hoá bản tin
Quan trọng là ký trước và sau đó mã hoá bản tin
và chữ ký
và chữ ký

Tính an toàn phụ thuộc vào khoá riêng của
Tính an toàn phụ thuộc vào khoá riêng của
người gửi
người gửi

Chữ ký điện tử có trọng tài
Chữ ký điện tử có trọng tài
Arbitrated Digital Signatures
Arbitrated Digital Signatures

Bao gồm cả việc sử dụng trọng tài A
Bao gồm cả việc sử dụng trọng tài A

Kiểm tra mọi mẩu tin được ký

Kiểm tra mọi mẩu tin được ký

Sau đó điền ngày giờ và gửi cho người nhận
Sau đó điền ngày giờ và gửi cho người nhận

Đòi hỏi mức độ tin cậy hợp lý đối với trọng
Đòi hỏi mức độ tin cậy hợp lý đối với trọng
tài
tài

Có thể cài đặt với thuật toán khoá riêng
Có thể cài đặt với thuật toán khoá riêng
hoặc khoá công khai.
hoặc khoá công khai.

Trọng tài có thể được xem hoặc không
Trọng tài có thể được xem hoặc không
được xem mẩu tin
được xem mẩu tin

Thủ tục xác thực
Thủ tục xác thực
Authentication Protocols
Authentication Protocols

Làm cho các bên tin tưởng vào danh tính
Làm cho các bên tin tưởng vào danh tính
của nhau để trao đổi khoá kỳ
của nhau để trao đổi khoá kỳ


Có thể 1 chiều và đa trị
Có thể 1 chiều và đa trị

Vấn đề chính là
Vấn đề chính là

Bảo mật - để bảo vệ khoá kỳ
Bảo mật - để bảo vệ khoá kỳ

Thời sự - chống tấn công trì hoãn
Thời sự - chống tấn công trì hoãn

Các thủ tục đã công bố bị phát hiện có lỗi
Các thủ tục đã công bố bị phát hiện có lỗi
và cần được điều chỉnh
và cần được điều chỉnh

Tấn công trì hoãn
Tấn công trì hoãn
Replay Attacks
Replay Attacks

Bao gồm chỉ người gửi và người nhận
Bao gồm chỉ người gửi và người nhận

Người nhận được phép có khoá công khai của
Người nhận được phép có khoá công khai của
người gửi
người gửi


Chữ ký được người gửi ký trên toàn bộ mẩu tin
Chữ ký được người gửi ký trên toàn bộ mẩu tin
hoặc Hash với khoá riêng
hoặc Hash với khoá riêng

Có thể mã bằng khoá công khai của người
Có thể mã bằng khoá công khai của người
nhận
nhận

Quan trọng là ký trước và sau đó mã hoá bản tin
Quan trọng là ký trước và sau đó mã hoá bản tin
và chữ ký
và chữ ký

Tính an toàn phụ thuộc vào khoá riêng của
Tính an toàn phụ thuộc vào khoá riêng của
người gửi
người gửi

Sử dụng khoá đối xứng
Sử dụng khoá đối xứng
Using Symmetric Encryption
Using Symmetric Encryption

Như đã thảo luận trước có thể sử dụng
Như đã thảo luận trước có thể sử dụng
kiến trúc 2 tầng khoá
kiến trúc 2 tầng khoá


Thông thường có Trung tâm phân phối
Thông thường có Trung tâm phân phối
khoá tin cậy
khoá tin cậy

Mỗi bên chia sẻ khoá chính của mình với
Mỗi bên chia sẻ khoá chính của mình với
KDC
KDC

KDC sinh khoá kỳ được sử dụng trao đổi giữa
KDC sinh khoá kỳ được sử dụng trao đổi giữa
các bên
các bên

Khoá chính được dùng để phân phối khoá kỳ
Khoá chính được dùng để phân phối khoá kỳ

Needham-Schroeder Protocol
Needham-Schroeder Protocol

Thủ tục phân phối khoá có bên thứ 3 tham gia
Thủ tục phân phối khoá có bên thứ 3 tham gia

Tạo khoá kỳ giữa A và B do KDC cung cấp
Tạo khoá kỳ giữa A và B do KDC cung cấp

Thủ tục cụ thể như sau:
Thủ tục cụ thể như sau:
1.

1.
A->KDC:
A->KDC:
ID
ID
A
A


||
||
ID
ID
B
B


||
||
N
N
1
1
2
2
. KDC ->
. KDC ->


A: E

A: E
Ka
Ka
[Ks
[Ks


||
||
ID
ID
B
B


||
||
N
N
1
1
|| E
|| E
Kb
Kb
[
[
Ks
Ks
||

||
ID
ID
A
A
] ]
] ]
3.
3.
A ->
A ->


B:
B:
E
E
Kb
Kb
[
[
Ks
Ks
||
||
ID
ID
A
A
]

]
4.
4.
B ->
B ->


A:
A:
E
E
Ks
Ks
[
[
N
N
2
2
]
]
5.
5.
A ->
A ->


B:
B:
E

E
Ks
Ks
[f(
[f(
N
N
2
2
)]
)]

Needham-Schroeder Protocol
Needham-Schroeder Protocol

Sử dụng phân phối khoá bộ phận mới để A và
Sử dụng phân phối khoá bộ phận mới để A và
B trao đổi
B trao đổi

Có lỗ hổng là bị tấn công trì hoãn, nếu khoá bộ
Có lỗ hổng là bị tấn công trì hoãn, nếu khoá bộ
phận cũ vẫn còn thỏa thuận dùng
phận cũ vẫn còn thỏa thuận dùng

Khi đó mẩu tin 3 có thể bị gửi lại khẳng định
Khi đó mẩu tin 3 có thể bị gửi lại khẳng định
với B là đang trao đổi với A
với B là đang trao đổi với A


Muốn sửa lỗi trên cần phải
Muốn sửa lỗi trên cần phải

Dùng Tem thời gian (Denning 81)
Dùng Tem thời gian (Denning 81)

Sử dụng thêm nhãn (Neuman 93)
Sử dụng thêm nhãn (Neuman 93)

Sử dụng khoá công khai
Sử dụng khoá công khai
Using Public-Key Encryption
Using Public-Key Encryption

Có nhiều ứng dụng dựa trên khoá công
Có nhiều ứng dụng dựa trên khoá công
khai
khai

Cần phải tin tưởng rằng có khoá công
Cần phải tin tưởng rằng có khoá công
khai đúng của các đối tác khác.
khai đúng của các đối tác khác.

Sử dụng máy chủ xác thực trung tâm AS
Sử dụng máy chủ xác thực trung tâm AS
(Authentication Server)
(Authentication Server)

Có nhiều thủ tục tồn tại sử dụng tem thời

Có nhiều thủ tục tồn tại sử dụng tem thời
gian và nhãn
gian và nhãn

Denning AS Protocol
Denning AS Protocol

Denning 1981 đề xu
Denning 1981 đề xu
ất
ất


1.
1.
A ->
A ->


AS:
AS:
ID
ID
A
A


||
||
ID

ID
B
B
2.
2.
AS ->
AS ->


A: E
A: E
PRas
PRas
[
[
ID
ID
A
A
||PU
||PU
a
a
||T] || E
||T] || E
PRas
PRas
[
[
ID

ID
B
B
||PU
||PU
b
b
||T]
||T]
3.
3.
A ->
A ->


B: E
B: E
PRas
PRas
[
[
ID
ID
A
A
||PU
||PU
a
a
||T] || E

||T] || E
PRas
PRas
[
[
ID
ID
B
B
||PU
||PU
b
b
||T] || E
||T] || E
PUb
PUb
[E
[E
PRas
PRas
[K
[K
s
s
||
||
T]]
T]]


Nhận thấy rằng khoá kỳ được chọn bởi A, do đó
Nhận thấy rằng khoá kỳ được chọn bởi A, do đó
AS không cần được uỷ quyền bảo vệ nó
AS không cần được uỷ quyền bảo vệ nó

Tem thời gian chống trì hoãn nhưng cần đồng
Tem thời gian chống trì hoãn nhưng cần đồng
hồ đồng bộ
hồ đồng bộ

Xác thực một chiều
Xác thực một chiều
One-Way Authentication
One-Way Authentication

Được dùng khi người nhận và người gửi
Được dùng khi người nhận và người gửi
không cùng ở trạng thái trao đổi
không cùng ở trạng thái trao đổi

Có đầu tin rõ ràng để có thể phân phối bởi
Có đầu tin rõ ràng để có thể phân phối bởi
hệ thống thư điện tử
hệ thống thư điện tử

Có thể muốn nội dung tin được bảo vệ và
Có thể muốn nội dung tin được bảo vệ và
xác thực bởi người gửi
xác thực bởi người gửi


Sử dụng khoá đối xứng
Sử dụng khoá đối xứng
Using Symmetric Encryption
Using Symmetric Encryption

Có thể làm tốt hơn ứng dụng của KDC
Có thể làm tốt hơn ứng dụng của KDC
nhưng không thể trao đổi nhãn cuối cùng:
nhưng không thể trao đổi nhãn cuối cùng:
1.
1.
A
A
->
->
KDC:
KDC:
ID
ID
A
A


||
||
ID
ID
B
B



||
||
N
N
1
1
2
2
. KDC
. KDC
->
->
A: E
A: E
Ka
Ka
[Ks
[Ks


||
||
ID
ID
B
B


||

||
N
N
1
1
|| E
|| E
Kb
Kb
[
[
Ks
Ks
||
||
ID
ID
A
A
] ]
] ]
3.
3.
A
A
->
->
B:
B:
E

E
Kb
Kb
[
[
Ks
Ks
||
||
ID
ID
A
A
] || E
] || E
Ks
Ks
[M]
[M]



does not protect against replays
does not protect against replays

Không bảo vệ chống trì hoãn được
Không bảo vệ chống trì hoãn được

Có thể dựa trên tem thời gian trên mẳu tin,
Có thể dựa trên tem thời gian trên mẳu tin,

tuy nhiên trì hoãn email tạovẫn nên vấn đề đó
tuy nhiên trì hoãn email tạovẫn nên vấn đề đó

Sử dụng khoá công khai
Sử dụng khoá công khai
Public-Key Approaches
Public-Key Approaches

Chúng ta đã thấy một số cách tiếp cận khoá
Chúng ta đã thấy một số cách tiếp cận khoá
công khai
công khai

Nếu bảo mật là chính, có thể dùng:
Nếu bảo mật là chính, có thể dùng:
A
A
->
->
B: E
B: E
PUb
PUb
[Ks] || E
[Ks] || E
Ks
Ks
[M]
[M]


Mã được khoá kỳ và bản tin mã
Mã được khoá kỳ và bản tin mã

Nếu xác thực cần chữ ký điện tử với xác
Nếu xác thực cần chữ ký điện tử với xác
nhận điện tử:
nhận điện tử:
A
A
->
->
B: M || E
B: M || E
PRa
PRa
[H(M)] || E
[H(M)] || E
PRas
PRas
[T||ID
[T||ID
A
A
||PU
||PU
a
a
]
]


với mẩu tin, chữ ký và xác nhận
với mẩu tin, chữ ký và xác nhận

Chuẩn chữ ký điện tử (DSS)
Chuẩn chữ ký điện tử (DSS)
Digital Signature
Digital Signature
Standard
Standard

Chính phủ Mỹ ủng hộ sơ đồ chữ ký điện
Chính phủ Mỹ ủng hộ sơ đồ chữ ký điện
tử FIPS 186
tử FIPS 186

Sử dụng thuật toán hash SHA công bố
Sử dụng thuật toán hash SHA công bố
1991, sửa 1996, 2000
1991, sửa 1996, 2000

DSS là chuẩn và DSA là thuật toán
DSS là chuẩn và DSA là thuật toán

Có phương án cải biên Elgamal và
Có phương án cải biên Elgamal và
Schnorr
Schnorr

Thuật toán chữ ký điện tử DSA
Thuật toán chữ ký điện tử DSA

Digital Signature
Digital Signature
Algorithm
Algorithm
(DSA)
(DSA)

Tạo 320 bit chữ ký
Tạo 320 bit chữ ký

Với lựa chọn 512-1024 bit an toàn
Với lựa chọn 512-1024 bit an toàn
hơn
hơn

Nhỏ và nhanh hơn RSA
Nhỏ và nhanh hơn RSA

Chỉ có sơ đồ chữ ký điện tử
Chỉ có sơ đồ chữ ký điện tử

An toàn phụ thuộc vào độ khó của
An toàn phụ thuộc vào độ khó của
tính logarit rời rạc
tính logarit rời rạc

Digital Signature
Digital Signature
Algorithm
Algorithm

(DSA)
(DSA)

Sinh khoá DSA
Sinh khoá DSA
DSA Key Generation
DSA Key Generation

Chia sẻ giá trị khoá công khai tổng thể
Chia sẻ giá trị khoá công khai tổng thể
(p,q,g):
(p,q,g):

số nguyên tố lớn
số nguyên tố lớn
p = 2
p = 2
L
L


ở đó L= 512 to 1024 bits và là bội của 64
ở đó L= 512 to 1024 bits và là bội của 64

chọn q là số nguyên tố 160 bit ước của p-1
chọn q là số nguyên tố 160 bit ước của p-1

chọn
chọn
g = h

g = h
(p-1)/q
(p-1)/q


ở đó
ở đó
h<p-1, h
h<p-1, h
(p-1)/q
(p-1)/q
(mod p) > 1
(mod p) > 1



Người sử dụng chọn khoá riêng và tính khoá
Người sử dụng chọn khoá riêng và tính khoá
công khai
công khai


chọn x<q
chọn x<q


Tính y = g
Tính y = g
x
x

(mod p)
(mod p)

Tạo chữ ký DSA
Tạo chữ ký DSA
DSA Signature Creation
DSA Signature Creation

Để ký mẩu tin M người gửi cần
Để ký mẩu tin M người gửi cần

Sinh khoá chữ ký ngẫu nhiên k: k < p,
Sinh khoá chữ ký ngẫu nhiên k: k < p,

k phải là số ngẫu nhiên, được xoá sau khi
k phải là số ngẫu nhiên, được xoá sau khi
dùng và không bao giờ dùng lại
dùng và không bao giờ dùng lại



Sau đó tính cặp chữ ký
Sau đó tính cặp chữ ký
:
:
r = (g
r = (g
k
k
(mod p))(mod q)

(mod p))(mod q)
s = (k
s = (k
-1
-1
(H(M)+ x.r))(mod q)
(H(M)+ x.r))(mod q)



Gửi cặp chữ ký (r, s) cùng với bản tin M
Gửi cặp chữ ký (r, s) cùng với bản tin M

Kiểm chứng chữ ký DSA
Kiểm chứng chữ ký DSA
DSA Signature Verification
DSA Signature Verification



Nhận được bản tin M cùng với chữ ký (r,
Nhận được bản tin M cùng với chữ ký (r,
s)
s)



Để kiểm chứng chữ ký người nhận cần
Để kiểm chứng chữ ký người nhận cần
tính:

tính:
w = s
w = s
-1
-1
(mod q)
(mod q)
u1= (H(M).w)(mod q)
u1= (H(M).w)(mod q)
u2= (r.w)(mod q)
u2= (r.w)(mod q)
v = (g
v = (g
u1
u1
.y
.y
u2
u2
(mod p)) (mod q)
(mod p)) (mod q)



Nếu v = r thì chữ ký đã được kiểm chứng
Nếu v = r thì chữ ký đã được kiểm chứng

Summary
Summary


have discussed:
have discussed:

digital signatures
digital signatures

authentication protocols (mutual & one-way)
authentication protocols (mutual & one-way)

digital signature algorithm and standard
digital signature algorithm and standard

×