allgosts.ru35.040 Кодирование информации35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ГОСТ Р ИСО/МЭК 19784-1-2007 Автоматическая идентификация. Идентификация биометрическая. Биометрический программный интерфейс. Часть 1. Спецификация биометрического программного интерфейса

Обозначение:
ГОСТ Р ИСО/МЭК 19784-1-2007
Наименование:
Автоматическая идентификация. Идентификация биометрическая. Биометрический программный интерфейс. Часть 1. Спецификация биометрического программного интерфейса
Статус:
Действует
Дата введения:
01.01.2009
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.040

Текст ГОСТ Р ИСО/МЭК 19784-1-2007 Автоматическая идентификация. Идентификация биометрическая. Биометрический программный интерфейс. Часть 1. Спецификация биометрического программного интерфейса


ГОСТ Р ИСО/МЭК 19784-1-2007

Группа П85



НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Автоматическая идентификация

ИДЕНТИФИКАЦИЯ БИОМЕТРИЧЕСКАЯ

Биометрический программный интерфейс

Часть 1

Спецификация биометрического программного интерфейса

Automatic identification. Biometrics. BioAPI. Biometric Application Programming Interface. Part 1. BioAPI Specification


ОКС 35.040

Дата введения 2009-01-01



Предисловие


Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. N 184-ФЗ "О техническом регулировании", а правила применения национальных стандартов Российской Федерации - ГОСТ Р 1.0-2004 "Стандартизация в Российской Федерации. Основные положения"

Сведения о стандарте

1 ПОДГОТОВЛЕН Научно-исследовательским и испытательным центром биометрической техники Московского государственного технического университета имени Н.Э.Баумана (НИИЦ БТ МГТУ им. Н.Э.Баумана) на основе собственного аутентичного перевода стандарта, указанного в пункте 4 при консультационной поддержке Ассоциации автоматической идентификации "ЮНИСКАН/ГС1 РУС"

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 355 "Автоматическая идентификация"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 25 декабря 2007 г. N 402-ст

4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 19784-1:2006 "BioAPI. Биометрический программный интерфейс. Часть 1. Спецификация биометрического программного интерфейса" (ISO/IEC 19784-1:2006 "BioAPI - Biometric Application Programming Interface - Part 1: BioAPI Specification"), за исключением приложения G. Наименование настоящего стандарта изменено относительно наименования указанного международного стандарта для приведения в соответствие с ГОСТ Р 1.5-2004 (подраздел 3.5) и учета его принадлежности к группе стандартов "Автоматическая идентификация".

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении G

5 ВВЕДЕН ВПЕРВЫЕ


Информация об изменениях к настоящему стандарту публикуется в ежегодно издаваемом информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячно издаваемых информационных указателях "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет

ВНЕСЕНО Изменение N 1, утвержденное и введенное в действие Приказом Росстандарта от 23.11.2010 N 491-ст c 01.07.2012

Изменение N 1 внесено изготовителем базы данных по тексту ИУС N 9, 2012 год

Введение

Введение


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

Описываемая модель позволяет использовать компоненты биометрической системы разных изготовителей и обеспечивать их взаимодействие посредством установленных программных интерфейсов приложений (ПИП).

Основой модели является инфраструктура БПИ (BioAPI Framework), поддерживающая вызовы одного или нескольких биометрических программных приложений (далее - приложений), которые могут быть предоставлены различными изготовителями и потенциально могут выполняться одновременно с помощью ПИП БПИ. Инфраструктура БПИ обеспечивает поддержку вызова с помощью интерфейса поставщика услуги (ИПУ) одного или нескольких поставщиков биометрической услуги (ПБУ), которые могут быть предоставлены различными изготовителями и, возможно, будут выполняться одновременно, а также могут быть динамически загружены и вызваны в соответствии с требованиями биометрического приложения.

Настоящий стандарт определяет поведение инфраструктуры Био-АПИ, когда приложения и ПБУ находятся в одной системе. Другие взаимодействующие стандарты (см. 4.29) определяют разновидности поведения, которые позволяют ПБУ и графическому интерфейсу пользователя работать удаленно от системы, содержащей приложение.

Примечание - ИСО/МЭК 24708* [6], определяющий протокол межсетевого обмена биометрического программного интерфейса (ПМО БиоАПИ), является примером стандарта межсетевого обмена.
________________
* Доступ к международным и зарубежным документам, упомянутым здесь и далее по тексту, можно получить перейдя по ссылке на сайт . - .


На самом нижнем уровне модели находятся аппаратные или программные средства, выполняющие биометрические функции, например, такие как получение данных, сравнение или архивирование. Такие составляющие биометрической системы называются модулями БиоПИП и могут являться частью ПБУ или поставляться как компонент поставщика функции БиоПИП (ПФБ).

Между ПБУ различных изготовителей, предоставляющих для записи информации от модулей БиоАПИ, к которым они имеют доступ, структуры данных, соответствующие другим международным стандартам, особенно ISO/IEC 19794, могут быть установлены взаимодействия через инфраструктуру БиоАПИ.

Таким образом, ПБУ может обеспечивать выполнение биометрических услуг с помощью:

a) модулей БиоАПИ, которые являются частью или непосредственно управляются ПБУ, или

b) вызова через интерфейс поставщика функции БиоПИП (ИПФ) одного или нескольких компонентов поставщика биометрической функции (ПБФ) разных изготовителей, которые управляют модулями БиоАПИ, являющимися частью ПБФ.

Примечание - Модуль БиоАПИ может состоять только из программного обеспечения или из комбинации программного и аппаратного обеспечения (например, биометрический сканер, архив или алгоритм).


Допускается наличие одного или более модулей БиоПИП определенного типа, который поддерживается ПБУ (или ПБФ). Данные модули могут быть динамически добавлены и удалены из системы. Добавление и удаление вызывают события, о которых может быть сообщено приложению (через ПБУ и инфраструктуру БиоПИП).

Настоящий стандарт устанавливает основные биометрические функции регистрации, верификации и идентификации (приложение С) и включает в себя интерфейс базы данных, что позволяет приложению управлять хранением биометрических записей с помощью модуля архива БиоАПИ, управляемого ПБУ или ПБФ. Это обеспечивает оптимальную производительность процессов архивирования и сравнения биометрического образца с множеством контрольных шаблонов (например, при выполнении функции биометрической идентификации по большой выборке).

Интерфейс предоставляет примитивы*, которые позволяют приложению управлять получением биометрических образцов от биометрических сканеров с помощью доступа к соответствующему модулю БиоПИП, использованием этих биометрических образцов для регистрации (хранения в базе записей биометрической информации (ЗБИ), управляемой приложением или ПБУ), и последующей верификацией и идентификацией.
________________
* В настоящем стандарте термин "примитивы" обозначает базовый элемент, используемый для построения программы.

Настоящий стандарт также устанавливает содержание реестра компонентов (информацию о биометрических компонентах, установленных в биометрической системе). Он также обеспечивает интерфейс реестра компонентов для управления и проверки данного реестра.

В настоящем стандарте использован язык программирования Си (по ИСО/МЭК 9899:1999 "Языки программирования. Си") для определения структур данных и вызовов функций, которые формируют интерфейсы БиоАПИ.

Раздел 6 устанавливает модель БиоАПИ, ее компоненты и интерфейсы, определенные для этих компонентов.

Раздел 7 устанавливает структуры данных, используемые в БиоАПИ.

Раздел 8 устанавливает вызовы функций, инициируемые приложением и поддерживаемые соответствующей инфраструктурой БиоАПИ, которые обрабатываются либо непосредственно инфраструктурой БиоАПИ (например, получение списков установленных компонентов БиоАПИ), либо переадресовываются функциям, предоставляемым ПБУ.

Раздел 9 устанавливает вызовы функций, поддерживаемые соответствующим ПБУ и осуществляемые инфраструктурой БиоАПИ в ответ на вызов биометрического приложения.

Раздел 10 устанавливает форму реестра биометрических компонентов и интерфейс реестра компонентов.

Раздел 11 устанавливает обработку событий и возвращаемые ошибки.

В приложении А приведены подробные требования и таблицы определения соответствия спецификации БиоПИП, которые могут быть использованы разработчиком компонентов приложения БиоПИП, инфраструктуры БиоПИП или ПБУ для определения поддерживаемых функций и биометрических форматов записи.

Примечание - Методы тестирования на соответствие БиоАПИ требованиям настоящего стандарта приведены в ISO/IEC 24709.


В приложении В приведено описание ЗБИ БиоАПИ, соответствующее формату ведущей организации, определенному в ИСО/МЭК 19785-1 "Информационные технологии. Единая структура формата обмена биометрическими данными. Часть 1. Спецификация элементов данных". В приложении также приведено описание биометрической записи, установленное в вышеуказанном стандарте, и побитовое представление записи для ее хранения и передачи.

В приложении С приведено краткое описание основных положений настоящего стандарта.

В приложении D приведен пример текста программы для установления последовательности вызовов функций.

Отдельные положения стандарта ИСО/МЭК 19784-1 могут быть предметом других патентных прав, помимо указанных в нем.

Сноски в тексте стандарта приведены для пояснения и выделены курсивом.

(Измененная редакция, Изм. N 1).

1 Область применения


Настоящий стандарт устанавливает программный интерфейс приложения (ПИП) и интерфейс поставщика услуги (ИПУ) в качестве стандартных интерфейсов биометрической системы, позволяющих создавать биометрическую систему, используя компоненты, изготовленные различными изготовителями. Соответствие ПИП и ИПУ требованиям настоящего стандарта и других стандартов ИСО/МЭК обеспечивает взаимодействие между этими компонентами.

Положения настоящего стандарта могут применяться для разных биометрических технологий и систем различного назначения: от персональных устройств идентификации и систем обеспечения сетевой безопасности до масштабных комплексных систем идентификации.

Настоящий стандарт устанавливает модель, в которой инфраструктура БиоАПИ, наряду с поддержкой нескольких биометрических приложений (возможно предоставленных различными изготовителями), может:

