Tải bản đầy đủ (.pdf) (84 trang)

Hệ thống giao dịch thanh toán di động bảo đảm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 84 trang )



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
*****************


Nguyễn Thanh Thụy

HỆ THỐNG GIAO DỊCH THANH TOÁN
DI ĐỘNG BẢO ĐẢM
Ngành: Công nghệ thông tin
Mã số: 1.01.10


LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS. HỒ SĨ ĐÀM










Hà Nội - 2007


1
MỤC LỤC

LỜI GIỚI THIỆU
1 Mục tiêu của luận văn ………………………………………………
2 Kết cấu luận văn ………………………………………………………
CHƢƠNG 1: CÁC GIAO DỊCH THANH TOÁN DI
ĐỘNG BẢO MẬT
1.1 Cơ sở vật chất khóa công khai di động ……………………………
1.1.1 Các nền tảng của cơ sở vật chất khóa công khai ……………
1.1.2 Cơ sở vật chất khóa công khai X.509 ………………………….
1.1.3 Giao thức ứng dụng không dây ………………………………
1.1.4 Tính bảo mật và khả năng truy cập…………………………….
1.2 Thanh toán điện tử …………………………………………………
1.2.1 Thanh toán bằng thẻ tín dụng …………………………………
1.2.2 Séc điện tử và chuyển khoản ………………………………….
1.2.3 Hệ thống thanh toán bằng tiền điện tử ……………………….
1.2.4 Hệ thống vi thanh toán ………………………………………
1.3 Các hệ thống hiện có ……………………………………………….
1.3.1 Ericsson MCP ………………………………………………….
1.3.2 Giải pháp thanh toán Nokia …………………………………
CHƢƠNG 2: THIẾT KẾ VÀ TRIỂN KHAI
2.1 Các tiêu chí ………………………………………………………….
2.1.1 Các tiêu chí chức năng …………………………………………
2.1.2 Các tiêu chí kỹ thuật …………………………………………….
2.1.3 Các tiêu chí bảo mật ……………………………………………
2.1.4 Khả năng nâng cấp ………………………………………………
2.1.5 Tiêu chí về hoạt động …………………………………………….
6
6

7

9
9
9
12
13
17
19
20
21
22
23
24
24
26
28
28
28
29
30
31
31

2
2.1.6 Khả năng Mô-đun hoá ……………………………………………
2.1.7 Khả năng bảo trì ………………………………………………….
2.2 Đặc điểm kỹ thuật của hệ thống ……………………………………
2.2.1 Khái niệm và mối quan hệ với các nghiên cứu trước …………
2.2.2 Người vận hành và các trường hợp sử dụng …………………….

2.2.3 Mô hình hệ thống ………………………………………………….
2.2.4 Cấu trúc hệ thống ………………………………………………….
CHƢƠNG 3: THỰC HIỆN VÀ THỬ NGHIỆM HỆ
THỐNG
3.1 Môi trƣờng, nền tảng và sản phẩm …………………………………
3.1.1 Phát triển phần cứng và phần mềm ……………………………
3.1.2 Môi trường Java ………………………………………………….
3.1.3 Bộ phận điều khiển RDBMS và JDBC …………………………
3.1.4 Mô đun mật mã …………………………………………………
3.1.5 Cổng WAP và Thiết bị đầu cuối …………………………………
3.2 Các vấn đề trong quá trình thực hiện ……………………………
3.2.1 Nội dung tín hiệu WAP …………………………………………
3.2.2 Giao diện thư mục ………………………………………………
3.2.3 Tạo chung liên kết cơ sở dữ liệu …………………………………
3.2.4 Thực hiện Mẫu Thiết kế MVC …………………………………
3.3 Thử nghiệm ………………………………………………………….
3.3.1 Thử nghiệm chức năng …………………………………………
3.3.2 Thử nghiệm hoạt động ……………………………………………
KẾT LUẬN
1 Những kết quả đạt đƣợc……………………………………………….
2 Các hƣớng phát triển hệ thống ……………………………………….
3 Tổng kết ……………………………………………………………….
TÀI LIỆU THAM KHẢO
31
32
32
32
34
38
50


55
55
55
55
56
57
58
58
59
59
60
60
61
61
65
73
73
76
78
82

3

CÁC THUẬT NGỮ VIẾT TẮT

ACID Atomicity Consistency Integrity Durability
ASN.1 Abstract Syntax Notation
B2B Business to Business
B2C Business to Consumer

