Hệ thống hoạt động bao gồm 5 thành phần chính: - Client: Bao gồm người dùng, ứng dụng mobile.
- Ứng dụng Google Authenticator: Nơi lấy mã OTP được sinh ra sau khi đăng ký. - Application Server (Máy chủ ứng dụng): Điều khiển tất cả các hoạt động ứng dụng
giữa những người sử dụng và các ứng dụng tầng cuối.
- Authentication Server (Máy chủ xác thực): Cung cấp trình xác thực cho hệ thống. - Database: Nơi lưu trữ thông tin người dùng, thông tin hệ thống.
Hình 5. Sơ đồ mô hình hoạt động hệ thống
Quy trình hoạt động của hệ thống xác thực:
Đối với yêu cầu đăng ký từ phía người dùng, client gửi yêu cầu lên Application Server để đăng ký xác thực TOTP. Application Server sẽ tiến hành gửi yêu cầu lên Authentication Server kèm theo thông tin người dùng bao gồm id, username để đăng ký. Authentication Server kiểm tra trong bộ nhớ cache xem tài khoản này đã đăng ký TOTP hay chưa, nếu chưa thì sẽ sinh ra khóa bí mật và trả về cho Application Server, Application Server trả về cho phía Client để người dùng có thể sử dụng ứng dụng Google Authenticator thực hiện thao tác nhập hoặc quét mã QR chứa khóa bí mật. Sau
Mô tả quy trình đăng kí dịch vụ xác thực
ST
T Tác nhân Nội dung thực hiện
HĐ
1 Người dùng Khi muốn thực hiện đăng kí hình thức xác thực đa nhân tố Google Authenticator trong việc thực hiện các giao dịch chuyển tiền hoặc thanh toán, người dùng chọn chức năng Đăng kí xác thực trong menu của app.
HĐ2 Hệ thống Thực hiện kiểm tra trong cơ sở dữ liệu xem tài khoản của khách hàng đã đăng kí hình thức xác thực hay chưa.
+ Neu tài khoản đã đăng kí, hệ thống hiển thị thông báo “ Quý khách đã đăng ký dịch vụ này”.
+ Nếu tài khoản chưa đăng ký, cho phép khách hàng chọn tiep tục để thực hiện đăng ký.
HĐ3 Người dùng Chọn Tiếp tục để xác nhận đăng ký.
HĐ4 Hệ thống Lấy id và username của tài khoản để sinh khóa bí mật hiển thị dưới dạng mã QR code hoặc một chuỗi kí tự văn bản. HĐ5 Người dùng Sử dụng ứng dụng Google Authenticator để quét mã QR
hoặc
nhập mã dưới dạng văn bản mà hệ thống đã trả ra HĐ6 Hệ thống Yêu cầu nhập mã xác thực của người dùng từ ứng dụng
Google Authrnticator thực hiện ở hoạt động 4.
Khóa luận tốt nghiệp GVHD: Ths. Nguyễn Thanh Thụy
khi người dùng nhập mã bí mật vào ứng dụng Google Authenticator, ứng dụng này sinh ra mã OTP mỗi 30 giây một lần.
Mỗi lần tiến hành xác thực, người dùng nhập mã OTP được lấy từ trong ứng dụng Google Authenticator, mã xác thực này sẽ được gửi lên Application Server và gửi yêu cầu xác thực lên Authentication Server. Authentication Server tiến hành kiểm tra thông tin người dùng trong bộ nhớ cache, nếu người dùng với id đã được đăng ký xác thực TOTP thì hệ thống sẽ lấy ra khóa bí mật từ id của người dùng được lưu trong
bộ nhớ và tạo ra một mã OTP với hàm mã hóa và tạo mã tương tự như trên ứng dụng Google Authenticator. Nó sẽ tiến hành đối chiếu mã vừa sinh ra này với mã được người dùng nhập vào. Nếu hai mã trùng nhau thì quá trình xác thực là thành công, ngược lại quá trình xác thực thất bại.
Nguyễn Thị Hồng Vân - K19HTTTA
Khóa luận tốt nghiệp GVHD: Ths. Nguyễn Thanh Thụy
2.4. Biểu đồ hoạt động