An Oblivious Password Cracking Server



Similar documents
Cracking Passwords With Time-memory Trade-offs. Gildas Avoine Université catholique de Louvain, Belgium

NETWORK SECURITY: How do servers store passwords?

A novel time-memory trade-off method for password recovery

Authentication in WLAN


Attacking NTLM with Precomputed Hashtables

Introduction to Computer Security

Computer Networks. Network Security and Ethics. Week 14. College of Information Science and Engineering Ritsumeikan University

Query Services in Cost Efficient Cloud Using Query Analysis

Cracking Salted Hashes

Chapter 23. Database Security. Security Issues. Database Security

Hushmail Express Password Encryption in Hushmail. Brian Smith Hush Communications

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

VoteID 2011 Internet Voting System with Cast as Intended Verification

Public Key Encryption that Allows PIR Queries

IronKey Data Encryption Methods

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Hash Functions. Integrity checks

Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

CIS433/533 - Computer and Network Security Cryptography

Cryptographic Hash Functions Message Authentication Digital Signatures

>

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

Karsten Nohl, Breaking GSM phone privacy

Public Key Encryption with keyword Search

OpenSSL (lab notes) Definition: OpenSSL is an open-source library containing cryptographic tools.

Attack Frameworks and Tools

Ky Vu DeVry University, Atlanta Georgia College of Arts & Science

AN OFFLINE CAPTURE THE FLAG-STYLE VIRTUAL MACHINE FOR CYBER SECURITY EDUCATION

CS Final Exam

Public Key Encryption with keyword Search

SWFP: Secure Web Feed Protocol

Privacy and Security in Cloud Computing

Secure Group Oriented Data Access Model with Keyword Search Property in Cloud Computing Environment

MTAT Cryptology II. Digital Signatures. Sven Laur University of Tartu

Dynamic Searchable Encryption in Very Large Databases: Data Structures and Implementation

SECURITY IN NETWORKS

Enhancing Cloud Security By: Gotcha (Generating Panoptic Turing Tests to Tell Computers and Human Aparts)

High Security Online Backup. A Cyphertite White Paper February, Cloud-Based Backup Storage Threat Models

CLoud Computing is the long dreamed vision of

Lecture 17: Re-encryption

Approximate Object Location and Spam Filtering on Peer-to-Peer Systems

Digital Signatures. (Note that authentication of sender is also achieved by MACs.) Scan your handwritten signature and append it to the document?

Three attacks in SSL protocol and their solutions

Dashlane Security Whitepaper

Proofs in Cryptography

Cryptography and Network Security Chapter 12

An Efficiency Keyword Search Scheme to improve user experience for Encrypted Data in Cloud

Client Server Registration Protocol

Threat Modeling Cloud Applications

Chapter 23. Database Security. Security Issues. Database Security

Lecture 9 - Network Security TDTS (ht1)

Penetration: from Application down to OS

Digital Signatures. Prof. Zeph Grunschlag

Application-Specific Biometric Templates

Private Searching On Streaming Data

CRYPTANALYSIS OF HASH FUNCTIONS USING ADVANCED MULTIPROCESSING

Trusted-computing (TC) initiatives potentially

Understanding digital certificates

CS Computer Security Third topic: Crypto Support Sys

A New Secure Strategy for Small-Scale IEEE Wireless Local Area Networ

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Why Should You Care About Security Issues? SySmox WEB security Top seven ColdFusion Security Issues

Project: Simulated Encrypted File System (SEFS)

Likelihood: Frequentist vs Bayesian Reasoning

Advanced Security Issues in Wireless Networks

OOo Digital Signatures. Malte Timmermann Technical Architect Sun Microsystems GmbH

1 Sufficient statistics

Overview/Questions. What is Cryptography? The Caesar Shift Cipher. CS101 Lecture 21: Overview of Cryptography

Techniques of Asymmetric File Encryption. Alvin Li Thomas Jefferson High School For Science and Technology Computer Systems Lab

Lecture Note 8 ATTACKS ON CRYPTOSYSTEMS I. Sourav Mukhopadhyay

The Heston Model. Hui Gong, UCL ucahgon/ May 6, 2014

Introduction to Cryptography CS 355

How To Teach A Cyber Security Course

Rainbow Cracking: Do you need to fear the Rainbow? Philippe Oechslin, Objectif Sécurité. OS Objectif Sécurité SA, Gland,

Fundamentals of Computer Security

Merkle Hash Trees for Distributed Audit Logs

CSCE 465 Computer & Network Security

Privacy-Enhanced Searches Using Encrypted Bloom Filters

Computer Security: Principles and Practice

Security in Android apps

Upgrading User-ID. Tech Note PAN-OS , Palo Alto Networks, Inc.

3D PASSWORD. Snehal Kognule Dept. of Comp. Sc., Padmabhushan Vasantdada Patil Pratishthan s College of Engineering, Mumbai University, India