BER Basic Encoding Rules
DER Distinguished Encoding Rules
ECDSA Elliptic Curve Digital Signature Algorithm
FIPS Federal Information Processing Standards
HST Citizen’s Electronic Identification (a public sector PKI deployment
in Finland)
ICC Integrated Circuit Card
IETF Internet Engineering Task Force
ITU-T International Telecommunication Union Telecom Standarization
Sector
Java 2 EE or J2EE Java 2 Enterprise Edition
Java 2 SE or J2SE Java 2 Standard Edition
LDAP Lightweight Directory Access Protocol
MTBF Mean Time Between Failures
MTTR Mean Time To Repair
NIST National Institute of Standards and Technology
PIN Personal Identification Number
PKCS Public Key Cryptography Standard
POS Point of Sales
RDBMS Relation Database Management System
RSA The RSA Pubic Key Cryptosystem
SDK Software Development Kit
SSL Secure Sockets Layer
TPM Transaction Processing Monitor
URL Universal Resource Locator
WAP Wireless Application Protocol
WML WAP Mark-up language
WSP WAP Session Protocol
WTLS WAP Transport Layer Security


4
DANH MỤC CÁC BẢNG BIỂU

Bảng 1 – X.509 phiên bản 3………………………………………………
Bảng 2 – Nội dung tín hiệu trong thư viện WMLScriptCrypto (với các
phần liên quan)…………………………………………………………………
Bảng 3 – Dữ liệu ký (SignedData) trong PKCS#7 (với các phần liên
quan) ………………………………………………………………………………
Bảng 4 – Yêu cầu thanh toán…………………………………………………
Bảng 5 – Yêu cầu và báo cáo tình trạng thanh toán ……………………….
Bảng 6 – Yêu cầu và báo cáo thẩm định ủy quyền thanh toán…………….
Bảng 7 – Yêu cầu cam kết thanh toán ………………………………………
Bảng 8 – Yêu cầu xác minh ủy quyền thanh toán và phản hồi …………
Bảng 9- Việc lựa chọn phương sai cho thử nghiệm ……………………
Bảng 10- Tóm tắt kết quả thử nghiệm
13

46

47
48
49
49
50
59
68
69

5
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ


Hình 1 –Mật mã khóa công khai……………………………………
Hình 2: WPKI SignText ……………………………………………
Hình 3: Mô hình tham chiếu MeT ……………………………………
Hình 4 – Các bên liên quan trong thanh toán thẻ tín dụng ………………….
Hình 5: Sơ đồ khái niệm Hệ thống thanh toán di động ……………………
Hình 6: Sơ đồ quy trình ……………………………………………………
Hình 7: Sơ đồ các công đoạn trong hệ thống ……………………………….
Hình 8 - Các lớp trung tâm và giao diện của Hệ thống thanh toán di động
Hình 9 – Sơ đồ thứ tự …………………………………………………
Hình 10: Vòng đời bản ghi thanh toán ………………………………
Hình 11 – Nội dung tín hiệu có thể được chuyển thành PKCS #7 tại Cổng WAP
Hình 12 – Cấu trúc phần mềm của hệ thống ……………………………
Hình 13 – Môi trường thử nghiệm chức năng …………………………….
Hình 14. Môi trường thử nghiệm hoạt động …………………………
Hình 15 – Kết quả thử nghiệm – thời gian phản hồi …………………
Hình 16 – Kết quả thử nghiệm – Thông lượng ………………………
9
15
16
20
34
35
36
38
40
41
45
51
62

66
69
70




6
LỜI GIỚI THIỆU
1 Mục tiêu của luận văn
Thương mại điện tử với lượng hàng hoá lớn đòi hỏi những giao thức và hệ
thống đặc biệt. Hiện nay đã có nhiều hệ thống và giao thức để xử lý các bước
trong thương mại điện tử như chọn hàng, đặt hàng, thanh toán và hậu cần. Hiện
nay các hệ thống thanh toán được sử dụng đều có những hạn chế về tính hữu dụng
và bảo mật. Gần đây chúng ta đã có những cơ sở vật chất tốt về mạng không dây,
đây sẽ là một môi trường tốt để xây dựng một hệ thống thanh toán điện tử hiện
đại.
Mục tiêu của luận văn này là khảo cứu một hệ thống cho phép người sử dụng
thực hiện các giao dịch thanh toán thông qua điện thoại di động.
Hệ thống (gọi tắt của Hệ thống Thanh toán Di động) sẽ hoạt động dựa trên
WAP thông qua thiết bị di động không dây, dùng thiết bị di động với các tính năng
tiêu chuẩn để tạo chữ ký điện tử. Đây là một phương thức thanh toán, với việc hệ
thống hỗ trợ tính năng tạo chữ ký điện tử do người thanh toán uỷ quyền, và tiền
được chuyển là tiền trong tài khoản của khách hàng tại ngân hàng. Cần lưu ý rằng
hệ thống này không tạo ra tiền điện tử, nó là một hệ thống ứng dụng tính năng uỷ
quyền trên mạng đảm bảo tính bảo mật vào thanh toán điện tử di động tronh kinh
doanh.
Các hệ thống thanh toán di động được định hướng hoạt động là sẽ tương tác
với các thiết bị đầu cuối sử dụng WAP, các tổ chức cấp phép, các hệ thống thương
mại điện tử, các thiết bị đầu cuối tại điểm bán hàng cũng như các hệ thống kế toán

