Каковы лучшие практики для развертывания PGP в среднем бизнесе?
У меня была идея:
Кажется, это соответствует моим основным потребностям, но мне интересно, есть ли другие соображения?
Кроме того, я не уверен, где разместить в сети сервер ключей. Если он находится во внутренней сети, он не будет доступен для удаленных сотрудников, у которых нет доступа к VPN. Если он размещен в Интернете, то меня беспокоит риск, связанный с конфиденциальностью, когда внешние люди могут получить список сотрудников. Можно ли защитить сервер ключей паролем?
Использование общего центра сертификации будет разумным, особенно если более чем группа людей будет использовать OpenPGP. Использование такого ЦС не противоречит подходу децентрализованной сети доверия, это просто центральная точка доверия для небольшой, ограниченной части сети доверия, которая по-прежнему позволяет доверять соединениям в обход ЦС.
Представленная вами базовая концепция выглядит вполне разумной и разумной. Некоторые вещи я рассмотрю ниже, возможно, это все еще можно расширить другими идеями.
Вы можете создать свой собственный центр сертификации, которому вы определенно сможете доверять (и ваши сотрудники, вероятно, тоже смогут это сделать). Если вы хотите общаться с внешними участниками, им все равно придется доверять вашему ЦС.
Это также уже хорошо интегрированные центры сертификации в сети доверия. Наибольшее значение, вероятно, имеет CAcert, а также немецкий Heise Verlag (но каждый сотрудник должен будет поехать в Ганновер, Германия, чтобы получить подписку - это, вероятно, неосуществимое решение). CAcert, с другой стороны, предлагает свои организационные гарантии и позволяет легко создавать сертификаты X.509 и OpenPGP. CAcert владеет одним из лучших интегрированных ключей OpenPGP и, скорее всего, ему доверяют многие пользователи OpenPGP, и, возможно, стоит обратить внимание на использование в качестве центра сертификации.
Внутренний ключевой сервер (за VPN / брандмауэром / NAT) не будет доступен извне, поэтому ни один "посторонний" не сможет его запросить. Это может быть интересно, если вы используете OpenPGP только для внутренних целей, но если также клиенты и другие заинтересованные стороны должны иметь возможность конфиденциально общаться с вашими сотрудниками, вам, вероятно, в любом случае следует сделать их доступными для Интернета. Этого можно достичь, открыв доступ к вашему собственному ключевому серверу в Интернете и найдя другие для синхронизации, или напрямую полагаясь на уже доступные ключевые серверы.
В любом случае следует учитывать, что сложно предотвратить загрузку ключей на другие серверы ключей. Какой-то клиент получил ключ и (намеренно или случайно загрузил его? Какой-то сотрудник неправильно сконфигурировал свои настройки и использует внешний сервер ключей вместо вашего локального, например, когда он хотел запросить другие ключи?
Что касается этих рисков и их вероятностей, обсуждение защиты паролем вашего сервера ключей не кажется главной проблемой. Я не думаю, что протоколы поддерживают это в любом случае (но они основаны на HTTP, может быть, HTTP-аутентификация работает?). Размещение ключевого сервера за VPN, вероятно, является лучшим решением, если вы все равно хотите сохранить его конфиденциальность.
Публичное объявление об использовании OpenPGP также может представлять интерес, поскольку это своего рода реклама, серьезно относящаяся к безопасности и конфиденциальности, и повысить доверие (будущих) клиентов в вашей компании.
Если вы хотите иметь возможность отозвать ключи OpenPGP сотрудника, например, после того, как он ушел из-за конфликта, взгляните на Возможность OpenPGP создать подпись привязки ключа отзыва. Если ключи сотрудника используют эту подпись для обозначения первичного ключа CA, этот ключ может отозвать другой. Хотя: я не знаю, насколько широко реализована эта функция.
В качестве альтернативы уже собирать сертификаты отзыва при создании ключей и хранить их централизованно - тогда дата отзыва будет фиксированной, но, по крайней мере, у вас есть выход.
Вы также можете установить срок действия подписи (функция, которая часто не используется, но широко реализуется) до некоторой степени не слишком далеко в будущем, например. месяц. Автоматически подписать ключи сотрудника легко, и если кто-то уволится из вашей компании, его ключ в любом случае скоро истечет. Если уведомление придет достаточно рано, вы даже сможете вовремя прекратить подписывать его до того, как он уйдет.
Если у вас есть централизованное управление компьютерами сотрудников, подумайте о регулярном обновлении хранилищ ключей. Сотрудники могут реализовать запрос на сервер ключей, если им не хватает информации о новом ключе, но они не поймут, что нужно обновить в случае отзыва, ... Рассмотрите возможность использования простого задания cron или аналогичного метода для обновления хранилища ключей на напр. дневная база.