Mục lục
chương 1: Nội dung nghiên cứu đề tài
chương 2: các khái niệm về thương mại điện tử và các đặ trưng của thương mại điện tử
chương 3: hệ mật mã, mã khóa đối xứng, mã khóa công khai, chứ ký số
chương 4: cài đặt bảo mật và an toàn thông tin trên website mua bán linh kiện máy tính trên mạng internet
84 trang |
Chia sẻ: netpro | Lượt xem: 2663 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Bảo mật và an toàn thông tin trong thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
các đặc điểm nhƣ sau:
Giá trị trả lại của hàm băm duy nhất đối với mỗi giá trị đầu vào. Bất
kỳ sự thay đổi nào của dữ liệu vào cũng đều dẫn đến một kết quả
sai.
Bản tóm lƣợc thông báo z = h(x)
Chữ ký y = sigk(z)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 36
Từ đại diện văn bản không thể suy ra đƣợc dữ liệu gốc là gì, chính
vì điều này mà ngƣời ta gọi là one -way.
Nhƣ đã đề cập trong phần mã hóa khóa khóa công khai, nó có thể sử dụng khóa
bí mật của bạn cho việc mã hóa và khóa khóa công khai cho việc giải mã. Cách
sử dụng cặp khóa nhƣ vậy không đƣợc dùng khi cần có sự bí mật thông tin, mà
chủ yếu nó dùng để “ký” cho dữ liệu. Thay vào việc đi mã hóa dữ liệu, các phần
mềm kí tạo ra message digest của dữ liệu và sử dụng khóa bí mật để mã hóa đại
diện đó. Hình 1.8 đƣa ra mô hình đơn giản hóa việc chữ kí số đƣợc sử dụng nhƣ
thế nào để kiểm tra tính toàn vẹn của dữ liệu đƣợc ký.
Trong hình 1.8 có hai phần đƣợc gửi cho ngƣời nhận: Dữ liệu gốc và chữ kí
số. Để kiểm tra tính toàn vẹn của dữ liệu, ngƣời nhận trƣớc tiên sử dụng khóa
khóa công khai của ngƣời kí để giải mã đại diện văn bản (Message digest) đã
đƣợc mã hóa và khóa bí mật của ngƣời ký. Dựa vào thông tin về thuật toán băm
trong chữ ký số, ngƣời nhận sẽ tạo ra đại diện văn bản từ dữ liệu gốc và mới.
Nếu các đại diện này giống nhau tức là dữ liệu không bị thay đổi từ lúc đƣợc ký.
Nếu không giống nhau có nghĩa là dữ liệu đã bị giả mạo điều này cũng có thể
xảy ra khi sử dụng hai khóa khoá khóa công khai và khóa bí mật không tƣơng
ứng.
Compare
K K
a, Using conventional encryption
Compare
Kprivate Kpublic
M
es
sa
g
e
M
es
sa
g
e
M
es
sa
g
e
E
H
D
H
M
es
sa
g
e
M
es
sa
g
e
M
es
sa
g
e
E
H
D
H
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 37
b, Using public-key encryption
Hình 9: Sử dụng chữ ký số để kiểm tra tính toàn vẹn của dữ liệu.
Nếu nhƣ hai đại diện văn bản giống nhau, ngƣời nhận có thể chắc chắn rằng
khóa khóa công khai đƣợc sử dụng để giải mã chữ ký số là tƣơng ứng với khóa
bí mật đƣợc sử dụng để tạo ra chữ ký số. Để xác thực định danh của một đối
tƣợng cũng cần phải xác thực khóa khóa công khai của đối tƣợng đó.
Trong một vài trƣờng hợp, chữ ký số đƣợc đánh giá là có thể thay thế chữ ký
bằng tay. Chữ ký số chỉ có thể đảm bảo khi khóa bí mật không bị lộ. Khi khóa bí
mật bị lộ thì ngƣời sở hữu chữ ký không thể ngăn chặn đƣợc việc bị giả mạo chữ
ký.
iii. CHỮ KÍ Sè
chữ kí của một ngƣời trên một tài liệu (thƣờng đặt ở cuối bản tin ) để xác
nhận nguồn gốc hay trách nhiệm với tài liệu đó.
Với tài liệu “số hoá” (điện tử),nếu chữ kí cũng đặt ở cuối bản tin, thì việc
sao chép lại “chữ kí số” là hoàn toàndễ dàng và không thể phân biệt dƣợc bản
gốc với bản saovì chữ kí số là các số 0,1.
Vậy một “chữ kí số” đặt cuối “tài liệu loại số” không thể chịu trách
nhiệm đối với toàn bộ nội dung văn bản . “Chữ kí số” thể hiện trách nhiệm đối
với toàn bộ tài liệu phải là chữ kí trên từng bit của tài liệu đó.
Trong chƣơng này, em trình bày các vấn đề cơ bản nhất về chữ kí số, các
khái niệm, các tính chất, các sơ đồ kí hiện đang đƣợc sử dụng.
Chúng ta không thể kí trên bất kì tài liệu nào với độ dài tuỳ ý, vì nhƣ vậy
chữ kí sẽ có đọ dài rất lớn, ít nhất cũng dài bằng độ dài của tài liệu đƣợc kí. Với
tài liệu dài, ngƣời ta kí trên đại diện của nó. Đại diện của bản tin đƣợc thiét lập
qua Hàm băm.
1. Chữ kí số
Với chữ kí thông thƣờng, nó là một phần vật lí của tài liệu.Tuy nhiên, một
chữ kí số không gắn theo kiểu vật lí vào bức điện nên thuật toán đƣợc dùng phải
“không nhìn thấy” theo cách nào đố trên bức điện.
Thứ hai là vấn đề về kiểm tra .Chữ kí thông thƣờng đƣợc kiểm tra bằng
cách so sánh nó với các chữ kí xác thực khác. Ví dụ, ai đó kí một tấm séc để
mua hàng,nƣời bán phải so sánh chữ kí trên mảnh giấy với chữ kí nằm ở mặt su
của thẻ tín dụng để kiểm tra .Dĩ nhiên, đây không phải là phƣơng pháp an toànvì
nó dễ dàng giả mạo. Mặt khác,các chữ kí số có thể đƣợc kiểm tra nhờ dùng một
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 38
thuật toán kiểm tra công khai. Nhƣ vậy, bất kì ai cũng có thể kiểm tra đƣợc chữ
kí số. Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăng chặn đƣợc khả năng
giả mạo.
Sự khác biệt cơ bản giữa chữ kí số và chữ kí thông thƣờng bản copy tài
liệu đƣợc kí bằg chữ kí số đồng nhất với bản gốc , còn copy tài liệu có chữ kí
trên giấy thƣờng có thể khác với bản gốc.Điều này có nghĩa là phải cẩn thận
ngăn chặn một bức kí số khỏi bị dùng lại. Ví dụ. Bob kí một bức điện xác nhận
Ailice có khả năng làm một điều đó một lần. Vì thế, bản thân bức điện cần chứa
thông tin (chẳng hạn nhƣ ngày tháng)để ngăn nó khỏi bị dùng lại.
Một sơ đồ chữ kí số thƣờng chứa hai thành phần: thuật toán kí và thuật
toán xác minh. Bob có thể kí điện x dùng thuật toán kí an toàn . Chữ kí sig(x)
nhận đƣợc có thể kiểm tra bằng thuật toán kí an toàn . Chữ kí sig(x) nhận đƣợc
có thể kiểm tra bằng thuật toán xác minh công khai ver. Khi cho trƣớc cặp (x,y),
thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí đƣợc thực
nhƣ thế nào . Dƣới đây là định nghĩa hình thức của chữ kí:
Định nghĩa: một sơ đồ chữ kí số là bộ 5(P,A,K,S,C) trong đó :
1.P Là tập hữu hạn các bức điện (thông điệp) có thể .
2.A là tập hữu hạn các chữ kí có thể.
3.K không gian khoá là tập hữu hạn các khoá có thể.
4.Với mỗi K thuộc K tồn tại một thuật toán kí sigk S và là một thuật toán xác
định Verk V. Mỗi sigk:P A vàVerk : P A { true,false} là hàm sao cho mỗi
thông điệp x
P và chữ kí y
A thoảmãn phƣơng tình dƣới đây.
Verk= True nếu y=sing(x)
False nếu y
sing(x)
Với mỗi k thuộc K hàm sigk ,Verk là các hàm có thời gian đa thức .Verk sẽ
là hàm công khai , sigk là bí mật. không thể dễ dàng tính toán để giả mạo chữ kí
của Bob trên thông điệp x .Nghĩa là x cho trƣớc ,chỉ có Bob mới có thể tính
đƣợc y để Verk= true . Một sơ đồ chữ kí không thể an toàn vô điều kiện vì
Oscar có thể kiểm tra tất cả các chữ số y có thể có trên thông điệp x nhờ dùng
thuật toán verk công khai cho đến khi anh ta tìm thấy một chữ kí đúng.Vì thế ,
nếu có đủ thời gian ,Oscar luôn luôn có thẻ giả mạo chữ kí của Bob .Nhƣ vậy ,
giống nhƣ trƣờng hợp hệ thống mã khoá công khai , mục đích của chúng ta là
tìm các sơ đồ chữ kí số an toàn về mặt tính toán.
2. Phân loại các sơ đồ chữ kí số
Cơ chế chữ kí điện tử đƣợc chia làm hai 2 lớp , lớp chũ kí kèm thông điệp
(message appendix)và lớp chữ kí khôi phục thông điệp (message recovery).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 39
Chữ kí kèm thông điệp: đòi hỏi thông điệp ban đầu là đầu vào giải thuật
kiểm tra .
Chữ kí khôi phục thông điệp: thông điệp ban đầu đƣợc sinh ra từ bản thân
chữ kí.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 40
Hình 10: Hình biểu diễn phân loại ở mức tổng quan về chữ kí điện tử
s
2.1. Sơ đồ chữ kí kèm thông điệp
Sơ đồ chữ kí kèm thông điệp là sơ đồ đƣợc sử dụng nhiều nhất trong thực
tế. Nó dựa trên các hàm băm mã hoá đơn là dựa trên các hàm băm bất kì và ít bị
lỗi khi bị tấn công theo kiểu giả mạo.Chúng ta có thể định nghiã chính xác sơ đồ
chữ kí này nhƣ sau :
Định nghĩa :Một sơ đồ kí đòi hỏi thông điệp đầu vào là một tham số cho quá
trình xác nhận chữ kí là sơ đồ kí kèm thông điệp .Ví dụ EIGamal,DSA,Schonor.
a. Giải thuật sinh khoá:
Mỗi một thực thể tạo một khoá riêng để cho thông điệp cần khoá và một
khóa công khai tƣơng ứng để các thực thể khác xác nhận chữ kí
.
Mỗi thựcthể A phải chọn một khoá riêng cùng với việc xác định
không gian khoá SA,k :k thuộc R ,của dạng chuyển đổi.
SA,k xác định một anhhs xạ 1-1 từ không gian Mh vào khong gian
khoá S gọi là dạng chuyển đổi chữ kíhay cào là thuật toán kí số.
SAtƣơng ứng (corresponding mapping)VA từ không gian Mh S
vào tập hợp { false,true} có nghĩa là :
VA(m,s*)=true nếu SA,k(m)=s*
VA(m,s*)=false trong các trƣờng hợp khác.
Va là khoá công khai của A ,SA là khoá riêng của A
ngẫu nhiên
Khôi phục thông
diệp Xác định
chữ kí điện tử
ngẫu nhiên
Kèm thông điệp
Xác định
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 41
b. Giải thuật sinh và xác nhận chữ kí:
Thực thể A tạo một chữ kí s vào án xạ M và đƣợc xác nhận bởi thực thể B.
Quá trình sinh chữ kí
Chọn một chữ kí k thuộc R
Tính hàm băm m’=h(m) và s*=SA,k(m’)
Chữ kí của A cho m là s*.Cặp m’ và s* dùng để xác nhận
Quá trình xác nhận chữ kí
Nhận khoá công khai định danh choA và vA
Tính hàm băm m’=h(m)và u=vA(m’,s*)
Chấp nhận chữ kí của A cho m là s* nếu u=TRUE.
2.2. Sơ đồ chữ kí khôi phục thông điệp
Đặc trƣng cho sơ đồ này là thông điệp có thể đƣợc khôi phục từ chính bản
thân chữ kí .Trong thực tế sơ đồ kiểu này thƣờng đƣợc kí cho các thông điệp
ngắn .
M
m
m
SA,k M h h s
a) TiÕn tr×nh ký th«ng ®iÖp
Mh x S VA
TRU
E
FALSE
b) TiÕn tr×nh x¸c nhËn ch÷ ký
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 42
Định nghĩa
Một sơ đồ kí đƣợc gọi là có khôi phục thông điệpkhi và chỉ khi nó là sơ đồ
mà với nó mức độ hiểu biết về thông diệp là không đòi hỏi trong quá trình xác
nhận chữ kí .Ví dụ về các sơ đồ chữ kí có khôi phục thông điệp trong thực tế là
:RSA,Rabin ,Nyber –Rueppel với khoá chung .
a. Thuật toán sinh khoá
Mỗi một thực thể A phải chọn một tập hợp SA={SA,k:k thuộc R} mỗi SA,k xác
định một ánh xạ 1-1 tù không gian Mh vao không gian khoá S goi là dang
chuyển đổi chữ ký.
SA xác định một ánh xạ tƣơng ứng(corresponding mapping) VA sao cho
VA* SA,k ánh xạ xác định MS cho tất cả k thuộc R.
VA là khoá công khai của A, SA là khoá riêng của A.
b. Thuật toán sinh chữ ký và xác nhận chữ ký
Tiến trình sinh chữ ký: Thực thể phảI làm theo các bƣớc sau:
• Chọn một số k R
• Tính m' = R(m) và s * = S A,k(m'). (R là hàm redundancy)
• Chữ ký của A là s *
Tiến trình xác nhận chữ ký: Thực thể B phảI làm nhƣ sau:
• Nhận khoá công khai của A là VA
• Tính m' = VA(s*)
• Xác nhận m' MR (Nếu m' MR thì từ chối chữ ký)
• Khôi phục m từ m' bằng cách tính R -1(m')
SA,k
R
Hình 12: Sơ đồ chữ ký khôi phục thông điêp
3. Một số sơ đồ chữ ký cơ bản
Sau đây chúng ta sẽ nghiên cứu các sơ đồ chữ ký cơ bản nhất và có ứng
dụng rộng rãi cũng nhƣ đáng tin cậy nhất hiện nay .
3.1. Sơ đồ chữ ký RSA
Chúng ta sẽ nghiên cứu đến sơ đồ chữ ký RSA và các sơ đồ tƣơng tự .
Đặc điểm của các sơ đồ chữ ký này là mức độ tính toán phụ thuộc hoàn toàn vào
độ lớn của giải thuật giải quyết các bài toán nhân số nguyên – bài toán luỹ thừa .
Sơ đồ chữ ký bao gồm cả hai loại kèm thông điệp và khôi phục thông điệp . Sơ
S
s*=SA,k(m'
)
M
m'
M
m'
R
'
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 43
đồ chữ ký RSA đƣợc phát minh bởi 3 nhà nghiên cứu Rivest, Shamir và
Adleman, đây là sơ đồ có ứng dụng thực tế rộng rãi nhất dựa trên công nghệ sử
dụng khoá chung. Các phƣơng pháp tấn công RSA đầu tiên (multicative
property) và các vấn đề khác liên quan tới chữ ký RSA đƣợc đƣa ra bởi Davia,
Jonge và Chaum.
a. Thuật toán sinh khoá:
Thực thể A tạo khoá công khai RSA và khoá riêng tƣơng ứng theo phƣơng thức
sau:
• Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q cùng kích thƣớc bit
• Tính n = p.q và = (p-1)(q-1)
• Chọn một số tự nhiên ngẫu nhiên a thoả mãn điều kiện sau: 1< a < và
USCLN (a, ) = 1 hay a Z*P .
• Sử dụng giải thuật mở rộng Euclidean để tính toán số tự nhiên duy nhất b
sao cho 1 < b < và ab 1 (mod )
• Khoá công khai của A là K’ = (n, a) khoá riêng của A là K” = b
b. Thuật toán sinh và xác định chữ ký
Thực thể A ký trên thông điệp m . Thực thể B có thể xác định đƣợc chữ
ký của A và khôi phục lại thông điệp từ chữ ký.
Sinh chữ ký: Thực thể A làm theo các bƣớc sau:
• Tính m' = H(m) , là một số nguyên trong khoảng 0,n-1
• Tính s = m'd mod n
• Chữ ký của A cho m là s
Xác nhận chữ ký: Thực thể B làm theo các bƣớc sau:
• Nhận khoá công khai của A là (n, b)
• Tính m' = sb mod n
• Kiểm tra m' MR nếu không sẽ không chấp nhận chữ ký
• Lấy lại thông điệp m từ m = H-1(m')
c. Tóm tắt lược đồ ký theo RSA:
Cho n = p.q với p và q là các số nguyên tố
Cho P = A =Zn và định nghĩa
p = (n,p,q,a,b) n = p.q, p và q nguyên tố, ab 1 mod (n)
Các giá trị n, b là công khai. Định nghĩa
Sigk (x) = x
a mod n và
Verk(x,y) = true x y
b (mod n) với x,y Zn
Nếu độ dài thông diệp x lớnN, ta sử dụng hàm băm.
Ví dụ: Ví dụ sau đây sử dụng sơ đồ ký RSA, với thông điệp lớn
Sinh khoá:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 44
Thực thể A chọn số nguyên tố p =7927 và q =6997. Tính n =pq =5546521 và
=7926.6996 =55450296.
A chọn a =5 và giải ab =5.b
1 (mod 55450296) đƣợc b = 44360237.
Sinh chữ ký:
Để ký thông điệp m =31229978, A tính m’1 =H(m) =31229978.
Chữ ký s = m1
’b
=mod n =31229978
4430237
mod 55465219 =30729435
Xác nhận chữ ký:
B tính m2
’
= s
a
mod n = 30729435
5
mod 55465219 =31229978
B chấp nhận chữ ký vì m2
’
= m1
’.
3.2. Sơ đồ chữ ký DSA (Digital Signature Standard)
Trong phần này nội dung chính là nghiên cứu các sơ đồ chữ ký điện tử
DSA và lớp các chữ ký tƣơng tự, đặc điểm của những giải thuật này là đều sử
dụng chữ ký theo kiểu chọn lựa ngẫu nhiên. Tất cả các sơ đồ DSA kèm thông
điệp đều có thể cải biến thành các sơ đồ ký khôi phục thông điệp .Đặc biệt, sẽ đi
sâu vào chuẩn chữ ký điện tử DSS(Digital Signature Standard) do khả năng cài
đặt thực tế của nó
a. Giới thiệu
Sơ đồ chữ ký DSS dựa trên giảI thuật ký điện tử DSA (Digital Signature
Algorithm). Chữ ký dạng DSS là một dạng chữ ký kèm thông điệp, điều đó có
nghĩa là chữ ký phải đƣợc gửi kèm với thông điệp mà bản thân chữ ký không
chứa (hoặc không sinh ra) thông điệp, thông thƣờng nhƣng chữ ký dạng này
đều đòi hỏi có một hàm băm trên thông điệp (do nội dung thông điệp có độ dài
không xác định). Hàm băm này đƣợc sử dụng trong quá trình sinh chữ ký để xây
dựng một dạng nén của dữ liệu (condensed version of data). Dữ liệu này gọi là
đại diện văn bản (message digest). Phần đại diện văn bản này là đầu vào của giải
thuật sinh chữ ký. Ngƣời xác nhận chữ ký cũng sử dụng hàm băm này để xây
dựng phƣơng pháp xác nhận chữ ký. Đối với sơ đồ chữ ký DSS hàm băm là
security Hash Algorithm (SHA) đƣợc miêu tả trong FIPS 186, hàm băm này tạo
ra một giá trị số nguyên 160 bít đặc trƣng cho một thông điệp, điều này làm hạn
chế một trong các giá trị tham số của DSS phảI là 160 bit. Ngoài ra, chuẩn này
yêu cầu việc sinh chữ ký phải sử dụng một khóa riêng cho mỗi ngƣời ký, ngƣợc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 45
lại để xác nhận chữ ký, ngƣời xác nhận phải có một khóa công khai tƣơng ứng
với khóa riêng của ngƣời gửi
Hình 13: Chữ ký DSA
b. Các giải thuật cơ bản của DSA
Thuật toán sinh khóa
Mỗi thực thể tạo một khóa công khai và một khóa mật tƣơng ứng theo cách sau:
1. Chọn một số nguyên tố q sao cho 2159 < q < 2160
2. Chọn một số nguyên tố p sao cho 2511+64t < p < 2512+64t ở đó t
[0,8]
3. Chọn số
nhƣ sau:
• Chọn g là một số nguyên bất kỳ nhỏ hơn p,
=g
(p-1)/q
mod p
•
khác 1
4. Chọn số nguyên a sao cho: 1
1 qa
5. Tính
a
mod p
6. Khóa riêng của thực thể là a, khóa công khai là bộ (p,q,
)
Thuật toán sinh chữ ký
Khi cần sinh chữ ký cho một thông điệp x thực thể phảI làm những việc
nhƣ sau:
1. Chọn một số nguyên mật k, 0 < k <q-1
2. T ính
=(a
k
mod p ) mod q.
3. Tính k -1 mod q.
4. Tính
=k
-1
(h(x)+a
) mod q
5. Chữ ký của thực thể cho x là cặp (
,
)
Thuật toán xác nhận chữ ký
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 46
Khi cần xác nhận chữ kí cho một thông điệp m thực thể phải làm những
việc nhƣ sau:
1. Dành lấy khoá công khai của thực thể kí (p, q, a, ò)
2. Nếu điều kiện: 0 < d,? < q không thoả mãn thì từ chối chữ kí
3. Tính w = d-1 mod q và h(x)
4. Tính e1 = w.h(x) mod q và e2 =?w mod q
5. Tính v = (ae1 .òe2 mod p) mod q
6. Nếu v = ? thì chấp nhận chữ kí ngoài ra thì từ chối.
c. Tóm tắt lƣợc đồ chữ kí số DSS
Ví dụ:
Gỉa sử q = 101, p = 78q + 1 = 7879
3 là phần tử nguyên thuỷ trong Z7879 nên ta có thể lấy: a = 3
78
mod 7879 = 170
Gỉa sử a = 75, khi đó ò = aa mod 7879 = 4576
Muốn kí bức điện x = 1234, ta chọn số ngãu nhiên k = 50
Vì thế có k -1 mod 101 = 99, khi đó có:
? = (170
30
mod 7879) mod 101
= 2518 mod 101
= 94
Và d = (1234 + 75*94)*99 mod 101 = 96
Chữ kí (94, 97) trên bức điện 1234 đƣợc xác minh bằng các tính toán sau:
d
-1
= 97
-1
mod 101 = 25
e1 = 1234*25 mod 101 = 45
e2 = 94*25 mod 101 = 27
Có (17045.456727 mod 7879) mod 101 = 2518 mod 101 = 94
Giả sử p là số nguyên tố 512 bít sao cho bài toán logarit rời rạc trong Zp là khó
giải.
Cho p là số nguyên tố160 bít là ƣớc của (p-1).
Gỉa thiết a? Zp là căn bậc q của một modulo p
Cho p thuộc Zp và a = Zq ì Zp và định nghĩa:
A = {(p, q , a, a, ò ): ò trùng a a (mod p)}
Các số p, q , a, ò công khai, có a mật.
Với K = (p, q , a, a, ò ) và với một số ngẫu nhiên (mật) k, 1 = k = q -1, ta định
nghĩa:
Qúa trình kí số sigk (x, k) = (?,dδ) trong đó:
? = (a
k
mod p) mod q và
d = (x + a ?)k
-1
mod q với x? Zp và?, d ? Zq
Qúa trình xác minh sẽ hoàn thành sau các tính toán:
e1 = xd
-1
mod q
e2 =?d
-1
mod q
ver(x, g, d) = true (ae1 òe2 mod p) mod q =?
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 47
Vì thế chữ kí hợp lệ.
d. Tính chất của chữ kí DSA
Độ an toàn
Độ an toàn của chữ kí phụ thuộc vào độ bí mật của khoá riêng. Ngƣời
sử dụng phải đƣợc bảo vệ trƣớc về khoá riêng của mình. Nếu khoá riêng đảm
bảo an toàn tuyệt đối thì chữ kí cũng có mức độ an toàn hầu nhƣ tuyệt đối. Mặt
khác, với khoá riêng là công khai, chữ kí DSA là an toàn khi từ khoá công khai
không thể tìm đƣợc khoá riêng. Thật vậy, ta có:
Cho p là một số nguyên tố rất lớn, phƣơng trình toán học sau là không
thể giải đƣợc: y = ax mod p (1) với y, a = g(p-1)/q và khác 1. Để xem xét điều này
trƣớc hết ta nhận xét phƣơng trình (1) có nghiệm x duy nhất thuộc khoảng [1,
q]. Thật vậy, giả sử có hai nghiệm x1 và x2 , từ (1) ta có:
y = a
x1
mod p và y = ax2 mod p
Không mất tính tổng quát ta giả sử x1 < x2 từ đây ta suy ra:
ax1 chia hết cho p (không thoả mãn do p nguyên tố)
Tồn tại k nhỏ hơn p sao cho ak 1 (mod p). Với giá trị a có dạng
a = g
(p-1)/q
thì điều này không thể xảy ra khi g < p.
Trong nhiều trƣờng hợp, thông điệp có thể mã và giải mã chỉ một lần nên
nó phù hợp cho việc dùng với hệ mật bất kì (an toàn tại thời điểm đƣợc
mã). Song trên thực tế, nhiều khi một bức điện đƣợc làm một tài liệu đối
chứng, chẳng hạn nhƣ bản hợp đồng hay một chúc thƣ và vì thế cần xác
minh chữ kí sau nhiều năm kể từ khi bức điện đƣợc kí. Bởi vậy, điều quan
trọng là có phƣơng án dự phòng liên quan đến sự an toàn của sơ đồ chữ kí
khi đối mặt với hệ thống mã. Vì sơ đồ Elgamal không an toàn hơn bài toán
logarithm rời rạc nên cần dùng modulo p lớn hơn chẳng hạn 512 bit trở lên.
Tuy nhiên độ dài chữ kí theo sơ đồ Elgamal là gấp đôi số bit của p mà với
nhiều ứng dụng dùng thẻ thông minh thì cần chữ kí ngắn hơn nên giải pháp
sửa đổi là: một mặt dùng p với độ dài biểu diễn từ 512 đến 1024 bit, mặt
khác trong chữ kí (?,dδ), các số?, d có độ dài biểu biễn ngắn, chẳng hạn là
160 bit – Khi đó độ dài chữ kí là 320 bit. Điều này thực hiện bằng cách
dùng nhóm con Cyclic Zq* của Zp* thay cho chính bản thân Zp*, do đó mọi
tính toán vẫn đƣợc thực hiện trong Zp* nhƣng dữ liệu và thành phần chữ kí
lại thuộc Zq*.
Tính hợp lệ:
Tính hợp lệ của chữ kí DSA dựa trên hai định lí sau:
Định lí 1: Cho p, q là hai số nguyên tố thoả mãn điều kiện q \ (p - 1).
h là một số nguyên dƣơng bất kì thoả mãn h < p. Nếu:
g h(p - 1) / q mod p thì gq 1 mod p
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 48
Thật vậy gq (h(p - 1)/q)q hp – 1 mod p (theo định lí Fecma nhỏt).
Định lí 2: Với g, p, q xác định nhƣ trên ta luôn có:
nếu m n mod p thì gm gn mod p.
Thật vậy không mất tính tổng quát ta đặt m = n + kq
Thì gm gn + kq (gn mod p).(gkq mod p) gn mod p
điều phải chứng minh.
Nhƣợc điểm:
Một ý kiến cho rằng, việc xử lí lựa chọn của NIST là không công khai.
Tiêu chuẩn đã đƣợc cục an ninh quốc gia phát triển mà không có sự tham gia
của khối công nghiệp Mỹ. Còn những chỉ trích về mặt kĩ thuật thì chủ yếu là về
kích thƣớc modulo p cố định = 512 bít. Nhiều ngƣời đã muốn kích thƣớc này có
thể thay đổi đƣợc nếu cần, có thể dùng kích cỡ lớn hơn. Đáp ứng những điều
kiện này, NIST đã chọn tiêu chuẩn cho phép có nhiều kích cỡ modulo bất kì
chia hết cho 64 trong phạm vi từ 512 đến 1024 bít.
Một phàn nàn nữa về DSA là chữ kí đƣợc tạo ra nhanh hơn việc xác minh
nó. Trong khi đó, nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai
nhỏ hơn (chẳng hạn = 3) thì có thể xác minh nhanh hơn nhiều so với việc lập
chữ kí. Điều này dẫn đến hai vấn đề liên quan đến những ứnh dụng của sơ đồ
chữ kí:
Bức điện chỉ đƣợc kí một lần, xong nhiều khi lại phải xác minh chữ kí
nhiều lần trong nhiều năm. Điều này tạo gợi ý nhu cầu có thuật toán xác
minh nhanh hơn.
Những kiểu máy tính nào có thể dùng để kí và xác minh? Nhiều ứng
dụng, chẳng hạn các thẻ thông minh có khả năng xử lí hạn chế liên lạc với
máy tính nhanh hơn. Vì thế có nhu cầu nhƣng thiết kế một sơ đồ để có thể
thực hiện trên thẻ một số tính toán. Tuy nhiên có một số tình huống cần
hệ thống minh tạo chữ kí, trong những tình huống khác lại cần thẻ thông
minh xác minh chữ kí. Vì thế có thể đƣa ra giải pháp xác định ở đây.
Sự đáp ứng của NIST đối với yêu cầu về số lần tạo xác minh chữ kí thực
ra không có yêu cầu gì ngoài yêu cầu về tốc độ, miễn là cả hai thể thực hiện
nhanh.
4. Các sơ đồ chữ kí số khả thi
Trong các sơ đồ chữ kí điện tử ngƣời ta thƣờng sử dụng hai sơ đồ chữ kí
là DSA và RSA bởi vì một số nguyên nhân sau:
Cả hai sơ đồ đều đƣợc chính phủ Mỹ thông qua trong Chuẩn chữ kí số
(DSS) . Cả hai giải thuật DSA và RSA đều đƣợc công bố trong Hồ sơ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 49
trong liên bang (FIPS) vào ngày 19/5/94 và đƣợc đƣa ra làm chuẩn chính
thức của chữ kí điện tử vào 1/12/94 mặc dù nó đã đƣợc đề xuất từ 8/91.
Các sơ đồ chữ kí này đều là cá sơ đồ chữ kí dựa trên các phƣơng pháp mã
hoá khoá khoá công khai vadf đều có độ bảo mật rát cao.
Các bộ số liệu để kiểm nghiệm sự đúng đắn trong việc cài đặt các chữ kí
này đều đƣợc công khai. Nếu trong quá trình thử nghiệm các chữ kí này
đều đảm bảo đúng với bộ số liệu thì chữ kí đƣợc coi là an toàn.
Cả hai sơ đồ chữ kí đều có thể chuyển đổi từ các chữ kí kèm thông điệp
thành chữ kí khôi phục thông điệp không mấy khó khăn với việc tích hợp
thêm các hàm có độ dƣ R (Redundancy Function).
Trong thực tế khi đƣa ra hệ thống CA server, phía đối tác quyết định lựa
chọn sơ đồ chữ ki DSA là chữ kí chính thức cho toàn bộ các giao dịch.
Thời gian xác nhận chữ kí của cả hai loại chữ kí này đều ngắn và chấp
nhận đƣợc trong môi trƣờng mạng công cộng.
5. Các cách tấn công chữ kí điện tử
Khi nói đến chữ kí điện tử chúng ta luôn đặt mục tiêu an toàn lên hàng
đầu, một chữ kí điện tử chỉ thực sự đƣợc áp dụng trong thực tế nếu nhƣ nó
đƣợc chứng minh là không hề giả mạo. Mục tiêu lớn nhất của những kẻ tấn
công các sơ đồ chữ kí là giả mạo chữ, điều này có nghĩa là kẻ tấn công sinh
ra đƣợc chữ kí của ngƣời kí lên thông điệp mà chữ kí này sẽ đƣợc chấp nhận
bởi ngƣời xác nhận. Trong thực tế các hành vi tấn công chữ kí điện tử rất đa
dạng, để dễ dàng phân tích một sơ đồ chữ kí là an toàn hay không ngƣời ta
tiến hành kiểm nghiệm độ an toàn của chữ kí trƣớc các sự tấn công sau:
Tolal break (tấn công toàn bộ): Một kẻ giả mạo không những tính đƣợc thông
tin về khoá riêng (private key) mà còn có thể sử dụng một thuật toán sinh chữ
kí tƣơng ứng tạo ra đƣợc chữ kí cho thông điệp.
Selective forgert (giả mạo có lựa chọn) : Kẻ tấn công có khả năng tạo ra
đựơc một tập hợp các chữ kí cho một lớp các thông điệp nhất định, các
thông điệp này đƣợc kí mà không cần phải có khoá mật của ngƣời kí.
Existential forgert (giả mạo với thông điệp biết trƣớc): Kẻ tấn công có
khae năng giả mạo chữ kí cho một thopong điệp, kẻ tấn công không thể
hoặc có ít nhất khả năng kiểm soát thông điệp đƣợc giả mạo này.
Ngoài ra, hầu hết các chữ kí điện tử đều dựa vào cơ chế mã hoá khoá công
khai, các chữ kí điện tử dựa trên cơ chế này có thể bị tấn công theo các
phƣơng thức sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 50
Key – only attacks (tấn công với khoá): Kẻ tấn công chỉ biết khoá chung
của ngƣời kí.
Message attacks (tấn công vào thông điệp): ở đay kẻ tấn
Các file đính kèm theo tài liệu này:
- 170..com.pdf