và xuất hóa đơn. Việc giao tiếp với các đầu mối kể trên sẽ được thực hiện thông
qua cả thiết bị di động và cố định.

7
Luận văn này tập trung vào các hệ thống dành cho các lớp ứng dụng, đó là
tầng 7 của mô hình ISO-OSI [16]. Phạm vi nghiên cứu của luận văn là giới thiệu
và triển khai một Hệ thống Thanh toán Điện tử với giao diện cụ thể dành cho hệ
thống ngoại vi đề cập ở trên. Trong luận văn này sẽ giới thiệu một hệ thống
thương mại thử nghiệm, trong đó sử dụng Hệ thống Thanh toán Điện tử để kiểm
nghiệm và chứng minh các kết quả nghiên cứu.
Hệ thống Thanh toán Điện tử gắn liền với khung tiêu chuẩn do Diễn đàn
WAP ITU-T, IETF, RSA Laboratories, Viện Quốc gia Tiêu chuẩn và Công nghệ
và MeT initiative đặt ra. Các tiêu chuẩn đặt ra bởi RSA Laboratories, ITU-T và
FIPS chính là nền tảng cho các giải pháp bảo mật thông tin trong hệ thống. Diễn
đàn WAP và MeT initiative đã tìm ra các biện pháp để áp dụng các tiêu chuẩn vào
Internet di động nói chung và WAP nói riêng. IETF RFCs đưa ra các cơ sở để
phân phối các ứng dụng mạng.
Hành lang pháp lý liên quan đến các hệ thống thanh toán, vận hành hệ thống
thanh toán, chữ ký và xác nhận qua điện tử đang phát triển rất nhanh. Ngày càng
có nhiều các quy định mới và cách giải thích mới về các vấn đề trên.
2 Kết cấu luận văn
Cấu trúc của luận văn bao gồm phần Giới thiệu và 3 chương. Chương 1 “
Các giao dịch thanh toán di động bảo mật” chính là chương tổng quát của cả luận
văn. Chương này đề cập đến các cách thức thanh toán điện tử khác nhau, lý thuyết
và cơ sở của bảo mật và mật mã, cấu trúc khóa WAP công khai và các hệ thống
thanh toán di động hiện tại. Chương 2 “Thiết kế và triển khai” sẽ trình bày 2 phần,
phần 1 trình bày về “các tiêu chí ” để hệ thống có thể vận hành. Những lý thuyết
trong chương 1 và các tiêu chí trình bày trong phần 1 của chương 2 sẽ là cơ sở để
nghiên cứu phần 2 trong chương 2 là “Đặc điểm kỹ thuật của hệ thống”. Phần này
trước hết sẽ mô tả các quy trình vận hành của hệ thống, sau đó là một mô hình cụ


8
thể của hệ thống và cuối cùng là mô tả cấu trúc phần mềm của hệ thống. Chương 3
sẽ mô tả việc triển khai và thử nghiệm hệ thống. Việc thử nghiệm mô tả một cách
khái quát. Các tình huống thử nghiệm sẽ được trình bày cùng kết quả cụ thể của
tình huống đó. Cuối cùng sẽ là phần kết luận, phần này sẽ xem xét các kết quả đạt
được, hướng phát triển và sẽ tổng kết lại những gì mà luận văn đã làm được.
Cuối cùng tác giả xin bày tỏ lòng biết ơn chân thành tới PGS.TS. Hồ Sĩ
Đàm, thầy đã luôn ân cần, chỉ bảo, động viên, giúp đỡ tác giả trong suốt quá trình
thực hiện Luận văn. Tôi xin chân thành cảm ơn gia đình, bạn bè, đồng nghiệp đã
luôn tin tưởng, động viên và giúp đỡ về nhiều mặt trong thời gian qua. Tôi xin
chân thành cảm ơn các thầy cô giáo trong bộ môn Toán – Tin , trường Học viện
Ngân hàng đã động viên và tạo điều kiện giúp đỡ tôi hoàn thành tốt nhất Luận văn
này.



