Crittografia a chiave pubblica / privata per i sistemi offline

-1

Esistono buone pratiche in merito alla distribuzione di un pacchetto crittografato a più sistemi di utenti finali, specialmente se il sistema finale è offline, nel contesto della crittografia asimmetrica?

È necessario creare insiemi di chiavi pubblici / privati univoci [per sistema utente finale] e crittografare lo stesso pacchetto molte volte in modo univoco con le chiavi pubbliche, risultando in un pacchetto specifico per sistema utente finale? Come sarà questa scala?

Sarebbe una buona pratica firmare la chiave privata originale [corrispondente alle chiavi pubbliche utilizzate per crittografare il pacchetto] con le chiavi private dei mittenti e quindi cifrare usando le chiavi pubbliche dei sistemi degli utenti finali e condividerle direttamente con gli utenti finali, attraverso comunicazioni affidabili ?

O crittografare la chiave privata con la chiave pubblica dei sistemi dell'utente finale, firmare con la chiave privata dei mittenti e ricodificare [simmetrica] con l'hash di determinate stringhe che identificano univocamente un sistema dell'utente finale? Questo hash dovrebbe essere programmabile riproducibile utilizzando identificatori univoci del sistema successivamente durante i processi di decrittografia. In questo modo, per recuperare la chiave privata originale per decrittografare il pacchetto, saranno necessari sia una chiave pubblica corrispondente [client dell'utente finale] sia una macchina dell'utente finale [l'hash della stringa da generare in fase di runtime sul sistema dell'utente finale.] E mittente chiave pubblica per gestire l'autenticità?

    
posta Deepak Chaudhary 17.08.2018 - 20:03
fonte

1 risposta

-1

È possibile generare in modo programmatico una chiave simmetrica su ogni client e generare la stessa chiave sul server di packaging. Genera una coppia di chiavi e distribuisci una singola chiave pubblica per ogni cliente.

Quando si genera un nuovo pacchetto, crittografarlo con la chiave simmetrica, firmare con la propria chiave privata e distribuirlo. Sul lato client, controlla la firma con la chiave pubblica e, se il pacchetto supera il controllo, usa la chiave simmetrica generata per decodificare.

Se non è necessario creare un pacchetto univoco per ciascun client, è possibile distribuire la chiave pubblica e crittografare il pacchetto con la chiave privata. Firma il file risultante e distribuisci. Dopo aver ricevuto il file, il client controlla la firma e decrittografa il file. L'effetto collaterale è che ogni client può decodificare ogni pacchetto, ma se i client sono offline e isolati l'uno dall'altro (o non si conoscono l'un l'altro), non dovrebbe essere un grosso problema.

    
risposta data 17.08.2018 - 20:45
fonte