Mô tả giải pháp

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng ứng dụng di động cho ví điện tử 001 (Trang 27 - 30)

Mỗi tài khoản ngƣời dùng gắn với một số điện thoại, một mã PIN và một cặp khóa RSA. Ngƣời dùng sẽ sử dụng số điện thoại làm tên truy cập, mã PIN làm mật khẩu đăng nhập và sử dụng điện thoại để lƣu trữ khóa riêng của họ.Mỗi khi thực hiện giao dịch khóa riêng đƣợc sử dụng để tạo ra chữ ký số gửi kèm theo lên server, trên server sử dụng khóa công khai để xác thực chữ ký của ngƣời dùng. Quá trình khởi tạo khóa riêng và giao dịch đƣợc mô tả cụ thể bên dƣới.

Đầu tiên ngƣời dùng tải phần mềm về cài đặt trên điện thoại của mình. Sau khi cài đặt xong sẽ thực hiện đăng ký tài khoản mới hoặc kích hoạt tài khoản nếu đã có tài khoản. Quá trình đăng ký, kích hoạt sẽ tạo ra một cặp khóa theo thuật toán RSA, khóa riêng lƣu lại trên điện thoại của ngƣời dùng, khóa công khai đƣợc gửi kèm theo thông tin đăng ký lên server của nhà cung cấp.

Hình 3.5: Quá trình xác thực thanh toán

Bƣớc 1: Ngƣời dùng sử dụng máy tính cá nhânbắt đầumộtkếtnốiHTTPSvớihệ thống ví điện tử (Server)bằng cách truy cậptrangwebcủacủa nhà cung cấp và thực hiện giao dịch.

Bƣớc 2: Server nhận yêu cầu thực hiện giao dịch sau khi khởi tạo giao dịch một tin nhắn yêu cầu xác thực giao dịch kèm theo một mã OTP đƣợc mã hóa bằng khóa công khai của tài khoảnđƣợc gửi về điện thoại của ngƣời dùng.

Bƣớc 3: Điện thoại nhận đƣợc tin nhắn từ server, ứng dụng đƣợc cài đặt trên điện thoại sẽ đọc tin nhắn, giải mã thông tin, hiện thị thông tin lên màn hình và yêu cầu ngƣời dùng nhập PIN để xác thực thanh toán.

Bƣớc 4: Ngƣời dùng nhập PIN trên điện thoại và ấn nút gửi khi đó phần mềm sẽ sử dụng khóa riêng tƣ đƣợc lƣu trong máy điện thoại và thông tin giao dịch để tạo chữ ký số, chữ ký số này sẽ đƣợc gửi kèm theo thông tin xác thực lên server thông qua Internet

Bƣớc 5: Server nhận thông tin xác thực từ ngƣời dùng và sử dụng khóa công khai để xác thực chữ ký số ngƣời dùng gửi kèm theo, nếu chữ ký đúng sẽ tiếp tục xác thực các thông tin giao dịch khác, nếu sai sẽ hủy giao dịch.

Bƣớc 6: Server gửi thông báo kết quả giao dịch tới điện thoại của ngƣời dùng và hiện thị trên trang web.

Phƣơng pháp này giải quyết đƣợc đầy đủ ba vấn đề xác thực đƣợc nêu ở chƣơng 1. Đối với vấn đề một và hai, HTTPS đã giải quyết đƣợc. Đối với vấn đề ba, làm thế nào để xác nhận đƣợc những thông tin đƣợc chuyển đến Server là đúng do ngƣời dùng truyền đến. Hệ thống đã sử dụng đồng thời hai phƣơng pháp:

- Sử dụng mật khẩu một lần OTP gửi kèm thông tin giao dịch đƣợc gửi đến điện thoại của ngƣời dùng thông qua tin nhắn SMS.

- Sử dụng thuật toán RSA để tạo chữ ký điện tử từ khóa riêng tƣ của ngƣời dùng. Hai phƣơng pháp này xác định đƣợc chính xác ngƣời dùng bởi vì chỉ có khách hàng sử dụng số điện thoại của họ mới nhận đƣợc tin nhắn từ hệ thống, nếu không may tin nhắn bị lộ trên đƣờng truyền thì OTP cũng không bị lộ bởi vì nó đã đƣợc mã hóa bằng khóa công khai RSA của tài khoản và chỉ khi có khóa riêng tƣ RSA của tài khoản mới giải mã đƣợc OTP đó. Phƣơng pháp sử dụng chữ ký điện tử bằng khóa riêng tƣ sẽ tránh đƣợc trƣờng hợp giao dịch bị xác thực giả mạo hoặc bị thay đổi thông tin, bởi vì cặp khóa RSA là duy nhất chỉ khi có đƣợc khóa riêng tƣ mới tạo ra đƣợc đúng chữ ký, nếu chữ ký đƣợc tạo ra bởi một khóa riêng tƣ khác hoặc thông tin gửi lên bị thay đổi thì khi lên đến server hệ thống sẽ phát hiện ra đƣợc đây không phải là chữ ký của đúng ngƣời dùng. Vì vậy trừ khi ngƣời dùng mất cả số điện thoại, điện thoại, mã PIN ngƣời dùng mới có nguy cơ bị đánh cắp tài khoản.

CHƢƠNG 4 – PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT CHƢƠNG TRÌNH

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng ứng dụng di động cho ví điện tử 001 (Trang 27 - 30)

Tải bản đầy đủ (PDF)

(65 trang)