VPN o TLSv1 per la protezione di un protocollo di programmi dal dispositivo di campo al mainframe

5

Sto lavorando a un prodotto che richiede l'esistenza di dispositivi in qualsiasi parte del mondo collegati a Internet tramite modem cellulari o linee WLAN che comunicano con un / i server / i esistente in altre parti del mondo.

Quando si degna la porzione di rete del programma non riesco a capire quale sia l'opzione migliore per proteggere la comunicazione tra il server e il dispositivo finale.

Dalle mie ricerche ho trovato due opzioni.

Opzione 1: Utilizzo di un host per ospitare la connessione VPN tra i due dispositivi.

Pro: il software VPN sembra essere ben testato e non richiede una programmazione aggiuntiva per il protocollo di rete. Il dipartimento IT è più a suo agio a causa dell'uso di software già testato e a loro agio con vpn.

Contro: Poiché i miei dispositivi terminali sono linux su piattaforme OMAP, la compilazione incrociata del software VPN se non già eseguita potrebbe essere complicata. Gestione dei firewall e dei router dietro la rete dei dispositivi finali. L'installazione della connessione può essere complicata.

Opzione 2: Implementazione del protocollo TLSv1 nel mio programma per gestire la crittografia.

Pro: non richiede l'esecuzione di software aggiuntivo sul dispositivo. Si basa solo sulle librerie di crittografia come dipendenza. Non devi preoccuparti di gestire nats e firewall perché il protocollo richiederà solo una porta TCP per essere aperta.

Contro: Codifica aggiuntiva per il software di rete. L'IT è scettico perché il nostro programma è responsabile della protezione del protocollo.

FYI: per implementare il TLSv1 vorrei usare link

    
posta D. Mathis 14.10.2011 - 16:19
fonte

3 risposte

2

Il compromesso principale riguarda chi ha la responsabilità di garantire la sicurezza.

  • Se ti affidi a una VPN, la responsabilità è nei confronti degli ops per assicurarsi di aver impostato una VPN. Se dimenticano o configurano erroneamente la VPN, allora sarai silenziosamente insicuro, ma probabilmente nessuno se ne accorgerà, perché l'app continuerà a funzionare.

  • Se si incorpora la crittografia end-to-end nella propria applicazione (ad esempio utilizzando SSL / TLS), la sicurezza è automatica. Non c'è nulla da dimenticare e meno potenziale per errori di configurazione; potresti essere in grado di predisporre l'attivazione della sicurezza per impostazione predefinita, o almeno che il software si rifiuti di avviarsi se non è in grado di negoziare una connessione crittografata sicura. Tuttavia, questo approccio richiede probabilmente più sforzo per codificare.

Deciderei in base a quante installazioni del tuo sistema hai intenzione di realizzare. Se si dispone di una sola installazione e gli operatori sono disposti ad assumersi l'onere aggiuntivo di configurare e mantenere la VPN e hanno impostato processi / liste di controllo appropriati per rilevare errori di configurazione, l'approccio VPN sarà probabilmente più semplice e più economico, quindi è quello che userei. Se disponi di molte installazioni, ti consiglio di implementarlo nel tuo software: lo farai una volta e salverà tutti coloro che installano il software dal dover gestire individualmente la VPN; e la sicurezza risultante sarà più affidabile, perché c'è meno rischio di errori di configurazione.

    
risposta data 06.11.2011 - 22:33
fonte
1

Il mio consiglio sarebbe capire che tipo di stile di comunicazione è richiesto, in un modo o in due. Se si sta osservando un modello di comunicazione unidirezionale, è probabilmente sicuro dire di usare qualcosa di leggero e standard di bog come https come TLS. Se tuttavia è necessaria una comunicazione bidirezionale, l'esame della VPN è una grande opzione. Il grande svantaggio delle connessioni VPN è la configurazione della connessione richiede un sacco di tempo (relativamente parlando). Se l'utente deve attendere questa configurazione, sarebbe meno che ideale. In tal caso, TLS personalizzato sarebbe l'opzione preferibile.

    
risposta data 23.10.2011 - 15:07
fonte
0

L'uso della VPN e l'aggiunta della funzionalità TLS al tuo programma sono due risposte indipendenti, che trattano con diversi livelli di protocollo l'uno con l'altro.

VPN protegge i pacchetti di rete tra due host. D'altra parte, la capacità TLS del tuo programma garantirà la comunicazione tra i due programmi indipendentemente dai protocolli sottostanti , incluso il livello fisico (WLAN o collegamenti modem).

Se stai cercando di utilizzare il tuo programma in cui le VPN non sono disponibili, TLS è obbligatorio.

    
risposta data 21.10.2011 - 05:44
fonte

Leggi altre domande sui tag