4 OTP (One Time Password) More than 500M phishing s are sent every day, getting user private information and their account passwords.OTPs are used to combat such (and other) attacks.However, OTPs can only mitigate off-line phishing.Indeed, 1/3 of the attacks on OTP-based systems use Man-in-the-Middle attacks: Passwords and OTPs are phished and used in real time.
5 OTP hardware token vs. Smartphone Whatever is computed on the hw token can be done on the smartphone!Smartphone in has a general CPU/ OS (more attack vectors on it but can run flexible algorithms), and has additional channels: bluetooth, NFC, camera,
6 Adding Wireless to the equation Instead of an OTP token, phone (or other device) with app can generate the OTP.OTP value sent by bluetooth: So man to computer becomes device to computerThis improves:Usability: no need to type OTPSecurity: can use a longer string as the OTPCost: no need for tokenKey Question:What can further be achieved with minimum infrastructure changes by using wireless?
9 So: What about real-time MITM phishing? But solving MITM requires full PKI (folklore)Adversary can always sit in the channel and play the two parties and gain access.....we want to prevent even relay attacks that the MITM understand..Above TRUE: for “naked channel & authenticated parties” butInternet channels have characteristics, SO KEY OBSERVATION: we should break the symmetry between “Channel with” and “Channel without” adversary in the middle
10 XOTPAdd context which will change the session when adversary is in the middleEntangle the context into the cryptographic calculation of the OTPThe result: Contextual OTP (XOTP)
11 OTP = PRF(Key, Chal || Supp) OTP ProtocolSymbols:Key: Shared by client & serverChal: Synchronized, non-secret, non-repeating (e.g., counter/time based)PRF(key, data)Supp: supplemental data (empty in most implementations), e.g., password, user name, NonceThe protocol:OTP = PRF(Key, Chal || Supp)
12 XOTP = PRF(Key, Chal || Supp || XFSess) XOTP ProtocolAdditional symbol:XFSess: Contextual factorThe ideal contextual factor satisfies:Recognition: Both sides recognize the same XFSessUniqueness: [XFSess1 <> XFSess2] if [Sess1 <> Sess2]The protocol:XOTP = PRF(Key, Chal || Supp || XFSess)
13 Correctness OTP case: PRF(Key, Chal || Supp) Key is shared, Chal is synchronized, Supp, if non- empty, is known to both sides (e.g., user name and Nonce are transmitted separately, password is known given the user name)XOTP case: PRF(Key, Chal || Supp || XFSess)XFSess is known to both parties from the recognition assumption.Thus in both cases, both sides compute the same result.
14 Security - OTP caseRelay attack is possible: The MITM attacker gets the OTP (and password) from the user and is able to use them in real time to masquerade as the user with the server.
15 Security - XOTP case Denote: Sess1: Session between client and attacker.XOTP1: The XOTP sent to attacker by client.Sess2: Session between attacker and server.XOTP2: The XOTP expected by the server.H: XOTP protocol history observed by the MITM attacker.So attacker knows H || Chal | Supp || XFSess1 || XOTP1.XFSess1 and all contextual factors in H are different from XFSess2 (uniqueness).Since XOTP2 = PRF(Key, ... || XFSess2), we have by PRF security definition, that attacker has negligible probability of guessing/producing XOTP2.
16 Types of contextual factors URLServer certificateSSL/TLS Session keyIPTime & locationCombination of factors(BTW: We are not the first to use “context” in protocols etc., but we identify it explicitly and for the specific purpose).
17 URLMITM phishing attack using a different URL (most attacks) imply XFSess1 diff from XFSess2 and is thus foiled.URL may be used to encode additional information such as transaction data to be displayed on the device for user confirmation.
18 +DNS poisoning…. but use TLS What if attacker uses the server's URL and divert communication to attacker by contaminating DNS?Here XFSess1 = XFSess2.Still, the attack will be foiled if the session is secure (HTTPS) due to TLS envelopping context! assuming the attacker hasn't broken the server's private key.Note: HTTPS doesn't help in the OTP case: Attacker gets OTP from user (on a secure or insecure channel) and relay to server on secure channel.
19 Server's certificate Foils the attacks which URL foils. Foils a fake server certificate attack:Attacker "persuades" a CA to certify that an attacker's public key belongs to the server (e.g., DigiNotar case).Attacker contaminates DNS entries.Attacker uses fake certificate in its session with user.The attack is foiled because XFSess1 <> XFSess2Can be combined with URL to allow inclusion of transaction data.In general: Using several contextual factors gives their cummulative benefits.
21 Implementation details Assume contextual factor is URLUse a browser extension which communicates with device through bluetoothExtension adds itself to a page containing a specified string (say "XOTP") and waits for event (clicking a button or the XOTP field, page submission, etc.)Sends the URL to device and copies the received XOTP into a specified field.Submits page or wait for user (or code on page) to submit it later.
22 Protocol extensionsTwo-way-authentication: Having a shared secret allows to establish two way authentication where the server is also authenticated. The device can warn the user if the server hasn't authenticated.
23 Extended attacksMan in the Browser (MITB)Man in the Device (MITD)
24 Man-in-the-Browser (MITB) Keyloggers:The Bluetooth scheme is secure against keyloggers because the XOTP is not typed by the user.General MITB:The system can be made secure against general MITB by adding transaction data into the XOTP computation (data as well as different XOTP steps should be tagged).For each step:The device will verify the transaction data by checking its XOTP.Transaction data would be displayed on the device for user confirmation.
25 Man-in-the-Device (MITD) Attacker will have access to the shared key.Alternatively, the attacker can use the device to get XOTP to any desirable URL.Still, without access to the additional factor (password) the attacker would not be able to complete the protocol.Demonstrates the importance of using strong first factor and of compartmentalism (separation of duties) (not used in MO-07).
26 Summary of results Attack type Factor checked by server Technology Impersonation (different URL)URLSmart deviceImpersonation (same UTL) + DNS poisoningURL + HTTPSAs aboveImpersonation + DNS poisoning + fake certURL + HTTPS + server's certImpersonation + DNS poisoning + fake cert + simple XSSURL + HTTPS + server's cert + session keyMalwareURL + HTTPS + transaction data + user confirmation on device to serversmart device with input capability and display
27 ConclusionKnown: OTP adds entropy. Here: we augment it with "added context"Strong enough to foil many MITM attacks !!It demonstrates:Modern wireless tools can improve (with moderate cost) security tools.More generally, the idea of adding contextual information to cryptographic computations may enhance the security of other protocolsIn general, think outside the box: do not let “accepted folklore” get in your way!