¿Puedo encriptar datos de manera que puedan leerse normalmente pero no puedan copiarse o editarse? [cerrado]

41

Quiero compartir mi disco duro de 500 GB con un amigo, pero quiero cifrarlo de manera que todos los datos puedan leerse normalmente pero no puedan copiarse o editarse de ninguna manera.

¿Es eso posible?

Jilos
fuente
112
Hollywood mataría por tal característica, y no, a pesar de millones de inversiones, tampoco han encontrado una solución.
MSalters
10
Muchas, si no la mayoría, las respuestas aquí hacen la pregunta implícita o incluso explícita "¿Qué quieres decir realmente?". Es posible que desee aclarar su pregunta, especialmente lo que quiere decir con "se puede leer normalmente" y "no se puede copiar".
Zano
111
Buen intento, RIAA / MPAA!
Narayan
77
Con frecuencia tenemos conversaciones sobre esto en Security Stack Exchange. Lea esta pregunta y sus respuestas: ¿Existen técnicas de DRM para prevenir la piratería de manera efectiva? Para alguna información útil. La respuesta de mayor puntaje es de uno de los mods en Crypto Stack Exchange , pero tenemos puntos de vista desde lo criptográfico hasta lo puramente práctico.
Rory Alsop
77
@JarrodRoberson: espero que no hables en serio. Para el OP: ¿no puedes simplemente supervisarlo? ¿Por qué es tan importante que puedan leer tantos datos, pero no copiarlos? ¿Qué podrían hacer con una copia de los datos que no sería posible con el original?
James

Respuestas:

201

Si puedes leerlo, puedes copiarlo. Un concepto que la RIAA o la MPAA aún no han comprendido.

Nota: Esta respuesta no se considera una buena respuesta según las pautas de Stack Exchange . Sin embargo, se conserva debido a su popularidad y efectividad en el contexto de la pregunta.

ADTC
fuente
55
@Michael No hay nada especial en dispositivos especiales a este respecto, lo mismo se aplica. Si puedes leerlo, puedes copiarlo.
Konrad Rudolph
10
@ Michael Eso depende de lo que quieras decir con "copia". Ciertamente, puedes copiar de /dev/zero una manera normal (la forma normal = dd, cato lo que te apetezca). También puede copiar desde /dev/null, pero copiará cero bytes, simplemente porque está vacío: no hay nada para copiar. Probablemente estés intentando (y fallando) copiar el dispositivo como un archivo . Eso, por supuesto falla, porque es no un archivo. Lo mismo sucedería si intentara copiar cualquier otro dispositivo, tratándolo como un archivo.
Konrad Rudolph
15
Creo que sería bueno ampliar un poco esta respuesta . Se encuentra en 136 votos a favor y, en esencia, no es más que una oración, lo cual no es realmente un ejemplo de una "buena" respuesta, al menos en términos de intercambio de pila.
slhck
99
Había considerado hacer eso, pero realmente no podía pensar en nada más que fuera necesario decir. Es un problema realmente fundamental que exige una descripción concisa, en mi opinión de todos modos.
Sirex
66
@slhck: Es una respuesta bastante simple a una pregunta bastante simple: P: "¿Puedo encriptar (o transformar de alguna manera) un dato para que no se pueda copiar?" respuesta: No. Si puedes leerlo, entonces lo que estás leyendo puede escribirse en otro lugar.
KeithS
76

Una "copia" se define como leer datos y luego escribir los mismos datos en otra ubicación. Como ha leído sus datos en su computadora, los datos estarán bajo su control en ese momento. Luego puede hacer lo que quiera con él.

Lo único que puede ser apenas posible es proteger sus datos contra modificaciones no autorizadas. Necesitaría un NTFS o un sistema de archivos similar. Pero incluso en ese caso, podría leer todos los datos, formatear su disco, borrar cualquier permiso y escribir todos los archivos, posiblemente modificados.

