Come impedire il trasferimento illegale di file o la copia di file video da un PC? [chiuso]

-2

Ho sviluppato un'applicazione desktop Windows utilizzando VB.NET. Lo scopo principale delle mie applicazioni è quello di riprodurre video. Ho alcuni video che hanno diritti d'autore su di loro, che non devono essere distribuiti o trasferiti senza autorizzazione autorizzata.

Sto cercando un modo per impedire che quei video vengano copiati o trasferiti. Ho intenzione di installare questa applicazione su molti PC in luoghi e città. La mia più grande preoccupazione è come proteggere quei video da trasferimenti o distribuzione illegali.

So che molte società giganti hanno speso miliardi di dollari su come prevenire la privacy dei loro prodotti, ma ancora non possono impedirlo ... Quindi non mi aspetto di poter ottenere una soluzione al 100% su questo, ma ancora io voglio proteggerlo il più possibile.

Sto elencando alcune delle mie idee per impedire che i video vengano copiati. Fammi sapere se sbaglio dovunque.

  1. C'è un modo in cui posso fare in modo che un PC esegua la mia applicazione - nessuna altra applicazione, nessuno può vedere il desktop o aprire il menu di avvio o un prompt dei comandi o Windows Explorer o altro? All'avvio del PC, verrà avviata solo la mia applicazione e dalla mia applicazione il PC può essere spento.

  2. Posso creare il mio formato video personale per questi file video, che non possono essere convertiti in un normale file video cambiando semplicemente la sua estensione?

  3. Ho provato ad aggiungere questi video come file di risorse nel mio progetto di Visual Studio, ma non posso aggiungere video con una dimensione di file superiore a 500 MB. Ho file molto più grandi di quello.

  4. Posso convertire questi video in file Flash e aggiungervi del codice, quindi questi file possono essere eseguiti solo sulla mia macchina non su altri computer?

Qualsiasi tipo di suggerimento o soluzione o guida sono ben accetti.

    
posta bnil 04.05.2016 - 12:57
fonte

6 risposte

15

Come affermi nella domanda, farlo in un modo infallibile è tecnicamente impossibile. Perché il video venga visualizzato sullo schermo, deve risiedere in qualche modo nella RAM del computer, essere trasferito sul monitor e quindi visualizzato lì. Da tutti questi punti è possibile estrarre il video. I modi possibili includono:

  • Copia dalla RAM.
  • Registrato con il programma di cattura dello schermo.
  • Registrato con hardware progettato per registrare l'output dalla porta video.
  • Schermo filmato con una normale videocamera.

Quello che puoi fare è rendere più difficile per le persone copiare i video. Ciò che tutti questi sforzi hanno in comune è che sono fragili. Se i tuoi video sono obiettivi di alto valore, prima o poi chiunque abbia le competenze di base su Google potrà copiare i video. Ma se il tuo gruppo di utenti è piccolo, non tecnico e / o non motivato, potrebbe essere sufficiente un sottile velo di protezione.

Questo è chiamato Gestione dei diritti digitali (DRM).

Quindi come faresti a farlo? Vorrei usare un formato video normale e quindi crittografarlo (ad esempio con AES). Quando viene riprodotto un video, lo decifri nella RAM (in modo che il video decrittografato non tocchi mai il disco rigido) e riprodurlo. A prescindere dalla cosa di cui si parla, questo è vulnerabile alla chiave di crittografia che viene estratta da qualsiasi posizione di archiviazione.

Quindi dove memorizzi la chiave di crittografia? Il modo più semplice è limitarsi a codificarlo nel codice sorgente del tuo programma. Tuttavia, ciò significa che chiunque copierà il programma e i video sarà in grado di riprodurli. Si può giocare con diverse soluzioni in cui la chiave è nascosta (in qualche file oscuro, in un posto strano nel registro) o dove ogni installazione del programma è distribuita con la propria chiave di crittografia che decrittografa la chiave di crittografia universale che a sua volta decrittografa i video. Alla fine è comunque tutta sicurezza attraverso l'oscurità.

Oppure - e questa è la soluzione più semplice se è possibile - basta distribuire i video attraverso un distributore esistente che ha già il proprio DRM in atto.

EDIT: Utente billc.cn ha alcuni esempi di schemi DRM esistenti che puoi usare nella sua risposta. Ti consiglio vivamente di prenderli in considerazione prima di provare a eseguire il rollover.

    
risposta data 04.05.2016 - 13:42
fonte
13

Non implementare il tuo schema DRM. Il settore ha provato e fallito così tante volte che una soluzione homebrew avrà poche possibilità.

Sarebbe meglio "stare sulle spalle dei giganti" e utilizzare le soluzioni DRM esistenti. Gestione dei diritti di Windows Media e PlayReady sono buone soluzioni. Quest'ultimo supporta HDCP e viene utilizzato dai principali distributori di contenuti premium come Netflix e Amazon.

Queste soluzioni si prendono cura degli aspetti teorici, software e hardware di una soluzione DRM e forniscono licenze per brevetti relativi a DRM, ecc. di cui avrai sicuramente bisogno.

