HỆ THỐNG TIỀN ẨN DANH (Chaum-Fiat-Naor) 8 5-

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hệ mật mã khóa công khai ứng dụng bảo mật thông tin trong thương mại điện tử Luận văn ThS. Công nghệ thông tin 1.01.10 (Trang 85 - 88)

Một trong những đặc trưng quan trọng của tiền điện tử là ẩn danh. Hệ thống tiền điện tử ẩn danh có thể ngăn chặn không cho ngân hàng khám phá ra bất kỳ thông tin định danh nào về khách hàng. Đặc tính ẩn danh được thực hiện thông qua sử dụng chữ ký mù dựa trên RSA và giao thức chia cắt và lựa chọn.

Giao thức này cho phép khách hàng nhận được chữ ký của ngân hàng lên đồng tiền điện tử mà không để ngân hàng biết về đồng tiền mà họ đã ký. Do đó, ngân hàng không thể nhận ra được đồng tiền khi được gửi trở lại thông qua quá trình thanh toán. Nói cách khác, ngân hàng không có khả năng liên hệ giữa một phiên rút tiền với một phiên gửi tiền nào đó [12]. Để ngăn chặn tình trạng chi tiêu đúp, người ta gắn định danh vào từng đồng tiền, nếu đồng tiền được dùng lần thứ hai, thông tin trong cả hai lần được dùng để tìm ra kẻ gian lận.

Ngân hàng công bố khoá công khai (e+n) và chọn tham số an toàn k. Ngân hàng cũng công bố hai hàm đụng độ f và g, g là hàm song ánh. Khách hàng có số tài khoản ngân hàng là u và ngân hàng giữ bộ đếm v của tài khoản đó.

3.3.1. Giao thức rút tiền

1. Khách hàng tạo ra k bộ Ui, mỗi bộ cho trước dãy số ngẫu nhiên: ai, ci, di, với 1≤i≤k. Các số này được chọn từ kho dữ liệu đủ lớn để đảm bảo không có bộ nào nhận giá trị giống nhau.

Ui=f(xi,yi), với 1≤i≤k

Trong đó: xi=g(ai,ci), yi=g(ai(u(v+i))+di)

với  là kí hiệu phép XOR loại trừ,  kí hiệu phép và

2. Khách hàng dấu đi k bộ này bằng cách sử dụng các hệ số mù ngẫu nhiên {r1,r2,…,rk} và gửi chúng cho ngân hàng. Các hệ số mù sẽ ngăn không cho ngân hàng biết được nội dung của các đồng tiền cần ký.

Bi=rie Ui mod n 3. Ngân hàng chọn ngẫu nhiên k/2 bộ để kiểm tra

4. Khách hàng đưa cho ngân hàng ri, ai, ci, di với 1≤i≤k/2, (ở đây giả thiết ngân hàng chọn i sao cho 1≤i≤k/2).

