Construeix un USB U2F segur: guia DIY per a claus d´autenticació

  • Les claus U2F/FIDO2 aporten un segon factor físic molt resistent al phishing gràcies a la criptografia de clau pública.
  • És possible utilitzar un pendrive comú com a clau local de bloqueig, encara que no substitueix un token U2F dedicat i certificat.
  • Serveis com Google, GitHub o Dropbox permeten registrar claus USB de seguretat com a mètode principal de verificació en dos passos.
  • Al voltant de les claus sorgeixen nombrosos dispositius i projectes DIY que reforcen privadesa, xifrat i seguretat de xarxa.

Construeix un USB U2F segur: guia DIY per a claus d´autenticació

Si et preocupa la seguretat dels teus comptes en línia i et ve de gust trastejar una mica amb tecnologia, crear la teva pròpia clau USB de seguretat pot ser un projecte tan entretingut com útil. Avui veureu com passar d'un simple pendrive corrent, amb eines com Rufus i Ventoy , a una clau d'autenticació forta basada en U2F o en mecanismes equivalents , entenent abans què és exactament el que fa segura a una clau d'aquest tipus i quines limitacions té l'opció DIY davant del maquinari professional.

Al llarg de l'article repassarem què és una clau de seguretat USB i l'estàndard U2F/FIDO, quines alternatives comercials existeixen, com funcionen per dins, i diverses formes de convertir un USB normal en una clau de bloqueig, inici de sessió o segon factor usant programari en Windows, Linux i altres sistemes. També veuràs projectes de codi obert i dispositius paranoics molt curiosos per portar la teva ciberseguretat al nivell següent.

Què és una clau de seguretat USB i per què és més segura

Quan inicies sessió en un servei online el més habitual és utilitzar correu electrònic i contrasenya com a primer factor . El problema és que les contrasenyes es roben, es reutilitzen i s'endevinen amb més facilitat de la que ens agradaria, de manera que des de fa anys es recomana activar la verificació en dos passos (2FA) o autenticació multifactor (MFA).

Aquest segon pas sol arribar en forma de codi per SMS, anomenada automàtica, app d'autenticació o notificació push . Tots milloren la seguretat, però molts s'han quedat curts davant d'atacs de pesca avançats, intercanvi de SIM o pàgines falses que capturen els teus codis en temps real.

Les claus físiques U2F i FIDO2 fan una volta de femella a aquest esquema: són petits dispositius USB, NFC o Bluetooth que realitzen un repte criptogràfic amb el servidor. En lloc d'introduir un codi, connectes la teva clau, toques un botó i el navegador completa de manera segura el segon factor. No hi ha res que puguis escriure malament, ni codi que algú et pugui robar enganyant-te amb una web falsa.

En el cas d'U2F, l'estàndard creat per la FIDO Alliance (amb Google i Yubico al capdavant) defineix com es genera un parell de claus, com es registra la clau a cada servei i com es realitza l' autenticació mitjançant criptografia de clau pública . La clau privada mai no surt del dispositiu, el servidor només guarda la clau pública i verifica firmes, cosa que redueix moltíssim la superfície d'atac.

A més, les claus ben dissenyades generen parells de claus diferents per servei , de manera que un proveïdor no pot fer servir la teva clau pública per rastrejar-te entre webs ni correlacionar els teus inicis de sessió.

tipus de claus usb u2f

Tipus de claus de seguretat: comercials vs DIY

Al mercat pots trobar dues grans famílies de dispositius: per una banda les claus comercials certificades U2F/FIDO2 , i per altra banda solucions casolanes o semi-DIY que converteixen pendrives, microcontroladors o fins i tot Raspberry Pi en claus de seguretat o dispositius de bloqueig.

