Posso crittografare i dati in modo che possano essere letti normalmente ma non possano essere copiati o modificati? [chiuso]


41

Voglio condividere il mio disco rigido da 500 GB con un amico, ma voglio crittografarlo in modo che tutti i dati possano essere letti normalmente ma non possano essere copiati o modificati in alcun modo.

È possibile?


112
Hollywood ucciderebbe per una tale caratteristica - e no, nonostante milioni di investimenti, non hanno nemmeno trovato una soluzione.
MSalters,

10
Molte, se non la maggior parte, le risposte qui pongono la domanda implicita o addirittura esplicita "Cosa intendi veramente?". Potresti voler chiarire la tua domanda, in particolare cosa intendi con "può essere letto normalmente" e "non può essere copiato".
Zano,

111
Bel tentativo, RIAA / MPAA!
Narayan,

7
Abbiamo conversazioni su questo abbastanza spesso al Security Stack Exchange. Leggi questa domanda e le risposte: esistono tecniche DRM per prevenire efficacemente la pirateria? per alcune informazioni utili. La risposta migliore per il punteggio è di una delle mod su Crypto Stack Exchange - ma abbiamo punti di vista dal crittografico al puramente pratico.
Rory Alsop,

7
@JarrodRoberson: spero che tu non sia serio. All'OP: non puoi semplicemente controllarlo? Perché è così importante che dovrebbero essere in grado di leggere così tanti dati, ma non di copiarli? Cosa sarebbero in grado di fare con una copia dei dati che non sarebbe possibile con l'originale?
James,

Risposte:


201

Se riesci a leggerlo, puoi copiarlo. Un concetto che RIAA o MPAA devono ancora comprendere.

Nota: questa risposta non è considerata una buona risposta secondo le linee guida di Stack Exchange . Tuttavia, viene mantenuto per la sua popolarità ed efficacia nel contesto della domanda.


5
@Michael Non c'è niente di speciale nei dispositivi speciali in questo senso, lo stesso vale. Se riesci a leggerlo, puoi copiarlo.
Konrad Rudolph,

10
@Michael Dipende da cosa intendi per "copia". Certamente È possibile copiare da /dev/zero in modo normale (il modo normale = dd, cato qualsiasi altra cosa solletica la vostra fantasia). Puoi anche copiare da /dev/null, ma copierà zero byte, semplicemente perché è vuoto: non c'è niente da copiare. Probabilmente stai tentando (e non riesci) di copiare il dispositivo come file . Ciò ovviamente fallisce, perché non è un file. Lo stesso accadrebbe se provassi a copiare qualsiasi altro dispositivo, trattandolo come un file.
Konrad Rudolph,

15
Penso che sarebbe bene espandere un po 'questa risposta . Sta a 136 voti positivi e in sostanza non è più lungo di una frase, che non è in realtà un esempio di una "buona" risposta - almeno in termini di scambio di stack.
slhck,

9
Avevo pensato di farlo, ma in realtà non riuscivo a pensare a nient'altro che avrebbe dovuto essere detto. È un problema davvero fondamentale che richiede una descrizione concisa, secondo me comunque.
Sirex,

6
@slhck: è una risposta piuttosto semplice a una domanda piuttosto semplice: D: "Posso crittografare (o trasformare in qualche modo) un dato in modo che non possa essere copiato?" risposta: No. Se sei in grado di leggerlo, allora quello che stai leggendo può essere scritto altrove.
KeithS,

76

Una "copia" è definita come lettura dei dati e quindi scrittura degli stessi dati in un'altra posizione. Dal momento che ha letto i tuoi dati sul suo computer, i dati saranno sotto il suo controllo al momento. Può quindi fare tutto ciò che gli piace.

L'unica cosa che può essere a malapena possibile è proteggere i tuoi dati da modifiche non autorizzate. Avresti bisogno di un NTFS o di un filesystem simile. Ma anche in quel caso, sarebbe in grado di leggere tutti i dati, formattare il disco, cancellare tutte le autorizzazioni e riscrivere tutti i file, possibilmente modificati.

