PayWord là hệ thống thanh toán cho các giao dịch có giá trị nhỏ
(micropayment), được đề xuất bởi Ronald Rivest và Adi Shamir (1996). PayWord phù hợp cho các thanh toán lặp lại nhiều lần với cùng một nhà cung cấp. Giao thức PayWord sử dụng một chuỗi các giá trị băm gọi là các payword, mỗi payword biểu diễn một giá trị nhất định. Hệ thống PayWord bao gồm ba đối tượng chính: User (Người sử dụng) – giả sử là Alice, Broker (Người môi giới, thường là một ngân hàng) và Vendor (Nhà cung cấp) – Giả sử là Bob.
4.2.1. Phương thức hoạt động.
Trong Millicent, nhà cung cấp hoặc Broker tạo ra các scrip, còn trong PayWord, người sử dụng tạo ra các payword (tương đương với scrip trong Millicent). Payword có thể được tạo từ trước hoặc ngay khi thực hiện việc mua hàng. Trình tự như
sau:
Alice mở một tài khoản và nhận một chứng thực PayWord (PayWord Certificate) CU chứa các thông tin như: tên/ID của Broker, khóa công khai của Alice, ngày hết hạn và các thông tin khác được mã hóa bằng khóa bí mật của Broker: CU = {Broker_id, user_public_key, expiration_date, other_info} SK B
Với chứng nhận CU, Alice có thể tạo ra các payword sử dụng hàm băm MD5 hay SHA.
Cách thức Alice tạo các payword (w1, w2, …, wn) như sau: Trước tiên, Alice lấy wn ngẫu nhiên rồi tính chuỗi các giá trị băm theo thứ tự ngược lại:
wi = h(wi+1) với i = n-1, n-2, …, 0
Chú ý rằng w0 không phải là một payword, nó là root của payword và là thành phần chính cấu tạo nên thỏa thuận M giữa Alice và Bob. Một thỏa thuận giữa người sử dụng và nhà cung cấp sẽ gồm các thông tin sau:
+ w0
+ Định danh nhà cung cấp (V – vendor indentity)
+ Chứng thực của người sử dụng (CU – User’s certificate) + Ngày hết hạn thanh toán (D – expiration date)
Alice dùng khóa bí mật của mình để ký lên các thông tin trên, như vậy:
M = {w0, V, CU, D, IM}SKU
Để mua hàng, trước tiên, Alice gửi M cho Bob. Bob giải mã M, kiểm tra V và D. Chữ ký của Alice được chứng thực bởi CU, do vậy nó ngăn chặn một bên thứ ba giả
mạo M.
Kể từ bây giờ (cho đến thời điểm expiration_date), bất cứ khi nào cần mua hàng từ
Bob, Alice chỉ cần tạo một payword, gửi P = (wi, i) (1 i n) cho Bob. Alice sẽ sử dụng các payword theo thứ tự: w1, w2,…
+ Bob kiểm tra payword, nếu hợp lệ, Bob lưu cặp payword này vào Plast
+ Nếu giá trị của mặt hàng lớn hơn giá trị của payword, Alice có thể trả thêm bằng cách bỏ qua các payword.
Ví dụ: Giả sử payword chưa tiêu tiếp theo của Alice là wi+1, mỗi payword có trị giá là 1 cent, mặt hàng Alice cần mua có giá 5 cent. Khi đó, Alice có thể
bỏ qua 4 payword và gửi (wi+5, i+5). Bob có thể kiểm tra được giá trị này bằng cách băm giá trị payword 5 lần (thực hiện việc băm cho đến khi được kết quả giống như giá trịđược lưu trong Plast)
Như vậy, tất cả dữ liệu Bob cần lưu trữ chỉ là M và Plast. Sau một chu kỳ (có thể là một ngày, một tuần,…) Bob thông báo lại giá trị của Plast cho Broker. Broker kiểm tra M và tính toán lượng tiền mà Alice đã tiêu bằng cách băm giá trị Plast, từ đó, trừ đi một khoản tương ứng (bằng tổng các giá trị băm được) trong tài khoản của Alice đồng thời tăng tài khoản của Bob.
4.2.2. Nhận xét. Về ưu điểm: Về ưu điểm:
Hệ thống PayWord có khả năng ngăn chặn việc giả mạo do:
+ Trong cùng một chuỗi, các payword đã tiêu là giá trị băm một chiều của các payword chưa tiêu. Do vậy, biết được các payword đã tiêu có thể xác định được các payword chưa tiêu
+ Một chuỗi payword được xác nhận bởi một thỏa thuận và được ký bởi người sử dụng, còn định danh của người sử dụng được đảm bảo bởi chứng nhận CU được ký bởi Broker.
Về nhược điểm:
+ Việc hệ thống PayWord cho phép người sử dụng tự tạo ra các payword mà không cần đến ngân hàng chứng nhận giúp tăng tính linh hoạt cho người sử
dụng lên rất nhiều. Người sử dụng có thể tạo các payword có giá trị theo ý muốn, tuy nhiên, nó cũng giúp cho Bob có kh ả năng gian lận payword.
+ Nếu Bob phát hiện ra Alice và Carol cùng tạo ra một chuỗi payword giống nhau và giả sử Alice tiêu trước Carol k payword, Bob hoàn toàn bi ết được k
payword chưa tiêu của Carol, từđó Bob có thể gian lận giá trị của k payword đó. Do vậy, hệ thống cần có cơ chế đảm bảo các chuỗi payword của những người sử dụng khác nhau là khác nhau.
Tóm lại, PayWord là hệ thống có nhiều ưu điểm. Bản thân PayWord vẫn chưa
được phát triển hoàn thiện, song hiện nay, có một số hệ thống thanh toán được phát triển dựa trên mô hình của PayWord như NetPay, UPayWord.