[editar] 500 GB son solo miles de millones de números. Permítanme reducirlo a un simple ejemplo: 5. Ese es un número. Puedes leerlo, y nada de lo que pueda hacer te impedirá escribir ese número. Tampoco puedo evitar que escribas el número 6.

MSalters
fuente
18
+1 para explicación de copia. Además, su segundo punto ilustra otro principio bien conocido en seguridad informática: el acceso físico significa "juego terminado". Si alguien tiene control físico de su disco, puede hacer lo que quiera con él. Lo único que puede hacer es evitar que lean su contenido mediante un cifrado seguro.
Nathan Long
17
Lo que puede hacer es firmar criptográficamente los datos originales y luego verificar si los datos aún coinciden con esa firma. Si lo hace, sabes que no ha sido modificado. Eso es matemáticamente una buena protección. Pero las matemáticas no pueden evitar que se cree otro conjunto de datos basado en el original (y opcionalmente, sutilmente alterado).
2
500 GB también es un número realmente muy grande
Anne Nonimus
11

No, definitivamente no es posible.

bbaja42
fuente
23
Bueno, podrías estar detrás del amigo con una pistola diciéndole que no copie la información. No es práctico pero definitivamente factible.
Barfieldmv
3
Barfieldmv: Su amigo podría configurar la computadora de antemano para copiar automáticamente toda la información tal como se leyó.
Skip Head
99
@Barfieldmv: xkcd.com/538
orlp
44
@SkipHead Incluso podría haber copiado los datos cuando no estabas cerca. Deberías dispararle y terminar con esto: D
Barfieldmv
11

Intentemos preguntar un poco, ¿quiere que no modifique los archivos sin su aviso? Si es así, puede sumar todos los archivos y volver a verificar.

Otra forma es un bloqueador de escritura de hardware, puede consultar aquí: http://www.forensicswiki.org/wiki/Write_Blockers

usuario118305
fuente
3
Siempre me pregunté si cortar el pin n ° 23 en un cable PATA sería suficiente, si es así, solo tienes un ~ $ 800 boxcutter ^^
Shadok
@Shadok: El precio no refleja la parte técnica : el bloqueo de escrituras para la mayoría de las unidades modernas es técnicamente simple (bloquear cambios, por ejemplo, en atributos SMART, ahora esa es una historia diferente). Es el negocio de "certificación". ¿Ves que la propaganda de "NIST Ver. 2 aceptó"? Ese es el punto: no es necesario que demuestres ante un tribunal que el dispositivo bloquea las escrituras de manera real y confiable (lo que puede ser, uh, algo costoso, incluso varias órdenes de magnitud más allá de esos $ 800).
Piskvor
7

El cifrado es solo matemática . Piense en esto por un momento y comprenderá mejor sus capacidades y limitaciones:

  • Puede usar las matemáticas para verificar que un mensaje sea el correcto y que se haya copiado correctamente, sin copiar el mensaje completo dos veces ( sumas de comprobación simples , a veces se encontrará con ellas al descargar el software).
  • Puede usar las matemáticas para verificar que alguien que conoce el número mágico haya aprobado el mensaje. ( firmas criptográficas ).
  • Puede usar las matemáticas para codificar un mensaje hasta que aparezca alguien con los números correctos para descifrar un mensaje ( cifrado ).

Pero no puede usar las matemáticas para evitar que la gente copie un mensaje. Eso no es algo que las matemáticas puedan hacer . (Copiar datos es menos 'matemática' y más 'física'. :)

Lo más cercano que puede llegar es usar las matemáticas para cifrar algunos datos, usar las matemáticas para verificar que una computadora solo esté ejecutando el software que desea que se ejecute, y solo entonces darle a la computadora el número mágico para descifrar los datos, mientras tanto asegurándose de que el software no termine dejando salir el número mágico o que nadie copie los datos. Esta es una informática confiable y es más o menos lo que intentan hacer los reproductores de DVD y las consolas de videojuegos. Es poco práctico para la mayoría de las configuraciones, y tiende a romperse de una forma u otra (por ejemplo, 09 f9 ).