Ovviamente, dovrai pagare per concedere in licenza queste soluzioni e mantenere una certa infrastruttura per mantenerle in esecuzione. Se vale la pena, dipende dal valore dei contenuti che stai cercando di proteggere.

    
risposta data 04.05.2016 - 14:19
fonte
7

Come accennato, è impossibile impedire la cattura del video visualizzato - anche nel peggiore dei casi, l'utente può registrare il video su uno smartphone o usando una telecamera fissa (come fanno alcuni film pirata quando sono registrati al cinema)

Ciò che puoi fare è spostare la protezione dall'arrestare la copia, al perseguimento delle fotocopiatrici. È possibile incorporare filigrane nel video, filigrane generate in modo univoco per PC o utente. Questi non sono solitamente visibili all'occhio umano (ma potrebbero essere) ma possono essere letti mediante un'attenta ispezione dei dati del fotogramma video. Ciò significa che se trovi una copia del tuo video, puoi dire chi lo ha mostrato (o chi è stato assegnato a esso) e gestirlo in qualsiasi modo tu scelga.

    
risposta data 04.05.2016 - 15:27
fonte
4

Questo è un problema nel cercare di proteggere ciò che si desidera fornire. È impossibile da fare, ma puoi renderlo difficile.

Probabilmente l'approccio migliore sarebbe quello di crittografare i file. Ma alla fine, dai a tutti i dati che una persona può eseguire su un computer a cui hanno accesso completo. Dal momento che riprodurrà il video in alcuni momenti, significa che i tasti saranno disponibili nel codice o nella memoria.

Il problema si presenterà anche con un computer come descritto in 1. Anche se ciò fosse possibile, i file sono disponibili in alcuni formati per l'utente a un certo punto e il reverse engineering può essere fatto.

2 soffre lo stesso problema, c'è solo un modo finito per fare video. Anche se sviluppi il tuo codec e il formato del contenitore, questi possono essere invertiti.

Come per 3/4, le risorse sono file dai quali è possibile estrarre i dati.

Di norma sui computer, ciò che può essere visto può essere duplicato.

    
risposta data 04.05.2016 - 14:19
fonte
3

I know that many giant companies has spent billions of dollars on how to prevent the privacy of their products but still they cant prevent it... So I am not expecting that I can get 100% solution on this, but still I want to protect it as much as I can.

Hai già la tua risposta, semplicemente non te ne rendi conto. "Il massimo che puoi" è "non del tutto".

Perché? Perché Internet.

Devi tenere a mente Internet per rendersi conto esattamente di quanto sia ridicolmente impilato contro di te il mazzo è in questa impresa. Perché Internet esiste, perché il World Wide Web è stato stabilito in tutto il mondo, basta una persona, in qualsiasi parte del mondo, per violare la tua protezione anche una volta, e poi caricare il crack, e il mondo intero ha accesso ad esso. Questo è il problema al centro della tua (assolutamente corretta) osservazione secondo cui molte aziende spendono più denaro di quanto tu possa mai vedere nella tua vita per prevenire la pirateria, senza successo.

DRM non funziona . Periodo. E peggio che non funziona, peggiora le cose, perché introduce una modalità di errore nel sistema. DRM non blocca semplicemente le persone se non sono autorizzate; blocca le persone se non riescono a provare la soddisfazione del codice DRM che sono autorizzate. Queste sono due cose molto diverse anche se il tuo codice non contiene bug (e quanto sei sicuro di te che, davvero?) perché spesso significa che se l'utente non è connesso a Internet, o se qualcosa va storto sul server, o con la rete lungo la strada, o se si interrompe l'attività, i tuoi clienti perdono l'accesso al contenuto che hanno legittimamente acquistato e pagato.

Ciò che fa è impostare una serie di incentivi perversi, in cui una copia compromessa non fornisce semplicemente il tuo prodotto agli utenti senza pagare per questo; fornisce un prodotto migliore, uno che non è ostacolato dai problemi che il DRM comporta. Quando aggiungi protezione ai tuoi contenuti, stai creando un incentivo positivo per le persone a voler decifrare che altrimenti non esisterebbero!

Se vuoi che le persone paghino per i tuoi contenuti, c'è solo un modo per raggiungerlo, ed è con l'economia di base, non con il codice. Una persona comprerà qualcosa se percepisce che il valore che fornisce a loro è maggiore del prezzo che gli viene chiesto di pagare per questo.

È davvero così semplice.

    
risposta data 04.05.2016 - 20:23
fonte
0

Windows Embedded con UI disabilitato sarebbe un primo passo.

Quindi potresti:

  • Disabilita la rete
  • Epossidico tutte le porte aperte
  • Rimuovi l'unità floppy (continua a esistere)

Come tutti hanno già detto, il 100% è impossibile, ma se si guarda a ogni possibile punto di ingresso e si chiude si può avvicinarsi.

Al posto del metodo epossidico puoi configurare una whitelist USB per accettare solo la tua pen drive, e una whitelist per le applicazioni sarebbe anche possibile per evitare il sideload del software di cattura dello schermo.

A corto di saldare il cavo del monitor, è comunque possibile inserire un dispositivo pass-through in linea.

Per bypassare il limite della dimensione del file, puoi dividere il video in parti più piccole e riprodurle come playlist.

    
risposta data 04.05.2016 - 17:52
fonte

Leggi altre domande sui tag