[modifica] 500 GB sono solo miliardi di numeri. Mi permetta di bollire giù ad un semplice esempio: 5. Questo è un numero. Puoi leggerlo e niente che io possa fare ti impedirà di scrivere quel numero. Né posso impedirti di scrivere il numero 6.


18
+1 per la spiegazione della copia. Inoltre, il tuo secondo punto illustra un altro noto principio di sicurezza informatica: l'accesso fisico significa "game over". Se qualcuno ha il controllo fisico del tuo disco, può fare quello che vuole con esso. L'unica cosa che potresti essere in grado di fare è impedire loro di leggere i suoi contenuti utilizzando una crittografia avanzata.
Nathan Long,

17
Quello che puoi fare è firmare in modo crittografico i dati originali e quindi verificare se i dati corrispondono ancora a quella firma. In tal caso, sai che non è stato modificato. È una protezione matematicamente valida. Ma la matematica non può impedire in primo luogo di creare un altro set di dati basato sull'originale (e facoltativamente, sottilmente modificato).

2
500 GB è anche un numero davvero molto grande
Anne Nonimus,

11

No, non è assolutamente possibile.


23
Bene, potresti stare dietro l'amico con una pistola che gli dice di non copiare le informazioni. Non pratico ma sicuramente fattibile.
Barfieldmv,

3
Barfieldmv: il tuo amico potrebbe configurare il computer in anticipo per copiare automaticamente tutte le informazioni durante la lettura.
Salta la testa il

9
@Barfieldmv: xkcd.com/538
orlp,

4
@SkipHead Potrebbe anche aver già copiato i dati quando non eri in giro. Dovresti semplicemente sparargli e farcela: D
Barfieldmv,

11

Proviamo a chiedere un po ', vuoi che non modifichi i file senza il tuo preavviso? In tal caso, è possibile eseguire il checksum di tutti i file e verificare nuovamente.

Un altro modo è un blocco della scrittura hardware, puoi guardare qui: http://www.forensicswiki.org/wiki/Write_Blockers


3
Mi sono sempre chiesto se tagliare il pin n ° 23 su un cavo PATA avrebbe funzionato, se così fosse stato preso un ~ $ 800
boxcutter

@Shadok: il prezzo non riflette la parte tecnica - bloccare le scritture per la maggior parte delle unità moderne è davvero tecnicamente semplice (bloccare le modifiche ad esempio agli attributi SMART, ora è una storia diversa). È il business della "certificazione" - vedi che "NIST Ver. 2 accettato" blurb? Questo è il punto: non è necessario dimostrare a un tribunale che il dispositivo blocca effettivamente e in modo affidabile le scritture (il che può ottenere, in qualche modo , anche diversi ordini di grandezza oltre gli $ 800).
Piskvor,

7

La crittografia è solo matematica . Pensaci un po 'e capirai meglio le sue capacità e limitazioni:

  • Puoi usare la matematica per verificare che un messaggio sia il messaggio giusto e sia stato copiato correttamente, senza copiare l'intero messaggio due volte (semplici checksum , a volte ti imbatterai in essi durante il download del software).
  • Puoi usare la matematica per verificare che qualcuno che conosce il numero magico abbia approvato il messaggio. ( firme crittografiche ).
  • Puoi usare la matematica per decodificare un messaggio finché non arriva qualcuno con i numeri giusti per decodificare un messaggio ( crittografia ).

Ma non puoi usare la matematica per impedire alle persone di copiare un messaggio. Questo non è qualcosa che la matematica può fare . (La copia dei dati è meno "matematica" e più "fisica". :)

Il più vicino che puoi venire è usare la matematica per crittografare alcuni dati, usare la matematica per verificare che un computer stia eseguendo solo il software che vuoi che funzioni, e solo allora dai al computer il numero magico per decrittografare i dati, nel frattempo assicurandoti in più che il software non finisca per far uscire il numero magico o consentire a chiunque di copiare i dati. Si tratta di informatica fidata ed è più o meno ciò che cercano di fare cose come lettori DVD e console per videogiochi. È poco pratico per la maggior parte delle configurazioni e tende a finire in un modo o nell'altro (ad es. 09 f9 ).