Entre les comercials destaquen models com les YubiKey, la família Titan de Google, SoloKey, NitroKey, OnlyKey, LibremKey, Secalot o Thetis . Moltes suporten diversos protocols alhora: U2F/FIDO2 per a login web, OTP, targetes intel·ligents OpenPGP, administració de claus GPG, inici de sessió SSH, etcètera.

Aquestes claus es diferencien també pel tipus de connexió: hi ha versions amb USB-A clàssic, USB-C, formats nano que amb prou feines sobresurten del port, NFC per a mòbils, i fins i tot variants amb Bluetooth . La compatibilitat sol abastar Windows, macOS i Linux, i funcionen en navegadors que entenen FIDO U2F/FIDO2 com ara Chrome, Edge, Firefox i Safari recent.

Al costat DIY hi ha enfocaments molt variats. Alguns consisteixen a usar un USB convencional amb programari que bloqueja o desbloqueja el PC (per exemple USB Raptor, Predator, KeyLock o Logon Key), altres converteixen un microcontrolador tipus ESP8266 o una Raspberry Pi Zero en un autèntic token U2F, o fins i tot compartir el dispositiu usant VirtualHere , i altres et permeten muntar gestors propi.

Convé entendre bé que una clau de seguretat DIY basada només en programari no és el mateix que un token U2F dedicat . La primera depèn de la configuració del sistema, del teu disc i del teu USB, mentre que la segona porta un xip segur que protegeix la clau privada fins i tot davant malware o accés físic.

Com funciona U2F per dins: claus públiques i desafiaments

El cor de U2F i FIDO2 és a la criptografia de clau pública . Quan registres una clau a Google, Dropbox, GitHub, Facebook o un altre servei compatible, el dispositiu genera internament un parell de claus (pública i privada) diferent i exclusiu per a aquest lloc.

La clau privada es queda segellada dins la clau i no hi ha manera d'extreure-la sense trencar físicament el dispositiu, cosa que es dissenya precisament per ser inviable. El que el servidor emmagatzema és la clau pública, associada al vostre compte ia un identificador de la clau.

En iniciar sessió, després d'introduir usuari i contrasenya correctes, el servidor envia un desafiament al navegador, que passa a la clau connectada. Aquesta signa el desafiament amb la clau privada corresponent al domini , i torna la signatura. El servidor, amb la clau pública, verifica que tot quadra i completa l'autenticació.

Si un atacant intenta repetir la comunicació capturada, no serveix de res: el desafiament és únic cada vegada. Si intenteu registrar la vostra clau en un domini fals, la pròpia especificació impedeix que la signatura sigui reutilitzable en una altra web, reduint al mínim la possibilitat de pesca, fins i tot encara que us enganyin per visitar una URL que sembla autèntica.

Un altre avantatge important és que la clau mai revela la teva clau privada ni secrets reutilitzables . Només lliura signatures específiques per a cada repte, per la qual cosa fins i tot un servidor compromès no es podria fer amb un material que li permeti suplantar la teva clau en altres serveis.

projecte diy usb u2f

Crear una pseudo-clau amb un pendrive normal (enfocament programari)

Si el que busques és una mica ràpid per bloquejar i desbloquejar el teu ordinador usant un USB convencional , pots recolzar-te en programari que converteix un pendrive en una mena de clau local: mentre l'USB està connectat, l'equip funciona; si el retires, es bloqueja.

A Windows un dels programes més populars és USB Raptor , un projecte de codi obert que xifra un fitxer “k3y” a la teva memòria USB i monitoritza la seva presència. Quan activeu el sistema, si el fitxer no està disponible, la sessió es bloqueja automàticament.

El procés bàsic amb USB Raptor consisteix a descarregar l'executable, descomprimir-lo, connectar el pendrive que utilitzaràs com a clau i executar USB Raptor.exe per generar la contrasenya i el fitxer k3y . Després marqueu l'opció d'activar el sistema i configureu que s'iniciï amb Windows perquè el bloqueig sigui efectiu des de l'arrencada de sessió.