5. Ngân hàng mở ra k/2 bộ và kiểm tra để đảm bảo rằng khách hàng không có ý định lừa gạt. Nếu không có vấn đề gì thì ngân hàng kí vào các bộ còn lại bằng khoá bí mật của ngân hàng và gửi lại cho khách hàng.

 jk k d j n B 2 / mod ) ( với k/2≤j≤k

Sau đó trừ nợ vào tài khoản của khách hàng.

6. Khách hàng nhận lại các bộ đã được kí bằng cách nhân với rj-1. Sau bước này khách hàng thu được đồng tiền điện tử. Khách hàng tăng bản copy của bộ đếm v của tài khoản lên k.

    k j k d j j y n x f C 2 / ' ) mod ( với k/2≤j≤k

3.3.2. Giao thức thanh toán

1. Khách hàng gửi C cho chủ hàng

2. Chủ hàng chọn dãy nhị phân ngẫu nhiên z1+z2+…+zk/2 và gửi cho khách hàng. 3. Khách hàng đáp lại chủ hàng theo quy tắc sau (1≤i≤k/2):

a-Nếu zi=1 thì khách hàng đưa cho chủ hàng ai, ci và yi

b-Nếu zi=0 thì khách hàng gửi cho chủ hàng xi+ai(u(v+i)) và di

4. Trước khi chấp nhận thanh toán của khách hàng thì chủ hàng kiểm tra xem liệu C có hợp lệ hay không.

3.3.3. Giao thức gửi tiền

1. Chủ hàng gửi lịch sử của quá trình thanh toán cho ngân hàng 2. Ngân hàng kiểm tra chữ kí của mình

3. Ngân hàng kiểm tra xem đồng tiền đã được tiêu rồi hay chưa

4. Ngân hàng đưa đồng tiền vào cơ sở dữ liệu những đồng tiền đã được sử dụng và cũng lưu chuỗi nhị phân mà chủ hàng gửi (sau này để kiểm tra sự chi tiêu đúp). 5. Ngân hàng ghi số tiền tương ứng cho tài khoản của chủ hàng.

An toàn: Trong hệ thống này, cơ hội cho những kẻ gian lận và những rủi ro được xác định bởi k/2, ngay cả khi k nhỏ và bằng 2 thì các số lẻ vẫn là từ 1 đến 1. Nếu sự trừng phạt là đủ mạnh thì những kẻ gian lận không còn cơ hội để tồn tại.

Một trong những hành động gian lận đơn giản nhất là chi tiêu đúp. Để tối thiểu hoá rủi ro này, khi ngân hàng nhận được đồng tiền từ quá trình thanh toán, người ta ghi lại số của đồng tiền trong cơ sở dữ liệu. Nếu có một số xuất hiện lần thứ hai thì ngân hàng biết rằng đã có một hành động gian lận xảy ra. Nếu khách hàng là kẻ gian lận, tức là người đã dùng đồng tiền hai lần thì anh ta phải gửi lại chuỗi nhị phân lần thứ hai, vì các chuỗi nhị phân là một dãy bít ngẫu nhiên nên chuỗi này sẽ không giống chuỗi cũ ít nhất là một bít. Do đó sẽ có hai nửa tập định danh khác nhau, cơ hội để một trong các nửa định danh đối sánh với nửa định danh trong đồng tiền khác là rất cao. Vì vậy định danh của khách hàng sẽ bị lộ. Cơ hội để khách hàng bị hỏi để bộc lộ hai nửa định danh giống nhau trong hai lần giao dịch là một trên 2k/2. Hai nửa định danh bị lộ và khách hàng (kẻ gian lận) sẽ bị phát hiện. Nhưng nếu hai nửa định danh không đối sánh với nhau và không làm lộ định danh của khách hàng thì kẻ gian lận là chủ hàng.

Bí mật: Đúng là khách hàng đã ghi định danh của mình lên mỗi bộ số mà anh ta tạo

ra, nhưng đó chỉ là một nửa định danh và không ai có thể nhận ra anh ta trừ khi họ khám phá ra cả hai nửa định danh. Nói cách khác đồng tiền không thể được sử dụng nhiều lần. Chúng phải được đưa trở lại ngân hàng sau mỗi lần giao dịch do giao thức bộc lộ định danh. Sau đó ngân hàng biết ai đã rút tiền và ai đã gửi tiền nhưng ngân hàng không biết mỗi quan hệ giao dịch giữa người mua và người bán.

Có khả năng chuyển nhượng: Đây là hệ thống không có khả năng chuyển nhượng.

Những đồng tiền này không được sử dụng nhiều lần. Chúng phải được gửi vào ngân hàng sau mỗi lần giao dịch và do chủ hàng gửi vào.

Độc lập với phần cứng: Dễ dàng để mang các đồng tiền di chuyển từ nơi này đến

nơi khác vì chúng chỉ là các con số và một vài số ngẫu nhiên mà khách hàng cần sử dụng trong giao dịch thanh toán.

Khả năng chia nhỏ: Hệ thống này không cho bất kỳ sự thay đổi nào đối với đồng

3.3.5. Chi phí về tiền và thời gian

Với giao thức rút tiền, khách hàng phải gửi k gói cho ngân hàng nhưng ngân hàng chỉ phải gửi lại một gói. Tuỳ thuộc vào kích thước của k, sẽ có một số gói phải truyền đi. Chú ý rằng việc tạo ra, ẩn đi và hiện ra của k gói sẽ làm tăng tính toán, truyền thông và chi phí lưu trữ. Điều này còn phụ thuộc vào k, k phải được chọn sao cho đủ lớn để tối thiểu hoá khả năng lừa gạt của kẻ gian.

Khi thanh toán, sau khi khách hàng gửi cho chủ hàng đồng tiền, chủ hàng gửi chuỗi nhị phân cho khách hàng để xác định thử thách đầu tiên. Sau đó khách hàng gửi cho chủ hàng k/2 đáp ứng khác nhau. Vì thế làm tăng thời gian, tính toán, truyền thông và chi phí lưu trữ.

3.3.6. Khả năng tấn công

Vì hệ thống này dựa trên RSA nên những khả năng tấn công của hệ RSA cũng có thể xảy ra ở đây. Một khả năng tấn công khác có thể xảy ra khi khách hàng kết hợp với một kẻ gian nào đó. Nếu khách hàng sau khi thực hiện thanh toán với chủ hàng, anh ta gửi đồng tiền đã sử dụng cho kẻ gian cùng với chuỗi nhị phân mà chủ hàng đã chọn và những gì anh ta đã gửi cho chủ hàng để đáp lại chuỗi nhị phân đó. Như vậy kẻ gian đã có tất cả lịch sử của quá trình thanh toán và ngân hàng sẽ không thể xác định được ai là người đã chi tiêu đúp.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hệ mật mã khóa công khai ứng dụng bảo mật thông tin trong thương mại điện tử Luận văn ThS. Công nghệ thông tin 1.01.10 (Trang 85 - 88)

Tải bản đầy đủ (PDF)

(123 trang)