Стратегия SSL-сертификата для ненадежного сервера - PullRequest
1 голос
/ 22 апреля 2011

Я разрабатываю продукт, который должен работать в качестве сервера через локальную сеть для подключения других клиентских приложений при следующих ограничениях:

  • Обмен данными является очень ценным, и мы не можем гарантировать безопасность сети пользователей или компьютера, выполняющего роль сервера. Поэтому любой SSL-сертификат потенциально может попасть в «чужие руки».
  • Чтобы свести к минимуму нарушение пользовательского интерфейса, любые неэлектронные средства идентификации сервера для клиента должны быть ограничены информацией, которая может быть записана на post-it (т.е. IP-адрес, пароль, а не обмен файлами ключей).

Учитывая это, наша текущая стратегия SSL:

  • Не устанавливайте SSL-сертификаты в доверенные хранилища и не подписывайте сертификаты сертификатом CA. Это может дать потенциальному злоумышленнику ключ от входной двери ко всем клиентским машинам
  • Сертификаты SSL, следовательно, будут самозаверяющими. Это не дает человеку в средней защите, потому что у нас нет возможности проверить сервер. Однако он обеспечивает защиту от перехвата для тех пользователей, которые имеют небезопасные сети, но защищенные серверы.
  • Внедрите систему «паролей» поверх симуляции с использованием симметричного шифрования Rijndael, поэтому даже если сертификат скомпрометирован, существует некоторая защита от перехвата перехвата (я знаю, много негерметичных областей памяти - но лучше, чем ничего) , Этот пароль может регулярно обновляться с минимальным вмешательством в пользовательский опыт клиентов.

В пределах этих ограничений существует ли более безопасная стратегия взаимодействия клиента и сервера?

1 Ответ

0 голосов
/ 05 июня 2011

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

...