<<

www.IndianJournals.com Members Copy, Not for Commercial Sale

Downloaded From IP - 115.254.44.5 on dated 24-Apr-2019 . ... unhappy. very be internet, the hacker can login there as Userswell. the will on sites other all for same the uses user onyourdatabase. This isevenworse,ifthatuser that as login to password that use to able be password123 they'll database, to access gains hacker a plaintextpassword if insecure is This ... password [email protected] [email protected] account user database: in It is not secure to store each users “plain text” password Bad Solution :plaintextpassword Related Work scenario. which in best is one which that analyze and methods the all compare We Bcrypt. and salting, hashing, like methods have We detail. in methods different about discuss will we paper this In database. in We have multiple methods to store password securely providers. webmail and blogs, publications, by used are web, the On age. Internet the of rituals reviled most and ubiquitous most the of one Logging in with usernames and passwords has become Introduction Popli** Navneet Jha* Gunjan Method forStoring User Password Securely GGSIP University (Meri College) (Meri University GGSIP Popli** Navneet College) (Meri University GGSIP Jha* Gunjan Keywords: approaches. related of those to weaknesses and strengths its compare of combination The password. short single security a and convenience only will, we memorize believe, entice to users to user adopt our needed method, we while discuss various accounts methods, many for passwords secure compute to Bcrypt hashing,and uses salting that technique propose we securely; passwords user store to how for theory the paper,explain this I’ll In services. online various and sites, e-commerce email, accounts, host uses for passwords secret generate, to asked are users Computer Abstract