6

Per quanto ne so, esistono modi per ridurre il rischio di alterazione dei dati sul disco rigido, tramite software e hardware. Tuttavia, una volta che il tuo amico ha il tuo disco rigido, potrebbe probabilmente aggirare o sovrascrivere qualsiasi metodo di protezione dalla scrittura, se ci mette abbastanza impegno. Per esempio:

  • Protezione da scrittura tramite jumper sul disco rigido; il ponticello può essere rimosso o modificato (anche se si salda il ponticello, è possibile rimuovere la saldatura)
  • Protezione da scrittura tramite clipping o modifica degli interni del disco rigido; gli interni potrebbero essere riparati, oppure i dischi stessi potrebbero probabilmente essere spostati in un disco rigido pulito (probabilmente comportando un grande sforzo ...)
  • Protezione da scrittura tramite software; i dati sul disco sono solo 1s e 0s alla fine della giornata - qualsiasi blocco può essere modificato. Se il tuo amico non è preoccupato di conservare i dati, potrebbe semplicemente fondere l'unità in una fornace. Ciò altererebbe sicuramente i dati ...

Come altri hanno già detto, è impossibile impedire la copia, perché se può essere letta, può essere copiata.

Potresti provare a chiedere al tuo amico di non copiare o cambiare nulla. Presumibilmente, se sono tuoi amici, sarebbero felici di rispettare ...


5

Impedisci le modifiche copiando

Anche se non si può lasciare che qualcuno leggere i dati e allo stesso tempo impedire la copia, c'è un modo molto semplice che si può facilmente impedire loro di modificarlo: non dare loro l'originale .

Se copi i tuoi dati su un disco rigido separato e conservi l'originale, chiaramente il destinatario della copia non può modificare l'originale.

Ciò sconfigge immediatamente la tua richiesta "impossibile copiare", ma è comunque impossibile soddisfare.


Streaming tutto il contenuto dell'unità in un'app sicura che consente solo la visualizzazione dei dati dovrebbe essere sufficiente. Un desktop remoto su una macchina sicura può visualizzare tutto ma non fare nulla che non sia consentito.
Barfieldmv,

@Barfieldmv - forse vero, ma 1) lo streaming in un'app visualizzatore è una forma di copia, 2) la soluzione desktop remoto presuppone che non vi siano buchi di sicurezza lì, 3) entrambi sono più difficili e più aperti all'errore che fare un semplice copia. Se il mio disco rigido non è fisicamente disponibile, posso garantire che non è possibile modificarlo. Se hai qualche tipo di accesso alla rete, c'è sempre la possibilità che tu sappia di un hack che non ho protetto.
Nathan Long,

Lo streaming di 100 grammi di film in qualità ridotta potrebbe rendere poco pratico "copiare" i dati effettivi, ma potrebbe essere sufficiente per il poster originale. La protezione della rete decente è offcourse una base per la sicurezza richiesta e dovrebbe essere un dato di fatto.
Barfieldmv,

5

Il teorema della non clonazione può aiutarti, se avessi un computer quantistico. Tuttavia, la clonazione imperfetta sarebbe ancora possibile:

Il teorema della non clonazione è il risultato della meccanica quantistica che proibisce la creazione di copie identiche di uno stato quantistico sconosciuto arbitrario. [...] La clonazione è un processo il cui risultato finale è uno stato separabile con fattori identici.


3
Tuttavia, questi sono dati che non puoi leggere neanche. È possibile utilizzare in modo distruttivo tali dati. La domanda presumeva dati leggibili.
Salteri il

4

Come molti altri hanno sottolineato, in circostanze normali "condividere e leggere normalmente" implica "può essere copiato", e la risposta alla tua domanda è "no".

L'unico modo per arrivare a "sì" è ridefinire "leggi normalmente" cambiando le circostanze:

