Codici QR che non possono essere copiati - possibile?

14

Suppongo che sia impossibile, ma ho bisogno di trovare un codice a barre (che può contenere un URL, ad esempio uno stile QR).

Deve essere fotografato dalla nostra app per smartphone, ma l'immagine non verrà modificata per un periodo di settimane o mesi e deve essere su carta.

Indipendentemente da ciò che inseriamo nel codice a barre, creiamo sempre lo stesso difetto: qualcuno potrebbe fotografare il codice QR, stampare e eseguire nuovamente la scansione.

Che cosa stiamo cercando di evitare: scansioni non autorizzate del codice a barre.

Il codice a barre verrà visualizzato sul telefono solo per alcuni secondi e non sarà facilmente disponibile altrimenti.

Abbiamo pensato di utilizzare AGPS per ottenere la posizione, tuttavia un utente malintenzionato potrebbe fotografare e stampare il codice, quindi eseguire la scansione vicino alla posizione in cui l'ha originariamente ottenuto (che non si sposterà mai).

Quindi, per riassumere: abbiamo bisogno di un codice a barre che possa contenere un URL che cambierà solo ogni poche settimane / mesi che deve essere scansionabile da uno smartphone, che non può essere scansionato senza permesso, senza interazione con il dispositivo tranne dal proprietario (cioè, la persona che ha il codice a barre non può utilizzare il dispositivo per eseguire la scansione).

    
posta Ray Britton 18.07.2011 - 11:54
fonte

5 risposte

28

Questa è una cattiva idea.

Per capire perché, immagina che non ci sia un codice QR, solo una visualizzazione leggibile dall'URL.

Ora, baseresti uno schema di sicurezza per mantenere questo URL segreto? Certo che non lo faresti, è la più alta sicurezza per oscurità.

Se vuoi mantenere l'url abbastanza riservata, fallo senza alcuna procedura avanzata, ma hai bisogno che la tua sicurezza sia sicura anche se tutti conoscono l'URL. Implementa l'autenticazione per l'accesso alla risorsa, non (solo) per l'accesso al nome della risorsa.

    
risposta data 18.07.2011 - 16:47
fonte
9

No matter what we put in the barcode, we always come up with the same flaw: someone could photograph the qr code, print and rescan.

O semplicemente scansiona una schermata che mostra il codice. Questo non può essere evitato poiché il codice QR è stato creato appositamente per risolvere questo tipo di problemi (stampa errata, trasformazione, rotazione, ecc.).

Non troverai una tecnica per evitare anche le fotografie del codice, dal momento che se riesci a scattare la foto, il lettore non lo sarà.

L'idea che mi viene in mente è:

  • Registra i dispositivi autorizzati ad accedere al servizio (deviceid o così)
  • Sposta il servizio in un'area VPN, con indirizzi interni che non saranno disponibili da chiunque non possa collegarsi ad esso.
risposta data 18.07.2011 - 12:25
fonte
6

Ciò dipende da come implementeresti la convalida dell'autorizzazione di accesso. Se è semplicemente che ha accesso a una determinata posizione , è necessaria la sicurezza fisica . Ad esempio, è possibile inviare una lettera a un indirizzo personale e richiedere al destinatario di distruggere il codice dopo l'uso. Se ha alcune informazioni specifiche, allora torni alle soluzioni di crittografia. Ad esempio, puoi utilizzare una delle tante soluzioni utilizzate dagli istituti bancari online, come blocchi temporali di numeri o token numerici casuali.

Ciò che non puoi possibilmente proteggere con qualsiasi metodo eccetto il lavoro biometrico (o la convalida umana nel caso di sicurezza fisica), è il fatto che chiunque abbia accesso può semplicemente consegnare quell'accesso a chiunque altro.

    
risposta data 18.07.2011 - 14:05
fonte
4

Se quella persona che può "fotografare il codice qr, stampare e ripetere la scansione" non ha accesso alla tua applicazione di scansione personalizzata (o una password per usarla), allora sembra che quello che ti serve sia la crittografia.

Quando si utilizzano i codici QR nella modalità di interpretazione del canale esteso (ECI) (dati con valori di byte a 8 bit) è possibile implementare la propria soluzione di crittografia, ad esempio crittografare l'URL utilizzando una password. Quindi solo la tua applicazione sarà in grado di leggerlo, che condivide questa password. Ancora meglio, questa password può essere conosciuta solo dai tuoi utenti, non archiviati nell'app, o archiviata in forma crittografata che viene decifrata quando l'utente fornisce la password per aprire l'app.

Anche le soluzioni asimmetriche potrebbero funzionare se si adatta l'output nel codice QR.

Esistono già app che funzionano in questo modo, vedi qui o qui

Ovviamente l'altro modo è di archiviare il testo in modo confuso applicando le trasformazioni che solo la tua app può invertire, ma questa è l'oscurità.

    
risposta data 18.07.2011 - 13:37
fonte
-3

anche se grezzo potrebbe essere raffinato ma posizionare il codice QR su uno sfondo metallico (come un foglio) in questo modo scanner e fotocopiatrici creeranno un'immagine nera, il dispositivo tenuto in mano utilizza la luce naturale e sembra essere in grado di leggere il codice con facilità.

    
risposta data 27.03.2014 - 14:49
fonte

Leggi altre domande sui tag