Nghiên cứu một số kỹ thuật và công nghệ để thực hiện thanh toán bằng tiền điện tử qua mạng máy tính - Pdf 25

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ




Hà Nội - 2012
1
Hà Nội - 2012
2
MỤC LỤC
Trang phụ bìa Trang
Lời cam đoan
Mục lục
Danh mục các chữ viết tắt
Danh mục các hình vẽ

MỞ ĐẦU 6
1. TÍNH CẤP THIẾT CỦA LUẬN VĂN. 6
2. MỤC ĐÍCH CỦA LUẬN VĂN. 6
3. ĐỐI TƢỢNG NGHIÊN CỨU. 7
4. PHƢƠNG PHÁP NGHIÊN CỨU. 7
5. KẾT CẤU CỦA LUẬN VĂN. 7
Chương 1. CÁC KHÁI NIỆM CƠ BẢN 8

2.2.2.4. Tính độc lập (portability). 31
2.2.2.5. Tính chuyển nhƣợng (transferrability). 31
2.2.2.6. Tính phân chia đƣợc (divisibility). 32
2.3. QUY TRÌNH THANH TOÁN BẰNG TIỀN ĐIỆN TỬ. 33
2.3.1. Mô hình trả tiền sau. 33
2.3.2. Mô hình trả tiền trƣớc. 34
2.3.3. Các giao thức thực hiện thanh toán với đồng tiền điện tử. 36
2.4. KỸ THUẬT VÀ CÔNG NGHỆ DÙNG TIỀN ĐIỆN TỬ. 38
2.4.1. Ẩn danh đồng tiền và các vấn đề liên quan. 38
2.4.2. Giải pháp ngăn chặn gian lận giá trị đồng tiền. 39
2.5. HỆ THỐNG TIỀN ĐIỆN TỬ DIGICASH. 41
* Giới thiệu. 41
2.5.1. Phƣơng thức hoạt động. 42
2.5.2. Nhận xét. 43
2.6. VẤN ĐỀ THANH TOÁN BẰNG TIỀN ĐIỆN TỬ TẠI VIỆT NAM. 45
2.6.1. Thẻ thanh toán điện tử. 45
2.6.2. Chuyển tiền điện tử. 46
2.6.3. Phát triển thanh toán điện tử ở Việt Nam 48
Chƣơng 3. THỬ NGHIỆM CHƢƠNG TRÌNH 51
3.1. GIỚI THIỆU. 51
3.2. CẤU HÌNH HỆ THỐNG. 51
3.3. CÁC THÀNH PHẦN CỦA CHƢƠNG TRÌNH. 52
3.4. HƢỚNG DẪN SỬ DỤNG CHƢƠNG TRÌNH. 53
KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 73

4 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT

Hình 2.2: Mô hình mô phỏng séc.
Hình 2.3: Mô hình mô phỏng tiền mặt.
Hình 2.4: Mô hình thanh toán cùng ngân hàng.
Hình 2.5: Mô hình thanh toán liên ngân hàng.
Hình 3.1: Xây dựng hệ thống DigiCash
Hình 3.2: Giao diện đăng nhập.
Hình 3.3: Giao diện khi đăng nhập thành công.
Hình 3.4: Chức năng Rút tiền.
Hình 3.5: Chọn ra đồng tiền muốn rút từ ngân hàng.
Hình 3.6: Chấp nhận cho người dùng rút tiền.
Hình 3.7: Thông báo giá trị n.
Hình 3.8: Người dùng nhập tham số r.
Hình 3.9: Giao diện cho phép khách hàng nhận về đồng tiền.
Hình 3.10: Thông báo đã nhận về đồng tiền.
Hình 3.11: Giao diện thông báo ví tiền mới của khách hàng.
Hình 3.12: Giao diện Thanh toán.
Hình 3.13: Thông báo đã gửi tiền trả.
Hình 3.14: Giao diện ví tiền sau khi thanh toán.
Hình 3.15: Kiểm tra tài khoản trước khi nhận tiền.
Hình 3.16: Giao diện Nhận tiền.
Hình 3.17: Thông báo kiểm tra đồng tiền thành công.
Hình 3.18: Thông báo đã lưu đồng tiền vào CSDL đã tiêu xài.
Hình 3.19: Thông báo đã cộng vào tài khoản sau khi nhận tiền.
Hình 3.20: Kiểm tra tài khoản sau khi nhận tiền.
6 MỞ ĐẦU

1. TÍNH CẤP THIẾT CỦA LUẬN VĂN.

