Встроенный веб-сервер и сертификаты - PullRequest
2 голосов
/ 13 апреля 2009

У меня есть приложение со встроенным веб-сервером. Этот веб-сервер теперь может делать SSL через пакет OpenSSL:)

Теперь к вопросу о сертификации. Это приложение продается, о чем я говорю, потому что оно не просто сидит на моем собственном сервере - оно устанавливается на тысячи компьютеров. Я хочу, чтобы мои клиенты были в безопасности, поэтому я хочу, чтобы они использовали SSL как можно безболезненнее. Прямо сейчас мы создаем наш собственный CA, затем создаем самоподписанные сертификаты. Это означает, что все наши клиенты (и их пользователи) должны либо установить свой собственный, специфичный для установки ЦС, либо жить с недоверенным корневым предупреждением из сертификата, ни один из которых не является привлекательным.

Как обойти это?

Нам либо нужно:

  1. Сделать наш CA очень простым (что специально сделано браузерами довольно сложно - множество диалогов с предупреждениями),
  2. Каким-то образом получите все сертификаты клиентов, законно подписанные CA, признанным браузером.
  3. Заставить покупателя купить собственный сертификат и установить его

Я не понимаю, как мы будем делать # 1, поэтому мы смотрим на # 2. № 3 в значительной степени исключено.

Нам приходит в голову, что мы можем просто купить сертификат SSL и отправить его вместе с нашим продуктом - да, все используют один и тот же сертификат, и сертификат и закрытый ключ могут / будут просочиться в общественное достояние .. Хм ... Наверное, не хотим, чтобы наше имя упоминалось ради ответственности ...

Полагаю, проблема в том, что мы в первую очередь работаем против цели СА. Любые мысли о том, как сделать это легко и безопасно для пользователя? (Предположим, что атаки типа «человек посередине» не являются проблемой - была ли она когда-либо задокументирована?)

1 Ответ

1 голос
/ 13 апреля 2009

Простого простого решения этой проблемы не существует. Если бы это было легко решено, безопасность системы сертификатов SSL была бы плохой.

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

1. Установить корневой CA в клиентских браузерах

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

2. Купить коммерческий корневой сертификат CA с подписью

Если ваше приложение открыто для Интернета, это, скорее всего, требуется. Однако, если вы продаете приложение, а не просто предлагаете его услуги, это может не сработать по причинам ответственности, как вы упомянули.

3. Заставьте клиента купить собственный коммерческий сертификат подписанного корневого CA

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

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