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?
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?
Risposte:
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.
/dev/zero
in modo normale (il modo normale = dd
, cat
o 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.
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
.
No, non è assolutamente possibile.
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
La crittografia è solo matematica . Pensaci un po 'e capirai meglio le sue capacità e limitazioni:
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 ).
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:
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 ...
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.
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.
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.
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
Cosa puoi fare:
Cosa non puoi fare:
Cosa non dovresti fare:
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.
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):
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.
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.
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.
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.
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.
È 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.