Sfondo
Stiamo progettando un sistema di test basato sul computer in cui gli esaminatori utilizzano i propri computer per scrivere le loro risposte. I computer degli esaminati vengono avviati su un sistema operativo Linux personalizzato da unità USB fornite dall'esaminatore.
Le unità USB utilizzate per avviare i computer degli esaminandi contengono esattamente la stessa immagine del sistema operativo.
L'esame è fornito da un server centrale e le risposte vengono trasferite al server centrale mentre vengono scritte. Tutti i computer coinvolti sono in una LAN chiusa.
Il sistema deve supportare il ripristino dell'esame dallo stato più recente trasferito al server in caso di guasto hardware. L'unità USB utilizzata come memoria permanente può potenzialmente guastare, così come il computer portatile del candidato.
Le identità degli esaminati sono verificate da persone fidate ad un certo punto dell'evento (prima, durante o dopo che gli esaminati sostengono l'esame). La verifica dell'identità dovrebbe causare un'interruzione minima per gli esaminati e un lavoro minimo per le persone di fiducia. Ci possono essere fino a un centinaio di persone che sostengono l'esame nello stesso spazio con circa una persona fidata per ogni 20 esaminandi.
Design attuale
Il nostro attuale design è di generare un token strong sul computer del candidato quando il candidato avvia l'esame. Il token verrebbe calcolato utilizzando l'SSN fornito dall'esaminato e alcuni UUID hardware (CPU, unità USB). Questo token verrebbe memorizzato sull'unità USB. Quando l'esaminatore termina l'esame, passa l'unità a una persona fidata. La persona fidata quindi, utilizzando un computer dedicato, verificherà l'identità dell'esaminato e il token memorizzato sull'unità rispetto al token memorizzato sul server centrale.
I professionisti di questo design sono che è facile per un gruppo di candidati iniziare l'esame e la verifica è un'attività di sola lettura alla fine dell'esame. Questo design ha almeno una debolezza: nel caso in cui l'hardware utilizzato per i token di due o più esaminati si rompa contemporaneamente, non è più possibile verificare chi ha in mano quale dispositivo. Ad esempio, una sovratensione potrebbe causare la rottura di più laptop e unità nello stesso momento.
Domanda
Quali altri vettori di attacco vengono in mente e come potrebbero essere mitigati? Qualche alternativa migliore?