2010-09-02 5 views
1

Я создаю веб-сервис для конечных пользователей, который будет иметь интерфейс в виде настольного приложения Adobe AIR, но пользователи также смогут получать доступ к своим данным через веб-сайт. Данные пользователя будут синхронизированы между сервером и локальным хранилищем данных. Проблема в том, что я не могу получить сертификат SSL. Есть ли способ сделать это более безопасным ....Безопасная аутентификация без SSL?

Я думаю, что я могу использовать что-то вроде двухногих oAuth или Amazon S3, таких как система аутентификации?
Что вы рекомендуете в такой ситуации?

+2

Независимо от того, что вы делаете, пожалуйста, воздержитесь от качки самостоятельно (http://stackoverflow.com/questions/3604582/which-attacks-are-possible-concerning-my-security-layer-concept/3604619#3604619) – NullUserException

ответ

4

Первый вопрос: почему вы не можете получить сертификат SSL? Я думаю, по двум причинам:

  1. SSL сертификаты являются слишком дорогими
  2. Вы не хотите иметь сертификат, выданный третьей стороной

Если ваша проблема # 1, StartSSL обеспечивает бесплатные сертификаты с 1-летним сроком действия или 50 долларов США за неограниченные сертификаты, действительные в течение 2 лет (включая подстановочные знаки). Они распознаются как Mozilla, так и доверительным хранилищем Microsoft.

Если проблема № 2, почему бы не выдавать самозаверяющий сертификат и не использовать его в своем приложении? Это не ставит под угрозу безопасность системы вообще (только ваш конкретный сертификат будет принят приложением), но устраняет необходимость «получить» сертификат SSL из другого места.

Если вы действительно не можете использовать SSL, посмотрите на системы реакции на запрос, такие как Kerberos или анонимные генераторы ключевых материалов, такие как Diffie-Helman (с асимметричным ключом для проверки подлинности сервера). Существует много методов для безопасной двухсторонней аутентификации по небезопасной линии. Ключ состоит в том, что шаг проверки идентификатора должен быть challenge-response вместо схемы «Отправить мне секрет».

+0

Даже если сертификат SSl свободен, у меня нет доступа к статическому IP. – User

+1

@Shubhkarman: Кто вам сказал, что вам нужен статический IP-адрес для использования SSL? Они ошибаются. Проблема с не статическим IP-адресом заключается в сложности соединения между клиентом и сервером вообще. Но вы можете управлять динамической службой DNS. – Borealid

+1

Некоторые хосты требуют, чтобы у вас был статический IP-адрес, поскольку общие хосты используют один и тот же IP-адрес для всех, и вы не можете использовать порт по умолчанию (443) на нескольких сайтах. – Inigoesdr

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