1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ MINH TÂN
XÂY DỰNG ỨNG DỤNG DI ĐỘNG
CHO VÍ ĐIỆN TỬ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội 2013
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
--------------------------------------------
VŨ MINH TÂN
XÂY DỰNG ỨNG DỤNG DI ĐỘNG CHO VÍ
ĐIỆN TỬ
Ngành
: Công nghệ thông tin
Chuyên ngành
LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn thạc sĩ này là công trình nghiên cứu thực sự của cá
nhân tôi, đƣợc thực hiện trên cơ sở nghiên cứu, tổng hợp lý thuyết và thực tiễn dƣới sự
hƣớng dẫn khoa học của TS. Trần Thị Minh Châu.
Hà Nội, ngày 05 tháng 10 năm 2013.
Vũ Minh Tân
5
Mục lục
LỜI CAM ĐOAN ................................................................................................................ 4
CÁC THUẬT NGỮ VIẾT TẮT.......................................................................................... 7
DANH MỤC HÌNH VẼ ...................................................................................................... 8
CHƢƠNG 1 – MÔ TẢ BÀI TOÁN VÍ ĐIỆN TỬ............................................................ 10
1.1.
Lợi ích và thực trạng phát triển của ví điện tử ..................................................... 10
1.2.
Các vấn đề bảo mật của ví điện tử ....................................................................... 11
1.3.
Bài toán luận văn cần giải quyết .......................................................................... 12
CHƢƠNG 3 – GIẢI PHÁP BẢO MẬT CHO HỆ THỐNG VÍ ĐIỆN TỬ....................... 20
3.1.
Kiến trúc hệ thống ................................................................................................ 20
3.2.
Các giao thức bảo mật của hệ thống .................................................................... 20
3.2.1.
Giao thức sử dụng tên đăng nhập và mật khẩu để đăng nhập hệ thống ....... 21
3.2.2.
Giao thức sử dụng mật khẩu một lần (OTP) để thực hiện giao dịch ............ 21
3.2.3.
Giao thức tạo chữ ký bằng cặp khóa RSA..................................................... 22
3.2.4.
Ứng dụng các giao thức vào các chức năng cụ thể ...................................... 23
3.3.
Mô tả giải pháp .................................................................................................... 27
CHƢƠNG 4 – PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT CHƢƠNG TRÌNH ................... 30
4.3.1.
Ca sử dụng kích hoạt tài khoản..................................................................... 36
4.3.2.
Ca sử dụng thực hiện giao dịch .................................................................... 38
4.3.3.
Ca sử dụng thực hiện giao dịch trên web ..................................................... 40
4.3.4.
Ca sử dụng kiểm tra lịch sử giao dịch .......................................................... 44
4.3.5.
Ca sử dụng kiểm tra thông tin tài khoản ....................................................... 46
4.4.
Thiết kế hệ thống.................................................................................................. 49
4.4.1.
Ca sử dụng kích hoạt tài khoản..................................................................... 49
4.4.2.
CHƢƠNG 5 – KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU TIẾP THEO ......................... 64
5.1.
Kết luận ................................................................................................................ 64
5.2.
Hƣớng nghiên cứu tiếp theo ................................................................................. 64
TÀI LIỆU THAM KHẢO ................................................................................................. 65
7
CÁC THUẬT NGỮ VIẾT TẮT
Từ viết tắt
CA
Client
HTTPS
OTP
RSA
Server
SMS
SSL
TMP
UNCITRAL
USB
Nghĩa tiếng Anh
Hình 4.9: Giao diện thực hiện giao dịch
Hình 4.10: Biểu đồ tuần tự hệ thống thực hiện giao dịch trên website
Hình 4.11: Biểu đồ lớp phân tích thực thi ca sử dụng thực hiện giao dịch trên website
Hình 4.12: Biểu đồ tuần tự phân tích thực thi ca sử dụng thực hiện giao dịch trên website
Hình 4.13: Giao diện thực hiện giao dịch trên website
Hình 4.14: Biểu đồ lớp phân tích ca sử dụng kiểm tra lịch sử giao dịch
Hình 4.15: Biểu đồ tuần tự phân tích thực thi ca sử dụng kiểm tra lịch sử giao dịch
Hình 4.16: Giao diện kiểm tra lịch sử giao dịch
Hình 4.17: Biểu đồ tuần tự hệ thống kiểm tra thông tin tài khoản
9
Hình 4.18: Biểu đồ lớp phân tích thực thi ca sử dụng kiểm tra thông tin tài khoản
Hình 4.19: Biểu đồ tuần tự phân tích thực thi ca sử dụng kiểm tra thông tin tài khoản
Hình 4.20: Giao diện kiểm tra thông tin tài khoản
Hình 4.21: Biểu đồ tuần tự thực thi ca sử dụng kích hoạt tài khoản
Hình 4.22: Biểu đồ lớp thực thi ca sử dụng kích hoạt tài khoản
Hình 4.23: Biểu đồ tuần tự thực thi ca sử dụng thực hiện giao dịch
Hình 4.24: Biểu đồ lớp thực thi ca sử dụng thực hiện giao dịch
Hình 4.25: Biểu đồ tuần tự thực thi ca sử dụng thực hiện giao dịch trên website
Hình 4.26: Biểu đồ lớp thực thi ca sử dụng thực hiện giao dịch trên website
Hình 4.27: Biểu đồ tuần tự thực thi ca sử dụng kiểm tra lịch sử giao dịch
Hình 4.28: Biểu đồ lớp thực thi ca sử dụng kiểm tra lịch sử giao dịch
Hình 4.29: Biểu đồ tuần tự thực thi ca sử dụng tra cứu thông tin tài khoản
Hình 4.30: Biểu đồ lớp thực thi ca sử dụng tra cứu thông tin tài khoản
Hình 4.31: Giao diện kích hoạt ứng dụng
Hình 4.32: Menu chính của chƣơng trình
Hình 4.33: Giao diện chức năng chuyển khoản
Hình 4.34: Giao diện thực hiện giao dịch trên website
Hình thức ví điện tử đã đƣợc phát triển mạnh mẽ trên thế giới có thể kể đến những
ví điện tử nhƣ: Paypal, AlertPay, Moneybooker, Mchek,…. Các ví này hỗ trợ thanh toán
trực tuyến trên các website bán hàng, thanh toán hóa đơn dịch vụ,…. Ngoài ra một số ví
còn hỗ trợ thanh toán trong siêu thị, nhà hàng, xe bus….
Ở Việt Nam hiện nay cũng có khá nhiều ví điện tử có thể kể đến nhƣ: Ngân Lƣợng
của Công ty cổ phần Ngân Lƣơng, Bảo Kim của Công ty cổ phần thƣơng mại điện tử Bảo
Kim, Netcash của Công ty PayNet, Vcash của Công ty VinaPay, VnMart của Công ty cổ
phần Giải pháp thanh toán Việt Nam (Vnpay), Smartlink của Công ty cổ phần dịch vụ thẻ
Smartlink... Mỗi dịch vụ ví đều đƣợc các doanh nghiệp cung cấp, quảng cáo những tính
năng hỗ trợ thanh toán tiện lợi khác nhau. Mỗi ví cũng khác nhau ở số lƣợng website
thƣơng mại điện tử và các sản phẩm mà nó cho phép thanh toán. Hiện nay các loại ví này
hỗ trợ ngƣời dùng thanh toán online trên các các website bán hàng, thanh toán hóa đơn,
11
dịch vụ, trong tƣơng lai có thể áp dụng thanh toán ở ngoài xã hội thực nhƣ vé xe buýt,
taxi, quán cafe, siêu thị,….
1.2.
Các vấn đề bảo mật của ví điện tử
Sự tiện lợi của ví điện tử đi đôi với những nguy cơ tiềm ẩn: khi mọi ngƣời
đangtậnhƣởngsự tiện lợimanglạibởi ví điện tử, thông tintài khoản của họcũng làđối
tƣợngbị đánh cắphoặclàmgiảmạocủa bọn tội phạmInternet.Nhƣ vậy, quá trình xác thực
khách hàng trong khi giao dịch bằng ví điện tử trởthànhmột mối quan tâmbảo mật quan
trọngđối với các tổ chứctàichính.
Xác thực là mộtbiện pháp an ninhđƣợcthiếtkếđểxácminhdanhtínhcủa một cá
nhânthông quaxác nhậnthông tincủa cá nhân đó thƣờng xảy ratrƣớckhicá nhân đƣợctruy
cậpmột số thông tinhoặchệ thống.
1.3.
Dễ bị giả mạo: chỉ cần biết đƣợc mật khẩu của ai đó, tin tặc hoàn toàn có thể
mạo danh ngƣời đó để thực hiện các giao dịch trên mạng hoặc đăng nhập vào
hệ thống để tiến hành phá hoại hay đánh cắp thông tin.
Dễ bị đánh cắp: một mật khẩu thông thƣờng là đƣợc dùng nhiều lần, do vậy chỉ
cần những phần mềm đơn giản (có thể tải đƣợc một cách dễ dàng từ Internet),
một tin tặc có thể chặn bắt đƣợc các gói tin trên mạng và lấy cắp đƣợc mật
khẩu ngƣời sử dụng. Ngƣời dùng cũng hay có xu hƣớng là sử dụng những mật
khẩu đơn giản, dễ nhớ và cũng chỉ có một vài mật khẩu để sử dụng quay vòng
và kết quả là rất dễ bị đoán biết. Các phần mềm Spyware hiện nay rất phổ biến
và đƣợc nguỵ trang rất kỹ nên đa số ngƣời sử dụng khó có thể nhận biết đƣợc.
Những chƣơng trình nhƣ Keyboard logging sẽ ghi lại những gì ngƣời dùng gõ
từ bàn phím và gửi đến cho chủ nhân của nó.
Bài toán luận văn cần giải quyết
Để giải quyết vấn đề thứ ba, trong luận văn này chúng tôi tìm hiểu một số giải pháp
xác thực và đƣa ra một giải pháp để xác thực ngƣời dùng trong quá trình sử dụng ví điện
tử,áp dụngnó để xây dựng hệ thống Client. Giải pháp của chúng tôi là xây dựng một
chƣơng trình dành cho khách hàng, chƣơng trình đƣợc cài đặt ngay trên điện thoại của
khách hàng và có chức năng thực hiện các giao dịch thanh toán và xác thực các giao dịch
đƣợc sử dụng trên website của nhà cung cấp bằng cách sử dụng OTP và thuật toán RSA
để tạo và xác thực chữ ký số của tài khoản ví.
Nội dụng luận văn đƣợc chia thành 05 chƣơng nhƣ sau:
Chƣơng 1:Giới thiệu khái niệm về thƣơng mại điện tử, ví điện tử, các lợi ích và
thực trạng phát triển của ví điện tử và các vấn đề bảo mật của ví điện tử
Chƣơng 2: Khảo sát và đánh giá một số phƣơng pháp xác thực ngƣời dùng của ví
điện tử nhƣ : giải pháp sử dụng OTP, các thiết bị sinh trắc học, USB token, RSA token,
giải pháp sử dụng điện thoại di động để xác thực.
trong các ví điện tử ở Việt Nam, nó có ƣu điểm là nó khắc phục đƣợc nhƣợc điểm tĩnh
của mật khẩu truyền thống, làm tăng tính an toàn của giao dịch. Tuy nhiên nó có nhƣợc
điểm là nội dung tin nhắn đƣợc gửi qua SMS là dạng văn bản nên nó có thể bị lộ trên
đƣờng truyền.
2.2.
Các thiết bị nhận dạng sinh trắc học
Sinh trắc học hay Công nghệ sinh trắc học là công nghệ sử dụng những thuộc tính
vật lý, đặc điểm sinh học riêng của mỗi cá nhân nhƣ vân tay, mống mắt, khuôn mặt... để
nhận diện [8]. Mỗi ngƣời có một đặc điểm sinh học duy nhất. Dữ liệu sinh trắc học của
từng cá nhân với đặc điểm khuôn mặt, ảnh chụp võng mạc, giọng nói sẽ đƣợc kết hợp với
nhau bằng phần mềm để tạo ra mật khẩu dành cho những giao dịch điện tử, phƣơng thức
đó là “công nghệ sinh trắc đa nhân tố”.
Đây đƣợc coi là công cụ xác thực nhân thân hữu hiệu nhất mà ngƣời ta sử dụng
phổ biến vẫn là nhận dạng vân tay bởi đặc tính ổn định và độc nhất của nó và cho đến
nay, nhận dạng dấu vân tay vẫn đƣợc xem là một trong những phƣơng pháp sinh trắc tin
cậy nhất.Công nghệ nhận dạng vân tay hoạt động theo nguyên tắc: Khi đặt ngón tay lên
trên một thiết bị đọc dấu vân tay, ngay lập tức thiết bị này sẽ quét hình ảnh ngón tay đó và
đƣa vào hệ thống. Hệ thống sẽ xử lý dấu vân tay, chuyển sang dạng dữ liệu số rồi đối
chiếu các đặc điểm của vân tay đó với dữ liệu đã đƣợc lƣu trữ trong hệ thống. Nếu dấu
vân tay này khớp với dữ liệu sẽ cho phép hệ thống thực hiện các chức năng tiếp theo.
Tuy nhiên thiết bị nhận dạngsinh trắc họcđắt tiền và cách lƣu trữ đặc điểm sinh
học của con ngƣờicũngtrởthànhmột vấn đềgâytranhcãicó thể thỏa hiệpriêng tƣ cá nhân.
15
2.3.
kiểm soát, hackercó thể sửa đổi mộtgiaodịch mà ngƣời dùng không nhận
ranhữnggìđãđƣợc thay đổi, giao dịchđƣợcsửa đổisẽđƣợc xác nhậnbởikhách
hàng.
RSA Token
Hãng bảo mật RSA đã đƣa ra một cơ chế xác thực ngƣời dùng gồm 3 thành phần
nhƣ sau:
-
RSA SecurID® Authenticators: Là thiết bị đƣợc gắn với ngƣời sử dụng.
Chúng có thể là phần cứng hoặc phần mềm và đƣợc gọi là các Token. Nếu là
16
-
-
phần mềm, chúng có thể đƣợc cài đặt lên máy tính xách tay hoặc các thiết bị
cầm tay khác nhƣ PDA, Wireless Phone, .... Các thiết bị này tạo ra các con số
khác nhau trong một khoảng thời gian nhất định. Khách hàng có thể lựa chọn
thiết bị phù hợp với nhu cầu của mình.
RSA ACE/Agent Software: là phần mềm đƣợc cài lên trên các điểm truy cập
vào mạng (Ví dụ: gateway, VPN, Remote Access Server,...), các máy chủvà
các tài nguyên thông tin cần đƣợc bảo vệ của doanh nghiệp. Nó hoạt động
giống nhƣ là một ngƣời gác cửa. Khi có yêu cầu đăng nhập của ngƣời sử dụng
gửi đến, nó sẽ tiếp nhận và chuyển những thông tin đăng nhập tới máy chủ có
thành phần RSA ACE/Server để thực hiện xác thực.
17
lại. Do vậy, việc dự đoán trƣớc con số sẽ xuất hiện tiếp theo hoặc con số sẽ xuất hiện tại
một thời điểm nào đó trong tƣơng lai là không thể (chỉ có thể thực hiện đƣợc khi có số
seed và thuật toán).
Khi gán một token cho một ngƣời sử dụng, quản trị mạng cũng sẽ phải cập nhật số
seed của token đó vào cơ sở dữ liệu của RSA ACE/Server tƣơng ứng với ngƣời dùng.
Trên RSA ACE/Server cũng có một chƣơng trình chạy thuật toán tạo số giả ngẫu nhiên
giống với trên token. Khi có yêu cầu đăng nhập của ngƣời sử dụng, căn cứ vào tên đăng
nhập, căn cứ vào đồng hồ hệ thống, căn cứ vào số seed đƣợc lƣu trong cơ sở dữ liệu, khi
chạy thuật toán tạo số giả ngẫu nhiên, RSA ACE/Server cũng sẽ có đƣợc một dẫy số
giống với dẫy số trên token của ngƣời sử dụng tại cùng một thời điểm. Dãy số này đƣợc
ghép với số PIN của ngƣời sử dụng trong cơ sở dữ liệu, RSA ACE/Server có thể kiểm tra
đƣợc ngƣời sử dụng này có hợp lệ hay không.
Phƣơng pháp này có độ an toàn cao bởi vì ngoài tên truy cập và mật khẩu ban đầu
nó còn một Token code luôn luôn thay đổi và có hiệu lực trong một thời gian ngắn và chỉ
một lần sử dụng. Bởi vậy trừ khi bị mất cả mật khẩu và Token ngƣời dùng mới có nguy
cơ bị đánh cắp tài khoản.
Tuy nhiên theo phƣơng pháp này có nhƣợc điểm là khá tốn kém, nhà cung cấp ví
điện tử phải đầu tƣ một số lƣợng tiền lớn để mua giải pháp này, số lƣợng ngƣời dùng càng
tăng thì số lƣợng token cũng tăng theo.
2.5.
Sử dụng điện thoại di động
Điện thoại di động ngày càng trở nênquan trọng đối vớiđời sống xã hội.
Mộttrongnhữnglý dochínhđó làngày càng cónhiều chức năng hơnđƣợctích hợp trongđiện
thoại di động, chẳng hạn nhƣduyệt web, gửi nhận thƣ điện tử, chỉnh sửa văn bản,sử dụng
2.5.2. Các bƣớc thực hiện
Hình 2.1: Giao thức xác thực thông qua điện thoại
Bƣớc 1: Kháchhàngbắt đầumộtkếtnốiHTTPSvớingân hàngbằng
cậptrangwebcủangânhàng. Cácchi tiết củakết nốiHTTPSđƣợc mô tảnhƣsau:
-
cách
truy
P nói'Hello' S:Khibƣớcđầu, cấu hìnhthuật toán mã hóatài liệucácthuật toánmật
mãcó sẵn trênPcũng nhƣmột sốđƣợctạorangẫu nhiênRCđƣợcgửi đếnS.
S nói'Hello' P:Sxemxétcáccấu hìnhvàgửi lạilựa chọnthuật toán mã hóacủa nócùng
vớigiấy chứng nhậncủa ngân hàng,RS, và khách hàngyêucầugiấy chứng nhận số
Bƣớc 2: Trên cơ sở xác minhthànhcônggiấy chứng nhậncủahệ thống, M
sẽhiểnthịmộtthôngbáonhắcCđểnhậpmã PIN, đƣợc sử dụng để chứng minhchủ sở hữuhiện
tại củaM thực sự làC.
19
Bƣớc 3: C nhậpmã PINbằngcáchsửdụngbàn phímM
Bƣớc 4: Giấy chứng nhận của Ckết hợp vớiPKC, chữ ký củaCvàmộttổng
thể,đƣợcmãhóabởiPKBvảgửiđếnSsau khimã PINđƣợc cung cấp. Chữ ký củaCtrong mẫu:
{H (RC, RS)} PVC.
Bƣớc 5: S đầu tiên sẽxácminhgiấy chứng nhậnC, sau đó xác nhậnchữkýcủa mình
thông
quagiải
Website: đây là phần để ngƣời dùng truy cập vào để thực hiện các giao dịch từ máy
tính.
Mobile client: dùng để thực hiện các giao dịch từ ứng dụng di động và xác thực
các giao dịch đƣợc thực hiện trên website.
Server: phần này xử lý các giao dịch của hệ thống.
SMS server: dùng để gửi tin nhắn thông báo và xác nhận giao dịch.
Người dùng
CSDL
Server
SMS server
3.2.
Hình 3.1 : Kiến trúc của hệ thống
Các giao thức bảo mật của hệ thống
21
3.2.1. Giao thức sử dụng tên đăng nhập và mật khẩu để đăng nhập hệ thống
Mỗi tài khoản của hệ thống đƣợc cung cấp một tên đăng nhập là số điện thoại của
khách hàng, tên đăng nhập này là duy nhất trong hệ thống và một mật khẩu gắn liền với
tên đăng nhập đấy. Tên đăng nhập là hoàn toàn công khai trong khi mật khẩu nhất thiết
phải đƣợc giữ kín. Mỗi khi đăng nhập vào hệ thống ngƣời dùng sẽ phải cung cấp hai
thông tin trên, hệ thống sẽ sử dụng tên đăng nhập và mật khẩu để xác thực ngƣời dùng.
3.2.2. Giao thức sử dụng mật khẩu một lần (OTP) để thực hiện giao dịch
Trƣờng hợp ngƣời dùng bị mất số điện thoại và số điện thoại khi đó ngƣời dùng sẽ
gọi đến tổng đài chăm sóc khách hàng để khóa tài khoản để tránh trƣờng hợp bị kẻ
gian sử dụng tài khoản của mình. Sau khi có điện thoại và số điện thoại mới ngƣời
22
dùng sẽ phải mang chứng minh thƣ lên nhà cung cấp dịch vụ ví để kích hoạt lại tài
khoản của mình.
3.2.3. Giao thức tạo chữ ký bằng cặp khóa RSA
Phƣơng pháp xác thực ngƣời dùng bằng OTP có ƣu điểm là nó khắc phục đƣợc
nhƣợc điểm tĩnh của mật khẩu truyền thống, làm tăng tính an toàn của giao dịch. Tuy
nhiên nó có nhƣợc điểm là nội dung tin nhắn đƣợc gửi qua SMS là dạng văn bản nên nó
có thể bị lộ trên đƣờng truyền. Để khắc phục nhƣợc điểm của phƣơng pháp OTP hệ thống
còn sử dụng thêm một phƣơng pháp thứ ba đó là sử dụng thuật toán RSA để tạo chữ kí số
cho mỗi phiên giao dịch và để mã hóa OTP trƣớc khi gửi đến số điện thoại của khách
hàng.
Thuật toán RSA đƣợc tạo bởi ba tác giả Ron Rivest, Adi Shamir và Len Adleman.
Thuật toán RSA có hai khóa: khóa công khai (Public Key) và khóa riêng tƣ (Private Key).
Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã. Khóa công khai
đƣợc công bố rộng rãi cho mọi ngƣời và đƣợc dùng để mã hóa hoặc xác thực chữ ký số.
Những thông tin đƣợc mã hóa bằng khóa công khai chỉ có thể đƣợc giải mã bằng khóa bí
mật tƣơng ứng. Nói cách khác, mọi ngƣời đều có thể mã hóa nhƣng chỉ có ngƣời biết
khóa riêng tƣ mới có thể giải mã đƣợc.Thuật toán RSA cung cấp một thủ tục dùng khóa
riêng tƣ để tạo chữ ký số và dùng khóa công khai để xác minh chữ ký số.Giả sử Alice
muốn gửi cho Bob một văn bản có chữ ký của mình. Để làm việc này, Alice tạo ra một
giá trị băm (hash value) của văn bản cần ký và tính giá trị mũ d mod n của nó (giống nhƣ
khi Alice thực hiện giải mã). Giá trị cuối cùng chính là chữ ký điện tử của văn bản đang
xét. Khi Bob nhận đƣợc văn bản cùng với chữ ký điện tử, anh ta tính giá trị mũ e mod n
của chữ ký đồng thời với việc tính giá trị băm của văn bản. Nếu hai giá trị này nhƣ nhau
2
7
6
8
Server
Hình 3.2 : Quá trình kích hoạt tài khoản
Sau khi cài đặt ứng dụng, trong lần đầu tiên ứng dụng sẽ yêu cầu ngƣời dùng
nhập số điện thoại để thực hiện kích hoạt ứng dụng. Việc này nhằm thiết lập các
giao thức bảo mật cho các giao dịch thanh toán sau này. Các bƣớc thực hiện nhƣ
sau:
o Bƣớc 1: Ngƣời dùng nhập số điện thoại và mã PIN vào giao diện của ứng
dụng và bấm xác nhận
o Bƣớc 2: Ứng dụng thực hiện tạo ra một cắp khóa RSA và lƣu khóa riêng
(private key) RSA vào trong bộ nhớ của điện thoại. Sau đó gửi yêu cầu kích
hoạt bao gồm số điện thoại, mã PIN đã đƣợc mã hóa bằng thuật toán MD5
và khóa RSA công khai lên Server thông qua kết nối Internet, Server sẽ
kiểm tra tính chính xác của thông tin số điện thoại, mã PIN.
o Bƣớc 3: Nếu thông tin đăng nhập chính xác Server sẽ sinh ra một OTP và
lƣu OTP đó cùng với khóa RSA công khai mà ứng dụng gửi lên vào cơ sở
dữ liệu. Sử dụng khóa công khai của tài khoản để mã hóa OTP.
o Bƣớc 4: Server gọi đến SMS server để yêu cầu gửi OTP đã đƣợc mã hóa
đến số điện thoại của ngƣời dùng.
o Bƣớc 5: SMS server gửi tin nhắn có chứa OTP đến số điện thoại của ngƣời
dùng.
4
9
3
CSDL
1
5
2
7
6
8
Server
Hình 3.3: Quá trình thực hiện giao dịch từ ứng dụng trên di động
25
Để thực hiện giao dịch từ ứng dụng di động ngƣời dùng thực hiện theo các
bƣớc sau:
o Bƣớc 1: Ngƣời dùng mở ứng dụng chọn giao dịch cần thực hiện, nhập thông
tin giao dịch và mã PIN vào giao diện của ứng dụng và bấm xác nhận
o Bƣớc 2: Ứng dụng đọc khóa riêng tƣ RSA đểkết hợp với các thông tin giao
dịch tạo ra một chữ ký điện tử. Sau đó gửi yêu cầu thực hiện giao dịch bao
gồm các thông tin giao dịch, mã PIN đƣợc mã hóa bằng MD5 và chữ ký
điện tử vừa đƣợc tạo ra lên server. Server sẽ kiểm tra tính chính xác của
thông tin số điện thoại và mã PIN, nếu chính xác hệ thống sẽ đọc khóa công