0
Tải bản đầy đủ (.pdf) (119 trang)

Lƣợc đồ Chaum-Fiat-Naor

Một phần của tài liệu NGHIÊN CỨU MỘT SỐ BÀI TOÁN TRONG HỆ THỐNG TIỀN ĐIỆN TỬ (Trang 72 -77 )

Lƣợc đồ Chaum-Fiat-Naor [9], là lƣợc đồ ẩn danh đơn giản, áp dụng cho hệ thống tiền điện tử có tính ẩn danh. Lƣợc đồ sử dụng chữ ký mù RSA (xem mục 1.3.3) và giao thức “cắt và chọn” (cut and choose) (do Michael Rabin đề xuất năm 1978) để giải quyết vấn đề ẩn danh và ngăn ngừa ngƣời dùng có hành vi gian lận.

Nội dung giao thức “cut and choose”:

Alice chia đôi số lƣợng đang có.

Bob chọn một phần.

Alice giữ phần còn lại.

Bƣớc chia đôi và chọn ngẫu nhiên nhƣ trên đảm bảo tính trung thực.

Việc kết hợp những kỹ thuật mật mã này cho phép ngân hàng ký trên những đồng tiền do ngƣời dùng gửi đến, nhƣng ngân hàng sẽ không biết những gì đã ký (dãy số tƣợng trƣng cho đồng tiền). Vì vậy, ngân hàng không thể kiểm tra lại những thanh toán đã thực hiện. Nghĩa là, ngân hàng không biết đƣợc một hành động rút tiền này sẽ liên quan đến khoản tiền nào, nhƣ vậy đảm bảo đƣợc tính ẩn danh của ngƣời dùng.

Để ngăn ngừa vấn đề “double-spending”, lƣợc đồ này dùng giải pháp là gắn định danh lên tiền, nhƣ vậy nếu tiền có hiện tƣợng “double-spending” thì thông tin trong cả hai trƣờng hợp tiêu xài một đồng tiền sẽ đƣợc dùng để tìm ra kẻ gian lận.

Ngân hàng dùng mật mã RSA với khoá công khai (b, n) và chọn một tham số an toàn k. Ngân hàng công khai 2 hàm f và g (trong đó f là hàm ngẫu nhiên, g là hàm 1-1).

Mỗi ngƣời dùng có số tài khoản u, ngân hàng giữ số đếm v liên quan đến số tài khoản này.

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 xoá mù tiền, Khách hàng chuyển tiền cho Ngƣời bán.

4: Ngƣời bán chuyển tiền đến Ngân hàng để kiểm tra tính hợp lệ của tiền. 5: Ngân hàng xác nhận tính hợp lệ của tiền với ngƣời bán.

6: Ngƣời bán tiến hành chuyển giao hàng.

1).Giao thức Rút tiền.

1. Alice muốn tạo một đơn vị tiền điện tử ẩn danh, thì cần phải tạo k đơn vị tiền Ui và chuyển nó đến ngân hàng.

Một đơn vị tiền 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.

Tính: Uif x y( ,i i) (1 i k)

Trong đó, xig a c( , );i i yig a( i  (u (v i)),di) phép XOR,

: phép hội

2. Alice làm mù k đơn vị tiền 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 chặn ngân hàng kiểm tra tức thì nội dung của các đồng tiền Ui.

mod

i

b i i i

Br U n

( Làm mù theo giao thức RSA: Blind(x) = x* rb mod n) 3. Ngân hàng chọn ngẫu nhiên k/2 đơn vị tiền để kiểm tra.

4. Ngân hàng yêu cầu Alice cung cấp các thừa số: ri, ai, ci, di, 1 i k/ 2 tƣơng ứng với những đơn vị tiền Ui mà ngân hàng đã chọn.

5. Dựa vào các tham số Alice cung cấp, Ngân hàng xoá “mù” k/2 đơn vị tiền đã chọn và kiểm tra để đảm bảo rằng Alice 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ị tiềncòn lại (những đơn vị mà Ngân hàng không xoá “mù”) và gửi cho Alice.

/ 2 ( j) modd k j k B n  

Sau đó, Ngân hàng trừ một khoản tiền tƣơng ứng vào tài khoản của Alice.

6. Alice xoá mù đơn vị đã ký bằng cách chia Bj cho rj. Lúc này, Alice sẽ có đồng tiền điện tử có giá trị thật sự.

/2 ( ,j j) modd k j k C f x y n  

2).Giao thức Thanh toán.

1.Alice gửi C đến Bob.

2.Bob chọn một chuỗi nhị phân ngẫu nhiên z1, z2,…, zk/2 và gửi nó đến Alice. 3.Alice phản hồi lại tuỳ theo từng trƣờng hợp sau:

+ Nếu zi = 1 thì Alice sẽ gửi đến Bob: ai, ci và yi

+ Nếu zi = 0 thì Alice sẽ gửi đến Bob: xi, ai  (u (v i)) và di. 4.Bob kiểm tra C hợp lệ, trƣớc khi chấp nhận thanh toán của Alice.

3).Giao thức Gửi.

1.Bob gửi lịch sử thanh toán đến ngân hàng. 2.Ngân hàng kiểm tra chữ ký số của ngân hàng.

3.Ngân hàng kiểm tra tiền C chƣa thật sự bị tiêu xài trƣớc đó.

4.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ừ Alice.

Đ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. 5.Ngân hàng ghi C vào tài khoản của Bob.

4).Đánh giá.

Tại giao thức Rút tiền, để ngăn ngừa sự gian lận của Alice, lƣợc đồ sử dụng giao thức “cut and choose”. Alice 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 Alice 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 Alice tiêu đồng tiền C hai lần, thì khả năng ngân hàng có thể lấy đƣợc cả hai tham số aiai  (u (v i)) để tính đƣợc u. Đó là số tài khoản của Alice tại ngân hàng, chính vì vậy từ u, ngân hàng có thể truy ra đƣợc Alice là ngƣời có hành vi tiêu một đồng tiền hai lần.

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 là ngân hàng

Nhƣ vậy, xác suất để 2 chuỗi hoàn toàn trùng nhau (trƣờng hợp này, ngân hàng không có đủ thông tin để tìm ra đƣợc định danh của Alice) là 1/ 2

2k . 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, tính toán, tiền bạc,…) phụ thuộc vào độ lớn của k. Tại giao thức rút tiền, Alice 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ù” k packet làm tăng sự tính toán, trao đổi và thời gian lƣu trữ.

Tại giao thức thanh toán, sau khi Alice gửi tiền đến Bob, Bob gửi một chuỗi nhị phân đến Alice, sau đó Alice phải gửi k/2 phản hồi khác nhau. Điều này làm tăng thời gian và sự tính toán, liên lạc và chi phí lƣu trữ.

6).Tấn công

Đây là giải pháp dựa vào kỹ thuật 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ó khả năng Alice có thể tránh đƣợc sự phát hiện của ngân hàng khi tiêu xài hai lần. Điều này xảy ra khi Alice và Eve cùng hợp tác với nhau. Cụ thể nhƣ sau:

Alice sau khi thực hiện một giao dịch thanh toán với Bob, sẽ gửi những tiền đã tiêu đến Eve và mô tả cho Eve quá trình giao dịch với Bob.

Nhƣ vậy, Ngân hàng sẽ nhận đƣợc thông tin giao dịch từ Bob và Eve 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 Alice.

Một phần của tài liệu NGHIÊN CỨU MỘT SỐ BÀI TOÁN TRONG HỆ THỐNG TIỀN ĐIỆN TỬ (Trang 72 -77 )

×