Blocca il tuo amico in una stanza, consegna un dispositivo su cui hai inserito una chiave, assicurati che il dispositivo non abbia I / O o rete che possa consentire la copia, assicurati che il tuo amico non possieda una fotocamera o una memoria fotografica (con la quale per copiare il display), recuperare il dispositivo e riportarlo in uno stato illeggibile, rimuovere il dispositivo, quindi liberare il proprio amico dalla stanza. (Nota: se riescono a esaminare il dispositivo in profondità, possono comunque trovare chiavi private o effimere, quindi "nessun I / O" significa mancanza di accesso fisico agli interni.)

Ti sembra "letto normalmente"? Se è così, sei pronto. Tuttavia, non farei affidamento sul prendere l'abitudine o costruire un piano aziendale attorno al processo.


1
Questo succede con i nuovi album di alcune band più grandi: gli iPod bloccati in armadi con guardie di sicurezza lì. L'idea è che i recensori possano ascoltare l'album prima della sua uscita ufficiale senza il rischio di perdite. È sicuramente successo con un album dei Coldplay.
Ricco

@Rich: cosa impedisce loro di impiantare un registratore in un dente? Puoi rendere più difficile la copia quando concedi l'accesso in lettura, ma non puoi mai renderlo impossibile.
Emilio M Bumachar,

@EmilioMBumachar è vero, ma se qualcuno è abbastanza matto da spingersi fino al prossimo album dei Coldplay va oltre lo scopo di questa discussione :)
Ricco il

4

Lettura della copia IS .

Tutti i dati a cui accedi su qualsiasi computer sono una copia dei dati sul disco rigido, che è stata copiata nella RAM (memoria) del computer, non i dati effettivi sul disco rigido stesso. Se vuoi davvero approfondire, ci sono più copie intermedie in tutto il controller del disco rigido e vari sottoinsiemi di memoria del computer, ma questo è interessante solo per i tecnogeek. Quando visiti un sito Web, le informazioni sul disco rigido del server di quel sito Web vengono copiate sul disco rigido del tuo computer e quindi nella sua memoria, quindi è un ulteriore passo in avanti. E non ho nemmeno incluso la memoria del server, né i pacchetti di dati inviati su Internet, tra molti altri passaggi di copia.

Stai chiedendo di consentire che qualcosa accada e quindi non consentirlo. È possibile, forse, in un caso estremo di una società draconiana in cui tutti obbediscono alla sentenza del governo contro la "copia". Leggi il tentativo di Sony di fare questo qui e quanto brutto può arrivare: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal


3

Cosa puoi fare:

  1. Firma digitalmente ogni file (o, in alternativa, un filesystem) in modo tale che qualsiasi modifica fallisca la firma e non sia valida.
  2. Crittografa il filesystem in modo che nessuno tranne te e il tuo amico possa vederlo.
  3. Fornisci al tuo amico un computer sul quale hai il pieno controllo, per rendergli molto più difficile la copia dei dati.

Cosa non puoi fare:

  1. Impedisci al tuo amico, se è in grado di leggere un file sul proprio computer, di copiarlo.
  2. Impedisci al tuo amico di firmare digitalmente il proprio filesystem, a meno che tu non usi una terza parte affidabile per gestire i tuoi certificati di autenticazione.

Cosa non dovresti fare:

  1. Fornisci informazioni sensibili a qualcuno di cui non ti fidi.

1

Direi di no, proprio come tutti gli altri sopra, ma posso dare una breve idea di come si può fare.

Se ogni file sul disco rigido fosse crittografato con una chiave, i dati ovviamente non potevano essere copiati perché non contenevano i dati non crittografati. Ma se in qualche modo hai fatto in modo che il computer decifrasse i dati ogni volta che viene chiamata una funzione di lettura dal computer e crittografassi i dati ogni volta che viene chiamata una funzione di scrittura dal computer, penso che funzionerebbe.

Sono anche abbastanza sicuro che la velocità sarebbe un grosso problema se un disco rigido funzionasse in questo modo, ma chissà, forse lo vedremo in futuro. Inoltre, la cosa su questo è che chiunque volesse davvero ottenere i dati su questo disco rigido potrebbe se sapesse cosa stavano facendo, rimuovendo semplicemente la chiamata di crittografia ogni volta che viene chiamata una funzione di scrittura, portando a un disco rigido non crittografato.

Comunque, questa è solo un'idea, e davvero non vedo che sarà un'ottima soluzione nel prossimo futuro.


1

Se un file può essere letto, può essere copiato. Dopotutto, copiare equivale a dire al tuo computer di leggere il tuo file e copiare tutto ciò che vede. Quando leggi un file, il suo contenuto viene caricato nella RAM. Quando si copia un file, i contenuti vengono caricati nella RAM e scritti dalla RAM all'HDD. Poiché la RAM non è sotto il tuo controllo, non puoi interrompere il secondo passaggio.

Se esistono solo uno (o pochi) tipi di file che si desidera condividere (ad es. Testo, video, ppts, ecc.), Attenersi alla seguente procedura (sono necessarie capacità di programmazione):

  1. Prepara un po 'di dati inutili all'inizio di ogni file (usa un programma). I dati dovrebbero essere facilmente rimovibili in modo prevedibile e, se lo si desidera, renderli derivabili dal nome file. Ad esempio, puoi anteporre l'hash md5 del nome file al file. Per rimuoverlo, devi solo rimuovere l'hash. Questo passaggio renderà inutili tutti i file da copiare per il tuo amico, poiché non funzioneranno normalmente.
  2. Utilizzare un'API per scrivere un semplice visualizzatore (video | immagine | testo | qualunque altro tipo di file sia necessario). Java sarebbe carino (abbastanza API là fuori).
  3. Programma il tuo fileviewer per rimuovere i dati spazzatura da ogni file prima di aprirlo (nota che non dovrebbe rimuoverlo permanentemente dal file, rimuovilo dalla copia che carica nella RAM)
  4. Programma il tuo fileviewer per funzionare solo sul disco rigido esterno. Puoi farlo intervallando i file di sistema nell'HDD (usa attrib + s + h nella riga di comando di Windows) e richiedili all'avvio del programma. Puoi anche farlo funzionare se è nell'unità C: (guarda il percorso corrente con File.getCanonicalNamespace)

    5.Dove vai! Il tuo amico può visualizzare tutti i file utilizzando il visualizzatore, ma i file stessi sono quasi inutili.

Il metodo non funzionerà per i documenti di testo, ma l'algoritmo di creazione dei rifiuti può essere reso più sofisticato per alterare l'intero file in modo reversibile (rot13 è un semplice esempio).

Né questo metodo sarebbe consigliato se si dispone di una sola copia del materiale. La confusione dovrebbe essere reversibile, ma le cose possono andare storte.

Un po 'fastidio fare tutto questo, ma l'unico modo a cui riesco a pensare. È esattamente come Netflix e tutti rendono i loro film online inarrestabili. Usano i loro formati (probabilmente molto più sofisticati di così) e hanno il loro visualizzatore.

La protezione dalla scrittura può essere eseguita, ma è facilmente crackabile (chiunque abbia il dispositivo fisico ha tutto).

Se si dispone di una copia separata di questi file, l'utilizzo del metodo di protezione dalla copia sopra riportato proteggerà automaticamente i file, poiché l'utente non sarà in grado di modificarli sottilmente. Può eliminarli.

Se non si dispone di una copia separata, i file system NTFS hanno un'opzione di sola lettura; ma questo è facilmente aggirabile.


1
Si noti che questo programma sarebbe comunque hackerabile. Java.lang.reflect consente di impostare un programma completamente aperto. Spero che il tuo amico non andrà in quella misura.
Manishearth,

1

Tutti ... sopportatemi , questo è un esercizio per essere ingenui.

Penso che l'OP chiedesse qualcosa di semplice . Penso anche che se proponi una domanda così profonda a un gruppo di persone, molti la penseranno troppo.

L'obiettivo qui non è impedire o garantire loro di fare qualcosa. In realtà è per fare così tanto lavoro per aggirare ciò che vogliono fare - che preferirebbero rinunciare o ottenerlo "nel modo più semplice" di acquisto o altro.

Quindi la vera domanda è: " Come faccio a rendere le cose difficili per un mio amico se prova a copiare questi file ".

SE supponiamo che il tuo amico sia la persona media e non sia in grado di leggere la memoria e supponiamo che non leggeranno questo post ... :-)

Come suggerito sopra, un'API potrebbe funzionare.
Ricorda che qualsiasi cosa letta in memoria è "ottenibile".
Lo stesso si può dire per il file system, ovviamente.

In cima alla mia testa, si potrebbe costruire un interprete.
È un concetto ampio, ma penso che funzionerebbe bene.

Se non vuoi scrivere cose da solo, non procedere oltre.


Nerd Stuff

Quindi crittografa il tuo hard disk.
Ci sono molti altri thread su come farlo, quindi non lo tratterò qui.
Quando lo crittografate, ha senso solo essere in grado di decrittografarlo.

Puoi usare le chiavi qui. Se hai scritto un file binario, che conteneva la chiave privata + una chiave salt che era univoca (o molto simile a univoca) per l'hardware che stavi condividendo, come il numero di serie del dispositivo. Il file binario decodifica i file e li legge in un wrapper.

Quindi se i file e il file binario fossero spostati su un altro dispositivo ... fallirebbe. Perché le chiavi non corrispondono come previsto.

Ora, è scontato che una persona veramente qualificata sarebbe probabilmente ancora in grado di aggirare il problema in diversi modi.

MA - la persona media, probabilmente non vorrà investire tempo / fatica / denaro.

Qualche lettura leggera:
http://it.wikipedia.org/wiki/Disk_encryption

Alcuni software (in modo da poter giocare con la crittografia):
http://www.truecrypt.org/

Il tipo più semplice di "wrapper" che potresti creare è un'app Adobe Air ...
http://www.adobe.com/products/air.html

Funzionerà su più piattaforme (in teoria).
La barriera all'ingresso in questo tipo di programmazione è relativamente bassa.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/


Spero che questo abbia aiutato in qualche modo.


La vera domanda è: "Come faccio a rendere le cose difficili per un mio amico se tenta di copiare questi file?" Il tipo di risposta che l'OP potrebbe cercare è, ad esempio, convertire tutti i tuoi documenti di testo in PDF (o diventare medievale sul suo a ** e convertirli in JPEG o TIFF). Mentre questi file possono essere copiati, il recupero del testo originale in una forma utilizzabile richiede un po 'di sforzo.
Scott,

1

Non banale con i dati digitali, grazie ai grandi strumenti open source disponibili. Tuttavia, è possibile creare il proprio formato crittografato hardda interrompere a scopo di copia. Pensa al contenuto protetto da DRM.


0

Il meglio che puoi fare è usare un qualche tipo di checksum, hash MD5 o simile, per essere in grado di rilevare almeno se qualcosa è stato cambiato sul tuo disco rigido. Non puoi impedire a nessuno di modificare i dati sull'unità se hanno accesso fisico, ma puoi promettergli di non farlo e spiegare loro che sarai in grado di rilevare se lo hanno fatto.


0

No. È possibile utilizzare un supporto protetto da scrittura per impedire la modifica, ma se i dati sono leggibili, è sempre possibile memorizzare il flusso di lettura in un altro posto per riprodurlo.

Ovviamente puoi fare qualche chilometro in più richiedendo una connessione online che imponga la routine di decrittazione, ma anche in questo caso l'utente può semplicemente registrare la risposta dei server e falsificare Internet.

Puoi andare quantistico e provare ad applicare il teorema della non clonazione , ma poiché i dati letti saranno ancora accessibili in modo classico, l'output può essere nuovamente copiato.

In breve: non perdere tempo a cercare di proteggere i dati leggibili dalla copia e invece investili in qualcosa di utile. Andare al cinema, per esempio.


-2

È possibile condividere il disco rigido tramite LAN . In questo modo non avrà accesso fisico all'hard disk. Non è necessario crittografarlo affatto per questo. Basta impostare le autorizzazioni giuste e sei sulla buona strada.

È possibile configurare SSH. Google su come configurare SSH nella tua piattaforma. Esistono molti pacchetti software disponibili per condividere dati tra computer.


1
e allora? Può semplicemente registrare il flusso di rete per riprodurre i dati
Tobias Kienzler,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.