7 3. ĐỐI TƢỢNG NGHIÊN CỨU.
Đối tượng nghiên cứu là tiền điện tử và quy trình thực hiện thanh toán bằng
tiền điện tử.

4. PHƢƠNG PHÁP NGHIÊN CỨU.
Đầu tiên, luận văn tổng hợp lại những khái niệm liên quan đến vấn đề thanh
toán hiện đang được sử dụng, vấn đề về thanh toán điện tử.
Sau đó, luận văn đi sâu nghiên cứu về tiền điện tử, cấu trúc và tính chất của
tiền điện tử. Phân tích về quy trình thanh toán bằng tiền điện tử, những đòi hỏi
về kỹ thuật và công nghệ của nó để giải quyết các bài toán phát sinh trong quá
trình sử dụng tiền điện tử (ẩn danh người sử dụng đồng tiền điện tử, gian lận giá
trị đồng tiền điện tử và tiêu nhiều hơn một lần một đồng tiền điện tử).
5. KẾT CẤU CỦA LUẬN VĂN.
Luận văn gồm 3 chương.
Chương 1: Trình bày các khái niệm cơ bản về toán học và lý thuyết cơ bản
về mật mã học: mã hóa dữ liệu, chữ ký số, chữ ký mù…, ứng dụng trong hệ
thống tiền điện tử.
Chương 2: Trình bày về thanh toán bằng tiền điện tử, cấu trúc, tính chất và
mô hình giao dịch của tiền điện tử, quy trình thanh toán bằng tiền điện tử, kỹ
thuật và công nghệ để thực hiện thanh toán bằng tiền điện tử, giới thiệu hệ thống
tiền điện tử Digicash. Hiện trạng thanh toán điện tử tại Việt Nam.
Chương 3: Thử nghiệm, demo chương trình về hệ thống tiền điện tử
Digicash, mô phỏng vấn đề về ẩn danh, gian lận giá trị và tiêu xài nhiều lần một
đồng tiền, viết bằng ngôn ngữ kịch bản ASP, ứng dụng phát triển theo mô hình
client/ server, chạy trên web server IIS.
Cuối cùng là phần kết luận, tóm lược và đánh giá lại những điểm chính,
những đóng góp của luận văn, đồng thời chỉ ra những điểm cần khắc phục và

3) Tồn tại số nguyên t sao cho a = b + mt
9 3/. Các tính chất của quan hệ “đồng dƣ”.
Với mọi số nguyên dương m ta có:
a ≡ a (mod m) với mọi a Z; (tính chất phản xạ)
a ≡ b (mod m) thì b ≡ a (mod m); (tính chất đối xứng)
a ≡ b (mod m) và b ≡ c (mod m) thì a ≡ c (mod m); (tính chất bắc cầu)
Tổng hay hiệu các đồng dư:
(a+b) (mod n) ≡ [(a mod n) + (b mod n)] (mod n)
(a-b) (mod n) ≡ [(a mod n) - (b mod n)] (mod n)
Tích các đồng dư:
(a*b) (mod n) ≡ [(a mod n) * (b mod n)] (mod n)
4/. Các lớp thặng dƣ.
Quan hệ “đồng dư” theo modulo m trên tập Z (tập các số nguyên) là một
quan hệ tương đương (vì có tính chất phản xạ, đối xứng, bắc cầu), do đó nó tạo
ra trên tập Z một phân hoạch gồm các lớp tương đương: hai số nguyên thuộc
cùng một lớp tương đương khi và chỉ khi chúng có cùng một số dư khi chia cho
m.
Mỗi lớp tương đương đại diện bởi một số trong tập Z
m
= {0, 1,…, m-1} là
số dư khi chia các số trong lớp cho m, ký hiệu một lớp được đại diện bởi số a là
[a]
m

Như vậy, [a]
m
= [b]

2/. Định lý.
ƯCLN (a, n) = 1 Phần tử a Z
n
có phần tử nghịch đảo.
3/. Tính chất.

Cho a, b Z
n
, 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.
Tức là:
a / b (mod n) = a * b
-1
(mod n)
Ví dụ:
Xét phần tử a = 4 Z
9
, ta có gcd(4,9) = 1 nên phần tử a là khả
nghịch trong Z
9
. Ta sẽ tìm phần tử nghịch đảo b này.
b = 7 là phần tử nghịch đảo của 4 trong Z
9
vì thỏa mãn:
4 * 7 mod 9 = 1 hay 4 * 7 1 (mod 9)

Phần tử a Z
n

