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

41

Eu 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 qualquer forma.

Isso é possível?

    
por Jilos 21.02.2012 / 18:01

18 respostas

203

Se você pode lê-lo, você pode copiá-lo. Um conceito que a RIAA ou a MPAA ainda precisam entender.

Observação: essa resposta não é considerada uma boa resposta de acordo com diretrizes do Stack Exchange . No entanto, é retido devido à sua popularidade e eficácia no contexto da questão.

    
por 20.03.2017 / 11:29
77

Uma "cópia" é definida como a leitura de dados e a gravação dos mesmos dados em outro local. Desde que ele leu seus dados em seu computador, 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 sistema de arquivos NTFS ou similar. 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 modificados.

[editar] 500 GB são apenas bilhões de números. Deixe-me resumir em 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. Também não posso evitar que você escreva o número 6 .

    
por 21.02.2012 / 09:49
11

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

    
por 20.02.2012 / 10:13
11

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

Outra maneira é um bloqueador de gravação de hardware, você pode procurar aqui: link

    
por 20.02.2012 / 10:15
7

A encriptação é apenas matemática . Pense nisso um pouco e você entenderá melhor suas capacidades e limitações:

  • Você pode usar matemática para verificar se uma mensagem é a mensagem certa e foi copiada corretamente, sem copiar a mensagem inteira duas vezes (simples somas de verificação , você as encontrará algumas vezes ao baixar o software). / li>
  • 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 remover uma mensagem ( criptografia ).

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

O mais próximo que você pode chegar é usar matemática para criptografar alguns dados, usar matemática para verificar se um computador está executando apenas o software que você quer que ele esteja rodando, e só então dar ao computador o número mágico para descriptografar os dados, entretanto, garantem ainda mais a certeza de que o software não acaba com o número mágico ou permite que alguém copie os dados. Isso é computação confiável e é mais ou menos o que coisas como leitores de DVD e consoles de videogame tentam fazer. É menos do que prático para a maioria das configurações, e tende a acabar sendo quebrado de uma forma ou de outra (por exemplo, 09 f9 ).

    
por 20.02.2012 / 21:48
6

Tanto quanto eu sei, existem maneiras de reduzir o risco de alteração de dados no seu disco rígido, via software e hardware. No entanto, uma vez que seu amigo tenha seu disco rígido, eles provavelmente poderiam contornar ou substituir qualquer métodos de proteção contra gravação, se eles colocassem bastante esforço nele. Por exemplo:

  • Proteger por meio de jumper no disco rígido; o jumper pode ser removido ou alterado (mesmo se você soldar o jumper, a solda pode ser removida)
  • Proteger contra gravação por meio de recorte ou alteração dos componentes internos do disco rígido; internals poderiam ser consertados, ou os próprios discos poderiam provavelmente ser movidos para um disco rígido limpo (possivelmente envolvendo muito esforço ...)
  • Proteger contra gravação via software; os dados na unidade são apenas 1s e 0s no final do dia - qualquer bloco pode ser alterado. Se o seu amigo não estiver preocupado em preservar os dados, ele pode simplesmente derreter o disco em uma fornalha. Isso definitivamente alteraria os dados ...

Como outros já disseram, é impossível impedir a cópia, porque se ela puder ser lida, ela pode 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 ...

    
por 20.02.2012 / 13:37
5

Impedir edições copiando

Embora você não possa permitir que alguém leia seus dados e, simultaneamente, impeça a cópia, há uma maneira muito simples que você pode impedir facilmente de editá-los: 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 seu original.

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

    
por 20.02.2012 / 14:56
5

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

The no-cloning theorem is a result of quantum mechanics that forbids the creation of identical copies of an arbitrary unknown quantum state. [...] Cloning is a process whose end result is a separable state with identical factors.

    
por 20.02.2012 / 17:10
4

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

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

Trave seu amigo em uma sala, entregue um dispositivo no qual você digitou uma chave, certifique-se de que o dispositivo não tenha E / S ou rede que permita a cópia acontecer, garanta que seu amigo não possua uma câmera ou uma memória fotográfica (com o qual copiar a exibição), recuperar o dispositivo e retorná-lo a um estado ilegível, remover o dispositivo e liberar seu amigo da sala. (Observe que, se eles puderem examinar o dispositivo em profundidade, ainda poderão encontrar chaves privadas ou efêmeras, de modo que "sem E / S" significa falta de acesso físico aos internos.)

Isso soa como "ler normalmente" para você? Se assim for, está tudo pronto. Eu não contaria em fazer disso um hábito ou construir um plano de negócios ao redor do processo.

    
por 20.02.2012 / 18:25
4

Lendo cópia IS .

Qualquer dado que você acessar em qualquer computador é uma cópia dos dados no disco rígido, que foram copiados para a RAM (memória) do computador, não para 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 de disco rígido e vários subconjuntos de memória de computador, mas isso é interessante para os especialistas em tecnologia. Quando você visita um site, as informações do disco rígido do servidor desse site são copiadas para o disco rígido do computador e, em seguida, para a memória, por isso é uma etapa extra mais profunda novamente. E nem incluí a memória do servidor, nem 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 permitir. É possível, talvez, em um caso extremo de uma sociedade draconiana, onde todos obedecem à decisão do governo contra a "cópia". Leia sobre a tentativa da Sony de fazer isso aqui e como ela pode ficar feia: link

    
por 28.02.2012 / 14:22
3

O que você pode fazer:

  1. Assina digitalmente cada arquivo (ou, alternativamente, um sistema de arquivos) para que qualquer modificação falhe na assinatura e seja inválida.
  2. Criptografe o sistema de arquivos para que ninguém, exceto 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 para ele copiar os dados.

