Mụ hỡnh thanh toỏn trong lƣợc đồ CHAUM-FIAT-NAOR

Một phần của tài liệu Nghiên cứu các kỹ thuật đảm bảo an toàn thông tin trong việc sử dụng tiền điện tử (Trang 86 - 90)

1: Khỏch hàng gửi tiền ở dạng “mự” , yờu cầu Ngõn hàng ký.

2: Ngõn hàng gửi trả tiền đó ký cho Khỏch hàng (tiền vẫn cũn “mự”).

3: Sau khi bỏ “mự” tiền, Khỏch hàng chuyển tiền cho Ngƣời bỏn.

1/.Giao thức rỳt tiền

a. ễng A muốn cú một đồng tiền điện tử ẩn danh, thỡ cần phải tạo k đơn vị Ui và chuyển nú đến ngõn hàng, một Đơn vị Ui đƣợc tạo từ những dóy số ngẫu nhiờn ai , ci , di , 1≤ i ≤ k , sao cho Ui độc lập và duy nhất.

if(xi,yi) với 1≤ i ≤k ), , ( i i i g a c xyig(ai(u(vi),di)  : Phộp XOR,  : phộp nối

b. ễng A làm mự k đơn vị Ui với những tham số “mự” ngẫu nhiờn {r1,...,rk}, và gửi chỳng đến ngõn hàng. Những tham số “mự” đú ngăn ngõn hàng kiểm tra tức thỡ nội dung của những “đồng tiền” Ui.

Bi= Ui rib mod n

(Làm “mự” theo giao thức RSA: Blind(x)=x*rb

mod n).

c. Ngõn hàng chọn ngẫu nhiờn k/2 đơn vị để kiểm tra, và yờu cầu ụng A cung cấp cỏc tham số: ri ,ai , ci, di tƣơng ứng với những đơn vị Ui mà ngõn hàng đó chọn.

d. ễng A cung cấp cho ngõn hàng cỏc tham số ri ,ai , ci, di theo yờu cầu.

e. Dựa vào cỏc tham số do ụng A cung cấp, Ngõn hàng xúa “mự” k/2 đơn vị đó chọn và kiểm tra để đảm bảo rằng ụng A khụng cú gian lận. Nếu khụng cú lỗi nào xảy ra, ngõn hàng kớ lờn những đơn vị Ui cũn lại (những đơn vị mà Ngõn hàng khụng xoỏ “mự”) và gửi cho ụng A.

Bja mod n

(j là ngẫu nhiờn ≤ k và chỉ dựng k/2 phần tử Bj)

Sau đú ngõn hàng trừ khoản tiền tƣơng ứng vào tài khoản của ụng A.

f. ễng A xoỏ “mự” đơn vị đó đƣợc ngõn hàng ký bằng cỏch chia Bj cho rj. Lỳc này ụng A cú đồng tiền điện tử với giỏ trị thật sự.

2/. Giao thức thanh toỏn

a. ễng A gửi tiền T đến ễng B.

b. ễng B chọn chuỗi nhị phõn ngẫu nhiờn z1, z2,…, zk/2 và gửi nú đến ụng A.

c. ễng A phản hồi lại tuỳ theo từng trƣờng hợp sau: – Nếu zi=1 thỡ ụng A sẽ gửi đến ụng B : ai, ci và yi

– Nếu zi=0 thỡ ụng A sẽ gửi đến ụng B: xi, ai  (u  (v+i)) và di.

d. ễng B kiểm tra T là hợp lệ trƣớc khi chấp nhận thanh toỏn của ụng A.

3/. Giao thức gửi

a. ễng B gửi lịch sử thanh toỏn đến ngõn hàng.

b. Ngõn hàng kiểm tra chữ ký số của ngõn hàng.

c. Ngõn hàng kiểm tra tiền này thật sự chƣa bị tiờu xài trƣớc đú.

d. Ngõn hàng nhập vào cơ sở dữ liệu những tiền đó tiờu xài, đồng thời lƣu giữ chuỗi nhị phõn, và những phản hồi tƣơng ứng từ ụng A, (điều này sẽ giỳp cho sau này phỏt hiện đƣợc những kẻ tiờu xài hai lần).

e. Ngõn hàng cộng khoản tiền tƣơng ứng vào tài khoản của ụng B.

4/.Đỏnh giỏ

Tại giao thức Rỳt tiền, để ngăn ngừa khả năng gian lận của ụng A. Lƣợc đồ sử dụng giao thức “cut and choose”. ễng A phải tiết lộ k/2 mẫu thụng tin một cỏch ngẫu nhiờn từ k mẫu. Nhƣ vậy khả năng ụng A cú thể thực hiện đƣợc hành vi gian lận phụ thuộc vào độ lớn của số k.

Nếu ụng A tiờu đồng tiền T hai lần, thỡ khả năng ngõn hàng cú thể lấy đƣợc cả hai tham số ai và ai  (u (v + i)) để tớnh đƣợc u. Đú là số tài khoản của ụng A tại ngõn hàng, chớnh vỡ vậy từ u, ngõn hàng cú thể truy ra đƣợc ụng A là ngƣời cú hành vi tiờu một đồng tiền hai lần. Vỡ khả năng để cú một cặp bớt khỏc nhau trong 2 chuỗi z1, z2,…,zk/2 và z‟1, z‟2,…,z‟k/2 là rất cao. Chỉ cần cú một cặp bit tƣơng ứng zi và z‟i khỏc nhau, là ngõn hàng cú thể cú đầy đủ thụng tin định danh của ụng A. Nhƣ vậy xỏc suất để 2 chuỗi hoàn toàn trựng nhau (trong trƣờng hợp này, ngõn hàng khụng cú đủ thụng tin để tỡm ra đƣợc định danh của ụng A) là : /2

2 1

k và nếu chọn k đủ lớn thỡ khả năng hai chuỗi trựng nhau hoàn toàn cú thể xem là khụng thể xảy ra.

5/.Chi phớ

Trong lƣợc đồ CHAUM-FIAT-NAOR, chớ phớ (thời gian, bộ nhớ,…) phụ thuộc vào độ lớn của k. Tại giao thức rỳt tiền trong lƣợc đồ, ụng A phải gửi k packet đến ngõn hàng, tuy nhiờn ngõn hàng chỉ phải gửi trở lại 1 packet. Việc tiến hành làm “mự” và xoỏ “mự” sẽ làm tăng sự tớnh toỏn, sự liờn lạc.

Tại giao thức thanh toỏn, sau khi ụng A gửi tiền đến ụng B. ễng này gửi chuỗi nhị phõn đến ụng A, sau đú ụng A phải gửi k/2 phản hồi khỏc nhau, điều này sẽ khiến cho việc tăng thời gian và sự tớnh toỏn, liờn lạc và chi phớ lƣu trữ.

6/.Hỡnh thức tấn cụng

Đõy là giải phỏp dựa vào mật mó RSA, vỡ vậy tất cả những cỏch tấn cụng vào RSA, đều cú thể đƣợc sử dụng để tấn cụng vào lƣợc đồ này.

Tuy nhiờn về mặt lý thuyết, cú một khả năng xảy ra là ụng A cú thể trỏnh đƣợc sự phỏt hiện của ngõn hàng khi tiờu xài hai lần. Để thực hiện đƣợc điều này, phƣơng phỏp tấn cụng hợp tỏc giữa ụng A ụng X sẽ tấn cụng vào giao thức “hỏi-đỏp ”. ễng A sau khi thực hiện một giao dịch thanh toỏn với ụng B, sẽ gửi những tiền đó tiờu đến

ụng X và mụ tả quỏ trỡnh giao dịch với ụng B cho ụng X. Nhƣ vậy ngõn hàng sẽ nhận đƣợc thụng tin giao dịch từ ụng B và ụng X giống nhƣ nhau, lỳc này ngõn hàng sẽ khụng cú khả năng xỏc định đƣợc định danh của ụng A.

3.2.3.2. Lƣợc đồ BRAND

So với lƣợc đồ trờn, đõy là một lƣợc đồ khỏ phức tạp. Lƣợc đồ sử dụng khỏi niệm chữ ký số Schnorr và bài toỏn đại diện trong nhúm của cấp nguyờn tố (The representation problem in groups of prime order).

Gq là nhúm con cấp q của Zp *

, với p,q là số nguyờn tố (q|(p-1)). Ngõn hàng khởi tạo 5 thành phần: (g,h,g1,g2,d).

1. (g, h): khoỏ cụng khai của ngõn hàng đƣợc dựng ở lƣợc đồ ký trong giao thức rỳt tiền (g, h Gq), x là khoỏ bớ mật của ngõn hàng.

x = Log gh (h=gx)

2. (g1, g2): là bộ phần tử sinh của Gq.

3. Phần tử sinh d (khỏc g1 và g2), đảm bảo rằng định danh của ngƣời dựng sẽ khụng bị phỏt hiện trong giao thức thanh toỏn.

1/. Khởi tạo tài khoản

a. ễng A phỏt sinh ngẫu nhiờn u1,u2  Zq, và tớnh I = g1u1g2u2 , sau đú ụng A chuyển Ι đến ngõn hàng (nhƣ vậy ngõn hàng sẽ khụng biết đƣợc u1 và u2).

b. Ngõn hàng lƣu giữ I = g1 u1

g2 u2

cựng với định danh thật sự của ụng A và số tài khoản, nhƣng ngõn hàng sẽ khụng biết u1 và u2.

Trƣờng hợp ụng A tiờu xài đồng tiền hai lần, thỡ ngõn hàng cú thể tỡm ra đƣợc (u1, u2) và cú thể tớnh đƣợc Ι, từ Ι sẽ tỡm đƣợc định danh của kẻ gian lận.

Một phần của tài liệu Nghiên cứu các kỹ thuật đảm bảo an toàn thông tin trong việc sử dụng tiền điện tử (Trang 86 - 90)