Com emmagatzemen les xarxes les vostres contrasenyes i altra informació d'inici de sessió?

Com emmagatzemen les xarxes les vostres contrasenyes i altra informació d'inici de sessió?
Lectors com tu ajuden a donar suport a MUO. Quan feu una compra mitjançant enllaços al nostre lloc, podem guanyar una comissió d'afiliats. Llegeix més.

Fa anys, les contrasenyes aleatòries de vuit caràcters que consistien en lletres majúscules i minúscules, símbols i números eren molt difícils d'esquivar. En alguns casos, aquesta contrasenya va trigar anys a trencar-se.





punt taronja a la part superior de l'iPhone

Gràcies a la tecnologia canviant actual i a les màquines de lloguer, aquest temps s'ha reduït a hores. Però, com s'emmagatzemen aquestes contrasenyes en primer lloc?





MAKEUSEO VÍDEO DEL DIA DESPLACEU PER CONTINUAR AMB EL CONTINGUT

Com s'emmagatzemen les contrasenyes en línia

Els sistemes no emmagatzemen les contrasenyes dels usuaris directament en fitxers o bases de dades, perquè els atacants poden fer-se càrrec de la base de dades on els sistemes guarden les contrasenyes. En canvi, els sistemes xifren les contrasenyes dels usuaris i els atacants es troben amb una versió xifrada de cada contrasenya.





Hi ha alguns algorismes que utilitzen els sistemes per xifrar contrasenyes. Un d'aquests algorismes és l'algorisme simètric. L'algorisme simètric és un tipus de xifratge on podeu utilitzar la mateixa clau tant per al xifratge com per al desxifrat. La clau que utilitzareu per xifrar les dades és la mateixa tant per al xifratge com per al desxifrat. La seguretat dels algorismes simètrics comporta alguns riscos, ja que només hi ha una clau per al desxifrat. Per aquest motiu, els sistemes generalment no utilitzen algorismes simètrics per a l'encriptació de contrasenyes.

En general, el mètode que utilitzen els sistemes per al xifratge són els algorismes hash. Els algorismes hash serveixen per verificar i representar la integritat de les dades, no per xifrar dades. Els algorismes hash converteixen les dades en un hash de mida fixa. Aquests hash solen representar un hash únic de dades.



Gràcies a l'algorisme hash, si un atacant s'ha fet càrrec de la base de dades de contrasenyes, l'atacant no pot accedir a la contrasenya des d'aquí. Aquí hi ha un matís molt important al qual hauríeu de prestar atenció. Teòricament, un atacant que compromet un sistema que utilitza el mateix algorisme hash per a totes les combinacions de contrasenyes pot comparar els resultats obtinguts. Si l'atacant produeix el mateix valor com a resultat d'aquestes comparacions, l'atacant ha descobert quina és la versió oberta de la contrasenya. Aquest mètode es tracta d'assaig i error, i aquesta forma d'atac ho és generalment anomenat atac de força bruta .

A principis de la dècada de 2000, es podien trigar centenars d'anys a provar totes les combinacions de contrasenyes de 8 caràcters xifrades amb algorismes de hash populars. Per descomptat, això no inclou combinacions molt senzilles com '123456' o 'la meva contrasenya' en aquest conjunt. Amb el desenvolupament de les tecnologies de programari i maquinari actuals, el mètode per trencar contrasenyes també ha canviat molt.





L'impacte de les GPU emergents

  dues targetes gràfiques rtx2080

Les capacitats de processament de dades en paral·lel dels processadors gràfics (GPU) han millorat amb el temps. Les GPU no són capaços de realitzar operacions versàtils com les CPU de propòsit general. Així, tot i que hi ha tants nuclis i poder de processament paral·lel, no té sentit utilitzar-los per a gairebé tots els problemes, com ara la CPU.

No obstant això, és possible realitzar alguns algorismes hash utilitzats per a contrasenyes de manera bastant eficient a la GPU. Els hash computables per segon que podeu aconseguir amb les CPU tradicionals han crescut enormement amb les noves plataformes GPU.





Per fer-vos una idea, examineu els nombres de hash per segon dels algorismes de hash com NTLM, MD5 i SHA1 a la taula següent. N'hi ha prou, de moment, amb saber que aquests algorismes són només un algorisme hash. Per crear aquesta taula, vaig utilitzar un sistema de clúster format per 25 GPU AMD Radeon.

Algorisme

Hashings per segon

NTLM

350.000.000.000

MD5

180.000.000.000

SHA1

63.000.000.000

SHA512Crypt

364.000