Password Security, website user authentication, hashing, salting, Bcrypt. salting, hashing, authentication, user Security,Passwordwebsite guessing input passwords until they find a match, It match, a find they until passwords input guessing keep just can they all; at function hash the "undo" to need don't hackers problem: bigger a there's But far.) so vulnerabilities known any have not do which () sha256 like functions hash better use should you (Instead, application. security for anymore used be not functions these that suggest expert security all, and after "one-way" so not are ()) sha1 and () (including functions hash many that is Oneproblem this. around ways found hackers Unfortunately, value. hash same the output ... that string input an find and function hash one-way because in theory it should be impossible to , "undo" a text plain the storing than secure is solution This user: authenticate still can it password text plain the store not does server The b6cf8331b7ee68fd8 ... cbfdac6008f9cab4083784c 5baa61e4c9b93f3f0682250 [email protected] sha1(password) mail.com gunjan@hot user account (): password, typically using a function likemd5 () or sha1 the of hash" "one-way a store to is solution better A ["sha1_password"] user == sha1(password_attempt) return password_attempt): defis_password_correct(user, Bad Solution:sha1(password) bd1874f76618d2a97 www.IndianJournals.com Members Copy, Not for Commercial Sale

Downloaded From IP - 115.254.44.5 on dated 24-Apr-2019 password, And in 2012 a large set of password hashes its store to used LinkedIn which sha1(password) "password12345".) password the using was system the in someone that likely more is it because actually user of lots having fact, in (And password, potential through iterate can hacker the fast how that is matters All password, matching a million, it doesn't take the hacker any longer to guess ten or database your in users ten are there if matter all ofthepasswords atthesametime. Also notice that the code above is effectively safe. probably were you letters) & numbers random 16 (over password complicated extremely an have you if guessed, billion most-likely passwords will have their password the of any "password12345"or or "password" like password simple a with user any is news bad the So them. without enough fast are computers because anymore tables rainbow uses Todaynobody time, of ahead hashes these of set large a computed pre- have that tables created community hacker the so fast, this not were computers ago, years Aside: can befigured outinlessthanonecpu-hour. of combinations per second. It means billions try literally can computer one -- quickly very And mosthashfunctionslikesha1()canbeexecuted letters). or numbers extra few a with (possibly words dictionary on based are that passwords use People think. you'd than passwords common fewer far are passwords forthistechniquetobepossible.But there possible many too are there that think might You password!" a guessed "Yepieeewin! print I databasetable: in sha1(password) if inLIST_OF_COMMONPASSWORDS: password for ...} 4f76618d2a97":"[email protected]", "cbfdac6008f9cab4083784cbd187 31b7ee68fd8":"[email protected]", "5baa61e4c9b93f3f0682250b6cf83 { = database_table like:- look would code the what Here lock, combination a of combinations the all trying to similar is 6NationalConferenceonEmerging Trends inInformation Technology 96 help most passwords IITM JournalofManagementandIT the hackers. the It doesn't It attacking Summary: Summary: adding a fixed still is not secure enough. password password!", a guessed win! "Yepieeeprint I databasetable: in sha1(SALTpassword) if + inLIST_OF_COMMONPASSWORDS: password for above: from for-loop basic same the execute still can much, hacker help The not does salt fixed a adding anymore tables rainbow uses one no since However them. stop hashes salted so salt no is there assuming built are tables rainbowbefore Those old-school those use to But even if the salt is not a secret it still makes it harder secret. being salt the on rely don't & worst, the assume just designers security why is That too, salt the learn they'll so well as code source your to access ... have also probably server, into broken has hacker the if However salt, the know to require also the hacker to guess the passwords because they for would difficult more much it make will salt), the (not If the hacker gains access to these new password hashes The salt is suppose to be a long random string of bytes, 31aa70fd38fee6f1f8b31 ... [email protected] + sha1("salt123456789" b467b644150eb350bbc1 [email protected] user account it: hashing before password the "salt" to is secure more things make to attempt One Bad :sha1(FIXED_SALT Solution +password) database and store a different salt for each user, Salt is The next step in security is to create a column new in password) Bad Solution:sha1(PER_USER_SALT + the plain text password to password text plain the were leaked, Over time hacker were able to figure out of the users. the of will be able to figure out the majority of the passwords they database, your to access gain hacker a if - secure not is salt) no (with hash simple a storing Summary: 42942ba9613920dfea0 c8b44b21b08af99268aa password) rainbow tablesI most of these hashes. these of mentioned www.IndianJournals.com Members Copy, Not for Commercial Sale

Downloaded From IP - 115.254.44.5 on dated 24-Apr-2019 password storage. password for used be to designed not were functions hash when executed on longer inputs like entire files. fast These be would they so designed also were they mind though hash functions were designed with security in EvenGPU) using by faster even (or M+/sec hundred of rate a at passwords on executed be can ()) sha256 discussed so far is have that hash we functions like systems sha1 () the (even all with problem real The dollar.thousand forty about for Amazon from rented be easily can which cpu-hours million 1 a hacker to do this. Instead of 1 cpu-hour now they need passwords of per- user-salt makes it 1 a million times harder having to figure out the users million 1 have you if basically So passwordpassword!", a guessed win! I "yepieee print in password) databasetable: + sha1(PER_USER_SALT if inLIST_OF_COMMONPASSWORDS: password for user["salt"] PER_USER_SALT= users: in user for one: by one user each try to has code attack his Instead time same the at passwords user's your of all attack ... cannot hacker By having a ... per-user-salt we get one huge benefit, the user["password_hash"] == password_attempt) + sha1(user["salt"] return password_attempt): defis_password_correct(user, before: than harder much not is user the Authenticating ... e33ab75f29a9cf3f70d3 afad [email protected] sha1(salt+password) salt 1a74404cb136dd600 2dc [email protected] account user password). their changes user when (or created. first is account user the when created randomly oue6 su aur-ue 0597 January-June, 2015 • Volume 6,Issue1 to addition In passwords. for designed specifically were that functions hash of set a are there Instead (password)Good bcrypt Solution: all your users. But still is not impossible for 2 fd14a7f47cd752e b2f 41dbf694e5c2ec0e 7fcc 9c550 7d15b42 IITM JournalofManagementandIT password): their reset (or account user new a creating when run Now that it is installed, here is the Python code you'd work? it did bcrypt"# "import - python .. cd install setup.py python sudo build setup.py python py-bcrypt-0.2 cd py-bcrypt-0.2.tar.gz -xzf tar bcrypt-0.2.tar.gz" "http//py-bcrypt.googlecode.com/files/py- wget it: install Firstlet's action, in code the see us Let salt. the for column database separate a create to have even won't you so hash password the as string same the in salt the store into the Bcrypt system, In fact libraries like py-bcrypt rainbow of tables attractive idea again so a the per-user-salt is makes built it slow too is bcrypt() Because computer.faster 1000x the out cancel will which logarithmic) is (log_rounds before than more ten is that log_rounds a use to system your reconfigure can you today, art the of state the than faster comes out with a new computer that Intel is thosand times sudden a of all If function, hash internal that execute to times many how it tells that parameters log_rounds with configurable is Bcrypt Also trick. same the uses PBKDF2 as such Bcrypt to alternative or many times in a loop, there are other Basically the trick is, it executes an internal do. to willing are hackers most than work more way but impossible not password, single a for is that and $1200 passwords it will take about likely 30,000 cpu-hours about billion a of list a against bcrypt() compute to want hackers if instance passwords, likely becomes lessfeasibletoexecute againstalonglistof it that enough slow but login they when notice sha1(). Hundred ms is fast enough that the user won't than slower 10,000x about is which compute to ms One example is Bcrypt, bcrypt() takes about hundred designed tobeslow. being secure "one-way" hash functions they were also www.IndianJournals.com Members Copy, Not for Commercial Sale

Downloaded From IP - 115.254.44.5 on dated 24-Apr-2019 user .Mihir Bellare, David Pointcheval, and Phillip Rogaway. Authenticated exchange secure against dictionary 3. Abadi, Mart´?n T.RogerNeedham.passwords. TechnicalStrengtheningand Lomas, - A. Mark Report1997 2. SSL/TLS.http://www.openssl.org. for toolkit source open The OpenSSL: 1. References need. you everything contains which string hashed single that is with deal to need you value only the , yourself values salt any handle or parse store to have never you means it because great is This string that$2a$13$.... from salt the is that the hashpw() function is and smart can extract works this reason The hashpw() to argument salt the as hashed in pass you why wondering be Youmight match" not "does print else: "matches" print hashed: == hashed) hashpw(password_attempt, if this: do and value hashed same that retrieve you in log to attempts user same that when & the database, to in string this store you case any In before, 13 a was there where 14 a now is there that Notice GbeG7ADUre1Q8QO.uUUtcbqloU0yvzavOm' '$2a$13$ZyprE5MRw2Q3WpNOGZW hashed print gensalt(log_rounds=14)) hashpw(plaintext_password, = hashed gensalt(): to value larger a pass you slower be to hash the want you If computation, in is it slowhow is that work much how controls which password the generate to used was that parameter log_rounds the stores also It string, the in output hashed the & salt, the both stores it see can you As print hashed gensalt()) hashpw(plaintext__password, = hashed hashpw,gensalt import bcrypt from 8NationalConferenceonEmerging Trends inInformation Technology 98 attacks. In EUROCRYPT,In attacks. 139-155,2000. pages 1997. 033, # save save # this value to the database for the IITM JournalofManagementandIT Let us dissect that output string a little: a string output that dissect us Let 8nzwuqWNukOkcMJ1a9G2tD71ipotEZ9f80Vu' '$2a$12$8vxYfAWCXe0Hm4gNX random alphanumeric characters.) alphanumeric random eight of password a as same the about being up end will I actuallysuspecttheentropy ofmostuser'spassphrases is definitely better than a password like "shally123". (But this then spaces with passwords long allows system your using passphrasesinstead,like"shallyisapoliceofficer", suggested have ,people letters and numbers of sequence suggest picking a password that is a 16 character random would I issue an not was that If difficult-to-remember, also are passwords difficult-to-guess Unfortunately guesses. password million few first the of list the on be to going is end the at letter/number word evenifithassimplemutationslikea dictionary likely passwords as possible, Any password based on a of list the down far as is that password a create to is The best way to prevent password from being guessed it. guess probably will hacker the passwords likely of list the of top towardthe is password your if so first passwords simpler try always will hacker The hashing,salting,bcrypt etc is going to protect that user of amount no then password"password" the has user Final passwordgood Ifyoura choosing for Thoughts Conclusion and friends. and and support from everyone, including teachers, family This research paper is made possible through the help Acknowledgment www.IndianJournals.com Members Copy, Not for Commercial Sale

Downloaded From IP - 115.254.44.5 on dated 24-Apr-2019 16. Joe Smith. Password Safe cracker utility.cracker PasswordSafe Smith. Joe 16. application.http://www.schneier.com/passsafe.html.Safe Password al. et Schneier Bruce 15. Blake Ross, Collin Jackson, Nicholas Miyake, Dan Boneh, and John C. 14. Mitchell. A browser plug-in solution 1979. 22(11):594-597, history.CACM, case A security: PasswordKenThompson. and Morris Robert 13. 1996. crack, to harder much functions one-way on based passwords make to scheme simple Manber. U. A 12. David P. Kormann and 11. Aviel D. Rubin. Risks of the Passport single signon protocol. In Proc. 9th international in Notes Lecture keys. low-entropy of Wagner.applications D. Secure and Hall, C. Schneier,Kelsey, B. J. 10. using exchange key password-authenticated Efficient Yung. Moti and Ostrovsky, Rafail Katz, Jonathan 9. IanJermyn,Mayer, Alain Fabian Reiter,Monrose, K. Michael AvielRubin.analysis and D. and design The 8. empirical some - passwords of security and memorability The Alasdair. A. and Ross, B. Alan, Y.Jeff, J. 7. In exchange. key authenticated password-based for framework A Lindell. Yehuda and Gennaro Rosario 6. Eran Gabber, Phillip B. Gibbons, Yossi Matias, and Alain J. Mayer. How to make personalized web browsing 5. E. Felten, D. Balfanz, D.Dean, andD. Wallach. Web spoofing: An Internet congame.Proc. 20th National 4. oue6 su aur-ue 0599 January-June, 2015 • Volume 6,Issue1 to the unique password problem, 2005.Technical report, Stanford-SecLab-TR-2005-1.2005.Technical report, problem, password unique the to 2000. Co., PublishingNorth-Holland 51-58. pages networks, computer on WorldWebWideconference 1998. 1396:121-134, Science, Computer Springer-Verlag,2001. Techniques,475-494. Cryptographic pages of Application and Theory the on Conference International the of Proceedings EUROCRYPT'01: In passwords. human-memorable 1999. passwords. graphical of 2000. results, EUROCRYPT,2003. 524-543, pages 1997. 17-32, Cryptography,pages Financial In anonymous. and secure, simple, 1997. Conference, Security Systems Information IITM JournalofManagementandIT