- использовать несколько динамически устанавливаемых, загружаемых или выгружаемых компонентов ПБУ (возможно изготовленных на различных предприятиях) и через них - модули БиоПИП;

- использовать один из альтернативных наборов компонентов ПБФ (возможно изготовленных на различных предприятиях);

- использовать непосредственно модули БиоАПИ.

Примечание - Если модули БиоАПИ и ПБУ предоставлены разными изготовителями, может потребоваться использование ИПФ, требования к которому установлены в следующих частях комплекса стандартов ИСО/МЭК 19784.


Настоящий стандарт не распространяется на биометрические системы, разработанные одним изготовителем, в частности, когда для них не предусмотрена возможность добавления или замены программных и/или аппаратных средств или изменения целей использования.

Настоящий стандарт не устанавливает требований безопасности для биометрических приложений и ПБУ.

Примечание - Руководство по аспектам безопасности биометрических систем приведено в ISO/IEC 19092 [3].


Настоящий стандарт не распространяется на эксплуатационные характеристики биометрических систем (особенно идентификационных систем) и на зависимость эксплуатационных характеристик системы от функциональной совместимости компонентов.

Настоящий стандарт определяет версию спецификации БиоАПИ с номером последней редакции 2 и номером поправки (или номер изменения данной редакции) 0, то есть версию 2.0.

Примечание - Настоящий стандарт не распространяется на более ранние версии спецификации БиоАПИ.

2 Соответствие

2.1 Компоненты БиоПИП считают соответствующими требованиям настоящего стандарта, если они соответствуют требованиям приложения А.

2.2 Для определения описываемых интерфейсов в настоящем стандарте использован язык программирования Си по ИСО/МЭК 9899. Компонент БиоАПИ, предоставляющий или использующий интерфейс на других языках программирования, может соответствовать требованиям настоящего стандарта при условии, что взаимодействующий с ним компонент системы может использовать интерфейс с помощью подробной спецификации на языке программирования Си, представленной в настоящем стандарте (7.1).

3 Нормативные ссылки


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

ИСО/МЭК 9834-8 Информационные технологии. Взаимосвязь открытых систем. Процедуры для работы регистрационных органов в системе OSI. Часть 8. Создание и регистрация универсальных уникальных идентификаторов (UUIDs) и их использование в качестве компонентов идентификаторов объектов ASN1.

ИСО/МЭК 9899:1999 Языки программирования. Си

ИСО/МЭК 10646-2003 Информационные технологии. Универсальный многоактетный комплекс закодированных знаков (UCS).

ИСО/МЭК 19785-1 Информационные технологии. Единая структура форматов обмена биометрическими данными. Часть 1. Спецификация элементов данных

ИСО/МЭК 19785-2 Информационные технологии. Единая структура форматов обмена биометрическими данными. Часть 2. Процедуры действий регистрационного органа в области биометрии

IETF RFC 3987 Интернационализированные идентификаторы ресурсов (ИИР)

(Измененная редакция, Изм. N 1).

4 Термины и определения


В настоящем стандарте применены следующие термины и определения:

Примечание - Названия функций и элементов данных не включены в данный раздел, а их определения приведены в тексте настоящего стандарта.

4.1 адаптация; адаптация шаблона (adaptation; template adaptation): Использование ЗБИ, полученной с вновь зарегистрированного и верифицированного биометрического образца, для автоматического обновления или модернизации зарегистрированного ранее контрольного шаблона.

Примечание - Данную процедуру используют для минимизации эффектов устаревания шаблонов.

4.2 присоединенная сессия (attach session): Временная связь между приложением, отдельным ПБУ и набором модулей, напрямую или косвенно управляемых ПБУ.

4.3 компонент БиоАПИ (BioAPI component): Компонент архитектуры БиоАПИ с определенным интерфейсом, который может быть предоставлен отдельным изготовителем, используемый при испытании на соответствие.

Примечание - Компоненты БиоАПИ включают в себя приложения БиоАПИ, инфраструктуру БиоАПИ, ПБУ и ПБФ.

4.4 поставщик функции БиоАПИ; ПБФ (BioAPI function provider; BFP): Компонент, управляющий одним или более модулями БиоАПИ определенной категории.

Примечание 1 - Интерфейсы ПБФ стандартизованы в следующих частях комплекса стандартов ИСО/МЭК 19784.

Примечание 2 - ПБУ распределены на типы, соответствующие типам модулей БиоАПИ, которыми они управляют (см. 6.2.4).

4.5 модуль БиоАПИ (BioAPI unit): Абстракция аппаратного или программного уровня, напрямую управляемая ПБУ или ПБФ.

Примечание - Модули БиоАПИ категоризированы (6.2.2) и включают в себя модули сканеров, архива, алгоритмов сравнения и алгоритмов обработки.

4.6 биометрический (biometric): Имеющий отношение к биометрии.

4.7 блок биометрических данных; ББД (biometric data block; BDB): Блок данных, построенный в соответствии с определенным форматом и содержащий один или несколько биометрических образцов или биометрических шаблонов.

Примечание 1 - Настоящий стандарт не распространяется на форматы, допускающие, что размер ББД может не быть кратным восьми битам.

Примечание 2 - Требования к структуре формата ББД не предъявляются.

Примечание 3 - Каждая* часть комплекса ИСО/МЭК 19794 устанавливает требования к одному и более форматам ББД. Изготовитель может создать и зарегистрировать** свой формат.
________________
* В оригинале ИСО/МЭК 19784-1 допущена ошибка. Первая часть этого стандарта называется "Принципы и структура" и не устанавливает требований к какому-либо формату ББД.

** Регистрация должна быть проведена органом регистрации в области биометрии в системе ЕСФОБД с присвоением соответствующих идентификаторов по ГОСТ Р ИСО/МЭК 19785-1-2007 и ГОСТ Р ИСО/МЭК 19785-2-2007.


Примечание 4 - Информация, содержащаяся в ББД, не имеет значения для приложения БиоАПИ, поэтому далее в тексте стандарта использован термин "неопределенный блок биометрических данных".

4.8 запись биометрической информации; ЗБИ (biometric information record; BIR): Структура данных, включающая в себя один или более ББД вместе с информацией, идентифицирующей форматы ББД, и дополнительной информацией, например о типе ББД (подписанный, зашифрованный).

Примечание - Настоящий стандарт устанавливает формат ЗБИ (см. 7.4), включающий в себя только один ББД. ИСО/МЭК 19785 устанавливает формат ЗБИ, содержащий несколько ББД в ЗБИ, однако в нем приведено аналогичное определение данного термина. Необходимо учитывать, что при использовании термина ЗБИ в тексте настоящего стандарта имеется в виду ЗБИ, соответствующая требованиям приложения В. При необходимости дополнительных пояснений в тексте стандарта может быть использован термин "БиоАПИ ЗБИ".

4.8.1 контрольная ЗБИ (reference BIR): ЗБИ, ББД которой содержит один или более биометрических шаблонов.

4.8.2 образец ЗБИ (sample BIR): ЗБИ, ББД которой содержит только биометрические образцы, не являющиеся шаблонами.

4.9 биометрический образец (biometric sample): Информация с биометрического сканера, полученная непосредственно или после обработки.

Примечание - См. также терминологические статьи 4.9.2, 4.9.3 и 4.9.4.

4.9.1 биометрический шаблон (biometric template): Биометрический образец или комбинация биометрических образцов, пригодных для хранения в качестве контрольных для дальнейшего сравнения.

4.9.2 промежуточный биометрический образец (intermediate biometric sample): Биометрический образец, полученный путем обработки исходного биометрического образца и предназначенный для дальнейшей обработки.

4.9.3 обработанный биометрический образец (processed biometric sample): Биометрический образец, предназначенный для сравнения.

4.9.4 исходный биометрический образец (raw biometric sample): Биометрический образец, полученный непосредственно с биометрического сканера.

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

4.9.5 контрольный шаблон (reference template): Сохраненный биометрический шаблон.

4.10 биометрический сканер (biometric sensor): Биометрическое аппаратное средство, используемое для получения исходных биометрических образцов.

Примечание - Также допускается использовать термин "биометрическое устройство".

4.11 поставщик биометрической услуги; ПБУ (biometric service provider; BSP): Компонент, осуществляющий для приложения определенные действия либо с помощью определенного интерфейса путем непосредственного управления одним или несколькими модулями БиоАПИ, либо через поставщиков функции БиоАПИ также с помощью определенного интерфейса.

4.12 биометрия (biometrics): Автоматическое* распознавание индивидума, в основе которого лежат его поведенческие и биологические характеристики.
________________
* В том числе и автоматизированное.

4.13 обратный вызов (callback): Механизм, в соответствии с которым компонент, предоставляющий ПИП, вызывает функцию из компонента, использующего ПИП, причем адрес данной функции предварительно передан в качестве входного параметра при вызове функции ПИП.

Примечание - Данный механизм позволяет компоненту БиоАПИ связаться с другим компонентом БиоАПИ, не используя вызовы функции ПИП, обычно в ответ на произошедшее событие или прерывание.

4.14 реестр компонентов (component registry): Информация, сохраняемая инфраструктурой БиоАПИ, о доступных в биометрической системе компонентах БиоАПИ.

4.15 шифровать/шифрование (encrypt/encryption): Обратимое преобразование данных с помощью криптографического алгоритма для создания зашифрованного* текста с целью защиты информации (обеспечения конфиденциальности).
________________
* Термин "зашифрованный" может быть определен как защищенный, закрытый.

Примечание 1 - Алгоритмы шифрования обеспечивают выполнение двух процессов: шифрование, которое преобразует исходный текст в зашифрованный, и дешифрование, которое преобразует зашифрованный текст в исходный.

Примечание 2 - Шифрование может использоваться как с целью обеспечения безопасности, так и с целью обеспечения конфиденциальности.

4.16 регистрация (enrollment): Процесс получения одного или нескольких биометрических образцов человека с последующим построением биометрического контрольного шаблона, используемого для верификации или идентификации личности.

Примечание - Контрольный шаблон обычно сохраняется биометрическим приложением и/или ПБУ, поддерживающим модуль архива БиоАПИ.

