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ử - Pdf 10

1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
----------  ----------
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Ệ
----------  ----------
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
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.

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
DANH MỤC BẢNG BIỂU
6
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.
MỞ ĐẦU
7
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ử.

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.
9
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

m
={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 Z
m
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 ∈ Z
n
, nếu tồn tại b ∈ Z
n
sao cho a b ≡ 1 (mod n), ta nói b là phần tử
nghịch đảo của a trong

Z
n
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 ∈ Z
n
có phần tử nghịch đảo.
3/. Tính chất.
11
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

+ 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.
2/. Ví dụ.
13

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.
15
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ớ.

các số n
0
, c mà PT(n)

c.f(n) ,

n

n
0
.
5). Độ phức tạp đa thức:
Độ phức tạp PT(n) được gọi đa thức, nếu nó tiệm cận tới đa thức p(n).
6). 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.
- Nói cách khác:
+ Thuật toán thời gian đa thức là thuật toán có độ phức tạp thời gian O(n
t
),
trong đó t là hằng số.
+ Thuật toán thời gian hàm mũ có độ phức tạp thời gian O(t
f (n)
), trong đó t
là hằng số và f(n) là đa thức của n.
- Thời gian chạy của các lớp thuật toán khác nhau:
Độ
phức tạp
Số phép tính(n=10
6

* Giải mã là quá trình chuyển thông tin ngược lạI: từ Bản mã thành Bản rõ.
* Thuật toán mã hoá hay giải mã là thủ tục tính toán để thực hiện mã hóa hay
giải mã.
* Khóa mã hóa là một giá trị làm cho thuật toán mã hoá thực hiện theo cách
riêng biệt và sinh ra bản rõ riêng. Thông thường khoá càng lớn thì bản mã càng an toàn.
Phạm vi các giá trị có thể có của khoá được gọi là Không gian khoá.
* Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng như
làm cho rõ nó.
Phân loại: Phân loại mã hóa theo đặc trưng của khóa
Có 2 loại:
+ Hệ mã hóa khóa đối xứng
+ Hệ mã hóa khóa công khai
1.2.2. Hệ mã hóa.
18
Việc mã hoá phải theo quy tắc nhất định, quy tắc đó gọi là Hệ mã hóa.
Hệ mã hóa được định nghĩa là bộ năm (P, C, K, E, D), trong đó:
P là tập hữu hạn các bản rõ có thể.
C là tập hữu hạn các bản mã có thể.
K là tập hữu hạn các khoá 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 khóa lập mã ke ∈ K, có hàm lập mã e
ke
∈ E, e
ke
: P→ C,
Với khóa giải mã kd ∈ K, có hàm giải mã d
kd
∈ D, d
kd

n
, a*b ≡ 1 mod φ(n)}.
Với Bản rõ x ∈ P và Bản mã y ∈ C, định nghĩa:
Hàm Mã hoá: y = e
k
(x) = x
b
mod n
Hàm Giải mã: x = d
k
(y) = y
a
mod n
2). Ví dụ .
Bản rõ chữ: R E N A I S S A N C E
*Sinh khóa:
Chọn bí mật số nguyên tố p= 53, q= 61, tính n = p * q = 3233, công khai n.
Đặt P = C = Z
n
, tính bí mật φ(n) = (p-1). (q-1) = 52 * 60 = 3120.
+ Chọn khóa công khai b là nguyên tố với φ(n), tức là ƯCLN(b, φ(n)) = 1,
ví dụ chọn b = 71.
+ 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 = 791.
* Bản rõ số:
R E N A I S S A N C E (Dấu cách)
17 04 13 00 08 18 18 00 13 02 04 26
m
1
m

5
c
6
3106 0100 0931 2691 1984 2927
20
Theo phép giải mã: m
i
= c
i

a
mod n = c
i

791
mod 3233, ta nhận lại bản rõ.
3). Độ an toàn
- Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật a, thì
chỉ có một bản mã y.
- Hệ mật RSA an toàn, khi giữ được bí mật khoá giải mã a, p, q, φ(n).
Nếu biết được p và q, thì thám mã dễ dàng tính được φ(n) = (q-1)*(p-1).
Nếu biết được φ(n), thì thám mã sẽ tính được a theo thuật toán Euclide mở rộng.
Nhưng phân tích n thành tích của p và q là bài toán “khó”.
Độ an toàn của Hệ mật RSA dựa vào khả năng giải bài toán phân tích số nguyên
dương n thành tích của 2 số nguyên tố lớn p và q.
1.3.CHỮ KÝ.
1.3.1. Giới thiệu về chữ ký.
21
Ký số là phương pháp ký một thông điệp lưu dưới dạng “số”(điện tử).Thông điệp
được ký và chữ ký cùng truyền trên mạng tới người nhận.

∈ V, Ver
k
: P × A→ {đúng, sai}, thoả mãn điều
kiện sau với mọi x ∈ P, y ∈ A
Đúng, nếu y = Sig
k
(x)
Ver
k
(x, y) =
Sai, nếu y ≠ Sig
k
(x)
1.3.2. Một số sơ đồ chữ ký .
23
1.3.2.1. Sơ đồ ký số RSA.
1/. Sơ đồ (Đề xuất năm 1978)
*Tạo cặp khóa (bí mật, công khai) (a, b) :
Chọn bí mật số nguyên tố lớn p, q, tính n = p * q, công khai n, đặt P = C = Z
n
Tính bí mật φ(n) = (p-1).(q-1). Chọn khóa công khai b < φ(n), nguyên tố với φ(n)
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ậ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. (R1)

s
* y
s
)
1.3.2.3. Chữ ký mù.
24
Chữ ký mù được Chaum giới thiệu vào năm 1983. Mục đíchc của chữ ký mù là
làm cho người ký trên văn bản không biết nội dung văn bản.
Ứng dụng trong hệ thống tiền điện tử: Mua bán hàng trên mạng.
Giả sử Alice muốn mua một quyến sách B giá 100$ từ Bob. Giả sử cả hai người
đều sử dụng dịch vụ của một ngân hàng. Giao thức giao dịch sẽ gồm 3 giai đoạn.
Rút tiền:
Alice tạo tiền điện tử C (với những thông tin : số seri, giá trị của C, ví dụ là 100$)
Alice yêu cầu ngân hàng ký mù lên C.
Giao thức ký thành công, ngân hàng sẽ trừ 100$ trong tài khoản của Alice.
Tiêu tiền:
Alice đưa cho Bob tiền C đã có chữ ký của ngân hàng, và yêu cầu Bob đưa cho
quyển sách B.
Bob kiểm tra chữ ký trên C. Nếu không hợp lệ, Bob sẽ dừng ngay giao dịch.
Gửi tiền:
Bob lấy C từ Alice và gửi cho ngân hàng.
Ngân hàng xác thực chữ ký trên C:
+ Nếu hợp lệ, ngân hàng kiểm tra xem C đã được tiêu trước đó hay chưa.
+ Nếu C chưa được tiêu thì ngân hàng cộng thêm C vào tài khoản của Bob.
+ Nếu việc gửi tiền thành công, Bob sẽ gửi quyển sách B cho Alice.
Bob khó thể biết rằng C là từ tài khoản nào. Khi Bob gửi C thì ngân hàng cũng
“khó” thể biết rằng C được lấy ra từ tài khoản của 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ó.
1/. Sơ đồ chữ ký mù RSA:
25


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