- Năm 1989: D. Chaum và H. van Antwerpen: Lƣợc đồ chữ ký chống chối bỏ.
- Năm 1990: + J. Boyar, D. Chaum, I. B. Damgard và T.P. Pedersen: Lƣợc đồ chữ
ký chống chối bỏ có thể chuyển đổi.
+ D. Chaum : Lƣợc đồ chữ ký chống chối bỏ Zero-knowledge
- Năm 1991: D. Chaum, E. van Heijst và B. Pfitzmann: Lƣợc đồ chữ ký số chống
chối bỏ mạnh đảm bảo an ninh vô điều kiện với ngƣời ký.
+ Y. Desmedt và M. Yung: Các điểm yếu của lƣợc đồ chữ ký số chống chối bỏ.
+ A. Fujioka, T.Okamoto và K. Okta: Lƣợc đồ chữ ký số chống chối bỏ và hệ thống chứng minh hai chiều tƣơng tác.
+ T.P. Pedersen: Những ngƣời chứng minh phân tán và việc ứng dụng cho chữ ký chống chối bỏ.
- Năm 1992: L. Harn và S. Yang. Lƣợc đồ chữ ký số chống chối bỏ hƣớng nhóm
mà không cần sự hỗ trợ của một thực thể tin cậy trung gian.
- Năm 1994: + D. Chaum: Lƣợc đồ chữ ký với ngƣời xác thực đƣợc chỉ định.
+ M. Jakobsson: Tống tiền sử dụng chữ ký số chống chối bỏ.
+ T. Okamoto: Lƣợc đồ chữ ký với ngƣời xác thực đƣợc chỉ định và hệ mã hoá khoá công khai là tƣơng đƣơng.
- Năm 1996: + I. Damgard và T. Pedersen: Lƣợc đồ chữ ký chống chối bỏ có thể
chuyển đổi mới.
+ M. Jakobsson, K. Sako và R. Impagliazzo: Chứng minh ngƣời thẩm định đƣợc chỉ định và ứng dụng.
+ C.-H. Lin, C.-T. Wang và C.-C. Chang: Lƣợc đồ chữ ký chống chối bỏ hƣớng nhóm (t, n) không có trung gian tin cậy.
+ M. Michels, H. Petersen và P. Horster: Khả năng phá vỡ và đề xuất sửa đổi lƣợc đồ chữ ký chống chối bỏ có thể chuyển đổi..
+ K. Sakurai và Y. Yamane: Chữ ký chống chối bỏ mù, giải mã mù và ứng dụng trong việc bảo vệ tính riêng tƣ.
- Năm 1997: + R. Gennaro, H. Krawczyk và T. Rabin: Chữ ký số chống chối bỏ
dựa trên RSA.
+ M. Michels và M. Stadler: Lƣợc đồ chữ ký số chống chối bỏ có khả năng chuyển đổi hiệu quả .
- Năm 1998: C. Boyd và E. Foo: Giao thức trả tiền Off-line sử dụng chữ ký số chống chối bỏ.
- Năm 1999: + N.-Y. Lee và T. Hwang: Lƣợc đồ chữ ký số chống chối bỏ hƣớng nhóm sử dụng một trung tâm tin cậy.
+ K. Nguyen, Y. Mu và V. Varadharajan: Chữ ký ngƣời xác thực chống chối bỏ.
- Năm 2000: + J. Camenisch, và M. Michels. Tăng cƣờng an ninh cho lƣợc đồ chữ
ký ngƣời xác thực chống lại kẻ thù có thể tuỳ biến.
+ T. Miyazaki: Nghiên cứu về lƣợc đồ cải tiến chữ ký chống chối bỏ Gennaro-Krawczyk-Rabin dựa trên RSA .
+ Y. Mu và V. Varadharajan: Chữ ký ngƣời thẩm định Fail-Stop.
- Năm 2001: + Lee Jongkook, Ryu Shiryong, Kim Jeungseop và Yoo Keeyoung:
Lƣợc đồ chữ ký số chống chối bỏ mới sử dụng thẻ thông minh.
+ G. Wang, S. Qing, M. Wang và Z. Zhou: Lƣợc đồ chữ ký số RSA chống chối bỏ ngƣỡng.
- Năm 2002: + Y.-D. Lyuu, and M.-L. Wu: Lƣợc đồ chữ ký số chống chối bỏ nhóm
có thể chuyển đổi.
+ S.D. Galbraith, W. Mao và K.G. Paterson: Chữ ký chống chối bỏ dựa trên RSA cho các Modulo chung.
- Năm 2003: + Steven D. Galbraith and Wenbo Mao: Nghiên cứu về tính vô danh,
tính vô hình của chữ ký ngƣời thẩm định và chống chối bỏ.
+ Shahrokh Saeednia, Steve Kremer và Olivier Markowitch: Lƣợc đồ chữ ký ngƣời thẩm định đƣợc chỉ định mạnh, hiệu quả.
- Năm 2004: + Beno Libert và Jean-Jacques Quisquater: Chữ ký số chống chối bỏ dựa trên định danh.
+ Shafi Goldwasser, Erez Waisbard: Việc chuyển đổi từ lƣợc đồ chữ ký số sang chữ ký ngƣời xác thực đƣợc chỉ định.
+ Fabien Laguillaumie, Damien Vergnaud: Chữ ký nhiều ngƣời thẩm định đƣợc chỉ định.
+ Jean Monnerat và Serge Vaudenay: Chữ ký chống chối bỏ dựa trên ký tự.
+ Jean Monnerat và Serge Vaudenay: Chữ ký chống chối bỏ đồng hình tổng quát.
+ Ron Steinfeld, Huaxiong Wang, Josef Pieprzyk: Nâng cao hiệu quả của chữ ký Schnorr/RSA chuẩn trong lƣợc đồ chữ ký ngƣời thẩm định đƣợc chỉ định tổng thể.
- Năm 2005: + Joonsang Baek, Reihaneh Safavi-Naini và Willy Susilo: Chứng
minh chữ ký ngƣời thẩm định đƣợc chỉ định tổng thể.
+ Craig Gentry, David Molnar, Zulfikar Ramzan: chữ ký ngƣời xác thực đƣợc chỉ định hiệu quả không cần mô hình tiên tri ngẫu nhiên hoặc chứng minh giao thức Zero-Knowledge tổng quát.
+ Kaoru Kurosawa, Swee-Huay Heng: Chữ ký chống chối bỏ 3-Move. + Fabien Laguillaumie, Damien Vergnaud: Chữ ký chống chối bỏ có thể chuyển đổi với thời gian đƣợc lựa chọn.
+Fabien Laguillaumie, Pascal Paillier và Damien Vergnaud: Chữ ký số trực tiếp có thể chuyển đổi tổng thể.
+ Wakaha Ogata, Kaoru Kurosawa và Swee-Huay Heng: Độ an toàn của biến thể FHD của lƣợc đồ chữ ký số chống chối bỏ Chaum‟s .
+ Guilin Wang: Lƣợc đồ ký uỷ nhiệm ngƣời thẩm định đƣợc chỉ định. + Rui Zhang II, Jun Furukawa, Hideki Imai: Chữ ký ngƣời thẩm định đƣợc chỉ định tổng thể và chữ ký ngắn không cần mô hình tiên tri ngẫu nhiên.
- Năm 2006: + Kaoru Kurosawa và Swee-Huay Hen: Nghiên cứu về những vấn đề
liên quan đến an ninh của lƣợc đồ chữ ký số chống chối bỏ.
+ Xinyi Huang, Willy Susilo, Yi Mu, Futai Zhang: Lƣợc đồ chữ ký ngƣời thẩm định đƣợc chỉ định mạnh ngắn (dựa trên định danh).
+ Kaoru Kurosawa và Tsuyoshi Takagi: Cách tiếp cận mới về việc lựa chọn lƣợc đồ chữ ký số có thể chuyển đổi.
+ Fabien Laguillaumie, Beno Libert, Jean-Jacques Quisquater: Chữ ký ngƣời thẩm định đƣợc chỉ định tổng thể không có mô hình tiên tri ngẫu nhiên.
+ Jean Monnerat và Serge Vaudenay: Chữ ký chống chối bỏ ngắn 2 . 4.3 LƢỢC ĐỒ CHỮ KÝ CHỐNG CHỐI BỎ
4.3.1 Lƣợc đồ chữ ký Chaum-van Antverpen [3]
Lƣợc đồ chữ ký chống chối bỏ đầu tiên đƣợc Chaum và van Antverpen đề xuất năm 1989.
Chọn một số nguyên tố dạng Sophie Germain p =2q +1, trong đó q cũng là số nguyên tố; chọn α Є Z*p là một phần tử cấp q. Gọi G là nhóm con (theo phép nhân) cấp q sinh bởi của Z*p.
Lƣợc đồ chữ ký Chaum - van Antverpen của A gồm có: = =G, cặp khoá k =(k‟,k'') gồm có khoá bí mật k‟ = a p -1 và khoá công khai k'' = (p,, ) với =
a
mod p.
Thuật toán ký: A ký trên văn bản x =G với chữ ký y = sigk‟ (x) = xa mod p.
Giao thức kiểm thử: Với văn bản x và chữ ký y ngƣời nhận B cùng ngƣời ký A thực hiện giao thức kiểm thử sau đây:
1 - B chọn ngẫu nhiên hai số e1, e2 Z*q, tính c = ye1.βe2
mod p và gửi c cho A
2 - A tính
1
a d c modq
mod p và gửi d cho B.
3 - B chấp nhận y là chữ ký của A trên x nếu d = xe1.αe2 mod p . Giao thức chối bỏ: gồm các bƣớc sau đây
1 - B chọn ngẫu nhiên 2 số e1, e2Z*q tính c = ye1.βe2
mod p và gửi c cho A,
2 - A tính
1
a
d c modq
mod p và gửi d cho B, 3 - B thử điều kiện d ? xe1.αe2 mod p.
4 - B chọn tiếp hai số f1, f2 Z*q tính C = yf1.βf2
mod p và gửi C cho A, 5 – A tính
1mod
a
DC q
mod p và gửi D cho B, 6 - B thử điều kiện D ? xf1.αf2 mod p.
7 - B kết luận y là chữ ký giả mạo, nếu (dα-e2
)f1 ≡ (Dα-f2
)e1 (mod p).
4.3.2 Tính hợp thức của các giao thức
Ta sẽ chứng minh hai định lý sau đây để chứng tỏ tính hợp thức của các giao thức kiểm thử và chối bỏ của lƣợc đồ chữ ký Chaum-van Antverpen.
Định lý 4.1:
a) Nếu y đúng là chữ ký của A trên x, tức y ≡xa
mod p, thì việc B chấp nhận y là chữ ký của A trên x theo giao thức kiểm thử là đúng.
b) Nếu y ≢ xa(mod p), tức y không phải là chữ ký của A trên x, thì việc B, theo giao thức kiểm thử, chấp nhận y là chữ ký của A trên x, có thể xẩy ra với xác suất 1/q.
Chứng minh:
a) Giả sử y ≡ xa mod p. Khi đó, ya-1≡ x (mod p) (các số mũ đều đƣợc tính theo mod q). Ta cũng có βa-1 ≡ α (mod p) Do đó, 1 1 1 1 2 1 2 e a e a e e a d c y x (mod p),
và theo giao thức kiểm thử, B chấp nhận y là chữ ký của A trên x, việc chấp nhận đó là đúng.
b) Bây giờ giả thử y ≢ xa (mod p). Trƣớc hết ta chú ý rằng mỗi lời mời hỏi c tƣơng ứng với đúng q cặp (e1, e2), vì y và là các phần tử của nhóm nhân G cấp q. Khi A nhận đƣợc câu hỏi c , A không có cách gì để biết là B đã dùng cặp (e1, e2) nào trong q cặp có thể đó. Ta chứng minh rằng, do y ≢ xa (mod p), nên trong q cặp đó chỉ có đúng một cặp thoả mãn đồng dƣ thức d ≡ xe1
αe2 (mod p). Thực vậy, ta có thể đặt c = αi
, d = αj , x = αk , y = αl (với i, j, k, l Zq ), vì là phần tử sinh của G, và hai đồng dƣ thức c ≡ ye1
βe2 (mod p) và d ≡ xe1αe2
(mod p) tƣơng đƣơng với hai phƣơng trình 1 2 1 2 ( ( i le ae e e q j k q . mod ) mod )
Từ giả thiết y ≢ xa (mod p) suy ra l – ak ≢ 0 (mod q), tức định thức của hệ phƣơng trình nói trên (với các ẩn số e1, e2) là ? 0 (mod q). Nhƣ vậy, mỗi d G là câu trả lời đúng (theo giao thức kiểm thử) chỉ với một cặp (e1, e2) trong q cặp có thể. Vì vậy, nếu y ≢ xa (mod p) , thì xác suất để B chấp nhận y là chữ ký của A trên
x (theo giao thức) là bằng 1/q. Định lý đƣợc chứng minh. Đối với giao thức chối bỏ, ta có định lý sau đây :
a) Nếu y ≢ xa (mod p), và cả A, B đều tuân theo giao thức chối bỏ, thì (dα- e2
)f1 ≡ (Dα-f2)e1 (mod p), tức giao thức cho kết quả chính xác. b) Nếu y ≡ xa
mod p, A và B đều tuân theo giao thức, và có d ≢ xe1αe2 (mod p)
D ≢ xf1αf2 (mod p). Khi đó, đồng dƣ thức (dα-e2
)f1 ≡ (Dα-f2)e1 (mod p) đúng với xác suất 1/q , tức nếu y đúng là chữ ký của A trên x, thì theo giao thức, B có thể kết luận rằng nó là giả mạo (một cách sai lầm) với xác suất 1/q.
Chứng minh. a) Giả thử y ≢ xa (mod p), và A,B cùng thực hiện giao thức chối bỏ. Do y không là chữ ký của A trên x nên B sẽ kiểm thử đúng các bất đồng dƣ thức trong các bƣớc 3 và 6 của giao thức. Vì β ≡ αa
(mod p), nên ta có 1 2 1 1 2 2 1 (de )f ((yee )ae )f (mod p) 1 1 1 1 2 1 2 1 a e f e a f e f y (mod p) 1 1 1 e a f y (mod p). Tƣơng tự, ta cũng có 1 2 1 1 1 (Df )e ye a f (mod p).
Nhƣ vậy, đồng dƣ thức ở điểm 7 của giao thức đƣợc nghiệm đúng, và kết luận y là chữ ký giả mạo của A trên x là chính xác, không thể bác bỏ đƣợc.
b) Bây giờ giả thiết y ≡ xa
(mod p), và A, B cùng thực hiện giao thức chối bỏ. Đặt x0= d1/e1α-e2/e1
mod p , ta có
x0 = da/e1α-ae2/e1
≢ (xe1 αe2
)a/e1 α-ae2/e1 ≡ xa ≡ y (mod p)
Theo điểm b) trong định lý 4.2, B có thể chấp nhận y là chữ ký của A trên x0, tức là có đồng dƣ thức
D ≡ x0f1 αf2 (mod p),
với xác suất 1/q. Nhƣng đồng dƣ thức đó tƣơng đƣơng với đồng dƣ thức
(dα-e2
)f1 ≡ (Dα-f2)e1(mod p),
tức đồng dƣ thức này cũng có thể xẩy ra với xác suất 1/q. Định lý đƣợc chứng minh. Ta chú ý rằng trong giao thức chối bỏ, cặp (e1, e2) đƣợc sử dụng để tạo ra x0
với x0
a ≢ y (mod p); còn cặp (f1, f2) đƣợc dùng để kiểm thử xem y có là chữ ký của A trên x0 hay không.
Trong thực tế ứng dụng, để bảo đảm tính an toàn, ta phải dùng các số p, q rất lớn, chẳng hạn phải là các số có biểu diễn nhị phân cỡ 512 bit, khi đó ta có q 2510, tức là 1/q 2-510, một xác suất rất bé, có thể bỏ qua; và vì vậy, các yêu cầu đối với các giao thức kiểm thử và giao thức chối bỏ nhƣ đề cập đến nhƣ trên có thể xem là đƣợc thoả mãn.
Năm 1991, Y. Desmedt và M. Yung đã chỉ ra một số điểm yếu của lƣợc đồ chữ ký chống chối bỏ ban đầu [29] (của D. Chaum và H.van Antwerpen), Những điểm yếu này tập trung khai thác giao thức thẩm định chữ ký trong đó có sự kết hợp giữa ngƣời ký và ngƣời thẩm định.
4.4 MỘT SỐ BIẾN THỂ CỦA LƢỢC ĐỒ CHỮ KÝ CHỐNG CHỐI BỎ
4.4.1 Chữ ký chống chối bỏ Zero-Knowledge
4.4.1.1 Giao thức Zero-Knowledge [8]
Zero-knowledge là giao thức dùng để chứng minh một phát biểu là đúng nhƣng không tiết lộ bất kì thông tin gì ngoài tính chân thực của phát biểu. Khái niệm này đầu tiên đƣợc Shafi Goldwasser đề cập đến năm 1985. Sau đó, Blum, Feldman và Micali đƣa ra khái niệm tƣơng tự là Non-interactive Zero-knowledge proof với ý nghĩa rằng một chuỗi ngẫu nhiên đƣợc chia sẻ giữa ngƣời chứng minh và ngƣời xác nhận đủ cho các tính zero-knowledge mà không cần tƣơng tác trực tiếp giữa hai ngƣời. Tính chất của Zero-knowledge phải thỏa 3 điều kiện sau:
– Completeness: Nếu phát biểu là đúng, ngƣời xác nhận chân thật sẽ bị thuyết phục.
– Soundness: Nếu phát biểu là sai, không có ngƣời chứng minh nào có thể thuyết phục ngƣời xác nhận đƣợc, ngoại trừ một xác suất rất nhỏ.
– Zero-knowledge: Nếu phát biểu là đúng, không có ngƣời xác nhận nào có thể lấy đƣợc thông tin về sự thật.
Ví dụ, bài toán tìm logarit rời rạc: Cho G là nhóm nhân hữu hạn N phần tử; b là một phần tử cố định trong G; y là một phần tử trong G. Alice đã tìm ra cách giải phƣơng trình bx
= y để tìm đƣợc x và muốn thuyết phục Bob về điều này mà không muốn tiết lộ cách giải (đƣợc biết N, y, b). Alice tiến hành nhƣ sau:
Bƣớc 1: Alice chọn một số ngẫu nhiên e < N và gửi cho Bob b‟ = be.
Bƣớc 2: Bob tung đồng xu lên: Nếu sấp thì Alice phải tiết lộ e, Bob sẽ kiểm tra có đúng b‟ = be
? Nếu ngửa thì Alice phải tiết lộ thặng dƣ của x + e mod N, Bob sẽ kiểm tra có đúng yb‟ = bx+e
?
Giải thích: Các bƣớc trên thực hiện theo giao thức Zero-knowledge vì:
- Completeness: Nếu Alice biết x thì luôn đƣa ra câu trả lời đúng dù giao thức có đƣợc thực hiện nhiều lần.
- Soundness: Nếu Alice không biết giá trị x thì không thể trả lời đƣợc khi đồng xu ngửa. Để có thể đánh khi đồng xu ngửa, Alice sẽ chọn b‟ = be
/y và chọn x + e mod N = e (tức x =0), thì Alice không thể qua mặt Bob khi đồng tiền sấp (vì b‟ = be/y ≠ be). Xác xuất để lừa là hoặc Bob luôn giao đồng xu sấp (hoặc ngửa) với xác xuất sau m lần thực hiện là 2-m.
- Zero-knowledge: Nếu Cindy biết trƣớc đồng xu sẽ xuất hiện mặt nào, Cindy có thể vƣợt qua các kiểm tra của Alice mà không biết giá trị x.
4.4.1.2 Chữ ký chống chối bỏ Zero-Knowledge [11] a. Chọn các thông số
Ngƣời ký chọn số nguyên tố p (sao cho q = 2p+1, q cũng là số nguyên tố), là một phần tử nguyên thuỷ của nhóm con Gq của Z*p cấp q. Ngƣời ký A có khoá bí mật x và khoá công khai tƣơng ứng là αx . Thông điệp m (m ≠ 1) đƣợc A ký sẽ cho ra chữ ký z: z = mx.
b. Giao thức xác thực
Ngƣời thẩm định B khi nhận đƣợc z, nếu muốn kiểm tra tính hợp lệ của chữ ký thì sử dụng giao thức sau:
Bƣớc chuẩn bị: Ngƣời ký sinh số nguyên tố q; ngƣời thẩm định sinh hai số a,
b là phần tử ngẫu nhiên của nhóm.
Bƣớc 1: Ngƣời thẩm định B tính ma αb và gửi cho ngƣời ký A