trustotp transforming smartphones into secure one time
play

TrustOTP: Transforming Smartphones into Secure One-Time - PowerPoint PPT Presentation

TrustOTP: Transforming Smartphones into Secure One-Time Password Tokens He Sun, Kun Sun, Yuewu Wang, and Jiwu Jing Presented by Fengwei


  1. TrustOTP: ¡Transforming ¡ Smartphones ¡into ¡Secure ¡One-­‑Time ¡ Password ¡Tokens ¡ ¡ ¡ He ¡Sun, ¡Kun ¡Sun, ¡Yuewu ¡Wang, ¡and ¡Jiwu ¡Jing ¡ ¡ ¡ Presented ¡by ¡Fengwei ¡Zhang ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 1 ¡

  2. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 2 ¡

  3. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 3 ¡

  4. One-­‑Mme ¡Password ¡(OTP) ¡ • A ¡password ¡that ¡is ¡valid ¡for ¡only ¡one ¡login ¡ session ¡or ¡transacMon ¡ – Not ¡vulnerable ¡to ¡reply ¡aUacks ¡ – Widely ¡used ¡in ¡Two-­‑factor ¡AuthenMcaMon ¡ – HOTP ¡(Hash-­‑based ¡OTP) ¡ • Event ¡triggered, ¡key ¡& ¡counter ¡ – TOTP ¡(Time-­‑based ¡OTP) ¡ • Time ¡synchronized, ¡key ¡& ¡clock ¡ – Hardware ¡token ¡& ¡soXware ¡App ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 4 ¡

  5. ExisMng ¡SoluMons ¡ • Hardware-­‑based ¡ – RSA ¡SecurID ¡ – Yubikey ¡ • SoXware-­‑based ¡ – Google ¡authenMcator ¡ – McAfee ¡one-­‑Mme ¡password ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 5 ¡

  6. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 6 ¡

  7. LimitaMon ¡ • Hardware-­‑based ¡-­‑-­‑-­‑ ¡not ¡flexible ¡ – Unprogrammable ¡ – Expensive ¡ ¡ • SoXware-­‑based ¡-­‑-­‑-­‑ ¡not ¡secure ¡ – Vulnerable ¡to ¡external ¡aUacks ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 7 ¡

  8. Goals ¡ • ConfidenMality ¡ – Malicious ¡mobile ¡OS ¡cannot ¡compromise ¡the ¡keying ¡ material ¡(seed) ¡in ¡the ¡OTP ¡generator ¡ – It ¡cannot ¡read ¡the ¡OTP ¡ ¡ • Reliability ¡and ¡Availability ¡ – Trusted ¡inputs ¡(e.g., ¡clock ¡Mme) ¡for ¡the ¡OTP ¡genreator ¡ – Trusted ¡display ¡ – OTP ¡works ¡even ¡If ¡mobile ¡OS ¡crashes ¡ • Small ¡TCB ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 8 ¡

  9. TrustZone-­‑related ¡Work ¡ • TrustICE ¡(Sun ¡et ¡al.[1]) ¡ – Isolated ¡CompuMng ¡Environment ¡in ¡the ¡normal ¡domain ¡ • SeCReT ¡(Jang ¡et ¡al.[2]) ¡ – Secure ¡channel ¡between ¡secure ¡domain ¡and ¡normal ¡applicaMon ¡ • Hypervision ¡(Azab ¡et ¡al.[3]) ¡ – Real-­‑Mme ¡kernel ¡protecMon ¡in ¡the ¡normal ¡domain ¡ • TrustDump ¡(Sun ¡et ¡al.[4]) ¡ – Reliable ¡Memory ¡AcquisiMon ¡of ¡the ¡mobile ¡OS ¡ • Smartphone ¡as ¡locaMon ¡verificaMon ¡token ¡for ¡payments ¡ (Marforio ¡et ¡al.[5]) ¡ • Trusted ¡Language ¡RunMme ¡for ¡trusted ¡applicaMons ¡in ¡the ¡ secure ¡domain ¡(Santos ¡et ¡al.[6]) ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 9 ¡

  10. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 10 ¡

  11. TrustOTP ¡Architecture ¡ – In ¡the ¡secure ¡domain ¡ – Shared ¡I/O ¡device ¡with ¡the ¡rich ¡OS ¡ – Reliable ¡switch ¡between ¡domains ¡ Normal Domain Secure Domain Rich OS TrustOTP Secure Clock Secure TOTP Non-secure OTP Permanent Permanent Generator Storage HOTP Secure Counters Storage Non-secure Framebuffer Reliable Switch Secure Framebuffer Secure Secure Touchscreen Display Framebuffer Touchscreen Driver Controller Driver Driver User Input of the Rich OS Display with User Input of Touchscreen TrustOTP Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 11 ¡

  12. Challenges ¡ • Secure ¡input ¡and ¡display ¡though ¡shared ¡ touchscreen ¡ • Reliable ¡switch ¡ • Generator ¡protecMon ¡ – StaMc ¡code ¡ – ExecuMon ¡environment ¡ • Availability ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 12 ¡

  13. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 13 ¡

  14. Security ¡Analysis ¡ • InformaMon ¡leakage ¡ – Generated ¡OTPs ¡ – Shared ¡keys ¡ • Control ¡flow ¡tampering ¡ – Code ¡integrity ¡ – ExecuMon ¡integrity ¡(e.g., ¡Interrupt) ¡ • Denial-­‑of-­‑service ¡ – Switch ¡between ¡domains ¡ – StaMc ¡& ¡dynamic ¡code ¡ – Display ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 14 ¡

  15. Boot ¡Sequence ¡ Secure ¡storage ¡ • – MicroSD ¡card ¡ Memory ¡IsolaMon ¡ • – TZASC ¡(TrustZone ¡Address ¡Space ¡Controller) ¡ – Watermark ¡mechanism ¡ Normal Domain Secure Domain – Secure ¡boot ¡ Secure ¡bootloader ¡ • USB Flash MicroSD Drive card – Non-­‑secure ¡bootloader ¡ Kernel Filesystem – Rich ¡OS ¡ Non-secure Secure TrustOTP Bootloader Bootloader 4 2 1 Non-secure 3 Memory Kernel Secure Memory Secure Non-secure TrustOTP Bootloader Bootloader Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 15 ¡

  16. TrustOTP ¡Triggering ¡ • Reliable ¡switch ¡ – Non-­‑maskable ¡interrupt ¡(NMI) ¡ • The ¡rich ¡OS ¡cannot ¡block ¡or ¡intercept ¡ – Secure ¡Interrupt ¡(FIQ) ¡ • The ¡rich ¡OS ¡cannot ¡manipulate ¡ – Interrupt ¡source ¡(configurable) ¡ • Physical ¡buUon ¡ • Timer ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 16 ¡

  17. OTP ¡GeneraMon ¡ • Hash-­‑based ¡one-­‑Mme ¡password ¡(HOTP) ¡ – Key, ¡counter ¡ • Time-­‑based ¡one-­‑Mme ¡password ¡(TOTP) ¡ – Key, ¡Clock ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 17 ¡

  18. OTP ¡Display ¡ • Secure ¡I/O ¡ – Display: ¡IPU ¡(Image ¡Processing ¡Unit) ¡+ ¡LCD ¡ – Input: ¡4-­‑wire ¡resisMve ¡touchscreen ¡ • User-­‑friendly ¡manner ¡ – Rich ¡OS ¡and ¡TrustOTP ¡run ¡concurrently ¡ – Watchdog ¡Mmer ¡ – 1.5 ¡seconds ¡/ ¡cycle ¡ ¡ • 0.5 ¡second ¡for ¡display ¡ • 1 ¡second ¡for ¡input ¡2~3 ¡numbers ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 18 ¡

  19. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 19 ¡

  20. EvaluaMon ¡ • Freescale ¡i.MX53 ¡QSB ¡ – A ¡Cortex-­‑A8 ¡1GHz ¡processor ¡ – 1GB ¡DD3 ¡RAM ¡ – 4GB ¡microSD ¡card ¡ • Monsoon ¡power ¡monitor ¡ – Power ¡measurement ¡ – Power ¡logging ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 20 ¡

  21. TrustOTP ¡Performance ¡ • Before ¡OTP ¡display ¡(60.48 ¡ms) ¡ • AXer ¡OTP ¡display ¡(7.52 ¡ms) ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 21 ¡

  22. Impact ¡on ¡the ¡Rich ¡OS ¡ • Rich ¡OS ¡vs. ¡TrustOTP ¡ • Anutu ¡ – CPU ¡& ¡RAM ¡ – I/O ¡devices ¡ • Vellamo ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 22 ¡

  23. Power ¡ConsumpMon ¡ • Rich ¡OS ¡ – Average ¡= ¡2,128 ¡mW ¡ • TrustOTP ¡running ¡ – Average ¡=2,230 ¡mW ¡ • TrustOTP ¡without ¡ display ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 23 ¡

  24. Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 24 ¡

Recommend


More recommend