A programming model in Cloud: MapReduce

Efficient Similarity Search over Encrypted Data

Cryptography Lecture 8. Digital signatures, hash functions

VoIP Security. Seminar: Cryptography and Security Michael Muncan

Secure and Efficient Data Retrieval Process based on Hilbert Space Filling Curve

Transcription:

An Oblivious Password Cracking Server Aureliano Calvo - aureliano.calvo@coresecurity.com Ariel Futoransky - ariel.futoransky@coresecurity.com Carlos Sarraute - carlos.sarraute@coresecurity.com Corelabs Core Security Technologies 2012-08-31 An Oblivious Password Cracking Server 2012-08-31 1 / 26

Agenda 1 Intro And Motivation 2 Standing On The Shoulders of Giants Hash-Reversing Tables Private Information Retrieval 3 Our Work 4 Future Work An Oblivious Password Cracking Server 2012-08-31 2 / 26

Intro Reversing cryptographically-strong hashes is really resource intensive. What if a resource constrained hacker wants to crack a password? Hash reversing tables to the rescue! An Oblivious Password Cracking Server 2012-08-31 3 / 26

Intro Reversing cryptographically-strong hashes is really resource intensive. What if a resource constrained hacker wants to crack a password? Hash reversing tables to the rescue! An Oblivious Password Cracking Server 2012-08-31 3 / 26

Intro Reversing cryptographically-strong hashes is really resource intensive. What if a resource constrained hacker wants to crack a password? Hash reversing tables to the rescue! An Oblivious Password Cracking Server 2012-08-31 3 / 26

Space-Time trade-off Rainbow tables allow to use O(N 2/3 ) space and O(N 2/3 ) time to invert a hash where N is the size of the pre-image. For instance a rainbow table used to break LM takes 34GBytes. What if the password cracker cannot store the tables? An Oblivious Password Cracking Server 2012-08-31 4 / 26

Space-Time trade-off Rainbow tables allow to use O(N 2/3 ) space and O(N 2/3 ) time to invert a hash where N is the size of the pre-image. For instance a rainbow table used to break LM takes 34GBytes. What if the password cracker cannot store the tables? An Oblivious Password Cracking Server 2012-08-31 4 / 26

Space-Time trade-off Rainbow tables allow to use O(N 2/3 ) space and O(N 2/3 ) time to invert a hash where N is the size of the pre-image. For instance a rainbow table used to break LM takes 34GBytes. What if the password cracker cannot store the tables? An Oblivious Password Cracking Server 2012-08-31 4 / 26

