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


Действия по отправке драйвера отпечатков пальцев для совместимости Windows Hello

Корпорация Майкрософт имеет требования к биометрическим датчикам для соблюдения рекомендаций по качеству Windows Hello. Процесс проверки вручную необходим, чтобы получить утверждение для взаимодействия с Windows Hello. Процесс будет применен с проверкой ОС на наличие определенной подписи, полученной через Windows DevCenter (здесь: https://developer.microsoft.com/), которую можно получить только путем следования процессу, описанному в этом документе.

Обновления утвержденных драйверов могут ссылаться на предыдущие отправки для более быстрого утверждения. Драйверы должны пройти новую проверку, если она применяется к новым датчикам или если произошли изменения в соответствующем движке, что влияет на FAR, FRR или обнаружение атак с подменой данных.

Шаг 1. Создание биометрического драйвера

Чтобы создать биометрический драйвер, следуйте инструкциям в Windows Biometric Framework.

Шаг 2. Тестирование датчика и самостоятельное тестирование

Самостоятельно проверьте датчик и драйвер, чтобы убедиться, что они соответствуют биометрическим требованиям Майкрософт и сообщают о результатах в шаблоне проверки безопасности отпечатков пальцев. Документы для требования и шаблона можно найти в пакете Fingerprint Partner на платформе Connect. Если у вас нет доступа к Connect, обратитесь к представителю Майкрософт.

Шаг 3. Изменение XML-файла конфигурации драйвера

При отправке драйвера тест HLK для отпечатков пальцев в Windows 10, версия 1703, будет проверять, что теги <vendorCompliance> и <securityReview> включены в следующие поля:

bugId: идентификатор предыдущей отправки HLK, содержащей ранее утвержденные сведения о проверке безопасности или 0, если отправка проходит совершенно новую проверку безопасности.

updateExistingSubmission: true, если представление служит обновлением предыдущего представления, которое прошло проверку безопасности, и false в противном случае.

Пример

<?xml version="1.0" encoding="utf-8"?>
<bioTestConfiguration version="0" runOptional="false" runInteractive="true" abortOnFailure="false" manualStep="false" priority="3" logType="WTT">
 <vendorCompliance>
   <securityReview bugId="12345678" updateExistingSubmission="true"/>
 </vendorCompliance>
 <testSuites>
   <testSuite deviceRequired="false" id="StorageAdapter">
     <library>storagetest.dll</library>
     <description>storage Adapter Test Suite</description>
   </testSuite>
 </testSuites>
 <deviceInfo>
        <sensorAdapterLib>WinbioSensorAdapter.dll</sensorAdapterLib>
        <engineAdapterLib>vcsWBFEngineAdapter.dll</engineAdapterLib>
        <storageAdapterLib>winbiostorageadapter.dll</storageAdapterLib>
        <indicatorSupported>0</indicatorSupported>
        <supportedModes>
            <supportedMode>0x01</supportedMode>
        </supportedModes>
        <supportedPurposes>
            <supportedPurpose>0x01</supportedPurpose>
            <supportedPurpose>0x02</supportedPurpose>
            <supportedPurpose>0x04</supportedPurpose>
        </supportedPurposes>
 </deviceInfo>
</bioTestConfiguration>

Шаг Четыре. Изменение конфигурации драйвера inf

Пакеты биометрических драйверов должны быть отправлены на новый портал DevCenter для получения требуемой подписи Windows Hello и отправки в WU. Пакеты должны включать определенные свойства в INF-файле драйвера, чтобы правильно указать DLL адаптера, получающую цифровую подпись. В следующем примере демонстрируется способ форматирования для получения биосигнатуры на двоичных файлах адаптера и библиотеках, связанных с ним.

Например, если пакет драйвера содержал датчик, двигатель и адаптер хранилища с именами sensor.dll, engine.dllи storage.dll соответственно, и один был загружен как stringparser.dll, то для получения биосигнатуры на каждом из них INF-файл должен включать следующие компоненты:

[SignatureAttributes]
sensor.dll = SignatureAttributes.WindowsHello
engine.dll = SignatureAttributes.WindowsHello
storage.dll = SignatureAttributes.WindowsHello
stringparser.dll = SignatureAttributes.WindowsHello

[SignatureAttributes.WindowsHello]
WindowsHello = true

Этот шаг является самым важным, чтобы убедиться, что драйвер получает соответствующую сертификацию. Все сторонние файлы биометрических адаптеров и любые сторонние библиотеки DLL, загруженные этими адаптерами, должны быть помечены и включены таким образом, если они должны получить биометрические подписи при отправке в DevCenter.

Шаг Пять. Запуск набора тестов HLK

Тесты HLK убедятся, что указанные выше изменения были сделаны на шагах 3 и 4, и завершатся ошибкой, если сведения о конфигурациях отсутствуют. При упаковке окончательного HLK в студии HLK включите шаблон проверки безопасности, представленный в отчете об ошибке, в качестве дополнительного файла.

Шаг Шесть. Отправка пакета драйвера и журналов HLK

Отправьте упакованный HLK-файл в DevCenter для проверки. Команда разработчиков в Microsoft будет уведомлена об отправке, когда она достигнет этапа ручной проверки. Команда проверит отправленный шаблон в пакете HLK, чтобы убедиться, что самопроверенные сведения соответствуют биометрическим требованиям Microsoft.

Шаг Семь: Дождитесь утверждения и подписи Майкрософт

Корпорация Майкрософт утвердит отправку, если она соответствует всем биометрическим требованиям. Получение биометрической подписи не является сертификацией того, что драйвер будет работать с Windows Hello. Например, файл может быть исключен в конфигурационном файле inf, который проверяется для проверки подписи. Если этот файл загружается во время принудительного применения сигнатуры, загрузка завершится ошибкой, и драйвер не будет работать с Windows Hello. Подписанный драйвер должен тестироваться производителями IHV и OEM, чтобы обеспечить его работу в интегрированной системе.

Шаг восемь. Обновление существующего драйвера

Если необходимо обновить ранее подписанный драйвер, следуйте инструкциям на шаге 3 для заполнения полей bugId и updateExistingSubmission в xml конфигурации драйвера для обновленного драйвера. Если обновление выполняется в драйвере, сохранившем прежний статус, стоит использовать те же действия. Поле bugId должно быть установлено на идентификатор заявки уже существующего драйвера, а поле updateExistingSubmission должно иметь значение true. Конфигурация XML драйвера должна быть включена в отправленный пакет драйвера.