Posso criptografar dados de forma que possam ser lidos normalmente, mas não podem ser copiados ou editados? [fechadas]

41

Quero compartilhar meu disco rígido de 500 GB com um amigo, mas quero criptografá-lo de forma que todos os dados possam ser lidos normalmente, mas não possam ser copiados ou editados de nenhuma maneira.

Isso é possível?

Jilos
fonte
112
Hollywood mataria por esse recurso - e não, apesar de milhões de investimentos, eles também não encontraram uma solução.
MSalters
10
Muitas, se não a maioria, das respostas aqui fazem a pergunta implícita ou mesmo explícita "O que você realmente quer dizer?". Você pode esclarecer sua pergunta, especialmente o que você quer dizer com "pode ​​ser lido normalmente" e "não pode ser copiado".
Zano
111
Boa tentativa, RIAA / MPAA!
precisa
7
Frequentemente conversamos sobre isso no Security Stack Exchange. Leia estas perguntas e respostas: Existem técnicas de DRM para impedir efetivamente a pirataria? para algumas informações úteis. A resposta de pontuação mais alta é de um dos mods do Crypto Stack Exchange - mas temos pontos de vista do criptográfico ao puramente prático.
Rory Alsop
7
@JarrodRoberson: Espero que você não esteja falando sério. Para o OP: você não pode apenas supervisioná-lo? Por que é tão importante que eles possam ler tantos dados, mas não copiá-los? O que eles poderiam fazer com uma cópia dos dados que não seria possível com o original?
James

Respostas:

201

Se você pode ler, pode copiá-lo. Um conceito que a RIAA ou a MPAA ainda não entenderam.

Nota: Esta resposta não é considerada uma boa resposta, de acordo com as diretrizes do Stack Exchange . No entanto, ele é mantido devido à sua popularidade e eficácia no contexto da questão.

ADTC
fonte
5
@ Michael Não há nada de especial em dispositivos especiais nesse sentido, o mesmo se aplica. Se você pode ler, pode copiá-lo.
21412 Konrad Rudolph
10
@ Michael Isso depende do que você quer dizer com "cópia". Você certamente pode copiar de /dev/zero uma maneira normal (da maneira normal = dd, catou o que lhe agrada). Você também pode copiar /dev/null, mas copiará zero bytes, simplesmente porque está vazio: não há nada para copiar. Você provavelmente está tentando (e falhando) copiar o dispositivo como um arquivo . Isso, claro, falhar, porque é não um arquivo. O mesmo aconteceria se você tentasse copiar qualquer outro dispositivo, tratando-o como um arquivo.
21912 Konrad Rudolph
15
Eu acho que seria bom expandir um pouco essa resposta . Está em 136 votos positivos e, em essência, não é mais do que uma frase, o que não é realmente um exemplo de resposta "boa" - pelo menos em termos de Stack Exchange.
21412 slhck
9
Eu tinha pensado em fazer isso, mas realmente não conseguia pensar em mais nada que precisaria ser dito. É um problema realmente fundamental que exige uma descrição concisa, na minha opinião de qualquer maneira.
Sirex
6
@slhck: É uma resposta bastante simples para uma pergunta bastante simples: P: "Posso criptografar (ou transformar de alguma forma) um dado para que ele não possa ser copiado?" resposta: Não. Se você conseguir lê-lo, o que estiver lendo poderá ser escrito em outro lugar.
21412 KeithS
77

Uma "cópia" é definida como a leitura de dados e a gravação dos mesmos dados em outro local. Como ele leu seus dados no computador dele, os dados estarão sob seu controle no momento. Ele pode fazer o que quiser com isso.

A única coisa que pode ser quase impossível é proteger seus dados contra modificações não autorizadas. Você precisaria de um NTFS ou sistema de arquivos semelhante. Mas mesmo nesse caso, ele seria capaz de ler todos os dados, formatar seu disco, limpar todas as permissões e gravar todos os arquivos de volta - possivelmente modificado.

[editar] 500 GB são apenas bilhões de números. Deixe-me reduzi-lo a um exemplo simples: 5. Esse é um número. Você pode lê-lo, e nada que eu possa fazer impedirá que você anote esse número. Nem posso impedir que você escreva o número 6.

MSalters
fonte
18
+1 para explicação da cópia. Além disso, seu segundo ponto ilustra outro princípio bem conhecido em segurança de computadores: acesso físico significa "game over". Se alguém tiver controle físico de sua unidade, poderá fazer o que quiser com ela. A única coisa que você pode fazer é impedir que eles leiam seu conteúdo usando criptografia forte.
Nathan Long
17
O que você pode fazer é assinar criptograficamente os dados originais e depois verificar se os dados ainda correspondem a essa assinatura. Se isso acontecer, você sabe que não foi modificado. Isso é proteção matematicamente sólida. Mas a matemática não pode impedir que outro conjunto de dados com base no original (e, opcionalmente, sutilmente alterado) seja criado em primeiro lugar.
fennec
2
500 GB é também um realmente realmente realmente grande número
Anne Nonimus
11

Não, definitivamente não é possível.

bbaja42
fonte
23
Bem, você pode ficar atrás do amigo com uma arma dizendo para ele não copiar as informações. Não é prático, mas definitivamente viável.
precisa
3
Barfieldmv: Seu amigo pode configurar o computador com antecedência para copiar automaticamente todas as informações conforme lidas.
Skip Head
9
@Barfieldmv: xkcd.com/538
orlp
4
@SkipHead Ele pode até já ter copiado os dados quando você não estava por perto. Você deve simplesmente matá-lo e acabar com isso: D
Barfieldmv
11

Vamos tentar perguntar um pouco, você quer que ele não modifique arquivos sem o seu aviso? Nesse caso, você pode somar todos os arquivos e reverificá-los.

Outra maneira é um bloqueador de gravação de hardware, você pode procurar aqui: http://www.forensicswiki.org/wiki/Write_Blockers

user118305
fonte
3
Eu sempre me perguntei se cortar o pino n ° 23 em um cabo PATA faria o truque, se assim você só tem um boxcutter ~ $ 800 ^^
Shadok
@Shadok: O preço não reflete a parte técnica - o bloqueio de gravações para a maioria das unidades modernas é tecnicamente simples (bloquear alterações em, por exemplo, atributos SMART, agora é uma história diferente). É o negócio da "certificação" - vê que a sinopse "NIST Ver. 2 aceita"? Esse é o ponto: você não precisa provar a um tribunal que o dispositivo realmente e de forma confiável bloqueia gravações (o que pode ficar, uh, um pouco caro, até várias ordens de magnitude além dos US $ 800).
Piskvor
7

Criptografia é apenas matemática . Pense um pouco sobre isso e você entenderá melhor seus recursos e limitações:

  • Você pode usar a matemática para verificar se a mensagem é a correta e foi copiada corretamente, sem copiar a mensagem inteira duas vezes ( somas de verificação simples , você as encontrará algumas vezes ao baixar o software).
  • Você pode usar a matemática para verificar se alguém que conhece o número mágico aprovou a mensagem. ( assinaturas criptográficas ).
  • Você pode usar a matemática para embaralhar uma mensagem até que alguém com os números certos apareça para decifrar uma mensagem ( criptografia ).

Mas você não pode usar a matemática para impedir que as pessoas copiem uma mensagem. Isso não é algo que a matemática possa fazer . (Copiar dados é menos 'matemática' e mais 'física'. :)

O mais próximo que você pode chegar é usar a matemática para criptografar alguns dados, usar a matemática para verificar se um computador está executando apenas o software que você deseja que ele esteja executando e só então fornecer ao computador o número mágico para descriptografar os dados. assegurando ainda mais que o software não exponha o número mágico ou permita que alguém copie os dados. Essa computação é confiável e é mais ou menos o que coisas como reprodutores de DVD e consoles de videogame tentam fazer. É menos prático para a maioria das configurações e tende a acabar sendo quebrado de uma maneira ou de outra (por exemplo, 09 f9 ).