Privacy implications A server serves the tables. But... Now the server can know the passwords being cracked :(. An Oblivious Password Cracking Server 2012-08-31 5 / 26

Privacy implications A server serves the tables. But... Now the server can know the passwords being cracked :(. An Oblivious Password Cracking Server 2012-08-31 5 / 26

Privacy implications A server serves the tables. But... Now the server can know the passwords being cracked :(. An Oblivious Password Cracking Server 2012-08-31 5 / 26

Agenda 1 Intro And Motivation 2 Standing On The Shoulders of Giants Hash-Reversing Tables Private Information Retrieval 3 Our Work 4 Future Work An Oblivious Password Cracking Server 2012-08-31 6 / 26

Agenda 1 Intro And Motivation 2 Standing On The Shoulders of Giants Hash-Reversing Tables Private Information Retrieval 3 Our Work 4 Future Work An Oblivious Password Cracking Server 2012-08-31 7 / 26

Hellman Tables Store initial password and ending hash for each chain (length M). Each table stores M chains. M tables. Each one uses its own reduction function. An Oblivious Password Cracking Server 2012-08-31 8 / 26

Hellman Tables Store initial password and ending hash for each chain (length M). Each table stores M chains. M tables. Each one uses its own reduction function. An Oblivious Password Cracking Server 2012-08-31 8 / 26

Hellman Tables Store initial password and ending hash for each chain (length M). Each table stores M chains. M tables. Each one uses its own reduction function. An Oblivious Password Cracking Server 2012-08-31 8 / 26

Hellman Tables with Distinguished End-Points Differences with Hellman Tables End-points have a property that distinguishes them Such as number of leading 0s The expected length of chains is M. Minimizes number of queries made to the tables (just M). An Oblivious Password Cracking Server 2012-08-31 9 / 26

Hellman Tables with Distinguished End-Points Differences with Hellman Tables End-points have a property that distinguishes them Such as number of leading 0s The expected length of chains is M. Minimizes number of queries made to the tables (just M). An Oblivious Password Cracking Server 2012-08-31 9 / 26

Hellman Tables with Distinguished End-Points Differences with Hellman Tables End-points have a property that distinguishes them Such as number of leading 0s The expected length of chains is M. Minimizes number of queries made to the tables (just M). An Oblivious Password Cracking Server 2012-08-31 9 / 26

Hellman Tables with Distinguished End-Points Differences with Hellman Tables End-points have a property that distinguishes them Such as number of leading 0s The expected length of chains is M. Minimizes number of queries made to the tables (just M). An Oblivious Password Cracking Server 2012-08-31 9 / 26

Rainbow Tables Just one table with M 2 entries. Collisions are avoided by using a different reduction function for each step. This is the most popular kind of hash reversing tables. An Oblivious Password Cracking Server 2012-08-31 10 / 26

Rainbow Tables Just one table with M 2 entries. Collisions are avoided by using a different reduction function for each step. This is the most popular kind of hash reversing tables. An Oblivious Password Cracking Server 2012-08-31 10 / 26

Rainbow Tables Just one table with M 2 entries. Collisions are avoided by using a different reduction function for each step. This is the most popular kind of hash reversing tables. An Oblivious Password Cracking Server 2012-08-31 10 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Table sizes Number of chains = M 2 M chains for each of the M tables for Hellman Tables and Hellman Tables With Distinguished Endpoints. Chain length = M Average chain length for Hellman Tables With Distinguished Endpoints. M = 3 ln(1 α) N where: N is the size of the preimage α is the probability that a preimage can be found using the table. An Oblivious Password Cracking Server 2012-08-31 11 / 26

Agenda 1 Intro And Motivation 2 Standing On The Shoulders of Giants Hash-Reversing Tables Private Information Retrieval 3 Our Work 4 Future Work An Oblivious Password Cracking Server 2012-08-31 12 / 26

Problem to be solved Ask for a bit in a database stored by a server without revealing the requested bit to the server. Without sending the entire database (!). An Oblivious Password Cracking Server 2012-08-31 13 / 26

Problem to be solved Ask for a bit in a database stored by a server without revealing the requested bit to the server. Without sending the entire database (!). An Oblivious Password Cracking Server 2012-08-31 13 / 26

Problem to be solved "Something being imposible does not imply that it has never been done" (Fernando Russ) An Oblivious Password Cracking Server 2012-08-31 14 / 26

Classic PIR Eyal Kushilevitz and Rafail Ostrovsky Replication is not needed: Single database, computationally-private information retrieval. Proceedings of the 38th Annu. IEEE Symp. on Foudations of Computer Science, pages:364 373, 1997. An Oblivious Password Cracking Server 2012-08-31 15 / 26

Classic PIR - Complexities Server processing complexity: O(n). Client processing complexity: O( n). Transfer complexity: O( n). Where n is the number of bits in the database. An Oblivious Password Cracking Server 2012-08-31 16 / 26

Classic PIR - Complexities Server processing complexity: O(n). Client processing complexity: O( n). Transfer complexity: O( n). Where n is the number of bits in the database. An Oblivious Password Cracking Server 2012-08-31 16 / 26

Classic PIR - Complexities Server processing complexity: O(n). Client processing complexity: O( n). Transfer complexity: O( n). Where n is the number of bits in the database. An Oblivious Password Cracking Server 2012-08-31 16 / 26

Classic PIR - Complexities Server processing complexity: O(n). Client processing complexity: O( n). Transfer complexity: O( n). Where n is the number of bits in the database. An Oblivious Password Cracking Server 2012-08-31 16 / 26

Agenda 1 Intro And Motivation 2 Standing On The Shoulders of Giants Hash-Reversing Tables Private Information Retrieval 3 Our Work 4 Future Work An Oblivious Password Cracking Server 2012-08-31 17 / 26

Our Work Hellman Tables With Distinguished Endpoints as Hash-Reversing Tables queried using Classic PIR. An Oblivious Password Cracking Server 2012-08-31 18 / 26

Calculating the tables (begin, end) pairs are stored in a closed hash table. The size of each table is βm, where β > 1. Each entry has an index, representing the initial plain-text, and the end-of-chain hash. The key of the entry is the end-of-chain hash. Hash-Table Collisions are discarded when the tables are generated. An Oblivious Password Cracking Server 2012-08-31 19 / 26

Calculating the tables (begin, end) pairs are stored in a closed hash table. The size of each table is βm, where β > 1. Each entry has an index, representing the initial plain-text, and the end-of-chain hash. The key of the entry is the end-of-chain hash. Hash-Table Collisions are discarded when the tables are generated. An Oblivious Password Cracking Server 2012-08-31 19 / 26

Calculating the tables (begin, end) pairs are stored in a closed hash table. The size of each table is βm, where β > 1. Each entry has an index, representing the initial plain-text, and the end-of-chain hash. The key of the entry is the end-of-chain hash. Hash-Table Collisions are discarded when the tables are generated. An Oblivious Password Cracking Server 2012-08-31 19 / 26

Calculating the tables (begin, end) pairs are stored in a closed hash table. The size of each table is βm, where β > 1. Each entry has an index, representing the initial plain-text, and the end-of-chain hash. The key of the entry is the end-of-chain hash. Hash-Table Collisions are discarded when the tables are generated. An Oblivious Password Cracking Server 2012-08-31 19 / 26

Calculating the tables (begin, end) pairs are stored in a closed hash table. The size of each table is βm, where β > 1. Each entry has an index, representing the initial plain-text, and the end-of-chain hash. The key of the entry is the end-of-chain hash. Hash-Table Collisions are discarded when the tables are generated. An Oblivious Password Cracking Server 2012-08-31 19 / 26

Reversing a Hash The client calculates the M ends-of-chain for the hash being reversed. One for each table. It requests the corresponding server buckets, via M PIR requests. For each response, it checks if the end-of-chain is the one needed. If so, it navigates the chain looking for the preimage of the hash being reversed. An Oblivious Password Cracking Server 2012-08-31 20 / 26

Reversing a Hash The client calculates the M ends-of-chain for the hash being reversed. One for each table. It requests the corresponding server buckets, via M PIR requests. For each response, it checks if the end-of-chain is the one needed. If so, it navigates the chain looking for the preimage of the hash being reversed. An Oblivious Password Cracking Server 2012-08-31 20 / 26

Reversing a Hash The client calculates the M ends-of-chain for the hash being reversed. One for each table. It requests the corresponding server buckets, via M PIR requests. For each response, it checks if the end-of-chain is the one needed. If so, it navigates the chain looking for the preimage of the hash being reversed. An Oblivious Password Cracking Server 2012-08-31 20 / 26

Complexity Single hash-reversing client processing complexity: O(M 2 ). Single hash-reversing server processing complexity: O(M 2 ). Transfer complexity: O(M 3/2 ). Server storage complexity: O(M 2 ). Table calculation complexity: O(M 3 ). An Oblivious Password Cracking Server 2012-08-31 21 / 26

Complexity Single hash-reversing client processing complexity: O(M 2 ). Single hash-reversing server processing complexity: O(M 2 ). Transfer complexity: O(M 3/2 ). Server storage complexity: O(M 2 ). Table calculation complexity: O(M 3 ). An Oblivious Password Cracking Server 2012-08-31 21 / 26

Complexity Single hash-reversing client processing complexity: O(M 2 ). Single hash-reversing server processing complexity: O(M 2 ). Transfer complexity: O(M 3/2 ). Server storage complexity: O(M 2 ). Table calculation complexity: O(M 3 ). An Oblivious Password Cracking Server 2012-08-31 21 / 26

Complexity Single hash-reversing client processing complexity: O(M 2 ). Single hash-reversing server processing complexity: O(M 2 ). Transfer complexity: O(M 3/2 ). Server storage complexity: O(M 2 ). Table calculation complexity: O(M 3 ). An Oblivious Password Cracking Server 2012-08-31 21 / 26

Complexity Single hash-reversing client processing complexity: O(M 2 ). Single hash-reversing server processing complexity: O(M 2 ). Transfer complexity: O(M 3/2 ). Server storage complexity: O(M 2 ). Table calculation complexity: O(M 3 ). An Oblivious Password Cracking Server 2012-08-31 21 / 26

Experimental Results An Oblivious Password Cracking Server 2012-08-31 22 / 26

Agenda 1 Intro And Motivation 2 Standing On The Shoulders of Giants Hash-Reversing Tables Private Information Retrieval 3 Our Work 4 Future Work An Oblivious Password Cracking Server 2012-08-31 23 / 26

Future Work Optimize using other PIR schemes Paralelize cracking Devise a way to use the current rainbow tables with a PIR scheme Use PIR to reverse hashes in the client while the server brute forces it (no tables stored). An Oblivious Password Cracking Server 2012-08-31 24 / 26

Future Work Optimize using other PIR schemes Paralelize cracking Devise a way to use the current rainbow tables with a PIR scheme Use PIR to reverse hashes in the client while the server brute forces it (no tables stored). An Oblivious Password Cracking Server 2012-08-31 24 / 26

Future Work Optimize using other PIR schemes Paralelize cracking Devise a way to use the current rainbow tables with a PIR scheme Use PIR to reverse hashes in the client while the server brute forces it (no tables stored). An Oblivious Password Cracking Server 2012-08-31 24 / 26

Future Work Optimize using other PIR schemes Paralelize cracking Devise a way to use the current rainbow tables with a PIR scheme Use PIR to reverse hashes in the client while the server brute forces it (no tables stored). An Oblivious Password Cracking Server 2012-08-31 24 / 26

Any Question? An Oblivious Password Cracking Server 2012-08-31 25 / 26

Thank you! An Oblivious Password Cracking Server 2012-08-31 26 / 26