Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện tử - Pdf 29

Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
LỜI NÓI ĐẦU
Trong xu hướng phát triển của thế giới và Việt Nam hiện nay, mạng Internet đang
đem đến sự bùng nổ thông tin một cách mạnh mẽ. Nó được sử dụng để truyền thư điện tử,
truy cập các website, kết nối các công sở, liên lạc với các khách hàng và sử dụng các dịch
vụ ngân hàng, các giao dịch điện tử…
Tiềm năng của mạng Internet là rất lớn. Như ta đã biết các giao tiếp, trao đổi thông tin
qua Internet đều sử dụng giao thức TCP/IP. Các gói tin truyền từ điểm nguồn tới điểm
đích sẽ đi qua rất nhiều máy tính trung gian, vì vậy độ an toàn thấp, nó rất dễ bị xâm
phạm, theo dõi và giả mạo trên đường truyền. Vấn đề không an toàn cho thông tin trên
đường truyền khiến nhiều người đắn đo trong việc sử dụng mạng Internet cho những ứng
dụng về tài chính, giao dịch ngân hàng, hoạt động mua bán và khi truyền các thông tin
kinh tế, chính trị vv…
Những biện pháp đảm bảo an toàn thông tin đưa ra đều nhằm đáp ứng 3 yêu cầu: bảo
mật thông tin, xác thực thông tin và toàn vẹn thông tin trên đường truyền. Các hệ mã
hóa thông tin bảo đảm tính bí mật nội dung thông tin, các sơ đồ chữ ký số bảo đảm xác
thực thông tin trên đường truyền.
Tuy nhiên, nhu cầu của con người không chỉ dừng lại ở việc giao dịch giữa các cá
nhân với nhau, mà còn giao dịch thông qua mạng giữa các nhóm người, các công ty, các
tổ chức khác nhau trên thế giới. Dựa trên những yêu cầu thực tế đó các nhà khoa học đã
nghiên cứu và đề xuất ra một kiểu chữ ký mới, đó chính là chữ ký nhóm.
Trong đồ án này tôi đã tìm hiểu và nghiên cứu về chữ ký nhóm. Đây là một loại chữ
ký điện tử cho phép một nhóm người tạo các chữ ký đại diện cho nhóm, và chỉ những
thành viên trong nhóm mới có thể ký vào các thông điệp của nhóm. Người quản trị của
nhóm có trách nhiệm thành lập nhóm và trong trường hợp cần thiết phải biết được ai là
người ký vào thông điệp.
Trong quá trình làm đồ án tốt nghiệp, em đã nhận được sự hướng dẫn tận tình của
TS.Lê Phê Đô. Em xin chân thành cảm ơn! Đồng thời, em xin cảm ơn các thày cô giáo bộ
môn Tin học – trường Đại học Dân lập Hải Phòng đã trang bị cho em những kiến thức cơ
bản trong quá trình học tập tại trường.

Định nghĩa : Một hệ mật mã là một bộ năm (P, C, K, E, D) thoả mãn các điều kiện
sau đây:
+ P là một tập hữu hạn các bản rõ.
+ C là một tập hữu hạn các bản mã.
+ K là một tập hữu hạn các khoá.
+ Với mỗi k ∈ K, có một hàm lập mã e
k
∈ E
e
k
: P → C
và một hàm giải mã d
k
∈ D
d
k
: C → P sao cho d
k
( )
(x)e
k
= x với mọi x

P
Trong thực tế, P và C thường là bảng chữ cái (hoặc tập các dãy chữ cái có độ dài
cố định).
1.2.1. Mã cổ điển
Hệ mã cổ điển (hệ mã đối xứng) là hệ mật mã mà khóa mã hóa có thể dễ dàng tìm
được từ khóa giải mã và ngược lại. Trong nhiều trường hợp, khóa mã hóa và khóa giải mã
là giống nhau.

d
k
(y) = (y – k) mod 26
(x, y ∈ Z
26
)
1.2.1.2. Mã thay thế
Định nghĩa Mã thay thế: (P, C, K, E, D)
P = C = Z
26
, K = S (Z
26
) Với mỗi π є K, tức là một hoán vị trên Z
26
, ta xác định
e
π
(x) = π (x)
d
π
(y) = π
-1
(y)
với x, y є Z
26
, π
-1
là nghịch đảo của π
1.2.1.3. Mã Affine
Định nghĩa Mã Affine: (P, C, K, E, D)

