Подписывание и подготовка драйверов устройств в операционных системах Microsoft® Windows Server® (кодовое название – «Longhorn») и Windows Vista™ позволяет администраторам повысить уровень защищенности компьютеров организации. Это достигается путем разрешения пользователям устанавливать только проверенные и заранее определенные администратором драйверы устройств. В данном пошаговом руководстве рассматривается процесс подписывания и подготовки пакетов драйверов, позволяющий пользователям, не обладающими административными полномочиями, самостоятельно проводить их безопасную установку на свои компьютеры.
В данном пошаговом руководстве используются демонстрационное устройство и его драйвер, с помощью которых в лабораторной среде показано, каким образом можно безопасно разместить пакеты драйверов устройств на клиентских компьютерах так, чтобы обычный пользователь смог установить их без какой-либо дополнительной помощи со стороны администратора или взаимодействия с пользовательским интерфейсом операционной системы.
Важно
Рассматриваемые в данном руководстве примеры следует выполнять только в лабораторной среде. Данное руководство не предназначено для использования в рабочей среде и его следует использовать по собственному усмотрению как отдельный документ.
В частности, в Microsoft® Windows Vista™ и Windows Server® (кодовое название – «Longhorn») Вы можете выполнять следующие задачи:
Данное руководство предназначено для следующих категорий ИТ-специалистов:
Поскольку программное обеспечение драйвера устройства выполняется как часть операционной системы и имеет неограниченный доступ ко всем компонентам компьютера, очень важно разрешать использование только тех драйверов, которые известны администратору и внесены им в список надежных. Подписывая и размещая пакеты драйверов Ваших устройств на клиентских компьютерах с помощью методов, описанных в данном руководстве, Вы получаете следующие преимущества:
В операционных системах Windows Vista и Windows Server «Longhorn» Вы можете разрешить обычным пользователям устанавливать проверенные драйверы устройств без риска возникновения угрозы информационной безопасности, а также без участия специалистов службы поддержки.
В состав операционных систем Windows Vista и Windows Server «Longhorn» включены несколько функций, облегчающих администратору процесс установки драйверов устройств для пользователей. Вы имеете возможность размещать пакеты драйверов в защищенной области клиентского компьютера, называемой хранилищем драйверов. Обычные пользователи могут устанавливать пакеты драйверов из этого хранилища, не обладая при этом никакими административными полномочиями или особыми разрешениями. Вы также можете настроить клиентские компьютеры таким образом, чтобы при установке в систему нового устройства выполнялся поиск драйверов в общих сетевых папках (и их подпапках), указанных администратором. Эти папки могут располагаться как на локальном компьютере, так и на определенном сетевом ресурсе. Когда используется такой способ доступа к пакетам драйверов, Windows не предлагает пользователю указать файловый носитель, содержащий драйверы. Данные функции упрощают работу пользователей и снижают стоимость поддержки системы, позволяя обычному пользователю самостоятельно производить установку проверенных пакетов драйверов, не требующую никаких дополнительных разрешений или вмешательства со стороны администратора. Также эти функции повышают уровень безопасности компьютеров Вашей организации, гарантируя, что обычные пользователи могут устанавливать только те пакеты драйверов, которые были проверены и считаются надежными.
Примечание
В данном руководстве термин «драйвер устройства» означает установленное, настроенное и работающее программное обеспечение, необходимое для работы аппаратного устройства, установленного на компьютере под управлением ОС Windows.
Термины «пакет драйвера устройства», «пакет драйвера» или «пакет» означают полный набор файлов, необходимых для установки драйвера устройства.
Термин «администратор» означает любого пользователя, вошедшего в систему под учетной записью, входящей в состав локальной группы Administrators.
Термин «обычный пользователь» означает любого пользователя, вошедшего в систему под учетной записью, не имеющей повышенных разрешений, которые могут быть получены путем включения учетной записи в состав определенной группы или путем делегирования прав.
В данном руководстве Вы создадите тестовый сертификат и вручную установите его в хранилище сертификатов на клиентском компьютере. В рабочей среде организации проводятся более масштабные действия, в которые вовлекаются:
В целях защиты и поддержания стабильной работы операционной системы только у администраторов имеются полномочия на установку неподписанных драйверов устройств. С помощью процедур, описанных в данном руководстве, администратор может подписать пакеты драйверов, которые не были заранее подписаны поставщиком, после чего эти пакеты могут быть использованы в организации. С помощью этих процедур администратор может также заменить цифровую подпись поставщика сертификатом организации. Если все пакеты драйверов подписаны таким сертификатом, то в организации достаточно произвести развертывание только одного сертификата.
Если обычный пользователь пытается установить устройство, пакет драйвера которого еще не находится в локальном хранилище, ОС Windows в свою очередь пытается поместить этот пакет драйвера в хранилище. Эта процедура завершается успешно, если пользователь может предоставить системе административные учетные данные или если установка устройства, для которого предназначен пакет драйверов, разрешена системными политиками компьютера. Если пользователь не сможет успешно завершить процесс размещения пакета драйвера в хранилище, устройство установлено не будет.
В данном руководстве описываются задачи, связанные с развертыванием пакетов драйверов на клиентских компьютерах.
Операционные системы Windows Vista и Windows Server «Longhorn» позволяют Вам выполнять цифровое подписывание пакетов драйверов. В этом сценарии описаны шаги, необходимые для выполнения следующих задач:
В этом сценарии описаны шаги, необходимые для размещения пакета драйвера устройства в хранилище драйверов. Также в этом сценарии показано, каким образом происходит установка пакета драйвера из хранилища при подключении к компьютеру нового аппаратного устройства.
Если пакет драйвера определенного устройства размещен в хранилище драйверов, то при подключении пользователем этого устройства выполняется автоматическая установка его драйвера, не требующая никаких дополнительных разрешений; при этом пользователь также избавлен от необходимости принимать цифровую подпись. Все файлы пакета драйверов проверены и размещены на клиентском компьютере, поэтому их установка проходит незаметно для пользователя, который в результате получает готовое к работе устройство.
В этом сценарии описаны шаги, необходимые для выполнения следующих задач:
Пакеты драйверов могут быть размещены на сетевом ресурсе, доступном для клиентских компьютеров. В операционных системах Windows Vista и Windows Server «Longhorn» существует параметр реестра, позволяющий задавать список папок, в которых ОС Windows должна производить поиск пакетов драйверов, отсутствующих в хранилище драйверов. Этот список может включать в себя сетевые пути к папкам, расположенным на сервере.
Тем не менее, перед установкой драйверов, находящихся на сетевом ресурсе, осуществляется их размещение в хранилище драйверов локального компьютера (все требования, необходимые для выполнения этой процедуры также остаются в силе). Если пакеты драйверов, размещенные в сетевой папке, подписаны сертификатами доверия, и если Вы имеете соответствующие пользовательские разрешения, определяемые политиками установки устройств и позволяющие устанавливать устройства определенного класса, то установка успешно пройдет в автоматическом режиме. Если же пакет драйверов не был подписан, либо не была настроена соответствующая политика управления установкой устройств, пользователь получит запрос о доверии издателю и ему будет предложено ввести данные административной учетной записи.
В следующих разделах содержится краткий обзор базовых технологий, обсуждаемых в данном руководстве.
Поскольку программное обеспечение драйвера устройства выполняется с системными привилегиями и имеет неограниченный доступ ко всем компонентам компьютера, очень важно убедиться, что устанавливаемые драйверы являются доверенными. Понятие доверия в данном контексте основано на двух главных принципах:
Для соблюдения этих принципов ОС Windows использует цифровые сертификаты и цифровые подписи. Цифровой сертификат идентифицирует организацию и является надежной гарантией ее подлинности, поскольку может быть проверен центром сертификации (ЦС) с помощью электронных методов. В цифровой подписи с помощью цифрового сертификата организации шифруется отдельная информация о пакете.
Зашифрованная в цифровой подписи информация содержит отпечаток каждого файла, включенного в пакет. Отпечаток генерируется с помощью специального криптографического алгоритма, также называемого алгоритмом хеширования. С помощью этого алгоритма генерируется код, основанный на содержимом файла. Изменение хотя бы одного бита в файле приводит к изменению отпечатка этого файла. После того, как отпечатки созданы, они собираются в единый каталог и затем шифруются.
На следующем рисунке показан процесс подписывания пакета драйверов.
Этот процесс состоит из следующих этапов:
Исходный пакет драйвера не имеет цифровой подписи и файла каталога (CAT-файла), который может содержать подпись. На шаге 1 изображенной диаграммы выполняется программа Signability, которая создает CAT-файл и помещает в него отпечаток для каждого файла пакета драйвера, указанного в INF-файле. На шаге 2 выполняется программа SignTool, которая шифрует указанный цифровой сертификат, таким образом, подписывая CAT-файл. На шаге 3 подписанный CAT-файл включается в состав пакета драйвера и распространяется на компьютеры пользователей.
Компьютер-получатель проверяет подлинность автора пакета драйвера, используя копию сертификата для дешифрования цифровой подписи этого пакета. Успешное дешифрование является доказательством того, что пакет драйвера был подписан владельцем сертификата.
Во время процесса проверки подлинности используется тот же алгоритм хеширования, что и при создании отпечатков файлов. Windows генерирует отпечаток для каждого полученного файла пакета. Если отпечатки, сгенерированные компьютером-получателем, совпадают с зашифрованными отпечатками, содержащимся в цифровой подписи, получатель может быть уверен, что полученный пакет идентичен исходному пакету. Несовпадение отпечатков означает, что файлы были изменены с момента подписывания, и поэтому не могут считаться надежными.
На каждом компьютере под управлением ОС Windows имеется хранилище для цифровых сертификатов, которым управляет операционная система. Администратор компьютера может добавлять в это хранилище сертификаты издателей, которым он доверяет. Если операционная система не может найти сертификат полученного пакета в хранилище сертификатов, пользователю предлагается подтвердить, что издатель является надежным. Помещая сертификат в хранилища сертификатов на всех клиентских компьютерах, Вы тем самым указываете операционной системе, что все пакеты, подписанные этим сертификатом, являются надежными.
Важно
Для 64-разрядных версий ОС Windows Vista и Windows Server «Longhorn» требуется, чтобы все драйверы, работающие в режиме ядра, были подписаны сертификатом издателя программного обеспечения, выпущенным центром сертификации. Если Вы используете 64-разрядную версию Windows Vista, Вам необходимо либо иметь уже подписанный пакет драйвера, либо иметь доступ к сертификату издателя программного обеспечения, с помощью которого Вы сможете подписать этот пакет. Если 64-разрядный драйвер, работающий в режиме ядра, будет подписан неправильно, он не сможет успешно загрузиться и работать. Если этот драйвер требуется для загрузки компьютера, компьютер может не загрузиться. Убедитесь, что работа всех пакетов драйверов была проверена на всех различных типах компьютеров, на которые Вы планируете производить развертывание.
Криптографические ключи, являющиеся основополагающим элементом процесса подписывания, использующегося в технологии Authenticode, должны быть защищены. Эти ключи являются уникальными идентификаторами организации, и поэтому с ними необходимо обращаться так же, как с наиболее ценным имуществом. Любой код, подписанный этими ключами, воспринимается ОС Windows как код, содержащий действительную цифровую подпись, по которой можно определить организацию, подписавшую этот код. Если ключи украдены, они могут быть использованы в незаконных целях для подписи вредоносного кода. Это может привести к рассылке кода, содержащего троян или вирус и распространяющегося от имени законного издателя.
Для получения более подробной информации по обеспечению безопасности закрытых ключей обратитесь к документу Советы и рекомендации по подписыванию кода (Code Signing Best Practices), ссылка на который содержится в разделе «Дополнительные ресурсы» данного руководства.
Аппаратное устройство является частью оборудования компьютера и предназначено для выполнения определенных функций при взаимодействии с Windows. Windows может взаимодействовать с устройством только с помощью программного обеспечения, называемого драйвером устройства. Установка устройства и его драйвера в Windows Vista и Windows Server «Longhorn» происходит в соответствии с приведенной ниже диаграммой. Аббревиатура «PnP» на данной диаграмме относится к запущенной в Windows службе Plug and Play. Если любая проверка безопасности оканчивается неудачей, или если Windows не может найти подходящий пакет драйвера устройства, процесс останавливается.
Для получения дополнительной информации о процессе установки устройств обратитесь к справке диспетчера устройств ОС Windows Vista или Windows Server «Longhorn».
Шаги 4-7 представляют собой процесс подготовки драйверов (авторы руководства на английском языке используют термин «staging») в операционных системах Windows Vista и Windows Server «Longhorn», включающий в себя выполнение операционной системой всех необходимых проверок безопасности и последующее размещение пакета драйвера в защищенном хранилище, доступном для службы Plug and Play. В операционных системах Windows Vista и Windows Server «Longhorn» весь этот процесс может быть отдельно выполнен администратором. После того, как пакет драйвера устройства проверен и помещен в хранилище компьютера, любой пользователь, работающий на этом компьютере, может установить драйвер из этого хранилища, просто подключив соответствующее устройство. При этом пользователь не получит никаких интерактивных запросов, и ему не нужно обладать никакими особыми разрешениями. Подключенное пользователем устройство оказывается готовым к работе без какого-либо вмешательства администратора или специалиста службы поддержки.
Для получения дополнительной информации о хранилище драйверов обратитесь к разделу «Дополнительные ресурсы» данного руководства.
Групповая политика является административным средством централизованного управления параметрами безопасности и настройки клиентских компьютеров организации. Групповая политика поддерживает автоматическое развертывание цифровых сертификатов на компьютерах, входящих в состав домена. Вместо того, чтобы подходить к каждому клиентскому компьютеру и вручную настраивать его параметры, или писать сложные сценарии входа, Вы можете один раз настроить необходимые параметры и распространить их на управляемые компьютеры с помощью службы каталогов Active Directory, входящей в состав ОС Windows Server «Longhorn», Windows Server 2003 и Windows 2000 Server.
В данном руководстве описываются действия, включающие в себя ручную настройку клиентского компьютера, в том числе ручную установку сертификатов, используемых для подписывания пакетов драйверов. Тем не менее, использование групповой политики Active Directory в рабочей среде с множеством клиентских компьютеров является более эффективным, надежным и безопасным методом управления параметрами безопасности и другими параметрами клиентских компьютеров в соответствии с политикой организации.
Для получения дополнительной информации о групповой политике и службе каталогов Active Directory обратитесь к разделу «Дополнительные ресурсы» данного руководства.
Для успешного выполнения сценариев данного руководства Вам необходимо иметь:
Важно
64-разрядные версии ОС Windows Vista и Windows Server «Longhorn» имеют особые требования к цифровой подписи драйверов, работающих в режиме ядра. Если Вы используете 64-разрядную версию Windows, то для их подписи Вам необходимо использовать сертификат издателя программного обеспечения, выпущенный доверенным центром сертификации. Для получения дополнительной информации обратитесь к разделу «Дополнительные ресурсы» данного руководства.
Примечание
Новая функция контроля учетных записей, включенная в состав ОС Windows Vista и Windows Server «Longhorn», предлагает новую концепцию защищенной административной учетной записи. Административная учетная запись входит в состав группы Administrators, но по умолчанию прямое использование административных полномочий для этой учетной записи отключено. При попытке выполнить любую задачу, требующую административных полномочий, на экран выводится диалоговое окно, в котором у пользователя запрашивается разрешение на выполнение этой задачи. Это диалоговое окно обсуждается ниже, в разделе «Работа с диалоговым окном User Account Control» данного руководства. Корпорация Microsoft рекомендует использовать защищенную административную учетную запись вместо встроенной учетной записи Administrator всегда, когда это возможно.
Следующие действия помогут подготовить Ваш компьютер для успешного выполнения сценариев данного руководства:
При работе с данным руководством Вы часто будете сталкиваться с задачами, которые могут быть выполнены только членами группы Administrators. При попытке выполнения такой задачи в ОС Windows Vista или Windows Server «Longhorn» происходит следующее:
Важно
Прежде чем вводить учетные данные, разрешающие выполнение любой административной задачи, убедитесь, что диалоговое окно User Account Control появляется в ответ на инициированную Вами попытку запуска этой задачи. Если же диалоговое окно появляется неожиданно, нажмите кнопку Details и выясните, какая задача вызвала это окно, прежде чем разрешить ее выполнение.
В процессе выполнения сценариев, рассматриваемых в данном руководстве, каждый случай появления диалогового окна User Account Control не рассматривается. Если для выполнения определенных административных задач требуются дополнительные действия, они будут рассмотрены.
В ОС Windows Vista команда Run в меню Start по умолчанию не отображается. Включение этой команды существенно упростит многие действия, выполняемые в данном руководстве.
Для включения команды «Run» в меню «Start» выполните следующие действия:
|
Когда производится поиск пакета драйвера устройства, по умолчанию Windows обращается к библиотеке драйверов, расположенной на веб-узле Windows Update.
Поиск драйверов на узле Windows Update является полезной функцией для домашних пользователей. Тем не менее, многим администраторам требуется осуществлять контроль над тем, какие драйверы могут быть установлены пользователями. Вы можете настроить политику компьютера, отключающую функцию поиска драйверов на веб-узле Windows Update. Если в сценариях данного руководства Вы используете устройство, пакет драйвера которого доступен на веб-узле Windows Update, то для того, чтобы выполнение сценариев происходило так, как это описано, Вы должны выполнить следующие шаги:
Для отключения автоматического поиска драйверов на веб-узле Windows Update выполните следующие действия:
|
При отключении функции веб-поиска драйверов их поиск будет производиться только в локальном хранилище драйверов (см. второй сценарий данного руководства) и в папках, перечисленных в параметре реестра DevicePath (см. третий сценарий данного руководства). Если пакет драйвера не будет найден в этих местоположениях, пользователю будет предложено вручную указать путь к необходимым файлам.
Примечание
Ручная настройка параметров целесообразна только в случае управления небольшим количеством компьютеров. Если Вы хотите отключить поиск драйверов на веб узле Windows Update, используйте групповую политику. Политику Turn off Windows Update device driver searching можно найти, запустив консоль управления групповой политики (Group Policy Management Console) и раскрыв узел Computer Configuration – Administrative Templates – System – Internet Communication Management – Internet Communication settings.
Утилиты MakeCert, Signability и SignTool, используемые для подписывания пакетов драйверов, входят в состав набора Windows Driver Kit (WDK). Драйвер тестового устройства «Toaster», использующегося в данном руководстве, также входит в состав WDK. Если набор WDK еще не установлен на Вашем компьютере, выполните действия, описанные ниже.
Для установки набора WDK выполните следующие действия:
|
Если на Вашем компьютере установлен набор Windows Driver Kit, Вы можете выполнить описанные ниже шаги для настройки драйвера тестового устройства «Toaster».
Если же у Вас нет доступа к набору Windows Driver Kit, Вы можете использовать любое устройство, драйвер которого еще не размещен в хранилище драйверов. Пакет драйвера для такого устройства должен быть уже подписан.
Используйте следующие шаги для того, чтобы выполнить компиляцию драйверов тестового устройства и скопировать их в папку. Эти действия являются обычным способом распространения коммерческого пакета драйвера стороннего производителя.
Для настройки пакета драйвера тестового устройства «Toaster» выполните следующие действия:
Откроется окно командной строки, настроенное для выполнения сборки драйвера устройства. Примечание Вы не можете использовать стандартное окно командной строки. При запуске окна командной строки Build Environment выполняются специальные настройки переменной Path и других переменных среды, необходимые для использования средств, предназначенных для сборки драйверов устройств.
Примечание Данный сценарий создает папку «Toaster» и может не сработать, если Вы не имеете разрешений на запись в корневую папку диска C:\. Если Вы вошли в систему под административной учетной записью, Вы имеете эти разрешения в установленной по умолчанию ОС Windows. Если Вы хотите создать папку в другом месте жесткого диска, измените данный сценарий соответствующим образом. Важно Запуск CMD-файла из командной строки должен быть выполнен из папки, указанной на шаге 4. В противном случае сценарий не выполнится. |
Физически устройства «Toaster», которое Вы подключаете и отключаете в данном руководстве, не существует – оно эмулируется с помощью драйвера, а его поддержка обеспечивается совместной работой специального драйвера шины и соответствующей программы. Так же как и в случае с шиной USB, драйвер шины устройства «Toaster» запускает процесс установки драйвера этого устройства при его обнаружении. Подключение устройства «Toaster» эмулируется программой Enum.exe, включенной в состав его пакета драйвера. Для того чтобы Вы могли эмулировать подключение и удаление устройства с помощью программы Enum.exe, необходимо установить драйвер шины устройства «Toaster».
Для установки драйвера шины устройства «Toaster» выполните следующие действия:
|
Поскольку драйвер устройства не имеет цифровой подписи, появится диалоговое окно Windows Security. Щелкните Install для начала процесса установки драйвера.
Для того чтобы подписать пакет драйвера, Вам необходимо иметь цифровой сертификат, предназначенный для подписывания кода. Для получения дополнительной информации о различных типах сертификатов и о процессе их получения обратитесь к разделу «Дополнительные ресурсы» данного руководства. В этом разделе будет описан процесс создания сертификата, который Вы сможете использовать в целях тестирования.
На этом шаге Вы создаете сертификат, который может использоваться для подписывания пакета драйвера тестового устройства «Toaster».
Запустите консоль управления MMC и откройте оснастку Certificates для просмотра имеющихся сертификатов.
Важно
Не запускайте оснастку с помощью команды certmgr.msc, поскольку по умолчанию эта команда открывает хранилище сертификатов учетной записи текущего пользователя, а в данной процедуре требуется, чтобы сертификаты размещались в хранилище локального компьютера.
Для открытия оснастки «Certificates» консоли управления MMC выполните следующие действия:
Оснастка Certificates должна появиться в дереве консоли. |
Теперь Вы можете создать сертификат.
Примечание
Вы не можете использовать открытое ранее окно командной строки Build Environment, поскольку оно было запущено без повышенных разрешений, необходимых для работы программы MakeCert. Запуск программы MakeCert без повышенных разрешений приведет к возникновению критической ошибки отказа в доступе (код 0x5 – Access Denied).
Для создания цифрового сертификата с помощью программы MakeCert выполните следующие действия:
-r
-n «CN=MyCompany — for test use only»
Откроется диалоговое окно с информацией о сертификате. |
Выполнение данного шага требуется в случае использования локально созданных сертификатов, таких как сертификаты, созданные с помощью программы MakeCert, по которым нельзя проследить прямую цепочку до сертификата доверенного корневого издателя сертификации.
По умолчанию Ваш новый сертификат имеет статус не имеющего доверия (Untrusted), поскольку Windows не может проверить его достоверность в компьютерном хранилище доверенных корневых центров сертификации. Чтобы в операционных системах Windows Vista и Windows Server «Longhorn» любой сертификат считался действительным, необходимо, чтобы по нему можно было проследить прямую цепочку до сертификата, находящегося в этом хранилище.
Выполнение данного шага не требуется в случае использования коммерческих сертификатов, выданных Вам центром сертификации, поскольку эти сертификаты уже имеют свой корневой сертификат в компьютерном хранилище доверенных корневых центров сертификации.
Примечание
Сертификаты, размещенные в хранилище доверенных корневых центров сертификации текущего пользователя, не подтверждают достоверность цифровых подписей пакетов драйверов.
Для добавления тестового сертификата в хранилище доверенных корневых ЦС выполните следующие действия:
|
Для того чтобы Ваш новый сертификат мог выступать в качестве подтверждения достоверности цифровой подписи пакетов драйверов, его также необходимо разместить в компьютерном хранилище доверенных издателей.
Примечание
Сертификаты, размещенные в хранилище доверенных издателей текущего пользователя, не подтверждают достоверность цифровых подписей пакетов драйверов.
Для добавления тестового сертификата в хранилище доверенных издателей выполните следующие действия:
|
Если Вы используете тестовое устройство «Toaster» и его пакет драйвера – выполните следующие действия для замены существующей цифровой подписи своей собственной. Также эти действия следует выполнить, если Вы хотите внедрить в Вашей организации политику, для работы которой все драйверы устройств должны быть подписаны сертификатом Вашей организации.
Если Вы используете пакет драйвера, уже подписанный производителем, то этот пакет уже содержит рабочий файл каталога (CAT-файл), на который ссылается INF-файл. В этом случае Вы можете пропустить первые два шага и начать с шага «Подписывание CAT-файла с помощью программы SignTool».
Шаги, необходимые для подписывания драйвера устройства:
INF-файл управляет процессом установки пакета драйвера. Цифровая подпись пакета драйвера находится в файле каталога (файл с расширением .CAT). Убедитесь, что используемый для установки пакета драйвера INF-файл содержит ссылку на файл каталога.
В дополнение к этому, для драйвера тестового устройства «Toaster», использующегося в данном руководстве, Вы должны также изменить штамп времени и номер версии.
Совместный установщик (co-installer) – это предоставляемый производителем устройства программный код, который может быть выполнен в процессе установки устройства и который позволяет более гибко управлять программой установки. Совместный установщик драйвера тестового устройства «Toaster» отображает дополнительные программы, которые может установить пользователь. В данных сценариях совместный установщик не используется, поэтому в следующей процедуре Вы удалите его из INF-файла.
Примечание
Если Ваш пакет драйвера уже имеет цифровую подпись производителя и, следовательно, INF-файл уже ссылается на действительный файл каталога, Вы можете пропустить данную процедуру.
Для подготовки INF-файла пакета драйвера выполните следующие действия:
В программе Notepad откроется содержимое INF-файла.
|
Следующим Вашим действием является создание CAT-файла для пакета драйвера тестового устройства «Toaster» с помощью программы Signability. Эта программа анализирует INF-файл пакета драйвера и генерирует уникальные хеши для всех файлов, на которые ссылается INF-файл. Получатель пакета драйвера использует хеши для проверки того, что полученные файлы не были изменены с момента подписывания.
Если Ваш пакет драйвера уже имеет цифровую подпись производителя, то CAT-файл уже существует, и Вам не нужно создавать новый файл. Вы можете пропустить данную процедуру и перейти к следующему шагу «Подписывание CAT-файла с помощью программы SignTool», чтобы заменить цифровую подпись разработчика драйвера своей собственной.
Примечание
Программа Signability должна выполняться из командной строки, запущенной с повышенными разрешениями.
Для создания CAT-файла для пакета драйвера выполните следующие действия:
/driver:c:\toaster\device Этот параметр указывает местоположение INF-файла для пакета драйвера. Вы должны указать полный путь. Символ «.» в данном случае не может использоваться для указания текущей папки в относительном пути. /os:256 Этот параметр указывает, что операционной системой является 32-разрядная версия ОС Windows Vista. Для получения полного списка поддерживаемых операционных систем и их кодов выполните команду signability /?. /auto Этот параметр указывает, что процедура должна быть выполнена автоматически, без вмешательства пользователя. /cat Этот параметр указывает, что создается файл каталога, указанный в INF-файле.
Закройте программу Блокнот, когда закончите просмотр отчета.
Откроется диалоговое окно Security Catalog, показывающее, что каталог не подписан. Поскольку CAT-файл не подписан, кнопка просмотра цифровой подписи View Signature недоступна. |
Теперь, когда у Вас имеется файл каталога, Вы можете подписать его с помощью программы SignTool. Независимо от того, используете ли Вы тестовое устройство «Toaster» или любое другое устройство, выполните следующие шаги.
Важно
При подписывании пакета драйвера Вам следует всегда устанавливать штамп времени, определяющий дату создания цифровой подписи. Если сертификат будет отозван по соображениям безопасности, или если закончится срок его действия, действительными будут только те подписи, которые были созданы ранее даты отзыва или окончания срока действия сертификата. Если штамп времени не включен в цифровую подпись, Windows не сможет определить, когда был подписан пакет – до или после даты отзыва или окончания срока действия сертификата, и цифровая подпись не будет принята.
Для подписывания CAT-файла с помощью программы SignTool выполните следующие действия:
/s MyCompanyCertStore Этот параметр задает имя хранилища сертификатов, в котором программа SignTool осуществляет поиск сертификата, указанного в параметре /n. /n MyCompany
|
Размещение пакета драйвера устройств в хранилище драйверов на клиентском компьютере позволяет обеспечить наиболее эффективную работу пользователя. После того, как подписанный пакет драйвера помещен в хранилище, Windows считает его надежным. До тех пор, пока для определенного устройства не заданы политики, ограничивающие его установку, пользователь может просто подключить это устройство, а операционная система автоматически установит соответствующий драйвер незаметно для пользователя.
В состав ОС Windows включена утилита PnPUtil, с помощью которой Вы можете работать с хранилищем драйверов, выполняя такие действия, как добавление, удаление и просмотр пакетов драйверов, находящихся в хранилище.
Важно
Вы можете работать с программой PnPUtil только в командной строке, запущенной с повышенными разрешениями. Программа PnPUtil не может вызывать диалоговое окно User Account Control. Если Вы попытаетесь использовать эту программу для добавления или удаления пакетов из командной строки, не запущенной от имени администратора, выполнение команд окончится неудачей.
Windows прерывает попытку установки неправильно подписанного пакета драйвера.
Чтобы попытаться разместить неподписанный пакет драйвера, выполните следующие действия:
Поскольку INF-файл не подписан, Вы увидите диалоговое окно Windows Security. ОС Windows не может сопоставить этот файл с каким-либо сертификатом, являющимся доверенным для компьютера. Программа PnPUtil сообщит, что размещение пакета драйвера в хранилище окончилось неудачей:
|
Windows также прерывает попытку установки пакета драйвера, который был изменен с момента подписания. Поскольку цифровая подпись включает в себя отпечатки для всех файлов пакета драйвера, изменение любого из них приводит к тому, что проверка достоверности цифровой подписи оканчивается неудачей.
Чтобы попытаться разместить подписанный, но впоследствии измененный пакет драйвера, выполните следующие действия:
|
Чтобы попытаться разместить пакет драйвера, подписанный надлежащим образом, выполните следующие действия
Так как прикрепленная к пакету цифровая подпись является действительной, файлы пакета не были изменены, и отпечатки файлов пакета совпадают с отпечатками, содержащимися в цифровой подписи, Windows успешно поместит пакет драйвера в хранилище, не запрашивая у пользователя никаких действий. По завершении своей работы программа выводит имя, под которым был опубликован пакет драйвера, включающее в себя номер OEM, который Вы можете использовать для того, чтобы впоследствии при необходимости удалить пакет драйвера из хранилища. Запишите номер, присвоенный Вашему пакету драйверов.
Примечание Номер, присвоенный Вашему пакету драйвера, может отличаться от приведенного выше в зависимости от количества пакетов, уже установленных на компьютере. |
Вы можете просмотреть список пакетов, находящихся в хранилище драйверов, запустим программу PnPUtil с параметром -e.
Чтобы убедиться, что пакет находится в хранилище драйверов, выполните следующие действия:
На этом этапе пакет драйвера находится в хранилище драйверов. Пакет был помещен администратором в хранилище драйверов, операционная система выполнила проверку достоверности цифровой подписи, и, таким образом, драйвер устройства может быть установлен обычным пользователем. От пользователя требуется просто подключить устройство.
Примечание
Несмотря на то, что Windows может устанавливать драйверы, расположенные в хранилище драйверов, от имени обычного пользователя, в следующей процедуре Вы запускаете программу Enum.exe от имени администратора. Наличие повышенных разрешений необходимо не для процесса установки драйвера, а для того, чтобы можно было программно эмулировать установку аппаратного устройства. Если в следующей процедуре Вы используете реальное устройство и соответствующий драйвер, предоставленный производителем, то при подключении этого устройства Вам не требуется иметь в системе привилегии администратора.
Для выполнения проверочной установки пакета драйвера, размещенного в хранилище драйверов, выполните следующие действия:
Откроется окно командной строки.
По окончании установки драйвера устройства это устройство появится в окне диспетчера устройств. |
Примечание
Не удаляйте устройство из системы, пока Вам не будет предложено сделать это в следующей процедуре.
Вместо того чтобы размещать каждый проверенный пакет в хранилище драйверов, Вы можете разместить подписанные пакеты в общей сетевой папке и настроить клиентские компьютеры таким образом, чтобы при подключении нового устройства поиск драйверов осуществлялся в этой папке.
Пакет драйвера, хранящийся в общей сетевой папке, должен быть надлежащим образом подписан сертификатом, установленным на клиентском компьютере. Тем не менее, перед установкой драйверов, находящихся на сетевом ресурсе, осуществляется их размещение в хранилище драйверов локального компьютера. Поскольку по умолчанию обычный пользователь не может выполнять процедуру размещения пакетов драйверов в хранилище, необходимо настроить и применить компьютерную политику управления установкой устройств, позволяющую устанавливать определенные драйверы без необходимости использования повышенных разрешений. Для получения дополнительной информации о политиках, разрешающих и запрещающих установку устройств определенных классов, обратитесь к разделу «Дополнительные ресурсы» данного руководства.
Важно
Для упрощения демонстрации использования параметра реестра DevicePath в данном руководстве используется локальная папка. В рабочей среде используйте общую сетевую папку, чтение содержимого которой разрешено всем пользователям.
Операционные системы Windows Vista и Windows Server «Longhorn» позволяют Вам настраивать клиентские компьютеры таким образом, чтобы в случае не обнаружения пакетов драйверов в локальном хранилище их поиск выполнялся в дополнительных папках. Если пакет драйверов найден в дополнительной папке, Windows не будет предлагать пользователю указать расположение пакета драйвера устанавливаемого устройства.
Даже после того, как пакет драйвера помещен в общую сетевую папку, Вы должны иметь возможность поместить его в хранилище драйверов. Также Вы должны будете одобрить цифровую подпись, если сертификат пакета драйвера не содержится в хранилище сертификатов доверенных издателей.
В следующей процедуре Вы создадите папку на компьютере DMI-Client1 и затем скопируете в нее подписанный пакет драйвера.
Для того, чтобы создать папку для хранения пакетов драйверов, выполните следующие действия:
Шаг 2. Настройка клиентского компьютера для поиска пакетов драйверов в дополнительных папкахВ операционных системах Windows Vista и Windows Server «Longhorn» существует параметр реестра, позволяющий Вам указать для операционной системы дополнительные папки, в которых должен производиться поиск драйверов вновь обнаруживаемых аппаратных устройств. По умолчанию в этом параметре указана только одна папка – «%SystemRoot%\Inf». Вы можете добавить в список этого параметра дополнительные папки, разделив их точкой с запятой. Эти папки могут являться как локальными, так и сетевыми папками вида \\ИмяСервера\ИмяПапки. Чтобы настроить клиентский компьютер для поиска пакетов драйверов в дополнительных папках, выполните следующие действия:
Шаг 3. Настройка клиентского компьютера, позволяющая устанавливать устройства обычным пользователямПо умолчанию обычный пользователь не может выполнять процедуру размещения пакета драйвера в хранилище драйверов. Тем не менее, в операционных системах Windows Vista и Windows Server «Longhorn» Вы можете использовать политику компьютера, в которой указываются глобальные уникальные коды (GUID) классов настройки устройств, пакеты драйверов которых пользователи могут размещать в хранилище драйверов. Примечание Рассматриваемая здесь процедура предназначена для выполнения на отдельном компьютере, и не может применяться к большому количеству компьютеров. Для применения конфигурации компьютера к большому количеству управляемых рабочих станций используйте групповую политику и службу каталогов Active Directory. Для получения дополнительной информации о групповой политике и службе Active Directory обратитесь к разделу «Дополнительные ресурсы» данного руководства. Код GUID класса настройки устройства можно обнаружить либо просмотрев INF-файл из состава пакета драйвера устройства, либо открыв диалоговое окно Device Properties уже установленного устройства. Для поиска кода GUID класса настройки устройства в INF-файле выполните следующие действия:
Если на компьютере уже установлено работающее устройство, то его код GUID можно посмотреть на странице свойств в диспетчере устройств. Для поиска кода GUID класса настройки устройства на странице его свойств выполните следующие действия:
Теперь у Вас есть код GUID, соответствующий устройству, которое Вы хотите установить. Вы можете добавить этот код в список политики компьютера, определяющей, какие устройства могут быть установлены обычными пользователями. Для настройки компьютера, позволяющей обычным пользователям устанавливать устройства, принадлежащие определенному классу, выполните следующие действия:
Шаг 4. Удаление драйвера устройства и пакета драйвера, установленных на предыдущем этапеПрежде чем Вы сможете установить драйвер устройства из дополнительной папки, Вы должны удалить уже установленный драйвер и пакет драйвера этого устройства из хранилища драйверов. Примечание Вам необходимо удалить установленный ранее пакет драйвера только лишь потому, что в данном руководстве демонстрируется дополнительный метод его установки. Для удаления установленного ранее устройства выполните следующие действия:
Шаг 5. Установка пакета драйвера устройства из дополнительной папкиТеперь, когда пакет драйвера находится в созданной Вами папке, а клиентский компьютер настроен для поиска в этой папке пакетов драйверов подключаемых устройств, Вы можете установить устройство. Для установки пакета драйверов из общей сетевой папки выполните следующие действия:
ЗаключениеВ данном руководстве, работая в лабораторной среде, Вы использовали демонстрационное устройство и его драйвер, чтобы научиться безопасно размещать пакеты драйверов устройств на компьютерах пользователей. В этой конфигурации обычный пользователь может самостоятельно устанавливать драйверы устройств без какой-либо помощи со стороны администратора. Для создания такой конфигурации необходимо было выполнить следующие действия:
Замечания и отзывыКорпорация Microsoft будет рада получить Ваши отзывы об этом документе. Если сценарии работают не так, как описано в данном руководстве, или не отвечают Вашим потребностям, пожалуйста, сообщите об этом. Корпорация Microsoft будет использовать полученную от Вас информацию для улучшения данного документа. Присылайте Ваши замечания по адресу электронной почты Дополнительные ресурсы Дополнительная информация по установке устройств:
Дополнительная информация о функции User Account Control в Windows Vista:
Дополнительная информация о цифровых сертификатах и цифровых подписях:
Дополнительная информация о групповой политике:
|
Tags: mac, nat, quote, search, Windows Vista