This video belongs to the openHPI course Digital Identities. Do you want to see more?
An error occurred while loading the video player, or it takes a long time to initialize. You can try clearing your browser cache. Please try again later and contact the helpdesk if the problem persists.
Scroll to current position
- 00:01Now we consider One-Time Passwords in our openHPI course about Digital Identities.
- 00:07When we speak about password-based authentication,
- 00:11we every time saw a question mark concerning the security, because
- 00:17password-based authentication is not considered
- 00:20secure enough and one needs to do a lot to use it in the right way.
- 00:26But one possibility to really secure passwords for authentication is possible
- 00:33by means of one-time passwords.
- 00:36The idea behind such one-time passwords is exactly what the name
- 00:40tells us: each password can only be used once for authentication,
- 00:47after it is used it loses its validity.
- 00:51So it makes no sense to look for this, to spy out, to use keyloggers,
- 00:57all these kinds of attacks that we saw (in the previous chapter) to get the password in the
- 01:02hand of an attacker, because after it is used it's no more usable for
- 01:09authentication. Typically such one-time passwords are automatically and randomly
- 01:16generated character strings
- 01:18that are sent to a user over a second independent transmission channel.
- 01:25Let's have a closer look at the provision of one-time passwords.
- 01:30On the one side, it's a very secure way, on the other side for
- 01:33each authentication we need a new password.
- 01:36So, the challenge here is that both the user
- 01:40as well as the authentication authority, the service or the
- 01:45ID provider of that service must know which one-time password is valid
- 01:51and which ones are already used.
- 01:56To this challenge, there are two possible solutions: the one solution is
- 02:00to work with password lists.
- 02:04This is a list of valid one-time passwords
- 02:08that's generated by the authentication authority and it is
- 02:12transmitted to the user over a second secure transport channel,
- 02:17it could not be sent over the internet because then everyone can,
- 02:21every attacker can get access to it.
- 02:23And you know this, for example, "TAN Lists" in
- 02:30case of online banking, the "mTAN"
- 02:34procedures and others, they are working on the basis of such password lists.
- 02:40And then the second possibility to solve the challenge
- 02:46is that both user and
- 02:48the authentication authority needs to know which is valid and which
- 02:53is an invalid password. It's the work with password generators:
- 02:58password generators dynamically generate one-time passwords
- 03:03that are only valid in a certain time span.
- 03:10If we have a closer look at such password generators, then
- 03:15these are small devices often called "tokens" or applications on your computer.
- 03:22The password generators they produce one-time passwords by means of
- 03:29special algorithms. These algorithms are known
- 03:32to the authentication authority and
- 03:37can be run in three different ways.
- 03:42We can distinguish, Time-Controlled one-time password generator,
- 03:48we can distinguish, Event-Driven generation of a one-time
- 03:53password, and we can see the Challenge and Response-Controlled
- 03:57generation of a password.
- 03:59Let's have a closer look at these three possibilities because it's an interesting topic
- 04:04that at a certain moment the user needs a new password to authenticate
- 04:10for a service, for an online service, and the
- 04:14authentication authority needs to know exactly this password
- 04:19to give the user access or to prevent access.
- 04:22The Time-Controlled one-time password generator works as following: The token
- 04:28and authentication authority, a token is on the
- 04:33side of the user, the authentication authority is on the side of the service,
- 04:37they work synchronously.
- 04:40Both sides calculate one-time passwords at the same time interval
- 04:45which are valid until
- 04:48the use or the next calculation iteration.
- 04:53So, each time the token compute something, it is known by the
- 04:59authentication authority and it's accepted but only for a very short time.
- 05:05The authentication authority allows a certain time tolerance range,
- 05:11as the clock in the token is not already 100% accurate.
- 05:15So, both are based on the time, and exactly for this time span
- 05:19around the systems on both sides, this one-time password is computed. An example,
- 05:26here is the "Google Authenticator".
- 05:32The google authenticator.
- 05:34Here is such a token as in the RSA token and the google authenticator.
- 05:42This RSA authenticator is used for the "SecurID"
- 05:47approach. So, here on this device and on the other side, the same computation is done
- 05:53starting from the time point, and google authenticator is another approach.
- 06:00How is the one-time password created in case of Event-Controlled
- 06:05one-time password generation?
- 06:07The generation of a one time password here is triggered
- 06:12by the user or by key-pressing or by pressing a key on a token,
- 06:19then exactly at this moment the token and the authentication authority
- 06:25remember the number of previously generated passwords.
- 06:30The token generates a new one-time password,
- 06:32and the authority knows that now a new
- 06:36one-time password is used for authentication and in this way the
- 06:41one-time password is known on the side of the user,
- 06:45as well on the side of the authentication authority.
- 06:48The calculation of the one-time password here is carried out
- 06:52using previously generated passwords,
- 06:56and also here the authentication authority allows a tolerance range,
- 07:01just in case the user has not used
- 07:04a generated password.
- 07:07Then the third approach to solve this challenge is the Challenge-Response-Controlled
- 07:14one-time password generation.
- 07:16Here the user wants to authenticate him/herself and asks the authentication authority.
- 07:24The procedure looks like the following: The authentication authority
- 07:30sends - when the user is requesting, a random value to the token.
- 07:37By the calculation algorithms that are also known to the
- 07:41authentication authority, the token generates from the received input
- 07:48a one-time password. Then the user sends the generated
- 07:54one-time password to the authentication authority.
- 07:58The authentication authority knows which was the initial value, they know the
- 08:03algorithm and can do the calculation on the side
- 08:09of the authentication service and then they can decide whether
- 08:14the value, the one-time password is valid
- 08:19or not, and if it's correct then the user is authenticated.
- 08:24So, to summarize what we
- 08:27have learned about such one-time passwords:
- 08:32One-time passwords can only be used once as the name is saying.
- 08:38Provision is done by means of a password list
- 08:43or a password generator. And for the password generators, we can distinguish
- 08:49between Time-controlled one-time password generation,
- 08:53Event-Driven generation, and Challenge-Response-Controlled generation
To enable the transcript, please select a language in the video player settings menu.