Login sul WEB con un Pulsante – Prima Parte

0

di Antonello Della Pia

Un dispositivo delle dimensioni di una chiavetta USB, che tramite un unico pulsante ed un firmware personalizzabile, ricorda ed inserisce per noi le credenziali di accesso (nome utente e password) ai siti e servizi Internet preferiti.

Oggigiorno Internet ed il Web ci mettono a disposizione una quantità di informazioni e servizi ai quali è ormai impossibile rinunciare. Un aspetto critico emerso quasi subito e rivelatosi di importanza sempre maggiore è la riservatezza e la protezione dei dati personali degli utilizzatori della rete. Ci si è accorti ben presto che sia un banale scambio di messaggi personali quanto una transazione economica internazionale, se intercettati dalle persone sbagliate, potevano provocare danni anche gravi ai soggetti interessati. Si è reso necessario quindi studiare ed applicare molteplici livelli di sicurezza e di protezione alla rete ed il primo di questi, che permette all’utente finale di accedere in sicurezza alla stragrande maggioranza dei servizi, è l’autenticazione tramite nome utente e password.

Una password sicura tuttavia rischia di essere complessa e quindi difficile da ricordare, se rispetta le linee guida che ormai tutti dovremmo conoscere. Alzi la mano invece a questo punto, chi non ha mai usato i nomi dei figli, dell’animale domestico, la data di nascita come password o peggio di tutto, la stessa password per tutti i servizi!

Il dispositivo che propongo può secondo me contribuire in modo significativo a liberarci dall’incubo e dalla schiavitù di avere password efficaci perché …. le ricorda al posto nostro!

Dall’idea alla realizzazione

Navigando in rete possiamo constatare come il problema delle password sia stato già affrontato in vari modi e con proposte più o meno complesse a livello software, hardware, misto o con servizi dedicati. Soluzioni che non hanno trovato però, a mio parere, la diffusione che ci si poteva attendere ed ognuna, come spesso accade, con pro e contro.

Come autocostruttore, era mia intenzione realizzare qualcosa di semplice, personalizzabile, con un valore anche didattico, comprensibile e replicabile da altri appassionati. L’ispirazione è venuta da un esempio di tastiera virtuale USB riportato sul noto sito Adafruit (1). Per chi non lo conoscesse, potrei descriverlo come “il paradiso del Maker”, potendovi trovare un assortimento incredibile di componenti, moduli, accessori, board, quasi sempre corredato da esempi di applicazione, librerie e tutorial utilissimi. Nel nostro caso, per la piccola board Trinket, basata sul microcontroller ATtiny85,  viene fornito un esempio (completo di libreria liberamente scaricabile ed utilizzabile) di periferica USB HID (Human Interface Device) capace di inviare ad un PC una sequenza di tasti prestabilita, da codice, emulando una comune tastiera (2). Da qui a pensare di inviare al computer la sequenza composta da nome utente, password, tasti Tab e Invio e compilare quindi automaticamente un form di login, il passo è stato breve!

Per rendere l’articolo più scorrevole, ho pensato di rivolgermi in prima battuta agli appassionati più esperti e smaliziati, ai “duri” cioè, che chiedono solo uno schema, un elenco componenti, il firmware e sanno già cosa farne. Successivamente, in un riquadro apposito, cercherò di approfondire gli aspetti meno scontati, così da dare anche una valenza didattica al progetto e mettere in condizioni di realizzarlo anche chi si fosse limitato finora al solo uso “classico” dell’ambiente Arduino.

La parte hardware

Trinket si potrebbe definire come una micro scheda Arduino compatibile. La sua caratteristica più interessante è la possibilità di dialogare con un PC tramite porta USB. Il protocollo USB si avvale in questo caso dell’implementazione cosiddetta firmware-only V-USB, un progetto ingegnoso e poco conosciuto, che permette di aggiungere l’ormai universale interfaccia USB  anche ai piccoli microcontrollori AVR di Atmel che ne sono sprovvisti a livello hardware.

Consiglio una visita al sito relativo (3) per ulteriori informazioni, dettagli e interessanti esempi di utilizzo di V-USB. Un’altra caratteristica peculiare di Trinket è il cosiddetto bootloader, cioè quella parte di firmware che, similmente ad Arduino, permette di caricare lo sketch direttamente dall’ambiente di programmazione (Arduino IDE), via USB. Noi non lo utilizzeremo in quanto soluzione proprietaria e caricheremo il nostro codice con un comune programmatore USBasp, come vedremo in seguito.

Riassumendo, non utilizzeremo per il progetto la scheda Trinket completa, ma il singolo microcontroller Attiny85, pochi componenti di contorno e la libreria TrinketKeyboard che grazie a V-USB ci permetterà di simulare una tastiera virtuale USB HID riconosciuta anche da Windows 10 senza bisogno di driver. In questa maniera, a fronte di un percorso un po’ più complesso, avremo la possibilità di personalizzare al massimo la realizzazione ed acquisire conoscenze utili anche per altri progetti che utilizzino microcontrollori in modalità stand-alone.

Figura 1: Il prototipo terminato su millefori

Il prototipo è stato realizzato, come mia abitudine, su basetta millefori, con forma e dimensioni che richiamano quelle di una chiavetta USB.

Tra i pochi componenti, tutti a foro passante, spiccano

Questi contenuti sono riservati agli utenti registrati. Effettua il login o registrati per poterli vedere.

Informazioni sull'autore

L'elettricità mi ha sempre attirato, da giovane dilapidavo la paghetta in batterie, lampadine e cavi elettrici, a undici anni ho chiesto in regalo il primo multimetro (un glorioso ICE analogico). Anche dopo il diploma di Perito Industriale Elettrotecnico e nonostante un successivo percorso professionale piuttosto eterogeneo, la passione per l'elettronica è rimasta una costante, arrivando nel tempo a comprendere l'interesse per audio e diffusori, misure elettroacustiche, circuiti di alimentazione e amplificatori, circuiti analogici e digitali a componenti discreti, amplificatori operazionali, tubi termoionici, uso di strumentazione e misure di laboratorio, fino ad arrivare, di recente, al "morbo" della breadboard, dei microcontrollori e relativa programmazione. Insomma, tutto il classico repertorio del saldatore-dipendente! Strada facendo si è inoltre inserita prepotentemente la passione per l'informatica (sfociata poi in sedici anni di attività professionale), che ha rappresentato la quadratura del cerchio, grazie alle risorse quasi infinite improvvisamente disponibili per un appassionato come me. Basti pensare alla reperibilità di componenti e informazioni, alla possibilità di studiare ed applicare diversi linguaggi di programmazione, di disporre di un laboratorio di misura anche virtuale a costi accessibili, alla potenza e comodità dei simulatori, alla attuale realtà dell'Internet of Things. Credo quindi, attualizzando il concetto, di potermi definire un "maker" di 55 anni, senza pretese di genialità, ma con interessi e competenze in diversi ambiti, specialmente pratiche, acquisite essenzialmente da autodidatta. Quando non mi occupo di elettronica, mi piace leggere (soprattutto narrativa, preferibilmente di autori italiani), ascoltare musica (quasi esclusivamente inglese, di artisti fuori dal circuito commerciale), andare in bici, camminare.

Nessun commento su "Login sul WEB con un Pulsante – Prima Parte"

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.