Диспетчер сертификатов Windows восстанавливает закрытый ключ как-то

2336
Ency

Это может звучать очень странно, но позвольте мне объяснить ситуацию:
я использовал свой закрытый ключ PKI, установленный при Windows Certificate Storageполучении токена, поэтому я решил загрузить их в токен и удалить из хранилища Windows. Все идет нормально.

Но теперь, когда я использую токен-ключ, он снова появляется Windows Certificate Storage(это нормально, так как здесь вы также можете видеть сертификаты со смарт-карт). Но я могу экспортировать закрытый ключ! И это определенно неправильно.

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

Ты хоть представляешь, как это могло случиться? А как реально удалить приватный ключ из хранилища? Или почему их заново как-то хранили?

0

1 ответ на вопрос

0
Ency

Я просто "ВАУ" - я бы не назвал это безопасным в любом случае - в соответствии с http://seclists.org/fulldisclosure/2006/Apr/164 закрытые ключи не удаляются и остаются в системе БЕЗ какой-либо информации об этом, я used попытался использовать приложение в прикрепленной ссылке, но оно не работает, однако мне удалось идентифицировать закрытые ключи с помощью hexa-редактора в path C:\Users\[USERNAME]\AppData\Roaming\Microsoft\Crypto\RSA\[UID]и окончательно удалить их из системы. Я все еще в шоке, это не ошибка, а особенность.

Если у вас установлен сертификат на HD (т. Е. С использованием MS Enhaced CSP), то, следуя Microsoft, вы можете удалить его с помощью IExplorer, в меню Сервис выберите пункт Свойства обозревателя, затем перейдите на вкладку * Содержимое *, а затем нажмите Удалить. Это хорошо известное действие, описанное в http://www.microsoft.com/technet/prodtechnol/ie/reskit/6/part2/c06ie6rk.mspx?mfr=true

Делая это, вы эффективно удаляете сертификат, но ЧАСТНЫЙ КЛЮЧ ОСТАЕТСЯ НА HD. Вы можете найти множество сценариев, в которых это может быть проблемой. Предположим, вы идете в дом друга, устанавливаете файл pkcs12, содержащий ваш сертификат и закрытый ключ со средним уровнем безопасности (по умолчанию), затем используете его, и когда вы заканчиваете свою работу, вы удаляете сертификат (но НЕТ закрытый ключ). Затем ваш друг берет ваш сертификат (это публичный документ) и устанавливает его, имея для вас ваш личный ключ.

Программа cleancapi удаляет закрытые ключи, которые не используются ни одним сертификатом. Исходный код: http://dwnl.nisu.org/dwnl?fic=cleancapi_0_2_src.zip Предварительно скомпилированная версия: http://dwnl.nisu.org/dwnl?fic=cleancapi_0_2_bin.zip

Это не слишком большая ошибка и добавленная особенность. Вам нужен ваш личный ключ, даже если соответствующий открытый сертификат был удален или признан недействительным или срок его действия истек. Например, в противном случае вы не сможете расшифровать данные, зашифрованные с помощью сертификата. Сертификат следует рассматривать как нечто полностью отделенное от закрытого ключа (например, вы собираете много сертификатов сторонних производителей, разумеется, без их закрытого ключа). - Установите личный ключ на чужой компьютер, * это * реальная брешь в безопасности (даже если вы удалили его, его ящик мог долго копировать его в фоновом режиме). Hagen von Eitzen 9 лет назад 0