2010-04-20 22 views
8

Ho un'applicazione distribuita composta da molti componenti che comunicano tramite TCP (per esempio JMS) e HTTP. Tutti i componenti funzionano su hardware interno, con indirizzi IP interni e non sono accessibili al pubblico.Certificati firmati SSL per uso interno

Desidero rendere sicura la comunicazione tramite SSL. Ha senso acquistare certificati firmati da una nota autorità di certificazione? O dovrei usare solo certificati autofirmati?

La mia comprensione del vantaggio dei certificati attendibili è che l'autorità è un'entità che può essere considerata attendibile dal pubblico generale, ma questo è solo un problema quando il pubblico generale deve essere sicuro che l'entità in un particolare dominio sia chi dicono di essere.

Pertanto, nel mio caso, dove la stessa organizzazione è responsabile per i componenti ad entrambe le estremità della comunicazione, e tutto ciò che sta nel mezzo, un'autorità di fiducia pubblica sarebbe inutile. In altre parole, se generi e firmi un certificato per il mio server, so che è affidabile. A nessuno al di fuori dell'organizzazione verrà mai chiesto di fidarsi di questo certificato. Questo è il mio ragionamento - ho ragione, o c'è qualche vantaggio potenziale nell'usare certs da un'autorità conosciuta?

+0

sei corretto. non c'è nient'altro da dire. – hop

risposta

0

Direi che è ragionevolmente sicuro, a meno che non pensiate che un infiltrato ninja sta per scambiare il vostro server con voi.

La terza parte è lì per rendere più difficile solo il '& generare' un nuovo certificato. Qualcuno potrebbe ricreare un certificato autofirmato su una nuova macchina con gli stessi dettagli, non sarebbe lo stesso certificato, anche tu dovresti aggiungere un'eccezione, ma i tuoi utenti probabilmente non saprebbero la differenza .

+0

Questa non era la mia comprensione delle autorità fidate. Ma io sono un principiante in questa roba! Ho pensato che l'idea fosse che avere un certificato da un'autorità fidata ti consentisse di persuadere il pubblico generale di cui puoi fidarti. Il punto chiave (nessun gioco di parole) sarebbe che un certificato pagato non è più difficile da generare di un autofirmato - è semplicemente che viene da qualcuno che tutti si fida. Quindi è come la differenza tra fare una carta d'identità te stesso e prenderne una dal governo. Puoi crearne uno unico e indimenticabile, ma non puoi aspettarti che nessun altro lo accetti? –

+0

Per ulteriori informazioni, questa risposta copre il ruolo della CA: http: // stackoverflow.it/questions/188266/how-are-ssl-certificates-verified "Il browser Web viene installato con le chiavi pubbliche di tutte le principali autorità di certificazione e utilizza questa chiave pubblica per verificare che il certificato del server Web sia stato effettivamente firmato dall'autorità di certificazione attendibile. " In altre parole, l'uso di una CA attendibile non significa che il certificato non sia stato rubato, contraffatto o falsificato - solo che è stato originariamente rilasciato dall'entità che il server afferma di aver emesso. –

+0

-1. gestire il tuo ca (possibilmente off line) rende difficile "up & generare un nuovo cert" come con qualsiasi altro commerciale. la differenza _only_ è l'inclusione di default nei browser. – hop

4

Non è necessario utilizzare una CA pubblica esterna per un progetto di comunità chiusa. In molte organizzazioni più grandi gestiscono un PKI interno per emettere certificazioni per progetti interni come questo. Un vantaggio dell'utilizzo di un'infrastruttura PKI è che è possibile impostare una relazione di trust tra i vari componenti basata su un singolo certificato radice/attendibilità distribuito in modo sicuro.

Tuttavia, se il progetto consentiva agli utenti interni di connettersi in modo sicuro a un servizio interno tramite il proprio browser Web, si consiglia di prendere in considerazione l'utilizzo di un certificato rilasciato dalla CA pubblica. L'alternativa è assicurarsi che ogni browser che potrebbe aver bisogno di connettersi al proprio servizio abbia fiducia nel proprio certificato di root; questo serve a prevenire i messaggi di avviso del browser.

+0

è facile includere il proprio ca nei browser degli utenti con una gestione centralizzata. quindi gli avvisi del browser non sono un valido motivo per sprecare denaro in un commerciale di ca. – hop

+0

@hop non sempre in una grande organizzazione con una base di utenti complessa e controllo di modifiche pesanti. In questi ambienti, se è necessario fornire un servizio sicuro agli utenti del browser, potrebbe essere più economico e meno problematico ottenere semplicemente un certificato CA pubblico. – bignum

+0

sembra il tipo di organizzazione disfunzionale che in primo luogo rimuoverebbe tutte le CA commerciali dalla paranoia. non cercare di inventare argomenti sciocchi che - anche se fossero validi - riguarderebbero solo una piccola parte degli utenti SO. grazie. – hop

0

Fintanto che il tuo sistema è in esecuzione all'interno del tuo gruppo e non ci sono piani per espanderlo (e i piani cambiano, quindi tieni a mente), va benissimo impostare la tua semplice infrastruttura PKI.

Se si finisce per espandersi oltre la propria organizzazione, tutto ciò che si deve fare è distribuire il certificato di origine alle parti che si comunicheranno. Ciò fornisce ai vostri partner un controllo preciso sui livelli di fiducia che vogliono mettere in voi rispetto all'infrastruttura pubblica della CA.

Problemi correlati