Secure Password Storage JOSHUA SMALL HTTPS://GITHUB.COM/TECHNION/ LHNSKEYHTTPS://GITHUB.COM/TECHNION/ LHNSKEY - ROOT PASSWORD GENERATOR FOR CVE-2013-2352.

Slides:



Advertisements
Similar presentations
Basic Computer Vocabulary
Advertisements

Password Cracking With Rainbow Tables
Lecture 5: Cryptographic Hashes
White-Box Cryptography
Chapter User authorization & safety Maciej Mensfeld Presented by: Maciej Mensfeld User authorization & safety dev.mensfeld.pl.
Cryptology Passwords and Authentication Prof. David Singer Dept. of Mathematics Case Western Reserve University.
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
Lecture 5: security: PGP Anish Arora CIS694K Introduction to Network Security.
© 2003 School of Computing, University of Leeds SY32 Secure Computing, Lecture 15 Implementation Flaws Part 3: Randomness and Timing Issues.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
1 Analysis of the Linux Random Number Generator Zvi Gutterman, Benny Pinkas, and Tzachy Reinman.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Host-Based Intrusion Detection software TRIPWIRE & MD5.
What are Rainbow Tables? Passwords stored in computers are changed from their plain text form to an encrypted value. These values are called hashes, and.
Lecture 9: Security via PGP CS 436/636/736 Spring 2012 Nitesh Saxena.
CRYPTOGRAPHY PROGRAMMING ON ANDROID Jinsheng Xu Associate Professor North Carolina A&T State University.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
MS systems use one of the following: LanManager Hash (LM) LanManager Hash (LM) NT LanManager (NTLM) NT LanManager (NTLM) Cached passwords Cached passwords.
.Net Security and Performance -has security slowed down the application By Krishnan Ganesh Madras.
Passwords Breaches, Storage, Attacks OWASP AppSec USA 2013.
Trusted Computing BY: Sam Ranjbari Billy J. Garcia.
Dan Johnson. What is a hashing function? Fingerprint for a given piece of data Typically generated by a mathematical algorithm Produces a fixed length.
CIS 450 – Network Security Chapter 8 – Password Security.
Authentication and Authorization Authentication is the process of verifying a principal’s identity (but how to define “identity”?) –Who the person is –Or,
Databases and security continued CMSC 461 Michael Wilson.
Chapter 6 Electronic Mail Security MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Brute Force Password Cracking and its Role in Penetration Testing Andrew Keener and Uche Iheadindu.
The Misuse of RC4 in Microsoft Office A paper by: Hongjun Wu Institute for Infocomm Research, Singapore ECE 578 Matthew Fleming.
Chapter 21 Public-Key Cryptography and Message Authentication.
Chapter 15: Electronic Mail Security
Password authentication Basic idea –User has a secret password –System checks password to authenticate user Issues –How is password stored? –How does system.
Exercises Information Security Course Eric Laermans – Tom Dhaene.
6fb52297e004844aa81be d50cc3545bc Hashing!. Hashing  Group Activity 1:  Take the message you were given, and create your own version of hashing.  You.
TE/CS 536 Network Security Spring 2005 – Lecture 8 Security of symmetric algorithms.
GPU ASSISTED LM HASH CRACKING WILLIAM GROESBECK UNIVERSITY OF NEVADA, RENO – SPRING 2013 (Psst, the 90’s called - they want their hashing algorithm back)
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
Public / Private Keys was a big year… DES: Adopted as an encryption standard by the US government. It was an open standard. The NSA calls it “One.
Security. Security Flaws Errors that can be exploited by attackers Constantly exploited.
Security PGP IT352 | Network Security |Najwa AlGhamdi 1.
CMSC 414 Computer and Network Security Lecture 20 Jonathan Katz.
Authentication Issues and Solutions CSCI 5857: Encoding and Encryption.
Date : 2/12/2010 Web Technology Solutions Class: Adding Security and Authentication Features to Your Application.
CNIT 124: Advanced Ethical Hacking Ch 9: Password Attacks.
Identification Authentication. 2 Authentication Allows an entity (a user or a system) to prove its identity to another entity Typically, the entity whose.
Presented by Sharan Dhanala
PHP Secure Communications Web Technologies Computing Science Thompson Rivers University.
Lecture 5 User Authentication modified from slides of Lawrie Brown.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Network Security. Three tools Hash Function Block Cipher Public Key / Private Key.
Security  is one of the most widely used and regarded network services  currently message contents are not secure may be inspected either.
CSCI 530 Lab Passwords. Overview Authentication Passwords Hashing Breaking Passwords Dictionary Hybrid Brute-Force Rainbow Tables Detection.
PKCS #5 v2.0: Password-Based Cryptography Standard
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
FERPA & Data Security:FERPA & Data Security: Passwords and Authenticators.
Host and Application Security Lesson 8: You are you… mostly.
MIGHTY CRACKER Chris Bugg Chris Hamm Jon Wright Nick Baum We could consider using the Mighty Cracker Logo located in the Network Folder.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
1-way String Encryption Rainbows (a.k.a. Spectrums) Public Private Key Encryption HTTPS Encryption.
Trusted Computing and the Trusted Platform Module
Authentication CSE 465 – Information Assurance Fall 2017 Adam Doupé
Web Systems Development (CSC-215)
Kiran Subramanyam Password Cracking 1.
Authentication CSE 365 – Information Assurance Fall 2018 Adam Doupé
Elections Choose wisely, this is your chance to prove if election by popular vote works or not.
Exercise: Hashing, Password security, And File Integrity
CS5220 Advanced Topics in Web Programming Secure REST API
One-Way Hash Functions
Authentication CSE 365 – Information Assurance Fall 2019 Adam Doupé
Presentation transcript:

