Где вы храните закрытый ключ для вашего сертификата подписи кода?

Я недавно получил сертификат подписи кода для своего работодателя, но я не являюсь разработчиком InstallShield, который будет подписывать двоичные файлы перед распространением. Я знаю, что могу экспортировать сертификат вместе с закрытым ключом, но где его хранить, чтобы разработчик InstallShield мог установить его на свой компьютер? Должен ли я удалить его с моей машины, как только я передам его человеку, который подписывает? Где хранить мастер-копию? Очевидно, что управление версиями — не лучшее место, если только я не заблокирую этот каталог в SVN.


person flipdoubt    schedule 29.03.2010    source источник
comment
Не знаю, как кто-то другой, но я храню его в Моих документах :p   -  person anonymous coward    schedule 30.03.2010


Ответы (4)


Применение политик безопасности для закрытых ключей

Помните: закрытый ключ в сочетании с выпущенными подписанными двоичными файлами является идентификатором вашей компании. Политики обращения с такими ключами не могут быть достаточно строгими.

Обеспечьте, чтобы ВЫ были единственным лицом в вашей компании, способным (и ответственным) подписывать исполняемые файлы.

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

Ключевые передачи

  • используйте портативные носители (например, специальный USB-накопитель или компакт-диск) — я бы предпочел носитель только для чтения
  • пусть квитанция будет засвидетельствована другим сотрудником
  • пусть получатель и свидетель подпишут форму о получении ключей

Хранение мастер-копии

Храните резервную основную копию как минимум на 3 дисках в разных географических точках, к которым у вас есть эксклюзивный доступ. Также подумайте о шифровании копий с помощью надежных алгоритмов шифрования, таких как AES-256 (например, в файле 7z).

person Robert    schedule 29.03.2010

Вы правы, что не хотите помещать его в систему контроля версий.

Я бы сказал, что вы должны предоставить одну копию своему ИТ-отделу, чтобы они могли создать ее резервную копию. Дайте еще одну копию всем разработчикам, которым она нужна (похоже, она нужна только одному). Удалите ли вы его со своей машины или нет, зависит от вас.

Что касается переноса данных между компьютерами, USB-накопитель является очевидным решением.

person NUXI    schedule 29.03.2010
comment
Я начинаю думать, что SVN — правильный путь, если я настрою надлежащий контроль доступа. - person flipdoubt; 30.03.2010

Если вы ожидаете, что сможете выполнять автоматическую сборку, вам придется разместить ее где-то, к чему система сборки может получить доступ.

person Christopher Painter    schedule 30.03.2010
comment
В настоящее время мы не подписываем двоичные файлы как часть нашей сборки TeamCity. Мы планируем подписать его как часть нашей сборки InstallShield. Однако я видел желание предоставить доступ к серверу сборки. Вот почему я проверяю его в собственном репозитории SVN с соответствующими ACL. - person flipdoubt; 30.03.2010

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

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

person Shadowman    schedule 19.05.2010