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ử

+ 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ử.

pdf149 trang | Chia sẻ: lylyngoc | Lượt xem: 2818 | Lượt tải: 2download
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,vZq để 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:

  • pdfLUẬ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