Information technology — Biometric application programming interface — Part 1: BioAPI specification

ISO/IEC 19784-1:2006 provides a defined interface that allows a software application to communicate with (utilize the services of) one or more biometric technologies. It includes a high-level generic biometric authentication model suited to a broad range of biometrically enabled applications and to most forms of biometric technology. An architectural model is described which enables components of a biometric system to be provided by different vendors, and to interwork through fully-defined Application Programming Interfaces (APIs), corresponding Service Provider Interfaces (SPIs), and associated data structures. ISO/IEC 19784-1:2006 covers the basic biometric functions of enrollment, verification and identification, and includes a database interface to allow an application to manage the storage of biometric records. Conformance requirements are identified and informative annexes, including sample code, are provided. ISO/IEC 19784-1:2006 specifies a biometric data structure which is compatible with ISO/IEC 19785 and 19794.

Technologies de l'information — Interface de programmation d'applications biométriques — Partie 1: Spécifications BioAPI

General Information

Status
Withdrawn
Publication Date
26-Apr-2006
Withdrawal Date
26-Apr-2006
Current Stage
9599 - Withdrawal of International Standard
Completion Date
23-Mar-2018
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 19784-1:2006 - Information technology -- Biometric application programming interface
English language
167 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 19784-1
First edition
2006-05-01


Information technology — Biometric
application programming interface —
Part 1:
BioAPI specification
Technologies de l'information — Interface de programmation
d'applications biométriques —
Partie 1: Spécifications BioAPI




Reference number
ISO/IEC 19784-1:2006(E)
©
ISO/IEC 2006

