Tải bản đầy đủ (.doc) (32 trang)

Bảo mật thông tin chữ ký số và giao thức xác thực chung

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 (487.7 KB, 32 trang )

Chữ ký số và giao thức chứng thực

CHƯƠNG 13. CHỮ KÝ SỐ
LờiVÀ
giớiGIAO
thiệu THỨC CHỨNG
THựC
Trong cuộc sống hàng ngày, ta cần dùng chữ ký để xác nhận các văn bản
tài

liệu
CHỮ KỶ SỐ
nào đó và có thể dùng con dấu với giá trị pháp lý cao hon đi kèm vói
Các yêu cầu
chữ
ký.
Chữ kv số trực tiếp
Cùng với sự phát triển nhanh chóng cùa công nghệ thông tin, các văn
Chữ ký số cỏ tronq tài
bản
tài
liệu
13.1

được lưu dưới dạng số, dễ dàng được sao chép, sửa đổi. Nếu ta sử
13.2
CÁC GIAO THỨChình
CHỨNG THựC
dụng
chứngthống
thức lẫn


chữ kýsưtruyền
nhưnhau
trên sẽ rất dễ dàng bị giả mạo chữ ký.

thức

sư chứng thức mỏt chiều

Vậy làm sao đê có thê ký vào các văn bản, tài liệu số như vậy? Giải pháp
13.3
CHUẨN CHỮ KỶ SỐ
được
đưa
Các phương pháp tiếp cân chữ kv sô'
ra đó là Chữ ký sô'.
Thuẳt toán chữ ký số

Chữ
ký sô"điểm
(Digital
Signature) hay chữ ký điện tử (Electronic Signature) là
Những
chính:
thông
tin đi kèm
theochữ
dữ ký
liệusốnhằm
mục
xác nhận

người
chủcác
củatác
dữgiả
liệu
• Một
là một
cơ đích
chế xác
thực cho
phép
của
một
tin
nhắn
đó.
Chữ
có thê gắn một mã hoạt động như chữ ký. Chữ ký này được
ký số được
mã hóa, cụ thể là kỹ thuậtbởi

hìnhphát triển dựa trên lý thuyết
thành
lấy giá trị băm của thông điệp và mã hóa các tin nhắn với
hoá
công
khóa

mật
của

tác
giả. Chữ ký bảo đảm nguồn và tính toàn vẹn của thông điệp.
• Giao

ứng

thức xác thực chung cho phép các bên giao tiếp đê đáp
tự
lẫn
nhau
2


Chữ ký số và giao thức chứng thực

13.1

CHỮ KÝ

SỐ
YÊU CẦU

Một thông điệp xác thực được trao đổi giữa hai bên và được bảo vệ bỏi
một

bên

thứ ba. Tuy nhiên, nó không bảo vệ hai bên với nhau. Một vài hình
thức


tranh

chấp có thể xảy ra giữa hau bên.

Ví dụ, giả sử John gửi một thông điệp xác nhận cho Mary, sử dụng một
trong
những phương pháp ở Hình 11.4. Ta xem xét một số tranh chấp có thể
phát sinh.

1.

Mary có thể giả mạo một thông điệp khác và nói rằng nó đến

từ

John.

Mary chỉ đơn giản tạo một thông điệp và thêm vào mã xác thực bằng
cách

sử

dụng khóa (key) mà John đã chia sẻ cho Mary.

2.

John có thể phủ nhận đã gửi thông điệp. Bởi vì nó có thể là

thông


điệp

giả mạo từ Mary. Trong thực tế không có cách nào chứng minh rằng
John

đã

thông điệp đó.
3

gửi


Chữ ký số và giao thức chứng thực



Nó phải được kiểm chứng từ bên thứ ba, để giải quyết tranh chấp.

Vì vậy, chức năng cùa chữ ký số bao gồm chức năng xác thực.

Trên cơ sở các đặc tính này, chúng ta có thể xây dụng các yêu cầu sau cho
một

chữ

ký số:




Chữ ký số phải là một mẫu bit và phụ thuộc vào thông điệp đã được
ký kết.



Chữ ký số phải sử dụng một số thông tin duy nhất từ người gửi,
để

ngăn

ngừa giả mạo và từ chối từ hai phía.



Phải có phương pháp tương đối dễ dàng để tạo ra chứ ký số.



Phải có phương pháp tương đối dễ dàng trong việc nhận biết và
xác

minh

chứ ký số.



Nó phải được tính toán sao cho việc giả mạo chứ ký số là không
khả


thi

4


Chữ ký số và giao thức chứng thực

người gửi (Hình 11 .lc) hoặc thông điệp được "băm" ra rồi mã hóa bằng
khoá



mật (Hình 11.5c).

Tính bảo mật có thế được cung cấp thêm với điều kiện là mã hóa toàn bộ
thông
điệp cộng với chữ ký của một trong hai, khóa công khai của người
nhận

(

khóa

công khai mã hóa) hoặc một khóa bí mật đã được chia sẻ ( mã hóa đối
xứng);



dụ, nhìn Hình ll.ld và 11.5d. Lưu ý rằng điều quan trọng là thực hiện
chức


năng

chữ ký đầu tiên sau đó mói là chức năng bảo mật bên ngoài. Trong
trường

hợp

tranh châp, một vài bên thứ ba sẽ phải xem thông điệp đó và chữ ký
của

nó.

Nếu

chữ ký là một thông điệp được mã hóa cẩn thận, sau đó bên thứ ba
cần

xác

định

khóa giải mã để đọc văn bản chính thức. Tuy nhiên, nếu chữ ký hoạt
động

bên

trong sau đó người nhận có thể lưu trữ các thông điệp thô đó và ký nó
sau


sử

dụng tranh châ'p phân giải.

Tất cả các phương pháp được chia sẻ cho đến nay có một điểm yếu

5


Chữ ký số và giao thức chứng thực

CHỮ KÝ SỐ CÓ TRỌNG TÀI

Các vẫn đề liên quan đến chữ ký số trực tiếp có thê giải quyết bằng cách
sử

dụng

một trọng tài.

Như với phương pháp chữ ký trực tiếp, có một loạt các đề án để phán xét
chữ



đó. Nói chung tất cả đều hoạt động như sau. Mọi thông điệp được ký
từ

người


gửi

X tới người nhận Y trước tiên sẽ đi qua một trọng tài A. Người mà đối
tượng
thong điệp và nó đóng dấu một số để kiểm tra nguồn gốc và nội dung
của

thông

điệp. Các thông điệp sau đó được gùi cho Y với một dấu hiệu cho biết
cho

biết

đã

có sự xác minh và hài lòng của trọng tài. Sự hiện diện của A giải quyết
vấn

đề

đối

diện của phương pháp chữ ký trực tiếp: X chịu thừa nhận tin nhắn.

Trọng tài đóng một vai trò nhạy cảm và rất quan trọng trong phương
pháp

sắp


xếp, và tất cả các bên phải có một niềm tin tuyệt đối vào vào cơ chế
giải

quyết

của

trọng tài là đúng đắn. Việc sử dụng một hệ thống đúng đắn, được đề
cập



Chương 20 có thể đáp úng các nhu cầu này.
6


[1] Các định dạng sau được sử dụng. A giao tiếp từng bước trong đó p gửi
một thông điệp M cho Q ký hiệu p -> Q: M.
Chữ ký số và giao thức chứng thực

