Защита данных в API?

Здравствуйте, существует проблема защиты данных клиентского приложения передаваемых серверу и обратно. Так вот я пришла с вопросом, как защитить данные? Можно ли использовать HTTPS и как это сделать или же нужно создавать свои модули шифрования под сессии?
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Здравствуйте, существует проблема защиты данных клиентского приложения передаваемых серверу и обратно.
Какая конкретно проблема?

как защитить данные?
От кого?

Можно ли использовать HTTPS
Разрешаю, можно.

и как это сделать
На сервере ставите сертификат, в клиенте прописываете урл апи с https.

или же нужно создавать свои модули шифрования под сессии?
Если приложение передает критические данные (например банковские транзакции или шпиёнские документы), можно использовать сквозное шифрование с какими-нибудь убердлинными ключами, однако перехват ключей при хэндшейке при атаке митм никто не отменял. Впрочем, как и в случае с хттпс.
Ответ написан
Комментировать
@rPman
Обычно два направления атак, от которых нужно защищаться:
1. защита от кражи передаваемых данных провайдером (любым, на пути следования пакетов, например публичный wifi)
2. защита от подмены передаваемых данных, так же провайдером
Для первой задачи нужно шифрование HTTPS, для второй хватит цифровой подписи но при использовании HTTPS это не актуально, так как подменить зашифрованные данные не получится

Клиент должен не игнорировать предупреждения о невалидности цифровой подписи (любят тут люди вместо корректной настройки последних версий openssl отключать контроль curl --insecure).

Есть еще защита от фальсификаций истории действий клиентом и сервисом (как доказать что ты отправил сервису сигнал на покупку и он его принял, а серверу доказать что ты отправлял этот сигнал), это реализуется цифровой подписью, сервер и клиент сначала обмениваются ключами шифрования (или просто солью для хешей) и каждое свое сообщение подписывают, если клиент будет хранить всю коммуникацию, эти цифровые подписи будут доказательством.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы