PHP crittografare e decodificare con certificato

1

Sto cercando di pensare al modo migliore per crittografare e decrittografare un messaggio tra due server. Ho trovato molti esempi in cui le persone usano semplicemente un segreto e l'mcrypt di PHP ...

link

Ma sto pensando di usare i certificati.

link

Ho sbagliato nella mia ipotesi che sarebbe più sicuro? O è più o meno lo stesso affare? Con i certificati devi raggiungere la chiave privata sul destinatario ... con la versione stringa hai bisogno di accedere al codice su una delle due estremità per ottenere una sospensione.

E la crittografia dovrebbe essere più sicura usando i certificati? Mi piace creare un RSA a 2048 bit.

Grazie.

    
posta Ronnie Jespersen 06.03.2014 - 11:39
fonte

2 risposte

2

In generale, la crittografia asimmetrica è più sicura di quella simmetrica perché il terminale remoto può solo decrittografare i dati, senza possibilità di crittografia. La chiave è utile solo per decodificare, crittografare il server con una chiave diversa non pubblicata.

Anche con i certificati autofirmati, a mio avviso la sicurezza è migliorata rispetto alle soluzioni di crittografia simmetrica. Vai per questo.

    
risposta data 06.03.2014 - 14:07
fonte
2

Se stai cercando di proteggere i dati in transito tra due server, ti preghiamo di utilizzare solo i certificati SSL / TLS invece di lanciare un nuovo schema di crittografia. Si noti che SSL / TLS utilizza tecnicamente anche la crittografia simmetrica, ma le chiavi di sessione condivise sono crittografate con chiavi asimmetriche durante lo scambio iniziale (da qui la necessità di certificati).

Uno degli enormi vantaggi di SSL / TLS è che garantisce anche l'autenticazione e l'integrità dei dati, non solo la crittografia; a seconda della scelta di ciphersuite, può anche garantire il segreto di inoltro (in modo tale che un utente malintenzionato che ottiene le chiavi private in futuro non possa decrittografare i messaggi precedenti). Ad esempio, se si utilizza mcrypt in modalità AES-CBC senza l'autenticazione dei messaggi, si è aperti a attacchi di malleabilità simili a link . E se inizialmente non hai stabilito il segreto condiviso su un canale protetto SSL / TLS o usi altri mezzi di autenticazione, sei vulnerabile a un attacco MITM.

SSL / TLS è la forma di crittografia più utilizzata per le comunicazioni server-server o client-server e, come tale, le sue promesse sulla sicurezza (e le insidie) sono ben documentate. Non ho dimestichezza con PHP, ma sembra che questo faccia tutto il necessario: link .

    
risposta data 06.04.2014 - 08:15
fonte

Leggi altre domande sui tag