Я готовлю систему связи и обмена данными между двумя веб-сайтами и хотел бы улучшить ее, используя предложение, опубликованное членами сообщества Stackoverflow.
Позвольте мне объяснить, как я делаю это прямо сейчас, на следующем примере.
Есть 2 сайта
- server-example.com (теперь будет называться SE.com)
- client-example.com (теперь будет называться CE.com)
Перед выполнением обмена данными между сайтами выполняются следующие шаги.
- С помощью функций openssl_* на SE.com генерируются асинхронные пары ключей.
- Закрытый ключ хранится на SE.com
- Открытый ключ отправляется на CE.com через обычный HTTP-запрос (подробный процесс ниже)
- Открытый ключ кодируется с помощью функции json_encode.
- Закодированные данные передаются на CE.com
Дальше,
- Как только CE.com получает закодированные данные, используя функцию json_decode, он извлекает PublicKey.
- CE.com генерирует случайную строку (называемую rkey) с помощью пользовательской функции.
- rkey шифруется с помощью функции openssl_public_encrypt
- Зашифрованные данные передаются на SE.com
Дальше,
- При получении зашифрованных данных SE.com расшифровывает их с помощью openssl_private_decrypt.
- Теперь у SE.com такой же ключ (как и у CE.com)
Теперь предположим, что SE.com необходимо отправить следующую строку «Hello World» на CE.com.
Оба сайта имеют собственную библиотеку для шифрования-дешифрования AES.
- SE.com использует rkey с функцией шифрования AES для генерации зашифрованного текста.
- Сгенерированный зашифрованный текст кодируется с помощью функции json_encode и отправляется на CE.com.
Теперь CE.com получает зашифрованный текст
- При получении зашифрованного текста он декодируется с использованием json_decode и получает строку «Hello World».
Вопросы
- Безопасно ли общение в Интернете? В смысле веб-безопасности данные, которые передаются между SE.com и CE.com, могут передаваться аналогично запросу GET?
Если кто-то попытается прочитать передаваемые данные по пути передачи, сможет ли он их расшифровать и посмотреть, что в них содержится или нет?
Кроме того, предоставьте предложения по улучшению безопасности и связи.
Помощь приветствуется.