Programes com Predator o KeyLock operen amb una lògica similar: vinculen un identificador únic de l'USB amb la sessió i, si el dispositiu desapareix del sistema, activen el bloqueig. És còmode per a ordinadors de sobretaula o portàtils dús personal, i pot complementar-se amb dreceres per bloquejar Windows ràpidament , encara que cal recordar que no es tracta dun segon factor criptogràfic per a serveis web, sinó duna protecció local.

En macOS hi ha solucions com Logon Key o USB Lock que permeten utilitzar un USB com a clau d'inici de sessió o de bloqueig de pantalla . Un cop més, el principi és el mateix: la presència física de l'USB en un port concret es converteix en una condició necessària per mantenir la sessió activa.

Donar el salt a U2F real a Linux amb YubiKey o altres claus

Si vols ficar-te en farina i utilitzar U2F com a segon factor per a inicis de sessió de sistema (TTY, sudo, SSH, GDM, etc.) , a Linux pots recolzar-te en el mòdul PAM d'U2F, molt popular amb claus com YubiKey 4 i models posteriors, així com amb altres tokens compatibles amb l'especificació de la FIDO.

El flux típic passa per instal·lar el paquet corresponent (per exemple libpam-u2f des dels repositoris ), i després registrar les claus en un fitxer de configuració que PAM utilitzarà per associar comptes locals amb dispositius físics concrets.

Amb eines com pamu2fcfg generes les associacions: insereixes la teva clau, executes la comanda, toques el dispositiu quan parpelleja i redirigeixes la sortida a un fitxer tipus /etc/u2f_keys. és recomanable registrar almenys dues claus de seguretat, una principal i una altra de respatller, per si perds o es fa malbé la primera.

El pas següent és modificar els fitxers de PAM. Per exemple, pots començar aplicant U2F únicament a sudo, afegint una línia com auth required pam_u2f.so authfile=/etc/u2f_keys sota la inclusió de common-auth. Així proves que tot funciona: sense la clau inserida, sudo falla després de la contrasenya; amb ella, et demanarà tocar el dispositiu i, si tot va bé, executarà la comanda.

Un cop comprovat, pots portar aquesta mateixa configuració a common-auth oa altres serveis PAM perquè tota autenticació de sistema requereixi la clau. Opcions com nouserok permeten que comptes sense clau associada segueixin entrant només amb contrasenya, cosa útil per no deixar-te fora si oblides configurar-ho per a determinats usuaris.

Compatibilitat de les claus U2F amb serveis online i navegadors

La utilitat pràctica d'aquestes claus es multiplica quan les integres amb serveis en línia que suporten U2F o FIDO2 . Avui dia Google, GitHub, Dropbox, Facebook, Twitter, Nextcloud i moltes altres plataformes permeten registrar una clau física com a mètode preferent de verificació en dos passos.

En l'àmbit dels navegadors, el suport és força ampli. Chrome i altres navegadors basats en Chromium porten temps oferint compatibilitat nativa amb FIDO U2F/FIDO2 . Firefox també va incloure suport, primer via complement i després integrat, mentre que Safari s'ha anat posant al dia a les versions recents de macOS.

En sistemes operatius descriptori, les claus funcionen en Windows 10 i posteriors, macOS modern i la majoria de distribucions Linux , sempre que el navegador entengui lestàndard. En mòbils, podeu utilitzar claus amb NFC o USB‑C juntament amb navegadors compatibles i apps que s'integrin amb l'API de WebAuthn.

Cada fabricant indica a la seva fitxa de producte la matriu de compatibilitat, perquè no tots els models suporten els mateixos protocols ni les mateixes plataformes . Abans de comprar, val la pena revisar què vols protegir (comptes Google, GitHub, logins Windows, SSH, correu xifrat…) i triar el dispositiu en conseqüència.

Exemple pràctic: registrar una clau FIDO U2F al vostre compte de Google

