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?