usuario26986
fuente
6

Hasta donde yo sé, hay formas de reducir el riesgo de que los datos se alteren en su disco duro, a través de software y hardware. Sin embargo, una vez que su amigo tenga su disco duro, probablemente podrían eludir o anular cualquier método de protección contra escritura, si ponen suficiente esfuerzo en ello. Por ejemplo:

  • Protección contra escritura a través de un puente en el disco duro; el puente se puede quitar o cambiar (incluso si suelda el puente, la soldadura se puede quitar)
  • Protección contra escritura mediante recorte o cambio de la parte interna del disco duro; los componentes internos podrían repararse, o los discos mismos probablemente podrían trasladarse a un disco duro limpio (posiblemente con un gran esfuerzo ...)
  • Protección contra escritura mediante software; los datos en el disco son solo 1s y 0s al final del día; cualquier bloque puede ser alterado. Si su amigo no está preocupado por conservar los datos, podría derretir el disco en un horno. Eso definitivamente alteraría los datos ...

Como han dicho otros, es imposible evitar la copia, porque si se puede leer, se puede copiar.

Puede intentar pedirle a su amigo que no copie ni cambie nada. Presumiblemente, si son tus amigos, estarían felices de cumplir ...

Oliver-Clare
fuente
5

Evitar ediciones copiando

A pesar de que no se puede dejar que alguien lea sus datos y al mismo tiempo impedir la copia, hay una manera muy simple que se puede prevenir fácilmente lo editen: no les dan el original .

Si copia sus datos en un disco duro separado y conserva el original, claramente el destinatario de la copia no puede modificar su original.

Esto anula su solicitud de "no se puede copiar" de inmediato, pero eso es imposible de satisfacer de todos modos.

Nathan Long
fuente
Transmitir todo el contenido del disco a una aplicación segura que solo permita ver los datos debería ser suficiente. Un escritorio remoto a una máquina segura puede ver todo pero no hacer nada que no haya permitido.
Barfieldmv
@Barfieldmv: tal vez sea cierto, pero 1) la transmisión a una aplicación de visor es una forma de copia, 2) la solución de escritorio remoto supone que no hay agujeros de seguridad allí, 3) ambos son más difíciles y más abiertos al error que cometer un error copia simple Si mi disco duro no está físicamente disponible para usted, puedo garantizar que no puede modificarlo. Si tiene algún tipo de acceso a la red, siempre existe la posibilidad de que conozca un truco del que no me he protegido.
Nathan Long
Transmitir 100gig de películas en calidad reducida podría hacer que sea muy poco práctico 'copiar' los datos reales, pero podría ser suficiente para el póster original. La protección de red decente es, por supuesto, un elemento básico para la seguridad solicitada y debe ser un hecho.
Barfieldmv
5

El teorema de no clonación puede ayudarte, si tuvieras una computadora cuántica. Sin embargo, la clonación imperfecta aún sería posible:

El teorema de no clonación es el resultado de la mecánica cuántica que prohíbe la creación de copias idénticas de un estado cuántico arbitrario desconocido. [...] La clonación es un proceso cuyo resultado final es un estado separable con factores idénticos.

Janus Troelsen
fuente
3
Sin embargo, esos son datos que tampoco puedes leer . Solo puede usar destructivamente dichos datos. La pregunta suponía datos que eran legibles.
MSalters
4

Como muchos otros han señalado, en circunstancias normales "compartir y leer normalmente" implica "se puede copiar", y la respuesta a su pregunta es "no".

La única forma de llegar a "sí" es redefinir "leer normalmente" cambiando las circunstancias:

Asegure a su amigo en una habitación, entregue un dispositivo en el que haya ingresado una clave, asegúrese de que el dispositivo no tenga E / S o red que pueda permitir la copia, asegúrese de que su amigo no posea una cámara o una memoria fotográfica (con la cual para copiar la pantalla), recupere el dispositivo y regréselo a un estado ilegible, retire el dispositivo y luego libere a su amigo de la habitación. (Tenga en cuenta que si pueden examinar el dispositivo en profundidad, aún pueden encontrar claves privadas o efímeras, por lo que "sin E / S" significa falta de acceso físico a las partes internas).

