Memorizza le password in modo sicuro in uno scenario specifico

4

Ho un ambiente di rete specifico. È una rete DTN (Delay Tolerant Network) senza connettività continua, situata sul mare, dove i nodi sono navi. C'è anche un server che fa parte dell'infrastruttura di terra, per chiarezza lo si chiami server B . Su ogni nave c'è un computer che ha installato un software di routing personalizzato e si comporta anche come un server www. Sul server www è disponibile un servizio di posta elettronica web, in cui gli utenti si registrano e accedono con i propri account di posta elettronica. Dovrebbero essere in grado di leggere le loro e-mail e inviare nuove e-mail. Poiché la connettività di rete non è costante, non possiamo utilizzare direttamente i protocolli IMAP, POP, SMTP per comunicare con i server di posta. L'idea è che il server B sull'infrastruttura terrestre farà la comunicazione per conto dell'utente. Quindi il server web sulla nave invierà un messaggio contenente informazioni di posta crittografate con il certificato server B ad alcuni nodi di transito nella rete quando si incontrano e server B decodificano quel messaggio e fanno la comunicazione IMAP. L'utente può anche registrarsi al server B e dirgli che dovrebbe controllare i messaggi di posta in arrivo ogni 5 minuti e se ci sono nuovi messaggi di posta indirizzati alla nave.

Il problema è che le password memorizzate nel database non possono essere hash, perché server B non sarebbe in grado di rendere inaccettabili le finestre di dialogo SMTP, IMAP. La mia sessione è quella di memorizzare nel DB le password crittografate dei server con il certificato server B . Quando server B non vuole rendere SMTP decrittografa le password con la sua chiave privata. Gli svantaggi di questa soluzione sono che è lento e quando viene rivelata la chiave privata del server B , tutte le password utente possono essere decodificate.

C'è una soluzione migliore per questo problema?

    
posta Russian Gepetto 15.04.2016 - 20:47
fonte

1 risposta

2

Sembra che tu stia reinventando la ruota. Internet è stato originariamente progettato per i client che si connettono a intervalli irregolari. Il server sulla terra è il tuo server di posta. La macchina dell'infrastruttura sulla nave può semplicemente rispecchiare o tamponare le informazioni ai molti clienti sulla nave. Internet è stato progettato per risolvere solo questo tipo di problema e ci sono tonnellate di software legacy per questo.

Probabilmente puoi configurare due server di posta che gestiranno questo per te senza dover scrivere una singola riga di codice. Avete bisogno di un server di posta sulla terra e di un server di posta sulla nave. Quando la nave ha accesso a Internet, può interrogare il server di posta terrestre per ottenere la nuova posta per i destinatari sulla nave. Non è necessario uno scambio di password se la posta terrestre ha un elenco verificato di indirizzi e-mail per le persone sulla nave.

In altre parole, puoi configurare un dominio per la nave e tutti gli utenti della nave sono [email protected] o qualcosa del genere. Quindi il normale protocollo di routing della posta consegnerà la posta alla nave quando il suo server di posta si connetterà alla tua rete terrestre.

Non ci dovrebbero essere problemi con la password se configuri correttamente il routing della posta. Il server di posta sulla nave controllerà la password di ciascun utente quando si collegherà per ricevere la posta.

    
risposta data 16.04.2016 - 02:08
fonte

Leggi altre domande sui tag