Table 13.1. Arbitrated Digital Signature Techniques
x—► A: M||E(/C„, [JDX||H(M)])
(2)
A—► Y: E (K,ỵ. [IDX\ |M| |E(K„. [/Dx||H(W)])||r|)
(a) Convertional Encryptìon, Arbiter Sees Message
(1)
X —► A: IDxl |E(K„, M)||E(K„, [rox| |H(E<ífxy> «))])
(2)
7l) A—► Y: E(Kíy,[/Dx||E(^, M)])||E(K„, [/D*| |H(E(K„,, M))||
(1)


(b)
Conventĩona Ercrypton, Arbĩter Does Not See
Message
(c) Public-Key Ercrypton. A-b ter Does Not See Message

E {Kay, [IDx\\M\\E(Kxa, [IDx\ I H(A7)])])

Trọng tài sử dụng Kay để phục hồi IDx, M, và chữ ký, và sau đó sử dựng
Kxa

để

giải

mã chữ ký và xác định mã băm. Trong phương pháp này này, Y không
thể

trực

tiếp kiểm tra chữ ký của X; chữ ký ở đây là duy nhất đê giải quyết
tranh

chấp.

Y

xem xét thông điệp gửi từ X là đáng tin cậy bởi vì nó được thông qua
A.


Trong

tình huống này, cả hai bên phải có sự tin tưởng cao với A:

7


Chữ ký số và giao thức chứng thực

Nếu tồn tại sự tin tưởng vào trọng tài, thì sau đó X yêm tâm rằng không


ai



thể giả mạo chữ ký cùa mình và Y cũng yên tâm rằng X sẽ không chối
bỏ

chữ



của X.

Các tình huống trước đó cũng có nghĩa rằng A có thê đọc những thông
điệp

từ


X

gửi cho Y, sự thực là, bất kì kẻ trộm nào cũng có thế làm điều đó. Bảng
13.1b

cho

thấy một tình huống cung cấp các trọng tài như trước nhưng vẫn đảm
bảo

được

tính bí mật. Trong tường hợp này ngưòi ta giả định rằng X và Y chia sẻ
khoá



mật Kxy. Bây giờ X gửi một định danh, một bản copy của thông điệp
đã

được



hóa bởi khóa Kxy, và một chữ ký tới A. Chữ ký bao gồm định danh
cộng

với

giá


trị

băm của thông điệp đã được mã hóa, tất cả việc mă hóa sử dụng Kxa,
Như

trước,

A

giải mã chữ ký và kiểm tra giá trị băm đê xác nhận thong điệp. Trong
tình

huống

này A chỉ làm việc với phiên bản thông điệp đã được mă hóa và bị
ngăn

cản

việc

đọc nó. A sau đó sẽ truyền mọi thứ nó nhận được từ X, cộng với con
dấu

thòi
8


Chữ ký số và giao thức chứng thực


giải mã những mã hóa bên ngoài để đảm bảo thông điệp phải được gửi
từ

X

(bởi

vì chỉ X có PRx). A kiểm tra đê chắc chắn rằng cặp khóa bí mật/ khóa
công

khai

của

X vẫn còn hiệu lực, nếu có, xác minh tin nhắn. Sau đó A chuyên một
thông

điệp

tới Y, mã hóa vói PRn. Thông điệp này chứa IDx, thông điệp mã hóa
hai

lần,



một

con dấu thòi gian.


Đề án này có một số ưu điểm so voi hai đề án trước đó. Đầu tiên, không


thông

tin nào được chia se giữa các bên trước khi truyền thông, tránh việc
liên

minh

đế

lừa gạt. Thứ hai không có sự sai lệch ngày gửi thông điệp. Thậm chí
nếu

PRx



bị

hư hại, thì PRa cũng không bị ảnh hưởng. Cuối cùng nội dung tin
nhắn

từ

X

tới


Y

là bí mật với A và với bất kì ai khác. Tuy nhiên, đề án cuối cùng này
liên

quan

đến

việc mã hóa thông điệp lần thứ hai với thuật toán khóa công khai.
Chúng

ta

thảo luận chi tiết hơn sau đó.
13.2 GIAO

THỨC CHỨNG THựC

9

sẽ


Chữ ký số và giao thức chứng thực

Trọng tâm cho vấn đề chứng thực trao đổi khóa là hai vấn đề sau: tính
bảo


mật



tính kịp thòi. Đê ngăn chặn sự giả mạo và sự thỏa thuận trong các
phiên

khóa,



nhận biết và thông tin phiên khóa phải được truyền trong một mẫu


hóa.

Điều

này đòi hỏi sự tồn trại trước của khóa bí mật hoặc khóa công khai đế


thể

sử

dụng cho mục đích này. vấn đề thứ hai, tính kịp thời, rất quan trọng
bởi




mối

đe dọa của thông điệp phản hồi. Một vài phản hồi, tồi tệ nhất có thế
cho

đối

thủ

thỏa hiệp một khóa phiên hoặc thành công trong việc mạo danh một
bên

khác.

ít

nhất, một phản hồi thành công có thể làm gián đoạn hoạt động của các
bên

khi

hiển thị với thông điệp xuất hiện thật nhưng không.
GON93Ị danh sách các cuộc tấn công phản hồi:



Phản hồi đơn giản (Simple replay): Một đối thủ đon giản là sao
chép

một


thông điệp và phản hồi nó sau này.


Phản hồi có lưu lại (Repetition that can be logged): Một đối thủ có
thể

10


Chữ ký số và giao thức chứng thực

sử dụng cho chứng thức và trao đổi khóa. Thay vào đó một trong hai
phương
pháp sau có thể thường được sử dụng.



Dấu thời gian: Bên A chỉ cấp nhận một thông điệp như mới nếu
thông

điệp

đó chúa một dấu thời gian, trong phán xét cùa A, là đủ gần cho
kiến

thức

của A trong thời gian hiện hành. Cách tiếp cận này đòi hỏi phải



sự

đồng

bộ giữa các bên.



Thách thức và phản ứng: Bên A, chờ đợi một thông điệp mới từ
bên

B,

lần

đầu gửi B một nonce (thử thách) và yêu cầu thông điệp tiếp theo
(phản
ứng) nhận được từ B chứa đúng giá trị nonce.

Nó có thể được lập luận (e.g...[LAM92aỊ rằng cách đánh dấu thời gian
không

nên

sử dụng cho ứng dụng kết nối tin cậy bởi vì những khó khăn vốn có
của

kỹ


thuật

này. Đầu tiên, một số loại giao thức sắp xếp là cần thiết để duy trì
đồng

bộ

11

hóa


Chữ ký số và giao thức chứng thực

Phương pháp tiếp cận mã hóa đối xứng.
là một thông điệp mới bởi vì việc sử dụng của nonce N2. Nhó lại cuộc
Như
thảo
đã thảo luận ở Phân 7.3, một hệ thống hai câp độ của mã hóaluận
đối
xứng
cùa chúng ta ở Chương 7 mục đích
cócủa bước 4 và 5 là ngăn chặn thê
sự
thường
một
cung cấp bảo mật trong môi
loại trường phân phối. Nhìn chung,
tấn
chiến

công phản hồi. Đặc biệt, nếu đối phương có thể bắt được thông điệp
lược

này
bướcliên quan đến việc sử dụng một3 trung tâm phân phối khóa đáng

tin
phản hồi nó lại, điều này có thê làm gián đoạn hoạt động tại B.

cậy

(KDC). Mỗi bên trong mạng chia sẻ một khóa bí mật, như một khóa
chủ,
với
KDC.
Mặc dù quá trình bắt tay của bước 4 và 5, giao thức này vẫn dễ dàng bị
KDC chịu trách nhiệm tạo ra các khóa sử dụng trong một thời gian
tấn
công
ngắn
trên
một
từ một trong các cuộc tấn công phản hồi. Giả sừ một đối thủ, X, đã có
kết nối giữa hai bên, được biết như một là khóa phiên, và phân phối
một
thỏa
nhiều
khóa
hiệp của khóa phiên củ. Phải thừa nhận rằng, đây là một sự xuất hiện
bằng cách sử dụng khóa chủ đê bảo vệ cho sự phân phối. Cách tiếp

khó
hơn
so
cận
này
thì
với đối thủ chi quan sát và ghi chép lại ở bước 3. Tuy nhiên, nó là một
khá là phô biến. Một ví dụ, chúng ta có thế tìm thấy hệ thống Kerberos
nguy

bảo
tại
Chương
mật tiềm năng. X có thê đóng vai trò của A và lừa B sừ dụng khóa cũ
14. Các cuộc thảo luận trong mục này liên quan đến sự hiểu biết về cơ
chế
Kerberos.

Hình 7.9 minh họa một đề xuất ban đầu được đưa ra bởi Needham và
Schroeder
[NEED78Ị cho việc phân phối khóa bí mật sử dụng KDC, như đã đề
cập

Chương
bước sau đây.
7, bao gồm tính năng chứng thực. Giao thức có thể được tóm lược như
12
13



Ari được ước tính thông thường là khoảng Chữ ký số và giao thức chứng thựcthòi gian nằm
xung
clock
của

giữa

KDC và xung clock

cùa A

hoặc B, được dự kiến

là thời

gian trễ trên mạng.
T
là một
để đảm
A và B
Nhận
xétdấu
cuốithời
cùnggian
là: Tại
bước bảo
4 vàvới
5 không
córằng
trongkhóa

phầnphiên
trìnhvừa
bày mới
ban
Mỗi node (trạm) cóđầu
được
tao

thể

thiết lập xung clockra.
A và B cónhưng
thể xácđược
minhbô
dấu
thờitrong
gian bằng
cách kiếm
tra. bước này
[DENN81]
sung
[DENN82].
Những
mình dựa vào trạmxác
nhận
việc
I Clock TI < Atl + At2
chọn
làmtiếp nhận khóa phiên tại B.
nguồn. Bởi vì dâu


của

gian T được mã hóa
Giao thức Denning có vẻ như cung cấp mức độ an toàn cao hon so sánh
toàn sử dụng khóa

an

giao
nếuvới
một kẻ tấn cống ngaythức Needham/Schroeder. Tuy nhiên mối quan tâm mới ở đây là: so
này
yêu
biết khóa phiên củđồ
không thê thành côngcầu sự tin cậy của xung clock được sử dụng để đồng bộ trên mạng.
do

được
thời
chính,

đó

chỉ
tấn công và phản hồirGONG921
bước 3 sẽ bị phát hiệnra một nguy cơ. Nguy co này dựa trên thực tế rằng việc phân phối
vì không phù hợp vớixung
thòi gian.


clock



thể không đồng bộ nếu bị tấn công hoặc xảy ra lỗi trên đồng hồ hoặc

lỗi
khi
đồng
[2]
Như
thứ có thể vàbộ.[2] Một vấn đề xảy ra khi xung clock của người gửi vượt trước
diễn
na.
Trongxung
clock
của
năm
gần
đây,
người nhận. Trong trường hợp này kẻ tấn công có thê chặn các thông
flawed chip được
từ
dụng trong một sốđiệp
tính

trongngười gửi và phát lại nó khi dấu thòi gian của thông điệp phù hợp với
hệ
thống
điện

dấu
thời
tử khác để quản
thời gian. Chipgian cùa phía nhận. Thông điệp phát lại này có thế cho kết quả không
có xu hướng bỏmong
đợi
một
ngày
(bị sai lệch). Gong đề cập đến cuộc tấn công gợi là suppres -replay
rNEUM901.
attacks.
14

cả khi
cũng
nếu
lại tại
bỏi B,
dấu
những
đang
những
Sừ
máy
những

này
qua



Chữ ký số và giao thức chứng thực

Một cách để ngăn chặn kiểu tấn công lặp lại yêu cầu các bên tham gia
phải

thường

xuyên theo dõi xung clock của họ tương phản với xung clock cùa
KDC.

Một

cách

khác là tránh sự đồng bộ xung clock nếu không cần thiết, việc này dựa
trên

giao

Trong [KEHN92] một ý tưởng được đưa ra tập trung vào vấn đề
suppress-replay
attacks và đồng thời khắc phục những vấn đề trong giao thức
Needham/Schroeder. Sau đó một mâu thuẫn trong giao thức sau đó
được

ghi

chú

và một chiến lược nâng cao được trình bày trong [NEUM93.aỊ. [3) Giao

thức

như

sau:
^ Đó là điều khó khăn để có được Sự thật.
1- A—>B:

IDA\\Na

2. B----» KDC: /D6| |/vử| \E(Kb,[/D„| |/va| |rử])

1. Khởi tại của trao đổi chứng thực bằng cách tạo ra một nonce, Na,
cùng

với

định danh cùa nó được gửi tới B trong plaintext. Nonce này sẽ

15


Chữ ký số và giao thức chứng thực

2.

B sẽ yêu cầu tới KDC để nhận một khóa phiên nếu cần thiết.
Thông

điệp


của nó tói B bao gôm định danh cùa nó và nonce, Nb nonce này
sẽ

được

gửi

trả lại cho B đính kèm trong thông điệp được mã hóa,cùng với
khóa

phiên

và đảm bảo tính kịp thời của B. KDC dựa vào những thông tin
này

đê

cấp

chứng chỉ cho A. Những thông tin này quy định cụ thê thứ tự
nhận

chứng

chỉ, một chứng chỉ có một thời gian hết hạn và nonce nhận được
từ A.

3.


KDC sẽ gửi tới A nonce của B và những thông tin được mã hóa
với

khóa

mà B chia sẻ với KDC. Những block server này xem như là
những

giấy

phép để A có thể sử dụng trong những lần xác thực tiếp theo, sẽ
được

nhìn

thấy ở phần sau. KDC củng gởi tới A những thông tin được mă
hóa

với

khóa bí mật dùng chung giữa A và KDC. Những block này xác
nhận

rằng

B

đã nhận được những thông điệp gửi đến từ A (ỈDB) và đây là

16



Chữ ký số và giao thức chứng thực

bởi
đó, không
có nguy
nàonối
tới AS.
bảonghị
vệ khóa
Sau A;
đó,dotrong
thời gian
thiếthiểm
lập kết
của Dấu
giao thời
thức,gian
A đề
một
khỏi1.- - -A

sự


L
U

» B:

E(/Ọ,, [/D^||^s||rò])||/V'a
-B lặp lại.
» A: N’b\\E(Kst N'a)
tấn 2.-công
3.- - -A
► B: E(Ks/ N'b)

Khi B nhận được thông điệp ỏ bước 1, nó xác minh chứng chỉ là chưa hết
hạn.

Các

nonces N'a và N'b mới được tạo ra đảm bảo rằng môi bên không bị tấn
công

phát

lại.

Trong tất cả các bước trên thời gian quy định trong Tb tương đương với
xung

clock

cùa B. Vì vậy timestamp không yêu cầu đồng bộ, bởi vì B chỉ kiểm tra
dấu

thòi

gian do mình tạo ra.

Public-Key Encryption Approaches (Phương pháp mã hóa công khai)

Trong Chương 10 chúng ta đã xem xét một phương pháp sử dụng mã hóa
khóa
công khai cho mục đích phân phối khóa phiên (Hình 10.6). Giao thức
này

giả

sử

rằng môi bên sở hữu khóa công khai của nhau. Giả sử này có thể
không

thực

17

tế:


1- A-------> KDC: IDA\\IDB
Chữ ký số và giao thức chứng thực

kết nối giả mạo (gian lận) vói A. Khóa phiên Ks sẽ được lấy lại để mã hóa
Nb



trả


2. KDC- > A:
HPRauth’ ƯDB\\PUb])
thấy lỗ hổng và gửi một phiên bản sửa đổi của thuật toán trong [WOQ92b]:

3.

A------► B: E(PƯb, [Na\\IDA])

4.

B------»KDC: ro„| |/De| |E(PƯauth,

5.--------------

6.

KDC

B -----»A:

Na)

> B: E (.PRauth, [IDAI\PUa])\\E(PUb, E(PRaulh, |KS|
E(PƯa, E(PRauth,[(wal \KS\\IDA\I/Ds)I |/v„]))

Định danh của A, IDA, được têm vào các mục được mã hóa vói khóa bí
Tại bước một, A thông báo với KDC về ý định muốn thiết lập một kết nối
mật
của

an
toàn
KDC ở bước 5 và 6. Việc liên kết khóa phiên này (Kỉ) đê xác định các
với B. KDC trả về cho A một bản so chứng nhận khóa công khai của B
bên
sẽ
tham
(bưóc
2).
Sử
gia vào phiên làm việc. Các tài khoản định danh IDA cho ta biết giá trị
dụng khóa công khai của B, A thông báo với B về đề nghị muốn giao
nonce
Na
tiếp
với
B

trong
thực
tế được
xem là3).duy
nonce
A,
tới một
nonce
Na (bước
Tạinhất
bướctrong
4, B số

yêucác
cầu
KDCđược
cho tạo
biếtbởi
khóa
không
bao
công
khai
của
gồm
được
tạophiên.
bởi tấtBcả
cáccho
bên.
Vì vậy
{IDA,Na}
A và các
yêunonce
cầu một
khóa
gủi
KDC
khóacặp
phiên
của A xác
đế
định

duy
nhất
KDC
đóng
dâu
yêu
kết với
nối của
A. này, nonce được bảo vệ sừ dụng khóa công khai
khóacầu
phiên
nonce
cùa

KDC.

18
19


Chữ ký số và giao thức chứng thực

thiết người nhận và người gửi đều cùng Online (có thể oííline). Thay vào
đó

các

e-

mail được chuyển đến hộp thư điện tử cùa người nhận, nó sẽ được đặt

vào

vùng

đệm cho đến khi người nhận sẵn sàng đọc nó. Các "envelope" hoặc
tiêu

đề

của

e-

mail phải được trình bày rõ ràng, đê thông điệp có thế được xừ lý bởi
giao

thức

e-

mail khi lun trữ và truyền thông, các giao thức e-mail như Simple Mail
Transíer
Protocol(SMTP) hoặc X.400. Tuy nhiên, ta thường mong muốn rằng
các

giao

thức

xử lý mail không truy xuâ't đến văn bản nguồn của thông điệp, bởi vì

điều

đó

yêu

cầu các giao thức xử lý mail phải đáng tin cậy. Vì vậy, thông điệp email

nên

được

mã hóa như vậy để các hệ thống xử lý mail không phải là chủ sở hữu
của

khóa

giải mă.

Một yêu cầu thứ hai của xác thực là. Thông thường, người nhận muốn
đảm

bảo

rằng thông điệp phải đến từ người gửi.
Symmetric Encryption Approaches (Phương pháp mã hóa đối xứng)

20



Chữ ký số và giao thức chứng thực

vói một thông điệp M, ta có thứ tự như sau:

Phương pháp này đảm bảo rằng chỉ duy nhất ngưới chờ nhận thông điệp
mới



thể đọc được nó. Phương pháp này cũng cung câp một mức độ xác
thức



người

gửi là A. Như đã nói lúc trước, giao thức này không phát hiện kiểu tấn
công

lặp

lại. Một phương pháp phòng chống là cung cấp một dấu thời gian
cùng

với

thông

điệp. Vì sự trì hoãn trong việc xử lý e-mail nên dấu thòi gian có thê bị
hạn


chế

khả

năng.
Public-Key Encryption Approaches (Phương pháp mã hóa công khai)

A

B: E(PUtr Ks) I I

M)

Trong trường hợp này, thông điệp được mã hóa một lần với khóa bí mật,


củng

được mã hóa một lần với khóa công khai của B. Chỉ có B mới có thế sử
dụng

khóa

bí mật tương ứng đê khôi phục thông điệp bị khóa và sau đó sử dụng
khóa

này

21


đê


Chữ ký số và giao thức chứng thực

Phương pháp này đảm bảo rằng A không thể phủ nhận việc gửi thông
điệp.

Tuy

nhiên kỹ thuật lại mở ra một kiểu tấn công mới. Bob gửi văn bản tới
ông

chủ

Alice

của mình đê báo cáo rằng mình đang có một ý tưởng giúp tiết kiệm
tiền

cho

công

ty. Anh ta ký vào thông điệp chữ ký của mình và sau đó gửi nó tới hệ
thống

e-


mail. Sau đó thông điệp sẽ được gửi tới mailbox của Alice. Nhưng giả
sử

rằng

Max đã nghe được ý tưởng của Bob và lấy cắp được mail trong hàng
đợi

trước

khi

nó được chuyên. Anh ta tìm thấy thông điệp của Bob và gỡ chữ ký của
Bob

ra

thay

chữ ký cùa mình, sau đó chuyên thông điệp tới hàng đợi mail của
Alice.

Max

đã

ăn cắp ý tưởng của Bob.

Để tránh được điều này, cả thông điệp và chữ ký có thể được mã hóa với
khóa

công khai của người nhận:
A ------» B: E (PUb, I H(M))])

Sơ đồ thứ hai yêu cầu B biết khóa công khai của A và và khóa là đúng đắn và
kịp

22


Chữ ký số và giao thức chứng thực

Viện tiêu chuẩn và công nghệ quốc gia (NIST) đã công bố chuẩn xử lý
thông

tin

liên bang FIPS 186, nó được biết đến như là chuẩn chữ ký số (DSS).
Chuẩn

chữ



số này được tạo ra bằng cách sử dụng thuật toán băm an toàn (SHA)
được



tả


trong Chương 12 và trình bày một công nghệ chữ ký số mới, sử dụng
thuật

toán

chữ ký số (DSA). DSS được đề xuất lần đầu tiên vào năm 1991 sau đó
được

sửa

đổi để phù hợp với những thông tin phản hồi nhận được vào năm
1993.



1

phiên bản thử nghiệm vào năm 1996. Năm 2000 một phiên bản mở
rộng

của

chuẩn

này được ban hành có tên là FIPS 186-2. Phiên bản cuối cùng là sự kết
hợp

giữa

thuật toán DSA dựa trên RSA và mật mã đường cong ellipse. Trong

phần

này

chúng ta sẽ thảo luận về thuật toán DSS gốc.
The DSS Approach (Các phương pháp tiếp cận DSS)

DSS sử dụng một thuật toán được cung cấp chức năng duy nhất là chữ


số.

Không giống như RSA nó không được sử dụng đế mã hóa hoặc trao
đổi

khóa.
23

Tuy


[4] Nó cũng cho phép các thom số được thêm vào thay đổi với mỗi user để
chúng Lò một phần hhóo công khai của người sử dụng. Trong thực thế nhiều khả
Chữ ký số và giao thức chứng thực

(b) l)SS approach
năng khóa công khai toàn cục sẽ được sử dụng tách biệt
vớỉ
khóa
công

khai
của những
người
Phưong
pháp DSS
cũngsửsửdụng.
dụng một hàm băm. Hàm băm được cung cấp
như



đầu vào của hàm chữ ký cùng với giá trị k được tạo ra ngẫu nhiên là
Bên nhận thông điệp sẽ tạo ra mã băm dựa trên thông điệp nhận được.
những
thành

băm
phần của hàm chữ ký này. Hàm chữ ký cũng phụ thuộc vào khóa bí
này cùng với chữ ký là đầu vào của hàm xác minh chữ ký. Hàm xác
mật
(PRn)
của
minh
củng
người gửi và đặt các tham số được biết đến này tói một nhóm các
phụ thuộc vào khóa công khai toàn cục và khóa công khai của người
thông
tin
co
gùi

(PUa),
bản. Chúng ta có thế xem xét những thiết lập đê tạo thành khóa công
khóa công khai và khóa bí mật được tạo ra bởi người gửi. Đầu ra của
khai
toàn
hàm
xác
cục(PlC). Kết quả là một chữ ký bao gồm hai thành phần đặt tên là r
minh là r (thành phần của chữ ký) nếu chữ ký là có giá trị. Chữ ký
và s.
được
nhận
được là của người gửi vì chỉ có người gửi mói có khóa bí mật, mói có
thể

tạo

được chữ ký hợp lệ.

24

ra


[-]Trong lý thuyết số tính g dựa trên việc tính q mod p; xem lại Chưang
Chữ ký số và giao thức chứng thực
V

8


số nguyên tố thõa 2L_Ỉ < p < 2L với 512 <= L <= 1024 và là
8.
Bâymod
giờ chúng
sẽ số
đi nguyên
vào chi tiết
toán.sao
= h(P‘1)AJ
p , với ta
h là
bất của
kỳ 1thuật
cho
The Digital Signature Algorithm (Thuật toán chữ ký số)

Thuật toán DSA dụa trên độ phức tạp của bài toán logarit rời rạc (trình bày
trong
Chuông 8)
Và dựa vào hệ chữ ký Elgamal [ELGA851 và Schnorr [SCH911

Hình 13.2 tổng quan về thuật toán. Có ba tham số dùng chung và đuợc
Hình 13.2 Thuật Toán Chữ Ký Sô (DSA)

Với những số mà mình có, mỗi User sẽ sử dụng khóa bí mật của mình để
tạo

ra


khóa công khai. Khóa bí mật X phải là một số phải là số có giá trị từ 1
tói

(cj

-1)



nên chọn là số ngẫu nhiên hoặc là chuỗi số ngẫu nhiên. Khóa công
khai

được

tính

từ khóa cá nhân y= gx mod p. Việc biết X sau đó tính y thì đơn giản,
nhung

khi

biết

y muốn tính X thì lại rất khó vì đó là bài toán logarit rời rạc của y và g
mod

p

xét trong Chương 8).


25
26

(đã


Chữ ký số và giao thức chứng thực

công khai của người gửi và giá trị băm của thông điệp nhận được. Nếu
đại

lượng

Hình 13.3 miêu tả hàm ký và xác nhận (xác minh chữ ký).
pqs

s f|(H(M).k. X. r.q) “ (k 1
(M(M»
+
xr))modq
r = Hk. p. q. g> = (g1 mod p>
(a)Signing

w - í,(s\q) S(s')
'modq
V = f4(y.q, g.
H(M‘>. w. r')

Cấu trúc của thuật toán như trình bày trong Hình 13.3, khá thú vị. Lưu ý
rằng


việc

kiểm tra dựa vào giá trị r (giá trị xác thực) mà không phụ thuộc vào các
giá

trị

khác của thông điệp. Thay vào đó,r là hàm của k và ba thành phần của
khóa

công

27


Chữ ký số và giao thức chứng thực

Việc kiểm chứng tại sao cho nếu V = r thì chữ ký được cho là đúng, nếu
dựa

vào

các hướng dẫn trong Hình 13.2 và Ĩ3.3 thì sẽ không chứng minh được
điều

này.

Nếu muốn giải thích rõ hơn thì độc giả tham khảo thêm tại website
của


ebook

này.

Với độ khó của bài toán logarit ròi rạc, rất khó để bên thứ ba có thế
khôi

phục

k

khi biết r hoặc khôi phục X từ s.

Một điếm đáng chú ý là việc tạo ra chữ ký chỉ yêu cầu tính toán (gk mod
p).

Bởi



AKL83 Akl. s. "Digital Signatures: A Tutorial Survey." Computer,
February
1983.
MITC92 Mitchell, c.; Piper, F. ; and Wild, p. "Digital Signatures." In
SIMM92a].

Các trang web khuyên cáo

Digital Signatures: NIST là trang cung cấp thông tin về các phương pháp


28


Chữ ký số và giao thức chứng thực

13. 5. THUẬT NGỮ CHÍNH, MỘT số CÂU HỎI VÀ MỘT số VAN ĐÊ.
Thuật ngữ chính

Trong tài

Chữ kỷ số cỏ trong tài
Chữ ký sổ trưc tiếp
Chữ kỷ sổ

Thuât toán chữ kỷ số (DSA)

Chuẩn chữ kỷ số (DSS)

Xác

thưc

lẫn

nhau

nonce

Xác thưc mỏt chiều

Tẩn

công

lăp

lai

Ngăn chăn - tẩn công lăp lai

29


×