Processo di crittografia / decrittografia OpenPGP che utilizza GnuPG

7

Voglio sapere se il mio metodo di crittografia può garantire la sicurezza dei miei dati se il mio database è stato violato e l'autenticità dei dati che sto decifrando. Sto usando l'implementazione di GnuPG dello standard di crittografia OpenPGP.

Ho un'applicazione web che si trova su "Server A" dove gli utenti possono inviare informazioni tramite un modulo. Quando inviano il modulo, ha luogo il seguente processo di crittografia:

Crittografia - Server A

  1. I dati del modulo vengono crittografati utilizzando la chiave pubblica del server B
  2. I dati del modulo vengono firmati utilizzando la chiave privata del server A

Gli utenti amministratori del sito web possono vedere i dati inviati tramite un'altra applicazione web situata sul "Server B" dove avviene il processo di decrittazione:

Decrittografia - Server B

  1. I dati del modulo vengono verificati utilizzando la chiave pubblica del server A
  2. I dati del modulo vengono decodificati utilizzando la chiave privata del server B

Grazie

    
posta Imran Azad 17.11.2011 - 17:07
fonte

1 risposta

7

I processi di crittografia e firma che si verificano sul server A e sul server B proteggono i dati del modulo da intercettazioni indesiderate e alterazioni malevoli (o accidentali) dal momento in cui sono stati crittografati / firmati sul server A, al momento della loro decodifica / verificato sul server B. Questo include qualsiasi tipo di archiviazione su A o B e qualsiasi supporto di trasporto viene utilizzato tra A e B. Ma tenere presente quanto segue:

  • La crittografia e la firma non dicono nulla sui dati inviati dal cliente; come suggerisce @mikeazo in un commento, anche il processo di invio sarebbe stato meglio protetto.

  • Grazie alla firma, B può essere certo che qualsiasi messaggio ricevuto sia "genuino" (è davvero come quando è stato firmato da A). Tuttavia, B non può sapere se ha ricevuto tutti i messaggi; le firme non dicono nulla sul messaggio che B non ha mai visto perché l'attaccante le ha intercettate prima della consegna a B.

  • La firma copre solo ciò che è firmato, non tutti i metadati che possono essere associati ad esso. Ad esempio, i dati del modulo possono essere verificati in relazione a un determinato utente solo se il nome di tale utente fa parte dei dati del modulo. In caso contrario, un utente malintenzionato sarebbe libero di scambiare moduli crittografati nel database di A. Allo stesso modo, l'hacking di un hacker è il modo in cui A e B potrebbero riprodurre il vecchio messaggio crittografato, quindi B non può essere sicuro di avere i "ultimi" dati del modulo per un determinato utente a meno che i dati del modulo includano una sorta di data / ora o numero di sequenza. / p>

  • La sicurezza riguarda solo la segretezza delle chiavi private coinvolte. Ci vuole un po 'di fiducia nel credere che un utente malintenzionato che ha accesso al database di A non abbia accesso alla chiave privata di A.

Quindi, mentre il sistema di crittografia + firma offre alcune utili garanzie, potrebbe non riuscire a coprire tutto che potrebbero essere tentati dagli attaccanti. Ti invito a scrivere formalmente, da qualche parte, la portata dei poteri che concedi ai presunti aggressori (questo è il "modello di attacco").

A parte questo, usare GnuPG è un'ottima idea, dal momento che usare un'implementazione fatta in casa o, peggio, un protocollo fatto in casa, sarebbe una pessima idea.

    
risposta data 17.11.2011 - 17:43
fonte

Leggi altre domande sui tag