DRM utilizzando la chiave privata incorporata

3

Ho iniziato a conoscere la crittografia utilizzata per le soluzioni DRM e curioso di sapere se si tratta di una soluzione valida per un sistema incorporato personalizzato che esegue risorse software acquistate.

La chiave pubblica / privata ECDSA viene generata prima della fabbricazione del dispositivo.

La chiave privata è incorporata nel dispositivo e la chiave pubblica è registrata sul server aziendale rispetto al numero di serie del dispositivo.

Quando il software viene acquistato, il numero di serie dell'hardware viene inviato al server come parte della transazione.

Prima di essere reso disponibile per il download da parte dell'acquirente, il software viene crittografato utilizzando la chiave pubblica dell'hardware, associando il software a quel particolare hardware.

Una volta memorizzato sull'hardware, il software viene decodificato Just In Time per l'esecuzione utilizzando la chiave privata incorporata.

    
posta ATtheincredibleaf 12.05.2018 - 04:26
fonte

2 risposte

4

Sebbene questo sistema possa essere funzionale e possa scoraggiare l'inesperto e rallentare altri, questa non è in definitiva una difesa efficace.

Il problema sta nel fatto che la chiave privata è incorporata nel dispositivo e il cliente che ha acquistato il dispositivo ha accesso illimitato a tale dispositivo. La comunicazione con le interfacce di debug, l'esecuzione di dump di memoria, il bombardamento del dispositivo ecc. Possono consentire il recupero della chiave privata e / o del software proprietario. La facilità di questo può dipendere dal design dell'hardware e del software del dispositivo, ma è probabile che sia battuto con tempo e fatica sufficienti in ogni caso.

In breve, una volta che qualcun altro ha il possesso del dispositivo, non è possibile aspettarsi la riservatezza di alcunché memorizzato o elaborato da esso.

    
risposta data 12.05.2018 - 06:32
fonte
3

Questa è una versione molto semplice, per non dire ingenua, di una parte di come funziona Denuvo. Anche se nessuno sembra sapere come esattamente , risulta che non è necessario capire l'uovo per rompere.

Ci sono almeno alcune vulnerabilità nella soluzione proposta:

  1. L'utente finale è responsabile della decisione del numero seriale che desidera inviare al server.

  2. A meno che il modulo di crittografia / decrittografia non sia protetto, la chiave privata viene facilmente estratta. Estraendolo da un modulo ben protetto è più difficile, ma fattibile positivamente .

  3. Il software è decodificato.

Per tutto il tempo impone un carico enorme agli utenti, il che rende il software più difficile da vendere:

  • Funziona solo con l'hardware realizzato secondo le tue specifiche.
  • Ogni componente hardware deve essere registrato sui tuoi server.
  • Richiede che una copia univoca del software sia scaricata completamente da ogni utente.

Se la tua soluzione è pensata per essere un vero e proprio sistema embedded, la pirateria non è un problema per cominciare. Copiare l'intero sistema è troppo impegnativo, a meno che non sia utile per altri scopi. Devi solo vendere il pacchetto completo di hardware e software.

Se vale davvero la pena copiare, decapare un chip è non scienza missilistica , la chiave verrà scaricata, e il chip stesso verrà copiato, forse addirittura completo con la soluzione di protezione dalla copia.

Se è pensato per un mercato generale, quel mercato diventa almeno decine di migliaia di volte più grande supportando l'hardware diverso dal proprio chip personalizzato, quindi anche con un irrealistico tasso di pirateria del 99%, il supporto hardware universale vince nella redditività.

    
risposta data 12.05.2018 - 08:21
fonte

Leggi altre domande sui tag