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 .