Поделиться через


Цифровые подписи

Цифровые подписи основаны на технологии инфраструктуры открытых ключей Майкрософт, которая основана на Microsoft Authenticode в сочетании с инфраструктурой доверенных центров сертификации (ЦС). Authenticode, основанный на отраслевых стандартах, позволяет поставщикам или издателям программного обеспечения подписывать файл или коллекцию файлов (например, пакет драйвера) с помощью цифрового сертификата подписи кода, выданного ЦС.

Windows использует допустимую цифровую подпись для проверки следующего:

  • Файл или коллекция файлов подписаны.

  • Подписант считается доверенным.

  • Центр сертификации, прошедший проверку подлинности подписи, является доверенным.

  • Коллекция файлов не была изменена после публикации.

Например, этот процесс подписывания для пакета драйвера включает в себя следующее:

  • Издатель получает цифровой сертификат X.509 у удостоверяющего центра. Сертификат Authenticode также называется сертификатом подписи. Сертификат подписи — это набор данных, определяющих издателя, и выданный ЦС только после проверки удостоверения издателя. ЦС может быть центром сертификации Майкрософт, сторонним коммерческим ЦС или корпоративным ЦС.

    Сертификат подписи используется для подписи файла каталога пакета драйвера или внедрения подписи в файл драйвера. Сертификаты, определяющие доверенных издателей и доверенные ЦС, устанавливаются в хранилищах сертификатов , которые поддерживаются Windows.

  • Сертификат подписи включает закрытый ключ и открытый ключ, который называется парой ключей. Закрытый ключ используется для подписи файла каталога пакета драйвера или внедрения подписи в файл драйвера. Открытый ключ используется для проверки подписи файла каталога пакета драйвера или подписи, внедренной в файл драйвера.

  • Чтобы подписать файл каталога или внедрить подпись в файл, процесс подписи сначала создает криптографический хэш или отпечаток файла. Затем процесс подписывания шифрует отпечаток файла с закрытым ключом и добавляет отпечаток в файл.

    Процесс подписывания также добавляет сведения о издателе и УЦ, выдавшем сертификат подписи. Цифровая подпись добавляется в файл в разделе файла, который не обрабатывается при создании отпечатка файла.

  • Чтобы проверить цифровую подпись файла, Windows извлекает сведения о издателе и ЦС и использует открытый ключ для расшифровки зашифрованного отпечатка файла.

    Windows принимает целостность файла и подлинность издателя, только если это верно:

Дополнительные сведения о том, как установка устройства Plug and Play (PnP) использует цифровую подпись файла каталогапакета драйвера, см. в разделе "Цифровые подписи" и "Установка устройств PnP".

Дополнительные сведения о технологии инфраструктуры открытых ключей Майкрософт, подписи кода и цифровых подписях см. в статье "Введение в подпись кода" и "Лучшие практики подписи кода".