ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ --- CAO THỊ BÍCH LIÊN NGHIÊN CỨU MỘT SỐ HỆ THỐNG TIỀN ĐIỆN TỬ Ngành: Công nghệ Thông tin LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC:
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-
CAO THỊ BÍCH LIÊN
NGHIÊN CỨU MỘT SỐ HỆ THỐNG TIỀN ĐIỆN TỬ
Ngành: Công nghệ Thông tin
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Trịnh Nhật Tiến
Hà Nội - 2008
Trang 2MỤC LỤC LỜI CAM ĐOAN Error! Bookmark not defined
MỤC LỤC 1
DANH MỤC CÁC KÝ HIỆU 4
DANH MỤC BẢNG BIỂU 5
MỞ ĐẦU 6
Chương 1 - CÁC KHÁI NIỆM CƠ BẢN 8
1.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC 8
1.1.1 Khái niệm trong Số học 8
1.1.2 Khái niệm trong đại số 10
1.1.3 Khái niệm độ phức tạp tính toán 12
1.2 MÃ HOÁ 14
1.2.1 Giới thiệu về mã hoá 14
1.2.2 Hệ mã hoá khoá công khai RSA Error! Bookmark not defined
1.3 KÝ SỐ Error! Bookmark not defined 1.3.1 Khái niệm ký số Error! Bookmark not defined 1.3.2 Sơ đồ chữ ký RSA Error! Bookmark not defined 1.3.3 Sơ đồ chữ ký Schnor Error! Bookmark not defined 1.3.4 Chữ ký “mù” Error! Bookmark not defined 1.3.5 Chữ ký “nhóm” Error! Bookmark not defined 1.3.6 Chữ ký “mù nhóm” Error! Bookmark not defined 1.3.7 Vấn đề tạo đại diện thông điệp Error! Bookmark not defined
1.4 VẤN ĐỀ XƯNG DANH Error! Bookmark not defined
Chương 2 - CƠ SỞ KHOA HỌC CỦA TIỀN ĐIỆN TỬ Error! Bookmark not defined
2.1 GIỚI THIỆU VỀ THƯƠNG MẠI ĐIỆN TỬ Error! Bookmark not defined 2.1.1 Khái niệm thương mại điện tử Error! Bookmark not defined 2.1.2 Các đặc trưng của thương mại điện tử Error! Bookmark not defined
Trang 32.1.3 Một số phương thức thanh toán điện tử Error! Bookmark not defined
2.2 GIỚI THIỆU VỀ TIỀN ĐIỆN TỬ Error! Bookmark not defined 2.2.1 Khái niệm tiền điện tử Error! Bookmark not defined 2.2.2 Lược đồ giao dịch Error! Bookmark not defined 2.2.3 Cấu trúc của tiền điện tử Error! Bookmark not defined 2.2.4 Phân loại tiền điện tử Error! Bookmark not defined 2.2.5 Tính chất của tiền điện tử Error! Bookmark not defined
2.3 VẤN ĐỀ ĐẢM BẢO AN TOÀN TIỀN ĐIỆN TỬ Error! Bookmark not
defined
2.3.1 Vấn đề ẩn danh người dùng Error! Bookmark not defined 2.3.2 Vấn đề giả mạo và tiêu một đồng tiền nhiều lần Error! Bookmark not defined
2.3.3 Lược đồ Chaum-Fiat-Naor Error! Bookmark not defined 2.3.4 Lược đồ Brand Error! Bookmark not defined
Chương 3 - MỘT SỐ HỆ THỐNG TIỀN ĐIỆN TỬ Error! Bookmark not defined
3.1 HỆ THỐNG FIRST VIRTUAL Error! Bookmark not defined 3.1.1 Phương thức hoạt động Error! Bookmark not defined 3.1.2 Nhận xét Error! Bookmark not defined
3.2 HỆ THỐNG DIGICASH Error! Bookmark not defined 3.2.1 Phương thức hoạt động Error! Bookmark not defined 3.2.2 Nhận xét Error! Bookmark not defined
3.3 HỆ THỐNG MILLICENT Error! Bookmark not defined 3.3.1 Phương thức hoạt động Error! Bookmark not defined 3.3.2 Nhận xét Error! Bookmark not defined
3.4 HỆ THỐNG MONDEX Error! Bookmark not defined 3.4.1 Phương thức hoạt động Error! Bookmark not defined 3.4.2 Nhận xét Error! Bookmark not defined
3.5 HỆ THỐNG PAYWORD Error! Bookmark not defined
3.5.1 Phương thức hoạt động Error! Bookmark not defined
Trang 43.5.2 Nhận xét Error! Bookmark not defined 3.6 SO SÁNH CÁC HỆ THỐNG Error! Bookmark not defined
Chương 4 - KHẢO SÁT TÌNH HÌNH SỬ DỤNG TIỀN ĐIỆN TỬ Error! Bookmark not defined
4.1 TÌNH HÌNH SỬ DỤNG TIỀN ĐIỆN TỬ TRÊN THẾ GIỚI Error!
Bookmark not defined
4.1.1 Tại Nhật Bản Error! Bookmark not defined 4.1.2 Tại Singapore Error! Bookmark not defined 4.1.3 Tại Hoa Kỳ Error! Bookmark not defined
4.2 TÌNH HÌNH SỬ DỤNG TIỀN ĐIỆN TỬ TẠI VIỆT NAM Error! Bookmark
not defined
4.3 ĐỀ XUẤT VỀ KHẢ NĂNG SỬ DỤNG TIỀN ĐIỆN TỬ Ở VIỆT NAM
Error! Bookmark not defined
KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 15
Trang 5DANH MỤC CÁC KÝ HIỆU
1 gcd Ước số chung lớn nhất - Greatest Common Divisor
2 PKI Cơ sở hạ tầng khoá công khai - Public Key Infrastructure
3 RSA Hệ mã hoá công khai được đề xuất bởi Ron Rivest,
Adi Shamir, Len Adlemon năm 1977
4 TMĐT Thương mại điện tử
5 TPD Thư mục công khai tin tưởng - Trusted Public Directory)
Trang 6DANH MỤC BẢNG BIỂU
Hình 1 Bảng so sánh chữ ký thường và chữ ký số Error! Bookmark not defined
Hình 2 Mô hình giao dịch cơ bản của hệ thống tiền điện tử Error! Bookmark not defined
Hình 3 Phân loại tiền điện tử Error! Bookmark not defined
Hình 4 Bảng so sánh hệ thống thanh toán trực tuyến và ngoại tuyến Error! Bookmark not defined
Hình 5 Mô hình giao dịch có tính chuyển nhượng Error! Bookmark not defined
Hình 6 Mô hình thanh toán trong lược đồ Chaum - Fiat - Naor Error! Bookmark not defined
Hình 7 Quá trình khởi tạo tài khoản Error! Bookmark not defined
Hình 8 Quá trình chứng minh đại diện tài khoảnError! Bookmark not defined
Hình 9 Giao thức rút tiền Error! Bookmark not defined Hình 10 Giao thức thanh toán Error! Bookmark not defined Hình 11 Minh họa nội dung email Error! Bookmark not defined Hình 12 Quá trình giao dịch của hệ thống Digicash Error! Bookmark not defined
Hình 13 Khách hàng mua Broker scrip Error! Bookmark not defined Hình 14 Khách hàng mua Merchant scrip Error! Bookmark not defined Hình 15 Nhà môi giới mua Merchant scrip và gửi cho khách hàng Error! Bookmark not defined
Hình 16 Khách hàng gửi Merchant scrip để thanh toán Error! Bookmark not defined
Trang 7MỞ ĐẦU
1 Tính cấp thiết của luận văn
Hiện nay, sự phát triển nhanh chóng của mạng và công nghệ thông tin, sự bùng nổ của Internet đã mang lại những thay đổi chưa từng thấy trong thương mại điện tử Với xu thế hội nhập vào nền kinh tế thế giới, sự phát triển các dịch vụ của thương mại điện tử là xu hướng tất yếu
Trên thế giới, tiền điện tử đã và đang được ứng dụng thành công với nhiều hình thức phong phú, nhưng khái niệm “tiền điện tử” vẫn còn là khái niệm khá mới
mẻ ở Việt Nam
2 Mục đích của luận văn
Luận văn nghiên cứu một số hệ thống tiền điện tử trên thế giới và đề xuất về khả năng sử dụng tiền điện tử ở Việt Nam
3 Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận văn là một số hệ thống tiền điện tử
4 Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu về năm hệ thống tiền điện tử điển hình trên thế giới: First Virtual, Digicash, Millicent, Mondex, PayWord
5 Phương pháp nghiên cứu
Nghiên cứu những kiến thức khái quát về tiền điện tử và một số hệ thống tiền điện tử thông qua các sách báo, tạp chí bằng tiếng Việt, tiếng Anh và một số trang Web có liên quan đến đề tài
6 Ý nghĩa khoa học và thực tiễn của luận văn
Luận văn trình bày những kiến thức khái quát về tiền điện tử, đi sâu nghiên cứu, phân tích một số hệ thống tiền điện tử và một số vấn đề hiện đang đặt ra đối với tiền điện tử cùng các hướng giải quyết cho các vấn đề đó
Trang 87 Kết cấu luận văn
Luận văn gồm có 4 chương:
- Chương 1: Các khái niệm cơ bản
Trình bày một số khái niệm toán học và lý thuyết cơ bản về mật mã học
- Chương 2: Cơ sở khoa học của tiền điện tử
Trình bày những kiến thức khái quát về thương mại điện tử và tiền điện tử (khái niệm, cấu trúc, tính chất, phân loại tiền điện tử; các hình thức thanh toán bằng tiền điện tử; một số vấn đề về tiền điện tử)
- Chương 3: Một số hệ thống tiền điện tử
Giới thiệu, phân tích, so sánh các hệ thống tiền điện tử đã được triển khai
- Chương 4: Khảo sát tình hình sử dụng tiền điện tử
Trình bày về tình hình sử dụng tiền điện tử ở một số quốc gia trên thế giới và
đề xuất về khả năng sử dụng tiền điện tử ở Việt Nam
Trang 9Chương 1 - CÁC KHÁI NIỆM CƠ BẢN
1.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC
1.1.1 Khái niệm trong Số học
1/ Số nguyên tố và nguyên tố cùng nhau
Số nguyên tố là số nguyên lớn hơn 1, chỉ có hai ước dương là 1 và chính nó
Ví dụ: 2, 3, 5, 7, 17, … là những số nguyên tố
Các hệ mật mã thường sử dụng các số nguyên tố lớn hơn 10150
Hai số 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ụ: 9 và 14 là hai số nguyên tố cùng nhau
2/ Đồng dư thức
Cho n là số nguyên dương Ta nói số nguyên a đồng dư với số nguyên b theo modulo n nếu n|(a-b) (tức (a-b) chia hết cho n, hay khi chia a và b cho n được cùng một số dư như nhau) Số nguyên n được gọi là modullo của đồng dư [1]
Kí hiệu: a b (mod n)
Ví dụ: 67 ≡ 11 (mod 7), bởi vì 67 (mod 7) = 4 và 11 (mod 7) = 4
* Tính chất của đồng dư
Cho a, a1, b, b1, c Z Ta có các tính chất sau:
a b mod n khi và chỉ khi a và b có cùng số dư khi chia cho n
Tính phản xạ: a a mod n
Tính đối xứng: Nếu a b mod n thì b a mod n
Tính bắc cầu: Nếu a b mod n và b c mod n thì a c mod n
Nếu a a1 mod n, b b1 mod n, thì a + b (a1 + b1) mod n và ab (a1b1) mod n
Trang 10* 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
3/ Không gian Z n, Z * n
Tập Z n = {0, 1, 2,…, n-1}, được gọi là tập thặng dư đầy đủ theo mod n
Mọi số nguyên đều có thể tìm được trong Zn một số đồng dư với mình (theo mod n) Các phép toán trong Zn như cộng, trừ, nhân, chia đều được thực hiện theo modulo n
Ví dụ: Z10 = {0, 1, 2, 3,…, 9}
Tập Z n * = {p Zn gcd (n, p) = 1}, tức Zn* là tập hợp các số nguyên p thuộc Zn,
nguyên tố cùng nhau với n Ta gọi tập đó là tập các thặng dư thu gọn theo mod n
Nếu n là một số nguyên tố thì: Zn* = { p Zn | 1 ≤ p ≤ n-1}
Ví dụ: Z2 = {0, 1} thì Z2* = {1} vì gcd (1, 2)= 1
4/ Phần tử nghịch đảo trong Z n
Định nghĩa:
Cho a Zn Nghịch đảo “nhân” của a theo modullo n là một số nguyên x Zn sao cho ax ≡ 1 (mod n) Nếu tồn tại số x như vậy thì đó là giá trị duy nhất, và a được gọi là khả nghịch, nghịch đảo của a ký hiệu là a-1 mod n
Ví dụ: 4-1
mod 9 = 7 vì 4.7 ≡ 1 (mod 9)
Tính chất:
- Cho a, b Zn 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
- Cho a Zn, a có nghịch đảo khi và chỉ khi gcd (a, n) = 1
- 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 b, trong trường hợp các nghiệm nằm trong khoảng từ 0 đến
n - 1, thì các nghiệm đồng dư theo modulo n/d
Trang 111.1.2 Khái niệm trong đại số
1/ Nhóm
Nhóm là bộ các phần tử (G, *) thỏa mãn các tính chất sau:
Tính chất kết hợp: ( x * y ) * z = x * ( y * z ) ( x, y, z G)
Tồn tại phần tử trung lập e G: e * x = x * e = x ( x G)
Tồn tại phần tử nghịch đảo x’ G: x’ * x = x * x’ = e ( x G)
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:
S G, phần tử trung gian e S
x, y S => x * y S
3/ Nhóm Cyclic
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ử sinh (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
4/ Bộ phần tử sinh (Generator-tuple)
{g1, , gk} đƣợc gọi là bộ phần tử sinh nếu mỗi gi là một phần tử sinh và những phần tử này khác nhau (gi ≠ gj nếu i ≠ j)
Ví dụ: {3, 5} là bộ phần tử sinh của Z7*, bởi vì :
1 = 36 mod 7 = 56 mod 7; 2 = 32 mod 7 = 54 mod 7
3 = 31 mod 7 = 55 mod 7; 4 = 34 mod 7 = 52 mod 7
5 = 35 mod 7 = 51 mod 7; 6 = 33 mod 7 = 53 mod 7
2 không phải là phần tử sinh của Z7*, bởi vì:
{2, 22, 23, 24, 25, 26} = {2, 4, 1, 2, 4, 1} <=> {1, 2, 4}
Trang 12Tuy nhiên {1, 2, 4} là tập con của {1, 2, 3, 4, 5, 6} = Z7*.Do đó số 2 đƣợc gọi
là “phần tử sinh của nhóm G(3)”, G(3) nghĩa là nhóm có 3 thành phần {1, 2, 4}
5/ Bài toán đại diện (“Presentation problem”)
Gọi g là phần tử sinh của nhóm con G(q) thuộc Zn* Bài toán logarit rời rạc liên quan đến việc tìm số mũ a, sao cho:
a = loggh mod n (với h G(q))
Tổng quát, bài toán đại diện ([1]) là việc tìm kiếm logarit rời rạc a, nghĩa là
liên quan đến việc tìm kiếm tập những con số gọi là "index-tuple"
Cho k 2, 1 ai q, i = 1 k Bài toán đại diện là cho h thuộc G(q) tìm
index-tuple {a1, , ak}, của generator-tuple {g1, , gk}, sao cho:
n mod h g
*
* g
*
k a
2
a
{a1, , ak} đƣợc gọi là đại diện (representation)
Ví dụ:
Cho tập Z23* thì ta có thể tìm đƣợc nhóm con:
G(11) = {1, 2, 3, 4, 6, 8, 9, 12, 13, 16, 18}
với những phần tử sinh gi là: 2, 3
{2, 3} là bộ phần tử sinh của nhóm con G(11) trong Z23*
Nhƣ vậy, với h = 13, bài toán đại diện là tìm a1 và a2sao cho 2a1 * 3a2 13 mod 23 Kết quả là: a1 = 2 và a2 = 2, vì 22 * 32 = 4*9 = 36 13 mod 23
Hay a1 = 7 và a2 = 11, vì 27 * 311 = 128*177147 = 22674816 13 mod 23 Nhƣ vậy sẽ có nhiều kết quả khác nhau Tuy nhiên có thể rút ra kết luận nếu
có k thành phần trong đại diện {a1, , ak}, thì sẽ có: nk-1 đại diện của h
Trang 131.1.3 Khái niệm độ phức tạp tính toán
1/ Khái niệm bài toán
Bài toán thường được cho dưới dạng:
Input: Các dữ liệu vào của bài toán
Output: Các dữ liệu ra (Kết quả giải quyết yêu cầu của bài toán)
2/ Quan niệm trực quan về thuật toán
Thuật toán [3] là một dãy hữu hạn các quy tắc (chỉ thị, mệnh lệnh) mô tả một quá trình tính toán (xử lý thông tin) Theo đó, ứng với mỗi bộ dữ liệu vào (Input), cho ít nhất một kết quả (bộ dữ liệu ra: Output)
Thuật toán đơn định (Deterministic): Có 1 kết quả ra
Thuật toán không đơn định (NonDeterministic): Có số kết quả ra ≥ 2
3/ Độ phức tạp của thuật toán
a/ Khái niệm độ phức tạp cực đại
* Độ phức tạp về bộ nhớ trong trường hợp xấu nhất:
LA(n)= max {lA(e) | |e| ≤ n} (Tức là: Lấy chi phí lớn nhất về bộ nhớ)
* Độ phức tạp thời gian trong trường hợp xấu nhất:
TA(n)= max {tA(e) | |e| ≤ n} (Tức là: Lấy chi phí lớn nhất về thời gian)
b/ Khái niệm độ phức tạp tiệm cận
Độ phức tạp PT(n) được gọi là tiệm cận tới hàm f(n), ký hiệu O(f(n))
nếu n0, c mà PT(n) ≤ c.f(n), n n0
c/ Khái niệm độ phức tạp đa thức
Độ phức tạp PT(n) được gọi là đa thức, nếu nó tiệm cận tới đa thức p(n)
Trang 144/ Khái niệm thuật toán đa thức
Thuật toán được gọi là “đa thức” nếu độ phức tạp về thời gian trong trường hợp xấu nhất của nó là đa thức
5/ Phân lớp bài toán theo độ phức tạp
a/ Lớp bài toán P, NP
Với bài toán giải được bởi thuật toán chia thành hai loại:
- Thực tế “Dễ giải”: được hiểu là thuật toán được xử lý trong thời gian đủ nhanh, thực tế cho phép Đó là thuật toán có độ phức tạp thời gian đa thức
- Thực tế “Khó giải”: được hiểu là thuật toán phải xử lý trong nhiều thời gian, thực
tế khó chấp nhận Đó là thuật toán có độ phức tạp thời gian là trên đa thức (hàm mũ)
P: là lớp bài toán giải được bằng thuật toán đơn định, đa thức (Polynomial)
NP: là lớp bài toán giải được bằng thuật toán không đơn định, đa thức
b/ Lớp bài toán NP- Hard, NP- Complete
* Khái niệm “dẫn về được”
Bài toán B được gọi là “dẫn về được” bài toán A một cách đa thức, ký hiệu:
B A, nếu có thuật toán đơn định đa thức để giải bài toán A thì cũng có thuật toán đơn định đa thức để giải bài toán B
Nghĩa là: Bài toán A “khó hơn” bài toán B, hay B “dễ hơn” A
* Bài toán NP- Hard
Bài toán A được gọi là NP – Hard (NP – khó) nếu L NP đều là L A
Lớp bài toán NP- Hard bao gồm tất cả những bài toán NP - Hard
* Bài toán NP- Complete
Bài toán A được gọi là NP- Complete (NP- đầy đủ) nếu: A là NP- Hard và A NP Lớp bài toán NP- Complete bao gồm tất cả những bài toán NP- Complete