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 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 2 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 3 ¡
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 ¡
ExisMng ¡SoluMons ¡ • Hardware-‑based ¡ – RSA ¡SecurID ¡ – Yubikey ¡ • SoXware-‑based ¡ – Google ¡authenMcator ¡ – McAfee ¡one-‑Mme ¡password ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 5 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 6 ¡
LimitaMon ¡ • Hardware-‑based ¡-‑-‑-‑ ¡not ¡flexible ¡ – Unprogrammable ¡ – Expensive ¡ ¡ • SoXware-‑based ¡-‑-‑-‑ ¡not ¡secure ¡ – Vulnerable ¡to ¡external ¡aUacks ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 7 ¡
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 ¡
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 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 10 ¡
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 ¡
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 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 13 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 19 ¡
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 ¡
TrustOTP ¡Performance ¡ • Before ¡OTP ¡display ¡(60.48 ¡ms) ¡ • AXer ¡OTP ¡display ¡(7.52 ¡ms) ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 21 ¡
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 ¡
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 ¡
Outline ¡ • IntroducMon ¡ • MoMvaMon ¡ • Architecture ¡ • ImplementaMon ¡ • EvaluaMon ¡ • Summary ¡ ¡ Wayne ¡State ¡University ¡ CSC ¡6991 ¡Advanced ¡Computer ¡Security ¡ 24 ¡
Recommend
More recommend