security - Dcrypt a password without asking for master password -


so know there other posts regarding password storage , encryption question different. bare me end.

i working on password manager website, fun. , wondering how secure idea had was.

so each password user stores encrypted using aes-256 master password key , randomly generated salt. master password encrypted using bcrypt, before hand hashed 100,000 times using whirlpool, increase strain when trying login.

if user decides doesn't want enter password every time he/she requests password site program cannot decrypt password , autofill because master password required decrypt stored passwords.

one idea had store password in users current session, that's not idea because trying make assuming attacker has breached server , downloading database , snooping around.

another though use 100,000 time hashed password key aes-256 encryption , store hash in session. that's better storing in plain text, still lets attacker able decrypt stored passwords if he/she can information session.

are there better ways around this, or lost battle of hope attacker doesn't in when i'm logged in?

if want full security, passwords should in stored in such way not server can decrypt them without user input, , master key ever stored clientside.

since don't want stored in session, store in cookie client side, bottom line is, if intruder has breached server , can modify code, in order site functional, definition must able passwords if decryption of passwords happens server side.

so if willing to, write javascript/client side application receive aes encrypted strings given user, , decrypt client side users entered master password. issue have have secondary piece of information before give user encrypted passwords, or have willing give everyone, elses encrypted passwords if request it. there additional hidden complexity here, if intruder able change code on server, in theory change running client side running server side , decrypted passwords, or modify client side javascript make ajax call decrypted passwords.

also master password encrypted using bcrypt, before hand hashed 100,000 times using whirlpool, increase strain when trying login

there no need that, increase bcrypt's strength parameter increase time when try login. bcrypt has key stretching built in.


Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -