Ваш разговор SSL между Java и PHP защитит ваши данные, пока они находятся в пути.Если вы должным образом защитите закрытый ключ надежным паролем (более 10 символов) и убедитесь, что ваши алгоритмы надежны, никто не сможет взломать его, отслеживая разговор.
Никакой дополнительной защиты вы не получите, зашифровав данные перед их отправкой по протоколу SSL.И на самом деле вы можете ослабить свою безопасность, потому что для шифрования данных вам придется поделиться некоторым ключом, если вы выберете симметричное шифрование.И торгуя секретными ключами, вы отменяете большую часть защиты, которую дает вам SSL, потому что огромным преимуществом SSL является тот факт, что мы можем шифровать данные без согласования секретного ключа.Если бы я пытался получить ваш зашифрованный текст, я бы атаковал ваш клиент, потому что легче найти ваш симметричный ключ шифрования, чем взломать SSL.И хотя вы могли бы использовать асимметричное шифрование, вы в основном заново изобретете SSL.
Я бы сосредоточился на том, чтобы ваш разговор по SSL был надежным.Использование только самого сильного симметричного шифрования: TripleDES, IDEA, AES, если ваш сервер поддерживает это.Уберите более слабые алгоритмы, чтобы разговоры не могли использовать более слабое шифрование.Генерация 1024+ пар открытых / закрытых ключей.Это может быть не всегда легко на вашем общем сервере, но ваше Java-приложение может выбрать только использование TripleDES, IDEA и AES.
Убедитесь, что вы проверили сертификат сервера на стороне клиента, чтобы убедиться, что вы не 'говорить с ложной службой.Это в основном означает получение сертификата сервера и добавление его в хранилище ключей, используемое на клиенте.Если это Java, вы можете использовать keytool для импорта сертификата и использовать это хранилище ключей в качестве вашего TrustManager / KeyManager в вашем диалоге SSL.
Если вы хотите зашифровать данные после того, как они прошли разговор SSL, вы можете зашифровать /расшифровывать только на сервере.Но у вас все еще есть ключевая проблема управления.Если вы шифруете / дешифруете, как вы планируете защитить секретный ключ на сервере?Это всегда ужасная проблема, на которую нет простого ответа.