+ Các khái niệm cơ bản trong mật mã học được sử dụng trong các mô hình
thanh toán điện tử.
+ Một số vấn đề rủi ro mất an toàn thông tin và các chiến lược đảm bảo an
toànthông tin.
+ Một số khái niệm về thương mại điện tử và vấn đề thanh toán trong thương
mại điện tử.
149 trang |
Chia sẻ: lylyngoc | Lượt xem: 2818 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Một số công cụ công nghệ thông tin dùng trong thanh toán điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nh an toàn của đồng tiền và tính hiệu quả của hệ thống, các hệ
thống thường ghi thời hạn của đồng tiền. Đồng tiền điện tử sau khi phát hành, phải gửi
lại ngân hàng trước thời điểm hết hạn.
-121-
Các thông tin khác
Đây là thông tin thêm nhằm phục vụ cho mục đích đảm bảo an toàn và tính tin
cậy của đồng tiền điện tử, ngăn chặn việc gian lận, giả mạo tiền điện tử và phát hiện
các vi phạm (nếu có). Trong nhiều hệ thống, các thông tin này giúp truy vết định danh
người sử dụng có hành vi gian lận trong thanh toán tiền điện tử.
Các thông tin trên tiền điện tử được ngân hàng ký bằng khoá bí mật. Người dùng
nào cũng có thể kiểm tra tính hợp lệ của đồng tiền bằng cách sử dụng khoá công khai
của ngân hàng.
3.2.1.3. Phân loại tiền điện tử
Tiền điện tử có hai loại: ẩn danh và định danh
1) Tiền ẩn danh
Tiền ẩn danh không tiết lộ thông tin định danh của người sử dụng, hệ thống này
dựa vào lược đồ chữ ký mù đã trình bày ở trên để ẩn danh người dùng. Tính ẩn danh
của tiền điện tử tương tự như tiền mặt thông thường. Tiền điện tử ẩn danh được rút từ
một tài khoản, có thể được tiêu xài hoặc chuyển cho người khác mà không để lại dấu
vết.
Có nhiều loại tiền ẩn danh, có loại ẩn danh đối với người bán, nhưng không ẩn
danh với ngân hàng. Có loại ẩn danh với tất cả mọi người, ẩn danh hoàn toàn.
2) Tiền định danh
Tiền điện tử ẩn danh tiết lộ thông tin định danh của người dùng. Nó tương tự như
thẻ tín dụng, cho phép ngân hàng lưu dấu vết của tiền khi luân chuyển.
Mỗi loại tiền trên lại chia thành hai dạng: trực tuyến và ngoại tuyến.
Trực tuyến: nghĩa là cần phải tương tác với bên thứ ba để kiểm soát giao dịch.
Ngoại tuyến: nghĩa là có thể kiểm soát giao dịch mà không cần liên quan trực
tiếp đến bên thứ ba.
-122-
3.2.1.4. Tính chất của tiền điện tử
Điểm khác biệt lớn nhất giữa tiền điện tử và tiền mặt thông thường đó là: tiền
điện tử chỉ đơn giản là một dãy các con số được biểu diễn theo một định dạng nào đó
mà máy tính có thể hiểu được và được trao đổi thông qua mạng máy tính. Chính vì chỉ
là một dãy con số nên đồng tiền số rất dễ dàng bị sao chép, điều này dẫn đến hai tình
huống: thứ nhất, đồng tiền số có thể được làm giả (bằng cách sinh ra dãy các con số
theo đúng định dạng của đồng tiền đã được ngân hàng phát hành). Thứ hai, đồng tiền
có thể bị sao chép để sử dụng nhiều lần (double-spending).
Từ đặc điểm này, Tatsuaki Okamoto và Kazuo Ohata đã đưa ra sáu đặc trưng cơ
bản của tiền điện tử:
1) Tính độc lập (Portability)
Sự an toàn của tiền điện tử không phụ thuộc vào bất kỳ điều kiện vật lý nào. Đây
là điều kiện tiên quyết cho việc chuyển tiền trên mạng.
2) Tính an toàn (Security)
Tính chất này có khả năng ngăn chặn các âm mưu sao chép đồng tiền bằng cách
sử dụng nhiều lần hoặc giả mạo.
3) Tính riêng tư (Privacy)
Tính chất này nhằm bảo vệ người dùng khỏi mọi sự dòm ngó, hay nói cách khác,
không ai có thể truy vết hay chắp nối mối quan hệ giữa người sử dụng với sự chi tiêu
cũng như các giao dịch mà người đó đã thực hiện. Tính chất này có thể thấy rất rõ ràng
trong các giao dịch bằng tiền mặt. Sau khi thanh toán đã được thực hiện, việc chứng
minh trước đây người nào đã sở hữu số tiền đó là rất khó.
4) Tính chất thanh toán ngoại tuyến (Off-line payment)
Thanh toán ngoại tuyến nghĩa là, phiên giao dịch giữa người sử dụng và nhà cung
cấp có thể được diễn ra mà không cần đến sự tham gia của bên thứ ba (ví dụ như ngân
hàng). Nói cách khác, nhà cung cấp tự mình có thể kiểm tra sự hợp lệ của đồng tiền số.
-123-
5) Tính chuyển nhượng (Transferability)
Người sử dụng có thể chuyển giao tiền điện tử (quyền sử dụng) cho nhau. Tính
chất này làm cho việc tiêu tiền điện tử thực sự giống với việc tiêu tiền mặt thông
thường. Tuy vậy, khi đó, hệ thống cũng phải giải quyết một số vấn đề nảy sinh như:
Kích thước dữ liệu tăng lên sau mỗi lần chuyển nhượng vì đây là những
thông tin cần được lưu trữ. Giải pháp đơn giản nhất là giới hạn số lần
chuyển nhượng tối đa cho phép.
Việc phát hiện giả mạo và tiêu một đồng tiền nhiều lần có thể là quá trễ,
khi đồng tiền đã được chuyển nhượng rất nhiều lần.
Các vấn đề khác như: rửa tiền,…
6) Tính phân chia được (Divisibility)
Người sử dụng có thể phân chia đồng tiền số của mình thành những mảnh có giá
trị thanh toán nhỏ hơn, với điều kiện tổng giá trị của các mảnh nhỏ bằng giá trị của
đồng tiền điện tử ban đầu. [7],[8].
-124-
3.2.1.5. Các giao thức với tiền điện tử
Dựa trên các đặc điểm của tiền điện tử, hệ thống thanh toán tiền điện tử có ba
giao thức cơ bản: giao thức rút tiền, giao thức trả tiền (hay còn gọi là thanh toán) và
giao thức gửi tiền.
Tuỳ thuộc vào bên mua và bên bán sử dụng dịch vụ ở cùng một ngân hàng hay ở
các ngân hàng khác nhau (liên ngân hàng), chúng ta có thể phân ra thành các giao thức
thanh toán trong cùng một ngân hàng và liên ngân hàng để đảm bảo các phương thức
thanh toán thực hiện hiệu quả.
1) Các giao thức thanh toán cùng ngân hàng
Giả sử Alice và Bob cùng sử dụng dịch vụ của một ngân hàng. Alice muốn mua
hàng (ví dụ một quyển sách Q giá 100$) từ Bob. Giao thức gồm ba giai đoạn sau:
Hình 3.16: Mô hình giao dịch của hệ thống tiền điện tử cùng ngân hàng
Bob
Ngân hàng
Alice
1. Rút tiền
3. Gửi tiền
2. Thanh toán
-125-
1- Giao thức rút tiền (Withdrawal)
- Alice tạo tiền điện tử C gồm số sêri và giá trị của C (ví dụ 100$).
- Alice yêu cầu ngân hàng ký “mù” lên C.
- Giao thức ký thành công thì ngân hàng sẽ trừ 100$ trong tài khoản của Alice
và chuyển lại cho Alice đồng tiền đã được ký mù.
2- Giao thức trả tiền (Spending)
- Alice chuyển đồng tiền C đã có chữ ký của ngân hàng cho Bob và yêu cầu
quyển sách Q.
- Bob kiểm tra chữ ký trên C (dùng khoá công khai của ngân hàng). Nếu chữ
ký không hợp lệ thì Bob kết thúc giao thức.
3- Giao thức gửi tiền (Deposit)
- Bob lấy đồng tiền C từ Alice và gửi cho ngân hàng.
- Ngân hàng xác thực chữ ký trên đồng tiền C.
Nếu chữ ký hợp lệ, ngân hàng kiểm tra C đã được tiêu trước đó chưa.
Nếu C chưa được tiêu, ngân hàng cộng thêm vào tài khoản cho Bob với số
tiền tương ứng là 100$.
- Nếu việc gửi tiền thành công, Bob sẽ gửi quyển sách Q cho Alice.
Nhận xét:
Bob “khó” thể biết được C từ tài khoản nào. Khi Bob gửi C vào tài khoản của
mình, ngân hàng cũng khó biết đồng tiền đó nhận được từ Alice vì nó đã được ký
“mù”. Như vậy, tiền điện tử C không lưu lại dấu vết của những ai đã “tiêu” nó.
-126-
2) Các giao thức thanh toán trong liên ngân hàng
Trường hợp liên ngân hàng (các bên tham gia giao dịch sử dụng dịch vụ ở các
ngân hàng khác nhau), người ta sử dụng chữ ký “mù nhóm” cho đồng tiền chung của
liên ngân hàng.
Giả sử Alice là khách hàng của ngân hàng A, Bob là khách hàng của ngân hàng
B. Alice cần trả tiền cho người bán hàng Bob. Giao thức thực hiện như sau:
Hình 3.17: Mô hình giao dịch của hệ thống tiền điện tử liên ngân hàng
1- Thiết lập (Setup)
Các ngân hàng trong một nhóm, trưởng nhóm là ngân hàng trung tâm. Nếu có
ngân hàng muốn gia nhập nhóm thì chỉ cần thực hiện giao thức join với trưởng nhóm.
2- Giao thức rút tiền (Withdrawal)
- Đầu tiên Alice tạo đồng tiền điện tử T với số seri và mệnh giá.
- Alice yêu cầu ngân hàng A ký “mù nhóm” vào T.
- Ngân hàng A ký mù nhóm vào T và rút số tiền tương ứng từ tài khoản của
Alice.
Bây giờ Alice sở hữu đồng tiền T có giá trị trong cả nhóm ngân hàng.
Bob
Ngân hàng A
Alice
Ngân hàng B
1. Thiết lập
2. Rút tiền 4. Gửi tiền
3. Thanh toán
-127-
3- Giao thức trả tiền (Spending)
- Alice đưa cho Bob tiền T đã có chữ ký “nhóm” của liên ngân hàng.
- Bob dùng khoá công khai của nhóm kiểm tra và xác thực chữ ký “nhóm” của
liên ngân hàng trên T.
4- Giao thức gửi tiền (Deposit)
- Nếu các bước trên được hoàn thành, Bob gửi tiền T cho ngân hàng B. Ngân
hàng B nhận vì T là đồng tiền “chung” trong liên ngân hàng.
- Ngân hàng B tiến hành xác thực chữ ký trên T. Chú ý rằng, B không cần biết A
là ai khi thực hiện việc này, mà chỉ cần sử dụng khoá công khai của nhóm.
- Ngân hàng B kiểm tra T đã được tiêu chưa qua danh sách các đồng tiền đã tiêu
ở ngân hàng, để tránh tiêu tiền T hai lần.
-Nếu kiểm tra hoàn tất, ngân hàng B nạp thêm vào tài khoản của Bob số tiền T.
- Bob gửi hàng cho Alice.
-128-
3.2.2. Một số vấn đề đối với tiền điện tử
Tiền điên tử mang lại nhiều lợi ích không chỉ cho phía người dùng mà còn cho cả
phía ngân hàng cũng như các nhà cung cấp, nó tăng tốc độ và hiệu quả cho các phiên
giao dịch. Tuy nhiên, để tiền điện tử thực sự trở thành một phương tiện thanh toán hữu
hiệu, các nhà công nghệ, các nhà phát triển và các chuyên gia an toàn thông tin còn
đứng trước nhiều thách thức.
Các vấn đề lớn hiện nay đặt ra với tiền điện tử bao gồm: Vấn đề ẩn danh người
dùng, vấn đề ngăn chặn người dùng giả mạo và vấn đề tiêu một đồng tiền nhiều lần
(double-spending).
3.2.2.1. Vấn đề ẩn danh người dùng
Tính ẩn danh là yêu cầu đối với đồng tiền nói chung và tiền điện tử nói riêng. Hệ
thống tiền điện tử ẩn danh tin cậy sẽ ngăn ngừa bên thứ ba (ngân hàng, nhà cung cấp)
biết được thông tin định danh của người tham gia hê thống. Để đảm bảo yêu cầu này,
ngân hàng dùng chữ ký mù ký lên đồng tiền. Chữ ký mù đảm bảo ngân hàng không thể
có được mối liên hệ nào giữa đồng tiền điện tử và chủ sở hữu của nó.
Lược đồ Chaum-Fiat-Naor là một lược đồ ẩn danh đơn giản, áp dụng cho hê
thống tiền điện tử có tính ẩn danh. Để giải quyết được vấn đề ẩn danh, lược đồ dùng
chữ ký mù RSA và giao thức cắt-chọn (cut and choose).
3.2.2.2. Vấn đề giả mạo và tiêu một đồng tiền nhiều lần
Như đã trình bày ở trên, tiền điện tử chỉ đơn giản là một dãy các con số được
biểu diễn theo một định dạng nào đó và được trao đổi thông qua mạng máy tính. Chính
vì chỉ là một dãy các con số nên nó rất dễ bị sao chép. Điều này dẫn đến hai tính
huống:
- Thứ nhất, đồng tiền có thể bị làm giả (bằng cách sinh ra dãy các con số theo
đúng định dạng của đồng tiền thật).
- Thứ hai, đồng tiền có thể bị sao chép để sử dụng nhiều lần (double-
spending).
Những vấn đề này trong thực tế là không thể chấp nhận được. Rõ ràng, hệ thống
tiền điện tử khi được áp dụng vào trong thực tế thì thật sự phải có khả năng ngăn ngừa
hay phát hiện được các trường hợp này.
Để ngăn ngừa vấn đề "tiêu xài nhiều lần", trong lược đồ Cham-Fiat-Naor dùng
giải pháp là gắn định danh lên tiền, như vậy nếu tiền được tiêu xài hai lần thì thông tin
trên cả hai trường hợp sẽ được dùng để tìm ra kẻ gian lận. Còn trong lược đồ Branch,
định danh của người mua hàng (Ông A) được ẩn danh hoàn toàn. Người bán hàng và
ngân hàng sẽ hoàn toàn không biết định danh của ông A trừ khi ông A có hành vi gian
lận (tiêu xài 2 lần) thì định danh của ông A sẽ bi tiết lộ. [7],[8].
-129-
3.2.3. Lược đồ CHAUM-FIAT-NAOR
Hệ thống tiền điện tử được áp dụng thành công là nhờ một đặc tính quan
trọng, đó là tính ẩn danh. Một hệ thống tiền điện tử ẩn danh tin cậy sẽ ngăn ngừa bên
thứ 3 (Ngân hàng, nhà cung cấp) biết được thông tin định danh của người tham gia hệ
thống.
Lược đồ Chaum-Fiat-Naor 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 đồ áp dụng kỹ thuật chữ ký mù RSA và giao thức
cắt và chọn (cut and choose) để ngăn ngừa người tạo tiền có hành vi gian lận.
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 sử dụng gửi đếnn nhưng ngân hàng sẽ không biết những gì họ đã
được ký. Do đó họ 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 hành động rút tiền này sẽ liên quan đến khoản tiền nào, điều này
đảm bảo được tính ẩn danh của người sử dụng.
Để ngăn ngừa vấn đề " tiêu xài hai lần", lược đồ này dùng giao thức "hỏi-đáp"
để lấy môt phần thông tin định danh gắn lên đồng tiền và như vậy nếu đồng tiền được
"tiêu xài hai lần" thì thông tin trên cả hai trường hợp được kết hợp để truy vết tìm ra kẻ
gian lận.
Ngân hàng công khai khóa mật mã RSA là (b,n) và chọn tham số k.. Ngân
hàng cũng công khai 2 hàm f và g (hàm không va chạm).
Mỗi người sử dụng có số tài khoản u và ngân hàng sẽ giữ số đếm v liên quan
đến số tài khoản này ( đếm số đơn vị Ui được tạo), ngân hàng dựa vào u để xác định
ra kẻ gian lận.
Trình tự thanh toán trong lược đồ CHAUM-FIAT-NAOR
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
4- Người bán tiến hành chuyển giao hàng
5- 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.
-130-
3.2.3.1 Giao thức rút tiền
1- Ông A muốn có một đồng tiền điện tử ẩn danh thì cần phải tao k đơn vi Ui và
chuyển nó đến ngân hàng, một đơn vị Ui được tạo ra 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.
Ui = f(xi,yi), với 1≤i≤k
xi = g(ai,ci), yi=g(ai XOR (u ˄ (v+i)),di).
˄ là phép nối
2- Ông A làm mù k đơn vị Ui với những tham số mù ngẫu nhiên {r1,r2, . . .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.
nrUB bii
i mod
(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ị để 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.
4- Ông A cung cấp cho ngân hàng các tham số ri, ai , ci, di theo yêu cầu.
5- 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 xóa "mù") và
gửi cho ông A.
nB aj mod
(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.
6-Ông A xóa "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ự.
T=f(xj,yj)a mod n [9]
-131-
3.2.3.2 Giao thức thanh toán
1- Ông A gửi tiền T đến ông B
2- Ông B chọn chuỗi nhị phân ngẫu nhiên z1,z2, . . . .zk/2 và gửi nó đến ông A.
3- Ông A phản hồi lại tùy 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 XOR (u ˄ (v+i)) và di
4- Ô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.2.3.3 Giao thức gửi
1- Ông B 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 này thực sự chưa bi 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ừ ô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).
5- Ngân hàng cộng khoản tiền tương ứng vào tài khoản của ông B.
3.2.3.4. Đánh giá
Tai 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 XOR (u ˄ (v+i)) để tính được u. Đó là số tài khoản của ông A tai
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 bit 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 bít 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.
-132-
3.2.3.5. Chi phí
Trong lược đồ CHAUM-FIAT-NAOR, chi phí (thời gian, tính toán, . . .) 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 một packet. việc tiến hành làm
"mù" và xóa "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ữ.
3.2.3.6. 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 và ô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 đồ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.
-133-
3.2.4. 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ố.
Gq là nhóm con cấp q của Z*p 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): Khóa 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à khóa 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, 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.
3.2.4.1. Khởi tạo tài khoản
1. Ông A phát sinh ngẫu nhiên u1, u2 Zq và tính 21 21
uu ggI , sau đó ông A chuyển I
đến ngân hàng (như vậy ngân hàng sẽ không biết được u1, u2).
2. Ngân hàng lưu giữ 21 21
uu ggI 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, 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 I, từ I sẽ tìm được định danh của kẻ gian lận.
Ông A Ngân hàng
Giá trị I u1, u2 Zq
21
21
uu ggI
+ Giá trị I
+ Định danh
+ Số tài khoản
-134-
3.2.4.2. Giao thức rút tiền
Bước 1: Xác thực
Khi ông A tiến hành rút tiền thì đầu tiên phải xưng danh với ngân hàng bằng
cách chứng minh với ngân hàng là sẽ rút tiền trên tài khoản mà ông A sở hữu.
Phương pháp sử dụng ở đây là "chứng minh tri thức của một đại diện", theo
phương pháp này, ông A phải chứng minh với ngân hàng rằng: Ông A biết u1 và u2 (vì
ông ta là chủ sở hữu tài khoản), nhưng không tiết lộ u1,u2 với ngân hàng. Quá trình xác
thực được tiến hành như sau:
1. Ông A chọn ngẫu nhiên w1, w2 Zq và gửi 21 21
ww ggy đến ngân hàng.
2. Ngân hàng thử thách để kiểm tra có phải đúng là ông A sở hữu tài khoản không
bằng cách chọn ngẫu nhiên cr Zq và gửi đến ông A.
3. Ông A tính r1=w1+cru1 mod q , r2=w2+cru2 mod q và gửi đến ngân hàng.
4. Ngân hàng chấp nhận xác thực là đúng nếu và chỉ nếu: 21 21
rrc ggyI r
Bởi vì nếu ông A thực sự la chủ sở hữu tài khoản thì ông ta phải biết u1, u2 (là 2 giá trị
có khi khởi tạo tài khoản) và nếu biết được u1, u2 thì sẽ tính được 21 21
rrc ggyI r
Bước 2: Rút tiền
Nếu như xác thực (bước 1) được chấp nhận thì việc rút tiền được tiến hành
như sau:
1. Ngân hàng trừ một lượng tiền tương ứng từ tài khoản của ông A và tính m= Id (d là
phần tử sinh khởi tao ban đầu, ông A cũng có thể tính được m vì vậy ngân hàng không
gửi m cho ông A).
Ngân hàng gửi z=mx , a=gw và b= mw (w được chọn ngẫu nhiên từ Zq, x là
khóa bí mật cua ngân hàng) đến ông A.
2. Ông A chọn ngẫu nhiên s Z*q, u,vZq để làm mù m, z, a và b
m'=ms=(Id)s= ssusu dgg 21 21 , z' = zs, a' = augv, b'=bsumsv
Tách ngẫu nhiên u1s=x1+x2 mod q , u2s=y1+y2 mod q
s=z1+z2 mod q
Tính A= 111 21
zyx dgg và B = m'/A = 222 21
zyx dgg
Dùng hàm băm H tính c'= H(m',z',a',b',A), tính c= (c'/u) mod q.
Gửi thử thách c đến ngân hàng.
-135-
3. Ngân hàng tính r=xc + w mod q và gửi cho ông A
Ông A kiểm tra gr=hca ? mr=zcb ? nếu thảo mãn thì tính r'=ru+v mod q.
Đến thời điểm này thì ông A có đồng tiền điện tử thực sự được đại điện bởi bộ 3
A B Sign(A,B)
Sign(A,B) =(z', a', b', r')
Vấn đề là làm thế nào chúng ta có thể biết được giá trị của từng đồng tiền ?
Có 2 cách khác nhau để giải quyết vấn đề này.
Cách thứ nhất là ngân hàng sử dụng một khóa công khai khác cho mỗi loại
tiền. Nghĩa là nếu có k đồng tiền khác biệt thì ngân hàng phải công khai k khóa công
khai : (g1, h1). . .(gk, hk).
Cách thứ hai là có k phần tử sinh khác nhau được công khai d1, . . .,dk . Mỗi
phần tử sinh được sử dụng để biểu hiện giá trị của mỗi đồng tiền.
3.2.4.3. Giao thức thanh toán
Khi ông A muốn mua hàng hay sử dụng dịch vụ của ông B, thì trước tiên ông
A phải gửi tiền cho ông B, quá trình thanh toán được thực hiện như sau:
1. Ông A gửi tiền
A B Sign(A,B)
đến ông B.
A= 111 21
zyx dgg và B = m'/A = 222 21
zyx dgg Sign(A,B) =(z', a', b', r')
2. Đầu tiên ông B kiểm tra AB ≠ 1 ?, sau đó ông ta kiểm tra chữ ký của ngân hàng
Sign(A,B) có hợp lệ không.
Nếu đúng, ông B thử thách ông A bằng cách gửi c Z*q c không cần thiết là
số ngẫu nhiên nhưng phải đảm bảo là duy nhất, ngân hàng tính c như sau:
c=Ho(A, B, I, date/time), với I là định danh của ông B, date/time là nhãn thời gian giao
dịch, Ho là hàm băm.
Nếu AB=1 có nghĩa là ban đầu s=0. Điều này không được phép bởi như thế
ngân hàng sẽ không xác định được định danh của người có hành vi tiêu xài hai lần (tức
ngân hàng không tìm được u1, u2).
-136-
3. Ông A phản hồi với
r1=x1+cx2 mod q
r2=y1+cy2 mod q
r3=z1+cz2 mod q
4. Ông B kiểm tra, nếu 321 21
rrr dgg = ABc thì chấp nhận thanh toán.
3.2.4.4. Giao thức gửi
1. Ông B gửi thông tin thanh toán gồm
A B Sign(A,B)
c, r1, r2, r3 đến ngân hàng.
2. Ngân hàng kiểm tra chữ ký có chính xác không và đồng tiền được tiêu xài trước đấy
chưa ?
Nếu tất cả thỏa mãn thì ngân hàng sẽ tiến hành gửi tiền vào tài khoản của ông B.
3.2.4.5. Đánh giá
Lược đồ BRAND sử dụng những lý thuyết toán học phức tap nên để hiểu
được đầy đủ lược đồ là rất khó, chín vì thế lược đồ BRAND không phổ biến như lược
đồ CHAUM-FIAT-NAOR.
Lược đồ không sử dung giao thức cut and choose như lược đồ CHAUM-
FIAT-NAOR, vì vậy sẽ không đòi hỏi phải tạo k mẫu khác nhau cũng như không phải
giữ những bản copy của phần định danh (định danh được chia thành hai phần). Ngân
hàng cũng không cần kiểm tra k/2 mẫu trước khi tiến hành ký.
Độ an toàn của lược đồ BRAND phụ thuộc vào độ khó của của việc tính toán
của logarit rời rạc và như vậy sẽ an toàn hơn lược đồ sử dụng RSA.
Trong lược đồ này định danh của ông A (người mua hàng) được ẩn danh hoàn
toàn. Người bán và ngân hàng không biết định danh của ông A, trừ khi ông A có hành
vi gian lận (tiêu xài hai lần), thì định danh của ông A bi tiết lộ.
Lược đồ này không áp dụng cho giải pháp tiền điện tử có tính chuyển nhượng,
bởi vì nếu cho phép đặc tính này thì lược đồ BRAND sẽ không còn khả năng phát hiện
ra kẻ gian lận trong trường hợp tiêu xài nhiều lần. [7],[8].
-137-
3.2.5. Một số hệ thống tiền điện tử
3.2.5.1. Hệ thống FIRST VIRTUAL
First Virtual là một trong những công ty đầu tiên cung cấp hệ thống chuyển tiền
điện tử qua mạng Internet.
Hệ thống First Virtual hướng tới khách hàng sử dụng credit card (Visa hay
Master) mua bán qua mạng Internet. Hệ thống giải quyết được những rủi ro về an ninh
vốn có đối với phương thức thanh toán qua mạng credit card truyền thống.
1/. Phương thức hoạt động
Để tham gia hệ thống, đầu tiên khách hàng và người bán hàng phải đăng ký với
First Virtual. Cả hai sẽ phải cung cấp cho First Virtual số credit card, sau đó First
Virtual sẽ gửi trở lại một số PIN thông qua email, số PIN sẽ đại diện cho số credit card
của khách hàng. Mọi giao dịch thanh toán sau này sẽ làm việc trên số PIN này, điều
này đảm bảo thông tin về credit card sẽ không bị tiết lộ. [11], [12].
Quá trình đăng ký với First Virtual để mở một tài khoản gồm những bước sau:
- Người dùng vào trang web của First Virtual để điền thông tin vào mẫu đăng
ký. Thông tin gồm có: Tên, địa chỉ, địa chỉ email và yêu cầu cung cấp code. Người
dùng phải cung cấp địa chỉ email chính xác, vì họ sẽ nhận thông tin từ First Virtual
qua địa chỉ email này.
- Nếu thông tin được kiểm tra là hợp lệ, phần mềm của First Virtual sẽ tự động
gửi một email đến người đăng ký, nội dung của email gồm có số tài khoản tạm thời và
số điện thoại.
- Người dùng gọi đến First Virtual thông qua số điện thoại trên email, và họ sẽ
cung cấp cho First Virtual số tài khoản tạm thời (do First Virtual cấp), số credit card
của họ.
- Việc đăng ký hoàn tất, First Virtual sẽ thu của người dùng phí mở tài khoản.
Sau khi có tài khoản của First Virtual, quá trình mua bán diễn ra như sau:
1-Khách hàng gửi yêu cầu mua hàng cùng số PIN (do First Virtual cấp) đến
người bán hàng.
2- Người bán hàng sẽ gửi lại First Virtual những thông tin về hàng hoá, số tiền
mua, số PIN của khách hàng đến First Virtual, nội dung của email thường có dạng:
3- First Virtual gửi email đến người mua hàng, xác nhận lại yêu cầu mua hàng.
-138-
4- Người mua hàng xác nhận những gì họ yêu cầu. Nếu người mua hàng từ
chối, First Virtual sẽ lưu lại thông tin này và quá trình giao dịch bị huỷ bỏ. Trong
trường hợp người mua hàng thường xuyên hủ bỏ những giao dịch mua hàng, First
Virtual sẽ huỷ tài khoản của người này.
5- Nếu người mua hàng xác nhận đồng ý mua hàng, First Virtual sẽ thực hiện
giao dịch tài chính, tiền được chuyển từ khách hàng đến First Virtual, sau đó được
chuyển đến tài khoản của người bán hàng.
6- Sau khi tất cả các bước thực hiện thành công, First Virtual sẽ gửi xác nhận
đến người bán hàng, đến đây họ có thể phân phối hàng, quá trình mua bán kết thúc.
2/. Nhận xét
Hệ thống First Virtual được xây dựng đáp ứng một cơ sở hạ tầng đơn giản,
không đòi hỏi phần mềm cũng như phần cứng phức tạp, chủ yếu dựa trên công nghệ có
sẵn (máy tính và mạng internet). Cơ chế hoạt động của hệ thống giống chức năng của
“credit card reader” trong cửa hàng. Về phía người mua hàng, hệ thống đảm bảo thông
tin không bị tiết lộ. Đối với người bán hàng, hệ thống đảm bảo rằng credit card của
người mua hàng là hợp lệ. Do tính chất của giao dịch thông qua email nên có thể thấy
rằng First Virtual là hệ thống không trực tuyến (“off-line”).
Tuy nhiên do hệ thống giao dịch với người bán hàng cũng như người mua hàng
thông qua email, việc giao dịch sẽ bị chậm lại do tốc độ cảu email. Đồng thời khách
hàng phải luôn kiểm tra email từ First Virtual để xác nhận thông tin. Điều này khiến
cho khách hàng cảm thấy không thuận tiện trong sử dụng.
Một điều đặc biệt trong hệ thống này là vấn đề mã hoá thông tin. Mặc dù
thông tin về số credit card không gửi qua môi trường internet (người dùng cung cấp
trực tiếp cho First Virtual thông qua điện thoại). Tuy nhiên những thông tin giao dịch
khác đều qua email. Như vậy mức độ mã hoá thông tin giao dịch sẽ phụ thuộc vào nhà
cung cấp dịch vụ email, họ mã hoá nội dung email như thế nào. Điều này khiến cho
người sử dụng hệ thống First Virtual không yên tâm.
Hoạt động của First Virtual phải liên quan đến tổ chức ngân hàng và tổ chức
phát hành credit card . Trong trường hợp có gian lận xảy ra, First Virtual phải kết hợp
với những tổ chức này để phát hiện và ngăn chặn.
Hệ thống First Virtual có thể được xem như giải pháp của thế hệ tiền điện tử
đầu tiên, thực hiện đơn giản, mở rộng từ những thực tiễn vốn có của internet. Tuy nhên
hệ thống được đánh giá là không có những tính năng vượt trội, không có khả năng đáp
ứng được xu thế phát triển sau này.
-139-
3.2.5.2. Hệ thống tiền điện tử DIGICASH
1/. Mô hình
Các hệ thống thanh toán điện tử có những ưu điểm nổi bật: đảm bảo được tính an
toàn cao cho các giao dịch và tính ẩn danh cho người sử dụng trung thực. Một trong
những mô hình điển hình là DigiCash.
DigiCash (hay còn gọi là Ecash) là sản phẩm của công ty DigiCash được thành
lập 1990 bởi David Chaum, ông là một chuyên gia quốc tế về lĩnh vực mật mã.
DigiCash là một dạng e-money, sản phẩm này được thiết kế phục vụ cho các giao dịch
an toàn từ PC đến PC thông qua Internet.
Có ba đối tượng sẽ liên quan đến hệ thống DigiCash: Khách hàng, người bán và
nhà phát hành. Thông thường nhà phát hành là một ngân hàng, nơi sẽ phát hành ra
DigiCash.
Điểm nổi trội của hệ thống DigiCash đó chính là tính ẩn danh, khách hàng sẽ
không cần thiết tiết lộ thông tin của mình cho người bán hàng hay nhà phát hành,
ngoại trừ trong trường hợp có gian lận, nghĩa là người mua hàng cố gắng tiêu xài tiền
này hai lần thì Nhà cung cấp có thể tìm được thông tin định danh của người mua hàng
nhằm chống gian lận.
2/. Phương thức hoạt động của hệ thống DigiCash
Để sử dụng được hệ thống, đầu tiên khách hàng cũng như người bán hàng phải
có tài khoản trong ngân hàng có hỗ trợ DigiCash, tài khoản này dùng để rút và gửi
ecash. Đăng ký với DigiCash để có phần mềm đặc biệt “cyber wallet” (túi số).
Quá trình giao dịch chia thành bốn giai đoạn:
a) Tạo tiền điện tử (tương ứng với giao thức rút tiền)
- Phía Alice: Sau khi biết được số tiền cần phải thanh toán, phần mềm “cyber
wallet” thực hiện:
Sinh một dãy số ngẫu nhiên dùng làm số sêri của đồng tiền. Nó được xem
như là dãy số tiền tượng trưng cho số tiền cần phải rút từ ngân hàng.
Gắn mỗi số sêri với một giá trị của đồng tiền.
Mù hóa các giá trị trên, mã hóa bằng khóa riêng và gửi cho ngân hàng.
-140-
- Ngân hàng: sau khi nhận được các thông tin từ Alice, sẽ thực hiện:
Ký mù lên các đồng tiền.
Trừ đi một khoản tiền tương ứng ở trong tài khoản của Alice.
Gửi các đồng tiền đã được ký mù cho Alice.
- Alice sử dụng phần mềm “Cyber wallet” để khử mù đồng tiền và thu được
các đồng tiền có chữ ký hợp lệ của ngân hàng. Các đồng tiền này được lưu trên máy
của Alice và được quản lý bởi phần mềm “Cyber wallet”.
b) Tiêu tiền điện tử (tương ứng với giao thức trả tiền)
- Alice gửi yêu cầu mua hàng đến Bob.
- Bob gửi thông tin trở lại về máy tính của Alice (phần mềm “Cyber wallet”):
số tiền cần thanh toán, thông tin sản phẩm…
- Sau khi Alice xác nhận giao dịch và đồng ý giao dịch, phần mềm “Cyber
wallet” sẽ tự động thu thập các đồng tiền theo đúng yêu cầu.
- Alice gửi các đồng tiền điện tử cho Bob.
c) Đổi tiền điện tử (tương ứng với giao thức gửi tiền)
- Trước khi chấp nhận thanh toán, Bob gửi các đồng tiền điện tử nhận được
đến ngân hàng để kiểm tra tính hợp lệ.
- Ngân hàng kiểm tra chữ ký trên đồng tiền và xem nó được tiêu chưa bằng
cách dựa vào dữ liệu lưu trữ của ngân hàng. Nếu tất cả là hợp lệ, ngân hàng chấp nhận
những đồng tiền, tăng tài khoản của Bob tương ứng với số tiền, đồng thời lưu các dãy
số trên đồng tiền vào danh sách những đồng tiền đã tiêu.
d) Kết thúc giao dịch
Sau khi tất cả đã được kiểm tra hợp lệ, Bob gửi sản phẩm và biên nhận đến Alice
và giao dịch kết thúc.
-141-
3/. Đánh giá
+ Ưu điểm của hệ thống DigiCash
- Chi phí giao dịch thấp.
- Độ an toàn của hệ thống dựa trên hệ mật mã RSA. Phần mềm Cyber Wallet
sẽ tự động sinh một cặp khóa RSA. Tất cả những giao tiếp trong hệ thống DigiCash
được ký số hoá và mã hoá, dựa trên cấu trúc khoá công cộng.
- Đảm bảo tính ẩn danh của người sử dụng. Trong hệ thống Digicash, cả Alice
và Bob đều không cần biết lẫn nhau, và Bob cũng không thể liên kết bất cứ thông tin
nào giữa Alice và các đồng tiền mà Alice đã tiêu. Ở đây, Bob chỉ biết rằng các đồng
tiền mình nhận được là hợp lệ, còn ngân hàng chỉ có nhiệm vụ phát hành đồng tiền
nhưng không thể biết được chủ sở hữu của chúng. Quyền hạn của người sử dụng là rất
mạnh bởi vì những đặc trưng ẩn danh của hệ thống được xây dựng trong phần mềm
khách hàng (làm mù những đồng tiền trước khi gửi đến ngân hàng kiểm tra).
-Không phụ thuộc vào phần cứng: hệ thống Digicash không chỉ sử dụng cho
PC mà còn có thể được áp dụng cho smart card (thẻ thông minh) hay những thiết bị
điện tử khác
+ Nhược điểm của hệ thống DigiCash
- Cả khách hàng và nhà cung cấp đều phải có tài khoản ở cùng một ngân hàng
có hỗ trợ tiền điện tử Digicash.
- Ngân hàng phải có một lượng lớn cơ sở dữ liệu để chứa chuỗi số của những
đồng tiền. Nếu một số lượng lớn người sử dụng bắt đầu sử dụng hệ thống thì kích cỡ
của dữ liệu sẽ trở nên rất lớn và không thể quản lý được.
- Digicash là hệ thống thanh toán trực tuyến, nó đòi hỏi ngân hàng phải tham
gia vào tất cả các giao dịch để kiểm tra tính hợp lệ của đồng tiền.
- Nếu dữ liệu về các đồng tiền bị phá hủy (do máy tính hỏng, thông tin bị giải
mã, ngân hàng bị phá sản…) thì không có cách nào lấy lại những đồng tiền đã bị mất.
Lý do là ngân hàng không có mối liên hệ nào giữa đồng tiền và người sở hữu, trừ phi
người sở hữu đồng ý bỏ tính ẩn danh khi sử dụng Digicash. [11], [12].
Mặc dù hệ thống Digicash có những điều không thuận lợi, song với những ưu
điểm nổi bật mà hệ thống mang lại, Digicash được đánh giá là một hệ thống ‘tiền điện
tử’ có tiềm năng rất lớn.
-142-
3.5.2.3. Hệ thống MILLICENT
Hệ thống millicent được phát triển tại DIGITAL’s System Research Center.
Hệ thống được phát triển nhằm cung cấp một hệ thống thanh toán với giá trị giao dịch
thấp thông qua cơ sở hạ tầng nhỏ thông qua mạng internet. Millicent hỗ trợ những giao
dịch có giá trị từ 1/10 cent đến 5 USD.
1/. Phương thức hoạt động
Hoạt động của hệ thống millicent dựa vào ý tưởng của những scrip (chứng
khoán tạm thời). Trong hệ thống một cái giống như tiền mặt, có cũng có giá trị. Tuy
nhiên có một điều khác biệt là những scrip chỉ có giá trị thật sự khi nó được đem ra
tiêu với một người bán cụ thể nào đấy. Trung tâm của hệ thống là nhà môi giới
(Broker). Về lý thuyết thì bất cứ tổ chức nào cũng có thể đóng vai trò là nhà môi giới.
Tuy nhiên trong thực tế chỉ đơn vị, tổ chức lớn đảm bảo tin cậy, ổn định mới thực hiện
được chức năng này. Bởi vì nhà môi giới chính là đơn vị trung gian kết nối người bán
hàng và khách hàng với nhau, mặc dù họ không biết nhau. Nhà môi giới đóng vai trò
trung gian thay mặt khách hàng làm việc với tất cả người bán hàng và ngược lại nhà
môi giới là trung gian thay mặt người bán hàng làm việc với tất cả các khách hàng.
Có hai loại scrip, đó là Broker scrip và Merchant scrip. Broker scrip là scrip
mà khách hàng mua từ nhà môi giới (Broker). Merchant scrip là scrip là scrip mà nhà
môi giới mua từ người bán hàng. Ví dụ người mua hàng mua từ nhà môi giới 50 scrip
mà mỗi scrip có giá trị 10 cent. Người mua muốn mua 1 vật có giá trị 2 cent, ông ta sẽ
gửi 1 scrip (có giá trị 10 cent) đến nhà trung gian, nhà trung gian sẽ chuyển scrip này
thành Merchant scrip có giá 10 cent của người bán hàng định mua. Người bán kiểm tra
tính hợp lệ những scrip này và gửi lại khách hàng một merchant scrip mới có giá trị 8
cents xem như là tiền thối lại cho người mua. Khách hàng bây giờ có thể giữ scrip này
cho việc mua sau này tại người bán này hay trả lại nó cho Broker nhận lại Broker scrip
để sau này có thể mua của người bán hàng khác.
Về mặt kỹ thuật, hệ thống gồm 3 phần mềm. Một cho khách hàng (client), một
cho server của Broker và một cho người bán. Phần mềm client của khách hàng dạng
như là cái ví để mua Broker scrip và chấp nhận “tiền thừa”từ người bán. Khách hàng
có thể cấu hình Ví để thực hiện chức năng này hay có thể yêu cầu xác nhận tất cả các
giao dịch hay chỉ vài giao dịch nào đó. Phần mềm phí người bán hàng có khả năng tạo,
phân phối hay xác nhận tính hợp lệ của scrip thuộc quyền sở hữu của họ trong khi
Broker server làm cơ bản giống như thế và thêm vào đó đổi scrip sở hữu của nó thành
một Merchant scrip . [11], [12].
-143-
Quá trình giao dịch giữa khách hàng, người mua và nhà trung gian như sau:
Bước 1: Khách hàng kết nối tới nhà trung gian để mua Broker scrip .
Bước 2: Để mua hàng của một người bán nào đó thì người mua cần phải có Merchant
scrip của cửa hàng đó, vì vậy nếu không có người mua sẽ phải mua loại Merchant
scrip này từ nhà môi giới và trả bằng Broker scrip (đã mua trước đây).
Bước 3: Nếu nhà môi giới không có Merchant scrip mà khách hàng cần mua thì nhà
môi giới sẽ mua chính từ người bán đó và gửi cho khách hàng và tiền thừa dưới dạng
Broker scrip mới (nếu có)
Bước 4: Khách hàng tiến hành gửi Merchant scrip cho người bán để thanh toán và
người bán gửi lại tiền thừa ở dạng Merchant scrip (nếu có).
Với Merchant scrip thừa, người mua hàng có thể giữ lại dùng cho việc thanh
toán với người bán này lần sau hay người mua hàng có thể gửi cho Broker để đổi lại
Broker scrip .
2/. Nhận xét
Hệ thống được thiết kế cho một mục đích: Có khả năng cho hệ thống vi thanh
toán (micro-payment) thông qua internet hay những mạng máy tính khác. Những hệ
thống vi thanh toán có thể thực hiện được dựa trên những tính chất được thiết kế:
thanh toán mức thấp và tản quyền. Vì Millicent chỉ chuyển một lượng tiền rất nhỏ ở
mọi lần giao dịch nên những chức năng an ninh của hệ thống có thể rất nhẹ mà vẫn
hiệu quả. Vì hệ thống không cần thiết phải sử dụng những kỹ thuật mật mã mạnh và
phức tạp, điều này cho phép hệ thống chạy với bộ nhớ thấp hay xử lý một lượng lớn
giao dịch tại một thời điểm.
Tính phân quyền của hệ thống đảm bảo những cấp độ hợp lý cao của việc ẩn
danh trong những giao dịch. Hệ thống không đòi hỏi việc định danh của khách hàng
đến ngườibán. Sự lo lắng của người bán là việc tiêu tiền hai lần, sự giả mạo và sự ăn
cắp.
Tính toàn vẹn của hệ thống được bảo vệ bởi việc chia sẻ những bí mật giữa
Broker và người bán. Hơn nữa vì những thanh toán là rất nhỏ nên hệ thống không đòi
hỏi những biên nhận cho mỗi lần giao dịch. Điều này làm cho việc ẩn danh và tốc độ
của hệ thống mạnh lên nhưng khiến cho việc huỷ bỏ bất cứ giao dịch nào là không thể.
Hệ thống thích ứng với môi trường mạng tốt bởi một số lý do: Thứ nhất, nó rất
uyển chuyển và phân tán, tránh bất cứ loại nút cổ chai nào. Nếu số lượng người sử
dụng, khách hàng và người bán tăng lên vượt quá khả năng của Broker thì đơn giản
nhiều Broker sẽ được thêm vào. Việc tạo và kiểm tra của Scrip được thực hiện phân
tán quyền và trong phạm vi trách nhiệm của người bán mà có thể nâng cấp khả năng
theo nhu cầu.
-144-
3.5.2.4. Hệ thống MONDEX
Hệ thống Mondex được phát triển từ năm 1990, được sở hữu bởi Mondex
International mà trong đó Master card nắm giữ 51% từ năm 1996.
Tính đa năng là một trong những nét đặc biệt nhất của hệ thống Mondex. Nó
dựa trên một Smart card mà có thể nắm giữ tiền và chuyển nó cả ở hai cách. Mondex
card là một thẻ ghi nợ theo nghĩa là chỉ có thể sử dụng miễn là nó nắm giữ tiền đã nạp
trước đó.
1/. Phương thức hoạt động
Nắm vai trò chính trong hệ thống là smart card, smart card có tính năng chấp
nhận, chứa và phân phối tiền. Smart card không chỉ chứa giá trị tổng số tiền hiện tại
mà nó còn chứa dữ liệu về lịch sử những giao dịch trước đó. Khả năng chứa dữ liệu
của smart card phụ thuộc vào loại chip tích hợp vào smart card.
Mondex card sẽ do ngân hàng phát hành và mỗi thẻ này sẽ liên quan đến một
tài khoản ngân hàng. Tất cả thẻ sẽ có một chuỗi số đại diện nhằm xác định định danh
của người sở hữu, chuỗi số này là duy nhất. Mọi giao dịch sẽ ghi lại chuỗi số định
danh này.
Hệ thống Mondex là hệ thống hỗ trợ cho hai người trực tiếp thanh toán với
nhau (tính chuyển nhượng) nên việc chuyển tiền trong cả hai card (gửi và nhận) phải
được đưa vào trong vài bộ đọc mà ở đó bắt đầu giao tiếp để xác thực với nhau.
Mã hoá đóng vai trò trung tâm trong lược đồ Mondex , nó đảm bảo rằng
những thẻ được xác thực là đúng và không bị giả mạo được sử dụng trong hệ thống và
việc giao tiếp giữa hai thẻ không thể bị chặn. Do đó giấy biên nhận cuối mỗi phiên
giao dịch chủ yếu là để chứng minh việc chuyển tiền không bị đứt quãng. [11], [12].
2/. Nhận xét
Mondex là hệ thống tiên tiến nhất trong bốn hệ thống tiền điện tử đã trình bày
ở trên. Mondex có một sự ủng hộ từ nhiều tổ chức trong đó Master card là cổ đông lớn
nhất và nhiều cổ đông khác trên toàn thế giới. Với sự hỗ trợ mạnh mẽ này việc triển
khai Mondex sẽ có nhiều thuận lợi hơn những hệ thống tiền điện tử khác. Một điều
quan trọng nhất là sự đa năng của nó: Mondex có thể được sử dụng ở một số trường
hợp khác nhau, chẳng hạn theo lối truyền thống, thanh toán ngang hàng trực tiếp cho
nhau, nó cũng có thể thực hiện trên những mạng khác nhau và cũng có thể sử dụng cho
những thanh toán lớn và cũng như cho thanh toán siêu nhỏ (micro-payment) từ vài
trăm USD đến vài cent.
-145-
3.5.2.5. Hệ thống PAYWORD
Payword là hệ thống thanh toán cho các giao dịch có giá trị nhỏ (micro-
payment), được đề xuất bởi Ronal 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 (nhà môi giới, thường là một ngân hàng) và vendor (nhà cung
cấp)- giả sử là Bob.
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, khoá công khai của Alice,
ngày hết hạn và các thông tin khác được mã hoá bằng khoá bí mật của Broker:
Cu={Broker_id, user_Public_key, expiration_date, other_info}SK.
- 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
Ở đây 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 thoả thuận giữa Alice và Bob. Một thoả 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 identitty)
+ 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-Experation date)
+ Các thông tin khác (IM)
-146-
- Alice dùng khoá 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 trong 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ó
giá trị là 1 cent, mặt hàng Alice cần mua có giá trị 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. [11], [12].
2/. Nhận xét
Ưu điểm:
- Hệ thống Payword có khả năng ngăn chặn 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 thoả thuận và được ký bởi người
sử dụng, còn định danh cảu người sử dụng được đảm bảo bởi chứng nhận Cu được ký
bởi Broker.
-147-
Để phát hiện và ngăn chặn Alice thực hiện hành vi tiêu xài 2 lần một đồng tiền
Bob và Broker chỉ lưu M và Plast, Bob và Broker có thể biết được tất cả các Payword
mà Alice đã tiêu. Nếu Alice gửi lại một Payword đã tiêu cùng với M, hành vi của
Alice lập tức bị phát hiện.
Người sử dụng không phải trả tiền trước. Trong Millicent, tài khoản của Alice
bị trừ ngay lập tức khi Alice rút tiền (dù chưa tiêu) còn trong Payword, tài khoản của
Alice chỉ bị trừ sau khi Bob cập nhật báo cáo Plast với Broker.
Với Payword, cả Broker và nhà cung cấp chỉ cần lưu các thảo thuận M và các
giá trị Plast tương ứng thay vì lưu tất cả các Payword đã tiêu, do vậy tiết kiệm được
không gian lưu trữ. Ngoài ra, việc kiểm tra ngoại tuyến giúp tiết kiệm chi phí đầu tư
cho phía Broker.
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 ra 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 chưa 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ừ đo 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.
-148-
KẾT LUẬN
Luận văn “Một số công cụ công nghệ thông tin dùng trong thanh toán điện tử”
đã trình bày được các vấn đề sau:
1- Tổng quan về an toàn thông tin và thương mại điện tử.
+ Các khái niệm cơ bản trong mật mã học được sử dụng trong các mô hình
thanh toán điện tử.
+ Một số vấn đề rủi ro mất an toàn thông tin và các chiến lược đảm bảo an
toàn thông tin.
+ Một số khái niệm về thương mại điện tử và vấn đề thanh toán trong thương
mại điện tử.
2- Hạ tầng cơ sở đảm bảo an toàn thông tin:
Luận văn đã trình bày các vấn đề cơ bản về hạ tầng mạng máy tính, hạ tầng cơ
sở mật mã khóa công khai (PKI), đảm bảo an toàn thông tin trong giao dịch và thanh
toán điện tử - một phần quan trọng của thương mại điện tử.
3- Các công cụ dùng trong thanh toán điện tử
Luận văn đi sâu nghiên cứu một số công cụ, tiện ích đặc trưng dùng trong thanh
toán điện tử, như thẻ thanh toán, tiền điện tử . . , các vấn đề liên quan khi thanh toán
bằng thẻ và tiền điện tử.
Luận văn cũng nghiên cứu một số hệ thống thanh toán bằng tiền điện tử, đánh giá
những mặt mạnh, mặt hạn chế của từng hệ thống cũng như cách giải quyết các vấn đề
liên quan như đảm bảo tính ẩn danh, vấn đề tiêu xài nhiều lần với một đồng tiền điện
tử.
Trên cơ sở nghiên cứu lý thuyết về công nghệ thanh toán qua thẻ thanh toán, tiền
điện tử, hướng phát triển tiếp theo của luận văn là nghiên cứu các định hướng phát
triển của công nghệ thẻ thông minh, thay đổi giải pháp nhằm đáp ứng sự tiến bộ công
nghệ và phù hợp hơn với thực tế. Nghiên cứu sâu hơn nữa một số công nghệ thanh
toán qua điện thoại di động, thiết bị cầm tay (có nối mạng), phân tích ưu nhược điểm,
đưa ra giải pháp khắc phục, và đề xuất mô hình thanh toán qua điện thoại di động đảm
bảo an toàn - nhanh chóng - thuận tiện cho khách hàng, góp phần vào sự phát triển
chung của thương mại điện tử trong thời gian tới.
-149-
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1]. PGS.TS Trịnh Nhật Tiến (2007), Giáo trình an toàn dữ liệu, Hà Nội
[2]. Phan Đình Diệu (2006), Lý thuyết mật mã và An toàn thông tin, Nxb Đại học
Quốc Gia Hà nội.
[3]. TS. Nguyễn Đăng Hậu (2004), Kiến thức thương mại điện tử, Viện Đào tạo công
nghệ và Quản lý Quốc tế.
Tiếng Anh
[4]. B.Schneier (1996), “Applied Cryptography” 2nd edition, John wiley&sons.
[5]. D.Chaum, E.Van Heijst (1991), “Group signatures”, Proceedings of
EUROCRYPT’91. Lecture Notes in Computer Science, vol 547, Springer-Verlag.
[6]. Zulfikar Amin Ramzan (1999), “Group Blind Digital Signatures: Theory and
Applications”, Master Thesis, MIT.
[7]. D. O’Mahony, M.Peirce, H.Tewari (2001), “Electronic payment systems”,
Artech House.
[8]. H.M. Deitel, P.J. Deitel, T.R. Nieto (2001), “E-Busines & E-Commerce” How
to Progarm, Prentice Hall, New Jersey.
[9]. Chaum, David, van Heijst, Eugene and Pfitzmann, Birgit (1992),
“Cryptographically strong undeniable signatures, unconditionally secure for the
signer” (extended abstract), In CRYPTO 91.
[10]. Chen, Thomas M. and Stephen S. Liu (1995), "ATM Switching Systems", Artech
House, Incorporated.
[11]. Committee on Payment and Settlement Systems (2004), “Survey of developments
in electronic money and internet and mobile payments”, Bank for International
Settlements.
[12] J. Orlin Grabbe (1997), “Cryptography and Number Theory for Digital Cash”.
[13]. IBM (2000), “Deploying a Public Key Infrastructure”, International Technical
Support Organization.
[14]. Policy for PKI Management in the Government of Canada:
[15] Internet
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-MỘT SỐ CÔNG CỤ CÔNG NGHỆ THÔNG TIN DÙNG TRONG THANH TOÁN ĐIỆN TỬ.pdf