27 research outputs found

    ivPair: context-based fast intra-vehicle device pairing for secure wireless connectivity

    Get PDF
    The emergence of advanced in-vehicle infotainment (IVI) systems, such as Apple CarPlay and Android Auto, calls for fast and intuitive device pairing mechanisms to discover newly introduced devices and make or break a secure, high-bandwidth wireless connection. Current pairing schemes are tedious and lengthy as they typically require users to go through pairing and verification procedures by manually entering a predetermined or randomly generated pin on both devices. This inconvenience usually results in prolonged usage of old pins, significantly degrading the security of network connections. To address this challenge, we propose ivPair, a secure and usable device pairing protocol that extracts an identical pairing pin or fingerprint from vehicle\u27s vibration response caused by various factors such as driver\u27s driving pattern, vehicle type, and road conditions. Using ivPair, users can pair a mobile device equipped with an accelerometer with the vehicle\u27s IVI system or other mobile devices by simply holding it against the vehicle\u27s interior frame. Under realistic driving experiments with various types of vehicles and road conditions, we demonstrate that all passenger-owned devices can expect a high pairing success rate with a short pairing time, while effectively rejecting proximate adversaries attempting to pair with the target vehicle

    The (In)security of Proprietary Cryptography

    No full text
    Acknowledgements ix Abstract xi Samenvatting (Dutch Summary) xiii 1 Introduction 1 1.1 Introduction to digital security . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Inspiration and motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Proprietary and secret cryptography . . . . . . . . . . . . . . . . . . . 4 1.4 Scientific and social value . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Responsible disclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6 Scope and focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.7 Outline, contributions and results . . . . . . . . . . . . . . . . . . . . . 10 1.8 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.8.1 Mathematical symbols . . . . . . . . . . . . . . . . . . . . . . . 14 1.8.2 Byte representation . . . . . . . . . . . . . . . . . . . . . . . . 14 I Theoretical background 15 2 Introduction to cryptography 17 2.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.1.1 Caesar substitution . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.1.2 Scytale transposition . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Cryptosystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 Cipher specification . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.2 Cryptographic strength . . . . . . . . . . . . . . . . . . . . . . 21 2.2.3 Design methodology . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.4 Application and deployment . . . . . . . . . . . . . . . . . . . . 23 2.3 Cryptographic algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.1 Symmetric and asymmetric cryptography . . . . . . . . . . . . 24 2.3.2 Stream ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.3 Block ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3.4 Hashes, MACís and Digital signatures . . . . . . . . . . . . . . 28 2.4 Protocols and access conditions . . . . . . . . . . . . . . . . . . . . . . 29 2.4.1 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.2 Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.5 Weaknesses in symmetric cryptosystems . . . . . . . . . . . . . . . . . 32 2.5.1 Cipher design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.2 Authentication protocol . . . . . . . . . . . . . . . . . . . . . . 33 2.5.3 Cipher initialization . . . . . . . . . . . . . . . . . . . . . . . . 34 2.5.4 Encryption oracle . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.5.5 Authorization model . . . . . . . . . . . . . . . . . . . . . . . . 35 2.5.6 Communication protocol . . . . . . . . . . . . . . . . . . . . . . 36 2.5.7 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5.8 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3 Attack scenarios 41 3.1 Authentication and communication attacks . . . . . . . . . . . . . . . 41 3.1.1 Passive eavesdropping . . . . . . . . . . . . . . . . . . . . . . . 42 3.1.2 Relay attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.1.3 Replay attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.4 Reflection attack . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.1.5 Reorder and inject messages . . . . . . . . . . . . . . . . . . . . 47 3.1.6 Block the communication . . . . . . . . . . . . . . . . . . . . . 48 3.2 Cryptographic attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2.1 Malleability attack . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.2.2 Divide-and-conquer attack . . . . . . . . . . . . . . . . . . . . . 51 3.2.3 Correlation attack . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.2.4 Guess-and-determine attack . . . . . . . . . . . . . . . . . . . . 55 3.2.5 Differential cryptanalysis . . . . . . . . . . . . . . . . . . 58 3.2.6 Algebraic attacks . . . . . . . . . . . . . . . . . . . . . . . 60 3.2.7 Meet-in-the-middle attack . . . . . . . . . . . . . . . . . . 62 3.3 Physical attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.3.1 Non-invasive attacks . . . . . . . . . . . . . . . . . . . . . 65 3.3.2 Invasive attacks . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3.3 Semi-invasive attacks . . . . . . . . . . . . . . . . . . . . . 66 4 Scientific security assessments of proprietary cryptosystems 69 4.1 Access control systems and electronic locks . . . . . . . . . . . . 69 4.1.1 Legic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.1.2 SimonsVoss G1 . . . . . . . . . . . . . . . . . . . . . . . . 70 4.1.3 SimonsVoss G2 . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2 Electronic vehicle immobilizers . . . . . . . . . . . . . . . . . . . 71 4.2.1 DST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.2.2 KeeLoq . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.3 Cellular-, cordless- and sat-phones . . . . . . . . . . . . . . . . . 73 4.3.1 ORYX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.3.2 A3, A8 and COMP128 . . . . . . . . . . . . . . . . . . . . 74 4.3.3 A5/1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.3.4 A5/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.5 A5/3 (KASUMI) . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.6 DSAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.7 DSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.8 GMR-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.9 GMR-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.4 Various encryption techniques . . . . . . . . . . . . . . . . . . . . 78 4.4.1 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.4.2 E0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.4.3 Skipjack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.4.4 RC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.4.5 WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5 Introduction to Radio Frequency Identification (RFID) 83 5.1 Technology and application . . . . . . . . . . . . . . . . . . . . . 83 5.1.1 Signal modulation and encoding . . . . . . . . . . . . . . 84 5.1.2 Communication standards . . . . . . . . . . . . . . . . . . . 84 5.1.3 Near Field Communication (NFC) . . . . . . . . . . . . . . 85 5.1.4 Contactless smart cards . . . . . . . . . . . . . . . . . . . . 86 5.1.5 Proprietary cryptography in RFID devices . . . . . . . . . . 86 5.2 Research tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.2.1 GNURadio framework . . . . . . . . . . . . . . . . . . . . . 88 5.2.2 Proxmark hardware device . . . . . . . . . . . . . . . . . . 89 II Technical section 91 6 MIFARE Classic 93 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.2.1 Hardware setup . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.2.2 Communication . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.2.3 Memory structure of the Mifare Classic . . . . . . . . . . . 98 6.3 Reverse-engineering MIFARE Classic . . . . . . . . . . . . . . . . . 98 6.3.1 Tag and reader authentication protocol . . . . . . . . . . .100 6.3.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . .101 6.3.3 Filter function . . . . . . . . . . . . . . . . . . . . . . . . .102 6.3.4 CRYPTO1 . . . . . . . . . . . . . . . . . . . . . . . . . . .103 6.3.5 Rollback . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 6.4 Weaknesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 6.4.1 Odd Inputs to the Filter Function . . . . . . . . . . . . . .106 6.4.2 Parity weaknesses . . . . . . . . . . . . . . . . . . . . . . .109 6.4.3 Nested authentications . . . . . . . . . . . . . . . . . . . . .110 6.4.4 Known Plaintext . . . . . . . . . . . . . . . . . . . . . . . .111 6.5 Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 6.5.1 Brute-force attack . . . . . . . . . . . . . . . . . . . . . . .112 6.5.2 Varying the reader nonce . . . . . . . . . . . . . . . . . . .112 6.5.3 Varying the tag nonce . . . . . . . . . . . . . . . . . . . . .116 6.5.4 Nested authentication attack . . . . . . . . . . . . . . . . .118 6.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 6.7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . .121 7 Hitag2 123 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 7.2 Hardware setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 7.3 Hitag2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 7.3.1 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . .130 7.3.2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 7.3.3 Communication . . . . . . . . . . . . . . . . . . . . . . . . .130 7.3.4 Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 7.3.5 Authentication protocol . . . . . . . . . . . . . . . . . . . .133 7.3.6 Cipher Initialization . . . . . . . . . . . . . . . . . . . . . .134 7.3.7 Rollback . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 7.4 Hitag2 weaknesses . . . . . . . . . . . . . . . . . . . . . . . . . . .135 7.4.1 Arbitrary length keystream oracle . . . . . . . . . . . . . .135 7.4.2 Dependencies between sessions . . . . . . . . . . . . . . . .136 7.4.3 Approximation of the filter function . . . . . . . . . . . . .137 7.5 Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 7.5.1 Malleability attack . . . . . . . . . . . . . . . . . . . . . . .138 7.5.2 Time/memory tradeoff attack . . . . . . . . . . . . . . . . .138 7.5.3 Cryptanalytic attack . . . . . . . . . . . . . . . . . . . . . .140 7.6 Starting a car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 7.7 Implementation weaknesses . . . . . . . . . . . . . . . . . . . . . .142 7.7.1 Weak random number generators . . . . . . . . . . . . . . .142 7.7.2 Low entropy keys . . . . . . . . . . . . . . . . . . . . . . . .143 7.7.3 Readable keys . . . . . . . . . . . . . . . . . . . . . . . . . .143 7.7.4 Predictable transponder passwords . . . . . . . . . . . . . .144 7.7.5 Identifier pickpocketing . . . . . . . . . . . . . . . . . . . .144 7.8 Mitigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 7.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 7.10 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 8 SecureMemory, CryptoMemory and CryptoRF 149 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 8.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 8.3 The ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 8.3.1 Initialization and authentication . . . . . . . . . . . . . . .155 8.4 Attacking SecureMemory . . . . . . . . . . . . . . . . . . . . . . .158 8.4.1 Recovering the internal state . . . . . . . . . . . . . . . . 159 8.4.2 Unrolling the cipher . . . . . . . . . . . . . . . . . . . . . 161 8.4.3 Recovering the key . . . . . . . . . . . . . . . . . . . . . . 161 8.4.4 Complexity and time . . . . . . . . . . . . . . . . . . . . . 162 8.5 Attacking CryptoMemory . . . . . . . . . . . . . . . . . . . . . . 163 8.5.1 Recovering the internal state . . . . . . . . . . . . . . . . 163 8.5.2 Unrolling the cipher . . . . . . . . . . . . . . . . . . . . . 165 8.5.3 Recovering the key . . . . . . . . . . . . . . . . . . . . . . 165 8.5.4 Complexity and time . . . . . . . . . . . . . . . . . . . . . 166 8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 9 iClass and iClass Elite 169 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 9.2 Research context and related work . . . . . . . . . . . . . . . . . 170 9.2.1 Research contribution . . . . . . . . . . . . . . . . . . . . 171 9.2.2 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.3 iClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 9.3.1 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . 173 9.3.2 Authentication protocol . . . . . . . . . . . . . . . . . . . 175 9.4 iClass standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.4.1 Black box reverse engineering . . . . . . . . . . . . . . . . 176 9.4.2 The function hash0 . . . . . . . . . . . . . . . . . . . . . 182 9.4.3 Weaknesses in iClass Standard key diversification . . . . . 184 9.4.4 Attacking iClass Standard key diversification . . . . . . . 186 9.5 The iClass cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 9.5.1 Firmware reverse engineering . . . . . . . . . . . . . . . . 187 9.5.2 The cipher . . . . . . . . . . . . . . . . . . . . . . . . . . 189 9.6 Weakness in iClass . . . . . . . . . . . . . . . . . . . . . . . . . . 191 9.6.1 Weak keys . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 9.6.2 XOR key update weakness . . . . . . . . . . . . . . . . . 191 9.6.3 Privilege escalation . . . . . . . . . . . . . . . . . . . . . . 192 9.6.4 Lower card key entropy . . . . . . . . . . . . . . . . . . . 192 9.6.5 Key recovery attack on iClass Standard

    Android Application for E-Card Transaction Using NFC

    No full text
    corecore