Secure Password Storage JOSHUA SMALL LHNSKEYHTTPS://GITHUB.COM/TECHNION/ LHNSKEY - ROOT PASSWORD GENERATOR FOR CVE – CONNECTWISE PASSWORD “ENCRYPTION” BROKEN DJB’S CRYPTO SNAKE OIL COMPETITION SUBMISSION: NS.HTML Raspberry Pi Powered NTP Server

Typical Web Sign Up Form

The Problem

Typical User shinycatz.com Compromise Attacked notices: “secret” is the password for John’s hotmail User: All he can do is read my ! Hotmail inbox: Welcome to mybank.com Mybank.com: Forgot your password? Click here and we’ll you a new one shinycatz.com Password: secret User: Oh all they can do is produce fake cats in my name! Mybank.com Password: supersecret Unique password – good boy John!

Typical Vendor

Terrible Solution function encryptpass($password) { $key = “omgakey”; Return base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, $key, $password, … Function decryptpass($secret) { $key = “omgakey”; …

Comically terrible solution

User Solutions  Lastpass and similar apps  Unique passwords everywhere!  Uptake from users: very low

Hash Algorithms!  MD5: Officially Broken! Do not want!  SHA1: Published 1995, theoretical attack: 2^61  SHA256: Brute force at 2^128  This would make SHA256 completely secure for our purposes, for completely random input  But passwords are not random

Key space  One byte stores eight bit of data  But only 96 ASCII characters are printable  That leaves roughly 6.5 bits of entropy per byte  Average password is 6 characters long  That’s only 39 bits of brute force - feasible

Improvements  Stretching: Literally “perform the hash x times”  Salt: incorporate a random string. This prevents “rainbow tables”, ie a big database of precomputed hash values

SHA512crypt  Literally applies the principles of “stretching” and “salting” to SHA512  Default in several current Linux distributions for passwords in /etc/shadow

Bitcoin  Uses the SHA algorithm  CPU: Core i7 820: 13.8Mhash/s  GPU: GTX295: Mhash/s  ASIC: Antminer S1: 180,000Mhash/s Source:

Scrypt  Developed by Colin Percival, presented May 2009  Designed to offer significantly lower advantages to GPU and ASIC devices  Uses a hard to optimise hash function  Is not only computationally hard- but memory hard  Original paper:  Used in Dogecoin  Dogecoin ASICS pushing 70KHash/s a big deal!  Increasing difficulty doesn’t just slow things down, it can break those ASICS by exceeding their memory

Very short algorithm summary Source:

Problem: Accessibility  Use in applications: Reference app  Implementation function:  Produces a binary string as output

Introducing libscrypt  Simpler API:  Produces one string containing salt, difficulty operators and hash altogether  Output is already BASE64 encoded, ready for storage  Simple checking function

Accessibility: Platform support  Fedora RPM  Debian (and derivatives) package  FreeBSD ports  OpenBSD ports  Homebrew (OS X)  Tested on ARM (Raspbian)  Tested on IBM s390 for some reason

Difficulties  Potential DoS opportunity  Rate limit  Proof of work  Captcha

Future Improvements  HSM  Polypasshash  Questions?