Come codificare l'autenticazione dell'utente in un codice a barre

0

Mi è stato suggerito di postare qui da questa domanda in Super User SE. Quindi ecco la sua copia:

Mi viene chiesto di aggiungere la possibilità di eseguire la scansione di un codice a barre (su un badge) per autenticare gli utenti quando accedono alla mia app. In questo contesto, il mio cliente non ha uno standard (per il momento non usa badge), ma vorrebbe usare questi stessi codici a barre / badge per altre app. Ovviamente, non può essere codificato in modo "utente / separatore / password", perché questo mostrerà la password quando viene scansionato in un semplice editor di testo.

Ci sono degli standard a riguardo? Esistono scanner di codici a barre che forniscono una funzione integrata per questo?

Preferibilmente, i codici a barre che vorrei utilizzare potrebbero essere codici a barre 1D. L'autenticazione deve essere un passo in questo contesto. Il codice viene scritto in C #.

Se nessuno dei precedenti, come potrebbe essere fatto?

Grazie

    
posta lemon 28.06.2018 - 11:01
fonte

3 risposte

7

Non esiste uno standard di questo tipo. Ciò che fornisce il codice a barre (o codice QR) è un modo per codificare alcune informazioni di testo.

Codifica, non crittografa - quindi è leggibile dal software in questione che può decodificare i dati scansionati.

L'utilizzo di questo come sistema di autenticazione è simile alla stampa di una password sul badge.

    
risposta data 28.06.2018 - 11:07
fonte
1

Se hai solo la sicurezza del bianco o del nero, puoi solo scrivere informazioni pubbliche sul badge, sia esso in chiaro di codice a barre. E l'utente dovrà digitare la sua password che rende l'intero sistema piuttosto inutile.

Quindi, potresti chiedertelo quali sono i rischi e le minacce? È comune proteggere le posizioni fisiche con una buona vecchia chiave che può essere persa, rubata e copiata a volontà. E il blocco stesso può essere scelto. Se il tuo sistema di sicurezza non presenta requisiti più elevati, il badge e il suo codice a barre sono qualcosa che possederlo è sufficiente per farti entrare. Il difetto principale è che probabilmente è sufficiente scattare una foto del codice a barre con uno smartphone per poterlo copiare. Ciò significa che dovrebbe proteggere solo i dati in cui il livello di riservatezza è piuttosto basso. Dal punto di vista dell'implementazione, il codice a barre può contenere un nome utente o, più probabilmente, un token opaco che il sistema può mappare su un id utente.

Ad ogni modo, non usare mai il codice a barre per scrivere informazioni confidenziali, quindi nessuna password qui. Aggiungerebbe poca sicurezza e sarebbe un vettore di compromissione per la password.

    
risposta data 28.06.2018 - 14:16
fonte
1

In pratica devi fare una valutazione del rischio. A che cosa dà accesso il sistema e che protezione richiedono queste risorse? Non ci sono risposte predefinite a questo.

Se si tratta di una semplice app di indicazione del tempo, che registra le ore di entrata e di uscita, un semplice codice a barre con numero di impiegati sarà probabilmente sufficiente; gli utenti possono rivedere gli orari e correggere.

Se si tratta di un login per un sistema di controllo della produzione, questo potrebbe non essere abbastanza buono, dato che è banale per chiunque accedere come chiunque altro, ed è banale riprodurre i codici a barre. Diamine, scatta una foto con uno smartphone, tieni lo smartphone davanti agli scanner.

Potresti voler esaminare le smart card RFID. Sono molto più sicure e possono restituire la firma crittografica della richiesta, rendendole al massimo difficili da copiare.

Potresti voler aggiungere un pin di 4 cifre, con tentativi limitati. Esistono molti tipi di soluzioni di autenticazione, ma il punto comune di tutte è che è necessario definire il livello di sicurezza necessario in base alla propria applicazione. Una volta che hai fatto questo, puoi tornare con le domande su come implementarlo. Ma ricorda che i codici a barre sono per tutti gli intenti solo testo.

    
risposta data 28.06.2018 - 19:14
fonte

Leggi altre domande sui tag