Bcrypt

71.000

Guió

33.000

Com podeu veure, amb aquest sistema, podeu generar hash NTLM 350 mil milions de vegades per segon. Això vol dir que podeu provar totes les combinacions d'una contrasenya de 8 caràcters en menys de 6 hores. A més, el maquinari d'aquest exemple pertany a anys enrere. Imagineu-vos el poder de descobriment de contrasenyes actual.

Què haurien de fer els desenvolupadors de programari?

  Un desenvolupador que escrivia codi

El camí que haurien de seguir els programadors és bastant senzill: haurien de preferir algorismes que triguen més temps a calcular els valors hash en xifrar les contrasenyes. Els desenvolupadors han d'aprendre no només sobre el rendiment de l'algoritme que utilitzen a la CPU, sinó també sobre la resistència que és contra el món de la GPU.

Si els desenvolupadors treballen amb un marc de programari que també aborda processos de xifratge de contrasenyes com Django, Ruby on Rails i Spring Security, haurien de comprovar si s'han pres les decisions correctes dins del marc en termes de seguretat.

Per exemple, Dissenyar , una de les biblioteques més utilitzades per a les operacions dels usuaris a Ruby on Rails, utilitza Bcrypt com a algorisme hash predeterminat. També us permet utilitzar un altre mètode com l'algorisme hash. L'algoritme Bcrypt és fiable, ja que encara triga molt de temps a trencar-se la GPU.

En resum, com més temps trigui el càlcul del valor hash, més segur estàs.

Quants caràcters hauria de tenir la teva contrasenya?

Cada caràcter addicional que utilitzeu augmentarà geomètricament el nombre de proves i errors necessaris per trencar la vostra contrasenya i fer-la més segura.

Considerem aquesta situació a través de dos escenaris diferents. Considereu els valors de la taula anterior per a l'algorisme hash NTLM i imagineu-vos que intentareu descifrar la contrasenya. Imagineu-vos orientar contrasenyes de vuit caràcters o més.

Nombre de caràcters

Lletres i números majúscules/minuscules

Lletres majúscules/minúscules, números i símbols especials

8

menys d'1 minut

2 minuts

9

2 minuts

2 hores

10

2 hores

1 setmana

11

6 dies

2 anys

12

1 any

200 anys

13

més de 100 anys

més de 1000 anys

Quan examineu la taula, podeu veure que l'ús d'una contrasenya de 12 caràcters com a mínim és segur quan feu servir totes les combinacions de lletres majúscules/minuscules, números i símbols especials. Si no feu servir símbols especials, resulta que heu d'utilitzar 13 caràcters com a longitud de contrasenya segura. Si utilitzeu el mètode hash Bcrypt en comptes del hash NTLM en aquest sistema, 8 caràcters serien suficients. Tanmateix, no teniu l'oportunitat de saber amb quin mètode hash un sistema que introduïu a través del web conserva la vostra contrasenya. És per això que hauríeu de considerar totes les possibilitats.

El principal problema per als desenvolupadors de programari és que és gairebé impossible convèncer els usuaris perquè tinguin una contrasenya mínima de 12 caràcters. Avui dia, es pot dir que la taxa d'ús de contrasenyes d'aquesta longitud és baixa. Per tant, segons l'escenari d'ús del sistema desenvolupat, caldrà trobar un terme mitjà que sigui acceptat pels usuaris. per millorar la seguretat de la seva contrasenya .

Un últim suggeriment per als desenvolupadors és comprovar no només la longitud mínima sinó també la longitud màxima de les entrades que arriben a través dels formularis que heu presentat a l'usuari. Especialment quan activeu l'ús d'un algorisme hash de càlcul lent com ara Bcrypt per a finalitats de seguretat, podeu trobar alguns riscos si no controleu la longitud màxima de la contrasenya introduïda per l'usuari. Per exemple, els atacants poden realitzar atacs provant desenes de contrasenyes de 100 mil caràcters alhora amb algunes sol·licituds especialment preparades. En aquest cas, és molt probable que el vostre sistema no respongui a altres usuaris.

Assessorament als usuaris finals

Feu que la vostra contrasenya tingui un mínim de 12 caràcters i assegureu-vos d'incloure combinacions de lletres majúscules i minúscules, números i símbols. No oblideu mai que els sistemes que emmagatzemen la vostra contrasenya poden ser piratejats i la vostra informació es pot abusar. No podeu saber quins algorismes utilitza un sistema per xifrar la vostra contrasenya, de manera que depèn de vosaltres prendre precaucions i crear contrasenyes fortes.