¿Te suena como "leer normalmente"? Si es así, ya está todo listo. Sin embargo, no contaría con convertirlo en un hábito o construir un plan de negocios alrededor del proceso.

Liudvikas Bukys
fuente
1
Esto sucede con los nuevos álbumes de algunas bandas más grandes: iPods encerrados en gabinetes con guardias de seguridad allí. La idea es que los revisores puedan escuchar el álbum antes de su lanzamiento oficial sin el riesgo de una fuga. Definitivamente sucedió con un álbum de Coldplay.
Rico
@Rich: ¿Qué les impide implantar una grabadora en un diente? Puede dificultar la copia cuando concede acceso de lectura, pero nunca puede hacerlo imposible.
Emilio M Bumachar
@EmilioMBumachar es muy cierto, pero si alguien está lo suficientemente enojado como para llegar al próximo álbum de Coldplay está más allá del alcance de esta discusión :)
Rich
4

Leer es copiar.

Cualquier dato al que acceda en cualquier computadora es una copia de los datos en el disco duro, que se ha copiado en la RAM (memoria) de la computadora, no los datos reales en el disco duro en sí. Si realmente desea profundizar, hay más copias intermedias en todo el controlador del disco duro y varios subconjuntos de memoria de la computadora, pero eso es interesante para los tecnogeeks. Cuando visita un sitio web, la información del disco duro del servidor de ese sitio web se copia en el disco duro de su computadora y luego en su memoria, por lo que es un paso más profundo nuevamente. Y ni siquiera incluí la memoria del servidor, o los paquetes de datos que se envían a través de Internet, entre muchos otros pasos de copia.

Está pidiendo permitir que algo suceda y luego no permitirlo. Es posible, tal vez, en un caso extremo de una sociedad draconiana donde todos obedecen las decisiones del gobierno contra la "copia". Lea sobre el intento de Sony de hacer esto aquí y lo feo que puede ser: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal

Xonatron
fuente
3

Lo que puedes hacer:

  1. Firme digitalmente cada archivo (o, alternativamente, un sistema de archivos) para que cualquier modificación falle la firma y sea inválida.
  2. Cifre el sistema de archivos para que nadie más que usted y su amigo puedan verlo.
  3. Proporcione a su amigo una computadora sobre la que tenga control total, para que sea mucho más difícil para él / ella copiar los datos.

Lo que no puedes hacer:

  1. Evite que su amigo, si puede leer un archivo en su propia computadora, copie ese archivo.
  2. Evite que su amigo firme digitalmente su propio sistema de archivos, a menos que use un tercero de confianza para administrar sus certificados de autenticación.

Lo que no debes hacer:

  1. Brinde información confidencial a alguien en quien no confíe.
bdow
fuente
1

Yo diría que no, al igual que todos los demás, pero puedo dar una breve idea de cómo se puede hacer.

Si cada archivo en el disco duro estuviera encriptado con una clave, los datos obviamente no podrían copiarse porque no contendrían los datos sin encriptar. Pero si de alguna manera hiciste que la computadora descifrara los datos cada vez que se llama a una función de lectura desde la computadora, y encripta los datos cada vez que se llama a una función de escritura desde la computadora, creo que funcionaría.

También estoy bastante seguro de que la velocidad sería un gran problema si un disco duro funcionara de esta manera, pero quién sabe, tal vez lo veremos en el futuro. Además, lo que pasa es que cualquiera que realmente quisiera obtener los datos en este disco duro podría si supiera lo que estaba haciendo, simplemente eliminando la llamada de cifrado cada vez que se llama a una función de escritura, lo que lleva a un disco duro sin cifrar.

De todos modos, eso es solo una idea, y realmente no veo que sea una muy buena solución en el futuro cercano.