mã hóa thông tin
như để giải mã bản mã.
1.2.2. Phân loại.
Dựa trên tiêu chí đặc trưng đối xứng của khóa để phân loại, ta có 2 loại hệ
mã hóa:
+ Hệ mã hóa khóa bí mật (hay còn gọi là hệ mã hóa khóa đối xứng).
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.
Quá trình mã hóa và giải mã đều sử dụng chung một khóa (nên nó phải
được giữ bí mật ở cả hai phía, vậy nó còn có tính đối xứng).
12 Mô hình mã hóa khóa bí mật (đối xứng) gồm hai quá trình mã hóa và giải
mã, như sau:
Hình 1.1: Mô hình mã hóa khóa bí mật (đối xứng)

Người gửi tạo bản mã từ bản rõ thông qua Private Key, bản mã này được
truyền đi đến người nhận. Tại đây, người nhận sử dụng Private Key để giải mã
bản mã này, thu được bản rõ là thông tin gốc ban đầu.
* Ưu điểm
- Tốc độ mã hoá và giải mã nhanh.
- Đơn giản, tiện dụng khi dùng một khoá cho cả hai quá trình mã hoá và
giải mã.

Trong hệ mã hóa 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: Hệ mã hóa khóa phi đối xứng
* Ưu điểm
- Kẻ tấn công biết được thuật toán mã hóa và khóa mã hóa (Public Key)
cũng “khó” có thể tính được khóa riêng (Private Key). 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 truyền công khai
trên đường truyền cho tất cả mọi người.
* Nhược điểm
- Tốc độ mã hóa chậm hơn so với mã hóa khóa đối xứng.
* Một số thuật toán mã hóa khóa công khai
- RSA: độ dài khóa 512 đến 1024 bit, được dùng nhiều nhất cho web và
chương trình email.
- ElGamal: độ dài khóa từ 512 đến 1024 bit.

Bản


Bản


Bản mã

K, có hàm giải mã d
kd
D, d
kd
: C P sao cho d
kd
(e
ke
(x)) = x, x P.
Ở đây x được gọi là bản rõ, e
ke
(x) được gọi là bản mã.

Như vậy, có thể tóm lược sơ đồ quá trình mã hóa và giải mã như hình dưới.
Chú ý rằng trong quá trình bản mã được truyền đi trên đường truyền, đây là thời
điểm để tin tặc có thể trộm bản mã: Người gửi G: x e
ke
(x) Người nhận N:
(dùng khóa lập mã k
e
) (dùng khóa giải mã k
d
)

Tin tặc có thể trộm bản mã e
ke
(x) trên đường truyền

Giả sử bảng các chữ cái viết hoa tiếng Anh từ A đến Z được cho tương ứng
với các số nguyên từ 1 => 26:
A
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1

2
1
2
2
2
3
2
4
2
5
2
6

Ta sử dụng hệ mã hóa RSA để mã hóa bản rõ chữ sau:
Bản rõ chữ: HAPPINESS
*Sinh khóa:
Chọn bí mật số nguyên tố p = 5, q = 7, tính n = p * q = 35, công khai n.
Đặt P = C = Z
n
, tính bí mật (n) = (p-1)*(q-1) = 4 * 6 = 24.
+ Chọn khóa công khai b là nguyên tố cùng nhau với (n), tức là ƯCLN(b,
(n)) = 1, ví dụ chọn b = 5.
16 + Khóa bí mật a là phần tử nghịch đảo của b theo mod (n):
a * b 1 (mod (n)).
Từ a*b 1(mod (n)), ta nhận được khóa bí mật a = 5, vì 5*5 1 (mod 24).
* Bản rõ số:
H

b
mod n = m
i
5
mod 35, ta nhận được:

* Bản mã số:
c1
c2
c3
c4
c5
c6
c7
c8
c9
8
1
11
11
4
14
10
24
24
Theo phép giải mã: m
i
= c
i