m
) ∈ K có:
e
k
(x
1
, x
2
,…, x
m
) = (x
1
+ k
1
, x
2
+ k
2
,…, x
m
+ k
m
)
d
k
(y
1
, y
2
,…, y

với mỗi k ∈ K định nghĩa:
e
k
(x
1
, x
2
,…, x
m
) = (x
1
, x
2
,…, x
m
).k
d
k
(y
1
, y
2
,…, y
m
) = (y
1
, y
2
,…,y
m

( )
m
yyy
111
,,,
21
−−−
πππ
với mỗi k = π ∈ S
m
, ta có
Trong đó π
-1
là hoán vị nghịch đảo của π
1.2.2. Mã khóa công khai
Trong mô hình mật mã cổ điển trước đây mà hiện nay đang được nghiên cứu, A(người
gửi) và B (người nhận) chọn khóa bí mật K. Sau đó dùng K để tạo luật mã hóa e
k
và luật
giải mã d
k
. Trong hệ mật này d
k
hoặc giống e
k
hoặc khác, nếu để lộ e
k
thì làm cho hệ thống
mất an toàn.
Nhược điểm của hệ mật này là nó yêu cầu phải có thông tin trước về khóa K giữa A và

K
(x) = x
b
mod n
và d
K
(y) = y
a
mod n
(x, y ∈ Z
n
) Các giá trị n và b được công khai và các giá trị p, q, a được giữ kín
1.2.2.2. Mã Elgamal
Hệ mật mã ElGamal được T.ElGamal đề xuất năm 1985, dựa vào độ phức tạp của bài
toán tính lôgarit rời rạc, và sau đó đã nhanh chóng được sử dụng rộng rãi không những
trong vấn đề bảo mật truyền tin mà còn trong các vấn đề xác nhận và chữ ký điện tử.
Bài toán logarithm rời rạc trong Z
p
là đối tượng trong nhiều công trình nghiên cứu và
được xem là bài toán khó nếu p được chọn cẩn thận. Cụ thể là không có một thuật toán
thời gian đa thức nào cho bài toán logarithm rời rạc. Để gây khó khăn cho các phương
pháp tấn công đã biết, p phải có ít nhất 150 chữ số và (p – 1) phải có ít nhất một thừa số
nguyên tố lớn. Hệ mật Elgamal là một hệ mật không tất định vì bản mã phụ thuộc vào cả
bản rõ x lẫn giá trị ngẫu nhiên k do G chọn. Bởi vậy sẽ có nhiều bản mã được mã từ cùng
một bản rõ.
Bài toán logarithm rời rạc trong Z
p
:
Đặc trưng của bài toán: I = (p, α, β) trong đó p là số nguyên tố, α ∈
p

p
Z
, C =
*
p
Z
x
*
p
Z
. Ta định
nghĩa: K = {(p, α, a, β): β ≡ α
a
(mod p)}
Các giá trị p, α, β được công khai, còn a giữ kín.
Với K =(p, α, a, β) và một số ngẫu nhiên bí mật k ∈
1−p
Z
, ta xác định:
e
K
(x, k) = (y
1
, y
2
).
Trong đó: y
1
= α
k

Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
Chương II
CHỮ KÍ ĐIỆN TỬ
2.1. Tìm hiểu về chữ ký điện tử ( electronic signature )
2.1.1. Khái quát về chữ ký điện tử ?
Về căn bản, khái niệm chữ ký điện tử (electronic signature) cũng giống như chữ viết
tay. Bạn dùng nó để xác nhận lời hứa hay cam kết của mình và sau đó không thể rút lại
được. Chữ ký điện tử không đòi hỏi phải sử dụng giấy mực.
Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số định
dạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với thiết bị màn hình cảm ứng
tại các quầy tính tiền, chấp nhận các điều khoản người dùng (EULA) khi cài đặt phần
mềm máy tính, ký các hợp đồng điện tử online.
Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán Băm một chiều trên văn bản,
sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. Khi
nhận, văn bản được tách làm 2 phần.
So sánh chữ ký thông thường và chữ ký diện tử
Chữ ký thông thường Chữ ký điện tử
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 đề ký một tài liệu
Chữ ký điện tử 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ý đượ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 không phải là một phương

thuật toán kiểm thử ver
k”
: PxA → {đúng,sai} thoả mãn điều kiện sau đây đối với mọi
thông báo x ∈ P và mọi chữ ký y ∈ A :
ver
k”
(x, y) = đúng ↔ y = sig
k’
(x )
Với sơ đồ trên, mỗi chủ thể sở hữu một bộ khoá K =(K’,K''), công bố công khai khoá
K'' để mọi người có thể kiểm thử chữ ký của mình, và giữ bí mật khoá K’ để thực hiện
chữ ký trên các thông báo mà mình muốn gửi đi. Các hàm ver
k”
và sig
k’
(khi biết K’) phải
tính được một cách dễ dàng (trong thời gian đa thức), tuy nhiên hàm y = sig
k’
(x ) là khó
tính được nếu không biết K’ - điều đó bảo đảm bí mật cho việc ký, cũng tức là bảo đảm
chống giả mạo chữ ký.
Các chữ ký số phải thỏa mãn điều kiện cơ bản sau :
 Không thể giả mạo
 Xác thực
2.1.3. Sơ đồ chữ ký RSA
Sơ đồ chữ ký RSA được cho bởi bộ năm
S = (P , A , K , S , V)
Trong đó : P = A =Z
n
, với n =p.q là tích của hai số nguyên tố lớn p,q

Chú ý rằng tuy hai vấn đề xác nhận và bảo mật theo sơ đồ RSA là có bề ngoài giống
nhau, nhưng nội dung của chúng là hoàn toàn khác nhau: Khi A gửi thông báo x cho B,
- 8 - Lớp CT702
Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
để B có căn cứ xác nhận đó đúng thực là thông báo do A gửi, A phải gửi kèm theo chữ
ký sig
k’
(x), tức là A gửi cho B (x, sig
k’
(x)), trong các thông tin gửi đi đó, thông báo x
hoàn toàn không được giữ bí mật. Cũng tương tự như vậy, nếu dùng sơ đồ mật mã RSA,
khi một chủ thể A nhận được một bản mật mã e
k’
(x) từ B thì A chỉ biết rằng thông báo x
được bảo mật, chứ không có gì để xác nhận x là của B.
Nếu ta muốn hệ truyền tin của ta vừa có tính bảo mật vừa có tính xác nhận, thì ta phải
sử dụng đồng thời hai hệ mật mã và xác nhận (bằng chữ ký). Giả sử trên mạng truyền tin
công cộng, ta có cả hai hệ mật mã khoá công khai S
1
và hệ xác nhận bằng chữ ký S
2
. Giả
sử B có bộ khoá mật mã K = (K', K'') với K' = (n, e) và
K'' = d trong hệ S
1
, và A có bộ khoá chữ ký K
s
= (K’
s

Sơ đồ chữ ký ElGamal được đề xuất năm 1985, gần như đồng thời với sơ đồ hệ mật
mã ElGamal, cũng dựa trên độ khó của bài toán lôgarit rời rạc. Sơ đồ được thiết kế đặc
biệt cho mục đích ký trên các văn bản điện tử, được mô tả như một hệ:
S = (P , A , K , S , V)
Trong đó P = Z
*
p
, A = Z
*
p
x Z
p-1
, với p là một số nguyên tố sao cho bài toán tính
lôgarit rời rạc trong Z
*
p
là rất khó. Tập hợp K gồm các cặp khoá K=(K’,K''), với K’=a là
một số thuộc Z
*
p
, K'' =(p, α , β), α là một phần tử nguyên thuỷ của Z
*
p
, và β=α
a
modp. K’
là khoá bí mật dùng để ký, và K'' là khoá công khai dùng để kiểm thử chữ ký. Các thuật
toán ký và kiểm thử chữ ký được xác định như sau: Với mỗi thông báo x, để tạo chữ ký
trên x ta chọn thêm môt số ngẫu nhiên k ∈ Z
*


. α

mod p
- 9 - Lớp CT702
Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
≡ α
x
mod p,
vì k.δ +a.γ ≡ x mod(p -1). Do đó, ver
k”
(x,(γ , δ)) = đúng.
2.1.5. Sơ đồ chữ ký DSS
Sơ đồ chữ ký DSS được cho bởi bộ năm
S = (P , A , K , S , V)
Trong đó P = Z
*
p
, A = Z
*
q
x Z
*
q
p là một số nguyên tố lớn có độ dài biểu diễn 512 ≤ l
p
≤ 1024 bit (với l là
bội của 64) sao cho bài toán tính logarit rời rạc trong Z
p

:
ver
k”
(x,(γ , δ)) = đúng
↔ (
21
.
ee
βα
modp)modq = γ ,
Trong đó e
1
= x . w
và e
2
= γ. w
với w = δ
-1
mod q
Chú ý rằng ta phải có δ ≠ 0 mod q để có thể tính được δ
-1
mod q dùng trong thuật toán
kiểm thử, vì vậy nếu chọn k mà được δ ≡ 0 mod q thì phải chọn lại số k khác để có được
δ ≠ 0 mod q.
Cũng dễ thấy rằng sơ đồ như trên là đúng. Thực vậy nếu x, γ,δ là đúng thì :
(
21
.
ee
βα

tử
Như vậy ver
k”
(x,(γ ,δ)) = đúng
2.2. Chữ ký không thể chối bỏ
Chữ ký không chối bỏ được công bố bởi Chaum và Van Antverpen vào năm 1989. Nó
có một nét riêng mới lạ và thú vị. Quan trọng nhất trong số đó là chữ ký không thể kiểm tra
khi không có sự cộng tác của người ký, A(giả sử người ký là A).
Một sơ đồ chữ ký không thể chối bỏ có 3 phần:
 Một thuật toán ký
 Một giao thức kiểm thử ( giao thức xác nhận )
 Một giao thức chối bỏ
2.3. Chứng minh không tiết lộ thông tin
 Từ bây giờ chúng ta sẽ coi Peggy là Prover (người chứng minh), còn Victor là
Verifier (người kiểm thử) như nhiều tài liệu Mật mã. Peggy(P) muốn chứng minh
với Victor(V) rằng cô ta biết câu thần chú có thể mở được cánh cửa bí mật tại các
điểm R-S, nhưng cô ta không muốn tiết lộ bí mật đó với Victor.
 Quá trình đến nơi đó diễn ra như sau: Victor đi tới P và đợi đến khi Peggy đi khỏi
R hoặc S. Sau đó Victor di chuyển đến Q và gọi Peggy ra ngoài từ bên trái hoặc
bên phải của đường hầm( kỹ thuật cut and choose). Nếu Peggy không biết câu thần
chú, cô ta chỉ có 50% khả năng ra ngoài từ bên đúng.
Giao thức có thể được lặp lại nhiều lần đến khi Victor tin rằng Peggy đã biết câu
thần chú. Nếu giao thức được lặp lại k lần, xác suất lừa gạt của Peggy là 2
k
. Và nó
không có nghĩa là giao thức đã được lặp bao nhiêu lần. Victor vẫn không biết được
bí mật.
2.3. Vấn đề ký số trên đại diện văn bản
Khái niệm : Việc sử dụng các hệ mật mã và các sơ đồ chữ ký số thường là mã hóa và
ký số trên từng bit của thông tin, thời gian để mã hóa và ký sẽ tỷ lệ thuận với dung lượng

= A(z)
Nếu x
1
≠ x thì x
1
và x va chạm dưới h( thành công)
Ngược lại là thất bại
Hàm Hash có tính chất một chiều: Hàm Hash có tính chất một chiều nếu cho trước
thông điệp rút gọn z thì về mặt tính toán không tìm ra được thông điệp x sao cho :
h(x) = z.
Hàm Hash yếu làm cho chữ ký số trở nên tin cậy giống như việc ký trên toàn thông
điệp.
Hàm Hash mạnh có tác dụng chống lại kẻ giả mạo tạo ra hai bản thông điệp có nội
dung khác nhau, sau đó thu nhận chữ ký hợp pháp cho một bản thông điệp dễ được xác
nhận rồi lấy nó giả mạo làm chữ ký của thông điệp thứ 2.
2.3.1.3. Tính chất của hàm băm
 Hàm băm h phải thỏa mãn tính chất không va chạm yếu .
 Hàm băm h không va chạm mạnh nghĩa là không có khả năng tính toán dễ tìm ra
hai thông điệp x và x

mà x

≠ x và h(x

) = h(x).
 Hàm băm h là hàm một chiều nghĩa là khi cho trước một bản tóm lược thông điệp
z thì không thể thực hiện về mặt tính toán để tìm ra thông điệp ban đầu x sao cho
h(x)= z.
- 12 - Lớp CT702
Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện

Chữ ký nhóm được David Chaum và Van Heyst giới thiệu lần đầu tiên vào năm 1991.
Kể từ đó đến nay đã có nhiều nhà khoa học nghiên cứu và đưa ra một số sơ đồ chữ ký
nhóm khác như sơ đồ chữ ký nhóm của Chen và Pedersen năm 1994, sơ đồ chữ ký nhóm
của Camenisch và Stadler năm 1997.
3.2. Những đặc điểm của chữ ký nhóm
 Chỉ có thành viên trong nhóm mới có thể ký tên vào bản thông báo đó
 Người nhận thông điệp có thể kiểm tra xem chữ ký đó có đúng là của nhóm đó hay
không, nhưng người nhận không thể biết được người nào trong nhóm đã ký vào
thông điệp đó.
 Trong trường hợp cần thiết chữ ký có thể được “mở” (có hoặc là không có sự giúp
đỡ của thành viên trong nhóm) để xác định người nào đã ký vào thông điệp đó
3.2.1. Ta có hệ chữ ký nhóm
Undeniable Signature
MultiSignature ( Đồng ký )
Proxy Signature (chữ ký ủy nhiệm)
3.2.2. Một sơ đồ chữ ký nhóm gồm thành phần cơ bản
 Người quản lý nhóm
 Các thành viên trong nhóm
 Người không thuộc nhóm
3.2.3. Một sơ đồ chữ ký nhóm thường bao gồm 5 thủ tục
 KeyGen → (pk,gmsk). Trong đó pk là khóa công khai của nhóm (dùng để xác
minh chữ ký của nhóm), gmsk là khóa bí mật của nhóm.
 Join : Cho phép một người không phải là thành viên nhóm gia nhập nhóm. Khi gia
nhập nhóm, thành viên i sẽ nhận được khóa bí mật của mình là sk
i
, người quản lý
nhóm sẽ lưu thông tin của thành viên mới này
 Sig : Khi thành viên i muốn ký thông điệp m đại diện cho nhóm, anh ta sẽ sử dụng
thủ tục Sig: Sig(m, sk
i

khóa công khai và đưa cho mỗi thành viên một danh sách các khóa bí mật (các danh sách
này là khác nhau) và công bố một danh sách đầy đủ các khóa công khai tương ứng ( theo
thứ tự ngẫu nhiên ) trong một Trusted Public Directory – TPD
Mỗi thành viên có thể ký một thông điệp bằng một khóa bí mật trong danh sách của
anh ta, và người nhận có thể kiểm tra chữ ký bằng một khóa công khai tương ứng từ danh
sách khóa công khai. Mỗi khóa chỉ được sử dụng một lần, nói cách khác các chữ ký đã
được tạo bằng khóa này được liên kết. Z biết tất cả các danh sách khóa bí mật, vì thế
trong trường hợp cần thiết, Z có thể biết được ai đã tạo ra chữ ký đó. Để làm được điều
này Z phải “mở” chữ ký.
Nếu mỗi người có cùng một số lượng các khóa bí mật, thì chiều dài của khóa công
khai của nhóm là tuyến tính với số thành viên, nhưng số thông điệp của mỗi thành viên ký
là không đổi.
- 15 - Lớp CT702
Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
Một vấn đề đối với sơ đồ này là Z biết tất cả các khóa bí mật của các thành viên và có
thể giả mạo chữ ký. Điều này có thể được giải quyết bằng việc sử dụng các khóa công
khai mù. Lấy g là phần tử sinh của nhóm nhân Z
*
p
với p là một số nguyên tố. Thành viên
thứ I lấy khóa bí mật của mình là s
i
và tính g
i
s
mod p rồi gửi cho Z, Z có một danh sách
các khóa công khai khác nhau này cùng với tên của các thành viên. Mỗi tuần Z đưa cho
thành viên I một số ngẫu nhiên r
i

Z đưa cho thành viên thứ I một khóa bí mật s
i
,là một số nguyên tố lớn ngẫu nhiên thuộc
tập hợp
[ ] [ ]
{ }
12,, −= NN 
φ
, và tính v =

i
s
, và công bố N, v và f. Nếu thành viên I
muốn ký thông điệp m, chữ ký của anh ta sẽ là
( )( )
i
s
mf
mod N.
Z phải chứng minh cho người nhận rằng s
i
là ước của v, và s
i

φ
mà không để lộ bất
kì thông tin nào về s
i
. Trong trường hợp có xảy ra tranh cãi sau đó, người nhận có thể sử
dụng giao thức xác nhận hoặc giao thức chống chối bỏ yêu cầu bên gửi phải chứng minh

3. P gửi lại cho V trong trường hợp
b = 0:r và mở các blob
b = 1:
z
~
là (c + r) hoặc (c + r - β) và tương ứng z
1
hoặc z
2
(gọi là
z
~
)
4. V kiểm tra trong trường hợp :
b = 0 : kiểm tra r ∈ ( 0, …, β) và các blob của x
r
và x
r-
β
theo thứ tự nào đó
b = 1 : kiểm tra
r
~
∈ Ω và một trong các blob chứa
z
~

z
~
thỏa mãn

p
mod
mod
và h ≡



qh
pl
q
mod
mod
sử dụng CRT
Để tính B(y) thì P chọn r
1
, r
2
∈ (1, …, N) và tính
B(y) = y
21
rr
hg
mod N
Trong giao thức này, chúng ta tạo một giao thức xác nhận, vì P muốn chứng minh
cho người nhận V rằng P đưa cho một V chữ ký có giá trị S. Trường hợp này được giải
quyết như sau :
- 17 - Lớp CT702
Khóa bí mật của P : s
Công khai : N, m, S, Ω; m, s ∈ Z
*

N
(cách tính
hg,
như sau: chọn các số
nguyên a
1
,

a
2
, b
1
, b
2
thỏa mãn gcd(a
1
, b
1
, p-1) = gcd (a
2
, b
2
, q-1) = 1 và công khai
- 18 - Lớp CT702
Khóa bí mật của P : s
Công khai : N, m, S, Ω; m, s ∈ Z
*
N
, Ω =
[ ] [ ]

,
~
bbaa
hghhgg ≡≡
với g, h là các phần tử sinh của Z
p
*
và Z
*
q
), cùng đó là một thư mục
công khai tin cậy chứa ( tên thành viên,
ss
hg
~
,
~
). Lấy l là một hằng số rất nhỏ để việc tìm
kiếm toàn diện trên (0, …, 1) là khả thi. Chú ý rằng nếu S ≡ m
s
, thì p không thể tính a từ
( )
a
s
Sm /
, vì khi đó
( )
a
s
Sm /

x
gSc =
mod N, sau đó gửi
cho P
Bước 2 : P tính
( )
1−
=
s
cd
mod N, gửi d cho V
Bước 3 : V thử điều kiện
d

21
~
xx
gm
mod N. Nếu đúng thì tiếp tục bước 4. Nếu sai thì
chữ ký đúng là của P
- 19 - Lớp CT702
P V2
~
~
r
a
hgm

, r
2
Mở blob Kiểm tra blob
Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
Bước 4 : V chọn ngẫu nhiên 2 số nguyên tố x

1
, x

2
∈ Ф tính
( )
2
'
1
'
~
'
x
sx
gSc =
mod N, sau
đó gửi c

cho P .
Bước 5 : P tính
( )
1
''

x
x
x
x
gdgd
−−

mod N ? Nếu đồng dư thức đùng thì kết luận chữ
ký không phải là của P.
Ví dụ :
Một ví dụ về sơ đồ chữ ký nhóm dừa trên hệ mật mã RSA
 Thành lập một nhóm có 5 thành viên, quá trình cài đặt nhóm do người quản
lý nhóm thực hiện như sau :
Z chọn p = 101, q = 113, N = pq = 11413, ϕ(N) = (p-1)(q-1) = 11200, Z
chọn khóa bí mật của Z là S
z
= 149, g
p
= 3, h
q
= 2 là các phần tử sinh của Z
*
p
và Z
*
q
. Chọn a
1
= 3, a
2

(không theo thư tự ): 5443, 2577, 3187, 8769, 10873. Các khóa công khai
này sẽ được người nhận thông điệp dùng để xác minh có đúng hay không.
Khóa công khai của nhóm là N = 11413
v =

iz
ss
=3916191121461
 Ký văn bản : ký văn bản m = 1234 thì
Chữ ký của từng thành viên lần lượt là : 278, 6093, 6541, 6528, 8331
 Xác nhận chữ ký ( sử dụng giao thức 1)
Thành viên 1 muốn xác nhận chữ ký S = 278 đúng là của anh ta ( gọi là P )
trên văn bản m = 1234 với người xác nhận ( gọi là V ) thì anh ta thực hiện
giao thức xác nhận ( giao thức 1)
Bước 1 : P chọn β = 57, chọn r = 23.
Tính z
1
= 1234
23
mod 11413 = 4016, z
2
= 1234
23-57
= mod 11413 =
(1234
-1
)
34
mod 11413 = 9517
34

1
= 5,r
2
= 7, z
1
= 4016, z
2
= 2429
Nếu b = 1 thì
r
= 107 + 23 = 130,
z
= 4016
Bước 4 : V xác định
Nếu b = 0 thì r ∈ (0, …, β) và kiểm tra z
1
= 4016, z
2
= 3418 sau đó
kiểm tra B(4016) = 8712 và B(3418) = 5505 theo thứ tự nào đó mà P
đã gửi ở bước 1. Nếu kiểm tra thỏa mãn thì chữ ký là đúng .
Nếu b = 1 thì kiểm tra 1234
130
≡ 4016.278 (mod 11413)

9387 ≡
9387. do đó chữ ký là đúng.
 Chối bỏ chữ ký ( sử dụng giao thức 4). Giả sử thành viên thứ 1 ký thông
điệp m = 1234, chữ ký S = 278, thành viên thứ 3 muốn chứng minh rằng đó
không phải là chữ ký của anh ta. Khi đó người quản lý nhóm công bố : N =

5172 ≡ 4285
Bước 4 : V tính c’ = 278
4
.4528
6
(mod N) = 1236 rồi gửi c’ cho P
Bước 5 : P tính d’ = 1236
3187
(mod N) = 6038 rồi gửi cho V
Bước 6 : V thử 6038 ≡ 1234
4
1299
6
(mod 11413)?

6038 ≡ 694
Bước 7 : V kiểm tra
( )
( )
( )
( )





=
=



- 21 - Lớp CT702
Báo cáo tóm tắt Tìm hiểu về Chữ ký nhóm và ứng dụng trong giao dịch điện
tử
q
i
> 4
M
(đối với mọi i). nếu thành viên i muốn ký thông điệp m, anh ta chọn ngẫu nhiên
một bộ
Γ
người ( bao gồm cả anh ta ), chữ ký của anh ta sẽ là :
( )( )
i
p
mf,Γ
mod N
Và anh ta sẽ phải đưa ra một chứng cớ không tiết lộ thông tin rằng sử dụng thừa số p
i
∈ Ф và p
i
là một ước số của modulo RSA của các người trong
Γ
. Điều này có thể được
giải quyết bằng Giao thức 2 ( với Ω = Ф). Nếu một thành viên muốn chối bỏ một chữ ký,
anh ta có thể sử dụng Giao thức 3.
3.3.3.1. Vấn đề “ mở ” chữ ký
Trong trường hợp cần thiết, người quản lý nhóm có thể xác định một chữ ký là do
thành viên nào trong nhóm ký bằng cách thực hiện giao thức chối bỏ với từng thành viên
trong nhóm.
Bởi vì chữ ký, mà mỗi thành viên ký là một chữ ký không thể chối bỏ, do đó nếu sử

α
α
=
Là một nhóm
( )
l
sssc ,,,,
21

{ }
l
m
l
Zx1,0
thỏa mãn :
( )
ll
PPPagymHc ,,,,,,,
21
=
Trong đó
( )
[ ]
( )
[ ]






sssc ,,,,
21

{ }
l
m
l
Zx1,0
thỏa mãn :
( )
ll
PPPagymHc ,,,,,,,
21
=
Trong đó
( )
[ ]
( )
[ ]





≠↔
=↔
=
0
0
icy

càng lớn thì hệ thống càng an toàn

Join : A muốn tham gia vào nhóm thì phải thực hiện các bước sau:

Lấy một khóa bí mật
{ }
12 ,,1,0 −∈
λ
x

Tính y = a
x
(mod n)

Tính khóa thành viên z = g
y
, A sẽ sử dụng khóa bí mật của mình để ký z.

Để có được chứng nhận thành viên của nhóm, A gửi (y, z) cho người quản
lý nhóm, anh ta sẽ cấp cho A chứng nhận thành viên : v≡(y+1)
d
(mod n)

Sign : Để ký một thông điệp m, A làm theo các bước sau :

r
gg =
~
với r ∈ Z
n

Chữ ký trên thông điệp m gồm s =
( )
21
,,
~
,
~
VVzg

Verify : Để xác thực chữ ký s đúng là chữ ký trên m ta phải làm các bước sau :

Kiểm tra V
1
thỏa mãn
1
~~
~
+
=
α
a
ggz
hay không

Kiểm tra V
2
là chữ ký dựa trên hàm logarit rời rạc của phần tử gốc thứ e.

Open : Với chữ ký s =
( )

Giao dịch điện tử là giao dịch được thực hiện thông qua các phương tiện điện tử và
cũng có giá trị pháp lý như nó được ghi chép, hoặc mô tả bằng văn bản theo phương pháp
truyền thống. Có thể coi văn bản pháp lý đầu tiên ở Việt Nam về giao dịch điện tử là
quyết định của Thủ tướng Chính phủ số 44, năm 2002 về chấp nhận chữ ký điện tử trong
thanh toán liên ngân hàng. Ngày 28/10/2005, kỳ họp thứ 8 Quốc hội Khóa XI đã thảo
luận về Dự thảo Luật Giao dịch điện tử. Tham gia phiên thảo luận, Bộ trưởng Bộ Bưu
chính Viễn thông Đỗ Trung Tá đã phát biểu ý kiến về nội dung quan trọng trong Dự thảo
Luật Giao dịch điện tử “Chính phủ quy định cụ thể về việc thừa nhận chữ ký điện tử và
chứng thư điện tử nước ngoài”. 4.2. Thẻ thanh toán điện tử
Chữ ký nhóm có rất nhiều ứng dụng trong thực tế như: Bỏ phiếu điện tử, thanh toán
điện tử.
Hiện nay các loại thẻ thanh toán điện tử, thẻ rút tiền tự động ATM (automated teller
machine) đã trở thành phổ biến trên thế giới và cũng đang rất phát triển tại Việt Nam. Tuy
nhiên nếu mỗi ngân hàng đều phát hành một loại thẻ riêng thì chi phí bỏ ra sẽ rất cao, và
người tiêu dùng khi muốn thanh toán hoặc rút tiền sẽ phải tìm đến đúng điểm (pos) cho
phép của ngân hàng đó mới có thể thực hiện giao dịch. Điều này sẽ gây cản trở trong việc
phát triển các hệ thống thanh toán trực tuyến, rút tiền tự động…
Chính vì thế mà việc đòi hỏi có một loại thẻ chung giữa các ngân hàng, và các máy
kiểm tra thẻ, máy rút tiền tự động có thể thực hiện giao dịch đối với thẻ của các ngân
hàng. Chữ ký nhóm sẽ được ứng dụng trong trường hợp này.
Một liên minh ngân hàng (hay một nhóm các ngân hàng) trong đó mỗi ngân hàng là
một thành viên trong nhóm đó với người quản lý nhóm là một ngân hàng trung tâm ( phải
là ngân hàng có rất uy tín và thường là ngân hàng trung ương ).
Ngân hàng trung tâm sẽ tạo ra các khóa bí mật và khóa công khai của nhóm, tạo các
khóa bí mật cho các ngân hàng thành viên. Khi đó các ngân hàng sẽ tạo trên thẻ thanh
toán do ngân hàng mình phát hành dựa trên khóa bí mật của mình. Khi một người tiêu
dùng có thẻ của liên minh ngân hàng đó, anh ta có thể thanh toán, rút tiền,…tại các địa
điểm hỗ trợ của liên minh ngân hàng. Các máy kiểm tra thẻ sẽ kiểm tra chữ ký của ngân
hàng phát hành trên thẻ đó, xem thẻ có hợp lệ hay không, và sẽ đưa ra quyết định thực
hiện giao dịch.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status