Недавно я приобрел сертификат подписи кода для своего работодателя, но я не разработчик InstallShield, который будет подписывать файлы перед дистрибутивом. Я знаю, что могу экспортировать сертификат вместе с его личным ключом, но где его хранить, чтобы разработчик InstallShield мог установить его на свой компьютер? Должен ли я удалить его с моей машины, как только я дам это тому, кто делает подписание? Где я могу хранить основную копию? Очевидно, что контроль источника не является лучшим местом, если я не заблокирую этот каталог в SVN.
Где вы храните секретный ключ для своего сертификата подписи кода?
Ответ 1
Принудительные политики безопасности для закрытых ключей
Помните: закрытый ключ вместе с выпущенными подписанными двоичными файлами - это ваша компания. Политики для обработки таких ключей не могут быть достаточно строгими.
Придерживайтесь того, чтобы YOU были единственной ошибкой в вашей компании, которая будет (и ответственна) за подписание исполняемых файлов.
Если это не вариант, пусть все сотрудники, вовлеченные в PKI, подписывают явное соглашение о неразглашении с высоким штрафом - должно быть результатом гораздо более высокого чувства ответственности.
Передача ключей
- используйте переносные носители (например, специальный USB-накопитель или CD-ROM). Я бы предпочел использовать только для чтения носители.
- пусть квитанция будет засвидетельствована другим сотрудником.
- пусть получатель и свидетель подписывают форму о получении ключа
Хранение мастер-копии
Храните резервную копию основной копии как минимум на 3 дисках в разных географических точках, где у вас есть эксклюзивный доступ. Также подумайте о шифровании копий с помощью сильных алгоритмов шифрования, таких как AES-256 (например, в файле 7z).
Ответ 2
Вы правы, чтобы не захотеть поместить его в управление версиями.
Я бы сказал, что вы должны предоставить один экземпляр своему ИТ-отделу, чтобы они могли его поддержать. Дайте еще одну копию тем разработчикам, которые в ней нуждаются (звучит так, как только это нужно). Независимо от того, удалите ли вы его с вашей машины, зависит от вас.
Что касается того, как передавать его между компьютерами, USB-накопитель является очевидным решением.
Ответ 3
Если вы ожидаете, что сможете сделать автоматическую сборку, вам придется поместить ее где-то в систему сборки, к которой может получить доступ.
Ответ 4
Безопасный переносимый носитель - как зашифрованный флеш-накопитель - хороший вариант. Если вы очень обеспокоены этим и там много денег на линии, если ключ скомпрометирован, вы можете даже захотеть изучить Модули безопасности оборудования, подобные тем, которые предоставляются SafeNet. Они хранят ключ в закаленном устройстве или устройстве, чтобы гарантировать, что ключ нельзя скомпрометировать, даже если у вас есть физический доступ к нему.
Недостатком HSM является стоимость. Они могут столкнуться с десятками тысяч долларов. Но если вы рискуете потерять миллионы из-за компромисса, это может быть небольшая цена.