Mật khẩu một lần dựa trên thời gian (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 về mật khẩu một lần mã xác thực tin nhắn dựa trên hàm băm (HMAC) (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 lâu hơn, chẳng hạn như tin nhắn SMS hoặc mã thông báo 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 mật khẩu một lần dựa trên thời gian là gì? Họ làm việc 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 của bạ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 bạn đã 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 Giờ trung bình Greenwich (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 mã bí mật được chia sẻ hoặc mật mã hạt giống 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ậ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ừ bốn đến sáu chữ số, thay đổi cứ sau 30 đến 60 giây. Lực lượng đặc nhiệm kỹ thuật Internet (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 Sáng kiến Xác thực Mở (OATH) là bộ não đằng sau phát minh của 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 khi bạn không có vùng phủ sóng.
TOTP hoạt động như thế nào?
TOTP, với vai trò là yếu tố ủy quyền thứ hai trên ứng dụng của bạn, 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à “mã thông báo phần mềm”, “mã thông báo mềm ,” và “xác thực dựa trên ứng dụng” và tìm cách sử dụng trong các ứng dụng xác thực như Google Authenticator và Authy.
Cách nó 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.
Trong một số kiểu máy, TOTP đến với bạn trên đ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 điện thoại thông minh xác thực 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 của mình:
- Mã thông báo 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 khẩu của bạn. Bằng cách đó, họ cung cấ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.
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ừ mã thông báo 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ã, nó sẽ đăng nhập bạn vào tài khoản của bạn.
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à hạt giống 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?
Quy trình 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 của họ. Họ 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 mã thông báo trên trang yêu cầu và hệ thống bảo mật sẽ định 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 bí mật đượ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.
Mật khẩu một lần dựa trên TOTP so với HMAC
Mật khẩu dùng một lần dựa trên HMAC đã cung cấp khuôn khổ 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 đượ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 là 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 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 của bạ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 có thời hạn và hết hạn trong vài giây. Thực hiện TOTP rõ ràng là xứng đáng.