---------------------- Page: 1 ----------------------
ISO/IEC 19784-1:2006(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.


©  ISO/IEC 2006
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland

ii © ISO/IEC 2006 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 19784-1:2006(E)
Contents Page
Foreword. vi
Introduction . vii
1 Scope . 1
2 Conformance. 2
3 Normative references . 2
4 Terms and definitions. 2
5 Symbols and abbreviated terms . 7
6 The BioAPI architecture . 8
6.1 The BioAPI API/SPI Architectural Model . 8
6.2 The BioAPI BSP Architectural Model. 9
6.3 The Component Registry . 10
6.4 BSP and BFP Installation and De-installation . 11
6.5 BSP Load and BioAPI Unit Attachment. 12
6.6 Controlling BioAPI Units. 13
6.7 BIR Structure and Handling. 13
6.7.1 BIR Structure. 13
6.7.2 BIR Data Handling. 14
7 BioAPI types and macros . 15
7.1 BioAPI . 15
7.2 BioAPI_BFP_LIST_ELEMENT. 15
7.3 BioAPI_BFP_SCHEMA . 15
7.4 BioAPI_BIR . 16
7.5 BioAPI_BIR_ARRAY_POPULATION . 17
7.6 BioAPI_BIR_BIOMETRIC_DATA_FORMAT . 17
7.7 BioAPI_BIR_BIOMETRIC_PRODUCT_ID . 17
7.8 BioAPI_BIR_BIOMETRIC_TYPE . 18
7.9 BioAPI_BIR_DATA_TYPE . 18
7.10 BioAPI_BIR_HANDLE. 19
7.11 BioAPI_BIR_HEADER. 19
7.12 BioAPI_BIR_PURPOSE . 20
7.13 BioAPI_BIR_SECURITY_BLOCK_FORMAT . 21
7.14 BioAPI_BIR_SUBTYPE. 21
7.15 BioAPI_BOOL. 22
7.16 BioAPI_BSP_SCHEMA . 22
7.17 BioAPI_CANDIDATE. 23
7.18 BioAPI_CATEGORY. 24
7.19 BioAPI_DATA . 24
7.20 BioAPI_DATE . 24
7.21 BioAPI_DB_ACCESS_TYPE . 25
7.22 BioAPI_DB_MARKER_HANDLE . 25
7.23 BioAPI_DB_HANDLE. 25
7.24 BioAPI_DBBIR_ID . 25
7.25 BioAPI_DTG. 25
7.26 BioAPI_EVENT . 26
7.27 BioAPI_EVENT_MASK. 26
7.28 BioAPI_EventHandler. 26
7.29 BioAPI_FMR . 27
7.30 BioAPI_FRAMEWORK_SCHEMA . 27
7.31 BioAPI_GUI_BITMAP. 28
© ISO/IEC 2006 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 19784-1:2006(E)
7.32 BioAPI_GUI_MESSAGE . 28
7.33 BioAPI_GUI_PROGRESS. 29
7.34 BioAPI_GUI_RESPONSE . 29
7.35 BioAPI_GUI_STATE . 29
7.36 BioAPI_GUI_STATE_CALLBACK . 29
7.37 BioAPI_GUI_STREAMING_CALLBACK . 30
7.38 BioAPI_HANDLE . 30
7.39 BioAPI_IDENTIFY_POPULATION .31
7.40 BioAPI_IDENTIFY_POPULATION_TYPE. 31
7.41 BioAPI_INDICATOR_STATUS. 31
7.42 BioAPI_INPUT_BIR . 31
7.43 BioAPI_INPUT_BIR_FORM. 32
7.44 BioAPI_INSTALL_ACTION . 32
7.45 BioAPI_INSTALL_ERROR . 32
7.46 BioAPI_OPERATIONS_MASK. 32
7.47 BioAPI_OPTIONS_MASK. 33
7.48 BioAPI_POWER_MODE. 34
7.49 BioAPI_QUALITY. 34
7.50 BioAPI_RETURN . 35
7.51 BioAPI_STRING. 35
7.52 BioAPI_TIME. 36
7.53 BioAPI_UNIT_ID . 36
7.54 BioAPI_UNIT_LIST_ELEMENT. 36
7.55 BioAPI_UNIT_SCHEMA . 36
7.56 BioAPI_UUID. 38
7.57 BioAPI_VERSION . 38
8 BioAPI functions . 39
8.1 Component Management Functions. 39
8.1.1 BioAPI_Init . 39
8.1.2 BioAPI_Terminate . 40
8.1.3 BioAPI_GetFrameworkInfo. 41
8.1.4 BioAPI_EnumBSPs . 42
8.1.5 BioAPI_BSPLoad . 43
8.1.6 BioAPI_BSPUnload. 45
8.1.7 BioAPI_BSPAttach. 46
8.1.8 BioAPI_BSPDetach . 48
8.1.9 BioAPI_QueryUnits . 49
8.1.10 BioAPI_EnumBFPs . 51
8.1.11 BioAPI_QueryBFPs. 52
8.1.12 BioAPI_ControlUnit. 54
8.2 Data Handle Operations . 55
8.2.1 BioAPI_FreeBIRHandle. 55
8.2.2 BioAPI_GetBIRFromHandle . 56
8.2.3 BioAPI_GetHeaderFromHandle . 57
8.3 Callback and Event Operations . 58
8.3.1 BioAPI_EnableEvents. 58
8.3.2 BioAPI_SetGUICallbacks. 59
8.4 Biometric Operations. 60
8.4.1 BioAPI_Capture. 60
8.4.2 BioAPI_CreateTemplate . 62
8.4.3 BioAPI_Process . 64
8.4.4 BioAPI_ProcessWithAuxBIR. 65
8.4.5 BioAPI_VerifyMatch . 67
8.4.6 BioAPI_IdentifyMatch . 69
8.4.7 BioAPI_Enroll . 72
8.4.8 BioAPI_Verify. 74
8.4.9 BioAPI_Identify. 76
8.4.10 BioAPI_Import . 79
8.4.11 BioAPI_PresetIdentifyPopulation. 80
iv © ISO/IEC 2006 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 19784-1:2006(E)
8.5 Database Operations. 81
8.5.1 BioAPI_DbOpen . 81
8.5.2 BioAPI_DbClose. 83
8.5.3 BioAPI_DbCreate . 84
8.5.4 BioAPI_DbDelete. 85
8.5.5 BioAPI_DbSetMarker. 86
8.5.6 BioAPI_DbFreeMarker. 87
8.5.7 BioAPI_DbStoreBIR. 88
8.5.8 BioAPI_DbGetBIR . 89
8.5.9 BioAPI_DbGetNextBIR . 90
8.5.10 BioAPI_DbDeleteBIR . 91
8.6 BioAPI Unit operations. 92
8.6.1 BioAPI_SetPowerMode . 92
8.6.2 BioAPI_SetIndicatorStatus . 93
8.6.3 BioAPI_GetIndicatorStatus. 94
8.6.4 BioAPI_CalibrateSensor . 95
8.7 Utility Functions. 96
8.7.1 BioAPI_Cancel . 96
8.7.2 BioAPI_Free. 97
9 BioAPI Service Provider Interface. 98
9.1 Summary. 98
9.2 Type Definitions for Biometric Service Providers. 98
9.2.1 BioSPI_EventHandler . 98
9.2.2 BioSPI_BFP_ENUMERATION_HANDLER. 99
9.2.3 BioSPI_MEMORY_FREE_HANDLER. 100
9.3 Biometric Service Provider Operations. 101
9.3.1 SPI Component Management Operations. 101
9.3.2 SPI Data Handle Operations . 107
9.3.3 SPI Callback and Event Operations. 108
9.3.4 SPI Biometric Operations . 109
9.3.5 SPI Database Operations . 112
9.3.6 SPI BioAPI Unit operations. 114
9.3.7 SPI Utility Functions. 115
10 Component registry interface. 116
10.1 BioAPI Registry Schema. 116
10.1.1 Framework Schema. 116
10.1.2 BSP Schema. 117
10.1.3 BFP Schema . 118
10.2 Component registry functions . 119
10.2.1 BioAPI_Util_InstallBSP. 119
10.2.2 BioAPI_Util_InstallBFP. 120
11 BioAPI error handling. 121
11.1 Error Values and Error Codes Scheme . 121
11.2 Error Codes and Error Value Enumeration . 121
11.2.1 BioAPI Error Value Constants. 121
11.2.2 Implementation-Specific Error Codes . 121
11.2.3 General Error Codes. 121
11.2.4 Component Management Error Codes. 123
11.2.5 Database Error Values. 124
11.2.6 Location Error Values. 125
11.2.7 Quality Error Codes. 127
Annex A (normative) Conformance. 128
Annex B (normative) CBEFF Patron Format Specification: BioAPI patron format . 140
Annex C (informative) Specification overview . 145
Annex D (informative) Calling sequence examples and sample code. 154
Bibliography . 167
© ISO/IEC 2006 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 19784-1:2006(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and
IEC technical committees collaborate in fields of mutual interest. Other international organizations,
governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of
information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 19784-1 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 37, Biometrics.
ISO/IEC 19784 consists of the following parts, under the general title Information technology — Biometric
application programming interface:
⎯ Part 1: BioAPI specification
⎯ Part 2: Biometric archive function provider interface
This is the first ISO/IEC standard on BioAPI. Previous versions were published by ANSI and the BioAPI
Consortium. As the last official non-ISO release was designated Version 1.1, this ISO/IEC 19784-1 version is
designated Version 2.0. This is to distinguish the versions of BioAPI products in the marketplace.

vi © ISO/IEC 2006 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 19784-1:2006(E)
Introduction
This part of ISO/IEC 19784, the BioAPI specification, provides a high-level generic biometric authentication
model suited to most forms of biometric technology. No explicit support for multimodal biometrics is currently
provided.
An architectural model is described which enables components of a biometric system to be provided by
different vendors, and to interwork through fully-defined Application Programming Interfaces (APIs).
A key feature of the architecture is the BioAPI Framework, which supports calls by one or more application
components (provided by different vendors, and potentially running concurrently) using the BioAPI API
specification. The BioAPI Framework provides this support by invoking (through a Service Provider Interface,
SPI) one or more biometric service provider (BSP) components (provided by different vendors, and potentially
running concurrently) which can be dynamically loaded and invoked as required by an application component.
At the lowest level there is hardware or software that performs biometric functions such as capture, matching,
or archiving. These parts
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.