Fennec
fonte
6

Tanto quanto sei, existem maneiras de reduzir o risco de alteração de dados no disco rígido, por meio de software e hardware. No entanto, uma vez que seu amigo tenha seu disco rígido, ele provavelmente poderá contornar ou substituir qualquer método de proteção contra gravação, se colocar esforço suficiente nele. Por exemplo:

  • Proteção contra gravação via jumper no disco rígido; o jumper pode ser removido ou alterado (mesmo se você soldar o jumper, a solda poderá ser removida)
  • A proteção contra gravação via recorte ou alteração das partes internas do disco rígido; os internos podem ser reparados ou os próprios discos provavelmente podem ser movidos para um disco rígido limpo (possivelmente envolvendo muito esforço ...)
  • Proteção contra gravação via software; os dados no drive são apenas 1s e 0s no final do dia - qualquer bloco pode ser alterado. Se o seu amigo não estiver preocupado com a preservação dos dados, ele poderá derreter a unidade em um forno. Isso definitivamente alteraria os dados ...

Como outros já disseram, é impossível impedir a cópia, porque, se puder ser lida, poderá ser copiada.

Você pode tentar pedir ao seu amigo para não copiar ou alterar nada. Presumivelmente, se eles são seus amigos, eles ficariam felizes em cumprir ...

oliver-clare
fonte
5

Impedir edições copiando

Embora você não pode deixar alguém ler seus dados e, simultaneamente, impedir a cópia, há uma maneira muito simples que você pode facilmente impedi-los de editá-lo: não lhes dá o original .

Se você copiar seus dados para um disco rígido separado e manter o original, claramente o destinatário da cópia não poderá modificar o original.

Isso anula sua solicitação "não é possível copiar" imediatamente, mas é impossível atender de qualquer maneira.

Nathan Long
fonte
Transmitir todo o conteúdo da unidade em um aplicativo seguro que permita apenas a visualização dos dados deve ser suficiente. Uma área de trabalho remota em uma máquina segura pode exibir tudo, mas não faz o que não é permitido.
precisa
@Barfieldmv - talvez seja verdade, mas 1) o streaming para um aplicativo visualizador é uma forma de cópia; 2) a solução de desktop remoto supõe que não haja brechas de segurança; 3) ambos são mais difíceis e mais abertos a erros do que fazer um cópia simples. Se meu disco rígido estiver fisicamente indisponível para você, garanto que você não pode modificá-lo. Se você tem algum tipo de acesso à rede, sempre há uma chance de saber sobre um hack contra o qual eu não tenha me protegido.
Nathan Long
A transmissão de 100 filmes de qualidade reduzida pode tornar impraticável a cópia dos dados reais, mas pode ser suficiente para o pôster original. A proteção decente da rede é, obviamente, básica para a segurança solicitada e deve ser um dado.
precisa
5

O teorema da não-clonagem pode ajudá-lo, se você tiver um computador quântico. No entanto, a clonagem imperfeita ainda seria possível:

O teorema da não-clonagem é resultado da mecânica quântica que proíbe a criação de cópias idênticas de um estado quântico desconhecido e arbitrário. [...] A clonagem é um processo cujo resultado final é um estado separável com fatores idênticos.

Janus Troelsen
fonte
3
No entanto, são dados que você também não pode ler . Você só pode usar destrutivamente esses dados. A pergunta presumia dados legíveis.
MSalters
4

Como muitos outros já apontaram, em circunstâncias normais, "compartilhar e ler normalmente" implica "pode ​​ser copiado", e a resposta para sua pergunta é "não".

A única maneira de chegar ao "sim" é redefinir o "lido normalmente" alterando as circunstâncias:

Tranque seu amigo em uma sala, entregue um dispositivo no qual você digitou uma chave, verifique se o dispositivo não possui E / S ou rede que possa permitir a cópia, verifique se o seu amigo não possui uma câmera ou memória fotográfica (com a qual para copiar a tela), recupere o dispositivo e retorne a um estado ilegível, remova o dispositivo e liberte seu amigo da sala. (Observe que, se eles puderem examinar o dispositivo em profundidade, ainda poderão encontrar chaves particulares ou efêmeras, então "sem E / S" significa falta de acesso físico aos internos.)

Isso soa como "leia normalmente" para você? Se assim for, está tudo pronto. Eu não contaria com isso criando um hábito ou construindo um plano de negócios em torno do processo.

Liudvikas Bukys
fonte
1
Isso acontece com os novos álbuns de algumas bandas maiores - iPods trancados em armários com guardas de segurança. A ideia é que os revisores possam ouvir o álbum antes de seu lançamento oficial sem o risco de vazamento. Definitivamente aconteceu com um álbum do Coldplay.
Rico
@ Rich: O que os impede de implantar um gravador em um dente? Você pode dificultar a cópia quando concede acesso de leitura, mas nunca é impossível.
Emilio M Bumachar
@EmilioMBumachar muito verdadeiro, mas se de qualquer um louco o suficiente para ir tão longe para o próximo álbum do Coldplay está além do escopo desta discussão :)
Rico
4

Reading É copiar.

Todos os dados que você acessa em qualquer computador são uma cópia dos dados no disco rígido, que foram copiados na RAM (memória) do computador, não os dados reais no próprio disco rígido. Se você realmente quer se aprofundar, há mais cópias intermediárias em todo o controlador do disco rígido e vários subconjuntos de memória do computador, mas isso é interessante apenas para os técnicos. Quando você visita um site, as informações do disco rígido do servidor do site são copiadas para o disco rígido do computador e, em seguida, para a memória, para que seja um passo extra mais profundo novamente. E nem incluí a memória do servidor ou os pacotes de dados enviados pela Internet, entre muitas outras etapas de cópia.

Você está pedindo para permitir que algo aconteça e depois não para. É possível, talvez, em um caso extremo de uma sociedade draconiana em que todos obedeçam às decisões do governo contra a "cópia". Leia sobre a tentativa da Sony de fazer isso aqui e como ela pode ficar feia: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal

Xonatron
fonte
3

O que você pode fazer:

  1. Assine digitalmente cada arquivo (ou, alternativamente, um sistema de arquivos) para que quaisquer modificações falhem na assinatura e sejam inválidas.
  2. Criptografe o sistema de arquivos para que ninguém além de você e seu amigo possa visualizá-lo.
  3. Forneça ao seu amigo um computador sobre o qual você tenha controle total, para tornar muito mais difícil a cópia dos dados.

O que você não pode fazer:

  1. Impedir que seu amigo, se ele puder ler um arquivo em seu próprio computador, copie esse arquivo.
  2. Evite que seu amigo assine digitalmente seu próprio sistema de arquivos, a menos que você use um terceiro confiável para gerenciar seus certificados de autenticação.

O que você não deve fazer:

  1. Forneça informações confidenciais a alguém em quem não confia.
bdow
fonte
1

Eu diria que não, assim como todo mundo acima, mas posso dar uma breve idéia de como isso pode ser feito.

Se todos os arquivos no disco rígido fossem criptografados com uma chave, obviamente os dados não poderiam ser copiados porque não conteriam os dados não criptografados. Mas se você de alguma forma fez o computador descriptografar os dados toda vez que uma função de leitura é chamada do computador e criptografar os dados toda vez que uma função de gravação é chamada do computador, acho que funcionaria.

Também tenho certeza de que a velocidade seria um problema muito grande se um disco rígido funcionasse dessa maneira, mas quem sabe, talvez o vejamos no futuro. Além disso, o problema é que qualquer pessoa que realmente desejasse obter os dados nesse disco rígido poderia saber o que estava fazendo, removendo a chamada de criptografia toda vez que uma função de gravação é chamada, levando a um disco rígido não criptografado.

Enfim, isso é apenas uma idéia, e eu realmente não vejo isso como uma solução muito boa no futuro próximo.

hetelek
fonte
1

