Códigos QR que no se pueden copiar, ¿es posible?

14

Supongo que esto es imposible, pero necesito encontrar un código de barras (que puede contener una URL, es decir, un estilo de QR).

Nuestra aplicación para teléfono inteligente debe fotografiarla, pero la imagen no se modificará en un período de semanas o meses y debe estar en papel.

No importa lo que pongamos en el código de barras, siempre encontramos el mismo defecto: alguien podría fotografiar el código QR, imprimirlo y volverlo a escanear.

Que es lo que intentamos evitar: escaneos no autorizados del código de barras.

El código de barras solo se mostrará al teléfono durante unos segundos, y no estará disponible de otra manera.

Pensamos en utilizar AGPS para obtener la ubicación, sin embargo, un usuario malintencionado podría fotografiar e imprimir el código y luego escanear cerca de la ubicación donde lo obtuvieron originalmente (que nunca se moverá).

Para resumir: necesitamos un código de barras que pueda contener una URL que solo cambie cada pocas semanas / meses que un teléfono inteligente deba escanear, que no se pueda escanear sin permiso, sin interacción con el dispositivo excepto por el propietario (es decir, la persona que tiene el código de barras no puede usar el dispositivo para escanear).

    
pregunta Ray Britton 18.07.2011 - 11:54
fuente

5 respuestas

28

Esta es una mala idea.

Para entender por qué, imagina que no hay ningún código QR, solo una visualización de la URL legible para las personas.

Ahora, ¿basaría un esquema de seguridad para mantener en secreto esta URL? Por supuesto que no lo harías, es la seguridad más alta por oscuridad.

Si desea mantener la url bastante confidencial, hágalo sin ningún tipo de magia avanzada, pero necesita que su seguridad sea segura, incluso si todos conocen la URL. Implemente la autenticación en el acceso al recurso, no (solo) en el acceso al nombre del recurso.

    
respondido por el Marcin 18.07.2011 - 16:47
fuente
9
  

No importa lo que pongamos en el código de barras, siempre encontramos el mismo defecto: alguien podría fotografiar el código qr, imprimir y volver a escanear.

O simplemente escanea una pantalla que muestra el código. Esto no se puede evitar, ya que el código QR se creó específicamente para solucionar este tipo de problemas (mala impresión, alguna transformación, rotación, etc.).

Tampoco encontrará una técnica para evitar las fotografías del código, ya que si puede tomar la fotografía, el lector tampoco lo estará.

La idea que me viene a la mente es:

  • Registre los dispositivos autorizados para acceder al servicio (deviceid o algo así)
  • Mueva el servicio a un área VPN, con direcciones internas que no estarán disponibles para nadie que no pueda conectarse a él.
respondido por el M'vy 18.07.2011 - 12:25
fuente
6

Esto depende de cómo implementaría la validación del permiso de acceso. Si es simplemente tener acceso a una determinada ubicación , necesitarías la seguridad física . Por ejemplo, puede enviar una carta a una dirección personal y solicitar al destinatario que destruya el código después de su uso. Si tiene algo de información específica, entonces volverá a las soluciones de cifrado. Por ejemplo, podría usar una de las muchas soluciones que usan los bancos en línea, como las teclas de un solo uso de números o tokens de números aleatorios.

Lo que usted no puede proteger con cualquier método, excepto la biometría que realmente funciona (o la validación humana en el caso de la seguridad física), es el hecho de que cualquiera que tenga acceso puede simplemente entregar ese acceso a cualquier otra persona.

    
respondido por el l0b0 18.07.2011 - 14:05
fuente
4

Si esa persona que puede "fotografiar el código qr, imprimir y volver a escanear" no tiene acceso a su aplicación de escaneo personalizada (o una contraseña para usarla), entonces parece que lo que necesita es cifrado.

Cuando usa códigos QR en el Modo de interpretación de canal extendido (ECI) (datos - > valores de bytes de 8 bits) puede implementar su propia solución de cifrado en la parte superior, por ejemplo, cifrar la URL con una contraseña. Entonces solo su aplicación podrá leerlo, lo que comparte esta contraseña. Aún mejor, esa contraseña puede ser conocida solo por sus usuarios, no almacenada en la aplicación, o almacenada en forma cifrada que se descifra cuando el usuario proporciona la contraseña para abrir la aplicación.

Las soluciones asimétricas también podrían funcionar, si hace que la salida encaje en el código QR.

Ya hay aplicaciones que funcionan así, consulte aquí o here

Por supuesto, la otra forma es almacenar el texto de una manera confusa, aplicando transformaciones que solo tu aplicación puede revertir, pero eso es un error.

    
respondido por el john 18.07.2011 - 13:37
fuente
-3

aunque en bruto puede ser refinado pero coloca tu código qr sobre un fondo metálico (como papel de aluminio) de esta manera los escáneres y copiadoras crearán una imagen en negro, tu dispositivo portátil utiliza luz natural y parece poder leer el código con facilidad.

    
respondido por el andy 27.03.2014 - 14:49
fuente

Lea otras preguntas en las etiquetas