Introduction
OATH Toolkit provide components to build one-time password authentication systems. It contains shared C libraries, command line tools and a PAM module. Supported technologies include the event-based HOTP algorithm (RFC 4226), the time-based TOTP algorithm (RFC 6238), and Portable Symmetric Key Container (PSKC, RFC 6030) to manage secret key data. OATH stands for Open AuTHentication, which is the organization that specify the algorithms.
The following components are included:
-
liboath
: A shared and static C library for OATH handling. -
oathtool
: A command line tool for generating and validating OTPs. -
pam_oath
: A PAM module for pluggable login authentication for OATH. -
libpskc
: A shared and static C library for PSKC handling. -
pskctool
: A command line tool for manipulating PSKC data.
For further information, see the Documentation page.
License
OATH Toolkit is free software and is licenced under the terms of the LGPLv2+ (libraries) and GPLv3+ (tools).
External Resources and Applications
Here are resources that I know of, if you know of more drop me a line and I’ll add them to the list.
-
Initiative for Open Authentication (OATH) is the umbrella organization that published the HOTP/TOTP/PSKC technology.
-
The OATH Specifications page for list of published documents.
-
RFC 4226 on HOTP: An HMAC-Based One-Time Password Algorithm.
Projects using OATH Toolkit:
-
The Openconnect VPN Server use it for one-time passwords.
Related applications:
-
Google Authenticator is/was a free implementation for several mobile platforms.
-
The Yubico Authenticator Desktop and YubiKey Manager are free client-side applications that stores secrets on a YubiKey.
Please let me know if any of these links need updating.
Mailing list
Discussion around the OATH Toolkit happens on the OATH Toolkit discussion list, this keeps things transparent and gives everyone a chance to comment.