Dựa vào các nghiên cứu bên trên chúng tôi đã thực hiện xây dựng ứng dụng trên nền tảng hệ điều hành Android. Dƣới đây là một số chức năng của chƣơng trình.
4.5.1. Kích hoạt tài khoản
Lần sử dụng đầu tiên ứng dụng sẽ yêu cầu ngƣời dùng nhập số điện thoại và mât khẩu để kích hoạt ứng dụng.Một cặp khóa RSA sẽ đƣợc tạo ra và lƣu trên điện thoại, đồng thời khóa công khai (public key) cũng sẽ đƣợc gửi lên Server để Server dùng cho việc xác thực giao dịch sau này. Nếu ngƣời dùng nhập đúng thông tin số điện thoại và mật khẩu Server sẽ gửi tin nhắn về số điện thoại này một mã kích hoạt. Ứng dụng sẽ bắt tin nhắn này và đọc lấy mã kích hoạt,mã kích hoạt này sẽ đƣợc gửi lên server để xác nhận số điện thoại là chính xác. Khi kích hoạt thành công số điện thoại sẽ đƣợc ghi lại vào file của chƣơng trình để sử dụng cho các giao dịch sau này.
Hình 4.31: Giao diện kích hoạt ứng dụng
Sau khi kích hoạt thành công chƣơng trình sẽ chuyển đến giao diện các chức năng.
4.5.2. Chức năng chuyển khoản
Ngƣời dùng khởi tạo giao dịch chuyển khoản trên ứng dụng. Sau nhập đầy đủ thông tin bấm gửi để tạo giao dịch. Thông tin giao dịch sẽ đƣợc gửi kèm chữ ký đƣợc tạo bởi các thông tin giao dịch và khóa riêng <private key> của tài khoản. Server xác nhận thông tin giao dịch. Nếu thông tin chính xác và hợp lệ server sẽ gửi một tin nhắn có kèm theo mã OTP về điện thoại của ngƣời dùng. Ứng dụng bắt tin nhắn và đọc OTP. Sau khi có OTP ứng dụng sẽ gửi thông tin xác nhận lên server để hoàn tất giao dịch.
Hình 4.33: Giao diện chức năng chuyển khoản
Ngƣời dùng vào website của hệ thống để tạo giao dịch. Sau khi nhập đầy đủ thông tin giao dịch và bấm nút “Tiếp tục” hệ thống sẽ gửi tin nhắn về số điện thoại của ngƣời dùng để yêu cầu xác thực.
Hình 4.34: Giao diện thực hiện giao dịch trên website
Phần mềm cài đặt trên máy ngƣời dùng sẽ bắt tin nhắn có chứa OTP của hệ thống gửi đến và hiện thị giao hiện yêu cầu ngƣời dùng nhập mật khẩu để xác nhận giao dịch. Sau khi ngƣời nhập mật khẩu và xác nhận thanh toán chƣơng trình sẽ tạo ra một chữ ký điện
tử từ thông tin giao dịch và khóa riêng tƣ của tài khoản, sau đó gửi thông tin xác nhận lên Server. Server xác thực thông tin và thông báo kết quả giao dịch cho ngƣời dùng biết.
CHƢƠNG 5 – KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU TIẾP THEO