CardioID: Dimmi come batte il tuo cuore e ti dirò chi sei! Autori: Mattia Borgna, Andrea Domenico Mourglia, Filippo Pairotti Responsabili: Prof. Giacinto Luigi Cerone, Prof. Andrea Bottin V Elettronica, Istituto Internazionale Edoardo Agnelli di Torino Corso Unione Sovietica, 312, 10135 Torino Tel: 011 619 8311 e-mail: segreteria@istitutoagnelli.it L obiettivo del progetto CardioID è quello di creare un dispositivo che permetta l autenticazione di più individui tramite il loro segnale elettrocardiografico. Questo sistema è applicabile in tutti gli ambiti dove la sicurezza per gli accessi ad aree riservate è di massima priorità (come basi militari, caveau, ospedali ecc.). 1 - INTRODUZIONE Il crescente sviluppo delle tecnologie informatiche negli ultimi vent anni ha pervaso ogni aspetto della vita umana. I dati relativi alla salute o quelli che riguardano le condizioni economicofinanziarie di ogni essere umano sono interconnessi tramite la rete internet e devono essere protetti attraverso algoritmi criptografici che ne consentano lo scambio in modo sicuro. Per questo motivo, sono necessarie chiavi di accesso (password) difficilmente riproducibili e intrinsecamente legate all identità del soggetto. Ad oggi, i sistemi di autentificazione degli utenti sono basati principalmente su: Password basate su qualcosa che l'utente possiede (come dispositivi RFID, card magnetiche); Password basate su stringhe alfanumeriche che l'utente conosce (password della mail ecc.). Entrambe le tipologie di sistema non garantiscono la massima sicurezza in quanto le credenziali possono essere facilmente rubate o duplicate. CardioID è un dispositivo capace di riconoscere l identità di una persona attraverso l analisi del segnale elettrocardiografico (ECG) ovvero il segnale elettrico generato dal cuore durante una contrazione. L ampiezza massima del segnale ECG è compresa tra 1 mv a 2 mv. Inoltre, i disturbi di natura elettromagnetica che ci circondano, dovuti ad esempio all interferenza causata dalla rete elettrica domestica o dalle lampade a Neon, possono essere circa tre ordini di grandezza superiori (1-2V). Al fine di prelevare il segnale ECG (prima derivazione) è necessario disporre di due elettrodi collocati sui polsi ed una catena di acquisizione analogica progettata in modo che attenui i disturbi non dovuti al segnale e ne amplifichi le porzioni significative. 1
2 IL PROGETTO La Figura 1 schematizza il sistema oggetto di studio. Esso è composto da un modulo, chiamato Sensor Unit ed un dispositivo mobile (Smartphone o Tablet). Figura 1 Schema a blocchi del Sistema sviluppato. I due elettrodi sono posizionati sui polsi del soggetto in modo da rilevare il suo segnale ECG. La sensor unit (b) è responsabile dell acquisizione, del campionamento e della trasmissione del segnale su un dispositivo esterno come un tablet (c) o uno smartphone. L app, installata su questo dispositivo, tramite un algoritmo è capace di riconoscere l identità del soggetto. In Figura 2 è rappresentato lo schema a blocchi del modulo Sensor Unit. La Sensor Unit è composta da un front-end analogico che amplifica e condiziona il segnale ECG prelevato attraverso una coppia di elettrodi, un microcontrollore ed un modulo Bluetooth. Figura 1 - Sensor Unit sviluppata nell'ambito del progetto. La Sensor Unit è composta da un front-end analogico a due canali per amplificare e condizionare il segnale ECG prelevato in modalità singolo differenziale, un microcontrollore MSP430F5438A ed un Bluetooth HCI controller CC2564B per la trasmissione dei segnali. 2
Il front-end ECG si occupa di: Amplificare il segnale ECG prelevato in modalità singolo differenziale (guadagno in banda passante pari a 58 db); Filtrare il segnale prelevato utilizzando un filtro passa-banda del primo ordine avente banda passante compresa tra 0.1 Hz e 100 Hz; Attenuare i disturbi di modo comune dovuti alla presenza di interferenza di rete a 50 Hz; Attenuare la trasformazione di disturbi di modo comune in modo differenziale dovuti allo sbilanciamento di impedenza tra gli elettrodi. Il microcontrollore si occupa di: Campionare alla frequenza di 2kHz e con risoluzione pari a 16bit il segnale ECG amplificato e filtrato attraverso il front-end analogico; Organizzare i dati in pacchetti di campioni; Trasmettere il pacchetto dati mediante il modulo Bluetooth. L analisi della letteratura ha evidenziato diversi algoritmi di riconoscimento biometrico basati sul segnale ECG. Tutti questi algoritmi possono essere suddivisi in due classi principali; 1. Algoritmi basati sul riconoscimento di punti fiduciari (o fiducial). Sono algoritmi che identificano porzioni significative del segnale ECG (ad esempio il complesso QRS) o il picco dato dall onda R e identificano la persona analizzandone le differenze; 2. Algoritmi che non utilizzano punti fiduciari. Questi algoritmi analizzano l intero tracciato ECG ed estraggono indici che descrivono in maniera complessiva il segnale registrato. Considerando i fini del progetto, la seconda tipologia di algoritmo è risultata quella più opportuna poiché facilita l acquisizione del segnale (il soggetto non deve avere particolare attenzione nel posizionare gli elettrodi e nell acquisire il segnale ECG). L algoritmo implementato si basa su quello proposto da Kostantinos et al. La Figura 3 descrive l algoritmo di riconoscimento implementato. Il segnale ECG acquisito mediante il sistema elettronico descritto in precedenza, viene filtrato mediante un filtro digitale passa-banda con banda passante compresa tra 0.1 Hz e 40Hz in modo da isolare le componenti frequenziali legate al complesso QRS del segnale ECG. Successivamente vengono calcolate in successione la sequenza di autocorrelazione sul segnale filtrato e la trasformata coseno discreta. Il riconoscimento dell identità viene effettuato calcolando ed individuando la minima distanza euclidea normalizzata tra i campioni del segnale DCT e quelli memorizzati nel database interno al programma (che fungono da password e sono stati acquisiti al primo utilizzo dell applicazione da parte del soggetto). 3
Figure 3 Diagramma a blocchi del riconoscimento del soggetto. I blocchi verdi rappresentano la procedura di acquisizione del soggetto che salva l individuo nel database. I blocchi gialli rappresentano la procedura di riconoscimento del soggetto che verifica l identità dell individuo, precedentemente registrato. I blocchi blu rappresentano le operazioni matematiche che permettono al sistema di calcolare la minima distanza tra i dati DCT salvati nel database e quelli che vengono registrati al momento dell autenticazione. Il valore minimo rappresenta il soggetto. 3 RISULTATI Il sistema completo (Figura 4) consta di una Sensor Unit incapsulata in un case a forma di orologio che è stato progettato e realizzato con tecniche di stampa 3D. Il modulo ricevitore è costituito da un qualsiasi tablet con sistema operativo Android. Al fine di poter ricevere il segnale ECG trasmesso è stato implementato un software scritto nel linguaggio di programmazione Java utilizzando le librerie Andoird. Il software, svolge le seguenti funzioni: 1. Abilita, se necessario, la connessione Bluetooth sul tablet; 2. Visualizza il segnale ECG ricevuto; 3. Memorizza in un database le informazioni necessarie al riconoscimento dei soggetti; 4. Esegue l algoritmo di riconoscimento e ne mostra il risultato; 5. Se viene riconosciuto un utente, esegue l accesso alla sua area personale. Figure 4 Sviluppo case (a) e Prototipo PCB (b). Primo prototipo (c) e prodotto finale simile a smart-watch (d). Le clip degli elettrodi sono posizionati sui due lati dell orologio. La schermata principale del software è mostrata in Figura 5. 4
Figura 5 Screenshots dell applicazione CardioID. Per testare la funzionalità dell algoritmo di riconoscimento è necessario disporre di alcuni segnali ECG di prova. Tali segnali sono stati ricavati dal database In questo database è consigliato di utilizzare MATLAB per leggere i file ed eseguire le simulazioni. L algoritmo di riconoscimento è stato testato in ambiente Matlab utilizzando 20 segnali provenienti dal database physionet PTB https://physionet.org e successivamente implementato in ambiente Android. 4 - CONCLUSIONE CardioID è un progetto che nasce dalla passione dei tre componenti del gruppo e del corpo docente per il tema della Bioingegneria ed in particolare per i segnali elettrofisiologici come il segnale elettrocardiografico. I campi di utilizzo di questo apparato possono essere molteplici: dal settore della difesa a quello scientifico. Utilizzando questo dispositivo si potrebbe eliminare la necessità di ricordarsi a memoria una password per l accesso ad un servizio o di portare sempre con sé eventuali card o chiavi. Il sistema risulta particolarmente adatto al controllo dell accesso a zone riservate e altamente sensibili come archivi, camere blindate, depositi e laboratori. Questa tecnologia di identificazione potrebbe essere affiancata a dispositivi che già utilizzano altri segnali biometrici (impronta digitale) in modo da creare un sistema innovativo e sicuro di autenticazione multifattoriale. 5