9
CHƢƠNG 1: CÁC GIAO DỊCH THANH TOÁN DI ĐỘNG
BẢO MẬT
Chương này trình bày về lý thuyết liên quan đến bảo mật thông tin, đặc biệt
là cơ sở hạ tầng khóa công khai, và về thanh toán điện tử.
1.1 Cơ sở vật chất khóa công khai di động
1.1.1 Các nền tảng của cơ sở vật chất khóa công khai
Mật mã khóa công khai
Mật mã truyền thống được dựa trên một bí mật, nghĩa là một quy tắc dùng
mã hóa và giải mã. Đương nhiên điều đó sẽ có nghĩa là tất cả các bên muốn tham
gia giao dịch đều phải biết quy tắc mã đó. Mật mã công khai mà là nền tảng của cơ
sở vật chất mã công khai, sẽ có hai khóa – một được giữ bí mật (mã riêng) và một
là mã công khai mọi người đều biết. Hơn nữa các mã khóa, về mặt tin học, là

không thể được suy ra mã riêng từ mã công khai. Trong mật mã khóa công khai,
dữ liệu được mã hóa bằng một trong các khóa chỉ có thể giải mã bằng một khóa
khác. Khái niệm này được minh họa trong hình 1.

Hình 1 –Mật mã khóa công khai [2]
W. Diffie và M.E. Hellman lần đầu tiên giới thiệu mô hình mật mã khóa
công khai vào năm 1976 [2]. Từ khi đó, đây vẫn là mật mã chính mạnh nhất bởi nó
văn bản
Mã hóa
Giải mã
văn bản
Văn bản
đã mã hóa
Khóa riêng
Khóa công khai

10
có thể giải quyết các vấn đề về mã quản lý, mà đó là vấn đề chủ yếu trong mật mã
đối xứng truyền thống.
Mật mã khóa công khai có thể được dùng cho bảo mật hoặc tạo chữ ký số.
Chức năng thứ nhất được thực hiện khi khoá mã hoá là công khai và khoá giải mã
là bí mật. Ngược lại, Chữ ký được thực hiện khi khoá mã hoá là bí mật và khoá
giải mã là công khai. [1]
Chữ ký kỹ thuật số
Chữ ký kỹ thuật số là phiên bản điện tử của chữ ký tay, sở hữu các tính năng
sau: xác thực, không thể làm giả, không sử dụng lại được. Ngoài ra, văn bản khi đã
được ký thì không thể thay đổi được.[2]
Chữ ký điện tử được tạo bằng việc mã hoá một văn bản được ký bằng khóa
bí mật. Người khác có thể nhận dạng chữ ký bằng việc dùng khoá công khai giải
mã văn bản đã được mã hoá đó. Trong thực tế, để tiết kiệm thời gian, người ta

thường không mã hoá văn bản hoàn thiện chỉ để ký, do những thuật toán mã hoá
công khai hiện tại đều không có hiệu quả hoạt động cao. Người ta thường dùng
các công thức một chiều “hash” để giảm kích thước tài liệu ký, giúp cho việc mã
hóa được hiệu quả hơn. Việc thẩm tra chữ ký cũng được thực hiện bằng cách này,
gồm cả khảo sát và so sánh nó với chữ ký gốc được giải mã. [2]
Chữ ký ẩn là một dạng đặc biệt của chữ ký số. Chữ ký ẩn được sử dụng rất
nhiều đặc biệt là trong hệ thống tiền điện tử. Một chữ ký ẩn được tạo ra khi người
ký không có khái niệm là họ đang thực sự ký cái gì. Một giao thức chữ ký ẩn giữa
A và B được thực hiện như sau: A chọn ngẫu một yếu tố ẩn mà anh ta dùng để
nhân thông điệp lên và chuyển thông điệp ẩn cho B ký. B ký vào thông điệp ẩn và
chuyển chữ ký đó cho A. A chia chữ ký ra theo nhân tố ẩn để loại, nhờ đó nhân tố
ẩn được loại khỏi chữ ký. Tất nhiên, cần một điều kiện tất yếu là các hoạt động ẩn
và chữ ký có thể hoán vị.[10]

