Asymmetric Cryptography for Embedded Systems

Total Page:16

File Type:pdf, Size:1020Kb

Asymmetric Cryptography for Embedded Systems 14-Jun-17 Password hashing: context • Even in a scenario with a good security policy… – Passwords are not sent in plaintext through the network; no keyloggers on the system; strong passwords • … it is still possible to crack passwords via brute force: ~40 bits on average (Florencio and C. Herley, 2007) – Online: several tests – Offline: after stealing database/device • Protection: – Online: (temporarily) block user – Offline: raise the computational cost for each test thwart execution of several tests in parallel 1 Password hashing: costs • Device/databse stores: 1. Plain passwords attack cost = zero 2. Hash (password) attack cost = download pre-computed table (e.g., rainbow table) or use cheap (even free) web service 3. Hash (salt, password) attack cost = 1 hash/test • A few us in modern PCs; can be done in parallel • GPU cluster: >1012 hashes/h cracks 8-char alphanumeric passwords in 5.5h... (https://securityledger.com/2012/12/new-25-gpu-monster-devours-passwords-in-seconds/) 1 2 3 user password hash salt Saltedhash admin admin oijsdfm 857…30 klfuvmhg oijsdfm 123456 Hash root root pcvjvy 968…14 wjkopfjm ?!? ?!? “MyHyperP#werS pcvjvy ecureP@ssw0rd Hash 2 1 14-Jun-17 Password hashing: costs • Password hashing (with salt) – Configurable costs: t seconds while using m megabytes of RAM; huge penalties if attack trades memory by processing – Configuration: cost imperceptible for legitimate user, but relevant for attackers • Ex.: t = 1s, m = 1GB for local authentication (or remote if execution can be offloaded from the server to clients) • Ex. : t = 100 ms, m = 20 MB for server-side authentication *Configurable 1 processing core 1000 processing cores Algorithm tests/s memory usage tests/s memory usage 1 hash > 10000 < 1 KiB > 10.000.000 a few KiB PBKDF/bcrypt 1 < 1 KiB 1000 (all cores) a few KiB Lyra2/Argon2 1 1 GiB 8 (992 idle cores) 8 GiB Limits parallelism (e.g.: GPU clusters) 3 Password hashing Password hashing ‒ Lyra2: some novel features ‒ Allows legitimate users to take advantage of parallelism on CPUs, without giving much advantage to attackers using GPUs ‒ Protection against dedicated hardware: “slow hash function”, BlaMka ‒ Strong protection against side-channel attacks and against attacks using cheap memory devices (e.g., hard disks) ‒ Note: Argon2 was the winner of the Password Hashing Competition, but its design was modified after the end of the competition, making it more similar to Lyra2… 4 2 .
Recommended publications
  • Computationally Data-Independent Memory Hard Functions
    Computationally Data-Independent Memory Hard Functions Mohammad Hassan Ameri∗ Jeremiah Blocki† Samson Zhou‡ November 18, 2019 Abstract Memory hard functions (MHFs) are an important cryptographic primitive that are used to design egalitarian proofs of work and in the construction of moderately expensive key-derivation functions resistant to brute-force attacks. Broadly speaking, MHFs can be divided into two categories: data-dependent memory hard functions (dMHFs) and data-independent memory hard functions (iMHFs). iMHFs are resistant to certain side-channel attacks as the memory access pattern induced by the honest evaluation algorithm is independent of the potentially sensitive input e.g., password. While dMHFs are potentially vulnerable to side-channel attacks (the induced memory access pattern might leak useful information to a brute-force attacker), they can achieve higher cumulative memory complexity (CMC) in comparison than an iMHF. In particular, any iMHF that can be evaluated in N steps on a sequential machine has CMC at 2 most N log log N . By contrast, the dMHF scrypt achieves maximal CMC Ω(N 2) — though O log N the CMC of scrypt would be reduced to just (N) after a side-channel attack. In this paper, we introduce the notion ofO computationally data-independent memory hard functions (ciMHFs). Intuitively, we require that memory access pattern induced by the (ran- domized) ciMHF evaluation algorithm appears to be independent from the standpoint of a computationally bounded eavesdropping attacker — even if the attacker selects the initial in- put. We then ask whether it is possible to circumvent known upper bound for iMHFs and build a ciMHF with CMC Ω(N 2).
    [Show full text]
  • Argon and Argon2
    Argon and Argon2 Designers: Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich University of Luxembourg, Luxembourg [email protected], [email protected], [email protected] https://www.cryptolux.org/index.php/Password https://github.com/khovratovich/Argon https://github.com/khovratovich/Argon2 Version 1.1 of Argon Version 1.0 of Argon2 31th January, 2015 Contents 1 Introduction 3 2 Argon 5 2.1 Specification . 5 2.1.1 Input . 5 2.1.2 SubGroups . 6 2.1.3 ShuffleSlices . 7 2.2 Recommended parameters . 8 2.3 Security claims . 8 2.4 Features . 9 2.4.1 Main features . 9 2.4.2 Server relief . 10 2.4.3 Client-independent update . 10 2.4.4 Possible future extensions . 10 2.5 Security analysis . 10 2.5.1 Avalanche properties . 10 2.5.2 Invariants . 11 2.5.3 Collision and preimage attacks . 11 2.5.4 Tradeoff attacks . 11 2.6 Design rationale . 14 2.6.1 SubGroups . 14 2.6.2 ShuffleSlices . 16 2.6.3 Permutation ...................................... 16 2.6.4 No weakness,F no patents . 16 2.7 Tweaks . 17 2.8 Efficiency analysis . 17 2.8.1 Modern x86/x64 architecture . 17 2.8.2 Older CPU . 17 2.8.3 Other architectures . 17 3 Argon2 19 3.1 Specification . 19 3.1.1 Inputs . 19 3.1.2 Operation . 20 3.1.3 Indexing . 20 3.1.4 Compression function G ................................. 21 3.2 Features . 22 3.2.1 Available features . 22 3.2.2 Server relief . 23 3.2.3 Client-independent update .
    [Show full text]
  • PHC: Status Quo
    PHC: status quo JP Aumasson @veorq / http://aumasson.jp academic background principal cryptographer at Kudelski Security, .ch applied crypto research and outreach BLAKE, BLAKE2, SipHash, NORX Crypto Coding Standard Password Hashing Competition Open Crypto Audit Project board member do you use passwords? this talk might interest you! Oct 2013 "hash" = 3DES-ECB( static key, password ) users' hint made the guess game easy... (credit Jeremi Gosney / Stricture Group) May 2014; "encrypted passwords" (?) last week that's only the reported/published cases Lesson if Adobe, eBay, and Avast fail to protect their users' passwords, what about others? users using "weak passwords"? ITsec people using "weak defenses"? developers using "weak hashes"? cryptographers, who never bothered? agenda 1. how (not) to protect passwords 2. the Password Hashing Competition (PHC) 3. the 24-2 PHC candidates 4. next steps, and how to contribute WARNING this is NOT about bikeshed topics as: password policies password managers password-strength meters will-technology-X-replace-passwords? 1. how (not) to protect passwords solution of the 60's store "password" or the modern alternative: obviously a bad idea (assuming the server and its DB are compromised) solution of the early 70's store hash("password") "one-way": can't be efficiently inverted vulnerable to: ● efficient dictionary attacks and bruteforce ● time-memory tradeoffs (rainbow tables, etc.) solution of the late 70's store hash("password", salt) "one-way": can't be efficiently inverted immune to time-memory tradeoffs vulnerable to: ● dictionary attacks and bruteforce (but has to be repeated for different hashes) solution of the 2000's store hash("password", salt, cost) "one-way": can't be efficiently inverted immune to time-memory tradeoffs inefficient dictionary attacks and bruteforce main ideas: ● be "slow" ● especially on attackers' hardware (GPU, FPGA) => exploit fast CPU memory access/writes PBKDF2 (Kaliski, 2000) NIST and PKCS standard in Truecrypt, iOS, etc.
    [Show full text]
  • Modern Password Security for System Designers What to Consider When Building a Password-Based Authentication System
    Modern password security for system designers What to consider when building a password-based authentication system By Ian Maddox and Kyle Moschetto, Google Cloud Solutions Architects This whitepaper describes and models modern password guidance and recommendations for the designers and engineers who create secure online applications. A related whitepaper, Password security ​ for users, offers guidance for end users. This whitepaper covers the wide range of options to consider ​ when building a password-based authentication system. It also establishes a set of user-focused recommendations for password policies and storage, including the balance of password strength and usability. The technology world has been trying to improve on the password since the early days of computing. Shared-knowledge authentication is problematic because information can fall into the wrong hands or be forgotten. The problem is magnified by systems that don't support real-world secure use cases and by the frequent decision of users to take shortcuts. According to a 2019 Yubico/Ponemon study, 69 percent of respondents admit to sharing passwords with ​ ​ their colleagues to access accounts. More than half of respondents (51 percent) reuse an average of five passwords across their business and personal accounts. Furthermore, two-factor authentication is not widely used, even though it adds protection beyond a username and password. Of the respondents, 67 percent don’t use any form of two-factor authentication in their personal life, and 55 percent don’t use it at work. Password systems often allow, or even encourage, users to use insecure passwords. Systems that allow only single-factor credentials and that implement ineffective security policies add to the problem.
    [Show full text]
  • Optimizing a Password Hashing Function with Hardware-Accelerated Symmetric Encryption
    S S symmetry Article Optimizing a Password Hashing Function with Hardware-Accelerated Symmetric Encryption Rafael Álvarez 1,* , Alicia Andrade 2 and Antonio Zamora 3 1 Departamento de Ciencia de la Computación e Inteligencia Artificial (DCCIA), Universidad de Alicante, 03690 Alicante, Spain 2 Fac. Ingeniería, Ciencias Físicas y Matemática, Universidad Central, Quito 170129, Ecuador; [email protected] 3 Departamento de Ciencia de la Computación e Inteligencia Artificial (DCCIA), Universidad de Alicante, 03690 Alicante, Spain; [email protected] * Correspondence: [email protected] Received: 2 November 2018; Accepted: 22 November 2018; Published: 3 December 2018 Abstract: Password-based key derivation functions (PBKDFs) are commonly used to transform user passwords into keys for symmetric encryption, as well as for user authentication, password hashing, and preventing attacks based on custom hardware. We propose two optimized alternatives that enhance the performance of a previously published PBKDF. This design is based on (1) employing a symmetric cipher, the Advanced Encryption Standard (AES), as a pseudo-random generator and (2) taking advantage of the support for the hardware acceleration for AES that is available on many common platforms in order to mitigate common attacks to password-based user authentication systems. We also analyze their security characteristics, establishing that they are equivalent to the security of the core primitive (AES), and we compare their performance with well-known PBKDF algorithms, such as Scrypt and Argon2, with favorable results. Keywords: symmetric; encryption; password; hash; cryptography; PBKDF 1. Introduction Key derivation functions are employed to obtain one or more keys from a master secret. This is especially useful in the case of user passwords, which can be of arbitrary length and are unsuitable to be used directly as fixed-size cipher keys, so, there must be a process for converting passwords into secret keys.
    [Show full text]
  • Características Y Aplicaciones De Las Funciones Resumen Criptográficas En La Gestión De Contraseñas
    Características y aplicaciones de las funciones resumen criptográficas en la gestión de contraseñas Alicia Lorena Andrade Bazurto Instituto Universitario de Investigación en Informática Escuela Politécnica Superior Características y aplicaciones de las funciones resumen criptográficas en la gestión de contraseñas ALICIA LORENA ANDRADE BAZURTO Tesis presentada para aspirar al grado de DOCTORA POR LA UNIVERSIDAD DE ALICANTE DOCTORADO EN INFORMÁTICA Dirigida por: Dr. Rafael I. Álvarez Sánchez Alicante, julio 2019 Índice Índice de tablas .................................................................................................................. vii Índice de figuras ................................................................................................................. ix Agradecimiento .................................................................................................................. xi Resumen .......................................................................................................................... xiii Resum ............................................................................................................................... xv Abstract ........................................................................................................................... xvii 1 Introducción .................................................................................................................. 1 1.1 Objetivos ...............................................................................................................4
    [Show full text]
  • Lyra2 Password Hashing Scheme with Improved Security Against Time-Memory Trade-Offs (TMTO)
    Lyra2 Password Hashing Scheme with improved security against time-memory trade-offs (TMTO) Ewerton Rodrigues Andrade [email protected] Escola Polit´ecnicada Universidade de S~aoPaulo { EP/USP Ag^enciasde fomento: CAPES, FDTE e Erasmus Mundus Defesa de Tese de Doutorado 07 de junho de 2016 Banca Examinadora: Prof Dr Marcos Antonio Simplicio Junior { EP/USP (presidente) Prof Dr Wilson Vicente Ruggiero { EP/USP Profª Drª Denise Hideko Goya { CMCC/UFABC Prof Dr Diego de Freitas Aranha { IC/UNICAMP Dr Rafael Misoczki { Intel Labs Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. Finais Refer^encias Sum´ario 1 Introdu¸c~ao Motiva¸c~ao Objetivos Metodologia 2 Lyra2 The Bootstrapping phase The Setup phase The Wandering phase The Wrap-up phase 3 Lyra2 x scrypt x finalistas do PHC Seguran¸ca Desempenho 4 BlaMka Resultados Parciais 5 Considera¸c~oesFinais Principais Resultados Trabalhos Futuros 2 / 51 Ewerton Rodrigues Andrade Lyra2 - Defesa de Doutorado Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. Finais Motiva¸c~aoRefer^encias Objetivos Metodologia Sum´ario 1 Introdu¸c~ao Motiva¸c~ao Objetivos Metodologia 2 Lyra2 The Bootstrapping phase The Setup phase The Wandering phase The Wrap-up phase 3 Lyra2 x scrypt x finalistas do PHC Seguran¸ca Desempenho 4 BlaMka Resultados Parciais 5 Considera¸c~oesFinais Principais Resultados Trabalhos Futuros 3 / 51 Ewerton Rodrigues Andrade Lyra2 - Defesa de Doutorado Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. Finais Motiva¸c~aoRefer^encias Objetivos Metodologia Motiva¸c~ao A autentica¸c~ao´evital para a seguran¸cados sistemas computacionais modernos 4 / 51 Ewerton Rodrigues Andrade Lyra2 - Defesa de Doutorado Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider.
    [Show full text]
  • The Password Hashing Competition Prehistory of Password Protection
    The Password Hashing Competition Peter Gutmann University of Auckland Prehistory of Password Protection Before timesharing • Whoever submitted the card deck owned it Prehistory of Password Protection (ctd) Compatible Time-Sharing System (CTSS), 1963 • Introduced the use of a “private code” to protect access to users’ data Prehistory of Password Protection (ctd) Famously failed in 1966 • CTSS editor used a fixed temporary filename • Admin edited the password file and login message file at the same time… Problem occurred at 5pm on a Friday • User noticed it and deliberately executed an HCF instruction in the debugger • When machine was rebooted, users were told to change their passwords – (And given free credit monitoring) History of Password Protection Cambridge Uni Titan timesharing system, 1967, used a one-way cipher to protect the password Spread to CTSS’ successor Multics in the 1970s • And from there to a Multics successor, Unics^H^Hx History of Password Protection (ctd) Unix originally stored passwords in the clear • More problems with editor temp files Encrypt the passwords like Multics had done • Protect against brute-force by iterating the encryption • Protect against comparing encrypted passwords by adding a random quantity (salt) to the password Originally based on a software analogue of the M-209 cipher machine • Encrypt the password using itself as the key • Found to be too fast, vulnerable to brute-forcing History of Password Protection (ctd) Later Unix crypt used 25 iterations of DES encryption • Salt+password used as a
    [Show full text]
  • Expert Password Management
    Expert Password Management Elizabeth Stobert1 and Robert Biddle2 1 ETH Z¨urich Z¨urich, Switzerland [email protected] 2 Carleton University Ottawa, Canada [email protected] Abstract. Experts are often asked for advice about password manage- ment, but how do they manage their own passwords? We conducted interviews with researchers and practitioners in computer security, ask- ing them about their password management behaviour. We conducted a thematic analysis of our data, and found that experts described a di- chotomy of behaviour where they employed more secure behaviour on important accounts, but had similar practices to non-expert users on re- maining accounts. Experts’ greater situation awareness allowed them to more easily make informed decisions about security, and expert practices can suggest ways for non-experts to better manage passwords. 1 Introduction Security experts are often turned to for advice about password management, but what do experts themselves do to manage their passwords? How are the practices of those who are knowledgeable about computer security different from or similar to those of non-experts? Little work exists on the password habits of experts, who must be affected by the same problems that affect all users: difficulties choosing random passwords, difficulties remembering passwords, and multitudinous accounts. If remembering large numbers of random passwords is difficult or near-impossible for non-expert users, it should be similarly difficult for experts. We conducted a series of interviews with researchers and practitioners in com- puter security, asking them about their password management behaviour. We found that these knowledgeable users described a dichotomy of behaviour where they employed more secure behaviour on important accounts that they deemed more worthy, but employed similar practices to non-expert users on their remain- ing accounts.
    [Show full text]
  • Argon2 for Password Hashing and Cryptocurrencies
    Argon2 for password hashing and cryptocurrencies Alex Biryukov, Daniel Dinu, Dmitry Khovratovich University of Luxembourg 20th July 2016 Recall why we need Argon2 Password-based authentication Keyless password authentication: • User registers with name l and password p; • Server selects hash function H, generates salt s, and stores (l; H(s; p)); • User sends (l; p0) during the login; • Server matches (l; H(s; p0)) with its password le. Problems: • Password les are often leaked unencrypted; • Passwords have low entropy ("123456"); • Regular cryptographic hash functions are cracked on GPU/FPGA/ASIC. Dictionary attacks on passwords Dictionary attacks are most ecient on custom hardware: multiple computing cores on large ASICs. Practical example of SHA-2 hashing (Bitcoin): • 232 hashes/joule on ASIC; • 217 hashes/joule on laptop. ASIC-equipped crackers are the threat from the near future. ASICs have high entry costs, but FPGA and GPU are employed too. Performance Argon2d (1 pass) Argon2i (3 passes) Proc. Thr. cpb Memory cpb Memory (GB/s) (GB/s) i7-4500U 1 1.3 2.5 4.7 2.6 i7-4500U 2 0.9 3.8 2.8 4.5 i7-4500U 4 0.6 5.4 2 5.4 i7-4500U 8 0.6 5.4 1.9 5.8 Table: Speed and memory bandwidth of Argon2(d/i) measured on 1 GB memory lled. Core i7-4500U Intel Haswell 1.8 GHz, 4 cores Solution Since 2003, memory-intensive computations have been proposed. Computing with a lot of memory would require a very large and expensive chip. Memory Core With large memory on-chip, the ASIC advantage vanishes.
    [Show full text]
  • Performance Analysis of Cryptographic Hash Functions Suitable for Use in Blockchain
    I. J. Computer Network and Information Security, 2021, 2, 1-15 Published Online April 2021 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijcnis.2021.02.01 Performance Analysis of Cryptographic Hash Functions Suitable for Use in Blockchain Alexandr Kuznetsov1 , Inna Oleshko2, Vladyslav Tymchenko3, Konstantin Lisitsky4, Mariia Rodinko5 and Andrii Kolhatin6 1,3,4,5,6 V. N. Karazin Kharkiv National University, Svobody sq., 4, Kharkiv, 61022, Ukraine E-mail: [email protected], [email protected], [email protected], [email protected], [email protected] 2 Kharkiv National University of Radio Electronics, Nauky Ave. 14, Kharkiv, 61166, Ukraine E-mail: [email protected] Received: 30 June 2020; Accepted: 21 October 2020; Published: 08 April 2021 Abstract: A blockchain, or in other words a chain of transaction blocks, is a distributed database that maintains an ordered chain of blocks that reliably connect the information contained in them. Copies of chain blocks are usually stored on multiple computers and synchronized in accordance with the rules of building a chain of blocks, which provides secure and change-resistant storage of information. To build linked lists of blocks hashing is used. Hashing is a special cryptographic primitive that provides one-way, resistance to collisions and search for prototypes computation of hash value (hash or message digest). In this paper a comparative analysis of the performance of hashing algorithms that can be used in modern decentralized blockchain networks are conducted. Specifically, the hash performance on different desktop systems, the number of cycles per byte (Cycles/byte), the amount of hashed message per second (MB/s) and the hash rate (KHash/s) are investigated.
    [Show full text]
  • Security Analysis of BLAKE2's Modes of Operation
    Security Analysis of BLAKE2’s Modes of Operation Atul Luykx1, Bart Mennink1 and Samuel Neves2 1 Dept. Electrical Engineering, ESAT/COSIC, KU Leuven, and iMinds, Belgium [email protected], [email protected] 2 CISUC, Dept. of Informatics Engineering, University of Coimbra, Portugal [email protected] Abstract. BLAKE2 is a hash function introduced at ACNS 2013, which has been adopted in many constructions and applications. It is a successor to the SHA-3 finalist BLAKE, which received a significant amount of security analysis. Nevertheless, BLAKE2 introduces sufficient changes so that not all results from BLAKE carry over, meaning new analysis is necessary. To date, all known cryptanalysis done on BLAKE2 has focused on its underlying building blocks, with little focus placed on understanding BLAKE2’s generic security. We prove that BLAKE2’s compression function is indifferentiable from a random function in a weakly ideal cipher model, which was not the case for BLAKE. This implies that there are no generic attacks against any of the modes that BLAKE2 uses. Keywords: BLAKE · BLAKE2 · hash function · indifferentiability · PRF 1 Introduction Widespread adoption of cryptographic algorithms in practice often occurs regardless of their scrutiny by the cryptographic community. Although competitions such as AES and SHA-3 popularize thoroughly analyzed algorithms, they are not the only means with which practitioners find new algorithms. Standards, textbooks, and social media are sometimes more effective than publications and competitions. Nevertheless, analysis of algorithms is important regardless of how they were pop- ularized, and can result in finding insecurities, but also new techniques. For example, the PLAID protocol avoided cryptographic scrutiny by being standardized via the Cards and personal identification subcommittee of ISO, instead of via the Cryptography and security mechanisms working group, and when properly analyzed, PLAID turned out to be significantly weaker than claimed [DFF+14].
    [Show full text]