2014-01-23 2 views
0

У нас есть более 100 клиентских сайтов, которые работают на общей кодовой базе, и это все уникальные домены. Мы хотели бы представить дополнительные функции, которые используют конфиденциальную информацию пользователя. Это представляет проблемы бизнеса:Лучший способ защиты вызовов API без SSL?

  1. Контакта каждого клиент и мандат нам нужна компенсация, чтобы обеспечить сертификат для своего домена
  2. Ешьте стоимость всех сертификатов и единиц идти вперед
  3. Ешьте стоимость текущих доменов и повысить будущие цены для покрытия каждого нового сертификата

Теперь важно понять, что здесь нет моего звонка. Я инженер, а не ответственный за принятие решений на высоком уровне, поэтому я хотел бы предположить, что вышеуказанные 3 сценария не являются хорошими (хотя я их и расскажу).

Есть ли схема аутентификации, которую я могу использовать для защиты конфиденциальных API без SSL, или мне не повезло?

Одно из решений, которое я придумал, - это iframing страницу входа на наш основной сайт, на котором есть SSL, и прослушивание обратного вызова yay или nay. Это было встречено с теплым приемом! Поэтому любые ответы, отличные от iframe, приветствуются!

+2

Почему бы просто не отключить дополнительные функции, если соединение не выполняется через SSL? Те, кто хочет использовать функции, могут приобрести сертификат. –

+0

Хорошая точка, спасибо! – sean

ответ

2

Есть ли схема аутентификации, которую я могу использовать для защиты конфиденциальных API без SSL, или мне не повезло?

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

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

Давая вам сертификат SSL для вашего сайта Я действительно не считаю, что вам нужны сертификаты клиентов здесь (если это не требование для бизнеса). Я не вижу причин, по которым вы не могли бы сделать частные вызовы API доступными только для HTTPS и заставить пользователей отправлять данные аутентификации вместе с каждым запросом.

+0

Если клиентские сертификаты являются бизнес-требованиями, он также может предлагать самоподписанные сертификаты. Не идеальное решение, но возможно. – BoredBlazer

+0

@BoredBlazer да, это правда, однако, я думаю, что это больше проблема того, чтобы генерировать 100 сертификатов больше, чем стоимость. Все сертификаты - это обход части аутентификации (что приятно), но не всегда необходимость. Вы можете просто заставить пользователей API передавать данные аутентификации вместе с запросом. – James

+0

Джеймс, спасибо за ваш задумчивый ответ. Можете ли вы немного расширить «вы могли бы сделать частные вызовы API доступными только на HTTPS и заставить пользователей отправлять данные аутентификации вместе с ним»? Не могли ли эти детали быть перехвачены, а затем использованы как плохой парень, чтобы представлять себя как законный пользователь? – sean

Смежные вопросы