Meccanismo utilizzato per l'autenticazione offline del software

0

Per impedire all'utente di scaricare copie bootleg del software, gli utenti devono spesso inserire una stringa di numeri esadecimali che verrebbero utilizzati per autenticare l'utente.

Penso che l'idea di base sia che la chiave segreta sia incorporata nel software e che l'autenticazione abbia successo quando c'è una corrispondenza tra la stringa inserita dall'utente e la chiave segreta.

Mi piacerebbe conoscere il meccanismo reale dietro questa idea

Quali sono altri possibili meccanismi utilizzati quando il software non richiede la connessione a Internet per l'autenticazione ??

Grazie

NB: Non sono sicuro che questo sia il sito corretto per questa domanda, per favore trasferisci la domanda al sito appropriato dove necessario

    
posta Computernerd 13.02.2015 - 04:41
fonte

1 risposta

1

La tua domanda è un po 'confusa, quindi non sono esattamente sicuro di quello che stai chiedendo, ma ci provo.

A volte, quando si scarica il software, ci saranno informazioni fornite che spesso assomigliano a un valore esadecimale lungo e talvolta denominate checksum o firma. Questo è un valore univoco generato utilizzando il software come input per una funzione di hashing o checksum. L'output di questo processo è lo stesso a condizione che l'input sia esattamente lo stesso. Se l'input è stato modificato in qualche modo, il valore di uscita sarà diverso. Questo è essenzialmente un controllo di integrità. Se stavo rendendo disponibile il software per il download, potrei includere queste informazioni insieme ai dettagli di come è stato generato, ad esempio SHA1, CRC-32, ecc. Con queste informazioni, puoi quindi utilizzare un programma per generare la firma o il checksum dalla versione scaricata del software e vedere se si ottiene lo stesso valore. Se lo fai, allora puoi essere sicuro che il software non è stato modificato (sia per errore durante il download o da qualcuno che è un po 'più malizioso).

L'altro posto dove vedrai cose che assomigliano un po 'a una stringa esadecimale sono le chiavi di licenza del software. Questi sono utilizzati per garantire che la persona che utilizza il software sia autorizzata a farlo. Ci sono alcuni modi in cui questo può essere implementato. Per il software che verrà utilizzato in uno scenario off-line, l'approccio generale è una chiave lunga che il software può verificare come una chiave di licenza legittima. La chiave potrebbe avere una combinazione di componenti, alcuni dei quali possono essere verificati off-line, mentre altri possono essere verificati solo on-line o potrebbe essere semplicemente un algoritmo molto semplice in cui controlla solo che alcuni bit di informazione sono tutti lì dentro e nella giusta posizione Con una verifica off-line, è necessario disporre di un approccio che non si basa su dettagli specifici dell'utente in quanto non c'è modo di verificare tali dettagli. In questo caso, è probabile che il processo di verifica verifichi semplicemente che la chiave abbia elementi o struttura necessari. Normalmente, la chiave sarà abbastanza lunga da indovinare una chiave valida è molto difficile con una probabilità molto bassa. Le chiavi lunghe rendono anche più difficile per le persone condividere le chiavi, ma questo è uno dei limiti della verifica delle chiavi off-line. Con la verifica della chiave in linea, è possibile che il software invii una query a un database centrale che tiene traccia dell'uso della chiave di licenza. Questo database può anche registrare associazioni del software e delle chiavi per impedire che la chiave venga utilizzata con più istanze del software.

    
risposta data 13.02.2015 - 07:41
fonte

Leggi altre domande sui tag