Для подписи кода в двоичных файлах Windows требуется сертификат HSM или есть другие лучшие альтернативы (в этой ситуации).
Аппаратный модуль безопасности (HSM) - это просто аппаратный инструмент для выполнения криптографических операций, таких как управление ключами, обмен ключами, шифрование, проверка и хранение. Сертификата HSM не существует, но есть сертификаты, сгенерированные HSM.
Я сам не использовал HSM, но я бы опасался ключей, которые генерируются таким оборудованием. Они могут подойти для внутреннего использования, но для внешнего использования вы должны использовать сертификаты, созданные хорошо известным центром сертификации (CA).
Let's Encrypt - это бесплатный CA, который широко используется. В моей организации мы предпочитали платить за известный CA для распространения нашего программного обеспечения.
Какие есть варианты распространения сертификата среди разработчиков? Было бы неплохо использовать AD, так как он уже существует во всем мире.
Вы можете использовать AD, но это может быть излишним для нескольких программистов. Я бы использовал его только для сертификата разработки, сохраняя при этом сертификат публикации очень защищенным, возможно, сам в зашифрованном контейнере и под полным и неразделенным контролем только одного доверенного лица (и, возможно, одного резервного пользователя).
Для получения дополнительной информации см .:
- Распространение сертификатов на клиентские компьютеры с помощью групповой политики
- Как развернуть сертификаты подписи на клиентских компьютерах с помощью GPO?
Можно ли при распределенной установке сохранить сертификат подписи в секрете?
Нет, в тот момент, когда секрет делится, он больше не секрет. Держите сертификат распространения очень безопасным, как указано выше.
В случае утечки ваш сертификат будет занесен в черный список всеми браузерами и антивирусными продуктами, в результате чего все ваше распределенное программное обеспечение станет непригодным для использования. Держите его в безопасности, как если бы ваша жизнь зависела от него (по крайней мере, ваша коммерческая жизнь).
Будет ли двойная подпись вариантом для повышения безопасности? (Одна подпись, чтобы победить антивирус во время тестирования, другая для реальной безопасности выпущенного программного обеспечения)
Конечно, и я бы видел это как вашу единственную возможность. Сертификат разработки может просочиться, но вам будет все равно, потому что люди, которые его утекут, также могут утекать неподписанные модули.
У вас есть лучшее решение для нас, чтобы рассмотреть?
Похоже, вы глубоко подумали на эту тему. В вашей ситуации я бы тоже пошел на такое решение с двойным сертификатом.