Lược đồ KV, viết tắt của hai tác giả D. Kugler và H. Vogt, dựa trên sơđồ chữ ký mù của Schnorr và sơđồ chữ ký không thể chối bỏ của Chaum. Đặc tính mù được dùng đểẩn danh người dùng, đặc tính không thể chối bỏ dùng để truy vết đồng tiền
điện tử.
1/. Chuẩn bị
+ Chọn p và q là hai số nguyên tố lớn sao cho q là ước của (p-1). + g1, g2, g3∈Zp* là các phần tử cấp q.
+ (s1, s2) ngẫu nhiên ∈ Zq là khóa bí mật của ngân hàng cho chữ ký mù.
+ v = g1s1 g2s2 mod p là thành phần chính trong khóa công khai của ngân hàng cho chữ ký mù. Như vậy, khóa công khai là bộ 5 số (p, q, g1, g2, v).
+ x ngẫu nhiên ∈ Zq là khóa bí mật của ngân hàng cho chữ ký không thể chối bỏ. + y = g3x mod p là khóa công khai của ngân hàng cho chữ ký không thể chối bỏ.
2/. Giao thức rút tiền. + Ngân hàng Chọn r ngẫu nhiên ∈ Zq* Tính: α = g2r mod p Tính chữ ký không thể chối bỏω = αx mod p Gửi α và ω cho Alice. + Alice làm α mù và ω Với mỗi đồng tiền, Alice chọn δ ngẫu nhiên ∈ Zq* và tính: α’ = αδ mod p , ω’ = ωδ = (αx)δ = (α’)δ mod p + Ngân hàng chọn (k1, k2 ) ∈ Zq ngẫu nhiên. Tính t = g1k1αk2 mod p gửi cho Alice.
+ Alice chọn (β1, β2, γ) ngẫu nhiên và tính
t’ = tg1β1(α’)β2 νγmod p (ν là khóa công khai của Ngân hàng) c’ = H(m, α’, t’)
+ Ngân hàng tính:
S1 = k1 – cs1 mod q
S2 = k2 – cs2r-1 mod q thỏa mãn: t = g1s1 αs2 νc mod p
Ngân hàng gửi S1, S2, t cho Alice.
+ Alice tính
S’1 = S1 + β1 mod q S’2 = S2 + β2 mod q
Các thông tin trên đồng tiền gồm (m, t’, S’1, S’2, α’, ω’ ). + Kiểm tra chữ ký
Khách hàng Ngân hàng Với mỗi đồng tiền. α’ = αδ mod p ω’ = ωδ = (αx)δ = (α’)δ mod p (β1, β2, γ) ∈ Zqngẫu nhiên t’ = tg1β1(α’)β2 νγmod p c’ = H(m, α’, t’) c = c’ – γ mod q. S’1 = S1 + β1 mod q S’2 = S2 + β2 mod q t’ = g1S’1 (α’)S’2νc’ mod p Đồng tiền (m, t’, S’1, S’2, α’, ω’ ) α , ω t c S1, S2 Với mỗi lần rút tiền; r ngẫu nhiên ∈ Zq* α = g2r mod p ω = αx mod p (k1, k2 ) ∈ Zq ngẫu nhiên. Tính t = g1k1αk2 mod p S1 = k1 – cs1 mod q S2 = k2 – cs2r-1 mod q thỏa mãn: t = g1s1αs2 νc mod p Hình 9 : Tóm tắt lược đồ KV
3/. Phân tích lược đồ KV. Khả năng truy vết:
Nếu Ngân hàng quyết định phát hành các đồng tiền được đánh dấu, đơn giản là ngân hàng chỉ cần chọn và lưu một khóa ký không thể chối bỏ ngẫu nhiên bằng cách dùng xMthay vì x để tính ω = αxM mod p, xMđược gọi là khóa đánh dấu. Trường hợp này có thể xảy ra theo yêu cầu của khách hàng hoặc luật sư.
Khi một đồng tiền được gửi vào ngân hàng, trong quá trình kiểm tra phát hiện thấy sai, thì khóa đánh dấu sẽ được phát hiện. Trường hợp này, ngân hàng kiểm tra xem ω’ có bằng ω = αxM mod p đối với tất cả các khóa đánh dấu đã được lưu giữ xM. Tuy nhiên nếu Khách hàng (Alice) cố gắng kiểm tra xem đồng tiền của mình có bị truy vết không. Alice phải yêu cầu ngân hàng công bố tất cả các khóa đánh dấu xM
trong pha kiểm toán. Nếu Alice phát hiện khóa đánh dấu tương ứng với đồng tiền của Alice không phải là x hay xM thì Alice có thể cãi rằng đồng tiền đã bị truy vết một cách bất hợp pháp. Nếu khóa đánh dấu nằm trong danh sách xm, Alice sẽ yêu cầu giấy phép hợp lệ của trọng tài - người chịu trách nhiệm cho việc truy vết này.
Nhược điểm:
Một trong những nhược điểm của lược đồ KV là nó cần quá nhiều thông tin bổ
sung trong quá trình truy vết đồng tiền hợp lệ. Nguyên nhân là do việc đánh dấu phải
được hợp pháp hóa bởi một trọng tài và ngân hàng phải lưu tất cả các khóa đánh dấu và các chứng nhận của trọng tài. Trong pha kiểm toán, Ngân hàng phải công bố tất cả
các khóa đánh dấu và khóa ký không thể chối bỏ x. Do vậy, đối với quá trình truy vết hợp lệ, Ngân hàng phải lưu danh sách các khóa đánh dấu và các chứng nhận của trọng tài cho các đồng tiền bị nghi ngờ.
Một điểm yếu khác là khách hàng cần phải có năng lực cao về mặt tính toán để
kiểm tra đồng tiền của mình. Khách hàng phải so sánh tất cả các x, xM, với x’ sử dụng công thức ω = (α’)x’mod p. Nếu không thể tìm thấy x hay xM nào phù hợp, khách hàng có thể cãi rằng đồng tiền đã bị truy vết một cách bất hợp pháp.
Bên cạnh đó, khi khách hàng cố gắng thử phép toán trên, việc đưa ra danh sách các khóa đánh dấu này làm nảy sinh một vấn đề về an toàn và bảo mật. Khách hàng sẽ
kiểm tra trên máy tính cá nhân, do vậy ngân hàng phải gửi dánh sách khóa đánh dấu cho khách hàng, từ đó, khách hàng sẽ biết danh sách này và có thể chuyển giao cho người khác