Scenario di sicurezza liquido

1

Sono parte di un piccolo team di sviluppatori universitari che seguono un corso sullo sviluppo di applicazioni Arduino e Raspberry Pi con particolare attenzione all'Internet of Things. Il nostro compito attuale è immaginare, progettare e implementare alcuni sistemi utili con i seguenti requisiti:

  1. Dobbiamo utilizzare un Raspberry Pi
  2. Dobbiamo utilizzare un sensore esterno o un attuatore in tandem con Raspberry Pi
  3. Dobbiamo implementare un sistema web che supporti in qualche modo il dispositivo fisico

Abbiamo deciso di utilizzare una valvola magnetica per impedire agli utenti non autorizzati di accedere a un liquido. I casi d'uso potrebbero includere la conservazione sicura di liquidi pericolosi o velenosi, impedire il furto di liquidi preziosi o impedire l'accesso all'alcol da parte di minori.

Per essere più specifici, abbiamo collegato il nostro Raspberry Pi alla valvola magnetica e ad un tastierino numerico. Quando si inserisce un determinato PIN, la valvola si apre temporaneamente per consentire il flusso di liquido e quindi si chiude dopo un determinato periodo di tempo. Questa configurazione è considerata un dispositivo.

Abbiamo sviluppato un sistema web che consente a un utente con uno di questi dispositivi di registrare un account con noi. Sono tenuti ad avere una chiave sul dispositivo per registrare un account. Una volta che il loro account con noi è stato creato, possono registrare dispositivi aggiuntivi se li hanno. L'utente stabilisce un PIN per ciascun dispositivo registrato attraverso il sistema web. Possono utilizzare il sistema web per cambiare la propria password per il proprio account Web, modificare i PIN per i propri dispositivi e visualizzare i registri segnalati ogni volta che si accede al proprio dispositivo.

Una volta che un utente ha uno di questi dispositivi e si è registrato online e ha stabilito un PIN, il dispositivo è pronto per erogare il proprio liquido. La valvola è collegata a un contenitore molto resistente che si blocca nel meccanismo, impedendo a un utente non autorizzato di rimuovere semplicemente il contenitore di liquido dal dispositivo. Supponiamo che la sicurezza fisica della valvola stessa, il contenitore e il meccanismo di blocco siano assicurati ai fini di questo scenario accademico.

Quando un utente desidera accedere al suo liquido memorizzato in modo sicuro, inserisce il PIN associato in un tastierino numerico collegato al Raspberry Pi. Il loro PIN viene sottoposto a hash e inviato tramite Internet al nostro server per il confronto con il PIN con hash memorizzato nel nostro database. Se il PIN è corretto, il server torna al dispositivo con un segnale di successo. Quando il dispositivo riceve un segnale di successo, la valvola viene aperta per un periodo di tempo fisso, impostata in modo che venga erogato un determinato volume di liquido prima che la valvola si chiuda nuovamente. Il server prende nota di quando si è verificata la richiesta corretta per scopi di registrazione.

Il mio problema è che la valvola viene aperta e chiusa con due semplici funzioni situate sul Raspberry Pi stesso. L'applicazione che abbiamo sviluppato per il controllo del dispositivo attende fino a quando non riceve il segnale di successo prima di aprire e chiudere la valvola, ma non so come impedire a un utente malintenzionato di scrivere la propria applicazione e di utilizzare queste due funzioni per aprire e chiudi la valvola.

Il Raspberry Pi ha sia una porta video che porte USB sul lato. Un utente malintenzionato che si trova da solo con il dispositivo potrebbe portare il proprio monitor e tastiera e collegarsi al Raspberry Pi ed eseguire un'applicazione che potrebbe chiamare le stesse funzioni che aprono e chiudono la valvola. Come posso evitare che ciò accada?

Ho bisogno che il Pi sia fisicamente protetto in modo che l'utente possa raggiungere il tastierino numerico, ma non il Pi stesso? C'è un modo per bloccare le porte disponibili? Qualche suggerimento su come gestire questa situazione sarebbe molto apprezzato. La sicurezza non è l'obiettivo principale di questo incarico, ma mi piacerebbe fare il meglio che posso.

    
posta Christian Westbrook 08.12.2018 - 17:57
fonte

1 risposta

2

A seconda del modello di minaccia è possibile aggiungere enclosure, allarmi, CCTV, controlli di accesso alla stanza, una guardia di sicurezza, ecc ... ma senza sapere cosa si vuole fare è difficile dire dove fermarsi.

Considererei sicuramente la sicurezza del Pi stesso - un contenitore metallico bloccato, fissato saldamente al muro / dispositivo renderà ogni attacco più duro / rumoroso / più ovvio. L'aggiunta di un allarme migliorerà anche questo.

Se riesci a trovare una custodia che incorpori una tastiera sicura (ad esempio una che è difficile da rompere e che sia a prova di manomissione) ti aiuterà a prevenire un attacco.

Le porte di tenuta possono essere d'aiuto, ma se un utente malintenzionato entra nel recinto, potrebbe accedere alle tracce sul PCB, quindi, sebbene abbia un certo valore deterrente, non lo consiglierei.

    
risposta data 08.12.2018 - 18:24
fonte

Leggi altre domande sui tag