Se um arquivo puder ser lido, ele poderá ser copiado. Afinal, copiar é o mesmo que dizer ao seu computador para ler seu arquivo e copiar o que vê. Quando você lê um arquivo, seu conteúdo é carregado na RAM. Quando você copia um arquivo, o conteúdo é carregado na RAM e gravado da RAM no HDD. Como a RAM não está sob seu controle, você não pode parar o segundo passo.

Se houver apenas um (ou alguns) tipos de arquivos que você deseja compartilhar (por exemplo, texto, vídeos, ppts etc.), siga estas etapas (são necessários recursos de programação):

  1. Anexe um pouco de dados de lixo ao início de cada arquivo (use um programa). Os dados devem ser facilmente removíveis de maneira previsível e, se você desejar, torná-los derivados do nome do arquivo. Por exemplo, você pode acrescentar o hash md5 do nome do arquivo ao arquivo. Para removê-lo, basta remover o hash. Esta etapa tornará todos os arquivos inúteis para o seu amigo copiar, pois eles não funcionarão normalmente.
  2. Use uma API para escrever um visualizador simples (vídeo | imagem | texto | qualquer outro tipo de arquivo que você precisar). Java seria bom (APIs suficientes por aí).
  3. Programe seu visualizador de arquivos para remover os dados do lixo de cada arquivo antes de abri-lo (observe que ele não deve ser removido permanentemente do arquivo, apenas remova-o da cópia que carrega na RAM)
  4. Programe o seu visualizador de arquivos para funcionar apenas no disco rígido externo. Você pode fazer isso intercalando os arquivos do sistema no disco rígido (use attrib + s + h na linha de comando do Windows) e solicite-os na inicialização do programa. Você também pode fazer com que não funcione se estiver na unidade C: (veja o caminho atual com File.getCanonicalNamespace)

    5. Lá vai você! Seu amigo pode visualizar todos os arquivos usando o visualizador, mas os arquivos em si são quase inúteis.

O método não funcionará para documentos de texto, mas seu algoritmo de criação de lixo pode ser mais sofisticado para distorcer todo o arquivo de maneira reversível (rot13 é um exemplo simples).

Nem esse método seria recomendado se você tiver apenas uma cópia do material. O mangá deve ser reversível, mas as coisas podem dar errado.

Um pouco incomodado em fazer tudo isso, mas a única maneira de pensar. É exatamente como a Netflix e todos tornam seus filmes on-line invencíveis. Eles usam seus próprios formatos (provavelmente muito mais sofisticados do que isso) e têm seu próprio visualizador.

A proteção contra gravação pode ser feita, mas é facilmente quebrável (quem tem o dispositivo físico tem tudo).

Se você tiver uma cópia separada desses arquivos, o uso do método de proteção contra cópia acima protegerá automaticamente os arquivos contra gravação, pois o usuário não poderá editar os arquivos sutilmente. Ele pode excluí-los.

Se você não tiver uma cópia separada, os sistemas de arquivos NTFS terão uma opção somente leitura; mas isso é facilmente ignorado.

Manishearth
fonte
1
Observe que este programa ainda seria hackável. Java.lang.reflect permite abrir um programa. Espero que seu amigo não vá a esse ponto.
Manishearth
1

Todo mundo ... tenha paciência comigo , este é um exercício de ser ingênuo.

Eu acho que o OP estava pedindo algo simples . Também considero que, se você propõe uma pergunta tão profunda a muitas pessoas, muitas vão pensar demais.

O objetivo aqui não é impedir ou garantir que eles façam qualquer coisa. Na verdade, é tão trabalhoso contornar o que eles querem fazer - que eles preferem desistir ou obtê-lo "da maneira mais fácil" de comprar ou o que quer.

Portanto, a verdadeira questão é: " Como dificultar as coisas para um amigo meu, se ele tentar copiar esses arquivos ".

SE assumimos que seu amigo é a pessoa comum e não é capaz de ler a memória e assumimos que ele não vai ler este post ... :-)

Como sugerido acima, uma API pode funcionar.
Lembre-se de que qualquer coisa lida na memória é "obtida".
O mesmo pode ser dito para o sistema de arquivos, obviamente.

