Starting with LinOTP 2.10 the LinOTP Push Token v2 has been implemented
which can be used to secure logins and transactions. The token is paired during
the rollout procedure with the LinOTP Pushtoken APP (available for Android
and iOS)
at the smart phone of the user. For authentication the user initiates the login
(e.g. with the user name and the password). The login procedure sends the
authentication request to the LinOTP server. LinOTP contacts the dedicated
Challenge Service (made available to customers of netgo) which in turn
generates and sends a push messages to the user’s mobile. The user approves (or
denys) the action in the APP. The result is sent back to the challenge service
server. LinOTP checks the result and tells the login program whether the login
is allowed or not.
Besides the very convenient work flow for the user (no OTP must be entered,
just confirm action via APP) the approval by the user is exactly for the
displayed login (or transaction) and can only be used for this purpose.
Traditional OTPs are universal - any can be used for any kind of login which
makes them potentially vulnerable (e.g. an attacker getting hands on an event
based token for a short moment can pregenerate a number of OTPs which can be
used for any 2FA secured login procedure of this user+token).
The LinOTP Push Token is fully supported by the LinOTP Authentication
Provider (LAP).
Note
The Challenge Service server must provide a web server certificate
accepted by the mobile the LinOTP Authenticator App is running at. So
please make sure the certificate is signed by a trusted certificate authority.
Note
The use of the Challenge Service is permitted by a corresponding
support contract. Please contact support@linotp.de for help and more
detailed documentation, netgo GmbH provides the
required infrastructure to their customers to use the Push Token.
For using the LinOTP Push Token at least one “Push Token Provider” must be
configured and policies have to be set accordingly as described in:
LinOTP Push Token Policies.
The Push Token Provider configuration can be found at the token management GUI
(https://LINOTPSERVER/manage) “LinOTP Config” –> “Provider Config” –> “Push
Provider Config” where the Providers can be created, edited and deleted.
Set up as many Push Providers as required. Which one will be used can be
configured by policies. If no policy exists or no existing policy applies the
Push Provider marked as “(Default)” will be used.
A Push Provider is a LinOTP module, that defines how the push messages are
transmitted to the user’s phone.
Note
Push Token Provider, mobile APP (available for Android
and iOS)
as well as a compatible extension for the Windows login procedure (LAP)
are provided by the netgo GmbH.
These four values can be configured in the server configuration:
Name
Name of the Push Provider as to be used in the policies.
Class
The Push Provider module to be used for sending messages. At the moment LinOTP comes
with one Push Provider class: DefaultPushProvider
Config
The configuration parameter for the Push Provider Class.
Timeout
This configuration key holds the time the challenge that was pushed to the
user’s phone is valid. The number is interpreted in seconds. The default value
is 120 i.e. 2 minutes. That means that after a confirmation message was sent
a user will be able to approve this message within the next 2 minutes. If the
push message arrives later or the user has not confirmed the login/transaction
within 2 minutes, the challenge is not valid anymore.
points to the client certificate used to authenticate against the Challenge
Service server. This certificate is only required if the challenge server has
been configured accordingly.
Example:
"access_certificate":"/etc/linotp2/cs_client.key"
server_certificate(optional)
points to the server certificate (or certificate chain) of the Challenge
Service server in order to ensure encrypted communication with the correct
server. This is only required if the certificate of the challenge server can
not be validated with the CA-chains in the operating system SSL store.
If a new Push Provider is created it the configuration parameters are
prefilled with the required data to connect to the PNP server provided by
netgo GmbH.
The LinOTP server must provide a web server certificate accepted by
the mobile the LinOTP Authenticator App is running at. So please make sure
the certificate is signed by a trusted certificate authority.
After the rollout and the successful activation of the token the authentication
procedure can be tested.
There are two ways for testing: via test page (LinOTP 2.10+) or API.
The LinOTP Push Token is a challenge response token. The push message is
triggered depending on the LinOTP configuration using the user’s name and the
token PIN (which can be the user’s password if otppin=1 policy is in
place).
Enter username[@realmname] and OTP PIN (the PIN depends on the otppin policy, realmname is necessary for users in non-default realm) and press get challenge.
The push message should be received correctly by the user’s mobile. After the
user confirmed the transaction the result can be checked via check status
The LinOTP server returns the transaction details in case of a successful
creation of the challenge. This contains the serial number of the token and the
transactionid:
The transaction should now be displayed in the LinOTP Authenticator App
and be approved there by the user. The mobile communicates the result of the
user’s decision back to the LinOTP server.