O que você não pode fazer:

  1. Impeça seu amigo, se ele / ela pode ler um arquivo em seu próprio computador, de copiar esse arquivo.
  2. Impeça seu amigo de assinar 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 você não confia.
por 21.02.2012 / 15:52
1

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

Se todos os arquivos do 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, de alguma forma, você fizer o computador descriptografar os dados toda vez que uma função de leitura for chamada do computador e criptografar os dados toda vez que uma função de gravação for chamada do computador, acho que funcionaria.

Eu também tenho certeza que a velocidade seria um problema muito grande se um disco rígido funcionasse dessa maneira, mas quem sabe, talvez a veremos no futuro. Além disso, a coisa sobre isso é que qualquer pessoa que realmente quisesse obter os dados nesse disco rígido poderia se soubesse o que estava fazendo, apenas removendo a chamada de criptografia toda vez que uma função de gravação fosse chamada, levando a um disco rígido não criptografado.

De qualquer forma, isso é apenas uma ideia, e eu realmente não vejo isso como uma solução muito boa no futuro próximo.

    
por 20.02.2012 / 17:03
1

Se um arquivo puder ser lido, ele poderá ser copiado. Afinal, copiar é o mesmo que dizer ao seu computador para ler o seu arquivo e copiar o que ele vê. Quando você lê um arquivo, seu conteúdo é carregado na RAM. Quando você copia um arquivo, o conteúdo é carregado na RAM e escrito da RAM para o HDD. Já que 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 (os recursos de programação são necessários):

  1. Pré-transfira um pouco de dados inválidos para o início de cada arquivo (use um programa). Os dados devem ser facilmente removíveis de uma maneira previsível e, se você desejar, torná-los derivados do nome do arquivo. Por exemplo, você pode preceder o hash md5 do nome do arquivo para o 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 simples (video | image | text | qualquer outro tipo de arquivo que você precise) -viewer. Java seria legal (APIs suficientes por aí).
  3. Programe seu fileviewer para remover os dados de lixo de cada arquivo antes de abrir (note que ele não deve removê-lo do arquivo permanentemente, basta removê-lo da cópia carregada na RAM)
  4. Programe seu fileviewer para funcionar somente no disco rígido externo. Você pode fazer isso intercalando arquivos de sistema no HDD (use attrib + s + h na linha de comando do Windows) e os requer na inicialização do seu programa. Você também pode fazer com que não funcione se estiver no drive C: (veja o drivepath atual com File.getCanonicalNamespace)

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

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

Este método também não será recomendado se você tiver apenas uma cópia do material. O garbling deve ser reversível, mas as coisas podem dar errado.

Um pouco de incômodo para fazer tudo isso, mas a única maneira que eu posso pensar. É exatamente como a Netflix e todos tornam seus filmes on-line inacessí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, usar o método de proteção contra cópia acima protegerá automaticamente os arquivos, pois o usuário não conseguirá editar os arquivos de maneira sutil. Ele pode deletá-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 contornado.

    
por 20.02.2012 / 17:35
1

Todos ... suportem comigo , este é um exercício de ser ingênuo.

Eu acho que o OP estava pedindo por algo simples . Eu também acho que se você propõe uma questão tão profunda para um grupo de pessoas, muitos vão pensar nisso.

O objetivo aqui não é impedir ou garantir que eles façam algo. Na verdade, é para dar tanto trabalho para contornar o que eles querem fazer - que eles preferem desistir ou obtê-lo "da maneira mais fácil" de comprar ou o que quer que seja.

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

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

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

No topo da minha cabeça, pode-se construir um intérprete.
É um conceito solto, mas acho que funcionaria bem.

Se você não quer escrever coisas, então não continue.

Coisas de nerd

Portanto, criptografe seu disco rígido.
Há muitos outros tópicos sobre como fazer isso, então não cobrirei isso aqui.
Quando você criptografa, só faz sentido ser capaz de descriptografá-lo.

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

Então, se os arquivos e o binário foram movidos para outro dispositivo ... ele falharia. Porque as chaves não combinam como esperado.

Agora - admitimos que uma pessoa realmente habilitada provavelmente ainda conseguiria contornar isso de várias maneiras.

MAS - a sua pessoa média provavelmente não vai querer investir tempo / esforço / dinheiro.

Alguma leitura leve: link

Algum software (para que você possa brincar com criptografia): link

O tipo mais fácil de "wrapper" que você pode criar é um aplicativo do Adobe Air ...
link

Isso funcionará em várias plataformas (em teoria).
A barreira para entrar nesse tipo de programação é relativamente baixa. link

Espero que isso tenha ajudado de alguma forma.

    
por 23.02.2012 / 19:08
1

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

    
por 25.02.2014 / 10:25
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 seu disco rígido. Você não pode impedir ninguém de modificar dados na unidade se eles tiverem acesso físico, mas você pode fazer com que eles prometam não fazer isso e explicar a eles que você será capaz de detectar se eles o fizeram.

    
por 22.02.2012 / 08:29
0

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

Você pode, é claro, ir algumas milhas extras exigindo uma conexão online para impor a rotina de descriptografia, mas mesmo assim o usuário pode simplesmente registrar a resposta dos servidores e falsificar a internet.

Você pode ser quantum e tentar aplicar o teorema de não-clonagem , mas como os dados lidos ainda serão acessados de uma maneira clássica, a saída pode mais uma vez ser copiada.

Resumindo: não perca tempo tentando proteger os dados legíveis e copiando-os para algo útil. Indo ao cinema, por exemplo.

    
por 22.02.2012 / 13:49
-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 por isso. Basta definir as permissões corretamente e você está no caminho certo.

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.

    
por 21.02.2012 / 19:29