Tài liệu Khóa luận Nghiên cứu một số giao thức thanh toán qua mạng công khai: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trác Hoàng Long
NGHIÊN CỨU MỘT SỐ GIAO THỨC
THANH TOÁN QUA MẠNG CÔNG KHAI
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trác Hoàng Long
NGHIÊN CỨU MỘT SỐ GIAO THỨC
THANH TOÁN QUA MẠNG CÔNG KHAI
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Cán bộ hƣớng dẫn: PGS.TS Trịnh Nhật Tiến
Cán bộ đồng hƣớng dẫn: ThS Lƣơng Việt Nguyên
HÀ NỘI - 2010
1
LỜI CẢM ƠN
Lời đầu tiên, em xin đƣợc gửi lời cảm ơn chân thành và sâu sắc tới PGS.TS Trịnh
Nhật Tiến, ngƣời thầy đã cho em những định hƣớng và ý kiến quý báu trong suốt quá
trình hoàn thành khoá luận. Sự hƣớng dẫn của thầy đã giúp em hiểu biết sâu rộng về
một số vấn đề liên quan đến bảo mật thông tin đặc biệt trong thanh toán từ xa.
Em xin đƣợc cảm ơn ThS Lƣơng Việt Nguyên đã giúp em hoàn thành khóa luận
một cách tốt nhất
Em xin đƣợc cảm ơ...
62 trang |
Chia sẻ: haohao | Lượt xem: 1095 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Nghiên cứu một số giao thức thanh toán qua mạng công khai, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trác Hoàng Long
NGHIÊN CỨU MỘT SỐ GIAO THỨC
THANH TOÁN QUA MẠNG CÔNG KHAI
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trác Hoàng Long
NGHIÊN CỨU MỘT SỐ GIAO THỨC
THANH TOÁN QUA MẠNG CÔNG KHAI
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Cán bộ hƣớng dẫn: PGS.TS Trịnh Nhật Tiến
Cán bộ đồng hƣớng dẫn: ThS Lƣơng Việt Nguyên
HÀ NỘI - 2010
1
LỜI CẢM ƠN
Lời đầu tiên, em xin đƣợc gửi lời cảm ơn chân thành và sâu sắc tới PGS.TS Trịnh
Nhật Tiến, ngƣời thầy đã cho em những định hƣớng và ý kiến quý báu trong suốt quá
trình hoàn thành khoá luận. Sự hƣớng dẫn của thầy đã giúp em hiểu biết sâu rộng về
một số vấn đề liên quan đến bảo mật thông tin đặc biệt trong thanh toán từ xa.
Em xin đƣợc cảm ơn ThS Lƣơng Việt Nguyên đã giúp em hoàn thành khóa luận
một cách tốt nhất
Em xin đƣợc cảm ơn các thầy, các cô đã giảng dạy em trong suốt bốn năm qua.
Những kiến thức mà các thầy, các cô đã dạy sẽ mãi là hành trang giúp em vững bƣớc
trong tƣơng lai
Em cũng xin đƣợc cảm ơn tập thể lớp K51CA, một tập thể lớp đoàn kết với
những ngƣời bạn luôn nhiệt tình giúp đỡ mọi ngƣời, những ngƣời bạn đã giúp đỡ em
trong suốt bốn năm học tập trên giảng đƣờng Đại học.
Cuối cùng, em xin đƣợc gửi lời cảm ơn sâu sắc tới gia đình và bạn bè, những
ngƣời luôn kịp thời động viên, khích lệ em, giúp đỡ em vƣợt qua những khó khăn để
hoàn thành tốt khoá luận này.
Hà nội, tháng 05 năm 2010
Sinh viên
TRÁC HOÀNG LONG
2
TÓM TẮT NỘI DUNG
Trong xu thế hội nhập quốc tế và khu vực thanh toán điện tử từ xa qua hệ thống
mạng công khai đã trở thành một xu thế tất yếu. Việt Nam cũng đã bắt đầu thử
nghiệm. Mặc dù vẫn còn khá mới mẻ nhƣng chắc chắn nó sẽ là một xu hƣớng trong
tƣơng lai. Mặc dù vậy, để các phƣơng thức thanh toán điện tử có thể thâm nhập vào
cuộc sống và trở nên phổ biến thì cần phải một quá trình nghiên cứu và phát triển hệ
thống này.
Khóa luận sẽ trình bày những kiến thức khái quát nhất về thanh toán từ xa, sau
đó sẽ tập trung nghiên cứu các giao thức thanh toán bằng tiền mặt điện tử dựa trên lý
thuyết mật mã. Khóa luận sẽ trình bày hai thuật toán phổ biến và đƣợc đánh giá là tốt
nhất cho việc thanh toán điện tử qua mạng công khai. Đồng thời khóa luận cũng sẽ xây
dựng một hệ thống điện tử đã đƣợc phát triển trên thế giới đó là hệ thống Digital Cash
System.
3
MỤC LỤC
............................................................................................................ 1
LỜI CẢM ƠN ...................................................................................... 1
TÓM TẮT NỘI DUNG ........................................................................ 2
LỜI MỞ ĐẦU ...................................................................................... 7
Chương 1. CÁC KHÁI NIỆM CƠ BẢN............................................. 9
1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC ............................................ 9
1.1.1 Số nguyên tố và nguyên tố cùng nhau ................................................ 9
1.1.2 Hàm Euler ...................................................................................... 9
1.1.3 Đồng dƣ thức ................................................................................... 10
1.1.4 Không gian Zn và Zn* ..................................................................... 11
1.1.5 Khái niệm phần tử nghịch đảo trong Zn ........................................... 11
1.1.6 Khái niệm nhóm .............................................................................. 12
1.1.7 Các phép tính cơ bản trong không gian modulo................................ 13
1.1.8 Hàm một phía và hàm một phía có cửa sập ...................................... 13
1.1.9 Độ phức tạp tính toán ....................................................................... 15
1.2 HỆ MÃ HÓA ........................................................................................16
1.2.1 Khái niệm mã hoá ............................................................................ 16
1.2.2 Hệ mã hoá đối xứng ......................................................................... 17
1.2.3 Hệ mã hoá công khai ........................................................................ 18
1.3 CHỮ KÝ SỐ .........................................................................................19
1.3.1 Khái niệm chữ ký số ........................................................................ 19
1.3.2 Các loại chữ ký số ............................................................................ 21
1.3.2.1 Chữ ký RSA..............................................................................21
1.3.2.2 Chữ ký một lần .........................................................................22
1.3.2.3 Chữ ký mù ................................................................................23
1.3.2.4 Chữ ký nhóm ............................................................................25
1.3.2.5 Chữ ký mù nhóm ......................................................................26
1.4 MỘT SỐ VẤN ĐỀ LIÊN QUAN .........................................................27
1.4.1 Chứng chỉ số .................................................................................... 27
1.4.2 Đại diện thông điệp .......................................................................... 28
1.4.3 Giao thức cắt và chọn (Cut and Choose) .......................................... 29
1.4.4 Giao thức chia sẻ bí mật (Secret Spliting) ........................................ 29
Chương 2. TỔNG QUAN VỀ THANH TOÁN TỪ XA .................... 30
2.1 GIỚI THIỆU VỀ THANH TOÁN TỪ XA..........................................30
2.1.1 Khái niệm thanh toán từ xa .............................................................. 30
2.1.2 Các mô hình thanh toán.................................................................... 31
2.1.2.1 Mô hình trả sau .........................................................................31
2.1.2.2 Mô hình trả trước......................................................................33
2.1.3 Thanh toán trực tuyến và thanh toán ngoại tuyến ............................. 34
2.2 MỘT SỐ PHƢƠNG THỨC THANH TOÁN TỪ XA ........................35
4
2.2.1 Thanh toán bằng các loại thẻ ............................................................ 35
2.2.2 Thanh toán bằng séc điện tử ............................................................. 36
2.2.3 Thanh toán bằng tiền mặt điện tử ..................................................... 37
2.3 ĐẶC TRƢNG CỦA HỆ THỐNG THANH TOÁN TỪ XA ...............38
Chương 3. CÁC GIAO THỨC THANH TOÁN BẰNG
TIỀN ĐIỆN TỬ .................................................................................. 39
3.1 GIỚI THIỆU VỀ TIỀN ĐIỆN TỬ ......................................................39
3.1.1 Khái niệm tiền điện tử ...................................................................... 39
3.1.2 Cấu trúc tiền điện tử ......................................................................... 39
3.1.3 Phân loại tiền điện tử ....................................................................... 40
3.1.4 Tính chất của tiền điện tử ................................................................. 41
3.2 CÁC GIAO THỨC VỚI TIỀN ĐIỆN TỬ ...........................................43
3.2.1 Các giao thức thanh toán cùng ngân hàng ........................................ 43
3.2.2 Các giao thức thanh toán trong liên ngân hàng ................................. 45
3.3 MỘT SỐ LƢỢC ĐỒ TIỀN ĐIỆN TỬ.................................................47
3.3.1 Lƣợc đồ CHAUM-FIAT-NAOR ...................................................... 47
3.3.1.1 Lƣợc đồ ....................................................................................47
3.3.1.2 Phân tích – đánh giá ..................................................................49
3.3.2 Lƣợc đồ hệ thống Digital Cash ......................................................... 50
3.3.2.1 Lƣợc đồ ....................................................................................50
3.3.2.2 Đánh giá ...................................................................................52
Chương 4. CHƢƠNG TRÌNH MÔ TẢ HỆ THỐNG
DIGITAL CASH ................................................................................ 53
4.1 Giới thiệu ..............................................................................................53
4.2 Yêu cầu và kiến trúc của hệ thống .......................................................53
4.3 Công cụ thực hiện .................................................................................53
4.4 Hƣớng dẫn sử dụng hệ thống đối với khách hàng ..............................54
4.4.1 Cấu hình .......................................................................................... 55
4.4.2 Nhận đồng tiền và khóa công khai của nó ........................................ 55
4.4.3 Rút tiền ............................................................................................ 56
4.4.4 Tiêu tiền ........................................................................................... 57
TÀI LIỆU THAM KHẢO .................................................................. 59
5
DANH SÁCH CÁC HÌNH VẼ TRONG KHÓA LUẬN
Hình 1. 1: Mô hình mã hoá đối xứng
Hình 1. 2: Mã hoá và giải mã của hệ mã hoá khoá công khai
Hình 1. 3: Sơ đồ ký RSA
Hình 1. 4: Sơ đồ chữ ký một lần của Schnorr
Hình 1. 5: Sơ đồ chữ ký mù
Hình 1. 6: Sơ đồ chữ ký mù dựa trên chữ ký RSA
Hình 1. 7: Sơ đồ chữ ký mù nhóm
Hình 2. 1: Mô hình mô phỏng séc
Hình 2.2 : Mô hình mô phỏng tiền mặt
Hình 3. 1: Mô hình giao dịch của hệ thống tiền điện tử trong cùng ngân hàng
Hình 3. 2: Mô hình giao dịch của hệ thống tiền điện tử trong liên ngân hàng
Hình 3. 3: Lược đồ Fiat-Chaum-Naor
Hình 4. 1: Giao diện đăng nhập
Hình 4. 2: Giao diện nhận các đồng tiền ngân hàng có
Hình 4. 3: Giao diện rút tiền
Hình 4. 4: Giao diện thanh toán
6
BẢNG CHỮ VIẾT TẮT
Bảng ký hiệu viết tắt
Từ viết tắt Tiếng Việt Tiếng Anh
TMĐT Thƣơng mại điện tử Electronic Business
TTĐT Thanh toán điện tử Electronic Payment
TTTX Thanh toán từ xa Distance Payment
DBMS Hệ quản trị cơ sở dữ liệu Database management system
Bảng ký hiệu toán học
Ký hiệu Ý nghĩa
|| Nối chuỗi bit
N Tập các số tự nhiên
eK(x) Phép mã hóa thông điệp với khóa K
dK(x) Phép giải mã thông điệp với khóa K
Sig(x) Chữ kí thông điệp trên x
Ver(x, y) Kiểm tra chữ ký y trên thông điệp x
7
LỜI MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của Internet đã làm thay đổi
cuộc sống của con ngƣời, trong đó hoạt động thƣơng mại có những bƣớc thay đổi tích
cực. Thƣơng mại điện tử (TMĐT) dựa trên cơ sở mạng Internet là một phƣơng thức
hoạt động mới của thƣơng mại. Đối với TMĐT thì khâu quan trọng nhất là “thanh
toán” bởi vì mục tiêu cuối cùng của cuộc trao đổi thƣơng mại là việc hàng hóa đƣợc
giao đến cho ngƣời mua và ngƣời bán nhận đƣợc số tiền tƣơng ứng.
Thanh toán từ xa qua mạng công khai là một phƣơng pháp thanh toán đƣợc
thực hiện trên máy tính, các bên tham gia giao dịch có thể thực hiện thanh toán mà
không cần phải gặp trực tiếp
Vấn đề an toàn thông tin trong mọi giao dịch luôn là một yêu cầu nhất thiết phải
có đối với mọi hoạt động thƣơng mại, đặc biệt là các hoạt động thƣơng mại qua mạng
công khai. Các thành tựu của ngành mật mã, đặc biệt là lý thuyết mật mã khóa công
khai đã cung cấp các giải pháp cho vấn đề an toàn thông tin cho các hoạt động thƣơng
mại, tạo cơ sở cho việc xây dựng các hệ thống thanh toán điện tử Sự phát triển trong
lĩnh vực nghiên cứu về hệ thống thanh toán điện tử, với sự ra đời của các mô hình
thanh toán nhƣ mô hình Untraceable Electronic Cash của FIAT-CHAUM-NAOR, hệ
thống DCASH đã tạo nền móng để xây dựng và đƣa vào sử dụng các hệ thống thanh
toán điện tử.
Trong khuôn khổ khóa luận, em sẽ nghiên cứu một cách tổng quan về thanh
toán từ xa qua mạng công khai, các cơ sở mật mã đƣợc ứng dụng trong thanh toán từ
xa. Nghiên cứu một số giao thức thanh toán tiêu biểu và tạo chƣơng trình mô phỏng hệ
thống thanh toán Digital-Cash.
8
Khóa luận bao gồm:
Lời mở đầu: Trình bày sơ lƣợc về thanh toán từ xa qua mạng công khai
Chƣơng 1: Các khái niệm cơ bản
Chƣơng 2: Tổng quan về thanh toán từ xa
Chƣơng 3: Các giao thức thanh toán tiền điện tử
Chƣơng 4: Chƣơng trình mô phỏng hệ thống Digital Cash
Tuy nhiên, do còn nhiều hạn chế về thời gian cũng nhƣ khả năng của bản thân,
khoá luận này không thể tránh khỏi thiếu sót. Em rất mong nhận đƣợc sự quan tâm và
đóng góp ý kiến của các thầy, cô giáo cũng nhƣ các anh, chị và các bạn những ngƣời
quan tâm đến lĩnh vực này.
Em xin chân thành cảm ơn!
9
Chương 1. CÁC KHÁI NIỆM CƠ BẢN
1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC
1.1.1 Số nguyên tố và nguyên tố cùng nhau
Số nguyên tố là số nguyên dƣơng chỉ chia hết cho 1 và chính nó. Ví dụ 1,2,3…
Các hệ mật mã thƣờng dùng các số nguyên tố cỡ 512 bit hoặc lớn hơn
Hai số nguyên dƣơng m và n đƣợc gọi là nguyên tố cùng nhau, nếu ƣớc số
chung lớn nhất của chúng bằng 1, ký hiệu gcd(m, n) = 1.
Ví dụ: 8 và 17 là hai số nguyên tố cùng nhau.
1.1.2 Hàm Euler
1) Định nghĩa
Cho n1, (n) đƣợc định nghĩa là số lƣợng các số nguyên trong khoảng từ [1, n)
nguyên tố cùng nhau với n. Hàm đƣợc gọi là hàm
Euler.
2) Tính chất
1/ Nếu p là số nguyên tố thì (p)=p-1.
2/ Hàm
Euler là hàm có tính nhân:
Nếu gcd(m, n)=1 thì (m*n)=(m). (n).
3/ Nếu n=p1
e1
. p2
e2
... pk
ek
một biểu diễn gồm các thừa số nguyên tố của, n thì:
1 2
1 1 1
( ) 1 1 ... 1
k
n n
p p p
10
1.1.3 Đồng dƣ thức
1) Định nghĩa
Cho a và b là các số nguyên, khi đó a đƣợc gọi là đồng dƣ với b theo modulo n,
ký hiệu là a
b mod n nếu a, b chia cho n có cùng số dƣ. Số nguyên n đƣợc gọi là
modulo của đồng dƣ.
Ví dụ: 5 7 mod 2 vì: 5 mod 2 = 1 và 7 mod 2 = 1
2) Tính chất
Cho a, a1, b, b1, c Z. Ta có các tính chất sau:
1/ a
b mod n nếu và chỉ nếu a và b có cùng số dƣ khi chia cho n
2/ Tính phản xạ: a
a mod n
3/ Tính đối xứng: Nếu a
b mod n thì b
a mod n
4/ Tính giao hoán: Nếu a
b mod n và b
c mod n thì a
c mod n
5/ Nếu a
a1 mod n, b b1 mod n thì a+b (a1+b1 )mod n và ab a1b1 mod n
3) Lớp tương đương
Lớp tƣơng đƣơng của một số nguyên a là tập hợp các số nguyên đồng dƣ với a
theo modulo n.
Cho n cố định đồng dƣ với n trong không gian Z vào các lớp tƣơng đƣơng. Nếu
a=qn +r, trong đó 0
r
n thì a
r mod n. Vì vậy mỗi số nguyên a là đồng dƣ theo
modulo n với duy nhất một số nguyên trong khoảng từ 0 đến n-1 và đƣợc gọi là thặng
dƣ nhỏ nhất của a theo modulo n. Cũng vì vậy, a và r cùng thuộc một lớp tƣơng
đƣơng. Do đó r có thể đơn giản đƣợc sử dụng để thể hiện lớp tƣơng đƣơng.
11
1.1.4 Không gian Zn và Zn*
Không gian các số nguyên theo modulo n:
Zn là tập hợp các số nguyên không âm nhỏ hơn n. Tức là: Zn = {0, 1, .., n-1}
Tất cả các phép toán trong Zn đều đƣợc thực hiện theo modulo n.
Ví dụ: Z25 ={0, 1, 2,..., 24}. Trong Z25: 12 + 20 = 7(mod 25)
Không gian Zn
*
là tập hợp các số nguyên p thuộc Zn sao cho ƣớc chung lớn nhất
của p và n là 1. Tức là, Zn
*
= {p thuộc Zn | gcd(n, p) = 1}
Ví dụ: Z2 = { 0, 1 }; Z
*
2 =| 1 | vì gcd(1, 2)=1
1.1.5 Khái niệm phần tử nghịch đảo trong Zn
1) Định nghĩa
Cho aZn. Nghịch đảo nhân của a theo modulo n là một số nguyên xZn sao cho
a*x1 (mod n). Nếu tồn tại thì đó là giá trị duy nhất và a gọi là khả nghịch, nghịch đảo
của a ký hiệu là a-1.
2) Tính chất
1/ Cho a, bZn. Phép chia của a cho b theo modulo n là tích của a và b
-1
theo
modulo n, và chỉ đƣợc xác định khi b có nghịch đảo theo modulo n.
2/ Giả sử d=gcd(a, n). Phƣơng trình đồng dƣ ax b (mod n) có nghiệm x nếu
và chỉ nếu d chia hết cho b, trong trƣờng hợp các nghiệm d nằm trong
khoảng 0 đến n-1 thì các nghiệm đồng dƣ theo modulo n/d.
Ví dụ: 4-1 = 7(mod 9) vì 4*7 1(mod 9).
12
1.1.6 Khái niệm nhóm
1) Nhóm
Nhóm là bộ các phần tử (G, *) thỏa mãn các tính chất sau:
1/ Tính chất kết hợp: ( x * y ) * z = x * ( y * z )
2/ Tính chất tồn tại phần tử trung gian e G: e * x= x * e = x, x G
3/ Tính chất tồn tại phần tử nghịch đảo x’ G: x’ * x = x * x’ = e
2) Nhóm con
Nhóm con là bộ các phần tử ( S, * ) là nhóm thỏa mãn các tính chất sau:
1/ S G, phần tử trung gian e S
2/ x, y S => x * y S
3) Nhóm cylic
Nhóm Cyclic là nhóm mà mọi phần tử x của nó đƣợc sinh ra từ một phần tử đặc
biệt g G. Phần tử này đƣợc gọi là phần tử nguyên thủy, tức là:
Với x G: n N mà gn = x.
Ví dụ: (Z+, *) là một nhóm cyclic có phần tử sinh là 1
13
1.1.7 Các phép tính cơ bản trong không gian modulo
Cho n là số nguyên dƣơng. Nhƣ trƣớc, các phần tử trong Zn đƣợc thể hiện bởi các
số nguyên {0, 1, 2, …, n-1}. Nhận xét rằng: nếu a, b
Zn thì:
(a+b) mod n = if a+b<n
if
a b
a b n a b n
Vì vậy, phép cộng modulo (và phép trừ modulo) có thể đƣợc thực hiện mà không
cần thực hiện các phép chia dài. Phép nhân modulo của a và b đƣợc thực hiện bằng
phép nhân thông thƣờng a với b nhƣ các số nguyên bình thƣờng, sau đó lấy phần dƣ
của kết quả sau khi chia cho n. Phép tính nghịch đảo trong Zn có thể đƣợc thực hiện
nhờ sử dụng thuật toán Euclidean mở rộng nhƣ mô tả sau:
Nếu b=0 thì đặt d:=a; x:=1; y:=0; return(d; x; y) ;
Đặt x2:=1; x1:=0 ; y2:=0 ; y1:=1 ;
Khi b>0 thực hiện:
q:=[a/b]; r=a-qb; x:=x2-qx1; y:=y2-qy1 ;
a:=b; b:=r; x2:=x1; x1:=x; y2:=y1; y1:=y ;
d:=a ; x:=x2 ; y:=y2 ; return(d, x, y) ;
1.1.8 Hàm một phía và hàm một phía có cửa sập
1) Hàm một phía
Một hàm một phía là hàm mà dễ dàng tính toán ra quan hệ một chiều, nhƣng rất
khó để tính ngƣợc lại. Ví nhƣ biết x thì có thể dễ dàng tính ra f(x), nhƣng nếu biết f(x)
thì rất khó tính ra đƣợc x. Trong trƣờng hợp này “khó” có nghĩa là để tính ra đƣợc kết
quả thì phải mất rất nhiều thời gian để tính toán.
Ví dụ:
Tính y = f(x) = αx mod p là dễ nhƣng tính ngƣợc lại x = logα y là bài toán “khó”
(bài toán logarit rời rạc)
14
2) Hàm một phía có cửa sập
F(x) đƣợc gọi là hàm một phía có cửa sập nếu tính xuôi y = f(x) thì dễ nhƣng tính
ngƣợc x = f-1(y) thì khó tuy nhiên nếu có “cửa sập” thì vấn đề tính ngƣợc trở nên dễ
dàng. Cửa sập ở đây là một điều kiện nào đó giúp chúng ta dễ dàng tính ngƣợc.
Ví dụ:
y = f(x) =x
b
mod n tính xuôi thì dễ nhƣng tính ngƣợc x= ya mod n thì khó vì phải
biết a với a * b
1 (mod(
(n)) trong đó
(n) = (p-1)(q-1)). Nhƣng nếu biết cửa sập
p, q thì việc tính n = p * q và tính a trở nên dễ dàng.
15
1.1.9 Độ phức tạp tính toán
Lý thuyết thuật toán và các hàm tính đƣợc ra đời từ những năm 30 của thế kỉ 20
đã đặt nền móng cho việc nghiên cứu các vấn đề “tính đƣợc”, “giải đƣợc” trong toán
học. Tuy nhiên từ cái “tính đƣợc” đến việc tính toán thực tế là một khoảng cách rất
lớn. Có rất nhiều vấn đề đƣợc chứng minh là có thể “tính đƣợc” nhƣng không tính
đƣợc trong thực tế cho dù có sự hỗ trợ của máy tính. Vào những năm 1960, lý thuyết
độ phức tạp tính toán đƣợc hình thành và phát triển một cách nhanh chóng, cung cấp
nhiều hiểu biết sâu sắc về bản chất phức tạp của các thuật toán và các bài toán, từ
những bài toán thuần túy lý thuyết đến những bài toán thƣờng gặp trong thực tế.
Độ phức tạp tính toán (về không gian hay thời gian) của một tiến trình tính toán
là số ô nhớ đƣợc dùng hay số các phép toán sơ cấp đƣợc thực hiện trong tiến trình tính
toán đó. Dữ liệu đầu vào đối với một thuật toán thƣờng đƣợc biểu diễn qua các từ
trong một bảng ký tự nào đó. Độ dài của một từ là số ký tự trong từ đó.
Cho một thuật toán A trên bảng ký tự Z ( tức là có các đầu vào là các từ trong Z).
Độ phức tạp tính toán của thuật toán A đƣợc hiểu nhƣ một hàm số fa(n) sao cho với
mỗi số n thì fa(n) là số ô nhớ, hay số phép toán sơ cấp tối đa mà A cần để thực hiện tiến
trình tính toán của mình trên các dữ liệu vào có độ dài nhỏ hơn hoặc bằng n. Ta nói:
thuật toán A có độ phức tạp thời gian đa thức, nếu có một đa thức P(n) sao cho với mọi
n đủ lớn ta có: fa(n) p(n), trong đó fa(n) là độ phức tạp tính toán theo thời gian của A.
Bài toán P đƣợc gọi là “giải đƣợc” nếu tồn tại thuật toán để giải nó, tức là thuật
toán làm việc có kết thúc trên mọi dữ liệu đầu vào của bài toán. Bài toán P đƣợc gọi là
“giải đƣợc trong thời gian đa thức” nếu có thuật toán giải nó với độ phức tạp thời gian
đa thức.
Các thuật toán có độ phức tạp giống nhau đƣợc phân loại vào trong các lớp tƣơng
đƣơng. Ví dụ tất cả các thuật toán có độ phức tạp là n3 đƣợc phân vào trong lớp n3 và
ký hiệu bởi 0(n3).
16
1.2 HỆ MÃ HÓA
1.2.1 Khái niệm mã hoá
Thông tin truyền đi trên mạng rất dễ bị trộm cắp. Để đảm bảo việc truyền tin an
toàn, ngƣời ta thƣờng mã hóa thông tin trƣớc khi truyền đi. Việc mã hóa cần theo quy
tắc nhất định.
Hệ mật mã đƣợc định nghĩa là bộ năm (P, C, K, E, D) trong đó:
- P là một tập hữu hạn các bản rõ có thể.
- C là một tập hữu hạn các bản mã có thể.
- K là một tập hữu hạn các khóa có thể.
- E là tập các hàm lập mã.
- D là tập các hàm giải mã.
Với mỗi k
K, có một hàm lập mã
ke E
,
:ke P C
, và một hàm giải mã
kd D
,
:kd C P
sao cho:
,k kd e x x x P
Các hệ thống mật mã gồm hai quá trình:
- Mã hoá: Là quá trình chuyển một thông điệp ban đầu (bản rõ) thành một thông
điệp đƣợc mã hoá (bản mã), sử dụng một thuật toán mã hoá và một khoá mật mã.
- Giải mã: Là quá trình ngƣợc lại, bản mã đƣợc chuyển lại về bản rõ, sử dụng một
thuật toán giải mã và một khoá giải mã.
Mục tiêu của hệ mật mã là từ bản mã “khó” thể lấy đƣợc bản rõ nếu nhƣ không
có khoá giải mã tƣơng ứng.
17
1.2.2 Hệ mã hoá đối xứng
Hệ mã hoá khoá đối xứng hay còn gọi là hệ mã hoá khoá bí mật là hệ mã hoá khi
biết khóa mã hóa có thể dễ dàng tìm đƣợc từ khóa giải mã và ngƣợc lại
Hệ mật mã khóa bí mật yêu cầu ngƣời gửi và ngƣời nhận phải thỏa thuận một
khóa trƣớc khi tin tức đƣợc gửi đi, khóa này phải đƣợc cất giữ bí mật.
Mô hình mã hoá đối xứng gồm hai quá trình mã hoá và giải mã nhƣ sau:
Hình 1. 1: Mô hình mã hoá đối xứng
Ưu điểm
- Tốc độ mã hoá và giải mã nhanh
- Dùng một khoá cho cả hai quá trình mã hoá và giải mã
Nhược điểm
- Không an toàn vì độ phức tạp tính toán phụ thuộc vào khoá.
- Vì bên nhận và bên gửi đều sử dụng một khoá nên khoá cần phải đƣợc truyền trên
kênh an toàn. Điều này làm phức tạp cho hệ thống cài đặt hệ mật mã khoá đối
xứng.
Một số thuật toán mã hoá đối xứng
- DES: 56 bit, không an toàn. Có thể bị bẻ khoá trong khoảng vài phút.
- Triple DES, RDES: mở rộng độ dài khoá trong hệ DES lên tới 168 bit.
- IDEA (International Data Encryption Algorithm): 128 bit, thuật toán này thƣờng
đƣợc dùng trong các chƣơng trình email.
18
1.2.3 Hệ mã hoá công khai
Hệ mã hoá khoá công khai sử dụng một khoá để mã hoá thƣờng đƣợc gọi là khoá
công khai (public – key), và một khoá để giải mã đƣợc gọi là khoá bí mật hay khoá
riêng (private – key).
Trong hệ mật mã khóa công khai, khóa mã hóa khác với khóa giải mã, biết đƣợc
khóa công khai “khó” thể tìm đƣợc khóa bí mật.
Hình 1. 2: Mã hoá và giải mã của hệ mã hoá khoá công khai
Ưu điểm
- Kẻ tấn công biết đƣợc thuật toán mã hoá và khoá mã hoá cũng “khó” có thể tính
đƣợc khoá riêng. Chức năng này đạt đƣợc trên nguyên tắc sử dụng các hàm một
chiều khi tính hàm y=f(x) là dễ nhƣng ngƣợc lại việc tính giá trị x khi đã biết y là
khó.
- Không đòi hỏi kênh truyền bí mật vì khoá mã hoá đƣợc công khai cho tất cả mọi
ngƣời.
Nhược điểm
- Tốc độ mã hoá chậm hơn so với mã hoá khoá đối xứng
Một số thuật toán mã hoá khoá công khai
- RSA: độ dài khoá 512 đến 1024 bit, loại mã này đƣợc dùng nhiều nhất cho web và
chƣơng trình email.
- ElGamal: độ dài khoá từ 512 đến 1024 bit.
19
1.3 CHỮ KÝ SỐ
1.3.1 Khái niệm chữ ký số
Lƣợc đồ chữ ký số là phƣơng pháp ký một thông điệp lƣu dƣới dạng điện tử. Và
thông điệp đƣợc ký này có thể đƣợc truyền trên mạng.
Với chữ ký truyền thống, khi ký lên một tài liệu thì chữ ký là bộ phận vật lý của
tài liệu đƣợc ký. Tuy nhiên, chữ ký số không đƣợc gắn một cách vật lý với thông điệp
đƣợc ký.
Để kiểm tra chữ ký đối với chữ ký truyền thống việc kiểm tra bằng cách so sánh
nó với những chữ ký gốc đã đăng ký. Tất nhiên, phƣơng pháp này không an toàn lắm
vì nó tƣơng đối dễ đánh lừa bởi chữ ký của ngƣời khác. Trong khi chữ ký số thì đƣợc
kiểm tra bằng cách dùng thuật toán kiểm tra đã biết công khai. Nhƣ vậy, “ngƣời bất
kì” có thể kiểm tra chữ ký số. Việc sử dụng lƣợc đồ ký an toàn sẽ ngăn chặn khả năng
đánh lừa (giả mạo chữ ký).
Chữ ký điện tử phải đáp ứng được các yêu cầu:
- Chứng thực: Chữ ký thuyết phục đƣợc ngƣời nhận rằng văn bản chứa nó là do
ngƣời ký gửi đến.
- Chống giả mạo: Chữ ký là bằng chứng cho việc ngƣời ký đã ký lên, bởi không ai
có thể giả mạo chữ ký của ngƣời ký.
- Chống tái sử dụng: Chữ ký không chỉ đặc trƣng cho ngƣời ký mà còn cả văn bản
chứa nó, ngƣời ta không thể di chuyển chữ ký vào một tài liệu khác với vai trò
nhƣ chữ ký hợp pháp của văn bản ấy.
- Chống thay đổi văn bản: Sau khi văn bản đƣợc ký, nó không thể bị sửa đổi vì
mọi sự sửa đổi đều dẫn đến chữ ký không hợp lệ.
- Chống phủ nhận: Ngƣời ký không thể phủ nhận chữ ký của mình trên văn bản.
Một sơ đồ chữ ký số là bộ 5 (P, A, K, S, V) thoả mãn các điều kiện dƣới đây:
- P: tập hữu hạn các thông điệp
- A: tập hữu hạn các chữ ký.
- K: tập hữu hạn các khoá (không gian khoá).
20
- Với mỗi K thuộc K tồn tại một thuật toán ký
ksig
B và một thuật toán xác minh
kver
V.
Mỗi
APsigk :
và
},{: falsetruePxAverk
là những hàm sao cho mỗi bức điện
Px
và mỗi chữ ký
Ay
thoả mãn phƣơng trình dƣới đây:
True: nếu y = sig(x)
False: nếu y # sig(x)
Ver(x,y) =
21
1.3.2 Các loại chữ ký số
1.3.2.1 Chữ ký RSA
Sơ đồ ký RSA (đề xuất 1978)
Hình 1. 3: Sơ đồ ký RSA
1. Sinh khoá
Cho n = pq trong đó, p và q là các số nguyên tố.
Khi đó:
K = {(n, p, q, a, b | n=p*q, p và q là các số nguyên tố và
)n(mod1b*a
}
Các giá trị n và b là công khai, và các giá trị a, p, q là bí mật.
2. Ký
Với mỗi K = {n, p, q, a, b} và x P ta định nghĩa:
y = sigk(x) = x
a
mod n , y A.
3. Kiểm tra chữ ký
verk(x,y)= true x y
b
mod n
22
1.3.2.2 Chữ ký một lần
Sơ đồ chữ ký dùng một lần (one-time signature) là khái niệm vẫn còn khá mới
mẻ song rất quan trọng, đặc biệt là trong một số mô hình về tiền điện tử. Khóa luận sẽ
trình bày về sơ đồ chữ ký dùng một lần của Schnorr.
Với sơ đồ chữ ký dùng một lần của Schnorr, những ngƣời dùng trong cùng hệ
thống có thể chia sẻ một số ngẫu nhiên g và hai số nguyên tố p và q sao cho:
q|(p-1), q1 và gq 1 mod q. Sơ đồ ký nhƣ sau:
Hình 1. 4: Sơ đồ chữ ký một lần của Schnorr
Nhận xét:
Số r không đƣợc dùng quá một lần để tạo ra các chữ ký khác nhau.
Giả sử Alice sử dụng r để ký hai thông điệp m và m’, tạo ra hai chữ ký là (c, y) và
(c’, y’). Khi đó, ta có:
k
kk S
cc
ScrcSr
cc
yy
'
)'()(
'
' Nhƣ vậy, nếu Alice sử
dụng r quá một lần cho hai thông điệp khác nhau, bất kỳ ai có hai thông điệp trên đều
có thể giải mã đƣợc khóa bí mật Sk. Vì vậy sơ đồ chữ kí loại này đƣợc gọi là sơ đồ chữ
ký dung một lần
1. Sinh khoá
- Ngƣời dùng, giả sử là Alice, chọn Sk Zq ngẫu nhiên làm khóa bí mật
- Tính
ks
k gP
mod p làm khóa công khai
2. Ký: Giả sử Alice cần ký lên thông điệp m
- Alice lấy ngẫu nhiên r Zq
*
- Tính x = gr mod p
- Tính c = H(m||x)
- Tính y = (r + cSk) mod q
- Chữ ký trên thông điệp m là cặp (c, y)
3. Kiểm tra chữ ký:
Ver = true x = gr mod p và c = H(m||x)
23
1.3.2.3 Chữ ký mù
1) Giới thiệu chữ ký mù
Chữ ký mù đƣợc Chaum giới thiệu vào năm 1983. Mục đích của chữ ký mù là
làm sao mà ngƣời ký lên văn bản mà không đƣợc biết nội dung văn bản, nghĩa là có
đƣợc chữ ký trên x
P mà không cho ngƣời ký biết giá trị x.
Các bƣớc tiến hành nhƣ sau:
Hình 1. 5: Sơ đồ chữ ký mù
Chứ kí mù đƣợc áp dụng trong kỹ thuật bỏ phiếu từ xa và hệ thống e-money ẩn danh
2) Chữ kí mù dựa trên chữ ký RSA
Bài toán là A muốn lấy chữ ký của B trên x nhƣng không muốn cho B biết x. Quá trình
thực hiện nhƣ sau:
1/ Làm mù x: A làm mù x bằng một hàm: z = Blind(x) và gửi z cho B.
2/ Ký: B ký trên z bằng hàm y = Sign(z) = Sign(Blind(x)) và gửi lại y cho A.
3/ Xoá mù: A tiến hành xoá mù trên y bằng hàm
Sign(x) = UnBlind(y) = UnBlind(Sign(Blind(x))).
Lấy p,q là các số nguyên tố lớn, n=p*q,
(n) = (p-1)*(q-1), ab = 1 mod
(n), r là một số ngẫu nhiên
Zn
1/ Làm mù x: A làm mù x bằng hàm: Blind(x) = x*rb mod n=z và gửi z cho B.
r đƣợc chọn sao cho tồn tại phần tử nghịch đảo r-1(mod n)
2/ Ký: B ký trên z bằng hàm Sign(z) = Sign(Blind(x)) = za mod n=y
và gửi lại y cho A.
3/ Xoá mù: A tiến hành xoá mù y bằng thuật toán:
UnBlind(y) = UnBlind(Sign(Blind(x))) = y* 1r mod n = sign(x).
24
Hình 1. 6: Sơ đồ chữ ký mù dựa trên chữ ký RSA
Ví dụ:
Giả sử ông A gửi ông B thông điệp x=8. Ông B ký lên thông điệp x đã đƣợc làm
mù, thông điệp đƣợc ký sẽ gửi lại ông A, ông A xoá mù.
1/ Theo ví dụ ở phần chữ ký RSA, khi ký trên x=8 thì chữ ký là:
Sign(x)= x
a
mod n= 8
7
mod 15 = 2=y.
2/ Quy trình “ký mù”: ba bƣớc.
Bước 1 (làm mù): làm mù x=8
Blind(x)=x * r
b
(mod n) = 8 * 5
7
(mod 15)=8*78125(mod 15)
= 625000 mod 15 = 10 = z
với r = 5 là số ngẫu nhiên Z15.
Bước 2 (ký): ký trên z
y =Sig(z)= za (mod n) = 107(mod 15)= 10000000 (mod 15) = 10.
Bước 3 (xoá mù): xoá mù y= 10
UnBlind(y)= y / r (mod n) = 10 / 5 (mod 15) = 2. (Bởi vì 2*5(mod 15)=10)
25
1.3.2.4 Chữ ký nhóm
Ngƣời tin cậy Z là trƣởng nhóm chọn hệ thống khóa bí mật, Z chuyển cho mỗi
thành viên trong nhóm một danh sách các khóa bí mật (các danh sách này là khác
nhau) và công bố một danh sá ch các khóa công khai tƣơng ứng (theo thứ tự ngẫu
nhiên) trong thƣ mục công khai tin tƣởng.
- Mỗi thành viên trong nhóm có thể ký bằng khóa bí mật si trong danh sách của anh
ta. Ngƣời nhận kiểm tra chữ ký bằng khóa công khai tƣơng ứng:
h =
isg
mod p.
- Mỗi khóa bí mật si chỉ đƣợc sử dụng một lần
- Z biết danh sách khóa bí mật của mỗi thành viên, vì trong trƣờng hợp cần thiết anh
ta biết đƣợc ai đã tạo ra chữ ký đó. Để làm đƣợc điều này Z mở một chữ ký
- Theo sơ đồ này Z biết danh sách bí mật của mọi thành viên và có thể giả mạo chữ
ký. Điều này có thể giải quyết bằng việc sử dụng các khóa công khai mù
1) Cải biên 1
Chọn p là số nguyên tố, g là phần tử sinh của nhóm nhân Zp
*
.
Thành viên thứ i tự chọn khóa bí mật “thực sự” của mình là si, khóa công khai
“thực sự” là h =
isg
mod p. Trƣởng nhóm Z có danh sách các khóa công khai
khác nhau và tên các thành viên tƣơng ứng trong nhóm
- Mỗi tuần đƣa cho thành viên i một số ngẫu nhiên ri {1, 2, …, p-1}, trong tuần
này, thành viên i sẽ sử dụng s i r i mod (p-1) làm khóa bí mật “mù”. (Khóa mật si
đã bị che bởi ri).
Khóa công khai “mù” tƣơng ứng là h - mù =
ii rsg
= ii rs )g( .
2) Cải biên 2
- Không cần phải có nhóm trƣởng, mỗi thành viên của nhóm gửi các khóa công
khai của họ vào một danh sách khoá công khai của nhóm. Chỉ những thành viên
của nhóm mới có thể gửi các khóa công khai vào danh sách này.
26
1.3.2.5 Chữ ký mù nhóm
Chữ ký số “mù nhóm” kết hợp thuộc tính của chữ ký “nhóm” và chữ ký “mù”.
Sơ đồ chữ ký số “mù nhóm” đƣợc Lysyanskaya và Ramzam đƣa ra năm 1998.
Các thủ tục trong sơ đồ chữ ký “mù nhóm”:
Hình 1. 7: Sơ đồ chữ ký mù nhóm
Setup: Dùng thuật toán xác suất để sinh khoá công khai của nhóm và khoá quản lý
bí mật cho Trƣởng nhóm.
Join: Giao thức tƣơng tác giữa Trƣởng nhóm và thành viên mới của nhóm để cung
cấp cho thành viên này khoá bí mật và chứng nhận thành viên .
Sign: Giao thức tƣơng tác giữa thành viên nhóm là Bob và ngƣời dùng bên ngoài
nhóm là Alice có thông điệp m, để Bob có thể tạo chữ ký $ trên thông điệp này.
Verify: Giải thuật có đầu vào (m, $, ) để kiểm tra chữ ký $ trên thông điệp m.
Open: Giải thuật có đầu vào ($, ) để xác định thành viên của nhóm đã ký chữ ký $.
27
1.4 MỘT SỐ VẤN ĐỀ LIÊN QUAN
1.4.1 Chứng chỉ số
Chứng chỉ khóa công khai là giấy chứng nhận khóa công khai của một thực thể (gọi tắt
là chứng chỉ số). Sử dụng chứng chỉ số có thể đảm bảo đƣợc các mục tiêu chung của
các hệ thống bảo mật:
Tính bí mật: Tài nguyên chỉ có thể đƣợc truy cập bởi ngƣời có thẩm quyền.
Tính toàn vẹn: Tài nguyên chỉ đƣợc sửa đổi bởi ngƣời có thẩm quyền.
Tính khả dụng: Tài nguyên luôn đƣợc sẵn sàng đáp ứng cho ngƣời có thẩm
quyền.
Việc ứng dụng hệ mã hoá công khai trong bảo mật thông tin rất quan trọng. Tuy
nhiên, có một vấn đề nảy sinh là nếu hai ngƣời không quen biết nhau nhƣng muốn tiến
hành giao dịch thì làm sao họ có thể có mã công khai của nhau. Giả sử Alice muốn
giao tiếp với Bob, Alice sẽ vào website của Bob để lấy khóa công khai. Alice sẽ gõ địa
chỉ URL của Bob trên trình duyệt, trình duyệt sẽ tìm DNS của trang Web và gửi yêu
cầu của Alice. Nhƣng không may là kẻ giả mạo Oscar lại nhận yêu cầu của Alice và
trả về trang Web của Oscar là bản sao của Bob hoàn toàn giống trang web của Bob
khiến cho Alice không thể phát hiện đƣợc. Nhƣ vậy lúc này Alice sẽ có khoá công
khai từ Oscar chứ không phải là của Bob. Alice tiến hành mã hoá thông điệp bằng
khoá công khai, Oscar sẽ giải mã thông điệp, đọc thông tin và mã hóa lại bằng khoá
công khai của Bob và gửi thông điệp cho Bob. Nhƣ vậy cả Alice và Bob hoàn toàn
không biết có kẻ thứ ba là Oscar đã đọc đƣợc nội dung của thông điệp, trƣờng hợp xấu
hơn Oscar sẽ thay đổi nội dung của thông điệp trƣớc khi gửi cho Bob.
Nhƣ vậy bài toán đặt ra là phải có một kỹ thuật để đảm bảo rằng khóa công khai
đƣợc trao đổi an toàn không giả mạo.
Để giải quyết vấn đề này cần một tổ chức cung cấp chứng nhận rằng khóa công
khai này thuộc về một ngƣời, một công ty hay tổ chức. Tổ chức gọi là CA
(Certification Authority), và chứng nhận này gọi là chứng thực số hay chứng chỉ số.
28
1.4.2 Đại diện thông điệp
1) Định nghĩa
Hàm H sinh ra giá trị băm h theo công thức: h=H(M)
Trong đó:
- M là thông điệp có độ dài thay đổi
- H(M) là giá trị băm có độ dài cố định
Giá trị băm sinh ra đƣợc gắn vào thông điệp nguồn, ngƣời nhận xác thực thông
báo bằng cách tính lại giá trị băm so với thông điệp hiện tại và so sánh với giá trị băm
gắn trên thông điệp nguồn. Nếu kết quả so sánh giống nhau là hợp lý.
2) Các thuộc tính của hàm băm
Tham số của H là một khối dữ liệu có kích thƣớc bất kỳ
- Hàm băm H là hàm một chiều, nghĩa là dễ dàng tính H(x) cho bất kỳ giá trị x
nhƣng “khó” có thể tìm đƣợc x khi biết H(x) = h.
- H sinh ra giá trị băm có độ dài cố định.
- Hai văn bản giống hệt nhau thì qua hàm băm phải cho ra đại diện giống nhau
- Với mỗi đại diện chỉ có duy nhất một bản gốc tƣơng ứng (trên thực tế)
3) Một số hàm băm
- MD5 (Message Digest): 128 bit, nhanh và đƣợc sử dụng rộng rãi.
- SHA (Secure Hash Algorithm): 160 bit
29
1.4.3 Giao thức cắt và chọn (Cut and Choose)
Giao thức này đƣợc Rabin sử dụng đầu tiên vào năm 1978. Ý tƣởng của giao
thức này là:
- Alice cắt thông điệp thành 2 phần.
- Bob chọn một trong 2 phần.
- Alice giữ phần còn lại.
Ở đây là Alice không biết Bob sẽ chọn phần nào.
Trong hệ thống tiền điện tử, vấn đề đặt ra là làm sao có thể ngặn chặn việc Alice
gửi những đồng tiền không trung thực cho nhà cung cấp để ký. Bởi vì trƣớc khi gửi,
những đồng tiền đã đƣợc Alice làm mù. Vấn đề này có thể giải quyết đƣợc bằng cách
áp dụng giao thức cắt chọn.
- Alice gửi k đồng tiền đã làm mù đến tổ chức phát hành (ngân hàng).
- Tổ chức phát hành chọn k/2 đồng tiền, yêu cầu Alice cung cấp thông tin để xoá
mù k/2 đồng tiền này và kiểm tra để đảm bảo rằng Alice không gian lận. Nếu
không có lỗi xảy ra, tổ chức phát hành sẽ ký lên những đồng tiền còn lại và gửi
chúng cho Alice.
1.4.4 Giao thức chia sẻ bí mật (Secret Spliting)
Giao thức chia sẻ bí mật thƣờng đƣợc dùng, khi ngƣời ta có một bí mật M nhƣng
không muốn để lộ ra, nên chia nhỏ thành nhiều phần P1, …, Pk với các yêu cầu sau:
Từ mỗi phần hoặc một số phần (không phải cả k phần) không thể tính đƣợc M.
Với tất cả các phần P1, …, Pk, ngƣời ta có thể tính đƣợc bí mật M.
Sơ đồ ngưỡng là một dạng sơ đồ chia sẻ bí mật đặc biệt
Cho t, w là các số nguyên dƣơng, t≤w. Sơ đồ ngƣỡng A(t, w) là một phƣơng pháp
phân chia bí mật K cho một tập gồm w thành viên sao cho t bất kỳ có thể tính đƣợc K,
nhƣng một nhóm gồm t-1 thành viên không thể làm đƣợc việc đó.
30
Chương 2. TỔNG QUAN VỀ THANH TOÁN TỪ XA
2.1 GIỚI THIỆU VỀ THANH TOÁN TỪ XA
2.1.1 Khái niệm thanh toán từ xa
Thanh toán là một trong những vấn đề phức tạp nhất của hoạt động thƣơng mại
điện tử (TMĐT). Hoạt động TMĐT chỉ phát huy đƣợc tính ƣu việt của nó khi áp dụng
đƣợc hình thức thanh toán từ xa (thanh toán điện tử).
Thanh toán điện tử (electronic payment) là việc thanh toán tiền thông qua các
thông điệp điện tử (electronic message) thay cho việc thanh toán bằng séc hay tiền
mặt. Bản chất của mô hình TTTX cũng là mô phỏng lại những mô hình mua bán
truyền thống, nhƣng từ các thủ tục giao dịch, thao tác xử lý dữ liệu rồi thực hiện
chuyển khoản, tất cả đều thực hiện thông qua hệ thống máy tính đƣợc nối mạng bằng
các giao thức riêng chuyên dụng.
Về mặt mô hình, một phƣơng thức thanh toán nói chung là một mô tả hoạt động
của một hệ thống xử lý phân tán có nhiều bên tham gia, trong đó có hai bên cơ bản là
bên mua (ngƣời trả tiền) và bên bán (ngƣời đƣợc trả tiền). Các bên đƣợc đại diện bởi
các máy tính của mình nối với nhau qua mạng máy tính, sử dụng chúng để thực hiện
các giao thức thanh toán.
Hệ thống có thể có các tổ chức tài chính (ví dụ các ngân hàng) đại diên cho mỗi
bên. Trong một số hệ thống thanh toán lại sử dụng một thực thể khác đóng vai trò là
ngƣời môi giới, đảm nhiệm việc phát hành những hình thức của tiền hoặc một vật thể
nào đó mang giá trị trao đổi thanh toán thƣờng đƣợc gọi là đồng tiền số (digital coin)
hoặc séc điện tử (electronic cheque) và đổi lại thành tiền mặt.
Đặc trƣng của mô hình TTTX là các bên tham gia sẽ trao đổi với nhau các chứng
từ đƣợc số hóa (thành những chuỗi bit máy tính có thể sử dụng đƣợc ). Bản chất là bên
đƣợc thanh toán có thể thông qua ngân hàng của mình để chuyển tiền vào tài khoản
của mình. Các quá trình này sẽ đƣợc phản ánh trong các giao thức thanh toán của mỗi
hệ thống.
31
2.1.2 Các mô hình thanh toán
Hệ thống TTĐT thực hiện thanh toán cho khách hàng theo một số cách mà tiền
mặt và séc thông thƣờng không thể làm đƣợc. Hệ thống thanh toán cũng cung cấp khả
năng thanh toán hàng hoá và dịch vụ qua thời gian, bằng cách cho phép ngƣời mua trả
tiền ngay, trả tiền sau hoặc trả tiền trƣớc.
2.1.2.1 Mô hình trả sau
Trong mô hình này, thời điểm tiền mặt đƣợc rút ra khỏi tài khoản bên mua để
chuyển sang bên bán, xảy ra ngay (pay-now) hoặc sau (pay-later) giao dịch mua bán.
Hoạt động của hệ thống dựa trên nguyên tắc tín dụng (credit credential). Nó còn đƣợc
gọi là mô hình mô phỏng Séc (Cheque-like model)
Hình 2. 1: Mô hình mô phỏng séc
Với mô hình mô phỏng Séc, bên mua sẽ trả cho bên bán một chứng từ tín dụng
(credit credential) nào đó có tác dụng giống nhƣ séc. Bên bán có hai cách lựa chọn:
chấp nhận giá trị thay thế của tín dụng đó và chỉ liên lạc chuyển khoản với ngân hàng
của mình sau này (pay-later), hoặc liên lạc với ngân hàng của mình trong quá trình
mua bán, việc chuyển khoản xảy ra ngay trong giao dịch (pay-now).
Với pha chuyển khoản, ngƣời đƣợc thanh toán sẽ nêu yêu cầu chuyển khoản với
ngân hàng đại diện của mình để thực hiện liên lạc với ngân hàng đại diện của ngƣời
thanh toán, thực hiện kiểm tra/chấp nhận chứng từ tín dụng, khi đó việc chuyển tiền
thực sự sẽ diễn ra giữa tài khoản của ngƣời thanh toán và ngƣời đƣợc thanh toán.
Ngân hàng đại
diện bên mua
Alice
Bob
Ngân hàng đại
diện bên bán
Chuyển tiền mặt
thực sự
Thông
báo lƣu ý
Chuyển
khoản
Chứng từ tín dụng
32
Kết thúc quá trình này, ngân hàng đại diện bên thanh toán sẽ gửi một thông báo lƣu ý
sự kiện chuyển khoản đó cho khách hàng của mình.
Ở đây, chứng từ tín dụng do ngƣời thanh toán tạo ra, dựa trên những thông tin
riêng về tên tuổi, số tài khoản và có thể là cả tình trạng tài khoản (khả năng thanh toán
đƣợc) của ngƣời thanh toán.
33
2.1.2.2 Mô hình trả trước
Trong mô hình này, khách hàng liên hệ với ngân hàng (hay công ty môi giới –
broker) để có đƣợc chứng từ do ngân hàng phát hành. Chứng từ hay đồng tiền số này
mang dấu ấn của ngân hàng, đƣợc đảm bảo bởi ngân hàng và do đó có thể dùng ở bất
cứ nơi nào đã có xác lập hệ thống thanh toán với ngân hàng này.
Để đổi lấy chứng từ của ngân hàng, tài khoản của khách hàng bị triết khấu đi
tƣơng ứng với giá trị của chứng từ đó. Nhƣ vậy, khách hàng đã thực sự trả tiền trƣớc
khi sử dụng chứng từ này để mua hàng và thanh toán.
Chứng từ ở đây không phải do khách hàng tạo ra, không phải dành cho một cuộc
mua bán cụ thể, mà do ngân hàng phát hành và có thể sử dụng vào mọi mục đích thanh
toán. Vì nó có thể sử dụng giống nhƣ tiền mặt, do đó mô hình này còn đƣợc gọi là mô
hình mô phỏng tiền mặt (Cash-like model).
Khi có ngƣời mua hàng tại cửa hàng và thanh toán bằng chứng từ nhƣ trên, cửa
hàng sẽ kiểm tra tính hợp lệ của chúng, dựa trên những thông tin đặc biệt do ngân
hàng tạo ra trên đó.
Cửa hàng có thể chọn một trong hai cách: Hoặc là liên hệ với ngân hàng để
chuyển vào tài khoản của mình số tiền trƣớc khi giao hàng (deposit-now), hoặc là chấp
nhận và liên hệ chuyển tiền sau vào thời gian thích hợp (deposit-later).
Trƣờng hợp riêng của mô hình mô phỏng tiền mặt là mô hình tiền điện tử
(Electronic Cash)
Hình 2.2 : Mô hình mô phỏng tiền mặt
Bob
Ngân hàng đại
diện bên mua
Alice
Ngân hàng đại
diện bên bán
Chuyển tiền mặt
thực sự
Rút tiền Gửi tiền
Thanh toán
34
2.1.3 Thanh toán trực tuyến và thanh toán ngoại tuyến
1) Thanh toán ngoại tuyến (off-line payment)
Phiên giao dịch giữa ngƣời sử dụng và nhà cung cấp có thể diễn ra, mà không
cần đến sự tham gia của ngân hàng. Nói cách khác, nhà cung cấp tự kiểm tra tính hợp
lệ của đồng tiền, mà không cần sự trợ giúp của bên thứ ba.
Mặc dù, thanh toán ngoại tuyến đƣợc một số ngƣời ƣa dùng, nhƣng trong thực tế
nó dễ gặp phải vấn đề tiêu một đồng tiền nhiều lần, vì vậy nó chỉ thích hợp với các
giao dịch có giá trị thấp.
Trong các năm gần đây, một số hệ thống thanh toán ngoại tuyến đã đƣợc thiết kế,
không chỉ đảm bảo tính an toàn cho ngân hàng mà còn đảm bảo tính bí mật cho ngƣời
sử dụng.
2) Thanh toán trực tuyến (online payment)
Trong mỗi lần giao dịch, nhà cung cấp sẽ yêu cầu ngân hàng kiểm tra tính hợp lệ
của đồng tiền do ngƣời dùng chuyển trƣớc khi chấp nhận thanh toán. Vì vậy, hệ thống
thanh toán trực tuyến có khả năng kiểm tra đƣợc tính tin cậy của đồng tiền.
Thanh toán trực tuyến thích hợp với những giao dịch có giá trị lớn. Với hệ thống
này, quá trình thanh toán và gửi tiền vào ngân hàng tách biệt nhau trong mỗi lần giao
dịch. Do vậy, chi phí về thời gian cũng nhƣ tiền bạc sẽ tốn kém hơn.
35
2.2 MỘT SỐ PHƢƠNG THỨC THANH TOÁN TỪ XA
2.2.1 Thanh toán bằng các loại thẻ
1) Thẻ tín dụng
Thanh toán bằng thẻ tín dụng là phƣơng thức đƣợc sử dụng rộng rãi nhất hiện
nay trên Internet. Để thực hiện giao dịch, ngƣời mua hàng chỉ việc cung cấp số hiệu
thẻ và thời hạn sử dụng của tấm thẻ, ngƣời bán sẽ chuyển các thông tin này đến ngân
hàng để xác nhận giao dịch. Phƣơng thức thanh toán này chủ yếu thực hiện thanh toán
theo kiểu trực tuyến.
Ƣu điểm: Đây là phƣơng thức thanh toán đơn giản và dễ sử dụng.
Nhƣợc điểm: Kiểu thanh toán này không an toàn cho cả hai bên mua và bán,
không cho phép ẩn danh, chi phí cao và không cho phép thanh toán nhỏ lẻ.
Không an toàn cho cả hai bên mua và bán:
- Đối với bên bán: Luôn phải đối mặt với vấn đề gian lận thẻ tín dụng. Các thông
tin mà ngƣời bán đƣợc cung cấp chỉ bao gồm số thẻ, thời hạn sử dụng và giá trị
giao dịch không vƣợt quá khả năng thanh toán của thẻ, hoàn toàn không có gì
chứng minh ngƣời mua hàng là chủ tấm thẻ đó.
- Đối với bên mua: Một bất lợi cho khách hàng trong việc thanh toán thẻ tín dụng
là ngƣời bán có tất cả thông tin của ngƣời sử dụng thẻ. Điều này cho phép ngƣời
bán hàng có thể ăn cắp và sử dụng thẻ tín dụng của khách hàng
Chi phí cao và không cho phép thanh toán nhỏ lẻ: mỗi giao dịch thanh toán bằng
thẻ tín dụng có chi phí cao
Không đảm bảo ẩn danh cho khách hàng:
- Tất cả các cuộc mua hàng đều có thể theo vết. Hơn nữa, các nhà phát hành thẻ có
thể có tất cả thông tin về hồ sơ chi tiêu của ngƣời sử dụng và điều này xâm phạm
nghiêm trọng đến tính riêng tƣ của khách hàng.
36
2) Thẻ “tiền mặt”
Thẻ “tiền mặt” đƣợc phát triển đáp ứng nhu cầu giảm việc giữ tiền mặt của khách
hàng và mong muốn phƣơng tiện thanh toán thuận tiện và linh hoạt hơn. Thẻ “tiền
mặt” được phân loại theo đặc điểm vật lý thành hai loại: thẻ từ và thẻ thông minh.
Thẻ từ, đã tồn tại khá lâu, sử dụng các vạch từ để lƣu trữ thông tin, trong khi thẻ
thông minh sử dụng công nghệ vi mạch để lƣu trữ thông tin, khắc phục nhƣợc điểm về
tính an toàn của thẻ từ. Thẻ thông minh đƣợc thiết kế nhằm ngăn chặn tình trạng giả
mạo và làm sai lệch các thông tin đƣợc lƣu giữ.
2.2.2 Thanh toán bằng séc điện tử
Séc điện tử chính là một hình thức thể hiện của séc giấy. Nói cách khác, séc điện
tử bao gồm tất cả các thông tin trên séc giấy truyền thống nhƣng có thể chuyển đƣợc
bằng thƣ điện tử (e-mail). Chẳng có gì khác hơn một bức thƣ điện tử có khuôn dạng
đặc biệt đƣợc gửi trên Internet. Bên trong bức thƣ điện tử là tất cả các thông tin giống
nhƣ trên một tấm séc giấy gồm tên ngƣời hƣởng, số tiền, ngày thanh toán, số tài khoản
ngƣời trả tiền và ngân hàng của ngƣời trả.
Séc điện tử đƣợc “ký” bằng chữ ký điện tử của ngƣời gửi và đƣợc mã hoá bằng
khoá công khai của ngƣời nhận. Nó cũng gồm một xác nhận số từ ngân hàng của
ngƣời gửi xác nhận rằng số tài khoản là hợp lệ và thuộc về ngƣời ký tờ séc này.
Hệ thống séc điện tử đƣợc thiết kế với các yếu tố: tính toàn vẹn, xác thực và
không thể chối bỏ của thông điệp (sử dụng chữ ký điện tử và chứng nhận điện tử).
Những yếu tố này đủ để ngăn chặn sự giả mạo. Hệ thống này phù hợp với các giao
dịch thanh toán giá trị lớn qua mạng.
37
2.2.3 Thanh toán bằng tiền mặt điện tử
Đây là phƣơng tiện thanh toán đƣợc sử dụng trong thƣơng mại điện tử. Tiền mặt
điện tử e-cash (còn gọi là tiền mặt số, xu số, xu điện tử…) có các thông tin giống nhƣ
trên tiền mặt thông thƣờng: nơi phát hành, giá trị bao nhiêu và số seri duy nhất.
Ngƣời tiêu dùng có thể mua tiền mặt điện tử và lƣu trữ nó trong một ví tiền số
(digital wallet hoặc electronic purse) trên một đĩa nhớ. Ví tiền số gồm bàn phím và
màn hình. Nó có thể đƣợc kết nối tới tài khoản ngân hàng của ngƣời tiêu dùng và có
thể nạp thêm tiền bất cứ lúc nào.
Ngƣời dùng có thể tiêu tiền số tại bất kỳ cửa hàng nào chấp nhận tiền mặt điện
tử, mà không phải mở tài khoản hay chuyển đi số thẻ tín dụng. Ngay khi khách hàng
muốn thanh toán, phần mềm này sẽ thu tiền và chuyển đi đúng số tiền từ số tiền mặt
điện tử đƣợc lƣu trữ.
Việc thanh toán bằng tiền mặt điện tử là uỷ quyền trƣớc và khuyết danh (bằng kỹ
thuật chữ ký mù). Trƣờng hợp có sự giả mạo, ví dụ nhƣ cùng một đồng tiền số nhƣng
xuất hiện hai lần trong thanh toán, tiền mặt điện tử đƣợc mở ra để tìm xem đồng tiền
nào là đã đƣợc “tiêu”.
Tiền mặt điện tử đƣợc ký số bởi ngân hàng phát hành, để số tiền và số seri không
thể bị giả mạo. Nó cũng đƣợc mã hoá để chỉ ngƣời nhận mới có thể sử dụng.
Hệ thống thanh toán bằng tiền mặt điện tử mang đến một số lợi ích cho cả ngƣời
mua và ngƣời bán, thích hợp với các hệ thống thanh toán giá trị nhỏ.
- Giảm chi phí giao dịch.
- Đảm bảo sự ẩn danh.
- Mở rộng thị trƣờng.
- Tránh đƣợc nguy cơ tiền giả.
38
2.3 ĐẶC TRƢNG CỦA HỆ THỐNG THANH TOÁN TỪ XA
Một hệ thống thanh toán từ xa hoàn hảo phải đảm bảo đƣợc các yếu tố sau:
1) Tính an toàn
Hệ thống cần đảm bảo đƣợc tính toàn vẹn cho phiên giao dịch. Để đạt đƣợc điều
này, thứ nhất, hệ thống cần phải đảm bảo không có một “bên thứ ba” nào có khả năng
thay đổi nội dung các thông điệp trong phiên giao dịch; thứ hai, hệ thống phải đảm bảo
chống mọi gian lận từ các bên tham gia giao dịch nhằm đạt đƣợc một giao dịch mua
bán an toàn và hợp lệ.
2) Chi phí giao dịch thấp và tốc độ thanh toán nhanh
Chi phí giao dịch và thời gian thanh toán là những yếu tố mà ngƣời mua luôn
quan tâm. Họ sẽ không cảm thấy ƣa thích hình thức thanh toán này nếu nhƣ họ phải
chịu một chi phí giao dịch chiếm một tỷ lệ phần trăm cao trên trị giá hàng hoá và thủ
tục thanh toán phức tạp, rắc rối làm mất nhiều thời gian của họ.
3) Chấp nhận các giao dịch nhỏ
Hệ thống thanh toán cho phép ngƣời mua có thể thanh toán đƣợc những món
hàng với số tiền rất nhỏ.
4) Đảm bảo tính bí mật
Việc đảm bảo tính bí mật cho khách hàng là một điều mà hệ thống thanh toán rất
cần phải có, bởi vì giao dịch thanh toán đƣợc thực hiện trên Internet, nơi có rất nhiều
nguy cơ xâm nhập trái phép vào hệ thống, và khi mà bên mua và bên bán có thể không
biết gì về nhau và không có lý do nào để phải tin tƣởng nhau.
5) Đảm bảo công bằng cho các bên tham gia
Đảm bảo cho hai bên ngƣời mua và ngƣời bán không bị thiệt hại do lỗi của hệ
thống hay sự gian lận của các bên tham gia hệ thống.
6) Thân thiện với người sử dụng
Hệ thống phải có cơ chế thanh toán đơn giản và dễ hiểu để phù hợp với nhiều đối
tƣợng ngƣời dùng.
7) Dễ dàng tích hợp
Hệ thống thanh toán có khả năng tƣơng thích với các hệ thống khác để bảo bảo
thực hiện thanh toán an toàn.
39
Chương 3. CÁC GIAO THỨC THANH TOÁN BẰNG
TIỀN ĐIỆN TỬ
3.1 GIỚI THIỆU VỀ TIỀN ĐIỆN TỬ
3.1.1 Khái niệm tiền điện tử
Tiền điện tử (digital money, electronic currency, digital currency hay internet
money) là một thuật từ vẫn còn mơ hồ và chƣa đƣợc định nghĩa rõ ràng. Tuy nhiên có
thể hiểu tiền điện tử là loại tiền trao đổi theo phƣơng pháp “điện tử”, liên quan đến
mạng máy tính và những hệ thống chứa giá trị ở dạng số (digital stored value systems).
Hệ thống tiền điện tử cho phép ngƣời dùng có thể thanh toán khi mua hàng bằng
cách truyền đi các dãy số từ máy tính (hay thiết bị lƣu trữ nhƣ smart card) tới máy tính
khác (hay smart card). Giống nhƣ số hiệu (serial) trên tiền giấy, số hiệu của tiền điện
tử là duy nhất. Mỗi "đồng" tiền điện tử đƣợc phát hành bởi một tổ chức (ngân hàng) và
đƣợc biểu diễn cho một lƣợng tiền thật nào đó.
3.1.2 Cấu trúc tiền điện tử
Với mỗi hệ thống thanh toán điện tử, tiền điện tử có cấu trúc và định dạng khác
nhau, nhƣng đều bao gồm các thông tin chính sau:
Số sêri của đồng tiền
Giống nhƣ tiền giấy, số seri đƣợc dùng để phân biệt các đồng tiền khác nhau.
Mỗi đồng tiền điện tử có một số seri duy nhất. Khác với tiền mặt, số seri của đồng tiền
điện tử thƣờng là một dãy số đƣợc sinh ngẫu nhiên. Điều này có liên quan đến tính ẩn
danh của ngƣời dùng
Giá trị của đồng tiền
Mỗi đồng tiền điện tử có giá trị tƣơng đƣơng với một lƣợng tiền thật nào đó. Với
tiền mặt thông thƣờng, mỗi đồng tiền có một giá trị nhất định, nhƣng với tiền điện tử,
giá trị này có thể là con số tuỳ ý.
40
Hạn định của đồng tiền
Để đảm bảo tí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.
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.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ử định 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.
41
3.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ố.
42
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.
43
3.2 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ả.
3.2.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. 1: Mô hình giao dịch của hệ thống tiền điện tử trong 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
44
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ó.
45
3.2.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. 2: Mô hình giao dịch của hệ thống tiền điện tử trong liên 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
46
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.
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.
47
3.3 MỘT SỐ LƢỢC ĐỒ TIỀN ĐIỆN TỬ
3.3.1 Lƣợc đồ CHAUM-FIAT-NAOR
3.3.1.1 Lƣợc đồ
Lƣợc đồ hệ thống tiền điện tử Chaum1 - Fiat2 - Naor3 có tính ẩn danh. Để bảo
đảm tính ẩn danh của đồng tiền, lƣợc đồ sử dụng “chữ ký mù” RSA. Trong đó khoá
mật là a, khóa công khai là (n, b), hai hàm f, g là không “va chạm”.
Mỗi ngƣời dùng có tài khoản u số, ngân hàng giữ số đếm v liên quan đến số tài
khoản u (đếm số đơn vị tiền Ui đƣợc tạo ra), ngân hàng dựa vào u để xác định kẻ gian.
Hình 3. 3: Lược đồ Fiat-Chaum-Naor
1
3
2
5
4
48
1. Giao thức rút tiền
a) Alice muốn rút ngân hàng một đồng tiền ẩn danh, thì phải tạo k đơn vị tiền Ui
và chuyển chúng đến ngân hàng. Mỗi Ui đƣợc tạo từ các số ngẫu nhiên ai, ci, di
sao cho Ui độc lập và duy nhất, 1 i k. Với phép XOR: , phép nối , định
nghĩa: Ui = f (xi, yi ), xi = g ( ai, ci ), yi = g (ai (u (v + i)), di ).
b) Alice làm “mù” k đơn vị tiền Ui thành Bi bằng tham số “mù” ngẫu nhiên ri và
gửi chúng đến ngân hàng. Tham số “mù” đó ngăn chặn ngân hàng xem nội
dung những “đồng tiền” Ui. Cụ thể Bi = Ui ri
b
mod n. (Làm “mù” theo RSA).
c) Để ngăn ngừa ngƣời rút tiền “gian lận” giá trị đồng tiền, lƣợc đồ đã sử dụng
giao thức “Cắt và chọn” (Cut and choose).
Ngân hàng chọn ngẫu nhiên k/2 đơn vị tiền Ui để kiểm tra, yêu cầu ông A cấp
các tham số ai, ci, di , ri tƣơng ứng với những đơn vị Ui mà ngân hàng đã chọn.
d) Alice cung cấp cho ngân hàng các tham số ai, ci, di , ri theo yêu cầu.
e) Dựa vào các tham số do Alice cung cấp, ngân hàng xóa “mù” k/2 đơn vị tiền Ui
đã chọn, kiểm tra để đảm bảo rằng Alice không có gian lận.
Nếu không có gian lận, ngân hàng ký “mù” lên những đơn vị tiền Uj còn lại
(những đơn vị Uj mà ngân hàng không xoá “mù”, chính là Bj ), và gửi cho
Alice. Chữ ký trên Bj là Bj
a
mod n. Chú ý j ngẫu nhiên ≤ k, và chỉ dùng k/2
phần tử Bj. Sau đó ngân hàng trừ số tiền tƣơng ứng vào tài khoản của Alice.
f) Alice xoá “mù” đơn vị Bj đã đƣợc ngân hàng ký, bằng cách chia Bj
a
cho rj. Lúc
này ông Alice có đồng tiền điện tử với giá trị thật sự.
T = Uj
a
mod n = f (xj, yj)
a
mod n
2. Giao thức Thanh toán
a) Alice gửi đồng tiền T tới Bob
b) Bob chọn chuỗi nhị phân nhiên z1 z2… z k / 2 và gửi nó đến Alice
c) Alice phản hồi lại tùy theo trƣờng hợp sau:
+ Nếu zi = 1 thì Alice sẽ gửi đến Bob: ai, ci và yi
+ Nếu zi = 0 thì Alice sẽ gửi đến Bob: xi, ai (u (v + i)), di.
d) Bob kiểm tra T là hợp lệ trƣớc khi chấp nhận thanh toán của ông Alice.
49
3. Giao thức gửi tiền
a) Bob gửi lịch sử thanh toán đến Ngân hàng
b) Ngân hàng kiểm tra chữ kí số của Ngân hàng
c) Ngân hàng kiểm tra đồng tiền này có bị tiêu xài trƣớc đó hay chƣa
d) Ngân hàng nhập vào cơ sở dữ liệu những đồng tiền đã tiêu xài, ghi lại chuỗi nhị
phân zi và những phản hồi tƣơng ứng từ Alice. Điều này giúp phát hiện kẻ tiêu
xài hai lần
e) Ngân hàng ghi T vào tài khoản của Bob
3.3.1.2 Phân tích – đánh giá
Lƣợc đồ Chaum - Fiat - Naor là lƣợc đồ hệ thống tiền điện tử có tính ẩn danh.
1). Để bảo đảm tính “ẩn danh” của đồng tiền, lƣợc đồ đã sử dụng “chữ ký mù” RSA.
2). Để ngăn ngừa ngƣời rút tiền “gian lận” giá trị đồng tiền, lƣợc đồ đã sử dụng giao
thức “Cắt và chọn”.
Ngân hàng chọn ngẫu nhiên k/2 đơn vị Ui để kiểm tra, nếu không có gian lận thì
mới ký “mù” các đơn vị Uj còn lại. Theo lý luận trên về giao thức “Cắt và chọn”,
ngân hàng có sự đảm bảo cao rằng đồng tiền còn lại Uj cũng hợp lệ, nếu k càng lớn.
3). Để ngăn chặn “tiêu xài hai lần” một đồng tiền, lƣợc đồ 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. Nếu nó đƣợc “tiêu xài hai lần”,
thì thông tin định danh trên hai lần “tiêu xài”sẽ kết hợp lại, để truy vết tìm ra kẻ gian.
Nếu ông A tiêu tiền T hai lần, thì ngân hàng có thể lấy đƣợc cả hai tham số ai và
ai (u (v + i)) để tính đƣợc u. Đó là số tài khoản của ông A tại 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 hai lần với
cùng một đồng tiền.
Vì khả năng có cặp bít khác nhau trong 2 chuỗi z1, z2, …, zk/2 và z‟1, z‟2, …,
z‟k/2 là rất cao. Chỉ cần có một cặp bit tƣơng ứng zi và z’i khác nhau, là ngân hàng có
thể có chuỗi zi và z’i trùng nhau là
2/2
1
k
, tức là ngân hàng không có đủ thông tin để tìm
ra đƣợc định danh của ông A. Nhƣ vậy nếu chọn k đủ lớn thì khả năng hai chuỗi zi và
z’i trùng nhau có thể xem là khó thể xảy ra.
50
3.3.2 Lƣợc đồ hệ thống Digital Cash
3.3.2.1 Lƣợc đồ
1. Giao thức rút tiền
Giả sử Alice muốn rút 100$, sẽ có các bƣớc thực hiện sau:
a) Sinh một số ngẫu nhiên N (Số Serial của đồng tiền). Số ngẫn nhiên đủ dài để
đảm bảo tránh việc 2 serial trùng nhau
b) Alice làm mù N với 1 số ngẫu nhiên bí mật r
c) Alice mã hóa giá trị serial đã đƣợc mù hóa với khóa công khai của ngân hàng
và gửi tới ngân hàng giá trị của đồng tiền (100$) và serial đã đƣợc mù hóa trên
Khi nhận đƣợc yêu cầu và các giá trị Alice gửi lên ngân hàng sẽ thực hiện:
a) Giải mã nó với khóa bí mật của mình
b) Ngân hàng kiểm tra xem tài khoản của Alice có đủ để rút đông tiền mà Alice
yêu cầu. Nếu không đủ thì gửi lại thông điệp cho Alice với nội dung “Tài khoản
của bạn không đủ để rút tiền” còn ngƣợc lại thì sẽ kí lên serial đã đƣợc làm mù với
khóa bí mật tƣơng ứng với giá trị đồng tiền (Ở đây, mỗi loại tiền sẽ tƣơng ứng với
một cặp chữ kí số), trừ vào tài khoản của Alice một lƣợng tiền bằng lƣợng tiền
đƣợc yêu cầu. Sau đó mã hóa nó với khóa công khai của Alice và gửi nó tới Alice
Sau khi nhận đƣợc thông điệp Alice sẽ thực hiện:
a) Giải mã thông điệp với khóa bí mật của mình
b) Xóa mù đồng tiền
c) Kiểm tra chữ kí của ngân hàng với khóa công khai của ngân hàng cho đồng tiền
có giá trị 100$
d) Lƣu đồng tiền lại trong túi của mình
51
2. Giao thức thanh toán
Giả sử Alice cần trả cho Bob 100$ thì cô ấy cần thực hiện:
a) Tạo một cặp khóa bí mật cho thuật toán mã hóa đối xứng chẳng hạn nhƣ DES
b) Lây từ túi của mình đồng tiền có giá trị 100$, sử dụng khóa công khai của Bob.
Để mã hóa một thông điệp bao gồm: đồng tiền, khóa bí mật đã tạo ở trên và những
thông tin của việc mua bán và gửi tới Bob
Sau khi nhận đƣợc thông điệp Bob sẽ thực hiện:
a) Giải mã thông điệp với khóa bí mật của mình và lấy đồng tiền số từ thông điệp
b) Kiểm tra chữ kí của ngân hàng cho đồng tiền số trên với khóa công khai của
ngân hàng cho đồng tiền có giá trị 100$ trên
c) Nếu việc kiểm tra lỗi thì sẽ trả lại đồng tiền cho Alice và thông báo “đồng tiền
lỗi” với khóa đối xứng bí mật đƣợc gửi ở trên
d) Nếu hợp lệ thì Bob sẽ phải gửi ngay đồng tiền đó tới ngân hàng.
e) Nếu việc gửi tiền thành công thì Bob sẽ giao hàng cho Alice
3. Giao thức gửi tiền
Khi nhận đƣợc thông điệp gửi tiền của Bob ở trên thì ngân hàng sẽ thực hiện:
a) Giải mã thông điệp với khóa công khai của mình
b) Kiểm tra chữ ký của đồng tiền
c) Nếu chữ ký đúng thì kiểm tra xem đồng tiền đã bị tiêu chƣa ở trong cơ sở dữ
liệu lƣu trữ những đồng tiền đã tiêu
d) Nếu đồng tiền chƣa đƣợc tiêu thì cộng vào tài khoản của Bob một lƣợng tiền
bằng lƣợng tiền tƣơng ứng (100$) và thêm đồng tiền trên vào cơ sở dữ liệu lƣu
trữ những đồng tiền đã tiêu
52
3.3.2.2 Đánh giá
a) Ƣu điểm:
- 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).
b) Nhƣợc điểm
- 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
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.
53
Chương 4. CHƢƠNG TRÌNH MÔ TẢ HỆ THỐNG
DIGITAL CASH
4.1 Giới thiệu
Chƣơng 4 sẽ trình bày về chƣơng trình mô tả hệ thống Digital Cash. Hệ thống sẽ
mô tả cách thức sử dụng tiền điện tử để thanh toán qua mạng công khai. Hệ thống sẽ
có 3 chức năng: withdraw (rút tiền), payment (tiêu tiền), deposit (trả tiền)
4.2 Yêu cầu và kiến trúc của hệ thống
Hệ thống gồm có 3 thành phần: Khách hàng (client), Ngân hàng (server), cơ sở
lƣu trữ dữ liệu (DBMS). Đối với khách hàng cần có giao diện thân thiện để thuận lợi
cho việc thực hiện giao dịch. Khách hàng chỉ cần thực hiện các thao tác đơn giản là có
thể thực hiện đƣợc các giao dịch. Chẳng hạn khách hàng muốn rút tiền thì chỉ cần bấm
vào đồng tiền cần rút thì hệ thống sẽ tự động tạo ra số serial của đồng tiền và làm mù
nó, sau đó chuyển đến cho ngân hàng và ngân hàng sẽ tự động ký mù và chuyển trở về
cho khách hàng. Việc giao dịch đƣợc thực hiện qua giao thức mạng TCP/IP. DBMS là
hệ thống lƣu trữ cơ sở dữ liệu mà cả khách hàng và ngân hàng đều phải có. Đối với
khách hàng thì DBMS lƣu trữ các đồng tiền mà mình đã rút và các thông tin lien quan
còn đối với ngân hàng thì DBMS lƣu trữ các thông tin và tài khoản của khách hàng, và
các thông tin về các cuộc giao dịch
4.3 Công cụ thực hiện
Để có thể sử dụng chƣơng trình thì các thiết bị phần cứng cần tối thiểu 1GB dung
lƣợng trống và 128MB bộ nhớ trong
Công cụ Java 2 SDK đƣợc sử dụng để tạo hệ thống. Hệ thống chạy trên hệ điều
hành window.
Hệ thống cần 2 cơ sở dữ liệu MYSQL để có thể lƣu thông tin tài khoản của từng
khách hàng và lƣu các đồng tiền có của khách hàng
54
4.4 Hƣớng dẫn sử dụng hệ thống đối với khách hàng
Giao diện khi đăng nhập sẽ là
Hình 4. 1: Giao diện đăng nhập
55
4.4.1 Cấu hình
Để có thể sử dụng đƣợc chƣơng trình thì đầu tiên phải cấu hình cho nó với:
+ Client ID: ID của khách hàng muốn sử dụng dịch vụ đó
+ JDBC URL: địa chỉ cơ sở dữ liệu để lƣu trữ đồng tiền của khách hàng đó
+ Bank Host: địa chỉ của ngân hàng
+ Bank Port: Cổng mà ngân hàng mở để thực hiện giao dịch
4.4.2 Nhận đồng tiền và khóa công khai của nó
Tiếp theo trong tab Denominations (đồng tiền) để chứa các đồng tiền mà ngân
hàng hiện đang có. Mỗi khi click vào nút Refresh thì ngân hàng sẽ gửi về cho khách
hàng các loại đồng tiền mà ngân hàng có, đồng thời khóa công khai của đồng tiền đó.
Ở đây trong chƣơng trình này thì ngân hang có 8 đồng tiền là 1. 00, 2. 00, 3. 00, 5. 00,
10. 000, 25. 00, 200. 000, 100. 000
Hình 4. 2: Giao diện nhận các đồng tiền ngân hàng có
56
4.4.3 Rút tiền
Ở trong tab withdraw (rút tiền) là giao thức rút tiền
Hình 4. 3: Giao diện rút tiền
Nếu muốn rút một đồng tiền thì khách hàng sẽ chọn trong comboBox sau đó
click vào button Withdraw a bill. Khi đó số đồng tiền mà khách hàng có trong túi của
mình (những đồng tiền đã rút ở ngân hàng mà chƣa tiêu) sẽ xuất hiện trong khung bên
cạnh (Bills in my purse)
57
4.4.4 Tiêu tiền
Để thực hiện giao thức tiêu tiền thì khách hàng sẽ thực hiện ở trong tab Payment
(thanh toán)
Việc thực hiện việc tiêu tiền đƣợc thực hiện giữa 1 bên là khách hàng và 1 bên là
bán hàng tuy nhiên cả 2 đều là khách hàng của ngân hàng nên cả 2 đều sử dụng
chƣơng trình trên chỉ có cách thức thực hiện của mỗi bên là khác nhau.
Phía bán hàng sẽ thực hiện mở Port để giao dịch
Hình 4. 4: Giao diện thanh toán
Còn phía mua hàng thì sẽ phải thực hiện
Gõ địa chỉ của nơi bán hàng (Service Host)
Gõ cổng mà nơi bán hàng đã mở (Dest Port) đã đƣợc thực hiện ở bƣớc trên do
ngƣời bán hàng
Chọn đồng tiền có trong túi mình để trả (Choose coins to pay)
Sau khi thực hiện xong việc mua – bán thì ngƣời bán hàng sẽ phải lập tức kết nối
tới ngân hàng để kiểm tra tính hợp lệ của đồng tiền đồng thời phải gửi đồng tiền đó tới
ngân hàng ngay. Việc này đƣợc chƣơng trình thực hiện tự động, ngƣời dung không
phải thực hiện bất cứ điều gì. Nếu việc gửi tiền thành công sẽ có thông báo lại cho
ngƣời dùng
58
KẾT LUẬN
Kết quả chính của khóa luận gồm có :
1) Tìm hiểu và nghiên cứu qua các tài liệu để hệ thống lại các vấn đề sau:
Tổng quan về thanh toán từ xa
Các giao thức thanh toán bằng tiền điện tử
2) Thử nghiệm chƣơng trình mô tả hệ thống : Digital Cash:
59
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Phan Đình Diệu. Lý thuyết mật mã và An toàn thông tin. Nxb Đại học Quốc Gia
Hà Nội, 2006.
[2] TS. Nguyễn Đăng Hậu. Kiến thức thương mại điện tử. 11 - 2004.
[3] PGS. TS Trần Hoàng Ngân & Ngô Minh Hải. Sự phát triển ngân hàng điện tử tại
Việt Nam.
[4] PGS. TS Trịnh Nhật Tiến. Một số vấn đề về an toàn dữ liệu.
Tiếng Anh
[5] FengXue: A thesis submitted to the Faculty of Graduate Studies and Research In
partial fulllment of the requirements for degree of Master of Science
[6] Adagunodo Emmanuel Rotimi, Awodele Oludele & Ajayi Olutayo Bamidele.
SMS Banking Services: A 21st Century Innovation in Banking Technology.
[7] B. Schneier. “Applied Cryptography”. 2nd edition, 1996.
[8] D. Chaum, E. Van Heijst. “Group signatures”. Proceedings of
EUROCRYPT‟91. Lecture Notes in Computer Science, vol. 547, Springer-
Verlag, 1991, tr. 241-246.
[9] D. O‟Mahony, M. Peirce, H. Tewari. “Electronic payment systems”. Artech
House. 2001.
[10] Gavin Troy Krugel. “Mobile Banking Technology Options”. 8 - 2007.
[11] GSM ISO Standard 11. 11, 11. 14, 11. 17 (for GSM network).
[12] John Wiley & Sons. “Mobile messaging technologies and services SMS, EMS
and MMS”, LTD - 2003.
[13] Klaus Finkenzeller, Giesecke & Devriment GmbH, Munich. “RFID Hand book,
Fundementals and Application in Contactless Smart Cards and Identification”.
Second edition, 2003.
[14] Markus Jakobsson, David Mraihi, Yiannis Tsiounis, Moti Yung. “Electronic
Payment: where do we go from here?”. 1999.
[15] M. Sherif. “Protocols for secure electronic commerce”. CRC Press (2000).
60
[16] Stephen Thomas. “SSL & TLS Essentials”. Securing the Web. 2000
[17] S. Canard, J. Traore. “On fair e-cash systems based on group signature
schemes”, Proceedings of ACISP 2003. Lecture Notes in Computer Science,
Springer-Verlag, vol 2727, 2003, tr. 237-248.
[18] Scott B. Guther & mary J. Cronin. “Mobile Application Development with SMS
and the SIM Toolkit”. 2002.
[19] T. Okamoto & K. Ohata. “Universal Electronic Cash”. Pro. CRYPTO‟91,
Springer-Verlag, 1991.
[20] Tony Chew. “Security Guidelines for Mobile Banking & Payments”. 2-2002.
[21] Zulfikar Amin Ramzan. “Group Blind Digital Signatures: Theory and
Applications”. 1999.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-NGHIÊN CỨU MỘT SỐ GIAO THỨC THANH TOÁN QUA MẠNG CÔNG KHAI.pdf