più chiavi private per singola chiave pubblica

2

Attualmente sto lavorando in sicurezza nelle reti mobili ad-hoc. Ho diversi cluster e voglio che dal capo del cluster invii alcuni dati crittografati con la sua chiave pubblica, ai membri del cluster. Suppongo che ogni membro abbia la propria chiave privata in modo che possa decrittografare i dati

Chiedo come ottenere una singola chiave pubblica e più chiavi private per questa chiave pubblica? qual è la soluzione per questo caso?

    
posta yomna 25.02.2015 - 12:22
fonte

5 risposte

1

Se si desidera utilizzare la crittografia asimmetrica, non è possibile avere più chiavi private e una chiave pubblica. Queste chiavi funzionano come una coppia di chiavi.

Ciò che è crittografato usando la chiave pubblica può essere decifrato solo dalla chiave privata e solo da questa chiave.

Per risolvere il problema, se si ha un controllo perfetto sui client del cluster, è possibile condividere la stessa chiave privata tra tutti i client del cluster. Quindi il cluster principale può crittografare i dati che possono essere decodificati da qualsiasi client di cluster. Naturalmente, se un client del cluster viene compromesso, la chiave è compromessa per tutti.

È anche possibile gestire una singola coppia di chiavi dal client del cluster. Quindi la testa del cluster dovrebbe tenere traccia di quale chiave pubblica è associata a quale client del cluster prima di comunicare, altrimenti la richiesta non verrà decifrata.

Dovresti anche emettere una coppia di chiavi privata / pubblica per la testa del cluster se vuoi inviare risposte crittografate (a meno che tu non negozi qualche altra chiave di protocollo).

    
risposta data 25.02.2015 - 16:55
fonte
1

Ciò che puoi fare in questa situazione è utilizzare la crittografia ibrida, in cui crittografare il messaggio con un algoritmo simmetrico e crittografare la chiave simmetrica con la chiave pubblica del destinatario. Puoi facilmente adattarlo per inviare un messaggio a molti client, ognuno con la propria chiave pubblica. Quello che fai è crittografare la chiave simmetrica con la chiave pubblica del cliente A, e con la chiave pubblica del cliente B, e con la chiave pubblica del cliente C, e così via; quindi si incollano tutte queste "chiavi simmetriche crittografate con i tag della chiave pubblica del client X" nella parte anteriore del messaggio e ciascun client può quindi decrittografare la chiave simmetrica e quindi il messaggio. In questo modo, non devi inviare 20 copie del messaggio, solo 20 copie della chiave simmetrica.

    
risposta data 08.03.2015 - 17:15
fonte
0

Se desideri inviare dati in modo sicuro al destinatario, crittografare i dati utilizzando la chiave pubblica del destinatario, non i tuoi.

Esiste un requisito specifico per utilizzare i keypair asimmetrici? Puoi usare le chiavi simmetriche invece? Oppure puoi persino combinarlo, ovvero proteggere il trasporto utilizzando TLS, ma i dati in corso vengono effettivamente crittografati utilizzando un tasto AES precondiviso.

    
risposta data 25.02.2015 - 13:53
fonte
0

Se ogni membro ha la propria chiave privata, ogni membro deve avere una chiave pubblica corrispondente. Nessuna di queste chiavi pubbliche può essere identica.

Se si desidera distribuire i dati da un sistema a uno o più sistemi utilizzando la crittografia, utilizzare un protocollo esistente per farlo, come TLS o SSL, poiché queste tecniche sono state testate e testate e si sono dimostrate sicure quando configurato correttamente.

La decrittografia dei dati per i cifrari asimmetrici è computazionalmente difficile - il metodo per distribuire grandi quantità di dati crittografati consiste nell'utilizzare solo un codice asimmetrico per negoziare e condividere una chiave di cifratura simmetrica. La cifra asimmetrica può quindi essere sostituita con una cifra simmetrica, poiché entrambe le parti hanno ora la chiave condivisa. La crittografia simmetrica è computazionalmente più economica e veloce di quella asimmetrica.

Tutto ciò che è necessario è che la testa del cluster mantenga un elenco di chiavi pubbliche per ciascuno dei nodi del cluster e quando si desidera distribuire i dati crittografati su ognuno di essi, si crittografa i dati per ciascun nodo separatamente, utilizzando ciascun nodo chiave pubblica. Ogni nodo ha quindi accesso al proprio blocco di dati crittografati che ciascuno può decodificare utilizzando la propria chiave privata.

Per utilizzare la crittografia simmetrica nell'esempio precedente (per ciascun client), devi generare una nuova chiave simmetrica, crittografare i dati con essa, quindi crittografare la chiave simmetrica stessa utilizzando la chiave pubblica del client e memorizzare la chiave crittografata con il messaggio per il client da scaricare.

Questa è fondamentalmente la definizione di PKI. Public Key Infrastructure è semplicemente un metodo strutturato di gestione di chiavi e keypairs per consentire la comunicazione sicura tra i sistemi.

    
risposta data 08.03.2015 - 01:10
fonte
0

No.

Devi utilizzare una coppia per ogni cliente!

Idealmente, ogni cliente deve produrre la propria coppia e inviarti la sua chiave pubblica con una richiesta di certificato .

Quindi potresti lavorare come autorità di certificazione e convalidare, quindi pubblicare tutte le chiavi pubbliche.

    
risposta data 08.03.2015 - 15:04
fonte

Leggi altre domande sui tag