Em cima da minha cabeça, alguém poderia construir um intérprete.
É um conceito frouxo, mas acho que funcionaria bem.

Se você não quiser escrever coisas, não prossiga.


Coisas Nerd

Então, criptografe seu disco rígido.
Existem muitos outros tópicos sobre como fazer isso, para não abordar isso aqui.
Quando você o criptografa, faz sentido poder descriptografá-lo.

Você pode usar as teclas aqui. Se você escreveu um arquivo binário, que continha a chave privada + uma chave salt que era única (ou muito próxima de exclusiva) do hardware que estava compartilhando - como o número de série do dispositivo. O arquivo binário descriptografaria os arquivos e os leria em um wrapper.

Portanto, se os arquivos e o binário fossem movidos para outro dispositivo ... isso simplesmente falharia. Porque as chaves não correspondem conforme o esperado.

Agora - desde que uma pessoa verdadeiramente qualificada provavelmente ainda seja capaz de contornar isso de várias maneiras.

MAS - sua pessoa comum, provavelmente não vai querer investir tempo / esforço / dinheiro.

Alguma leitura leve:
http://en.wikipedia.org/wiki/Disk_encryption

Algum software (para que você possa brincar com criptografia):
http://www.truecrypt.org/

O tipo mais fácil de "invólucro" que você pode criar é um aplicativo Adobe Air ...
http://www.adobe.com/products/air.html

Isso funcionará em várias plataformas (em teoria).
A barreira para entrar nesse tipo de programação é relativamente baixa.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/


Espero que isso tenha ajudado de alguma maneira.

Sterling Hamilton
fonte
A verdadeira questão é: "Como dificultar as coisas para um amigo meu, se ele tentar copiar esses arquivos?" O tipo de resposta que o OP pode estar procurando é, por exemplo, converter todos os seus documentos de texto em PDFs (ou ficar medieval no seu ** e convertê-los em JPEGs ou TIFFs). Embora esses arquivos possam ser copiados, a recuperação do texto original em um formato utilizável exige um pouco de esforço.
Scott
1

Não é trivial com dados digitais, graças às ótimas ferramentas de código aberto disponíveis. No entanto, você pode criar seu próprio formato criptografado, que deve hardser quebrado para fins de cópia. Pense em conteúdo protegido por DRM.

do utilizador
fonte
0

O melhor que você pode fazer é usar algum tipo de soma de verificação, hash MD5 ou similar, para poder pelo menos detectar se algo foi alterado no disco rígido. Você não pode impedir ninguém de modificar dados na unidade se eles tiverem acesso físico, mas pode prometer que eles não o façam e explicar a eles que você poderá detectar se eles o fizeram.

vsz
fonte
0

Não. Você pode usar uma mídia protegida contra gravação para impedir a edição, mas se os dados estiverem legíveis, sempre será possível armazenar o fluxo de leitura em outro local para reproduzi-lo.

É claro que é possível percorrer algumas milhas extras exigindo uma rotina de descriptografia de imposição de conexão on-line, mas mesmo assim o usuário pode simplesmente registrar a resposta dos servidores e falsificar a Internet.

Você pode ir quântico e tentar aplicar o teorema da não-clonagem , mas como os dados lidos ainda serão acessados ​​de maneira clássica, a saída poderá ser copiada novamente.

Resumindo: não perca tempo tentando proteger os dados legíveis da cópia e invista-os em algo útil. Indo ao cinema, por exemplo.

Tobias Kienzler
fonte
-2

Você pode compartilhar seu disco rígido via LAN . Dessa forma, ele não terá acesso físico ao disco rígido. Você não precisa criptografá-lo para isso. Basta definir as permissões corretamente e você estará a caminho.

Você pode configurar o SSH. Google sobre como configurar o SSH na sua plataforma. Existem muitos pacotes de software disponíveis para compartilhar dados entre computadores.

DragonSlay3r
fonte
1
E daí? Ele pode simplesmente registrar o fluxo de rede para reproduzir os dados
Tobias KIENZLER