Đề tài Nghiên cứu một số giải pháp công nghệ thông tin trong việc sử dụng tiền điện tử

Thương mại điện tửnói chung và tiền điện tửnói riêng đang còn là một lĩnh vực mới mẻ. Vì vậy, đểtiền điện tửcó thểthực sựthâm nhập vào cuộc sống, trở thành một phương thức thanh toán hiệu quả đòi hỏi cần phải có quá trình nghiên cứu và phát triển. Khóa luận sẽtrình bày những kiến thức khái quát vềTiền điện tử, sau đó tập trung nghiên cứu hai vấn đềlớn hiện đang đặt ra đối với tiền điện tử:vấn đề ẩn danh người sửdụng và vấn đềngăn chặn người sửdụng tiêu một đồng Tiền điện tử nhiều lần. Khóa luận cũng giới thiệu và phân tích một sốhệthống tiền điện tửhiện nay trên thếgiới, và đềxuất việc ứng dụng tiền điện tửtại Việt nam. Ngoài ra, khóa luận sẽDemo một chương trình nhỏvềmột hệthống tiền điện tửbằng ngôn ngữC++.

pdf89 trang | Chia sẻ: nhungnt | Lượt xem: 2044 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu một số giải pháp công nghệ thông tin trong việc sử dụng tiền điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---------- YZ ---------- Nguyễn Thị An NGHIÊN CỨU MỘT SỐ GIẢI PHÁP CÔNG NGHỆ THÔNG TIN TRONG VIỆC SỬ DỤNG TIỀN ĐIỆN TỬ KHOÁ LUẬN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY Ngành: Công Nghệ Thông Tin HÀ NỘI - 2009 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---------- YZ ---------- Nguyễn Thị An NGHIÊN CỨU MỘT SỐ GIẢI PHÁP CÔNG NGHỆ THÔNG TIN TRONG VIỆC SỬ DỤNG TIỀN ĐIỆN TỬ KHOÁ LUẬN TỐT NGHIỆP HỆ ĐẠI HỌC 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 HÀ NỘI - 2009 3 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 nhất tới PGS.TS Trịnh Nhật Tiến – người Thầy luôn chỉ bảo, hướng dẫn hết sức nhiệt tình, giúp đỡ em trong suốt quá trình học tập và xây dưng khóa luận. Em xin chân thành cảm ơn các Thầy, Cô giáo đã dạy dỗ em trong suốt quá trình học tập tại trường Đại học Công Nghệ. Những kiến thức các thầy cô truyền đạt sẽ mãi là hành trang để em vững trong tương lai. Xin được cảm ơn tới các bạn K50HTTT đã cung cấp cho mình những tài liệu quý báu để mình hoàn thành khóa luận. Cảm ơn tới tất cả các bạn bè của mình đã luôn sát vai, tin tưởng và giúp đỡ mình trong suốt 4 năm đại học qua. Cuối cùng, con xin được gửi lời biết ơn sâu sắc nhất tới Bố mẹ và những người thân trong gia đình, những người luôn dành cho con tình yêu, niềm tin và động viên con trong suốt quá trình học tập. Hà nội, tháng 5 năm 2009 Sinh viên Nguyễn Thị An 4 TÓM TẮT NỘI DUNG Thương mại điện tử nói chung và tiền điện tử nói riêng đang còn là một lĩnh vực mới mẻ. Vì vậy, để tiền điện tử có thể thực sự thâm nhập vào cuộc sống, trở thành một phương thức thanh toán hiệu quả đòi hỏi cần phải có quá trình nghiên cứu và phát triển. Khóa luận sẽ trình bày những kiến thức khái quát về Tiền điện tử, sau đó tập trung nghiên cứu hai vấn đề lớn hiện đang đặt ra đối với tiền điện tử:vấn đề ẩn danh người sử dụng và vấn đề ngăn chặn người sử dụng tiêu một đồng Tiền điện tử nhiều lần. Khóa luận cũng giới thiệu và phân tích một số hệ thống tiền điện tử hiện nay trên thế giới, và đề xuất việc ứng dụng tiền điện tử tại Việt nam. Ngoài ra, khóa luận sẽ Demo một chương trình nhỏ về một hệ thống tiền điện tử bằng ngôn ngữ C++. 5 MỤC LỤC LỜI CẢM ƠN ................................................................................................................. 3 TÓM TẮT NỘI DUNG .................................................................................................. 4 MỤC LỤC ....................................................................................................................... 5 DANH MỤC CÁC KÝ KIỆU........................................................................................ 8 DANH MỤC BẢNG BIỂU ............................................................................................ 9 MỞ ĐẦU........................................................................................................................ 10 Chương 1. CÁC KHÁI NIỆM CƠ BẢN .................................................................... 12 1.1. MỘT SỐ KHÁI NIỆM TOÁN HỌC.............................................................. 12 1.1.1. Khái niệm trong số học. ................................................................... 12 1.1.2. Khái niệm trong đại số. .................................................................... 15 1.1.3. Độ phức tạp...................................................................................... 17 1.2. MÃ HÓA. .......................................................................................................... 20 1.2.1. Khái niệm về mã hóa. ...................................................................... 20 1.2.2. Hệ mã hóa. ....................................................................................... 21 1.2.3. Mã hóa và giải mã............................................................................ 21 1.2.4. Hệ mã hóa khóa công khai RSA...................................................... 22 1.3. CHỮ KÝ............................................................................................................ 24 1.3.1. Giới thiệu về chữ ký......................................................................... 24 1.3.2. Một số sơ đồ chữ ký ........................................................................ 26 1.4. CHIA SẺ BÍ MẬT CÓ THỂ XÁC MINH. .................................................... 35 1.4.1. Sơ đồ chia sẻ bí mật. ........................................................................ 35 1.4.2. Sơ đồ chia sẻ bí mật có thể xác minh............................................... 36 1.5. HÀM BĂM........................................................................................................ 37 1.5.1. Hàm băm h là hàm một chiều (One-way Hash) với các đặc tính sau:...... 37 1.5.2. Tính chất của hàm băm............................................................................... 37 6 Chương 2: GIỚI THIỆU VỀ TIỀN ĐIỆN TỬ .......................................................... 38 2.1. KHÁI NIỆM THANH TOÁN ĐIỆN TỬ. ...................................................... 38 2.1.1. Các mô hình thanh toán điện tử.................................................................. 38 2.2. KHÁI NIỆM TIỀN ĐIỆN TỬ......................................................................... 40 2.2.1. Mô hình giao dịch mua bán bằng tiền điện tử. ........................................... 41 2.2.2. Cấu trúc của Tiền điện tử............................................................................ 43 2.2.3. Tính chất của tiền điện tử: .......................................................................... 44 Chương 3: MỘT SỐ VẤN ĐỀ PHÁT SINH KHI DÙNG TIỀN ĐIỆN TỬ ........... 47 3.1. MỘT SỐ VẤN ĐỀ PHÁT SINH..................................................................... 47 3.1.1. Vấn đề ẩn danh người sử dụng đồng tiền. .................................................. 47 3.1.2. Vấn đề gian lận giá trị đồng tiền................................................................. 47 3.1.3. Vấn đề tiêu xài một đồng tiền hai lần. ........................................................ 48 3.2. GIẢI PHÁP CHO BÀI TOÁN “ẨN DANH” VÀ “CHỐNG GIAN LẬN GIÁ TRỊ ĐỒNG TIỀN”. ........................................................................................ 49 3.2.1. Giới thiệu giải pháp. ................................................................................... 49 3.2.2. Lược đồ Chaum-Fiat-Naor.......................................................................... 51 3.2.3. Lược đồ Brand. ........................................................................................... 55 3.3. GIẢI PHÁP CHO BÀI TOÁN “TIÊU NHIỀU LẦN MỘT ĐỒNG TIỀN” ..................................................................................................................... 64 3.3.1. Giới thiệu giải pháp..................................................................................... 64 3.3.2. Lược đồ truy vết gian lận KV. .................................................................... 65 3.3.3. Lược đồ Fair tracing. .................................................................................. 69 3.3.4. So sánh lược đồ KV và Fair tracing............................................................ 77 Chương 4: MỘT SỐ HỆ THỐNG TIỀN ĐIỆN TỬ.................................................. 78 4.1. HỆ THỐNG DIGICASH................................................................................. 78 4.1.1. Phương thức hoạt động. .............................................................................. 79 4.4.2. Nhận xét. ..................................................................................................... 81 7 4.2. HỆ THỐNG PAYWORD ................................................................................ 82 4.2.1. Phương thức hoạt động. .............................................................................. 82 4.2.2. Nhận xét..................................................................................................... 84 4.3. VẤN ĐỀ DÙNG TIỀN ĐIỆN TỬ Ở VIỆT NAM.......................................... 85 KẾT LUẬN ................................................................................................................... 88 DANH MỤC TÀI LIỆU THAM KHẢO .................................................................... 89 8 DANH MỤC CÁC KÝ KIỆU TT Ký hiệu Chú giải cho ký hiệu sử dụng 1 KV Lược đồ KV (tên viết tắt của hai tác giả D.Kugler và H.Vogt ) 2 RSA Hệ mã hóa khóa công khai được đề xuất bởi Ron Rivest, Adi Shamir, Len Adlemon năm 1977. 3 SSS Sơ đồ chia sẻ bí mật – Secret Sharing Schemes 4 TTP Bên thứ ba tin cậy – Trusted Third Party 5 VSS Sơ đồ chia sẻ bí mật có thể xác minh – Verify Secret Sharing 9 DANH MỤC BẢNG BIỂU Hình 1: Mô hình giao dịch cơ bản của hệ thống Tiền điện tử. Hình 2: Mô hình phương thức thanh toán Hình 3: Mô hình giao dịch có tính chuyển nhượng Hình 4: Khái quát lược đồ Fair tracing Hình 5: Quá trình khởi tạo tài khoản của lược đồ Brand Hình 6: Quá trình chứng minh đại diện tài khoản của lược đồ Brand. Hình 7: Giao thức rút tiền trong lược đồ Brand Hình 8: Giao thức thanh toán Hình 9: Tóm tắt lược đồ KV Hình 10: Giai đoạn chuẩn bị trong lược đồ Fair tracing. Hình 11: Giao thức rút tiền trong lược đồ Fair tracing. Hình 12: Giai đoạn chuẩn bị với TTP. 10 MỞ ĐẦU 1. Tính cấp thiết của khóa luận. Sự mở rộng và phổ biến của Internet đã thúc đẩy sự phát triển của Thương mại điện tử. Một nhu cầu nảy sinh là thanh toán “điện tử”, đơn giản là người mua và người bán thanh toán qua ngân hàng bằng thẻ tín dụng điện tử. Hình thức thanh toán này chưa thật thuận tiện. Một hình thức thanh toán mới đã xuất hiện: thanh toán bằng tiền điện tử. Trên toàn thế giới, tiền điện tử đã và đang được ứng dụng thành công, đem lại lợi ích cho người dùng.Tuy nhiên trong quá trình sử dụng tiền điện tử đã nảy sinh một số vấn đề đáng quan tâm như: người dùng gian lận giá trị đồng tiền, tiêu nhiều lần một đồng tiền hay xác định danh tính người sở hữu đồng tiền. Vì vậy, khóa luận đi vào nghiên cứu một số bài toán trong hệ thống tiền điện tử và trình bày những cách giải quyết phù hợp cho các vấn đề trên. 2. Mục đích của khóa luận. Mục đích của khóa luận là nghiên cứu một số giải pháp khoa học cho các bài toán phát sinh trong quá trình sử dụng tiền điện tử, so sánh, đánh giá ưu nhược điểm của các giải pháp và chỉ rõ giải pháp nào phù hợp với từng loại tiền điện tử. 3. Đối tượng nghiên cứu. Đối tượng nghiên cứu là các bài toán phát sinh khi dùng tiền điện tử. 4. Phương pháp nghiên cứu. Để nghiên cứu được các bài toán tiền điện tử, phần đầu khóa luận tổng hợp lại những khái niệm toán học và những kiến thức cơ bản về lý thuyết mật mã có liên quan. Sau đó đi sâu nghiên cứu về tiền điện tử, chỉ rõ cấu trúc, tính chất các loại tiền điện tử đã và đang được sử dụng trên thế giới. Từ đó, phân tích để thấy rõ các bài toán đã phát sinh như thế nào trong quá trình sử dụng tiền điện tử, và nêu lên các giải pháp phù hợp cho từng bài toán. 11 5. Kết cấu của khóa luận. Khóa luận gồm 4 chương. Chương 1: Trình bày lại 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: Trình bày khái niệm về 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ử. Chương 3: Nêu một số bài toán phát sinh trong quá trình dùng tiền điện tử. Đối với mỗi bài toán, nêu ra các giải pháp, phân tích rõ ưu nhược điểm của các giải pháp. Chương 4: Giới thiệu một số hệ thống tiền điện tử của các nước trên thế giới và demo hệ thống tiền điện tử KV. Cuối cùng là kết luận lại những điểm chính, những đóng góp chính của khóa luận, đồng thời chỉ ra những điểm cần khắc phục và định hướng phát triển tiếp theo cho khóa luận. 12 Chươ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.1.1.1. Số nguyên tố và số nguyên tố cùng nhau. 1/. Khái niệm. Số nguyên tố là số chỉ chia hết cho 1 và chính nó. 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 2/. Ví dụ. 2, 3, 5, 7, 11…là những số nguyên tố. 15 và 16 là hai số nguyên tố cùng nhau. 1.1.1.2. Đồng dư thức. 1/. Khái niệm. Cho các số nguyên a, b, m (m>0). Ta nói rằng a và b “đồng dư” với nhau theo modulo m, nếu chia a và b cho m, ta nhận được cùng một số dư. Ký hiệu: a ≡ b (mod m) 2/. Ví dụ. 17 ≡ 5 (mod 3) vì chia 17 và 5 cho 3, được cùng số dư 2. Nhận xét: Các mệnh đề sau đây là tương đương. 1) a ≡ b (mod m) 2) m \ (a - b) 3) Tồn tại số nguyên t sao cho a = b + mt 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) 13 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 Zm ={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]m ⇔ a ≡ b (mod m) Vì vậy ta có thể đồng nhất Zm với tập các lớp tương đương theo modulo m. Zm ={0, 1, 2,…, m-1} được gọi là tập các “thặng dư đầy đủ” theo modulo m. Mọi số nguyên bất kỳ đều có thể tìm được trong Zm một số đồng dư với mình theo modulo m. 1.1.1.3. Phần tử nghịch đảo. 1/. Khái niệm. Cho a ∈ Zn , nếu tồn tại b ∈ Zn sao cho a b ≡ 1 (mod n), ta nói b là phần tử nghịch đảo của a trong Zn và ký hiệu a -1. Một phần tử có phần tử nghịch đảo, gọi là khả nghịch. 2/. Định lý. UCLN (a, n) = 1 ⇔ Phần tử a ∈ Zn có phần tử nghịch đảo. 14 3/. 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. Khả nghịch 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 khi và chỉ khi 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. 1.1.1.4. Khái niệm Logarit rời rạc. Cho p là số nguyên tố, g là phần tử nguyên thuỷ của Zp , β ∈ *pZ “Logarit rời rạc” chính là việc giải phương trình x = log g β (mod p) với ẩn x. Hay phải tìm số x duy nhất sao cho: g x ≡ β (mod p). 15 1.1.2. Khái niệm trong đại số. 1.1.2.1. Khái niệm nhóm. 1/. Khái niệm. Nhóm là một bộ (G, *), trong đó G ≠ ∅, * là phép toán hai ngôi trên G thoả mãn ba tính chất sau: + Phép toán có tính kết hợp: (x*y)* z = x*(y*z) với mọi x, y, z ∈ G. + Có phần tử phần tử trung lập e ∈ G: x*e = e*x = x với mọi x ∈ G. + Với mọi x∈ G, có phần tử nghịch đảo x’∈ G: x * x’ = x’ * x = e. Cấp của nhóm G được hiểu là số phần tử của nhóm, ký hiệu là G . Cấp của nhóm có thể là ∞ nếu G có vô hạn phần tử. Nhóm Abel là nhóm (G, *), trong đó phép toán hai ngôi * có tính giao hoán. Tính chất: Nếu a * b = a * c, thì b = c. Nếu a * c = b * c, thì a = b. 2/. Ví dụ. + Tập hợp các số nguyên Z cùng với phép cộng (+) thông thường là nhóm giao hoán, có phần tử đơn vị là số 0, gọi là nhóm cộng các số nguyên. + Tập Q* các số hữu tỷ khác 0 (hay tập R* các số thực khác 0), cùng với phép nhân (*) thông thường là nhóm giao hoán. Gọi là nhóm nhân các số hữu tỷ (số thực) khác 0. + Tập các vectơ trong không gian với phép toán cộng vectơ là nhóm giao hoán. 1.1.2.2. Nhóm con của nhóm (G,*). 1/. Khái niệm. Nhóm con của G là tập S ⊂ G, S ≠ φ, và thỏa mãn các tính chất sau: + Phần tử trung lập e của G nằm trong S. + S khép kín đối với phép tính (*) trong G, tức là x*y ∈ S với mọi x, y∈ S. + S khép kín đối với phép lấy nghịch đảo trong G, tức x -1 ∈ S với mọi x∈S. 16 2/. Ví dụ. Xét nhóm cộng theo modulo 6 các số tự nhiên nhỏ hơn 6. Z6= {0, 1, 2, 3, 4, 5} Ta có các nhóm con sinh bởi các phần tử 2,3 là: = {0, 2, 4} ={0, 3} 1.1.2.3. Nhóm Cyclic. 1/. Khái niệm. Nhóm (G, *) được gọi là Nhóm Cyclic nếu nó được sinh ra bởi một trong các phần tử của nó. Tức là có phần tử g ∈ G mà với mỗi a ∈ G, đều tồn tại số n ∈ N để g n = g * g * … * g = a. (Chú ý g * g * … * g là g * g với n lần). Khi đó g được gọi là phần tử sinh hay phần tử nguyên thuỷ của nhóm G. Nói cách khác: G được gọi là Nhóm Cyclic nếu tồn tại g ∈ G sao cho mọi phần tử trong G đều là một luỹ thừa nguyên nào đó của g. 2/. Ví dụ. Nhóm (Z + , +) gồm các số nguyên dương là Cyclic với phần tử sinh g = 1. 17 1.1.3. Khái niệm độ phức tạp. 1.1.3.1. Khái niệm Thuật toán. 1/. Khái niệm Bài toán. Bài toán được diễn đạt bằng hai phần: Input: Các dữ liệu vào của bài toán. Output: Các dữ liệu ra của bài toán (kết quả). Không mất tính chất tổng quát, giả thiết các dữ liệu trong bài toán đều là số nguyên. 2/. Khái niệm Thuật toán. ”Thuật toán” được hiểu đơn giản là cách thức để giải một bài toán. Cũng có thể được hiểu bằng hai quan niệm: Trực giác hay Hình thức như sau: • Quan niệm trực giác về ”Thuật toán”. Một cách trực giác, Thuật toán được hiểu là một dãy hữu hạn các qui tắc (Chỉ thị, mệnh lệnh) mô tả một quá trình tính toán, để từ dữ liệu đã cho (Input) ta nhận được kết quả (Output) của bài toán. • Quan niệm toán học về ”Thuật toán”. Một cách hình thức, người ta quan niệm thuật toán là một máy Turing. Thuật toán được chia thành hai loại: Đơn định và không đơn định. Thuật toán đơn định (Deterministic): Là thuật toán mà kết quả của mọi phép toán đều được xác định duy nhất. Thuật toán không đơn định (NonDeterministic): Là thuật toán có ít nhất một phép toán mà kết quả của nó là không duy nhất. 18 3/. Hai mô hình tính toán Hai quan niệm về thuật toán ứng với hai mô hình tính toán. Ứng với hai mô hình tính toán có hai cách biểu diễn thuật toán: • Mô hình ứng dụng: Thuật toán được biểu diễn bằng ngôn ngữ tựa Algol. + Đơn vị nhớ: Một ô nhớ chứa trọn vẹn một dữ liệu. + Đơn vị thời gian: Thời gian để thực hiện một phép tính cơ bản trong số học hay logic như cộng, trừ, nhân, chia, ... • Mô hình lý thuyết: Thuật toán được biểu diễn bằng ngôn ngữ máy Turing. + Đơn vị nhớ: 1 ô nhớ chứa một tín hiệu. Với mã nhị phân thì đơn vị nhớ là 1 bit. + Đơn vị thời gian: Thời gian để thực hiện một bước chuyển hình trạng. 1.1.3.2. Khái niệm độ phức tạp của Thuật toán. 1/. Chi phí của thuật toán (Tính theo một bộ dữ liệu vào): Chi phí phải trả cho một quá trình tính toán gồm chi phí về thời gian và bộ nhớ. Chi phí thời gian của một quá trình tính toán là thời gian cần thiết để thực hiện quá trình tính toán đó. Với thuật toán tựa Algol: Chi phí thời gian là số các phép tính cơ bản thực hiện trong quá trình tính toán . Chi phí bộ nhớ của một quá trình tính toán là số ô nhớ cần thiết để thực hiện một quá trình tính toán. Gọi A là một thuật toán, e là dữ liệu vào của bài toán đã được mã hoá bằng cách nào đó. Thuật toán A tính trên dữ liệu vào e phải trả một giá nhất định. Ta ký hiệu: t A (e) là giá thời gian và l A(e) là giá bộ nhớ. 2/. Độ phức tạp về bộ nhớ (Trong trường hợp xấu nhất): LA(n) = max{ l A (e), với |e| ≤ n}, n là “kích thước” đầu vào của thuật toán. 19 3). Độ phức tạp th