Time-based one-time password (TOTP) là gì? Có nên sử dụng không?

Time-based one-time password (TOTP) là thuật toán máy tính mật khẩu một lần tiêu chuẩn. Chúng mở rộng trên mật khẩu một lần dạng mã xác thực tin nhắn dựa trên hàm băm (HMAC-based One-time Password, viết tắt là HOTP).

TOTP có thể được sử dụng thay cho hoặc như một yếu tố bổ sung bên cạnh các giải pháp xác thực hai yếu tố truyền thống, tồn tại từ lâu, chẳng hạn như tin nhắn SMS hoặc token phần cứng vật lý có thể dễ dàng bị đánh cắp hoặc quên. Vậy chính xác thì Time-based one-time password (TOTP) là gì? Chúng hoạt động như thế nào?

TOTP là gì?

TOTP là mật mã tạm thời, sử dụng một lần được tạo phù hợp với thời gian hiện tại bằng một thuật toán để xác thực người dùng. Đây là lớp bảo mật bổ sung cho tài khoản dựa trên xác thực hai yếu tố (2FA) hoặc xác thực đa yếu tố (MFA). Điều này có nghĩa là sau khi nhập tên người dùng và mật khẩu của mình, bạn được yêu cầu nhập một mã cụ thể dựa trên thời gian và tồn tại trong thời gian ngắn.

TOTP được đặt tên như vậy vì nó sử dụng một thuật toán tiêu chuẩn để tìm ra mật mã một lần duy nhất và bằng số bằng cách sử dụng Greenwich Mean Time (GMT). Tức là mật mã được tạo từ thời điểm hiện tại trong khoảng thời gian đó. Các mã này cũng được tạo từ mật khẩu bí mật được chia sẻ hoặc mật mã seed bí mật được cung cấp khi người dùng đăng ký với máy chủ xác thực, thông qua mã QR hoặc văn bản gốc.

Mã QR trên Screengrab
Mã QR trên Screengrab

Mật mã này được hiển thị cho người dùng, người này dự kiến sẽ sử dụng nó trong một thời gian nhất định, sau đó nó sẽ hết hạn. Người dùng nhập mật mã dùng một lần, tên người dùng và mật khẩu thông thường vào biểu mẫu đăng nhập trong thời gian giới hạn. Sau khi hết hạn, mã không còn hiệu lực và không thể được sử dụng trên biểu mẫu đăng nhập.

TOTP bao gồm một chuỗi mã số động, thường từ 4 đến 6 chữ số, thay đổi cứ sau 30 đến 60 giây. Internet Engineering Task Force (IETF) đã xuất bản TOTP, được mô tả trong RFC 6238 và sử dụng thuật toán tiêu chuẩn để lấy mật khẩu một lần.

Các thành viên của Open Authentication (OATH) là bộ não đằng sau phát minh TOTP. Nó đã được bán độc quyền theo bằng sáng chế và kể từ đó, các nhà cung cấp xác thực khác đã tiếp thị nó theo tiêu chuẩn hóa. Nó hiện đang được sử dụng rộng rãi bởi các nhà cung cấp ứng dụng đám mây. Chúng thân thiện với người dùng và có sẵn để sử dụng ngoại tuyến, điều này làm cho chúng trở nên lý tưởng để sử dụng trên máy bay hoặc nơi ngoài vùng phủ sóng.

TOTP hoạt động như thế nào?

Màn hình laptop lập trình bị khóa

TOTP, với vai trò là yếu tố ủy quyền thứ hai trên ứng dụng, cung cấp cho tài khoản của bạn một lớp bảo mật bổ sung vì bạn cần cung cấp mật khẩu dạng số một lần trước khi đăng nhập. Chúng thường được gọi là “token phần mềm”, “token mềm ” hay “xác thực dựa trên ứng dụng” và được sử dụng trong các ứng dụng xác thực như Google AuthenticatorAuthy.

Cách thức hoạt động là sau khi bạn nhập tên người dùng và mật khẩu tài khoản của mình, bạn sẽ được nhắc thêm mã TOTP hợp lệ vào một giao diện đăng nhập khác để làm bằng chứng rằng bạn sở hữu tài khoản.

Về hình thức, TOTP thường đến với điện thoại thông minh của bạn thông qua tin nhắn văn bản SMS. Bạn cũng có thể lấy mã từ ứng dụng xác thực trên smartphone bằng cách quét hình ảnh QR. Phương pháp này được sử dụng rộng rãi nhất và mã thường hết hạn sau khoảng 30 hoặc 60 giây. Tuy nhiên, một số TOTP có thể kéo dài 120 hoặc 240 giây.

Mật mã được tạo ở phía bạn thay vì máy chủ sử dụng ứng dụng xác thực. Vì lý do này, bạn luôn có quyền truy cập vào TOTP của mình để máy chủ không cần gửi SMS bất cứ khi nào bạn đăng nhập.

Có những phương pháp khác mà bạn có thể nhận được TOTP như:

  • Token bảo mật phần cứng.
  • Thư điện tử từ máy chủ.
  • Tin nhắn thoại từ máy chủ.

Vì TOTP dựa trên thời gian và hết hạn trong vài giây nên tin tặc không có đủ thời gian để dự đoán mật mã của bạn. Bằng cách đó, giải pháp này cung cấp lớp bảo mật bổ sung cho hệ thống xác thực tên người dùng và mật khẩu yếu hơn.

Đánh cắp thông tin đăng nhập 

Chẳng hạn, bạn muốn đăng nhập vào máy trạm sử dụng TOTP. Trước tiên, bạn nhập tên người dùng và mật khẩu cho tài khoản và hệ thống sẽ nhắc bạn nhập TOTP. Sau đó, bạn có thể đọc nó từ token phần cứng hoặc hình ảnh QR và nhập mã đó vào trường đăng nhập TOTP. Sau khi hệ thống xác thực mật mã, bạn sẽ có thể đăng nhập bạn vào tài khoản của mình.

Thuật toán TOTP tạo mật mã yêu cầu đầu vào thời gian của thiết bị và seed hoặc khóa bí mật của bạn. Bạn không cần kết nối Internet để tạo và xác minh TOTP, đó là lý do tại sao các ứng dụng xác thực có thể hoạt động ngoại tuyến. TOTP cần thiết cho những người dùng muốn sử dụng tài khoản của họ và cần xác thực trong khi di chuyển trên máy bay hoặc ở những vùng sâu vùng xa không có kết nối mạng.

TOTP được xác thực như thế nào?

Thông tin sau đây cung cấp hướng dẫn đơn giản và ngắn gọn về cách thức hoạt động của quy trình xác thực TOTP.

Khi người dùng muốn truy cập vào một ứng dụng như ứng dụng mạng đám mây, họ sẽ được nhắc nhập TOTP sau khi nhập tên người dùng và mật khẩu. Họ được yêu cầu bật 2FA và mã thông báo TOTP sử dụng thuật toán TOTP để tạo OTP.

Người dùng nhập token trên trang yêu cầu và hệ thống bảo mật sẽ cấu hình TOTP của nó bằng cách sử dụng cùng một tổ hợp thời gian hiện tại và khóa hoặc seed được chia sẻ. Hệ thống so sánh hai mật khẩu; nếu chúng khớp nhau, người dùng được xác thực và cấp quyền truy cập. Điều quan trọng cần lưu ý là hầu hết TOTP sẽ xác thực bằng mã QR và hình ảnh.

TOTP khác gì so với HOTP?

Trường mật khẩu có biểu tượng khóa 

HOTP đã cung cấp framework mà TOTP được xây dựng trên đó. Cả TOTP và HOTP đều có những điểm tương đồng, vì cả hai hệ thống đều sử dụng khóa bí mật làm một trong những đầu vào để tạo mật mã. Tuy nhiên, trong khi TOTP sử dụng thời gian hiện tại làm đầu vào khác, HOTP sử dụng bộ đếm.

Hơn nữa, về mặt bảo mật, TOTP an toàn hơn HOTP vì mật khẩu được tạo sẽ hết hạn sau 30 đến 60 giây, sau đó mật khẩu mới sẽ được tạo. Trong HOTP, mật mã vẫn hợp lệ cho đến khi bạn sử dụng. Vì lý do này, nhiều tin tặc có thể truy cập HOTP và sử dụng chúng để thực hiện các cuộc tấn công mạng thành công. Mặc dù HOTP vẫn được sử dụng bởi một số dịch vụ xác thực, hầu hết các ứng dụng xác thực phổ biến đều yêu cầu TOTP.

Lợi ích của việc sử dụng TOTP là gì?

TOTP có lợi vì chúng cung cấp cho bạn một lớp bảo mật bổ sung. Chỉ riêng hệ thống tên người dùng-mật khẩu thì rất yếu và thường là đối tượng của các cuộc tấn công Man-in-the-Middle. Tuy nhiên, với các hệ thống 2FA/MFA dựa trên TOTP, tin tặc không có đủ thời gian để truy cập TOTP của bạn ngay cả khi chúng đã đánh cắp mật khẩu truyền thống của bạn, vì vậy chúng có rất ít cơ hội để hack tài khoản của bạn.

Xác thực TOTP cung cấp bảo mật bổ sung

Tội phạm mạng có thể dễ dàng truy cập tên người dùng và mật khẩu của bạn và hack tài khoản. Tuy nhiên, với các hệ thống 2FA/MFA dựa trên TOTP, bạn có thể có tài khoản an toàn hơn vì TOTP sẽ hết hạn trong vài giây. Áp dụng TOTP rõ ràng là cần thiết.

Thứ Tư, 28/12/2022 09:41
2,45 👨 1.394
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản