Skip to main content
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