Problema
Sto trasmettendo file MP3 agli utenti. Gli utenti non sono autorizzati a condividere questi file. So che alla fine è impossibile non permettere a nessuno di scaricare i file. Non è questo il problema, le persone possono scaricare se lo desiderano (ma comunque cercherò di impedirlo il più possibile).
No, il mio problema è che se qualcuno dalla rete decide ancora di scaricare o registrare il file e condividerlo su uno spazio pubblico come Youtube, non c'è modo per me di sapere quale utente questo era.
Ho un'idea per renderlo possibile, ma ha dei limiti e non sono nemmeno sicuro che funzionerà.
La mia idea
Aggiungi "rumore identificativo dell'utente" ai file MP3. La mia idea sarebbe quella di aggiungere un po 'di rumore al file MP3, e per ogni utente aggiungere un rumore leggermente diverso. Ad esempio, per ogni fotogramma potremmo incrementare il suo valore o meno, a seconda di un flusso di bit casuale e ripetuto che è univoco per ogni utente. Questa è una piccola differenza, quindi nessuno lo sentirà.
Questa tecnica sarebbe preferibile all'aggiunta di fotogrammi prima o dopo il file stesso, perché questo potrebbe essere interrotto se l'utente che sta per condividerla vede in un analizzatore audio che l'inizio o la fine è "strano". I fotogrammi incrementali accidentalmente passeranno quasi inosservati. Se è una preoccupazione che la media possa diventare anormalmente alta, potremmo aumentare per uno nel flusso di bit e diminuire per zero.
Inoltre, non sarebbe sufficiente aggiungere un po 'di valore alle proprietà ID3 del file, in quanto possono essere viste e rimosse facilmente.
Se qualcuno condivide il file ...
Ora, supponiamo di aver impostato tutto come descritto: abbiamo aggiunto del rumore che può identificare l'utente. Quello che dobbiamo fare è sottrarre i valori del file MP3 originale da quelli del file che ha condiviso. In questo modo otteniamo il bitstream con cui possiamo trovare l'utente.
Limitazioni
Questa configurazione non funziona se un utente riproduce il file sul suo computer ma lo registra con il suo telefono, in quanto vi sarà un rumore di fondo che rende impossibile ricostruire il rumore di identificazione dell'utente. Funzionerà solo se l'utente usa un programma per registrare il suono che il suo computer sta facendo direttamente (quindi non introduce rumore).
Inoltre, potrebbe essere difficile (non sono sicuro) aggiungere questo rumore al volo, il che sarebbe il migliore. Se ciò non fosse possibile, sarebbe necessario conservare diverse copie dei file MP3 per ogni file per ciascun utente, il che costerà molto spazio sul disco alla fine.
Fondamentalmente qualsiasi tipo di scherzo con il file MP3 da parte dell'utente (esclusa la suddivisione, poiché stiamo usando una stringa ripetuta) interromperà il sistema: accelerazione su / giù, aggiunta di rumore, aggiunta di un secondo flusso, ecc.
Potrebbero esserci più limitazioni di cui non sono a conoscenza.
Domande
- La mia idea funzionerà davvero?
- Sto reinventando la ruota? In tal caso, quali sono i modi più comuni per farlo?
- Si può dire qualcosa su come sia possibile aggiungere esattamente questo rumore al volo?
- Vedi qualche possibilità di fare qualcosa di simile a questo lavoro anche se l'utente registra l'audio con il suo telefono dal suo computer?