protocols for checking compromised credentials
play

Protocols for Checking Compromised Credentials Lucy Li Bijeeta Pal - PowerPoint PPT Presentation

Protocols for Checking Compromised Credentials Lucy Li Bijeeta Pal Junade Ali Nick Sullivan Cornell Tech Cloudflare Inc. Cornell Tech Cloudflare Inc. Rahul Chatterjee Thomas Ristenpart University of WisconsinMadison Cornell T ech


  1. Protocols for Checking Compromised Credentials Lucy Li Bijeeta Pal Junade Ali Nick Sullivan Cornell Tech Cloudflare Inc. Cornell Tech Cloudflare Inc. Rahul Chatterjee Thomas Ristenpart University of Wisconsin—Madison Cornell T ech Cornell Tech

  2. Password breaches à Credential Stuffing lucy@email.com myPassword123 website.com Leaked Credentials Username Passwords Around 40% of users reuse passwords … … across different websites! lucy@email.com myPassword123 [Das et al. 2014, Pearman et al. 2017] alice@yahoo.com Star246, p4ssw0rd1 … … 2

  3. Compromised Credential Checking Services Entity Credential pw pw Leaked Credentials OR OR Username Passwords … … Client finds out if their lucy@email.com myPassword123 website.com credential is in the (u (u, pw) alice@yahoo.com Star246, p4ssw0rd1 server’s database … … Client Cl C3 Server C3 3

  4. Compromised Credential Checking Services Entity Credential Can we use a third party checker and still preserve privacy of user credentials? pw pw Two big initial deployments: Leaked Credentials OR OR Username Passwords … … Password only: lucy@email.com myPassword123 website.com (u (u, pw) alice@yahoo.com Star246, p4ssw0rd1 Username-password: … … Cl Client C3 Server C3 4

  5. Our contributions [Li et al. CCS 2019] 1. Formalization of compromised credential checking (C3) protocols and threat model 2. Show formally and empirically that HIBP and Google Password Checkup (GPC v1) leak information about passwords 3. New C3 protocols that leak less • Username-password: ID-based bucketization (now GPC v2) • Password only: Frequency-smoothing bucketization 5

  6. Today • Empirical results that motivate the move from GPC v1 to ID-based bucketization, and hopefully from HIBP to frequency-smoothing bucketization • Overview of frequency-smoothing bucketization, our new password-only C3 protocol 6

  7. Threat model • Protect client’s password against malicious server Partial information speeds up online guessing attacks Ideally, no information alice@email.com ******** about password leaked alice@email.com website.com passwordGuess1 myPassword123 … alice@email.com Client passwordGuessQ C3 server myPassword123 7

  8. Efficiency • A C3 server stores hundreds of millions of passwords, or billions of username-password pairs • Need to handle client requests efficiently 8

  9. Efficiency through bucketization Client Passwords C3 server myPassword123 … dog456 myPassword123 Combine bucketization with some … private set membership protocol 9

  10. Efficiency through bucketization HIBP: prefix of H(pw) GPC v1: prefix of H(user || pw) Client C3 server myPassword123 Ke Key y secu curity y question : How much does knowing the bucket queried help an Combine bucketization with some adversary guess a client’s password? private set membership protocol 10

  11. Empirical security evaluation • How easily can an attacker guess passwords given the bucket identifiers? • Breach dataset of 1.4 billion username-password pairs • Split into test set and leaked password set • Measure the percentage of passwords an attacker can guess in Q queries, with access to usernames github.com/lucy7li/compromised-credential-checking 11

  12. Results 80 HIBP 70 Attacker success rate (%) 60 GPC v1 50 40 30 FSB (new) 20 10 Baseline 0 / IDB / 1 10 100 1000 GPC v2 Number of queries given to the attacker Baseline Hash Prefix (20 bits) Hash Prefix (16 bits) Frequency-smoothing (q'=100) 12

  13. ID-password C3 setting • Check for an exact us user erna name me-pas password d pai pair match with a C3 server • Google Password Checkup (GPC v1) init initia ially lly implemented a protocol that uses the prefix of H(user || pw) as the bucket identifier • As we saw in empirical evaluation, this protocol has poor security, if if user us erna name is me is k kno nown t n to a attacker er • ID-based bucketization : : use prefix of H(user) as the bucket identifier 13

  14. Password-only C3 setting • Checks if a password is in breach data • Avoids risk of C3 server storing username-password pairs • Have I Been Pwned leaks information about passwords that speeds up remote guessing attacks • Frequency-smoothing bucketization leaks less 14

  15. Have I Been Pwned (HIBP) 20-bit hash prefix 15a56 password123 15a56 Have I Been Pwned Hash of password123 = 15a56bd4dd… Contains all password hashes with the same prefix 15

  16. Issue with HIBP Probability Buckets Password Colors in buckets correspond to probabilities of passwords given the bucket Easy to guess the password if you know the bucket 16

  17. Frequency-smoothing bucketization (FSB) We propose FSB as a more secure bucketization algorithm Probability Password Buckets Go Goal: : Given a bucket, the probability of each password in the bucket is the same 17

  18. FSB implementation details (Q = 1) B: # buckets Probability 𝑗 B Buckets: 1 Password Range for password ◼ [ H( ◼ ) , H( ◼ ) + f(Pr( ◼ )) ] Start bucket: H( ◼ ) To check a password with the server: Proportional to Client computes range, probability of password picks a bucket randomly 18

  19. FSB: what about Q > 1 ? • Parameter Q reflects expected online guessing budget • Include the top Q passwords in every bucket, and distribute the rest proportionally relative to probability of the Qth most popular password 19

  20. Security of FSB • Theorem: If an attacker has ≤ Q guesses, access to the FSB bucket will give no no ad advan antag age over baseline guessing • Bounds for > Q guesses shown in our paper • Higher Q → smaller security loss • But also larger bucket sizes 20

  21. Performance Setting Protocol Bandwidth (KB) Total time (ms) Password- HIBP 32 220 only FSB 558 527 ID-password GPC 1,066 489 IDB 1,066 517 To Total tal ti time includes client-server communication and client- and server-side computations github.com/lucy7li/compromised-credential-checking 21

  22. Conclusion • Some deployed C3 protocols leak a lot of information about a user’s password to the C3 server • To leak less information, we recommend using: • Password-only: Frequency-smoothing bucketization • Username-password: ID-based bucketization • Questions? cs.cornell.edu/~lucy 22

Recommend


More recommend