Configurar una clau de seguretat amb Google és un procés ràpid que permet que el teu USB es converteixi en el segon factor principal per entrar a Gmail i la resta de serveis associats . El procediment, amb variacions mínimes, és semblant en altres proveïdors que implementen la mateixa tecnologia.

El primer pas és comprar una clau compatible amb U2F o FIDO2. Un cop la tinguis, accedeix al teu compte de Google > Seguretat > Verificació en dos passos . Si encara no la teniu activa, el sistema us demanarà configurar un mètode inicial (per exemple SMS o app d'autenticació).

Quan tingueu 2FA habilitat, en aquesta mateixa pantalla trobareu l'opció d' afegir una clau de seguretat . Clica-hi, segueix les instruccions de l'assistent, connecta la clau quan t'ho demani i, si el teu model porta botó, toca-la quan la llum parpelleja.

A claus sense botó físic el flux pot consistir a retirar i tornar a inserir el dispositiu per completar el registre. En acabar, veureu la clau llistada com a mètode de verificació addicional, i en els propers inicis de sessió Google us demanarà connectar-la per completar l'accés.

Si en algun moment ja no vols fer servir aquesta clau amb el teu compte, pots tornar a Verificació en dos passos i, des de la icona d'edició, retirar la clau associada . És bona idea mantenir sempre una altra opció de recuperació habilitada (una altra clau, telèfon, codis de seguretat) per no quedar-te bloquejat.

Avantatges i desavantatges davant d'altres mètodes 2FA

Al món real trobaràs diversos tipus de segon factor: SMS i trucades, apps d'autenticació, notificacions push i claus físiques . Cadascú té els seus pros i contres, i no és estrany combinar-los per a escenaris diferents.

Els SMS i les trucades són molt fàcils de fer servir i no requereixen instal·lar res, però avui es consideren un dels mètodes més febles: pateixen atacs d'intercanvi de SIM, redireccions de línia i phishing . Un atacant pot aconseguir que introdueixis el codi en una web falsa i, amb això, entrar al teu compte.

Les aplicacions tipus Google Authenticator o Authy generen codis TOTP offline i són més robustes que l'SMS, però continuen sent vulnerables al phishing: si introduïu el codi en una web maliciosa, l'atacant pot reutilitzar-lo immediatament.

Les notificacions push milloren l'experiència d'usuari, ja que només has d' acceptar o rebutjar un avís al mòbil , però no estan exemptes de riscos: si acceptes sense fixar-te o si l'atacant aconsegueix emular la interacció, podria superar aquesta capa.

Les claus U2F/FIDO2, en canvi, ofereixen una protecció molt alta contra el phishing , perquè el dispositiu signa desafiaments específics per al domini correcte i el navegador. No introduïu codis, no escriviu res reutilitzable i l'atacant necessita físicament la clau per progressar.

Què passa si perds la clau USB i com preparar-te

Una de les pors habituals en fer servir claus de seguretat físiques és: “què passa si la perdo?”. La resposta depèn de si has estat previsor, però tots els grans proveïdors de serveis en línia inclouen mecanismes de recuperació i claus de seguretat.

A Google i plataformes similars podeu associar més d'una clau al mateix compte. És altament recomanable registrar una segona clau com a còpia de seguretat i guardar-la en un lloc segur (una caixa forta, un sobre segellat, etcètera), o xifrar-la amb VeraCrypt . Així, si se't trenca la clau del clauer, sempre tens la de reserva.

A més de les claus, podeu configurar correus alternatius de recuperació, telèfons de seguretat i codis estàtics que us permeten recuperar l'accés en cas extrem. El procés sol ser més lent i amb comprovacions addicionals, precisament per evitar que qualsevol se salti la teva seguretat amb una simple trucada.

Si heu perdut una clau i encara teniu accés al compte amb un altre mètode, el més sensat és entrar com més aviat millor a la configuració de seguretat i revocar o eliminar el dispositiu perdut . D'aquesta manera, encara que algú ho trobi, no podreu registrar-lo ni usar-lo en nom vostre.

Altres dispositius i projectes DIY per elevar la teva seguretat

Si t'enganxa el tema de la seguretat física i la privadesa, al voltant de les claus U2F hi ha tot un ecosistema de gadgets i projectes DIY pensats per blindar la teva vida digital . Molts són barats i alguns es poden construir a casa amb maquinari senzill, i d'altres permeten crear un Live USB amb Tails per navegar sense ser rastrejat.

Un dels més útils quan viatges són els bloquejadors de dades USB . Es connecten entre el carregador i el cable del teu mòbil i deshabiliten les línies de dades, permetent només la càrrega elèctrica. Això evita atacs que aprofiten ports USB públics per injectar codi maliciós o robar informació.

També tens dispositius com bosses de Faraday, targetes de bloqueig RFID, cobertes de webcam, bloquejadors de micròfon i filtres de privadesa per a pantalles . Tots es basen en una idea simple: si no voleu que us espiïn, talleu les vies físiques d'entrada de dades o d'observació.

En l'àmbit de l'emmagatzematge pots recórrer a USB i discs externs amb xifratge de maquinari , molts amb teclat físic per introduir un PIN o amb certificacions com FIPS 140-2. I si prefereixes solucions low‑cost, VeraCrypt permet crear volums xifrats en gairebé qualsevol pendrive comercial.

Per a la part de xarxa hi ha un arsenal de firewalls i routers avançats (Firewalla, BitdefenderBox, InvizBox, Turris Omnia, Anonabox…), així com projectes DIY amb Raspberry Pi com Pi‑hole per bloquejar publicitat i rastrejadors a nivell de xarxa, PiVPN per muntar la teva pròpia VPN domèstica o.

Claus U2F, moneders de criptomonedes i maquinari especialitzat

El mateix concepte de mantenir les claus privades fora de l'abast de programari potencialment maliciós està darrere dels moneders de criptomonedes de maquinari com Trezor, Ledger o Prokey . Aquests dispositius guarden les claus en un entorn aïllat i signen transaccions sense exposar mai el secret a l'ordinador o al mòbil amfitrió.

Alguns fabricants han fet un pas més i ofereixen dispositius multifunció que combinen autenticador U2F, gestor de contrasenyes i moneder cripte en una sola clau (per exemple QUANTUM, Secalot, OnlyKey o certs models de NitroKey). En aquests casos convé revisar bé que el maquinari i el microprogramari siguin de codi obert o almenys auditats.

Si ets especialment gelós amb la teva privadesa, fins i tot pots construir solucions casolanes, com carteres d'emmagatzematge en fred en plaques metàl·liques, generadors de números aleatoris de maquinari (TrueRNG, FST‑01) o nodes complets de Bitcoin en una Raspberry Pi combinats amb billeteres maquinari.

Més enllà del món cript, trobaràs equips com PCs autodestructius tipus ORWL, telèfons reforçats com Librem 5 o terminals orientats a comunicacions xifrades, que demostren fins a quin punt es pot portar a l'extrem la seguretat física i lògica dels dispositius . No són imprescindibles per a l'usuari mitjà, però il·lustren bé el ventall de possibilitats.

Després de tot aquest recorregut, la idea que s'imposa és clara: combinar una bona higiene de contrasenyes amb claus de seguretat U2F o FIDO2, sistemes de doble verificació ben configurats i alguns dispositius físics clau marca una diferència enorme davant dels atacs actuals, i posar en marxa un projecte DIY amb un USB, una Raspberry Pi o una simple protecció de dades o un simple bloquejador de dades.

com utilitzar VeraCrypt per al xifratge de fitxers
Article relacionat:
Xifratge de fitxers i contenidors amb VeraCrypt

Afegir com a font preferida a Google