Xác thực tài khoản

Chỉnh sửa lần cuối Jun 19, 2022
Xác thực tài khoản

Tương tự như tạo tài khoản, quá trình xác thực tài khoản cũng gồm 2 giai đoạn:

  1. Xác thực tài khoản cơ sở
  1. Xác thực Master Password

Xác thực tài khoản cơ sở

Sử dụng Email và Account Password

Locker sẽ so sánh cặp Email và giá trị băm của Account Password thông qua Thuật toán khởi tạo khóa PBKDF2 mà người dùng nhập vào với Email và Password Hash đã lưu ở cơ sở dữ liệu để xác định người dùng có hợp lệ hay không.

Sử dụng OAuth

Quá trình xác thực OAuth hoàn toàn diễn ra tại các nhà cung cấp như Facebook, Google, GitHub hay Apple. Locker chỉ sử dụng kết quả xác thực tại các bên này để đưa ra quyết định người dùng đã được xác thực hay chưa.

Xác thực Master Password

Chỉ sau khi người dùng xác thực tài khoản cơ sở thành công, việc xác thực Master Password mới được phép diễn ra. Quá trình này được mô tả chi tiết ở sơ đồ dưới đây, với ý tưởng chính như sau:

  • Tính toán giá trị Generated Master Password Hash (h1) bằng cách sử dụng Thuật toán khởi tạo khóa PBKDF2 với 100.001 lần lặp tại Client và 216.000 lần lặp tại Server
  • Lấy giá trị Stored Master Password Hash (h2) đã lưu tại cơ sở dữ liệu từ lúc Tạo tài khoản
  • So sánh h1 h2. Nếu 2 giá trị này trùng nhau chứng tỏ Master Password là hợp lệ. Nếu không, giá trị này chưa chính xác
Notion image