# CBEFF

CBEFF (Common Biometric Exchange Formats Framework) is a set of ISO/IEC standards defining an approach to facilitate serialisation and sharing of biometric data in an implementation agnostic manner. This is achieved through use of a data structure which both describes, and contains, biometric data.

## Overview

CBEFF defines abstract data elements used to construct Biometric Information Record (BIRs). A BIR consists of:
* at least one Standard Biometric Header (SBH),
* at least one Biometric Data Block (BDB),
* and an optional Security Block (SB).
The Biometric Data Block (BDB) format requirements are not defined by CBEFF. Instead, the root header (SBH) identifies the remaining BIR data elements, such as the BDB type and information related to any child or sibling BIRs. If included, the optional Security Block (SB) specifies encryption and integrity information for the entire structure.
CBEFF defines the following types of CBEFF BIR structures:
* simple CBEFF BIR structure
* complex CBEFF BIR structure
* self-identifying simple CBEFF BIR structure
* multiple CBEFF BIR structure
These CBEFF BIR structures allow different BIR contents and configurations, including single BIRs, child BIRs, and multiple linked BIRs to meet the demands of a given domain of use. A CBEFF patron format is then defined using one of the CBEFF BIR structures. The CBEFF patron format definition will specify the required and optional CBEFF data elements, any patron-specific data elements, and any abstract values. A specific CBEFF patron format can then be used by one or more entities to exchange biometric data. CBEFF BIR structures and data elements can be seen as the building blocks for the CBEFF patron formats used for biometric data exchange.

## History

CBEFF was developed through a series of workshops from 1999 to 2000 by the CBEFF Development Team, composed of the National Institute of Standards and Technology (NIST) and the BioAPI Consortium. From 2001 until 2006 CBEFF was maintained as the NISTIR 6529 standard, until February 2005 when it was adopted as the ANSI INCITS 398-2005 standard. In May 2006, it was adopted as an international standard, ISO/IEC 19785 by ISO/IEC. CBEFF is presently maintained within ISO/IEC JTC 1/SC 37. ISO/IEC 19785 is a multipart standard consisting of:
* Part 1: Data Element Specification
* Part 2: Procedures for the Operation of the Biometric Registration Authority
* Part 3: Patron Format Specifications
* Part 4: Security block format specification

## Purpose

The intent of CBEFF is to define an approach to generically store and exchange biometric data in a structure where accompanying meta-data defines the data it carries. This means a client application need not be concerned with the specifics of every possible biometric type (eg: face, finger, iris, etc) or encoding format (eg: XML, TLV encoded, simple byte encoded, etc), rather it needs to know only two things to access data it is interested in:
* how to parse the header (SBH) of a CBEFF compliant data structure, and;
* know the identifier for each specific biometric type it is capable of parsing (where the identifier is obtained from the SBH)
The motivation for a self-describing data format reduces the burden on client applications in dealing with a multitude of biometric types and encodings. This strategy permits an application to effectively ignore any biometric data unknown to it. Using CBEFF an application needs only know how to read a CBEFF structure to gain knowledge about whether the biometric data it contains is of interest.
CBEFF patron formats combine the abstract CBEFF data elements into application and domain specific structures for particular use cases. A patron is simply any organisation authorised to define a CBEFF patron format. Use of one of these patron formats is necessary for the client application to know what format to expect for the SBH. In some cases, a particular patron format may use a self-identifying structure, which includes meta-data informing the client of the type of patron format to expect.
CBEFF may be of use in any system where a variety of biometric types and/or encoding formats are present. In this case sub-systems within a system may each specialise in a particular biometric characteristic where use of CBEFF permits each sub-system to selectively consume or ignore data based on information in the CBEFF header without concern for the specific biometric.
An example may be a system capable of enrolling either face or finger biometric samples, where all captured biometric data is input to a common location. If all captured data is contained in CBEFF structures each sub-system (finger or face) could poll the incoming location to inspect and select only the data relating to the biometric modality that system is interested in. The important point is the ‘inspect and select’ process is completed without regard for the actual biometric data contained in the CBEFF structure and the decision on whether to consume biometric data is based solely on meta-data in the Standard Biometric Header

## Biometric Identifiers and Biometric Registry

CBEFF makes use of well-defined identifiers to inform applications about the data contained in the CBEFF structure. To ensure the set of identifiers are universally accepted and used consistently, the CBEFF standard requires a registry (the Biometric Registration Authority) be maintained to record identifiers used by CBEFF. Currently this authority is the International Biometrics + Identity Association (IBIA). IBIA maintain lists of identifiers specifying various information which may be conveyed in a CBEFF structure. Examples of some of the identifier lists maintained in the registry include:
* Biometric Organisations
* Header Identifiers
* Format Identifiers
Any organisation working in the field of biometrics may apply for registration to the registry as a Biometric Organisation, but registration as a CBEFF patron requires the organisation to be a producer of open standards. Once accepted, the organisation may then register identifiers to define biometric elements for containment in a CBEFF structure. The registration procedure is defined at IBIA registration

## Example Biometric Identifiers

A notable use case for CBEFF is in ePassports. The chip of an ePassport may optionally contain a variety of biometric types (eg: face, finger, iris) as permitted by the ICAO 9303 standard, however all ICAO compliant ePassports are required to contain a face biometric reference relating to the holder of the passport. This is typically an image of the passport holder and a small amount of meta-data describing the image.
The face biometric reference for the passport is contained within a BIR, where the Standard Biometric Header of the CBEFF will contain the following values to denote:
* the organisation which defined this data
* the type of biometric
* the encoding of the biometric
Data is encoded on the ePassport chip in a binary format; an extract of which shows part of the Standard Biometric Header of the CBEFF structure.
It is worth noting that in this example data is formatted in a Tag-Length-Value (TLV) structure which is not a self-identifying CBEFF patron format. As such, a client reading data from an ePassport needs be aware that the TLV patron format is used in ePassports as the format is not specified in any fields in the BIR (Biometric Information Record).
Specifically of interest are the sections highlighted, which are described in the table below:
| | Tag | Field Length (bytes) | Identifier (hex) | Specified in the registry as... |
| CBEFF Patron Header Version | 80 | 02 | 0101 | Version Major = 1, Minor = 1 |
| BDB Biometric Type | 81 | 1 | 02 | BDB contains biometric Face data |
| BDB Format Owner | 87 | 2 | 0101 | ISO/IEC JTC 1 SC 37-Biometrics |
| BDB Format Type | 88 | 2 | 0008 | ISO/IEC 19794-5 face image exchange format |
In the case of an ePassport these values inform an application of the following information related to the CBEFF structure:
* the version of the patron format (CBEFF Patron Header Version = 0101)
* the data type of the BDB contains face data (BDB Biometric Type = 02)
* an ISO/IEC defined data format should be expected (ie: Biometric Organisation = 0101).
* the biometric is contained within a 19794-5 biometric face image (BDB Header = 0008)
Note: all values are universally defined in the Biometrics ID Registry maintained by IBIA.