Вопрос безопасности API: SSL или больше? - PullRequest
3 голосов
/ 24 января 2010

Я занимаюсь разработкой API для веб-приложения. Настольные клиенты будут взаимодействовать с API с помощью простых сообщений HTTP (REST). Я буду использовать SSL, в этом нет сомнений. У меня такой вопрос: я должен также шифровать данные перед их отправкой по SSL? Отправляемая информация может содержать конфиденциальную информацию. Достаточно ли SSL или я должен делать больше? Моя единственная забота о добавлении дополнительных уровней безопасности заключается в том, что людям будет значительно сложнее взаимодействовать с API. Мы будем благодарны за любые мысли по этому поводу.

Ответы [ 5 ]

4 голосов
/ 24 января 2010

Нет, SSL обеспечивает надежное шифрование как таковое. Просто убедитесь, что вы заставляете клиентов использовать HTTPS, и если вы действительно параноик, проверьте, достаточно ли силен шифр.

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

2 голосов
/ 24 января 2010

Если вы доверяете своему сертификационному центру, а ваши клиенты - и ваш ключ достаточно защищен (RSA 2048 некоторое время не будет взломан), с SSL вообще не будет никаких проблем. Вам не нужно шифровать данные перед SSL, поскольку сам SSL обеспечивает шифрование.

Если этот API будет использоваться через Интернет, список центров сертификации здесь будет вам полезен при выборе одного.

Вы также можете аутентифицировать своих клиентов по SSL с помощью SSL-сертификатов клиентов.

1 голос
/ 24 января 2010

ИМХО, я бы не стал добавлять еще один уровень шифрования поверх уже существующего шифрования. Это увеличит накладные расходы и, как вы говорите, усложнит API. SSL существует для отправки защищенных данных между двумя узлами, так зачем изобретать велосипед?

0 голосов
/ 17 августа 2014

Да. SSL помог бы при посредничестве и прослушивании телефонных разговоров, но есть и другие атаки, SSL не поможет, например, при воспроизведении.

0 голосов
/ 24 января 2010

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

Кроме того, если ваши клиенты используют эти службы интеграции, они могут не применять SSL-соединения между клиентом и службой интеграции.

По этой причине при работе с конфиденциальной информацией я стремлюсь к сквозной безопасности, а не к зашифрованным каналам связи SSL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...