hetelek
fuente
1

Si se puede leer un archivo, se puede copiar. Después de todo, copiar es lo mismo que decirle a su computadora que lea su archivo y copie lo que vea. Cuando lee un archivo, su contenido se carga en la RAM. Cuando copia un archivo, el contenido se carga en la RAM y se escribe desde la RAM al HDD. Como la RAM no está bajo su control, no puede detener el segundo paso.

Si solo desea compartir uno o varios tipos de archivos (p. Ej., Texto, videos, ppts, etc.), siga estos pasos (se requieren capacidades de programación):

  1. Anteponga un poco de datos basura al comienzo de cada archivo (use un programa). Los datos deben ser fácilmente extraíbles de manera predecible y, si lo desea, hacer que se puedan derivar del nombre del archivo. Por ejemplo, puede anteponer el hash md5 del nombre de archivo al archivo. Para eliminarlo, solo tiene que eliminar el hash. Este paso hará que todos los archivos sean inútiles para que su amigo los copie, ya que no funcionarán normalmente.
  2. Use una API para escribir un visor simple (video | imagen | texto | cualquier otro tipo de archivo que necesite). Java sería bueno (suficientes API por ahí).
  3. Programe su visor de archivos para eliminar los datos basura de cada archivo antes de abrirlos (tenga en cuenta que no debe eliminarlos del archivo de forma permanente, solo elimínelos de la copia que carga en la RAM)
  4. Programe su visor de archivos para que funcione solo en el disco duro externo. Puede hacerlo intercalando los archivos del sistema en el HDD (use attrib + s + h en la línea de comandos de Windows) y solicítelos en el inicio del programa. También puede hacer que no funcione si está en la Unidad C: (mire la ruta de acceso actual con File.getCanonicalNamespace)

    5. Allá vas! Su amigo puede ver todos los archivos usando el visor, pero los archivos en sí mismos son casi inútiles.

El método no funcionará para documentos de texto, pero su algoritmo de creación de basura se puede hacer más sofisticado para embotellar todo el archivo de manera reversible (rot13 es un ejemplo simple).

Tampoco se recomendaría este método si solo tiene una copia del material. El desorden debe ser reversible, pero las cosas pueden salir mal.

Un poco molesto para hacer todo esto, pero la única forma en que puedo pensar. Es exactamente cómo Netflix y todos hacen que sus películas en línea sean invencibles. Usan sus propios formatos (probablemente mucho más sofisticados que este), y tienen su propio visor.

La protección contra escritura se puede hacer, pero es fácil de descifrar (quien tiene el dispositivo físico lo tiene todo).

Si tiene una copia separada de estos archivos, el uso del método de protección contra copia anterior protegerá automáticamente los archivos contra escritura, ya que el usuario no podrá editar los archivos sutilmente. Él puede borrarlos.

Si no tiene una copia separada, los sistemas de archivos NTFS tienen una opción de solo lectura; pero esto se pasa por alto fácilmente.

Manishearth
fuente
1
Tenga en cuenta que este programa aún sería pirateable. Java.lang.reflect permite abrir un programa completamente abierto. Esperemos que tu amigo no llegue a ese punto.
Manishearth
1

Todos ... tengan paciencia conmigo , este es un ejercicio de ser ingenuo.

Creo que el OP estaba pidiendo algo simple . También creo que si propones una pregunta tan profunda a un montón de gente, muchos lo pensarán demasiado.

El objetivo aquí no es evitar o garantizar que hagan nada. En realidad, es hacer tanto trabajo para lograr lo que quieren hacer, que prefieren darse por vencidos u obtener "la forma más fácil" de comprar o lo que sea.

Entonces, la verdadera pregunta es: " ¿Cómo le hago las cosas difíciles a un amigo si intenta copiar estos archivos ?"

SI asumimos que su amigo es la persona promedio y no es capaz de leer la memoria y asumimos que no van a leer esta publicación ... :-)