11
Chứng nhận số
Bản thân Chứng nhận số không phải là một phương tiện đủ tính tin cậy để
thay thế chứng nhận thực của cơ quan có thẩm quyền, thậm chí khi chữ ký được
thẩm định thì cũng không thể khẳng định người ký chính là người đứng ra nhận
mình ký. Chứng nhận khóa công khai là một phương tiện mạnh để tạo dựng sự tin
tưởng trong mật mã khóa công khai. Một chứng nhận khóa công khai là khóa công
khai của ai đó được ký bởi một người đáng tin cậy [2].
Một chứng nhận khóa công khai (chứng nhận tắt) thông thường chứa cả các
thông tin liên quan đến mã bí mật mà liên quan đến mã công khai có ký hiệu. Bên
cạnh mã, phía bên tin cậy thường đưa ra thêm các thông tin ngoài. Nếu chứng
nhận khóa công khai chứa các thông tin về nhận diện của chủ sở hữu mã bí mật,
chứng nhận này được gọi là một Chứng nhận nhận diện. Nếu các thông tin đính
kèm xác định được chủ sở hữu khoá là thành viên của một nhóm hay một tổ chức,
Chứng nhận này sẽ được gọi là Chứng nhận đại diện. Chứng nhận đại diện có thể
điều chỉnh thành các Chứng nhận uỷ quyền hoặc Chứng nhận cho phép. Các

chứng nhận này chứa các thông tin về sự uỷ quyền và cho phép của người sở hữu
khoá bí mật, ví dụ người được uỷ quyền rút tiền trong tài khoản. [1]
Chứng nhận khóa công khai có 3 bên liên quan: Bên yêu cầu, bên phát hành
và bên hoặc các bên thẩm tra. Bên phát hành thường được gọi là một tổ chức
chứng nhận (CA). Bên yêu cầu cần phải thể hiện bằng chứng rằng họ sở hữu khóa
bí mật, và cung cấp đầy đủ thông tin nhận diện bản thân mà CA có thể thẩm tra.
CA có thể tạo ra chứng nhận hay chuỗi tin cậy bằng việc thẩm định lẫn nhau. Do
đó sự tin cậy của CA trong một chuỗi phụ thuộc vào tất cả những CA trước nó
trong chuỗi. CA đầu tiên là CA được tin cậy tuyệt đối, và được gọi là CA gốc.



12
1.1.2 Cơ sở vật chất khóa công khai X.509
X.509 là một sự đề cử của ITU-T. Bản chất của nó là việc sử dụng chứng
nhận nhận dạng khóa công khai với mỗi người sử dụng của một hệ thống. Chứng
nhận trong X.509 là dựa trên cơ sở nhận dạng. Việc đề cử sẽ xác định định dạng
chứng nhận cũng như vai trò của CA. Các CA có thể tạo ra mô hình tin cậy theo
thứ bậc – đó là tất cả trừ CA gốc mà được chứng nhận bởi CA khác. Chứng nhận
chéo cũng được chấp nhận. Điều này cho phép tạo ra mối quan hệ tin cậy giữa các
cây chứng nhận CA khác nhau [3] [17].
X.509 được dựa trên danh bạ X.500. Căn cứ vào mô hình thì có một danh bạ
toàn cầu mà ở đó mỗi cá nhân có một đường vào. Chứng nhận được lưu trữ trong
một danh bạ X.500 cùng với các dữ liệu khác về từng cá nhân. Theo phương pháp
nghiên cứu gốc, tên của mỗi cá nhân là duy nhất trên toàn cầu. Trong khai thác
X.509 thực tế trên thế giới, danh bạ thường chỉ chứa tổ chức hoặc ví dụ, người sử
dụng của một vài ứng dụng. Trong thực tế, không thể có một yêu cầu khắt khe về
tính đơn nhất đối với tên trong danh bạ X.500, ít nhất là trong các danh bạ khác
nhau. Do đó, cả nhu cầu chứng nhận cũng thường được coi là một sự cho phép sử
dụng một vài dịch vụ, hơn là một bằng chứng nhận dạng 100%. Thông thường đây

là một sự ủy quyền ngang hàng, bởi vì toàn bộ khái niệm về chứng nhận phụ thuộc
vào quá trình phát hành – người sử dụng có thể ở một điểm nào đó được coi là
thành viên của nhóm và họ được phát hành chứng nhận [1].
X.509 ngày nay sử dụng PKI rộng rãi nhất. Phiên bản hiện tại của nó là
X.509v3 [3]. Kể cả WAP PKI cũng dựa trên X.509v3.[4]. Chứng nhận X.509v3
diễn tả rằng một ASN.1 có các định dạng sau:

×