Tải bản đầy đủ (.docx) (8 trang)

Các phương pháp phân loại chữ ký số

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 (216.02 KB, 8 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
&&&
Đề tài: “Các phương pháp phân loại chữ ký số”
Giảng viên: PGS.TS Trịnh Nhật Tiến
Học viên thực hiện: Ngô Duy Kiên
Mã HV: 13025031
Điện thoại: 0936411890
Email:
Hà Nội, 05/2014
Trình bày Phân loại các Phương pháp Ký số (Digital Signature)
1. Một số vấn đề về chữ ký số
Trong môi trường mạng, giải thuật mật mã khoá công khai không chỉ dùng vào
việc bảo vệ tính bí mật của thông điệp, mà còn phương tiện để bảo vệ tính xác thực
và tính toàn vẹn của thông điệp, ngăn chặn sự giả mạo, sự thay đổi.
Chữ kí điện tử (hay còn gọi là chữ kí số) là phương pháp kí một bức thông điệp
lưu dưới dạng điện tử, có thể truyền trên mạng máy tính. Chữ kí số dựa trên mật
mã khoá công khai, với: khoá được dùng để kí số, khoá công khai được dùng để
xác thực.
Ta sẽ so sánh giữa chữ kí thường( kí trên giấy, bằng bút) với chữ ký điện tử( mã
hoá từng bít của thông điệp).
Chữ ký thông thường Chữ ký số
* Vấn đề ký một tài liệu:
Chữ ký chỉ là một phần
vật lý của tài liệu
* Vấn đề về kiểm tra:
Chữ ký được kiểm tra
bằng cách so sánh nó với chữ ký
xác thực khác. Tuy nhiên, đây
* Vấn đề ký một tài liệu:
Chữ ký số không gắn


kiểu vật lý vào bức thông điệp
nên thuật toán được dùng phải “
không nhìn thấy” theo một cách
nào đó trên bức thông điệp.
* Vấn đề về kiểm tra
Chữ ký số có thể kiểm
tra nhờ dùng một thuật toán
kiểm tra công khai. Như vậy, bất
không phải là một phương pháp
an toàn vì nó dễ bị giả mạo
kì ai cũng có thể kiểm tra được
chữ ký số. Việc dùng chữ ký số
an toàn có thể chặn được giả
mạo
Còn một điểm khác biệt cơ bản nữa giữa chữ ký thông thường và chữ ký số:
việc dùng lại. Bản copy thông điệp được ký bằng chữ ký số thì đồng nhất với
bản gốc, còn bản Bản copy thông điệp được ký bằng chữ ký thông thường lại có
thể khác với bản gốc. Điều này có nghĩa là cần phải ngăn chặn một bức thông
điệp ký số không bị dùng lại. Ví dụ: A ký một bức thông điệp số xác nhận B rút
1000$ trong tài khoản của A, A chỉ muốn B làm điều đó 1 lần, do đó bản thân bức
điện cần chứa thông tin( Ví dụ ngày tháng) để ngăn nó khỏi bị dùng lại.
Đối với các hoạt động trên môi trường mạng ngày càng phát triển như hiện
nay, chữ ký điện tử là một hình thức để bảo đảm tính pháp lý của các cam kết.
Nó phải đáp ứng được các yêu cầu:
 Người nhận có thể xác thực được đặc điểm nhận dạng của người gửi.
 Người gửi sau này không thể chối bỏ nội dung của bản tin đã gửi.
 Người gửi không thể bịa đặt thay đổi bản tin sau khi đã gửi

2 . Giới thiệu “chữ ký số”
Để chứng thực nguồn gốc hay hiệu lực của một tài liệu ( ví dụ: đơn xin

nhập học, giấy báo nhập học,…) lâu nay người ta dùng chữ ký “tay”, ghi vào
phía dưới của mỗi tài liệu. Như vậy người ký phải trực tiếp “ký tay” vào tài liệu.
Ngày nay các tài liệu được số hóa, người ta cũng có nhu cầu chứng thực nguồn
gốc tài liệu. Rõ ràng không thể “ký tay” vào tài liệu vì chúng không được in ấn
trên giấy. Tài liệu “số” là một xâu các bit (0 hay 1), xâu bít có thể rất dài, “Chữ ký”
để chứng thực một xâu bít tài liệu cũng không thể là một xâu bit nhỏ đặt phía
dưới xâu bit tài liệu. Một “Chữ ký” như vậy chắc chắn sẽ bị kẻ gian sao chép để
đặt dưới một tài liệu khác một cách bất hợp pháp. Những năm 80 của thế kỷ 20,
các nhà khoa học đã phát minh ra “chữ ký số” để chứng thực một “tài liệu số” .
Đó chính là bản mã của xâu bit tài liệu. Người ta tạo ra “chữ ký số” trên “tài liệu
số” giống như tạo ra “bản mã” của tài liệu với “khóa lập mã”. Như vậy “ký số”
trên “tài liệu số” là “ký” trên từng bit tài liệu. Kẻ gian khó có thể giả mạo “chữ ký
số” nếu nó không biết “khóa lập mã”. Để kiểm tra một “chữ ký số” thuộc về một
“tài liệu số”, người ta giải mã “chữ ký số” bằng “khóa giải mã”, và so sánh với tài
liệu gốc. Ngoài ý nghĩa để chứng thực nguồn gốc hay hiêu lực của các tài liệu số
hóa, Mặt mạnh của “Chữ ký số” hơn “Chữ ký tay” là ở chỗ người ta có thể “ký”
vào tài liệu từ rất xa trên mạng công khai. Hơn thế nữa, có thể “ký” bằng các
thiết bị cầm tay như Điện thoại di động, laptop, tại khắp mọi nơi miễn là kết nối
được vào mạng. Đỡ tốn thời gian, công sức, chi phí…“Ký số” thực hiện trên từng
bit tài liệu, nên độ dài của “chữ ký số” ít nhất cũng bằng độ dài của tài liệu. Do đó
thay vì ký trên tài liệu dài, người ta thường dùng “hàm băm” để tạo “đại diện” cho
tài liệu, sau đó mới “ký số” lên “đại diện” này.
3. Sơ đồ chữ ký số
Một sơ đồ chữ ký số thường chứa hai thành phần cơ bản: thuật toán ký
và thuật toán xác minh. Ngoài ra còn có thể có thêm một phần nhãn thời gian để
tránh việc dùng lại. Dưới đây là định nghĩa hình thức của chữ ký số:
Một sơ đồ chữ ký số là một bộ năm (P,A,K,S,V) thoả mãn các điều kiện sau:
1. P là tập hữu hạn các bức thông điệp.
2. A là tập hữu hạn các chữ ký số.
3. K là tập hữu hạn các khoá.

4. Với mỗi k

K tồn tại một thuật toán ký Sig
k

S và một thuật toán xác
minh Ver
k

V.
Mỗi Sig
k
: P

A và Ver
k
P×A

{true,false} là những hàm sao cho mỗi bức
thông điệp x

P và mỗi chữ ký số y

A thoả mãn phương trình dưới đây:
Ver(x,y) =
if y = Sig(x)
False if y Sig(x)
True



Với mỗi k

K, hàm Sig
k
và Ver
k
là các hàm thời gian đa thức. Ver
k
là hàm
công khai, còn Sig
k
là hàm bí mật.
Ta xét tóm tắt cách sử dụng chữ ký số để xác thực như sau: Giả sử A tính
toán chữ ký của mình y =
( )
A
k
Sig x
, sau đó gửi (x,y) cho B. Khi B nhận
được (x,y), B dùng hàm xác minh công khai của A để kiểm tra xem
A
k
er ( , )V x y
có bằng True hay không.
4. Một số sơ đồ chữ ký số.
4.1 Sơ đồ chữ ký số RSA
Cho n= pq, p và q là các số nguyên tố. Đặt P =A=Z
n

K = {(n,p,q,a,b)/ n=p*q, p và q là các số nguyên tố, a*b


1(mod(
Φ
(n)) }
Các giá trị n và b là công khai, và các giá trị a, p, q là bí mật.
Với mỗi K = {n, p, q, a, b} và x ∈P ta định nghĩa:
y = sig
k
(x)=x
a
mod n , y ∈ A.
ver
k
(x,y)= đúng

x

y
b
mod n
Ví dụ: Chọn p = 101, q = 113, tính n = 11413,
Φ
(n) = 11200
Chọn a = 123. tính b = 123
-1
(mod 11200) = 3187
Văn bản m = 1234
Chữ kí y = 1234
123
mod 11413 = 6541

Kiểm tra chữ kí: 1234 = 6541
3187
(mod 11413) đúng.
4.2 Sơ đồ chữ kí số ElGamal
Giả sử p là số nguyên tố sao cho bài toán log rời rạc trong Z
p
là khó.
Giả sử
α
là phần tử nguyên thủy của Z*
p
. Đặt P = Z*
p
, A= Z*
p
x Z*
p-1

K = {(p,
α
,a,
β
): a

Z*
p
,
mod
a
p

β α
=
}
Với mỗi K = (p,
α
,a,
β
), k’ = a bí mật, k’’ = (p,
α
,
β
) công khai
Chọn ngẫu nhiên
*
1p
r Z


và giữ bí mật, lập chữ kí trên
( )
0x P x∈ ≠
sau:

'
( , ) ( , ),
k
y Sig x r y A
γ δ
= = ∈
Trong đó

*
1
,
p p
Z Z
γ δ

∈ ∈
và được tính như sau:

*
1
1
mod
( * )* mod( 1)
r
p
p
p Z
x a r p Z
γ α γ
δ γ δ



= ∈


= − − ∈



Thuật toán kiểm tra chữ kí được định nghĩa bởi:

''
k
er ( , , ) * mod
x
v x true p
γ δ
γ δ β γ α
= ⇔ ≡
Ví dụ: Chọn p = 463,
2
α
=
là phần tử nguyên thủy của Zp.
Chọn a = 211 (bí mật). Tính
211
2 mod463 249
β
= =
(công khai)
Chọn ngẫu nhiên
1
235
p
r Z

= ∈
Kí trên x = 112


( , ) ( , )x Sig x r
γ δ
→ =
trong đó
235
1
2 mod463 16
(112 211*16)249 mod462 108
γ
δ

= =

= − =

Kiểm tra chữ kí trên x=112
16 108
112
h * mod 249 16 mod463 132
er( , ):
mod 2 mod 463 132
x
p
v
g p
γ δ
γ
γ δ


= =

= =

Vì 132=132 nên chữ kí là đúng.
4.3 Sơ đồ chữ kí số DSS
Giả sử p là số nguyên tố 512bit sao cho bài toán log rời rạc trong Z
p
là khó, cho q là số nguyên tố
160bit là ước của p-1
Giả sử
α
là căn bậc q của 1 modulo Z*
p
. Đặt P = Z*
p
, A= Z*
q
x Z*
q

K = {(p,q,
α
,a,
β
): a

Z*
p
,

mod
a
p
β α
=
}
Các số p,q,
α

β
công khai, còn a bí mật
Với K = (p,q,
α
,a,
β
) và một số ngẫu nhiên bí mật s,
1 1s q≤ ≤ −
, ta định nghĩa

( , ) ( , )
k
Sig x s
γ δ
=
Trong đó
1
( mod )mod
( * )* mod
s
p q

x a s q
γ α
δ γ


=

= +

Với
*
p
x Z


,
q
Z
γ δ

quá trình kiểm tra chữ kí như sau:
1
1
1
2
mod
mod
e x q
e q
δ

γδ



=

=



1 2
''
k
er ( , , ) ( * mod )mod
e e
v x true p q
γ δ α β γ
= ⇔ ≡
5. Phân loại chữ ký số
Có nhiều loại chữ ký tùy theo cách phân loại, sau đây xin giới thiệu một số
cách:
5.1 Phân loại chữ ký theo đặc trưng kiểm tra chữ ký
5.1.1 Chữ ký có thể khôi phục thông điệp gốc:
Là loại chữ ký, trong đó người gửi chỉ cần gửi “chữ ký”, người nhận có thể
khôi phục lại được thông điệp, đã được “ký” bởi “chữ ký” này.
Ví dụ: chữ ký RSA là chữ ký khôi phục thông điệp.
5.1.2 Chữ ký không thể khôi phục thông điệp gốc:
Là loại chữ ký, trong đó người gửi chỉ cần gửi “chữ ký”, phải gửi kèm cả
thông điệp đã được “ký” bởi “chữ ký” này. Ngược lại, người nhận sẽ không có
được thông điệp gốc.

Ví dụ: Chữ ý Elgamal là chữ ký đi kèm thông điệp.
5. 2 Phân loại chữ ký theo mức an toàn
5.2.1 Chữ ký “không thể phủ nhận “:
Nhằm tránh việc nhân bản chữ ký để sử dụng nhiều lần, tốt nhất là người
gửi tham gia trực tiếp vào việc kiểm thử chữ ký. Điều đó được thực hiện
bằng một giao thức kiểm thử, dưới dạng một giao thức mời hỏi và trả lời.
Ví dụ: chữ ký không phủ định ( Chaum-van Antverpen).
5.2.2. Chữ ký “một lần”
Để đảm bảo an toàn, “khóa ký” chỉ dùng 1 lần (one-time) trên 1 tài liệu.
Ví dụ: Chữ ký một lần Lamport. Chữ ký Fail-Stop (Van Heyst & Pedersen)
5.3 Phân loại chữ ký theo ứng dụng đặc trưng
- Chữ ký mù (Blind Signature)
- Chữ ký nhóm (Group Signature)
- Chữ ký bội (Multy Signature)
- Chữ ký mù nhóm (Blind Group Signature)
- Chữ ký mù bội (Blind Multy Signature)

×