Resum Tema 3 - Autenticació [65984] | Garantia de la Informació i Seguretat (UAB) | Unybook
Resum Tema 3 - Autenticació (2016)
Resum Tema 3 - Autenticació
Garantia de la Informació i Seguretat TEMA 3 – AUTENTICACIÓ 1. AUTENTICACIÓ Definició. Procés per verificar la identitat o altres atributs a una entitat (usuari, procés o dispositiu), o verificar la font i integritat de les dades.
Tipus d’autenticació. Segons el que l’entitat: - Sap: passwords, clau privada...
- Té: distintiu, smartcard, clau física...
- És: empremta dactilar (fingerprint), reconeixement de veu, de retina...
També segons on estigui: proximitat a un dispositiu, posició GPS, geolocalització per l’IP.
L’autenticació es pot basar en un (single factor) o més d’un factor (multiple factor).
2. PASSWORDS Password. Dada secreta, normalment un string, que s’utilitza per l’autenticació d’informació.
Com guardem els passwords? - En clar (normalment no serà així).
- Hash. Consisteix en utilitzar una funció hash (que és pública) per guardar les contrasenyes. L’objectiu serà dissenyar una funció que tingui un cost relativament alt en temps, no un simple MD5.
- Hash + Salt. Salt és un string aleatori que s’afegeix a la contrasenya de la següent forma: Si tenim un usuari U1 amb una contrasenya P1 i un string aleatori salt S1 farem: y1 = h(P1, S1) i per aquest usuari guardarem: U1 : (S1, Y1), és a dir, guardarem també el salt.
PASSWORDS A LINUX - Es guarden a /etc/passwd o /etc/shadow.
El format és el següent: $id$salt$encrypted-pass Tipus de funció hash: ID 1 2a 5 6 Tipus MD5 El salt pot ser de fins a 16 bits Codificació base64 del hash final (diverses iteracions) Blowfish SHA-256 SHA-512 Xavier Molina Mesures de salt i password segons el tipus de funció hash: ID 1 Tipus Salt Password encriptada MD5 8 caràcters 22 caràcters 16 caràcters 16 caràcters 43 caràcters 86 caràcters (diverses iteracions) 5 6 SHA-256 SHA-512 Per crear una contrasenya SHA-512 a Linux faríem: mkpasswd -m sha-512 <password> <salt> (podem especificar el número d’iteracions amb –R) PASSWORDS A WINDOWS Es guarden a C:\Windows\System32\config\SAM o HKEY_LOCAL_MACHINE\SAM.
La funció hash utilitzada és LM (Lan Manager) basada en DES o NTLM (NT LAN Manager) basada en MD4. No s’utilitza salt.
ATACS BÀSICS N’hi ha de 3 tipus: - Atac per força bruta.
- Atac de diccionari. El diccionari serà una llista de paraules, i es basarà en anar provant repetidament per esbrinar la contrasenya. Estaran ordenades de més a menys probabilitat d’èxit.
Problema: ⬆ temps.
- Atac de diccionari pre-computat (pels hashos). Exemple: password aaa bbb ccc ...
MD5 47bce5c74f589f4867dbd57e9ca9f808 08f8e0260c64418510cefb2b06eee5cd 9df62e693988eb4e1e1444ece0578579 … Per tant, per esbrinar la contrasenya s’haurà de mirar la taula.
Problemes: Dificultat amb SALT i necessitem molt espai.
Solució pels problemes d’espai  RAINBOW TABLES.
(Exemple de Rainbow tables fet a problemes) Problemes i solucions de les Rainbow tables - Pot haver bucles infinits a les cadenes.
Solució. Utilitzar diferents funcions R en - Pot haver cadenes amb el mateix cada columna.
element final (col·lisions).
Per evitar que s’utilitzin Rainbow Tables  Utilitzar SALTs grans i aumentant el temps que es triga en fer el hash d’un password.
Xavier Molina CÀLCUL DE LA PROBABILITAT D’ENCERTAR LA CONTRASENYA Fórmula d’Anderson 𝑻∗𝑮 𝑷≥ 𝑵 Exemple: - Alfabet de 96 caràcters.
- Password de 6 caràcters.
- G=104 intents per segon.
- Atac durant 1 mes.
G – número d’intents / segon T – durada de l’atac en segons N – número de passwords (𝟑𝟎 ∗ 𝟐𝟒 ∗ 𝟔𝟎 ∗ 𝟔𝟎) ∗ 𝟏𝟎𝟒 𝑷≥ = 𝟎. 𝟎𝟑𝟑𝟏𝟏𝟑𝟔𝟗 𝟗𝟔𝟔 Problemes de la fórmula: - Dona per suposat que el temps d’intent és constant (raonable).
- Totes les contrasenyes con equiprobables (no és raonable).
PASSWORDS GRÀFIQUES Un dels problemes de les contrasenyes en text és que són difícils de recordar, per això apareix una alternativa, les contrasenyes gràfiques. N’hi ha de 3 tipus: 1. Recall-based (basades en recordar).
Esquema Pass-Go DAS (Draw A Secret) Android Variants: - BDAS (amb fons) - YAGP - Passdoodle (sense quadrícula) On la contrasenya es guardaria com: (4; 8); (4; 7); (4; 6); (4; 5); (0; 0); (4; 6); (5; 6); (5; 5); (6; 6); (0; 0); (7; 7); (0; 0);(7; 6); (7; 5); (0; 0) Mínim s’han de connectar 4: 389112 possibilitats On 0,0 significa que s’ha aixecat el llapis 2. Recognition-based (reconeixement). Alguns exemples són: Passfaces Déjà Vu Xavier Molina Es preseleccionen una sèrie d’imatges Són més difícils d’escriure i compartir (imatge 1) i durant el login es presenta un només descrivint-les.
3. Cued-recall-based (reconeixement amb pistes). També s’anomenen “click-based graphical passwords” i consisteixen en recordar una sèrie de punts en una imatge, per exemple.
3. BIOMETRICS Definició. És la ciència de verificar i establir la identitat de un individu a través d’especificacions fisiològiques o tractaments del comportament.
Físics: empremta dactilar, patró de l’iris, ADN...
Comportament: escriptura, signatura, veu...
Els sistemes biomètriques son en molts casos problemes de reconeixement de patrons.
Per introduir les dades a una BD: 1. S’extrauen propietats (T1) amb un sensor biomètric.
2. S’introdueixen a la BD.
Per autenticar-se: 1. S’utilitza el sensor biomètric per extraure propietats (T2).
2. Es fa Matching entre aquestes propietats i les que tenim a la BD (S(T1,T2)).
3. Tindrem definit un llindar (threshold) que ens dirà si aquestes propietats coincideixen. Si S(T1,T2) > Threshold llavors considerem que sí coincideixen.
Ens podem trobar amb 4 situacions diferents: - True positive. L’usuari registrat aconsegueix entrar.
- True negative. Algú que no està registrat intenta accedir però no ho aconsegueix.
- False positive. Algú que no està registrat aconsegueix entrar.
- False negative. L’usuari està registrar però no aconsegueix entrar.
Volem intentar reduir les dues últimes situacions. Si augmentem la precisió del sensor aconseguirem reduir els falsos positius però també augmentarem els falsos negatius. Per tant, com calibrem la precisió? Una bona idea és calcular la taxa de falsos positius i falsos negatius: Xavier Molina False Rejection Rate 𝐹𝑅𝑅 = False Acceptance Rate # 𝐹𝑎𝑙𝑠𝑜𝑠 𝑛𝑒𝑔𝑎𝑡𝑖𝑢𝑠 # 𝑢𝑠𝑢𝑎𝑟𝑖𝑠 𝐹𝐴𝑅 = # 𝐹𝑎𝑙𝑠𝑜𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑢𝑠 # 𝑎𝑡𝑎𝑐𝑎𝑛𝑡𝑠 El punt on FAR i FRR són iguals s’anomena CER (Crossover Error Rate), i serà una bona referència a l’hora de definir el Threshold.
RECOMANACIONS - FAR i FRR petits.
- Temps de verificació inferior a 1 segon.
- Cost dels sistemes i mida de la plantilla petits.
- Mantenir integritat de la BD (s’ha d’anar renovant).
- Prendre mesures per evitar trampes.
4. TOKEN-BASED AUTHENTICATION TARJETES Podem tenir targetes de memòria que emmagetzemen dades (targetes amb banda magnètica, targeta d’hotel...), però també existeixen les Smart Cards que a més a més poden processar dades i utilitzar protocols d’autenticació.
Normalment s’utilitzen amb autenticació de 2 factors, és a dir, s’acompanya d’un altre mètode d’autenticació, com un PIN.
Exemple bàsic d’autenticació amb criptografia de clau pública.
Font: Levente Buttyan ONE TIME PASSWORDS (OTP) Xavier Molina Consisteixen en un generador de seqüencies de contrasenyes al token i l’altre sistema de manera sincronitzada. Hi ha de dos tipus: - Tokens basats en comptador. En aquest cas el codi es fa apartir d’una seed secreta i un comptador utilitzant HTOP basat en HMAC OTP.
- Tokens basat en rellotge. El token mostra un codi temporalment, i el codi anterior s’accepta també. El rellotge del token i del servidor han d’estar sincronitzats. S’utilitza actualment en alguns bancs.