4.17 вероятность ошибки ложного совпадения; ОЛС (false match rate; FMR): Мера вероятности, с которой процесс биометрического сравнения неверно идентифицирует личность или не сможет отказать в доступе нарушителю.

Примечание 1 - В БиоАПИ ОЛС используется в качестве средства установления оценок соответствия и порогов (приложение С).

Примечание 2 - Раньше данное определение использовалось также для определения термина "вероятность ошибки ложного доступа", но использование термина "вероятность ошибки ложного совпадения" является предпочтительным. Для терминов "вероятность ошибки ложного отказа; ОЛО" и "вероятность ошибки ложного несовпадения; ОЛН" использование последнего является предпочтительным*.
________________
* В том числе и автоматизированное.

4.18 дескриптор (handle): Параметр, возвращаемый функцией БиоАПИ (например, А), который может быть использован приложением БиоАПИ в следующем вызове функции для идентификации компонента БиоАПИ или элемента данных в рамках компонента А.

Примечание - Типами дескрипторов являются:

BIR_Handle - создается ПБУ для выбора или доступа к ЗБИ в рамках данного ПБУ;

BSP Attach Session Handle - используется для присоединенной сессии;

DB_Handle - создается ПБУ для выбора или доступа к управляемой данным ПБУ базе данных ЗБИ.

4.19 идентифицировать/идентификация (identify/identification): Процесс сравнения предложенного биометрического образца с контрольной выборкой (схема "один ко многим") с целью определения личности, которой соответствует определенный шаблон данной выборки, имеющий сходство с предложенным биометрическим образцом.

Примечание - Данный процесс часто называют "идентификационное сопоставление".

4.20 сопоставлять/сопоставление (match/matching): Процесс сравнения предложенного биометрического образца с одним из контрольных биометрических шаблонов (схема "один к одному") с целью оценки степени схожести.

Примечание 1 - Основой решения о допуске или об отказе обычно является превышение данной оценки степени схожести порогового значения.

Примечание 2 - Алгоритмы сопоставления и их влияние на вероятность ошибки ложного совпадения и вероятность ошибки ложного несовпадения в настоящее время не стандартизованы.

Примечание 3 - Также см. определения терминов "идентифицировать" (4.19) и "верифицировать" (4.28).

4.21 полезная информация (payload): Данные, собранные во время регистрации и относящиеся к контрольному шаблону, которые могут быть выданы после удачной биометрической верификации.

Примечание - Примерами полезной информации являются имена пользователей, счета, пароли, криптографические ключи, цифровые подписи (приложение С).

4.22 оценка схожести/оценивание схожести (score/scoring): Значение, определяющее степень соответствия биометрического образца и контрольного биометрического шаблона.

4.23 блок безопасности (security block): Блок данных, содержащий информацию о целостности данных ЗБИ.

4.24 независимое устройство (self-contained device): Комбинированное устройство, которое включает в себя биометрический сканер, а также все или часть функций ПБУ.

Примечание - Независимое устройство может не только получать биометрические образцы, но также обрабатывать, сопоставлять и/или хранить их. Данные функции обычно реализованы на аппаратном уровне или на уровне встроенных программных средств.

4.25 подпись/цифровая подпись (signature/digital signature): Особые данные, добавленные к блоку данных, или криптографическое преобразование блока данных, позволяющее получателю блока данных гарантировать подлинность автора и целостность блока данных и защитить данные от фальсификации.

Примечание - Цифровые подписи могут также использоваться для определения подлинности автора, обеспечения целостности данных и невозможности отказаться от авторства.

4.26 порог (threshold): Значение, устанавливающее степень схожести или корелляции, превышение которого позволяет считать биометрический образец соответствующим контрольному биометрическому шаблону.

4.27 универсальный уникальный идентификатор; УУИД (universally unique identificator; UUID): 128-битовое значение, определенное по ИСО/МЭК 9834-8.

4.28 верифицировать/верификация (verify/verification): Процесс сравнения биометрического образца с контрольным биометрическим шаблоном (схема "один к одному") с целью определения соответствия предложенного биометрического образца контрольному шаблону.

Примечание - Данный процесс также часто называют "верификационное сопоставление".

4.29 стандарты межсетевого обмена (interworking standards): Стандарты, которые преобразовывают действия инфраструктуры БиоАПИ (и требования для соответствия БиоАПИ) для поддержки использования коммуникационных каналов связи с целью предоставления возможности приложению взаимодействовать с удаленным ПБУ с использованием стандартизированного протокола.

4.30 тестировать-верифицировать/тест-верификация (test-verify/test-verification): Процесс сравнения "один к одному" тестового образца с биометрическим шаблоном при регистрации для определения соответствия тестового образца биометрическому шаблону.

4.31 тип регистрации (enroll type): Значение, которое указывает шаблон подопераций, выполняемых ПБУ в процессе операции регистрации.

4.29-4.31 (Введены доплнительно, Изм. N 1).

5 Обозначения и сокращения


В настоящем стандарте приняты следующие обозначения и сокращения:

ПИП

- программный интерфейс приложений (Application Programming Interface; API);

ББД

- блок биометрических данных (Biometric Data Block; BDB);

ПБФ

- поставщик функции БиоАПИ (BioAPI Function Provider; BFP);

ПБУ

- поставщик биометрической услуги (Biometric Service Provider; BSP);

ЕСФОБД

- единая структура формата обмена биометрическими данными (Common Biometric Exchange Formats Framework; CBEFF);

ОЛС

- вероятность ошибки ложного совпадения (False Match Rate; FMR);

ИПФ

- интерфейс поставщика функции (Function Provider Interface; FPI);

ГИП

- графический интерфейс пользователя (Graphical User Interface; GUI);

ИД

- идентичность/идентификация/идентификатор (Identity/Identification/Identifier; ID);

ИИР

- интернационализированный идентификатор ресурса (см. RFC 3987)

ПМО БиоАПИ

- протокол межсетевого обмена биометрического программного интерфейса

CHK

- сопоставление на карте (Match on Card; MOC);

ИДП

- идентификатор продукта (Product ID; PID);

БЗИ

- блок защиты информации (Security Block; SB);

СБЗ

- стандартный биометрический заголовок (Standard Biometric Header; SBH).

Примечание - Данное сокращение соответствует приведенному в ИСО/МЭК 19785-1;

ИПУ

- интерфейс поставщика услуги (Service Provider Interface);

УУИД

- универсальный уникальный идентификатор (Universally Unique Identifier; UUID).

(Измененная редакция, Изм. N 1).

6 Архитектура БиоАПИ

6.1 Архитектурная модель ПИП/ИПУ БиоАПИ

6.1.1 БиоАПИ включает в себя модель ПИП/ИПУ, изображенную на рисунке 1.

Рисунок 1 - Модель БиоАПИ ПИП/ПБУ


Рисунок 1 - Модель БиоАПИ ПИП/ПБУ


Примечание - На рисунке 1 структура модели ниже уровня ИПУ упрощена. Возможные варианты внутренней структуры и стандартизированный интерфейс ПБУ изображены на рисунке 2.

Рисунок 2 - Иллюстрация архитектуры ПБУ


Рисунок 2 - Иллюстрация архитектуры ПБУ

6.1.2 Система БиоАПИ состоит из компонентов БиоАПИ, имеющих стандартизированные интерфейсы. На рисунке 1 показаны взаимодействия между тремя видами компонентов БиоАПИ: инфраструктурой БиоАПИ, приложениями и монолитными ПБУ.

Примечание - Описание стандартизированных интерфейсов, позволяющее независимым компонентам БиоАПИ предоставлять доступ к функциям ПБУ, приведено в 6.2.

6.1.3 ПИП определяет интерфейс между инфраструктурой БиоАПИ и биометрическим приложением. Приложение предназначено для вызова функций, описанных в спецификации ПИП (раздел 8). Инфраструктура БиоАПИ поддерживает функции, приведенные в спецификации ПИП.

6.1.4 ИПУ определяет интерфейс между инфраструктурой БиоАПИ и ПБУ. Инфраструктура БиоАПИ вызывает функции, описанные в спецификации ИПУ (раздел 9). ПБУ поддерживает функции, приведенные в спецификации ИПУ.

6.1.5 Инфраструктура БиоАПИ предназначена для управления ПБУ и отображения вызовов функций ПИП функциям ИПУ, адресованных соответствующему ПБУ.

6.1.6 Приложение может получить доступ к функциональным возможностям ПБУ (через инфраструктуру БиоАПИ) только после того как ПБУ будет загружен и присоединен (8.1.5 и 8.1.7). Когда приложению больше не требуется использование ПБУ, оно его отсоединяет и выгружает (см. 8.1.6 и 8.1.8).

6.1.7 Приложение может одновременно загружать и присоединять более одного ПБУ. ПБУ может быть одновременно присоединен к более чем одному приложению.

Примечание - Взаимодействия между приложением и присоединенным ПБУ обычно не зависят от взаимодействий между этим приложением и другими ПБУ или между этим ПБУ и другими приложениями, за исключением случаев, когда возникает конфликт с физическим устройством, управляемым ПБУ.

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

a) отдельной инфраструктуры БиоАПИ со связанным с ней реестром компонентов;

b) динамического выполнения и завершения нескольких одновременно выполняющихся биометрических приложений, взаимодействующих с данной инфраструктурой БиоАПИ;

c) динамической установки, удаления (и связанными с ними загрузкой и выгрузкой) нескольких ПБУ, взаимодействующих с данной инфраструктурой БиоАПИ;

d) сообщения от ПБУ инфраструктуре БиоАПИ (и следовательно, выполняющемуся биометрическому приложению) о событиях, связанных с динамическим присоединением и отсоединением модулей БиоАПИ (см. 6.5), управляемых данным ПБУ.

Примечание - Ожидается, что ПИП будет связан с единственным приложением, управляющим одним ПБУ с не более чем одним модулем БиоАПИ каждой биометрической категории, доступ к которому обеспечивается с помощью данного ПБУ. Тем не менее поддержка доступа приложения к нескольким ПБУ, каждый из которых способен управлять несколькими модулями БиоАПИ (но только одним из каждой категории для данной присоединенной сессии), помогает облегчить такие применения, как контроль физического доступа, особенно при использовании сетевых устройств.

е) предоставление приложению графической информации об активной операции регистрации, верификации или идентификации.

(Измененная редакция, Изм. N 1).

6.2 Архитектурная модель ПБУ БиоАПИ

6.2.1 Модули БиоАПИ представляют собой абстракцию биометрических устройств и являются основными структурными блоками, которые предоставляет ПБУ приложению. Они включают в себя и скрывают программные и аппаратные ресурсы различных типов, такие как устройство регистрации, архивирующее устройство и т.д.

6.2.2 Каждый модуль БиоАПИ моделирует или включает в себя один (или ни одного) элемент аппаратного обеспечения и любое необходимое программное обеспечение. В настоящее время определенны следующие категории модулей БиоАПИ:

- модуль сканера;

- модуль архива;

- модуль алгоритма сопоставления;

- модуль алгоритма обработки.

Примечание - Первые два модуля, как правило, но не обязательно, связаны со аппаратными средствами, а последние два модуля, как правило, но не обязательно, не имеют связанных с ними аппаратных средств.

6.2.3 Модуль БиоАПИ может управляться ПБУ внутренне (прямое управление модулем БиоАПИ) или связанным поставщиком функции БиоАПИ (ПБФ) (непрямое управление модулем БиоАПИ). Интерфейсы поставщика функции БиоАПИ (ИПФ) определены в следующих частях комплекса стандартов ИСО/МЭК 19784.

6.2.4 ПБФ может управлять несколькими модулями БиоАПИ данной категории (но не более чем одним в любой присоединенной сессии для данного приложения). ПБФ категоризированы в соответствии с категориями модулей БиоАПИ, которыми они могут управлять. В настоящее время определены следующие категории ПБФ:

- сканера;

- архива;

- алгоритма сопоставления;

- алгоритма обработки.

6.2.5 ИПФ БиоАПИ для каждой категории ПБФ определены в других частях комплекса стандартов ИСО/МЭК 19784. Все ИПФ поддерживают доступ к одному или нескольким (но не более чем к одному в любой присоединенной сессии для данного приложения) модулям БиоАПИ в адресуемом ПБФ.

6.2.6 ПБУ, поддерживающий несколько модулей БиоАПИ (управляемых непосредственно или с помощью ПБФ), может поддерживать интерфейс ИПУ, позволяющий приложению выбрать конкретный модуль БиоАПИ (один для каждой категории) для присоединенной сессии. Приложение может задать параметр BioAPI_DONT_CARE для модуля БиоАПИ конкретной категории. В этом случае выбор используемого модуля БиоАПИ осуществляет ПБУ.

6.2.7 Если разработчик ПБУ указывает конкретную категорию модуля БиоАПИ, то ПБУ должен иметь возможность управлять модулем БиоАПИ данной категории напрямую или взаимодействовать с ПБФ соответствующей категории с помощью соответствующего стандартизованного ИПФ.

6.2.8 Функции ПИП БиоАПИ и ИПУ (в некоторых случаях - функции ИПФ) (8.1.12 и 9.3.1.7) дают возможность приложению посылать модулю или запрашивать у модуля БиоАПИ управляющую информацию и информацию о статусе с использованием ПИП БиоАПИ и ИПУ (или ИПФ). Эти функции являются дополнительными к обычным биометрическим операциям. Параметры управляющих функций не стандартизованы. Если ПБУ или ПБФ (если он задействован) не поддерживает эту управляющую функцию, возвращается ошибка (6.6).

6.2.9 Если установлена присоединенная сессия ПБУ, выбирается не более чем один модуль БиоАПИ каждой категории (8.1.7).

Примечание - Для данной архитектуры требуется, чтобы интерфейсы ИПФ обеспечивали возможность ПБУ передавать ПБФ идентификацию (обеспечиваемую интерфейсом ПИП и ИПУ) того модуля БиоАПИ, который должен использоваться. Это подразумевает наличие конкретной камеры, сканера, устройства хранения и других устройств. Необходимые функции ИПФ для каждой категории ПБФ установлены в следующих частях комплекса стандартов ИСО/МЭК 19784.

6.3 Реестр компонентов

6.3.1 Реестр компонентов содержит информацию об установленных ПБУ и ПБФ.

6.3.2 В модели БиоАПИ предполагается наличие в биометрической системе единственного экземпляра инфраструктуры БиоАПИ и единственного связанного с ним реестра компонентов.

Примечание - В реальной информационной системе могут быть несколько реестров компонентов, поддерживаемых одним и тем же, но разделяемым, кодом инфраструктуры БиоАПИ либо разными кодами инфраструктуры БиоАПИ (возможно, старой и новой версиями инфраструктуры). Это обеспечивается наличием нескольких биометрических систем в одной реальной информационной системе.

6.3.3 БиоАПИ требует, чтобы не было взаимодействий или конфликтов между различными биометрическими системами, входящими в одну реальную компьютерную систему.

Примечание - Если реальная компьютерная система содержит несколько биометрических систем, возможное разделение кода и программно-алгоритмических средств, с помощью которых приложение связывается с той или иной биометрической системой, является вопросом исполнения.

6.3.4 Следующая информация может быть получена приложением с помощью функций инфраструктуры БиоАПИ, возвращающих информацию реестра компонентов (8.1.3, 8.1.4 и 8.1.10):

a) информация о самой инфраструктуре BioAPI;

b) подробные данные о всех установленных ПБУ;

c) подробные данные о всех установленных ПБФ.

Примечание - Информация об установленных ПБФ также может быть получена ПБУ с помощью механизма обратного вызова.

6.3.5 Следующая информация может быть получена приложением с помощью функций инфраструктуры БиоАПИ, передаваемых через ИПУ конкретному ПБУ (8.1.11 и 8.1.9):

a) подробные данные о всех установленных ПБФ, которые поддерживаются данным ПБУ;

b) подробные данные о всех модулях БиоАПИ, находящихся в подключенном состоянии, к которым возможен доступ с помощью данного ПБУ (напрямую или с помощью поддерживаемого ПБФ).

6.3.6 Информация, приведенная в 6.3.4 и 6.3.5, может быть получена приложением путем использования функций, которые могут быть вызваны в следующих условиях:

a) информация о самой инфраструктуре может быть получена в любое время после вызова функции BioAPI_Init или BioAPI_InitEndpoint (только в БиоАПИ 2.1) (8.1.3);

b) подробные данные о всех установленных ПБУ могут быть получены в любое время после вызова функции BioAPI_Init или BioAPI_InitEndpoint (только в БиоАПИ 2.1) (8.1.4);

c) подробные данные о всех установленных ПБФ могут быть получены в любое время после вызова функции BioAPI_Init или BioAPI_InitEndpoint (только в БиоАПИ 2.1) (8.1.10);

d) подробные данные о всех установленных ПБФ, которые поддерживаются каждым ПБУ, могут быть получены в любое время после вызова функции BioAPI_Load (8.1.11) для этого ПБУ.

Примечание 1 - Приложением могут быть загружены одновременно несколько ПБУ.

Примечание 2 - Предполагается, что при вызове функции BSP_Load ПБУ использует ИПФ для загрузки всех ПБФ, которые он может использовать;

e) подробные данные о всех модулях БиоАПИ, находящихся в подключенном состоянии, к которым возможен доступ с помощью данного ПБУ (напрямую или с помощью поддерживаемого ПБФ), могут быть получены (по ссылке на УУИД ПБУ) в любое время после вызова функции BioAPI_Load (8.1.9) для этого ПБУ.

(Измененная редакция, Изм. N 1).

6.4 Установка и удаление ПБУ и ПБФ

6.4.1 Для установки ПБУ или ПБФ используют УУИД (параметр функций BioAPI_Util_InstallBSP и BioAPI_Util_lnstallBFP) для идентификации ПБУ или ПБФ. Установка ПБУ или ПБФ с помощью УУИД, с которым ранее уже был установлен ПБУ или ПБФ, должна приводить к отказу установки и возврату ошибки. Если один и тот же ПБУ или ПБФ установлен в нескольких биометрических системах, он должен иметь один и тот же УУИД во всех системах. Необходимо, чтобы УУИД был уникальным для каждого ПБУ и ПБФ в отдельно взятой биометрической системе.

6.4.2 Установка ПБФ осуществляется путем вызова функции инфраструктуры БиоАПИ (10.2.1) с последующим предоставлением данных о ПБУ (схема ПБУ, определенная в 7.16).

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

6.4.3 При установке нового ПБУ его обычно активизируют путем инсталляционного процесса, используя зависимые от реализации механизмы, а затем ПБУ может использовать механизм обратного вызова (9.2.2) для получения информации от инфраструктуры об установленных ПБФ.

Примечание - Данная функция может быть вызвана в любое время для того, чтобы ПБУ мог обновлять любую внутреннюю информацию, которую он может поддерживать. Формат и содержание (и даже существование) такой внутренней информации не стандартизированы и полностью определяются ПБУ.

6.4.4 После успешной установки или удаления ПБУ или ПБФ, следующий запрос от любого приложения или ПБУ, касающийся информации реестра компонентов, должен возвращать правильную информацию в отношении недавно установленного ПБУ или ПБФ и не возвращать информацию об удаленном ПБУ или ПБФ (8.1.4 и 8.1.10).

6.4.5 Не существует механизмов для информирования установленного ПБУ (используемого или неиспользуемого в настоящее время) об установке новых ПБФ или удалении существующих ПБФ (6.4.6). Ответственность за определение того, какие ПБФ установлены, возложена исключительно на ПБУ, использующего функцию обратного вызова перечня ПБФ (9.2.2).

6.4.6 Функция ПИП БиоАПИ BioAPI_Util_InstallBsp (10.2.1), которую вызывает приложение (например, мастер удаления), сообщает инфраструктуре БиоАПИ, что ПБУ был удален. Инфраструктура БиоАПИ обновляет реестр компонентов. Не существует стандартизованных функций для уведомления отдельных ПБУ, находящихся в рабочей памяти выполняющихся приложений, об удалении используемых ими ПБФ, и эффект удаления используемого ПБУ ПБФ зависит от исполнения.

Примечание - Удаление ПБФ обычно не вызывает удаления связанных с ним аппаратных средств или драйверов модулей БиоАПИ, так как эти драйверы и аппаратные средства могут также использоваться другими установленными ПБФ. Данная область находится вне стандартизации БиоАПИ и зависит от исполнения ПБФ.

6.5 Загрузка ПБУ и присоединение модуля БиоАПИ

6.5.1 Действия биометрического приложения должны выполняться в следующем порядке:

a) инициализация доступа к инфраструктуре БиоАПИ (8.1.1);

b) идентификация и загрузка одного или более ПБУ (8.1.4 и 8.1.5) с возможным указанием обработчика событий для получения обратных вызовов при возникновении связанных с данным ПБУ определенных событий (7.26), например подключение или удаление модуля БиоАПИ, к которому может быть осуществлен доступ через данного ПБУ. Когда обработчики события обратного вызова определены, приложение будет получать уведомления о всех подключениях и отключениях, о которых сообщается соответствующим ПБУ;

c) присоединение единственного ПБУ вместе с одним БиоАПИ каждой категории (к которому ПБУ имеет прямой или косвенный доступ).

Примечание - Под присоединением ПБУ подразумевается установление присоединенной сессии ПБУ;

d) после присоединения (со ссылкой на присоединенный ПБУ) могут быть выполнены остальные вызовы функций БиоАПИ, которые будут обработаны присоединенным ПБУ с использованием идентифицированных модулей БиоАПИ требуемой категории.

Примечание 1 - Приложение может устанавливать несколько одновременно присоединенных сессий с разными ПБУ (или с тем же ПБУ).

Примечание 2 - Пример кода последовательных вызовов приведен в приложении D.

6.5.2 Загрузка ПБУ (8.1.5) дает приложению возможность получать полную информацию о модулях БиоАПИ, к которым может быть осуществлен доступ (прямой или косвенный) через данного ПБУ или с помощью запроса инфраструктуры, или в соответствии с уведомлением обратного вызова от ПБУ (или двумя способами).

6.5.3 Модуль БиоАПИ может использоваться только в случае, если аппаратные и программные средства, от которых он зависит, в данное время подключены к системе. В модели это называется "подключенным состоянием модуля БиоАПИ".

6.5.4 Когда приложение присоединяет ПБУ, оно может указать, что модуль БиоАПИ, выбираемый для какой-либо конкретной категории модуля БиоАПИ, должен быть определен ПБУ. Это называют "выбором модуля БиоАПИ по умолчанию с использованием параметра BioAPI_DONT_CARE".

Примечание - Единственное различие между выбором конкретного доступного модуля БиоАПИ (находящегося в подключенном состоянии) данной категории и выбором модуля БиоАПИ по умолчанию с использованием параметра BioAPI_DONT_CARE заключается в том, что, в последнем случае, решение о выборе используемого модуля БиоАПИ принимает ПБУ.

6.5.5 Уведомление о событии подключения каждого модуля БиоАПИ содержит его схему.

Примечание - Возможно, что физическое подключение некоторых частей аппаратных средств (например, смарт-карта, которая может поддерживать как архивирование, так и сопоставление) будет вызывать два отдельных различных уведомления. Приложение может не связать эти два события с одним физическим устройством.

6.5.6 В ответ на функцию BioAPI_BSPAttach приложение должно выбрать не более одного модуля БиоАПИ каждой категории, который находится в настоящее время в подключенном состоянии (или выбрать BioAPI_DONT_CARE) и управляется данным ПБУ или связанным с ним ПБФ. Затем ПБУ обеспечивает доступ к модулю (для модулей БиоАПИ, управляемых напрямую) или взаимодействует со связанным с ним ПБФ для получения доступа к данному модулю БиоАПИ.

6.5.7 Информационное содержание уведомления об удалении должно включать в себя (7.28):

a) ИД модуля БиоАПИ;

b) тип события (удаление);

c) контекст обратного вызова.

6.5.8 Уведомление о событии удаления модуля БиоАПИ, который является частью набора модулей, используемых в текущей присоединенной сессии, необходимо для того, чтобы приложение больше не производило вызовов функций, кроме BioAPI_BSPDetach и BioAPI_GetBIRFromHandle.

6.6 Управление модулями БиоАПИ

6.6.1 В ПИП, ИПУи ИПФ БиоАПИ доступна функция (8.1.12 и 9.3.1.7), которая позволяет приложению управлять модулем БиоАПИ через ПБУ. ПБУ не обязательно должен поддерживать данную функцию, но если такая функция поддерживается, ПБУ идентифицирует наличие такой поддержки в своей схеме (7.16 и 7.46).

6.6.2 Данная функция содержит конкретные управляющие коды, содержание буфера и возвращаемые значения, но их формат и значение определяются конструкцией УУИД и могут быть индивидуальны для каждого изготовителя. Настоящий стандарт не устанавливает требований к УУИД, поддерживающим данную функцию.

6.7 Структура и обработка ЗБИ

6.7.1 Структура ЗБИ


ЗБИ, использующая ПИП и ИПУ, является структурой данных Си, сохраненной в памяти компьютера с использованием указателей на различные элементы. Структура ЗБИ, рекомендуемая для хранения и передачи между компьютерными системами, представляет собой сериализацию структуры данных Си и изображена на рисунке 3. В формате, рекомендуемом для хранения и передачи, к полям, определенным в структуре данных Си, добавляются поля длины.

Примечание - Формат постоянного клиента БиоАПИ, рекомендуемый для хранения и передачи ЗБИ БиоАПИ, приведен в приложении В. Для представления ЗБИ БиоАПИ в ПИП и ИПУ используется структура данных, определенная в 7.4.

Рисунок 3 - Запись биометрической информации


Рисунок 3 - Запись биометрической информации



СБЗ содержит информацию о содержании последующего ББД.

ББД содержит биометрический образец, формат которого определен полем "ИД формата" в СБЗ. Данный формат может быть стандартным или внутренним.

Примечание - Стандартные форматы ББД определены в ISO/IEC 19794 [5].


БЗИ является необязательным (нулевое поле длины БЗИ указывает на отсутствие данного блока) и содержит параметры, связанные с использованием цифровой подписи и/или шифрованием ЗБИ. Формат БЗИ определяется полем "Формат БЗИ" в СБЗ. Поле "Тип данных ЗБИ" указывает, использует ли ЗБИ цифровую подпись и/или является ли ББД зашифрованным (7.9).

Первое поле длины указывает длину всей ЗБИ без учета самого поля. Второе поле длины, расположенное после заголовка и перед ББД, указывает длину ББД без учета самого поля длины. Третье поле длины, расположенное после ББД и перед БЗИ, указывает длину БЗИ без учета самого поля длины.

6.7.2 Обработка данных ЗБИ


При создании новой ЗБИ, ПБУ возвращает к ней дескриптор. Большинство локальных операций может быть выполнено без перемещения ЗБИ из ПБУ. (Так как ЗБИ могут быть достаточно большими, это является преимуществом при выполнении различных операций). Однако если приложению необходимо управлять ЗБИ (сохранить ее в базе данных приложения, передать другому ПБУ или переслать на сервер для верификации/идентификации, возможно, через инфраструктуру с использованием ISO/IEC 24708 [6]), оно может запрашивать ЗБИ с использованием дескриптора (функции BioAPI_GetBIRFromHandle). Если требуется только информация заголовка, она может быть получена с использованием функции BioAPI_GetHeaderFromHandle.

Передача ЗБИ в качестве входного параметра функции БиоАПИ может быть реализована одним из следующих трех способов:

a) ссылкой на ее дескриптор (если она находится в вызванном ПБУ);

b) ссылкой на ее ключевое значение (УУИД) в открытой базе данных ЗБИ (управляемой вызванным ПБУ);

c) предоставлением самой ЗБИ с использованием структуры данных BioAPI_BIR Си.

7 Типы и макросы БиоАПИ

7.1 Макрос БиоАПИ


Определение соглашения о вызовах БиоАПИ:

#ifdef (WIN32)

#define BioAPI_stdcall

#else

#define BioAPI

#endif


Примечание - Взаимодействие программных продуктов разных изготовителей в общем случае зависит от выбранного (иногда в соответствии с установками в заголовке Си) представления в памяти (например, заполнение промежутков между элементами данных, механизм передачи параметров и использование регистров или стеков). Многие операционные системы выбирают один из вариантов по умолчанию, который и должен использоваться. Если не существует выбранных установок по умолчанию, необходимо использовать опцию представления структур данных без заполнения промежутков между элементами данных.

7.2 Тип BioAPI_BFP_LIST_ELEMENT

7.2.1 Данный тип определяет ПБФ, представляя его категорию и УУИД. При запросе о поддерживаемых ПБФ, ПБУ возвращается список.

typedef struct bioapi_bfp_list_element

{

BioAPI_CATEGORY BFPCategory;

BioAPI_UUID BFPUuid;

} BioAPI_BFP_LIST_ELEMENT;

7.2.2 Определения

BFPCategory - определяет категорию модуля БиоАПИ, поддерживаемую ПБФ.

BFPUuid - УУИД ПБФ в реестре компонентов.

7.3 Тип BioAPI_BFP_SCHEMA

7.3.1 Информация о ПБФ, содержащаяся в реестре компонентов.

typedet struct bioapi_bfр_schema {

BioAPI_UUID BFPUuid;

BioAPI_CATEGORY BFPCategory;

BioAPI_STRING BFPDescription;

uint8_t*Path;

BioAPI_VERSION SpecVersion;

BioAPI_STRING ProductVersion;

BioAPI_STRING Vendor;

BioAPI_BIR_BIOMETRIC_DATA_FORMAT *BFPSupportedFormats;

uint32_tNumSupportedFormats;

BioAPI_BIR_BIOMETRIC_TYPE FactorsMask;

BioAPI_UUID BFPPropertylD;

BioAPI_DATA BFPProperty;

} BioAPI_BFP_SCHEMA;

7.3.2 Определения

BFPUuid - УУИД ПБФ.

BFPCategory - определяет категорию модуля БиоАПИ, поддерживаемую ПБФ.

BFPDescription - строка с нулевым символом на конце, содержащая текстовое описание ПБФ.

Path - указатель на строку с нулевым символом на конце, содержащую путь к файлу ПБФ, включая название файла. Путь к файлу может быть записан в виде адреса страницы URL. Символьная строка должна содержать символы, закодированные в формате UTF-8 в соответствии с ИСО/МЭК 10646.

Примечание - Если в вызове функции используется BioAPI_BFP_SCHEMA, принимающий компонент выделяет память для элемента схемы Path, а вызывающий компонент освобождает память.


SpecVersion - номер редакции и номер поправки или изменений редакции стандарта, в соответствии с которой был разработан ПБФ.

Примечание - Требования к ПБФ будут установлены в следующих частях комплекса стандартов 19784.


ProductVersion - строка версии программного обеспечения ПБФ.

Vendor - строка с нулевым символом на конце, содержащая название изготовителя ПБФ.

BFPSupportedFormats - указатель на массив структур BioAPI_BIR_BIOMETRIC_DATA_FORMAT, определяющий поддерживаемые форматы ББД.

NumSupportedFormats - число поддерживаемых форматов, содержащихся в BFPSupportedFormats.

FactorsMask - маска, указывающая, какие биометрические типы поддерживаются ПБФ.

BFPPropertylD - УУИД формата передаваемого свойства ПБФ.

BFPProperty - адрес и длина буфера памяти, содержащего свойства ПБФ. Формат и содержание свойства ПБФ могут быть определены изготовителем или установлены в соответствующем стандарте.

7.4 Тип BioAPI_BIR

7.4.1. BioAPI_BIR представляет собой контейнер биометрических данных и состоит из BioAPI_BIR_HEADER, ББД и (необязательно) БЗИ. ББД может содержать исходные данные образца, частично обработанные (промежуточные) данные или полностью обработанные биометрические данные. BioAPI_BIR может использоваться для регистрации пользователя (при этом он хранится постоянно) или для верификации или идентификации пользователя (при этом он используется кратковременно).

7.4.2 ББД и БЗИ представляют собой целое число октетов и имеют переменную длину до 2**32-1 октетов. Если БЗИ содержит цифровую подпись, она вычисляется одновременно для BioAPI_BIR_Header и ББД.

typedef struct Bioapi_bir {

BioAPI_BIR_HEADER Header;

BioAPI_DATA BiometricData;

BioAPI_DATA SecurityBlock; /* Если БЗИ отсутствует, то SecurityBlock.Data=NULL */

} BioAPI_BIR;


Примечание 1 - ЗБИ БиоАПИ содержит информацию, необходимую для формата постоянного клиента ЕСФОБД определенную в ИСО/МЭК 19785-1.

Примечание 2 - Форматы BiometricData и SecurityBlock определены соответственно элементами BioAPI_BIR_BIOMETRIC_DATA_FORMAT и BioAPI_BIR_SECURITY_BLOCK_FORMAT в заголовке BioAPI_BIR_HEADER.

Примечание 3 - ЕСФОБД позволяет использовать форматы ЗБИ, отличающиеся от формата, поддерживаемого БиоАПИ. Преобразование между форматом ЗБИ БиоАПИ и другими форматами ЗБИ определено в ИСО/МЭК 19785-1.

7.5 Тип BioAPI_BIR_ARRAY_POPULATION


Данный тип представляет собой массив ЗБИ, используемый при идентификации (в качестве входного параметра для функций BioAPI_Identify или BioAPI_IdentifyMatch, как часть BioAPI_IDENTIFY_POPULATION).

typedef struct bioapi_bir_array_population {

uint32_t NumberOfMembers;

BioAPI_BIR *Members; /* указатель на массив ЗБИ */

} BioAPI_BIR_ARRAY_POPULATION;

7.6 Тип BioAPI_BIR_BIOMETRIC_DATA_FORMAT


Данный тип определяет формат данных, содержащихся в элементе БиоАПИ BiometricData "непрозрачного" блока биометрических данных (ББД) ЗБИ.

typedef struct bioapi_bir_biometric_data_format {

uint16_t FormatOwner;

uint16_tFormatType;

} BioAPI_BIR_BIOMETRIC_DATA_FORMAT;


Примечание 1 - Значения FormatOwner (владелец формата) присваиваются и регистрируются органами регистрации ЕСФОБД. Значения FormatType (тип формата) присваиваются владельцем формата и при необходимости тип формата может быть зарегистрирован. Информация о регистрации приведена в ИСО/МЭК 19785-2.

Примечание 2 - BioAPI_BIR_BIOMETRIC_DATA_FORMAT соответствует комбинации "CBEFF_BDB_format_owner" и "CBEFF_BDB_format_type", установленных в ИСО/МЭК 19785-1.

Примечание 3 - Данная структура используется обычно в заголовке ЗБИ, однако она также используется как входной параметр для функций, осуществляющих получение биометрических данных.

7.7 Тип BioAPI_BIR_BIOMETRIC_PRODUCT_ID


Данный тип предоставляет идентификатор продукта (ИДП) для ПБУ, который разработал ББД в ЗБИ (элемент BiometricData).

typedef struct bioapi_bir_biometric_product_ID {

uint16_t ProductOwner;

uint16_tProductType;

} BioAPI_BIR_BIOMETRIC_PRODUCT_ID;

#define BioAPI_NO_PRODUCT_OWNER_AVAILABLE

(0x0000)

#define BioAPI NO_PRODUCT_TYPE_AVAILABLE

(0x0000)


Значение NO_VALUE_AVAILABLE следует отражать установкой значений всех компонентов в ноль. Это значение следует использовать только для ЗБИ, которая первоначально была получена не от ПБУ БиоАПИ, а из другого источника, и была преобразована в ЗБИ БиоАПИ. БПУ не должны использовать это значение.

Значения ProductOwner (владелец продукта) присваиваются и регистрируются органами регистрации ЕСФОБД в качестве идентификаторов биометрической организации. Информация об органах регистрации приведена в ИСО/МЭК19785-2. Тип продукта присваивается владельцем продукта и может быть зарегистрирован.

Примечание 1 - ИД продуктов аналогичны ИД форматов и процессы их регистрации идентичны. Изготовитель может зарегистрировать значение владельца формата/продукта (идентификатор биометрической организации), которое может использоваться в обоих полях.

Примечание 2 - BioAPI_BIR_BIOMETRIC_PRODUCT_ID соответствует "CBEFF_BDB_product_owner" и "CBEFF_BDB_product_type", приведенным в ИСО/МЭК 19785-1.

7.8 Тип BioAPI_BIR_BIOMETRIC_TYPE (БиоАПИ 2.0)

Данный подраздел применяется только при использовании версии БиоАПИ 2.0.

Данный тип представляет собой маску, описывающую набор биометрических типов (факторов), содержащихся в рамках ЗБИ БиоАПИ или поддерживаемых ПБУ.

typedef uint32_t BioAPI_BIR_BIOMETRIC_TYPE;

#define BioAPI_NO_TYPE_AVAILABLE

(0x00000000)

#define BioAPI_TYPE_MULTIPLE

(0x00000001)

#define BioAPI_TYPE_FACIAL_FEATURES

(0x00000002)

#define BioAPI_TYPE_VOICE

(0x00000004)

#define BioAPI_TYPE_FINGERPRINT

(0x00000008)

#define BioAPI_TYPE_IRIS

(0x00000010)

#define BioAPI_TYPE_RETINA

(0x00000020)

#define BioAPI_TYPE_HAND_GEOMETRY

(0x00000040)

#define BioAPI_TYPE_SIGNATURE_DYNAMICS

(0x00000080)

#define BioAPI_TYPE_KEYSTOKE_DYNAMICS

(0x00000100)

#define BioAPI_TYPE_LIP_MOVEMENT

(0x00000200)

#define BioAPI_TYPE_THERMAL_FACE_IMAGE

(0x00000400)

#define BioAPI_TYPE_THERMAL_HAND_IMAGE

(0x00000800)

#define BioAPI_TYPE_GAIT

(0x00001000)

#define BioAPI_TYPE_OTHER

(0x40000000)

#define BioAPI_TYPE_PASSWORD

(0x80000000)


Примечание 1 - BioAPI_TYPE_MULTIPLE используется для обозначения того, что биометрические образцы, содержащиеся в ББД (BiometricData ЗБИ), включают в себя образцы, полученные от биометрических сканеров разных типов (например, данные отпечатков пальцев и изображения лица). Расположение индивидуальных образцов в ББД определяет владелец формата и идентифицируется значением типа формата.

Примечание 2 - Значение NO_VALUE_AVAILABLE указывается установкой нулевого значения. Данное значение должно использоваться в том случае, если для ЗБИ, которые первоначально не были созданы ПБУ БиоАПИ, а были преобразованы в ЗБИ БиоАПИ, информация о биометрическом типе недоступна в записи первоначального источника. Преобразованные ЗБИ, чьи биометрические типы не соответствуют ни одному из определенных типов, должны использовать значение BioAPI_TYPE_OTHER.

Примечание 3 - BioAPI_BIR_BIOMETRIC_TYPE соответствует "CBEFF_BDB_biometric_type" по ИСО/МЭК 19785-1.


(Измененная редакция, Изм. N 1).

7.9 Тип BioAPI_BIR_DATA_TYPE

7.9.1 BioAPI_BIR_DATA_TYPE (тип данных ЗБИ БиоАПИ) используется для решения следующих задач:

a) определения типа биометрических образцов (исходные, промежуточные или обработанные), которые содержатся в ББД;

b) определения того, зашифрована ли ЗБИ и/или использует ли она цифровую подпись;

с) определения того, включено или нет значение индекса в качестве составной части заголовка ЗБИ.

Примечание - Если ЗБИ зашифрована ПБУ, то она может не определяться приложением или другим ПБУ.

7.9.2 Должен быть установлен один из следующих трех признаков: "исходный" (RAW), "промежуточный" (INTERMEDIATE) или "обработанный" (PROCESSED). Если ЗБИ, содержащая данные ЗБИ с установленными различными признаками, передается в инфраструктуру БиоАПИ в качестве параметра вызываемой функции, должно возвращаться значение ошибки BioAPIERR_INVALID_BIR.

Примечание - ЗБИ, которые первоначально не были созданы ПБУ БиоАПИ, а были преобразованы из другого формата данных и для которых информация о типе образца недоступна, могут не устанавливать данный признак (ПБУ БиоАПИ должны устанавливать один из вышеуказанных признаков).

7.9.3 Установка признаков "зашифровано" (ENCRYPTED) и "подписано" (SIGNED) является необязательной.

7.9.4 Признак "индекс" (INDEX_PRESENT) следует устанавливать в случае, если индекс присутствует в заголовке ЗБИ, и не следует устанавливать в случае, если индекс отсутствует в заголовке ЗБИ.

typedef uint8_t BioAPI_BIR_DATA_TYPE;

#define BioAPI_BIR_DATA_TYPE_RAW

(0x01)

#define BioAPI_BIR_DATA_TYPE_INTERMEDIATE

(0x02)

#define BioAPI_BIR_DATA_TYPE_PROCESSED

(0x04)

#define BioAPI_BIR_DATA_TYPE_ENCRYPTED

(0x10)

#define BioAPI_BIR_DATA_TYPE_SIGNED

(0x20)

#define BioAPI_BIR_INDEX_PRESENT

(0x80)


Примечание - BioAPI_BIR_DATA_TYPE соответствует комбинации "CBEFF_BDB_processed_level" и "CBEFF_BIR_integrity_options" по ИСО/МЭК 19785-1.

7.10 Тип BioAPI_BIR_HANDLE


Данный тип является дескриптором для обращения к ЗБИ БиоАПИ, существующей в ПБУ.

Примечание - Дескриптор, определяющий ЗБИ, имеет положительное ненулевое значение. Другие значения BioAPI_BIR_HANDLE (в настоящее время только минус 1 и минус 2) зарезервированы для индикации исключений.

typedef int32_t BioAPI_BIR_HANDLE;

#define BioAPI_INVALID_BIR_HANDLE

(-1)

#define BioAPI_UNSUPPORTED_BIR_HANDLE

(-2)

7.11 Тип BioAPI_BIR_HEADER


Данный тип представляет собой заголовок ЗБИ, содержащий стандартную информацию, с описанием содержания следующих за ней непрозрачных ББД. Данная информация может быть прочитана приложением и предоставляется для того, чтобы обеспечить приложению возможность выбора метода обработки и трассировки с учетом ЗБИ. ПБУ не зашифровывает данный заголовок.

typedef struct bioapi_bir_header {

BioAPI_VERSION_HeaderVersion;

BioAPI_BIR_DATA_TYPE Type;

BioAPI_BIR_BIOMETRIC_DATA_FORMAT Format;

BioAPI_QUALITY Quality;

BioAPI_BIR_PURPOSE Purpose;

BioAPI_BIR_BIOMETRIC_TYPE FactorsMask;

BioAPI_BIR_BIOMETRIC_PRODUCT_ID ProductlD;

BioAPI_DTG CreationDTG;

BioAPI_BIR_SUBTYPE Subtype;

BioAPI_DATE ExpirationDate;

BioAPI_BIR_SECURITY_BLOCK_FORMAT SBFormat;

BioAPI_UUID Index;

} BioAPI_BIR_HEADER;

Примечание 1 - BioAPI_BIR_HEADER соответствует СБЗ в ЕСФОБД по ИСО/МЭК 19785-1.

Примечание 2 - Срок годности (Expiration date) соответствует элементу "Valid to" поля "CBEFF_BDB_validity_period" по ИСО/МЭК 19785-1. Поле признака (Index) соответствует полю "CBEFF_BDB_index" по ИСО/МЭК 19785-1.

Примечание 3 - Возможно существование ЗБИ БиоАПИ, которая не была создана ПБУ, а была преобразована из другого формата данных. В этом случае некоторые из полей заголовка, которые являются необязательными в ЕСФОБД (ИСО/МЭК 19785-1), но требуются БиоАПИ, могут отсутствовать. В этом случае для данных полей предусмотрено значение NO_VALUE_AVAILABLE или значение по умолчанию (в соответствующих этим полям структурах данных). Однако все ЗБИ, созданные ПБУ БиоАПИ, должны содержать корректные данные для этих полей и не должны использовать значение NO_VALUE_AVAILABLE (исключение составляют поля BioAPI_Quality и BioAPI_BIR_SUBTYPE, которые являются необязательным в заголовке ЗБИ БиоАПИ). Если ЗБИ, созданная не БиоАПИ, обозначена как входной параметр для ПБУ, ПБУ может возвратить ошибку "недействительная ЗБИ".

Примечание 4 - Формат хранения ЗБИ включает в себя точную длину поля, которая не является необходимой в структуре Си (приложение В относительно формата хранения ЗБИ).

7.12 Тип BioAPI_BIR_PURPOSE

7.12.1 Данный тип определяет назначение создаваемой ЗБИ БиоАПИ (при использовании в качестве входного параметра к функциям БиоАПИ) или назначение имеющейся ЗБИ (при использовании в качестве выходного параметра функции БиоАПИ или в заголовке ЗБИ).

typedef uint8_tBioAPI_BIR PURPOSE;

#define BioAPI_PURPOSE_VERIFY

(1)

#define BioAPI_PURPOSE_IDENTIFY

(2)

#define BioAPI_PURPOSE_ENROLL

(3)

#define BioAPI_PURPOSE_ENROLL_FOR_VERIFICATION_ONLY

(4)

#define BioAPI_PURPOSE_ENROLL_FOR_IDENTIFICATION_ONLY

(5)

#define BioAPI_PURPOSE_AUDIT

(6)

#define BioAPI_NO_PURPOSE_AVAILABLE

(0)


Примечание - Условие BioAPI_NO_DATA_AVAILABLE (данные недоступны) указывается установкой значения в ноль. Данное значение используется только для тех ЗБИ, которые первоначально не сформированы ПБУ БиоАПИ, а были созданы другим источником и преобразованы в ЗБИ БиоАПИ. ПБУ не следует использовать данное значение.

7.12.2 Назначение ЗБИ (BioAPI_BIR_PURPOSE) используется двумя способами. Во-первых, оно используется как входной параметр, чтобы дать возможность приложению указать ПБУ назначение итоговой ЗБИ, таким образом, давая возможность ПБУ выполнить соответствующую регистрацию и обработку, чтобы создать надлежащую ЗБИ для данного назначения. Во-вторых, оно используется в пределах заголовка ЗБИ, чтобы указать приложению (или ПБУ в течение последующих операций), какому назначению соответствует ЗБИ. Например, некоторые ПБУ используют различные форматы ББД в зависимости от их использования для верификации или идентификации; в последнем случае формат обычно включает в себя дополнительную информацию для увеличения скорости или точности. Многие ПБУ используют различные форматы данных в зависимости от их использования в качестве образца для непосредственной верификации или в качестве контрольного шаблона для будущих сопоставлений (при регистрации).

Примечание - Параметр BioAPI_BIR_PURPOSE в заголовке ЗБИ соответствует параметру CBEFF_BDB_purpose по ИСО/МЭК 19785-1. Названия параметров отличаются незначительно, так как ЗБИ БиоАПИ ограничена отдельной BDB, но семантика остается неизменной.

7.12.3 Ограничения на использование данных, содержащихся в ЗБИ конкретного назначения:

a) в заголовке ЗБИ может быть указано любое назначение;

b) назначения BioAPI_PURPOSE_VERIFY (верификация) и BioAPI_PURPOSE_IDENTIFY (идентификация) допустимы только в качестве входного параметра функции BioAPI_Capture;

c) назначения BioAPI_PURPOSE_ENROLL (регистрация), BioAPI_PURPOSE_ENROLL_FOR_VERIFICATION_ONLY (регистрация только для верификации) и BioAPI_PURPOSE_ENROLL_FOR_IDENTIFICATION_ONLY (регистрация только для идентификации) допустимы только в качестве входных параметров функций BioAPI_Capture, BioAPI_Enroll и BioAPI_Import (импортирование);

d) назначение BioAPI_PURPOSE_AUDIT (контроль) не является входным параметром функции, а используется только в заголовке ЗБИ;

e) функции BioAPI_Process (обработка), BioAPI_CreateTemplate (создать шаблон) и BioAPI_ProcessWithAuxData не используют назначение в качестве входного параметра, а считывают поле назначения из заголовка входного ЗБИ CapturedBIR (полученная ЗБИ);

f) функция BioAPI_Process (обработка) может принимать в качестве входных данных любую промежуточную ЗБИ с назначением BioAPI_PURPOSE_VERIFY и BioAPI_PURPOSE_IDENTIFY и должна возвращать ЗБИ с тем же назначением, что и входная ЗБИ;

g) функция BioAPI_CreateTemplate (создать шаблон) может принимать в качестве входных данных любую промежуточную ЗБИ с назначением: BioAPI_PURPOSE_ENROLL, BIOAPI_PURPOSE_ENROLL_FOR_VERIFICATION_ONLY, BIOAPI_PURPOSE_ENROLL_FOR_IDENTIFICATION_ONLY и должна возвращать ЗБИ с тем же назначением, что и входная ЗБИ;

h) если ЗБИ подходит для регистрации, верификации и идентификации, то возвращаемая ЗБИ должна иметь назначение BioAPI_PURPOSE_ENROLL.

7.13 Тип BioAPI_BIR_SECURITY_BLOCK_FORMAT


Данный тип определяет формат данных, содержащихся в блоке безопасности (БЗИ) ЗБИ БиоАПИ (элемент блока безопасности).

typedef struct bioapi_bir_security_block_format {

uint16_t SecurityFormatOwner;

uint16_t SecurityFormatType;

} BioAPI_BIR_SECURITY_BLOCK_FORMAT;


Если признаки "шифрование" и "подпись" не установлены в поле BioAPI_BIR_DATA_TYPE заголовка ЗБИ, то параметры SecurityFormatOwner и SecurityFormatType должны быть установлены в 0х0000 и блок безопасности должен отсутствовать.

Значения SecurityFormatOwner присвоены и зарегистрированы регистрационными правами ЕСФОБД как идентификаторы биометрических организаций по ИСО/МЭК 19785-2. SecurityFormatType присвоен владельцем формата безопасности (биометрическая организация) и может быть зарегистрирован дополнительно.

Примечание 1 - ИД форматов безопасности аналогичны ИД форматов. Процесс регистрации ИД форматов безопасности аналогичен процессу регистрации ИД форматов. Изготовитель может зарегистрировать значение владельца формата/продукта/безопасности (идентификатор биометрической организации), что может быть использовано во всех связанных областях.

Примечание 2 - Содержание блока безопасности может включать в себя цифровую подпись или код аутентификационного сообщения (вычисленный как заголовок ЗБИ + ББД), параметры шифрования ББД (то есть алгоритмы шифрования, длина ключа) и/или целостные параметры ЗБИ (ИД алгоритмов, название ключа, версия).

Примечание 3 - Формат блока безопасности ЗБИ БиоАПИ в заголовке ЗБИ соответствует "CBEFF_SB_format_owner" и "CBEFF_SB_format_type" по ИСО/МЭК 19785-1.

7.14 Тип BioAPI_BIR_SUBTYPE (БиоАПИ 2.0)

Данный подраздел применяется только при использовании версии БиоАПИ 2.0.

7.14.1 Данный тип идентифицирует подтип в рамках типа ББД указанного в BioAPI_BIR_BIOMETRIC_TYPE. Значения подтипов определяются спецификациями данного типа ББД.

7.14.2 Каждый из флагов BioAPI_BIR_SUBTYPE_LEFT и BioAPI_BIR_SUBTYPE_RIGHT (ноль, один или оба) может быть установлен произвольно.

7.14.3 Может быть установлен один или ни одного из пяти подтипов пальца.

typedef uint8_tBioAPI_BIR SUBTYPE;

#define BioAPI_BIR_SUBTYPE_LEFT

(0x01)

#define BioAPI_BIR_SUBTYPE_RIGHT

(0x02)

#define BioAPI_BIR_SUBTYPE_THUMB

(0x04)

#define BioAPI_BIR_SUBTYPE_POINTERFINGER

(0x08)

#define BioAPI_BIR_SUBTYPE_MIDDLEFINGER

(0x10)

#define BioAPI_BIR_SUBTYPE_RINGFINGER

(0x20)

#define BioAPI_BIR_SUBTYPE_LITTLEFINGER

(0x40)

#define BioAPI_BIR_SUBTYPE_MULTIPLE

(0x80)

#define BioAPI_NO_SUBTYPE_AVAILABLE

(0x00)


Примечание 1 - Условие NO_VALUE_AVAILABLE (значение недоступно) указывается присвоением значения ноль. Для ЗБИ, которые не были первоначально созданы ПБУ БиоАПИ, а были преобразованы из другого формата данных и для которых информация о подтипе недоступна, допускается данное значение не устанавливать.

Примечание 2 - BioAPI_BIR_SUBTYPE_соответствуют "CBEFF_BDB_biometric_subtype" по ИСО/МЭК 19785-1.

Примечание 3 - Данная структура прежде всего используется в заголовке ЗБИ, однако она также используется как входной параметр для функций получения биометрических данных. Значение BioAPI_NO_SUBTYPE_AVAILABLE используется в заголовке ЗБИ, если данное поле неприменимо или информация недоступна. Значение BioAPI_NO_SUBTYPE_AVAILABLE также используется как параметр функции, если приложение позволяет ПБУ определить, какой тип данных будет получен.

Подраздел 7.14. (Измененная редакция, Изм. N 1).

7.15 Тип Вio_АРI_ВООL


Данный тип используется для индикации истинного или ложного значения условия.

typedef uint8_t BioAPI_BOOL;

#define BioAPI_FALSE

(0)

#define BioAPI_TRUE

(!BioAPI_FALSE)

7.16 Тип BioAPI_BSP_SCHEMA (БиоАПИ 2.0)


Данный подраздел применяется только при использовании версии БиоАПИ 2.0.

7.16.1 Данный тип включает в себя информацию о ПБУ, содержащуюся в реестре компонентов БиоАПИ.

typedef struct bioapi_bsp_schema {

BioAPI_UUID BSPUuid;

BioAPI_STRING BSPDescription;

uint8_t *Path;

BioAPI_VERSION SpecVersion;

BioAPI_STRING ProductVersion;

BioAPI_STRING Vendor;

BioAPI_BIR_BIOMETRIC_DATA_FORMAT *BSPSupportedFormats;

uint32_t NumSupportedFormats;

BioAPI_BIR_BIOMETRIC_TYPE FactorsMask;

BioAPI_OPERATIONS_MASK Operations;

BioAPI_OPTIONS_MASK Options;

BioAPI_FMR PayloadPolicy;

uint32_t MaxPayloadSize;

int32_t DefaultVerifyTimeout;

int32_t DefaultldentifyTimeout;

int32_t DefaultCaptureTimeout;

int32_t DefaultEnrollTimeout;

int32_t DefaultCalibrateTimeout;

uint32_t MaxBSPDbSize;

uint32 t Maxldentify;

} BioAPI_BSP_SCHEMA;


Подраздел 7.16. (Измененная редакция, Изм. N 1).

7.16.2 Определения

BSPUuid - УУИД ПБУ.

BSPDescription - строка с нулевым символом на конце, содержащая текстовое описание ПБУ.

Path - указатель на строку с нулевым символом на конце, содержащую путь к файлу ПБФ, включая название файла. Путь к файлу может быть записан в виде адреса страницы URL. Символьная строка должна содержать символы, закодированные в формате UTF-8 в соответствии с ИСО/МЭК 10646.

Примечание - Если BioAPI_BSP_SCHEMA используется в вызове функции, компонент, получающий вызов, выделяет память для элемента схемы Path (путь к файлу), а вызывающий компонент освобождает память.


SpecVersion - номер редакции и номер поправки или изменений данной редакции спецификации БиоАПИ, для которой был разработан ПБУ.

ProductVersion - строка версии программного обеспечения ПБУ.

Vendor - строка с нулевым символом на конце, содержащая название изготовителя ПБУ.

BSPSupportedFormats - указатель на структуру BioAPI_BIR_BIOMETRIC_DATA_FORMAT, определяющую поддерживаемые форматы ББД.

NumSupportedFormats - число поддерживаемых форматов, содержащихся в BspSupportedFormats.

FactorMask - маска, указывающая биометрические типы, поддерживаемые ПБУ.

Operations - маска, указывающая операции, поддерживаемые ПБУ.

Options - маска, указывающая опции, поддерживаемые ПБУ.

PayloadPolicy - пороговое значение (минимальное значение ОЛС), используемое для принятия решения о выдаче полезной информации после успешной верификации.

MaxPayloadSize - максимальный размер полезной информации (в байтах), которую может принять ПБУ.

DefaultVerifyTimeout - заданное по умолчанию значение времени ожидания в миллисекундах, используемое ПБУ для функции верификации BioAPI_Verify в случае, когда время ожидания не определено приложением.

DefaultldentifyTimeout - заданное по умолчанию значение времени ожидания в миллисекундах, используемое ПБУ для функции идентификации BioAPI_Identify и BioAPI_IdentifyMatch в случае, когда время ожидания не определено приложением.

DefaultCaptureTimeout - заданное по умолчанию значение времени ожидания в миллисекундах, используемое ПБУ для функции захвата BioAPI_Capture в случае, когда время ожидания не определено приложением.

DefaultEnrollTimeout - заданное по умолчанию значение времени ожидания в миллисекундах, используемое ПБУ для функции регистрации BioAPI_Enroll в случае, когда время ожидания не определено приложением.

DefaultCalibrateTimeout - заданное по умолчанию значение времени ожидания в миллисекундах, используемое ПБУ для операций калибровки датчика в случае, когда время ожидания не определено приложением.

MaxBSPDbSize - максимальный размер управляемой ПБУ базы данных ЗБИ.

Примечание 1 - Применяется только в том случае, если ПБУ способен непосредственно управлять отдельным модулем архива.

Примечание 2 - Нулевое значение означает, что информация о размере базы данных не должна быть предоставлена по следующим трем причинам:

a) база данных не поддерживается;

b) существует возможность управления несколькими модулями (непосредственно или с использованием интерфейса ПБФ), каждый из которых может иметь различную максимальную длину и информация о данном модуле будет предоставлена как часть уведомления о подключении (часть схемы модуля);

c) поддерживается один модуль архива, но в данном параметре информация не предоставлена - она будет доступна в уведомлении о подключении.


Maxldentify - максимальное число людей, поддерживаемых функцией идентификации. Значение FFFFFFFF указывает на отсутствие ограничения.

7.16.3 Более подробное описание приведенных элементов и порядка записи информации ПБУ в реестр компонентов БиоАПИ приведено в 10.1.2 и 10.2.1.

7.16 Тип BioAPI_BSP_SCHEMA

7.17 Тип BioAPI_CANDIDATE


Данный тип содержит одного кандидата из набора, возвращаемого функциями идентификации BioAPI_Identify или сопоставления BioAPI_IdentifyMatch и соответствующий успешному сопоставлению.

typedef struct bioapi_candidate {

BioAPI_IDENTIFY_POPULATION_TYPE Type;

union {

BioAPI_UUID *BIRInDataBase;

uint32_t *BIRInArray;

} BIR;

BioAPI_FMR FMRAchieved;

} BioAPI_CANDIDATE;

7.18 Тип BioAPI_CATEGORY


Данное битовое поле описывает категорию ПБФ или модуля БиоАПИ. ПБФ или модуль БиоАПИ должен соответствовать только одной категории.

typedef uint32_t BioAPI_CATEGORY;

#define BioAPI_CATEGORY_ARCHIVE

(0x00000001)

#define BioAPI_CATEGORY_MATCHING_ALG

(0x00000002)