Como se sugirió anteriormente, una API podría funcionar.
Recuerde que todo lo leído en la memoria es "obtenible".
Lo mismo puede decirse del sistema de archivos, obviamente.

Fuera de mi cabeza, uno podría construir un intérprete.
Es un concepto suelto, pero creo que funcionaría bien.

Si no quiere escribir cosas usted mismo, entonces no continúe.


Cosas de nerd

Encripta tu disco duro.
Hay muchos otros hilos sobre cómo hacer eso, así que no lo cubriré aquí.
Cuando lo encriptas, solo tiene sentido poder descifrarlo.

Puedes usar las llaves aquí. Si escribió un archivo binario, que contenía la clave privada + una clave de sal que era única (o muy cercana a la única) para el hardware que estaba compartiendo, como el número de serie del dispositivo. El archivo binario descifraría los archivos y los leería en un contenedor.

Entonces, si los archivos y el binario se movieran a otro dispositivo ... simplemente fallaría. Porque las claves no coinciden como se esperaba.

Ahora, dado que una persona verdaderamente experta probablemente aún podría evitar esto de varias maneras.

PERO - su persona promedio, probablemente no querrá invertir el tiempo / esfuerzo / dinero.

Alguna lectura ligera:
http://en.wikipedia.org/wiki/Disk_encryption

Algún software (para que pueda jugar con cifrado):
http://www.truecrypt.org/

El tipo de "envoltorio" más fácil que podría crear es una aplicación Adobe Air ...
http://www.adobe.com/products/air.html

Esto funcionará en todas las plataformas (en teoría).
La barrera de entrada a este tipo de programación es relativamente baja.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/


Espero que esto haya ayudado de alguna manera.

Sterling Hamilton
fuente
La verdadera pregunta es: "¿Cómo le hago las cosas difíciles a un amigo si intenta copiar estos archivos?" El tipo de respuesta que el OP podría estar buscando es, por ejemplo, convertir todos sus documentos de texto a PDF (o volverse medieval en su a ** y convertirlos a JPEG o TIFF). Si bien estos archivos se pueden copiar, recuperar el texto original en una forma utilizable requiere un poco de esfuerzo.
Scott
1

No es trivial con datos digitales, gracias a excelentes herramientas de código abierto. Sin embargo, puede crear su propio formato cifrado, que se hardrompe para copiar. Piensa en contenido protegido por DRM.

usuario
fuente
0

Lo mejor que puede hacer es usar algún tipo de suma de comprobación, hash MD5 o similar, para poder detectar al menos si algo cambió en su disco duro. No puede evitar que nadie modifique datos en la unidad si tienen acceso físico, pero puede hacerles prometer que no lo harán y explicarles que podrá detectar si lo hicieron.

vsz
fuente
0

No. Puede usar un medio protegido contra escritura para evitar la edición, pero si los datos son legibles, siempre se puede almacenar el flujo de lectura en otro lugar para reproducirlo.

Por supuesto, puede hacer un esfuerzo adicional al requerir una rutina de descifrado que imponga una conexión en línea, pero incluso así el usuario puede simplemente registrar la respuesta del servidor y falsificar Internet.

Puede volverse cuántico e intentar aplicar el teorema de no clonación , pero dado que los datos leídos aún se accederán de una manera clásica, la salida se puede copiar nuevamente.

En resumen: no pierda el tiempo tratando de proteger los datos legibles de la copia e inviértalos en algo útil. Ir al cine, por ejemplo.

Tobias Kienzler
fuente
-2

Puede compartir su disco duro a través de LAN . De esa manera no tendrá acceso físico al disco duro. No necesita encriptarlo para esto. Simplemente configure los permisos correctamente y estará en camino.

Puede configurar SSH. Google sobre cómo configurar SSH en su plataforma. Hay muchos paquetes de software disponibles para compartir datos entre computadoras.

DragonSlay3r
fuente
1
¿Y qué? Simplemente puede registrar el flujo de red para reproducir los datos
Tobias Kienzler