Puncte:1

Pot folosi SHA256 din fraza de acces BIP39 pentru acreditările de autentificare?

drapel cn

Lucrez la o aplicație criptată E2E. Folosesc OpenPGP.js și stochează chei publice și private pe server. Cheia privată este criptată cu o frază de acces BIP39 care este stocată în browser LocalStorage, astfel încât să nu fie niciodată trimisă la un server. Dar am nevoie și de niște acreditări pentru ca utilizatorii să se autentifice.

Ideea mea este să fac SHA256 din fraza de acces BIP39 și să o împart în două șiruri. Prima poate fi folosită pentru „nume de utilizator”, iar a doua pentru parola serverului.

Este această abordare sigură? Din cate stiu eu ar trebui sa fie. Fraza de acces BIP39 are entropie suficient de mare.Nu pot folosi sare pentru că acea expresie de acces BIP39 ar trebui să fie singurul secret de stocat.

Este valabilă această abordare? Mulțumesc.

kelalaka avatar
drapel in
O [Derivare a mai multor chei AES dintr-o cheie principală](https://crypto.stackexchange.com/q/76588/18298)
Puncte:1
drapel ng

Pot folosi SHA256 din fraza de acces BIP39 pentru acreditările de autentificare?

Ideea mea este să fac SHA256 din fraza de acces BIP39 și să o împart în două șiruri.

Acestea par a fi două erori grave din punct de vedere al designului de securitate.

  • Aceasta înseamnă utilizarea unei funcții de hash rapidă, cum ar fi SHA-256, pentru a procesa ceva menit să fie memorat. Mai degrabă, trebuie să utilizați un hash lent al parolei pentru întinderea cheii. Acestea sunt cunoscute sub numele de funcție de derivare a cheilor bazată pe parolă. Dacă este posibil, trebuie să fie greu de memorie. Opțiunile recomandate includ Argon2 sau scrypt. In timp ce BIP-39Alegerea lui PBKDF2-HMAC-SHA512 cu 512 runde este slabă (deoarece HMAC nu este greu de memorie și potrivit pentru accelerarea masivă cu ASIC-uri, FPGA-uri sau GPU-uri), SHA-256 este de aproximativ 1000 de ori mai rapid, astfel încât mai ușor de atacat pentru un spargerea parolelor.
  • Aceasta înseamnă împărțirea datelor/entropiei unui secret în două secrete independente mai scurte, care pot fi atacate separat. Analogie: înlocuirea unui cod din 6 cifre pentru a introduce o clădire în două coduri de 3 cifre, câte unul pentru fiecare dintre cele două uși succesive. Când ceva secret și memorabil trebuie folosit în mai multe rânduri, întreg secret trebuie să introducă o funcție de derivare a cheii bazată pe parolă, împreună cu o constantă legată de utilizarea intenționată și, dacă este posibil, sare.

Notă: pot exista și alte greșeli în design. Și poate că cele două probleme aparente de mai sus sunt într-adevăr atenuate de ceva. Nu putem spune, deoarece obiectivele de securitate, ipotezele și designul detaliat nu sunt precizate.

drapel cn
După cum am scris, am de gând să hash mnemonicul BIP39 cu o entropie uriașă. Nu există o parolă creată de om, așa că nu-mi pot imagina cum o poate sparge un descifrator de parole. Nicio forță brutală nu poate ghici BIP 39.
drapel cn
În ceea ce privește secretele independente mai scurte, ele sunt folosite doar pentru autentificare, care este limitată la rata cu backoff exponențial, așa că sunt destul de greu de ghicit, presupun. Oricum, multumesc pentru raspuns.
Puncte:1
drapel vn

Pentru a răspunde la întrebarea dvs. reală, da, ideea dvs. sună sigură, dar nu este așa cum se face de obicei.

Dacă aveți un singur secret „master” și trebuie să îl împărțiți în două sau mai multe secrete, astfel încât cunoașterea vreunuia dintre ele să nu confere informații despre master, atunci ceea ce doriți este HKDF, specificat în RFC 5869, care utilizează HMAC pentru a genera orice număr de secrete independente dintr-un singur secret.

Există o mulțime de alternative la HKDF și în acest scop. Dacă nu sunteți căsătorit cu SHA-256, puteți utiliza BLAKE2 care acceptă „hashuri personalizate” care vă permit să amestecați o valoare de personalizare. Valorile unice de personalizare au ca rezultat hashuri unice, chiar și pentru aceeași intrare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.