Ký số là phương pháp ký một thông điệp điện tử được lưu dưới dạng “số”,
thông điệp được ký và chữ ký cùng truyền trên mạng tới người nhận.
Như vậy, việc tạo ra chữ ký số (chữ ký điện tử) trên tài liệu số giống như
việc tạo ra bản mã của tài liệu với khóa lập mã. Việc ký số được thực hiện trên
từng bit tài liệu gốc, do đó khó thể giả mạo chữ ký số nếu không biết khóa lập
mã.
Để kiểm tra một chữ ký số có thuộc về một tài liệu số hay không, người ta
giải mã chữ ký số bằng khóa giải mã, và so sánh với tài liệu gốc.
Bên cạnh ý nghĩa để chứng thực nguồn gốc của tài liệu điện tử, có thể thấy
một mặt mạnh của “chữ ký số” hơn “chữ ký tay” là ở chỗ người ta có thể “ký”
vào tài liệu từ rất xa trên mạng công khai, có thể “ký” bằng các thiết bị di động
cầm tay tại bất kỳ vị trí địa lý nào miễn là kết nối được vào mạng Internet. Điều
đó giúp giảm được thời gian, công sức và những chi phí phát sinh
Một yếu tố cần quan tâm khi thực hiện việc ký số đó là độ dài của chữ ký
số. Do việc ký số được thực hiện trên từng bit của tài liệu điện tử, nên độ dài này
ít nhất cũng bằng độ dài của tài liệu gốc, điều này dẫn đến việc làm tăng chi phí
lưu trữ, tăng thời gian truyền tải trên mạng , do đó người ta thường dùng hàm
băm để tạo đại diện cho tài liệu, sau đó việc ký số sẽ được thực hiện trên đại
diện tài liệu này.
18 * Sơ đồ chữ ký số.
Sơ đồ chữ ký là bộ năm (P, A, K, S, V), trong đó:
P là tập hữu hạn các văn bản có thể.
A là tập hữu hạn các chữ ký có thể.
K là tập hữu hạn các khoá có thể.
S là tập các thuật toán ký.
V là tập các thuật toán kiểm thử.


Chọn khóa công khai b, sao cho 1 < b < (n), nguyên tố cùng nhau với (n).
Khóa bí mật a là phần tử nghịch đảo của b theo modulo (n), tức là:
a * b 1 (mod (n)).
Tập cặp khóa (bí mật, công khai) K= (a,b)/ a, b Z
n
, a*b 1 (mod (n)) .
* Ký số: Chữ ký trên x P là y = Sig
k
(x) = x
a
(mod n), y A.
* Kiểm tra chữ ký: Ver
k
(x, y) = đúng x y
b
(mod n).
19 1.4. CHỮ KÝ MÙ.
Chữ ký mù được David Chaum (một chuyên gia ngành mật mã học) giới
thiệu vào năm 1983.
Chữ ký mù cũng là một loại chữ ký số, ở đây nội dung của dữ liệu cần ký
đã được làm mù, tức là người ký trên tài liệu khi này không thể đọc được nội
dung của tài liệu. Chữ ký mù được ứng dụng trong các vấn đề cần đến sự ẩn
danh của người dùng.
Cụ thể, ví dụ người ký sẽ được ký trên tài liệu x’ là tài liệu đã được làm mù
từ tài liệu gốc ban đầu x. Sau khi ký xong, x’ được chuyển đến người nhận, tại
đây x’ sẽ được xóa mù, thành tài liệu gốc ban đầu x đã có chữ ký, như vậy người
ký sẽ không biết được nội dung tài liệu gốc x.

+ Nếu việc gửi tiền thành công, Bob sẽ gửi quyển sách B cho Alice.
Như vậy, vì đồng tiền điện tử trước đó đã được ngân hàng thực hiện việc ký
mù, nên khi Bob gửi đồng tiền điện tử C đến ngân hàng thì ngân hàng cũng
“khó” có thể biết rằng đồng tiền điện tử C được lấy ra từ tài khoản của Alice.
Như vậy tiền điện tử C không lưu lại dấu vết của người đã tiêu nó.
Nếu không sử dụng chữ ký mù, ngân hàng sẽ dễ dàng kết nối Alice với quá
trình thanh toán của Alice thông qua số se-ri của đồng tiền điện tử C, việc sử
dụng chữ ký mù trên đồng tiền điện tử C đã tránh được điều này, Alice thực hiện
việc này thông qua một tham số làm mù của riêng Alice.
Trên thực tế, hệ thống tiền điện tử ẩn danh này cũng chỉ được thực hiện ẩn
danh theo một chiều, bởi khi người mua ký trên hóa đơn nhận hàng, sẽ hoàn
toàn biết rõ người bán. Do đó, nếu cần Alice sẽ chứng minh được một đồng tiền
điện tử xác định nào đó mà Bob gửi vào ngân hàng là của Alice bằng cách tiết lộ
tham số làm mù cho ngân hàng biết, từ đó sẽ tìm ra được số se-ri của đồng tiền
điện tử này.
21 * Sơ đồ chữ ký mù RSA.
Yêu cầu bài toán là: A muốn lấy chữ ký của B trên x nhưng không muốn B
biết x. Quá trình thực hiện như sau.
+ Lấy p, q là các số nguyên tố lớn, tính n = p*q
+ Tính (n) = (p-1)*(q-1), chọn 1 < b < (n), nguyên tố cùng nhau với (n).
+ Chọn a là phần tử nghịch đảo của b theo modulo (n), a*b ≡ 1 mod (n).
+ r là số ngẫu nhiên Z
n
(chọn r sao cho tồn tại phần tử nghịch đảo r
-1

(mod n))

= 155.897.368 mod 15 = 13 = z.
Bước 2: Bob ký trên z.
y = Sign(z) = z
a
mod n = 13
7
(mod 15) = 7. Bob gửi Alice giá trị y=7 này.
Bước 3: Alice xóa mù:
UnBlind(y) = y/r (mod n) =7/11 (mod 15) = 7 * 11
-1
mod 15 = 2
22 1.5. HÀM BĂM.
Đối với các tài liệu dài, độ dài của chữ ký số ít nhất cũng bằng độ dài của
tài liệu (do việc ký số được thực hiện trên từng bit của tài liệu), điều này đòi hỏi
cả yêu cầu về không gian (để lưu trữ chữ ký) và thời gian (để truyền chữ ký trên
mạng). Hàm băm là giải pháp để tạo đại diện cho các tài liệu dài, sau đó tài liệu
sẽ được ký số thông qua đại diện này.
Hàm băm là hàm một chiều, có nghĩa rằng giá trị của hàm băm là duy
nhất, từ giá trị này khó thể suy ngược lại nội dung hay độ dài ban đầu của tài
liệu gốc.
1.5.1. Hàm một chiều (One-way Hash).
Hàm một chiều có các đặc tính:
1). Với tài liệu đầu vào (bản tin gốc ban đầu) x, chỉ thu được giá trị băm
duy nhất, đó là z = h(x).
2). Nếu dữ liệu trong bản tin gốc ban đầu x bị thay đổi hay bị xóa để thành
bản tin x’, thì giá trị băm h(x’) h(x). Có nghĩa rằng, với hai thông điệp khác
nhau, thì giá trị băm của chúng cũng khác nhau.

mại điện tử là quá trình người mua hàng và người bán hàng thực hiện giao dịch
thương mại thông qua các phương tiện điện tử và hệ thống mạng viễn thông. Xét
theo nghĩa rộng hơn, thương mại điện tử là việc ứng dụng các thành tựu của
công nghệ thông tin và truyền thông vào các hoạt động quản lý và kinh doanh.
Một yếu tố quan trọng để thực hiện được thương mại điện tử theo đúng
nghĩa, đó là phải thực hiện được quá trình thanh toán điện tử, đáp ứng nhu cầu
thanh toán con người với một phương thức nhanh chóng, thuận lợi, hiệu quả và
an toàn. Quá trình thanh toán điện tử này dần đưa đến một khái niệm mới, đó là
đồng tiền điện tử.
Tuy nhiên, thực tế trên thế giới tiền điện tử đã bắt đầu được sử dụng từ
những năm cuối của thập kỷ 90, khi những ứng dụng giao dịch trực tuyến của nó
đã thâm nhập vào môi trường Internet, dẫu còn ít so với việc sử dụng thẻ tín
dụng điện tử.
Hiện tại ở Việt Nam, đã có các doanh nghiệp nghiên cứu và đưa ra thị
trường các loại thẻ thanh toán đa mục đích để chơi game, sử dụng các ứng dụng
trên Internet hay mua hàng hóa trên website của doanh nghiệp ấy. Về phía ngân
hàng, một vài ngân hàng cũng đã đang bắt đầu đẩy mạnh việc cung ứng các sản
phẩm, các dịch vụ ngân hàng thông qua kênh điện tử như Internet banking,
Mobile banking, dịch vụ thanh toán hóa đơn điện, nước… không dùng tiền mặt
cho người tiêu dùng.
Theo xu thế phát triển chung, số lượng phương tiện thanh toán điện tử sẽ
được đưa vào sử dụng vẫn đang tăng nhanh, có thể kể đến như: hệ thống máy rút
tiền tự động ATM, thiết bị thanh toán dùng thẻ POS (Point of Sale) lắp đặt tại
điểm bán hàng, trung tâm thương mại
Cũng có thể thấy rõ, đối tượng cung ứng các dịch vụ thanh toán đã được
mở rộng. Hiện nay các tổ chức không phải ngân hàng cũng có thể cung cấp một
số dịch vụ thanh toán điện tử, theo những điều kiện được quy định.
24

Trích đoạn Các giao thức thực hiện thanh toán với đồng tiền điện tử Ẩn danh đồng tiền và các vấn đề liên quan Giải pháp ngăn chặn gian lận giá trị đồng tiền Phƣơng thức hoạt động Chuyển tiền điện tử
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status