Puncte:0

Stocarea prefixului de 4 caractere pentru jetonul hexadecimal de 32 de biți după stocarea rezumatului HMAC

drapel us

În prezent lucrez la o API publică care folosește autentificarea cu simboluri. Token-ul este un hex aleatoriu de 32 de biți care este partajat cu utilizatorul și apoi stocat în baza noastră de date ca sinteză HMAC folosind o cheie secretă. Jetonul nu este stocat decât pentru primele 4 caractere.

Întrebarea mea este, este sigur să stocați prefixul astfel?

Intuiția mea îmi spune că nu este sigur, deoarece oferă oricărui atacator începutul răspunsului corect, ceea ce scurtează procesul de încercare a forței brute a cheii noastre secrete. Mă întreb ce crede cineva cu mai multă experiență decât mine despre asta.

introduceți descrierea imaginii aici

Multumesc anticipat.

Maarten Bodewes avatar
drapel in
Aleatoriu pe 32 de biți *hex*? Hexazecimalele sunt o schemă de numerotare de bază 16, adesea folosită pentru a reprezenta octeții. Biții sunt *cifre binare*, adică baza 2.
Puncte:0
drapel in

În criptografie facem întotdeauna toate calculele în biți. Un HMAC are aceeași dimensiune ca și hash-ul utilizat. Presupunând o funcție hash securizată, cum ar fi SHA-256, veți avea o ieșire de 256 de biți, așa cum este reflectat de nume.

Din acești 32 de biți sunt stocați în schema dvs. Acum, pentru un hash și un HMAC, biții sunt toți dependenți de intrare, dar în principiu nu puteți spune nimic despre biții necunoscuți din biții de ieșire. Asta înseamnă că au mai rămas 224 de biți. Un atacator ar lua în medie $2^{223}$ ghicește pentru a ajunge la valoarea HMAC completă.

Deci nu trebuie să vă faceți griji cu privire la forțarea brută presupunând că utilizați o funcție hash securizată.

Maarten Bodewes avatar
drapel in
Atenție totuși că acest răspuns nu oferă nicio indicație cu privire la securitatea soluției tale; nu este o analiză aprofundată și o astfel de analiză este considerată în afara subiectului acestui site de întrebări/răspunsuri.

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.