Программирование драйверов Windows

       

Цифровое подписание драйвера


Огромное количество драйверов сторонних поставщиков (третьей стороны, third-party companies) поставляется в составе CD дистрибутива Microsoft Windows. Для того чтобы участвовать в этой программе, поставщик драйвера должен выполнить некоторые требования, сформулированные Microsoft. B интересах Microsoft обеспечить достижение двух взаимоисключающих целей:

  • обеспечить работу под управлением Windows максимально разнообразной и многочисленной аппаратуры при обычном способе распространения дистрибутива;
  • обеспечить стабильность работы новых драйверов без нарушения каких-либо свойств или целостности системы.
  • Поскольку драйверы работают в режиме ядра, у них имеется возможность привести систему к краху. Так как нестабильность системы, скорее всего, будет отнесена пользователем на нестабильность самого ядра, очевидно, что в интересах Microsoft определить список сертифицированных поставщиков и сертифицированных драйверов для своей операционной системы.

    Разумеется, совместимость Windows 2000/XP/2003 с большим количеством аппаратуры, нежели другие операционные системы, является сильным фактором стимулирования продаж. Следовательно, Microsoft непрерывно контактирует с производителями аппаратного обеспечения на предмет получения своевременных и протестированных конечных версий драйверов. Вплоть до того, что конфигурация Windows Server 2003 Datacenter Edition поставляется только OEM поставщиками совместно с компьютером.

    Для достижения вышеописанных целей, в Microsoft была создана специальная группа, the Windows Hardware Quality Labs (WHQL), которая проводит сертификацию аппаратуры и драйверов устройств. Выгоды от участия в этой программе сертификации для производителей/поставщиков аппаратного обеспечения состоит в

  • использовании логотипа Windows как знака соответствующей ступени сертифицированности поставляемой аппаратуры и программного обеспечения к нему;
  • включении в официальный перечень поддерживаемого и сертифицированного оборудования для различных операционных систем разработки Microsoft (см.
    интернет-страницу microsoft.com/hcl);


  • автоматического распространение драйверного обеспечения вместе с будущими поставками новых под-версий Windows;


  • получении цифровой подписи.


  • Подробнее ознакомиться с условиями участия в этой программе (процедурой и ценами на работы) можно на интернет-странице microsoft.com/hwtest.

    Как часть результата участия в программе WHQL, драйвер получает цифровую подпись (digital signature), защищенную криптографическими методами, которая позволяет Windows 2000/XP/2003 осуществлять инсталляцию драйвера без выдачи обескураживающего предупреждения о "надвигающейся" опасности. Цифровая подпись является, по мнению Microsoft, средством отсеивания ненадежного кода и устройств и гарантией того, что устанавливаемый код является оригинальным драйверным кодом от поставщика. Применение собственно цифровой подписи касается двух моментов:

  • Файла-каталога (с расширением CAT), который включается в распространяемый пакет драйверного программного обеспечения. Он и содержит цифровую подпись, предоставленную Microsoft.


  • Запись в INF файле в составе секции [Version], где указывается ссылка на CAT файл.


  • Сама цифровая подпись ни в коей степени не производит модификацию кода драйверного программного обеспечения.


    Содержание раздела