Timeline for One Time Password generation algorithm to ensure data/transaction integrity?
Current License: CC BY-SA 3.0
7 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Oct 12, 2016 at 19:24 | comment | added | gusto2 | you're right, it's wrong to call it HTOP from this point. In this case it should be truncated HMAC. However - if no client data are provided (it's server only random code), it doesn't provide any extra security except MFA. On the other side - let's define the shared key as shared secret + transaction detail and you get the HTOP (who said the shared key must be static) | |
Oct 12, 2016 at 19:22 | comment | added | ilkkachu | @GabrielVince, HOTP is defined as a HMAC of a counter with a shared key (with the resulting value truncated). There's no provision for any additional data. Now, of course it would be possible to calculate a MAC over the relevant details and form a verification code, but that's not HOTP any longer. | |
Oct 12, 2016 at 19:17 | comment | added | gusto2 | @aMa: in the case the bank only sends an off-channel message (e.g. random SMS code), I'd consider it as multi-factor authentication. The integrity itself (between a browser and the server) is ensured by SSL. | |
Oct 12, 2016 at 19:12 | comment | added | gusto2 | @ilkkachu: In fact, HTOP is a protection against the MiM attack ensiring the transaction integrity. The signed (hashed) data usually consists of the account number (or part of it) and the amount. Any change in these data would result in different computed OTP on the server side. (that's why another channel is used). As well it serves as a non-repudiation signature. (as the server-only SSL doesn't ensure the client's identity) | |
Oct 12, 2016 at 17:26 | comment | added | ilkkachu | I don't think HOTP would do anything to protect the transaction itself. It would make stealing login credentials harder, but if the threat is an MitM modifying the data shown on the browser, it's hard to protect against that with an OTP that isn't aware of the transaction details. | |
Oct 12, 2016 at 15:14 | comment | added | aMa | My use case is bit more simpler. Client don't have a device to generate OTP. It is bank generating it and sending it through a different channel (Encrypted or through Mobile network) to the client. So how to generate an OTP which should be something derived from transaction details that is my question. So attacker should never able to generate a valid OTP for a modified transaction. Does HOTP(transaction_details + random key + Counter) do the job? | |
Oct 12, 2016 at 14:59 | history | answered | gusto2 | CC BY-SA 3.0 |