04.03.2013 Views

MorphoAccess Host System Interface Specification

MorphoAccess Host System Interface Specification

MorphoAccess Host System Interface Specification

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Produced by Sagem Sécurité<br />

Copyright ©2007 Sagem Sécurité<br />

www.sagem-securite.com<br />

MA100-MA500 <strong>Host</strong> <strong>System</strong> <strong>Interface</strong> <strong>Specification</strong><br />

SK-0000056821<br />

<strong>MorphoAccess</strong> Series<br />

<strong>Host</strong> <strong>System</strong> <strong>Interface</strong> <strong>Specification</strong><br />

November 07


2 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Table of Content<br />

OVERVIEW 8<br />

REMOTE MANAGEMENT PROTOCOLS 10<br />

OVERVIEW 10<br />

STANDARD INTERFACE PRESENTATION 13<br />

PRESENTATION 13<br />

ILV COMMAND 13<br />

NOTE ABOUT INCOMPLETE FRAME 14<br />

COMPATIBILITY NOTES 16<br />

INITIALIZATION FUNCTIONS DESCRIPTION 20<br />

PING 21<br />

DEFAULT INIT 22<br />

GET VERSION 24<br />

GET VERSION (NEW PROTOTYPE) 26<br />

REBOOT 29<br />

SET CONFIGURATION 30<br />

GET CONFIGURATION 32<br />

SET REGISTRY KEY 34<br />

GET REGISTRY KEY 37<br />

GET REGISTRY FILE 39<br />

SET CONTACTLESS KEYS (OR CRYPTO WRITE) [CONTACTLESS TERMINAL ONLY] 41<br />

CHANGE PASSWORD [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION] 44<br />

SET TERMINAL KEY (KMA) 46<br />

DISTANT SESSION 47<br />

UPGRADE SOFTWARE [DISTANT SESSION] 49<br />

SEND CBM COMMAND [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION] 51<br />

BIOMETRIC FUNCTIONS DESCRIPTION 53<br />

VERIFY 54<br />

ENROLL 58<br />

IDENTIFY 63<br />

DATABASE FUNCTIONS DESCRIPTION 67<br />

CREATE DATABASE 68<br />

ERASE BASE 73<br />

ERASE ALL BASE 75<br />

ADD BASE RECORD 76<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 3


REMOVE BASE RECORD 80<br />

FIND USER BASE 82<br />

GET DATA 84<br />

GET PUBLIC FIELDS 86<br />

UPDATE PUBLIC DATA 89<br />

GET BASE CONFIG 91<br />

GET ALL BASES CONFIG 94<br />

FAST DOWNLOAD (NON FRAGMENTED DATABASE) [SAGEM ONLY] [DISTANT SESSION] 96<br />

ADD SEVERAL RECORDS [DISTANT SESSION] 98<br />

CHECK USER IN DATABASE 102<br />

LOG FUNCTIONS DESCRIPTION 105<br />

OVERVIEW 105<br />

BASE STRUCTURE 106<br />

LINE STRUCTURE 107<br />

AUTHENTICATION RECORDS FORMAT 108<br />

IDENTIFICATION RECORDS FORMAT 111<br />

COMPATIBILITY NOTES 113<br />

GET LOG STATUS 114<br />

ERASE LOG 117<br />

GET LOG 119<br />

CONTACTLESS FUNCTIONS DESCRIPTION 122<br />

CONTACTLESS VERIFICATION (OR CONTACTLESS AUTHENTICATION) 123<br />

CONTACTLESS READ 125<br />

ACCESS CONTROL FUNCTIONS DESCRIPTION 130<br />

OVERVIEW 130<br />

ACCESS AUTHORIZATION 131<br />

DISPLAY SCREEN [TERMINAL WITH DISPLAY] [NEW SYNTAX] 133<br />

READ FROM KEYBOARD [TERMINAL WITH DISPLAY AND KEYBOARD] 137<br />

DATA SEND 139<br />

MULTILINGUAL FUNCTIONS DESCRIPTION 141<br />

LOAD LANGUAGE FILE [TERMINAL WITH DISPLAY] [NEW SYNTAX][NEW ID] 142<br />

ERASE LANGUAGE FILE [TERMINAL WITH DISPLAY] [NEW SYNTAX][NEW ID] 144<br />

READ LANGUAGE FILE [TERMINAL WITH DISPLAY] [NEW COMMAND] 146<br />

GET THE LANGUAGE NAME STORED IN THE MA [TERMINAL WITH DISPLAY] [NEW COMMAND] 148<br />

TIME MASK FUNCTIONS DESCRIPTION 150<br />

TIME MASK FUNCTIONS DESCRIPTION 151<br />

SET TIME MASK 152<br />

GET TIME MASK 154<br />

MAN-MACHINE INTERFACE FUNCTIONS DESCRIPTION 156<br />

4 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


SET MMI DIS 157<br />

MMI DATA DESCRIPTION 161<br />

MMI COMPONENT LED 162<br />

MMI COMPONENT RELAY 163<br />

MMI COMPONENT BUZZER 164<br />

MMI COMPONENT PRIORITY 165<br />

BIOMETRIC DATA DESCRIPTION 166<br />

PK_COMP V2 167<br />

PK_MAT 168<br />

BIOMETRIC CODER SELECTION 169<br />

DATABASE DATA DESCRIPTION 170<br />

USER INDEX 171<br />

USER ID 172<br />

PKBASE 173<br />

BASE CONFIGURATION 174<br />

ADDITIONAL DATA FIELD DESCRIPTION 176<br />

FIELD CONTENT 177<br />

PUBLIC FIELD 178<br />

PRIVATE FIELD 179<br />

ADDITIONAL USER DATA 180<br />

NO CHECK ON TEMPLATE 181<br />

TIME MASK 182<br />

SOFTWARE DATA DESCRIPTION 183<br />

SOFTWARE DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION] 184<br />

WIEGAND DATACLOCK DATA DESCRIPTION 185<br />

WIEGAND DATA 186<br />

WIEGAND RAW DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION] 187<br />

DATACLOCK DATA 188<br />

DATACLOCK RAW DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION] 189<br />

RS485 DATA DESCRIPTION 190<br />

RS485 DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION] 191<br />

CONTACTLESS DATA DESCRIPTION 192<br />

ADDRESS BIOMETRIC DATA 193<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 5


TERMINAL VERSION DATA DESCRIPTION 194<br />

TERMINAL IDENTIFIER 195<br />

BIOMETRIC SENSOR IDENTIFIER 196<br />

CONTACTLESS FEATURES 198<br />

MAN MACHINE INTERFACES 199<br />

APPLICATION INFORMATION 200<br />

CONFIGURATION DATA DESCRIPTION 201<br />

DATE AND TIME CONFIGURATION 202<br />

MISCELLANEOUS DATA DESCRIPTION 203<br />

MATCHING SCORE 204<br />

LATENT DETECTION 205<br />

CONSTANT VALUES 206<br />

IDENTIFIER - STATUS 206<br />

ERROR CODES VALUE 206<br />

LANGUAGE FILE 208<br />

LANGUAGE FILE CONTENT 208<br />

EXAMPLE 208<br />

CONFIGURATION FILES 211<br />

FILE TYPES 211<br />

ST(STRING) 211<br />

IP 212<br />

RO(READ ONLY) 212<br />

IN(INTEGER) 213<br />

RA(RANGE OF INTEGER) 213<br />

BO(BOOLEAN) 214<br />

MIFARE TM CONTACTLESS CARD MAPPING 215<br />

SETTING UP THE MATCHING THRESHOLD 216<br />

DATABASE SIZE LIMITS 217<br />

CONTACTS 218<br />

SUPPORT 219<br />

6 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 7


OVERVIEW<br />

The <strong>MorphoAccess</strong> TM provides remote management facilities. It is possible to change the terminal settings<br />

through Ethernet using a TCP-IP connection, or through serial link using a RS422 connection only on<br />

MA500 series.<br />

The <strong>MorphoAccess</strong> TM acts as a server and provides a unique socket, in case of TCP-IP connection.<br />

TCP / IP<br />

TCP / IP<br />

RS422<br />

Log analyze<br />

Parameters<br />

(MA500 only)<br />

RS422 (MA500 only)<br />

Change key …<br />

Log analyze<br />

Firmware upgrade<br />

Change security<br />

level …<br />

8 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


The following operations are allowed:<br />

• Changing system settings such as control type, control timeout…<br />

• Sending biometric requests.<br />

• Software upgrade.<br />

• …<br />

It is also possible to receive information from the terminal. After a biometric control the terminal sends<br />

information in TCP-IP, UDP, RS485 or RS422 (only on MA500 series). In this case the <strong>MorphoAccess</strong> TM is<br />

a client and the PC is the server.<br />

This document details the syntax of each command.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 9


OVERVIEW<br />

TCP-IP remote management<br />

REMOTE MANAGEMENT PROTOCOLS<br />

It is possible to administrate the <strong>MorphoAccess</strong> TM from a remote computer. In this case the<br />

<strong>MorphoAccess</strong> TM works as a standard TCP-IP server waiting for requests coming from a remote client.<br />

At the end of the transaction the client closes the socket. If the connection is not closed, the<br />

<strong>MorphoAccess</strong> TM can automatically close the connection after a given period of inactivity.<br />

A standard exchange follows always the following schema:<br />

PC (client)<br />

Typical PC – <strong>MorphoAccess</strong> TM series TCP-IP transaction.<br />

Connect on port 11010 <br />

<br />

<strong>MorphoAccess</strong> TM (server)<br />

Accept on port 11010<br />

Send ILV request Recv ILV request<br />

Execute ILV request<br />

Recv ILV answer Send ILV answer<br />

Close socket Close socket<br />

.<br />

Accept on port 11010<br />

…<br />

10 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


RS422 remote management (MA500 SERIES ONLY)<br />

On MA500 series, it is also possible to administrate the <strong>MorphoAccess</strong> TM from a remote computer using a<br />

RS422 connection. In this case the <strong>MorphoAccess</strong> TM works as a server waiting for requests coming from a<br />

remote client.<br />

The <strong>MorphoAccess</strong> TM listens to the serial. If there is data, then the <strong>MorphoAccess</strong> TM executes the requests,<br />

else it listens again to the serial port until there is something or user asks to close the connection.<br />

A standard exchange follows always the following schema:<br />

PC (client)<br />

Typical PC – <strong>MorphoAccess</strong> TM 500 series RS422 transaction.<br />

<strong>MorphoAccess</strong> TM (server)<br />

Send ILV request Recv ILV request<br />

Listen on serial port in a continuous loop<br />

Execute ILV request<br />

Recv ILV answer Send ILV answer<br />

Listen on serial port in a continuous loop<br />

…<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 11


12 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


PRESENTATION<br />

STANDARD INTERFACE PRESENTATION<br />

One connection can be established on the port 11010 (the port can be changed). The <strong>MorphoAccess</strong> TM is<br />

able to receive one ILV command. The request is analyzed, the command is executed, the answer is sent<br />

on the established socket and the socket can be closed.<br />

Serial protocol (RS422) is described in document <strong>MorphoAccess</strong> Communication Protocols.<br />

ILV COMMAND<br />

ILV commands have the following format:<br />

ILV command<br />

TCP–IP or RS422<br />

Physical layer<br />

ILV command<br />

Identifier Length Value<br />

1 byte 2 bytes Length bytes<br />

Command identifier Command data length<br />

The application data has three fields:<br />

(little endian format)<br />

• Identifier called I; this is the identifier of the command,<br />

• Length called L; this is the length of the Value field in byte,<br />

• Value called V; this is the data or parameters.<br />

Command data<br />

This data structure is variable. The Value field can contain optional ILV formatted data. Its length is<br />

variable.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 13


If command length is greater than 65534 bytes (0xFFFE), length is coded with 4 bytes and ILV command<br />

has the following format:<br />

ILV command<br />

Identifier Length Length Value<br />

1 byte 2 bytes 4 bytes Length bytes<br />

Command identifier 0xFFFF<br />

NOTE ABOUT INCOMPLETE FRAME<br />

(escape code)<br />

Command data<br />

length<br />

(little endian<br />

format)<br />

Command execution is triggered when the complete frame has been received.<br />

Command data<br />

If an incomplete frame is sent, the terminal will wait during 1 minute the resting part of the frame.<br />

14 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 15


Terminal families<br />

COMPATIBILITY NOTES<br />

The first generation terminal includes <strong>MorphoAccess</strong> TM 200 / 300 series. These terminals support a large<br />

set of commands described in a dedicated specification.<br />

“2 G “ terminals include <strong>MorphoAccess</strong> TM 100 / 500 series and MorphoTouch TM 2.<br />

This interface has been designed with a constant view of compatibility. However some commands have<br />

been removed or have changed for technical reasons. The following table details the compatibility status of<br />

each ILV command.<br />

Note about ILV reply<br />

If the Request Status field in the reply is different from ILV_OK, the reply is necessary limited to this status<br />

and does not contain additional data.<br />

Command compatibility notes<br />

Get Version New terminal types added.<br />

The new prototype returns a complete hardware<br />

description.<br />

Set Configuration Limited to date and time settings.<br />

Get Configuration Limited to date and time.<br />

Set registry Key Registry key modification.<br />

Get Registry Key Registry key modification key.<br />

Get Registry File Return a parameter file or a type file.<br />

Set Contactless Keys New request for iCLASS TM keys.<br />

Same syntax for Mifare TM keys.<br />

Change Password Not yet implemented.<br />

16 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Set terminal key (kma) New function for USB key management.<br />

Upgrade Software Reserved for SAGEM Sécurité use.<br />

Send CBM Command Reserved for SAGEM Sécurité use.<br />

Verify User ID field no more used.<br />

New parameters such biometric coder selection.<br />

Enroll New parameters such biometric coder selection.<br />

Only field ID_PUC_DATA [0x14] is managed.<br />

Identify New parameters such biometric coder selection.<br />

Additional fields are returned in the reply under hit<br />

condition.<br />

Create Database Depending on terminal type, management of multiple<br />

databases is available.<br />

Add Base Record Time Stamp is no more required.<br />

Remove Base Record Time Stamp is no more required.<br />

Find User Base New feature.<br />

Get Data New feature.<br />

Get Public Fields New feature.<br />

Update Public Data New feature.<br />

Fast Download Compatibility maintained.<br />

Add Several Records New feature.<br />

Get Log Fully compatible – 8000 log lines.<br />

Contactless Verification Opposite to MA200/300, the card detection timeout lasts<br />

2 seconds.<br />

Contactless Card Function It is possible to set card detection timeout.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 17


Access Authorization New options.<br />

Display Screen New options.<br />

Read Input New options.<br />

Data Send New command.<br />

Load Language File New syntax (opposite to MA200/300 syntax.)<br />

Erase Language File New syntax (opposite to MA200/300 syntax.)<br />

Set Time Mask Reply: useless status removed.<br />

Get Time Mask Reply: useless status removed.<br />

Removed commands<br />

Garbage Collector<br />

Set Public Key<br />

Wiegand Dataclock Read<br />

18 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


New commands<br />

Get version (new prototype) New ILV.<br />

Set Terminal Key (KMA) New ILV.<br />

Add Several Records [DISTANT<br />

SESSION]<br />

Display Screen [Terminal with<br />

DISPLAY] [New Syntax]<br />

Read from keyboard [Terminal with<br />

DISPLAY and keyboard]<br />

New ILV.<br />

New syntax (opposite to MA200/300 syntax.)<br />

New syntax (opposite to MA200/300 syntax.)<br />

Data Send New syntax (opposite to MA200/300 syntax.)<br />

Load Language File [Terminal with<br />

DISPLAY] [New Syntax]<br />

Erase Language File [Terminal<br />

with DISPLAY] [New Syntax]<br />

Check User in Database [SAGEM<br />

ONLY]<br />

New syntax (opposite to MA200/300 syntax.)<br />

New syntax (opposite to MA200/300 syntax.)<br />

New ILV<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 19


INITIALIZATION FUNCTIONS DESCRIPTION<br />

20 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


PING<br />

Description<br />

Command<br />

Note<br />

This function allows checking that the terminal responds correctly.<br />

Request<br />

I CMD_PING [0x08] 1 byte<br />

L 0 2 bytes<br />

Reply<br />

I CMD_PING [0x08] 1 byte<br />

L 1 2 bytes<br />

V Request status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

To only check if a terminal is present on the network, the ICMP ping request is enough.<br />

Compatibility note<br />

This command is fully compatible with first generation terminals.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 21


DEFAULT INIT<br />

Description<br />

Command<br />

This function allows initializing the <strong>MorphoAccess</strong> TM with the factory configuration.<br />

Sent without argument (length is NULL), Default Init does not reset Ethernet settings and Mifare TM Keys.<br />

An additional argument (Keep Settings) allows erasing Mifare TM Keys and resetting Ethernet parameters.<br />

Request<br />

All Mifare TM crypto keys and Ethernet settings can be erased!<br />

I CMD_DEFAULT_INIT [0x0A] 1 byte<br />

L 0 or 1 2 bytes<br />

V Keep Settings (optional) 1 byte<br />

Keep settings (optional)<br />

This optional parameter prevents some settings from being reset. A mask of bits<br />

defines option to keep.<br />

• NET_MASK [0x01] [0b0000 0001] keeps Ethernet parameters.<br />

• MIFARE_KEYS_MASK [0x02] [0b0000 0010] keeps Mifare TM keys.<br />

22 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_DEFAULT_INIT [0x0A] 1 byte<br />

L 1 2 bytes<br />

V Request status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

Compatibility note<br />

The Keep Settings parameter replaces Keep Net Settings presented in <strong>MorphoAccess</strong> TM 1G <strong>Host</strong><br />

<strong>Interface</strong>.<br />

MIFARE_KEYS_MASK [0x02] is a new option.<br />

Note about biometric database<br />

The database is not erased. Use Erase All Base to erase the base.<br />

Note about HID crypto keys<br />

HID crypto keys (<strong>MorphoAccess</strong> 110) are not reseted. To reset HID crypto keys use directly Set<br />

Contactless Keys command.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 23


GET VERSION<br />

Description<br />

Command<br />

This function returns the serial number of the terminal, the revision of the software application and the<br />

<strong>MorphoAccess</strong> terminal type.<br />

Request<br />

I CMD_GET_VERSION [0x03] 1 byte<br />

L 0 2 bytes<br />

Reply<br />

I CMD_GET_VERSION [0x03] 1 byte<br />

L 17 2 bytes<br />

V Request Status 1 byte<br />

Serial Number 9 bytes<br />

Software Revision 4 bytes<br />

Extended Memory 1 byte<br />

<strong>MorphoAccess</strong> Type 2 bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

The following parameters are returned only if Request Status is ILV_OK.<br />

Serial Number<br />

Terminal serial number in ASCII “123456789”.<br />

24 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Software Revision<br />

Byte 1 Byte 2 Byte 3 Byte 4<br />

‘S’=0x53 ‘A’=0x41 Major Minor<br />

Software revision.<br />

The bytes 1 and 2 allow knowing if the terminal answers to new prototype of the GET<br />

VERSION request.<br />

If byte 1=’S’ and Byte 1=’A’ then the new prototype of the GET VERSION request is<br />

supported.<br />

The content of the “historical” GET VERSION reply is non significant and must be<br />

ignored.<br />

Extended Memory<br />

Memory dedicated to local database in Mbytes.<br />

<strong>MorphoAccess</strong> Type (2 bytes in little endian)<br />

Type Database size Contactless reader<br />

100 500 -<br />

120 500 Mifare TM reader<br />

110 500 iCLASS TM reader<br />

500 3000 or 6*6000 -<br />

520 3000 or 6*6000 Mifare TM reader<br />

Compatibility note<br />

The [<strong>MorphoAccess</strong> Type] Type and Extended Memory will logically differ from the first generation<br />

terminals.<br />

The database size depends on the licence installed into the terminal.<br />

It is highly advised to use the new prototype of the GET VERSION request to know in details the terminal<br />

capabilities.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 25


GET VERSION (NEW PROTOTYPE)<br />

Description<br />

Command<br />

Calling “GET VERSION” with parameters will return a detailed description of terminal characteristics.<br />

Request<br />

I CMD_GET_VERSION [0x03] 1 byte<br />

L 1 (+ 1) + … + (+ 1) 2 bytes<br />

V Parameter Identifier 1 1 byte<br />

Parameter Identifier 2 1 byte<br />

… …<br />

Parameter Identifier i 1 byte<br />

Parameter Identifier i<br />

It is used to determine which parameter will be returned:<br />

• ID_TERMINAL_IDENTIFIER [0x01]<br />

• ID_BIO_SENSOR_IDENTIFIER [0x02]<br />

• ID_CLSS_IDENTIFIER [0x03]<br />

• ID_MMI_IDENTIFIER [0x04]<br />

• ID_BIO_APPLICATION_INFORMATION [0x05]<br />

Only the necessary parameters can be included.<br />

For each parameter a corresponding sub ILV is returned.<br />

26 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_GET_VERSION [0x03] 1 byte<br />

L 1 (+ A) (+ B) (+ C) (+ D) (+ E) 2 bytes<br />

V Request Status 1 byte<br />

Terminal ILV (Optional) A bytes<br />

Biometric Sensor ILV (Optional) B bytes<br />

Contact-Less ILV (Optional) C bytes<br />

Man Machine <strong>Interface</strong> ILV (Optional) D bytes<br />

Application Information ILV (Optional) E bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

Terminal ILV<br />

See the Terminal Identifier structure for details.<br />

Biometric Sensor ILV<br />

See the Biometric sensor Identifier structure for details.<br />

Contact-Less ILV<br />

See the Contactless features structure for details.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 27


Man Machine <strong>Interface</strong> ILV<br />

See the Man Machine <strong>Interface</strong>s structure for details.<br />

Application Information ILV<br />

See the Application Information structure for details.<br />

28 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


REBOOT<br />

Description<br />

Command<br />

Note<br />

This function allows rebooting the <strong>MorphoAccess</strong> TM . This command can be required in order to apply some<br />

parameters.<br />

Request<br />

I CMD_REBOOT [0x04] 1 byte<br />

L 0 2 bytes<br />

Reply (in case of failure)<br />

I CMD_REBOOT [0x04] 1 byte<br />

L 1 2 bytes<br />

V Request status 1 byte<br />

Request status<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

The reboot process can last up to 15 seconds.<br />

In case of success, no reply must be expected.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 29


SET CONFIGURATION<br />

Description<br />

Command<br />

This function initializes the <strong>MorphoAccess</strong> TM Real Time Clock.<br />

Request<br />

I CMD_SET_CONFIGURATION [0x01] 1 byte<br />

L 1 (+ Ld) 2 bytes<br />

V <strong>MorphoAccess</strong> TM Mode 1 byte<br />

Date And Time Configuration Ld bytes<br />

<strong>MorphoAccess</strong> TM Mode<br />

Set to 0. This parameter is RFU.<br />

Date And Time Configuration<br />

Reply<br />

This sub ILV allows setting terminal date.<br />

See the Date and Time Configuration structure for details.<br />

I CMD_SET_CONFIGURATION [0x01] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

30 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Note<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

This command is available only for compatibility reasons. If you begin with <strong>MorphoAccess</strong> TM products,<br />

or if you want to use <strong>MorphoAccess</strong> TM 100 series specific features, prefer the Set Registry Key command.<br />

Compatibility note<br />

The following options are no more available:<br />

• Serial Link Configuration<br />

• Wiegand/DataClock Configuration<br />

• Wiegand/DataClock Options<br />

• Graphical User <strong>Interface</strong> Parameters<br />

• Language Parameters<br />

• Contactless Parameters<br />

• Wiegand Anybit Parameters<br />

• Failure ID Parameters<br />

• Time Attendance Parameters<br />

• Graphic Mode Parameters<br />

• Relay<br />

• Application mode<br />

• Network parameters<br />

Use the Set Registry Key command to set these parameters.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 31


GET CONFIGURATION<br />

Description<br />

Command<br />

This function retrieves the system configuration.<br />

Request<br />

I CMD_GET_CONFIGURATION [0x06] 1 byte<br />

L N 2 bytes<br />

V Parameter Identifier 1 1 byte<br />

Parameter Identifier 2 1 byte<br />

… …<br />

Parameter Identifier i 1 byte<br />

… …<br />

Parameter Identifier N 1 byte<br />

Parameter Identifier i<br />

It is used to determine which parameter will be returned:<br />

• ID_DATE [0x13]<br />

Only the necessary parameters can be included.<br />

32 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Notes<br />

Reply<br />

I CMD_GET_CONFIGURATION [0x06] 1 byte<br />

L 2 (+ Ld) 2 bytes<br />

V Request status 1 byte<br />

<strong>MorphoAccess</strong> TM Mode 1 byte<br />

Date and Time Configuration Ld bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

<strong>MorphoAccess</strong> TM Mode<br />

Must be 0.<br />

Date And Time Configuration<br />

See the Date and Time Configuration structure for details.<br />

This command is available only for compatibility reasons. If you begin with <strong>MorphoAccess</strong> TM products,<br />

or if you want to use <strong>MorphoAccess</strong> TM 100 series specific features, prefer the Get Registry Key command.<br />

Only requested sub ILV are returned.<br />

See the Set Configuration command to get the details of each sub ILV.<br />

Compatibility note<br />

See the Set Configuration command corresponding remark.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 33


SET REGISTRY KEY<br />

Description<br />

Command<br />

Use this command to change one or more parameters value. Parameters are stored in a “.cfg” file.<br />

For example to modify the relay settings (stored in app.cfg file).<br />

Change “/app/relay/enabled/1” to “/app/relay/enabled/0”.<br />

Request<br />

I CMD_SET_REGISTRY_KEY [0x0B] 1 byte<br />

L L0 + L1 +…+ LN 2 bytes<br />

V Registry path and value in ASCII [0] L0 bytes<br />

Registry path and value in ASCII [1] L1 bytes<br />

…<br />

Registry path and value in ASCII [N] LN bytes<br />

Several parameters may be included. Each string must be “null terminated” (\0).<br />

Registry path and value in ASCII [i].<br />

“/file/section/parameter/new value”.<br />

Remark: ‘/’ and ‘|’ symbols are accepted.<br />

Remark: the “file” corresponds to “file.cfg”. The ”.cfg” extension must be omitted.<br />

34 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Notes<br />

Reply<br />

I CMD_SET_REGISTRY_KEY [0x0B] 1 byte<br />

L 1 + N + 1 2 bytes<br />

V Request status 1 byte<br />

Setting result [0] 1 byte<br />

Setting result [1] 1 byte<br />

…<br />

Setting result [N] 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

Setting result [i]<br />

ILV_OK [0x00] New value has been written.<br />

ILVERR_ERROR [0xFF] An error occurred while writing the new parameter.<br />

ILVERR_NO_SUCH_KEY [0xE1] The entry does not exist.<br />

When you set a value using the Set Registry Key command, the system checks the value coherency<br />

after replying to the request. An “ILV_OK” status does not mean that the parameters has been applied but<br />

only that the terminal took your change in account.<br />

Use the Get Registry Key or Get Registry File commands to verify that the changes have been done.<br />

When requesting for a value stored in a file, the ”.cfg” extension must be omitted.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 35


Each parameter is stored in a section. A section can contain several parameters. A configuration file<br />

contains a list of sections.<br />

File name: app.cfg<br />

[section1]<br />

parameter_1 = value_1<br />

parameter_2 = value_2<br />

…<br />

[relay]<br />

enabled = 1<br />

aperture time in 10 ms = 30<br />

…<br />

36 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


GET REGISTRY KEY<br />

Description<br />

Command<br />

Use this command to read a configuration key value.<br />

Request<br />

I CMD_GET_REGISTRY_KEY [0x0C] 1 byte<br />

L L0 + L1 +…+ LN 2 bytes<br />

V Registry path n ASCII [0] L0 bytes<br />

Registry path in ASCII [1] L1 bytes<br />

…<br />

Registry path in ASCII [N] LN bytes<br />

Several parameters may be included. Each string must be “null terminated” (\0).<br />

Registry path in ASCII [i].<br />

“/file/section/parameter” For example:<br />

“/app/relay/aperture time in 10 ms”.<br />

Remark: ‘/’ and ‘|’ symbols are accepted.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 37


Reply<br />

I CMD_GET_REGISTRY_KEY [0x0C] 1 byte<br />

L 1+ L0 + L1 +…+ LN 2 bytes<br />

V Request status 1 byte<br />

Registry value [0] L0 bytes<br />

Registry value [1] L1 bytes<br />

…<br />

Registry value [N] LN bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_NO_SUCH_KEY [0xE1] The entry does not exist.<br />

Registry Value [i]<br />

“/file/key/parameter/value” The string is “null terminated”. Example:<br />

“/app/relay/aperture time in 10 ms/300”.<br />

38 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


GET REGISTRY FILE<br />

Description<br />

Command<br />

This command will return a configuration file. It is useful to create a configuration table.<br />

Request<br />

I CMD_GET_REGISTRY_FILE [0x0D] 1 byte<br />

L L 2 bytes<br />

V File path in ASCII L bytes<br />

File path in ASCII<br />

It is possible to read two file type:<br />

“file_name.cfg” will contain values of a list of parameters stored into sections.<br />

“file_name.dsc” will contain types of a list of parameters stored into sections.<br />

The following “registry files” can be returned:<br />

• “app.cfg” - contains application settings.<br />

• “adm.cfg” contains administration parameters.<br />

• “net.cfg” – stores network parameters.<br />

• “bio.cfg” – stores sensor parameters.<br />

The file path must be followed by a “end of string terminator” (0x00 byte)<br />

Files are described in section Configuration files.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 39


Notes<br />

Reply<br />

I CMD_GET_REGISTRY_FILE [0x0D] 1 byte<br />

L 1 (+ L) 2 bytes<br />

V Request status 1 byte<br />

File Content L bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_NO_SUCH_KEY [0xE1] The file does not exist.<br />

File Content<br />

The complete file formatted as below.<br />

File contents are described in MA100 Series User Guide.<br />

The “MA1XX Configuration Tool.exe” illustrates the use Set Registry Key, Get Registry Key and Get<br />

Registry File commands.<br />

40 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


SET CONTACTLESS KEYS (OR CRYPTO WRITE) [CONTACTLESS TERMINAL ONLY]<br />

Description<br />

Command<br />

On MA12x terminal this command allows changing the Mifare TM keys.<br />

On MA11x terminal this command allows changing the iCLASS TM keys.<br />

Request (for MA12x and MA52x terminals)<br />

I CMD_SET_CONTACTLESS_KEYS [0x58] 1 byte<br />

L 14 2 bytes<br />

V Key Number 1 byte<br />

Key Number<br />

Sector Number 1 byte<br />

Keys Sector 12 bytes<br />

This parameter is ignored.<br />

Sector Number<br />

Keys Sector<br />

This value can be set from 0 to 39.<br />

This value is divided in 6 bytes for keys A and 6 bytes for keys B.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 41


Note<br />

Request (for MA11x terminals)<br />

I CMD_SET_CONTACLTESS_KEYS [0x58] 1 byte<br />

L 9 2 bytes<br />

V Key Number 1 byte<br />

Key Number<br />

Key<br />

Reply<br />

Key 8 bytes<br />

This parameter defines the key position in the terminal iCLASS TM reader.<br />

Must be set to 6.<br />

An 8 bytes binary key. The default key for MA110 is [01 23 45 67 89 AB CD EF].<br />

I CMD_SET_ CONTACLTESS_KEYS [0x58] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

The Contactless card mapping section describes the card structure.<br />

42 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Compatibility note<br />

This command is fully compatible with first generation terminals Crypto Write command.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 43


CHANGE PASSWORD [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION]<br />

Description<br />

Command<br />

This commands allows changing a password.<br />

Request<br />

I CMD_CHANGE_PWD [0x65] 1 byte<br />

L 4 + Lo+1+ Ln+1 2 bytes<br />

V Password ID 4 bytes<br />

Password ID<br />

Old Password Lo+1 bytes<br />

New Password Ln+1 bytes<br />

This parameter identifies the password.<br />

ID_PWD_USB [0x101] defines the USB Key Password. This password protects the<br />

administration through USB key. The default value is “12345”.<br />

Password length: from 5 to 9 characters (plus a null character).<br />

Old Password<br />

The old password must be presented.<br />

A numeric NULL-terminated string. “12345” for example (6 bytes).<br />

New Password<br />

The new password.<br />

A numeric NULL-terminated string. “12345” for example (6 bytes).<br />

44 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Example<br />

Reply<br />

I CMD_CHANGE_PWD [0x65] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters. For example, the<br />

password is too long or too short.<br />

ILVERR_SECURITY [0xE7] The old password is invalid.<br />

Set old password to “110777”:<br />

ID (1 bytes) Length Password ID Old Password New Password<br />

65 1100 01010000 313233343500 31313037373700<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 45


SET TERMINAL KEY (KMA)<br />

Description<br />

Command<br />

This commands allows changing the key reserved to encrypt USB files (Kma).<br />

This key must match with the key used to encrypt file on the USB key.<br />

Request<br />

I CMD_SET_KMA [0x02] 1 byte<br />

L 16 2 bytes<br />

V Key Data 16 bytes<br />

Key Data<br />

Reply<br />

16 bytes of binary data defining a new key.<br />

I CMD_SET_KMA [0x02] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters. For example, the<br />

password is too long or too short.<br />

46 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


DISTANT SESSION<br />

Description<br />

Command<br />

This mode will allow sending commands requiring more resources and forbidden in standard mode.<br />

Commands that require this mode are followed with the [DISTANT SESSION] mention.<br />

In distant session mode the terminal is “stopped” waiting for orders. Biometric control restarts only when<br />

the distant session is closed. This mode is useful to increase speed when a lot of commands have to be<br />

sent.<br />

Request<br />

I CMD_DISTANT_SESSION [0x63] 1 byte<br />

L 1 2 bytes<br />

V Session parameter 1 byte<br />

Session parameter<br />

ID_OPEN_DISTANT_SESSION [0x01] Terminal switches to “distant session”.<br />

ID_CLOSE_DISTANT_SESSION [0x02] Terminal switches to standalone mode.<br />

Reply<br />

I CMD_DISTANT_SESSION [0x63] 1 byte<br />

L 1 (+ 1) 2 bytes<br />

V Request Status 1 byte<br />

Session Status 1 byte<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 47


Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

Session status (if Request Status is ILV_OK)<br />

DISTANT_SESSION_OPENED [0x01] Terminal is now in “distant session”.<br />

DISTANT_SESSION_MEMORY_ERROR [0xE0] Resources cannot be allocated.<br />

DISTANT_SESSION_CLOSED [0x02] Standalone mode.<br />

Compatibility note<br />

This command is fully compatible with first generation terminals.<br />

48 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


UPGRADE SOFTWARE [DISTANT SESSION]<br />

Description<br />

Command<br />

This command will upgrade the software. SAGEM Sécurité numerically signs the software.<br />

• A Reboot command must follow the upgrade.<br />

Request (extended ILV if package size if greater than 65532 bytes)<br />

I CMD_UPGRADE_SOFTWARE [0x0E] 1 byte<br />

L L 2 or 6 bytes<br />

V Software Package L bytes<br />

The new firmware is contained in a file (.img) and is numerically signed. Before writing the file, its signature<br />

is checked.<br />

Software Package<br />

Reply<br />

The content of the file furnished by SAGEM Sécurité.<br />

The content of the file furnished by SAGEM Sécurité:<br />

Software package is a list of Software Data sub ILV [SAGEM ONLY, not support is<br />

given on this function]<br />

I CMD_UPGRADE_SOFWARE [0x0E] 1 byte<br />

L 1 2 bytes<br />

V Request status 1 byte<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 49


Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BAD_SIGNATURE [0xF0] File signature does not match.<br />

ILVERR_BAD_CRC [0xE0] Invalid CRC (RFU).<br />

ILVERR_BAD_SESSION_STS [0xDF] Terminal is not in “distant session mode”.<br />

Implementation note [SAGEM only]<br />

The request is a list of “sub” ILV containing each one a file (Software Data ILV).<br />

The content of the Software Package request is illustrated bellow:<br />

[ID_SOFT_EFT,L1,V1] [ID_SOFT_EFT,L2,V2] …<br />

… [ID_SOFT_EFT,LN,VN] [ID_SOFT_BIO,L,V]<br />

The request includes a list of N files addressed to the terminal. They are identified by ID_SOFT_EFT and<br />

are also called Terminal Package.<br />

The last ILV ([ID_SOFT_BIO,L,V]) is reserved for the CBM module (CBM Package). A request will contain<br />

only one (or none) CBM Package. This ILV is not necessarily at the end of the list.<br />

The procedure is following:<br />

• For each [ID_SOFT_EFT,Li,Vi] the corresponding file is stored on the SWAP volume. Typically<br />

files are .ADF, .DDF or .SGN files.<br />

• The CBM package data is directly sent to the CBM module using an algorithm furnished by<br />

SAGEM.<br />

• At the end of the process the partition is activated using “NTP_SoftwareActivate”, the reply is sent<br />

and the terminal reboots.<br />

50 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


SEND CBM COMMAND [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION]<br />

Description<br />

Command<br />

Note<br />

This function allows sending commands directly to the sensor.<br />

Request<br />

I CMD_SEND_CBM [0x12] 1 byte<br />

L Lrq 2 bytes<br />

V [ILV Request] Lrq bytes<br />

[ILV Request]<br />

Reply<br />

The syntax of the request is detailed in the MorphoSmart <strong>Host</strong> <strong>Interface</strong>.<br />

The Identifier, the Length and Data must be present.<br />

I CMD_SEND_CBM [0x12] 1 bytes<br />

L Lrp 2 bytes<br />

V [ILV Reply] Lrp bytes<br />

[ILV Reply]<br />

The syntax of the reply is detailed in the MorphoSmart TM <strong>Host</strong> <strong>Interface</strong>.<br />

The Identifier, the Length and Data are present.<br />

Asynchronous ILV are not returned.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 51


Examples<br />

Verify request<br />

I CMD_SEND_CBM [0x12] 1 byte<br />

L 8 + L1 … (+ LN) (+ 4) 2 bytes<br />

V CMD_VERIFY [0x20] 1 byte<br />

5 + L1 … (+ LN) (+ 4) 2 bytes<br />

Timeout 2 bytes<br />

Matching Threshold 2 bytes<br />

Acquisition quality threshold 1 byte<br />

Reference Template 1 L1 bytes<br />

Reference Template 2 (optional) L2 bytes<br />

Reference Template N (optional) (N < 10) LN bytes<br />

Matching Score (optional) 4 bytes<br />

52 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


BIOMETRIC FUNCTIONS DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 53


VERIFY<br />

Description<br />

Command<br />

This function captures a finger and checks if it matches either with the minutiae file sent to the terminal or<br />

with a database record.<br />

The maximum number of reference templates is 10.<br />

Request<br />

I CMD_VERIFY [0x20] 1 byte<br />

L 5 + L1 … (+ LN) (+ 4) (+ 4) 2 bytes<br />

V Timeout 2 bytes<br />

Matching threshold 2 bytes<br />

Acquisition quality threshold 1 byte<br />

Reference Template 1 L1 bytes<br />

Reference Template 2 (optional) L2 bytes<br />

…<br />

Timeout<br />

Reference Template N (optional) (N < 10) LN bytes<br />

Matching Score (optional) 4 bytes<br />

Biometric Coder Selection (optional) 4 bytes<br />

Finger detection timeout in seconds. A value of 0 corresponds to an infinite timeout.<br />

Matching Threshold<br />

This parameter can be set to values from 0 to 10 (SAGEM Sécurité recommends 5).<br />

This parameter specifies how tight the matching threshold is.<br />

See section Setting Up the Matching Threshold for more information about this<br />

parameter.<br />

54 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Acquisition quality threshold<br />

Ignored. Must be set to 0.<br />

Reference Template i<br />

This is a list of ILV that contains the referenced templates. The maximum number of<br />

referenced templates is ten. The biometric data can be one of the following ILV:<br />

Matching Score<br />

• PK_COMP V2 or PK_MAT,<br />

• PKBase: Verify the captured finger against the templates of a database record<br />

(one or two templates depending on the database format). It is not possible to<br />

process verification against more than one database record.<br />

This ILV is optional. If it is not present, the matching score will not be returned.<br />

See the Matching Score structure for details.<br />

Biometric Coder Selection<br />

This ILV is optional. If it is not present, the default biometric coder will be used.<br />

See the Biometric Coder structure for details.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 55


Reply<br />

I CMD_VERIFY [0x20] 1 byte<br />

L 2 (+ 7) 2 bytes<br />

V Request status 1 byte<br />

Matching result 1 byte<br />

Matching Score (optional) 7 bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_INVALID_MINUTIAE [0xFD] The reference minutiae ILV is not valid: bad<br />

identifier, corrupted minutiae.<br />

ILVERR_TIMEOUT [0xFA] The finger detection timeout has expired.<br />

Matching result<br />

ILVSTS_HIT [0x01] The comparison succeeded.<br />

ILVSTS_NO_HIT [0x02] It is not the same finger.<br />

ILVSTS_DB_EMPTY [0x05] The database is empty.<br />

ILVSTS_FFD [0x22] Fake finger detected.<br />

Matching Score<br />

This ILV is optional. It is returned on request.<br />

See the Matching Score structure for details.<br />

56 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Compatibility note<br />

An optional User ID field used to be present in the command syntax. This field was required to display the<br />

user identifier on the screen. This field is no more expected.<br />

The Matching Score sub ILV is optional.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 57


ENROLL<br />

Description<br />

Command<br />

This function captures or enrolls live fingers and extracts their templates.<br />

The template is calculated after one or three fingerprint image acquisitions (the user has to put each finger<br />

1 or 3 times on the sensor). We strongly recommend getting 3 images for enrollment purpose, and 1 image<br />

for verification purpose. An enrollment based on 3 images will increase the system accuracy.<br />

The number of fingers can be specified.<br />

The calculated minutiae can be exported to the host as well as the reference image.<br />

To obtain the best accuracy, it is strongly recommended to use the fore, the thumb or the middle fingers.<br />

Request<br />

I CMD_ENROLL [0x21] 1 byte<br />

L 8 (+ LUID) (+ LData1) + … + (+ Ldatai) (+ 4) 2 bytes<br />

V Database identifier 1 byte<br />

Timeout 2 bytes<br />

Acquisition quality threshold 1 byte<br />

Enrollment type 1 byte<br />

Number of fingers 1 byte<br />

Save record 1 byte<br />

Export Minutiae Size 1 byte<br />

User ID (optional, depending on enroll type) LUID bytes<br />

Additional user data field 1 (optional) LData1 bytes<br />

…<br />

Additional user data field i (optional) LDatai bytes<br />

Biometric Coder Selection (optional) 4 bytes<br />

58 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Database identifier<br />

Timeout<br />

Number of available databases depends on terminal type and license.<br />

Finger detection timeout in seconds. A value of 0 corresponds to an infinite timeout.<br />

Acquisition quality threshold<br />

Not used. Set to 0.<br />

Enrollment Type<br />

Specifies the number of fingerprint image acquisitions. Allowed values are 0, 1 and 3.<br />

We strongly recommend setting this value to 0 (default value) or 3 for enrollment<br />

purpose to increase the system performances: in this case, the template is generated<br />

from a consolidation calculation of three consecutive acquisitions of the same<br />

fingerprint.<br />

It is also possible to set this value to 1 for verification purpose. In this case, it is not<br />

possible to save the record in the internal database: the template is generated from<br />

one single fingerprint acquisition.<br />

Number of fingers<br />

The number of fingers to enroll. This function can enroll 1 or 2 fingers.<br />

Set this value to 0x01 to enroll 1 finger.<br />

Set this value to 0x02 to enroll 2 fingers.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 59


Save Record<br />

Set this Boolean to TRUE (0x01) to store calculated minutiae into the local database.<br />

Otherwise set it to FALSE (0x00).<br />

When Enrollment Type is set to 1, the Save Record flag must be set to FALSE.<br />

If the Save Record flag is set to TRUE, the User ID parameter is mandatory.<br />

Export Minutiae Size<br />

User ID<br />

Defines the format of the exported minutiae.<br />

Set this value to 0x00 to exclude the calculated minutiae from the reply.<br />

Set this value to 0x01 to export the minutiae with its default size.<br />

For PK_COMP only, this value can be set from 170 (0xAA) to 255 (0xFF) to compress<br />

the template. The buffer exported will have the size you have chosen at the most, but<br />

could be less.<br />

This is the unique user identifier. It must be filled if the Save Record value is set to<br />

TRUE.The User ID can be retrieved by the Identify function under Hit condition.<br />

The User Id is a 24-characters length (max) ASCII string. “8516757” or “John Smith”.<br />

This field is managed as a byte array.<br />

Additional User Data field j<br />

These are additional user data. There must be filled if the Save Record value is set to<br />

TRUE. All the additional user data fields defined in the Create Database command<br />

have to be filled.<br />

See the Additional User Data structure for details.<br />

60 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Biometric Coder Selection<br />

Reply<br />

This ILV is optional. If it is not present, the default biometric coder will be used.<br />

See the Biometric Coder structure for details.<br />

I CMD_ENROLL [0x21] 1 byte<br />

L 6 (+ LBIO1) (+ LBIO2) 2 bytes<br />

V Request status 1 byte<br />

Enroll status 1 byte<br />

User database index 4 bytes<br />

Biometric data 1 LBIO1 bytes<br />

Biometric data 2 (optional) LBIO2 bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_TIMEOUT [0xFA] The finger detection timeout has expired.<br />

ILVERR_INVALID_USER_DATA [0xFB] The input ILV user data is not valid: bad<br />

identifier or wrong size.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_SAME_FINGER [0xE4] User used the same finger twice.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] Invalid field number.<br />

ILVERR_INVALID_USER_ID [0xFC] The specified User ID is already used in the<br />

database.<br />

ILVERR_ALREADY_ENROLLED [0xF8] The person is already in this database<br />

ILVERR_FIELD_INVALID [0xE8] MA database fields don't match with the<br />

additional user data fields sent in the<br />

enrolment request.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 61


Enroll status<br />

ILVSTS_OK [0x00] The enrollment succeeded.<br />

ILVSTS_DB_FULL [0x04] This status can be returned if the Save<br />

Record is TRUE. It means that the maximum<br />

number of users that can be stored in the<br />

local database has been reached.<br />

ILVSTS_FFD [0x22] Fake finger detected.<br />

User database index<br />

This is the database index of the record (person).<br />

If Save record field in the request was set to FALSE the returned value is<br />

0xFFFFFFFF.<br />

If the Request Status is not ILV_OK or the enroll status differs from ILVSTS_OK the<br />

User Database Index is not returned.<br />

Biometric data i<br />

Compatibility note<br />

The resulting templates returned by the terminal if the Export Minutiae Size is different<br />

than 0. The returned template is a compressed PK.<br />

See the PK_COMP V2 structure for details.<br />

For additional fields, ID_C_DATA, ID_S_DATA, ID_L_DATA identifiers do not exist anymore.<br />

Compressed PK are not padded with 0x00.<br />

Notes about additional fields:<br />

Size and order of additional data fields must be consistent with database structure.<br />

The CREATE DATABASE function, provides more information about additional fields.<br />

62 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


IDENTIFY<br />

Description<br />

Command<br />

This function identifies a live finger against the local database. If the database is empty, the function will<br />

return immediately.<br />

Request<br />

I CMD_IDENTIFY [0x22] 1 byte<br />

L 6 (+ 4) (+ 4) 2 bytes<br />

V Database Identifier 1 byte<br />

Timeout 2 bytes<br />

Matching Threshold 2 bytes<br />

RFU 1 byte<br />

Matching Score (optional) 4 bytes<br />

Biometric Coder Selection (optional) 4 bytes<br />

Database Identifier<br />

Timeout<br />

Number of available databases depends on terminal type and license.<br />

Finger detection timeout in seconds. A value of 0 corresponds to an infinite timeout.<br />

Matching threshold<br />

This parameter can be set to values from 0 to 10 (SAGEM Sécurité recommends 5).<br />

This parameter specifies how tight the matching threshold is.<br />

See section Setting Up the Matching Threshold for more information about this<br />

parameter.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 63


RFU<br />

Not used, set to 0.<br />

Matching Score<br />

This ILV is optional. If it is not present, the matching score will not be returned.<br />

See the Matching Score structure for details.<br />

Biometric Coder Selection<br />

Reply<br />

This ILV is optional. If it is not present, the default biometric coder will be used.<br />

See the Biometric Coder structure for details.<br />

I CMD_IDENTIFY [0x22] 1 byte<br />

L 2 + 4 + LUID (+ L1) + … + (+ LN) (+ 7) 2 bytes<br />

V Request Status 1 byte<br />

Matching Result 1 byte<br />

User Database Index 4 bytes<br />

User ID (Field 0) LUID bytes<br />

Additional user data field 1 L1 bytes<br />

…<br />

Additional user data field N LN bytes<br />

Matching score (optional) 7 bytes<br />

64 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_TIMEOUT [0xFA] The finger detection timeout has expired.<br />

Matching Result<br />

ILVSTS_HIT [0x01] The comparison succeeded<br />

ILVSTS_NO_HIT [0x02] It is not the same finger<br />

ILVSTS_DB_EMPTY [0x05] The database is empty.<br />

ILVSTS_FFD [0x22] Fake finger detected.<br />

User Database Index<br />

User ID<br />

This is the index database of the record (person). If the request status is not ILV_OK,<br />

or the matching status is not ILVSTS_HIT, the User Database index is not returned.<br />

This is the unique user identifier saved in the database. The User ID is only returned<br />

under Hit condition.<br />

Additional user data field i<br />

One ILV per additional field. All the additional user data fields defined in the Create<br />

Database command are present (public, private, empty fields).<br />

If the request status is not ILV_OK, or if the matching status is not ILVSTS_HIT, those<br />

fields are not returned.<br />

Matching Score<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 65


Compatibility note<br />

This ILV is optional. It is returned on request.<br />

See the Matching Score structure for details.<br />

The Matching Score sub ILV can be omitted in the request.<br />

Additional user data fields are returned under hit condition.<br />

66 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


DATABASE FUNCTIONS DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 67


CREATE DATABASE<br />

Description<br />

Command<br />

This function creates a biometric database in flash memory.<br />

Request<br />

I CMD_CREATE_DB [0x30] 1 byte<br />

L 5 (+ L1 + L2 + … + Li) 2 bytes<br />

V Database identifier 1 byte<br />

RFU 1 byte<br />

Person number in database 2 bytes<br />

Finger number per person 1 byte<br />

Additional data Field 1 L1 bytes<br />

Additional data Field 2 L2 bytes<br />

…<br />

Additional data Field i Li bytes<br />

Database identifier<br />

RFU<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

Not used, set to 0.<br />

68 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Person number in database<br />

Number of user depends on terminal type and license.<br />

See Database Size Limits to known the maximum person number.<br />

Finger number per person<br />

Number of fingers per person in the database (1 or 2).<br />

Additional data Fields<br />

Reply<br />

A list of Public or Private Fields describing the database format.<br />

See the Private Field and Public Field structures for details.<br />

See Database Size Limits to known the maximum number and the maximum size of<br />

additional user’s fields per user.<br />

I CMD_CREATE_DB [0x30] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 69


Request status<br />

ILV_OK [0x00] The execution of the function succeeded<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BASE_ALREADY_EXISTS [0xF6] The Database Identifier is wrong, or this<br />

database already exists<br />

ILVERR_NO_SPACE_LEFT [0xF2] The Database can not be created because<br />

there is not enough memory<br />

ILVERR_BADPARAMETER [0xFE] Wrong number of finger, ILV Format incorrect<br />

or invalid database configuration.<br />

ILVERR_OUT_OF_FIELD [0xEB] The number of additional fields is superior to<br />

16 or 2 (depending of the number of database<br />

records)<br />

ILVERR_FIELD_INVALID [0xE8] Additional field name length is more than 6<br />

Compatibility note<br />

The Public Fields name can not exceed 5 characters on <strong>MorphoAccess</strong> 100 and 500 series instead<br />

of 7 on <strong>MorphoAccess</strong> 200 and 300.<br />

The Public Field structure corresponds to a standard additional field.<br />

Particular fields<br />

These fields can be interpreted by the <strong>MorphoAccess</strong> 5xx application:<br />

• ADMIN to activate biometric login.<br />

• TMSK to activate time mask verification.<br />

• NAME to display user name.<br />

• FNAME to display user first name.<br />

Admin field:<br />

To provide biometric administrator login it is possible to specify if a user has administration rights. When<br />

creating a database, the first created additional field must have the following structure :<br />

Name Length<br />

ADMIN 3 bytes<br />

When enrolling a user or adding a record, the corresponding additional field must contain « 1 » (i.e. 0x31<br />

0x00 x00) to provide administration rights or « 0 » (i.e. 0x30 0x00 x00) if the user is not an administrator.<br />

Please see sections 5-39 and 5-52 for more information about Enrollment and Add Base Record functions.<br />

70 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Managed by enrolment application and access control application on <strong>MorphoAccess</strong> 500 Series.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 71


Warning<br />

Time mask field:<br />

In the way to enable time mask features, the second additional field must have the following structure :<br />

Name Length<br />

TMSK 84 bytes<br />

When enrolling a user or adding a record the corresponding additional field will contain the time mask<br />

descriptor. See paragraph Time Mask Functions Description for more information about time mask.<br />

Time mask feature is not available on <strong>MorphoAccess</strong> 100 Series.<br />

Managed by enrolment application and access control application on <strong>MorphoAccess</strong> 500 Series.<br />

Name field:<br />

Managed by enrolment application and access control application on <strong>MorphoAccess</strong> 500 Series.<br />

Name Length<br />

NAME 20 bytes<br />

First name field:<br />

Managed by enrolment application and access control application on <strong>MorphoAccess</strong> 500 Series.<br />

Name Length<br />

FNAME 20 bytes<br />

It is not possible to change the size and/or the number of additional fields of an already created base. First,<br />

the existing base must be deleted, and then a new base must be created. It means that all the biometric<br />

records, of the original base, are deleted. To avoid the lost of valuable data, it is recommended to keep a<br />

copy of the biometric data in the host system. As, for safety reason, the terminal doesn't allow to extract<br />

the content of the biometric database, the host must capture the minutiae data during the enrolment of the<br />

user. By selecting the "export minutiae" option of the ENROLL command, the host will receive the minutiae<br />

data built from the captured fingerprints of the user. Other data, such as the user ID and the content of the<br />

additional data field, is provided by the host during the enrolment process, then all the data required to<br />

register the user in the data base using the ADD_BASE_RECORD command will be available in the host<br />

system.<br />

72 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


ERASE BASE<br />

Description<br />

Command<br />

This function erases all records in the local database. Base structure is not erased.<br />

Request<br />

I CMD_ERASE_DB [0x32] 1 byte<br />

L 1 2 bytes<br />

V Database identifier 1 byte<br />

Database identifier<br />

Reply<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

I CMD_ERASE_DB [0x32] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 73


Request status<br />

ILV_OK [0x00] The execution of the function succeeded<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_BADPARAMETER [0xFE] Wrong number of fingers, ILV Format<br />

incorrect or invalid database configuration.<br />

Compatibility note<br />

The Garbage Collector command is not required any more.<br />

74 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


ERASE ALL BASE<br />

Description<br />

Command<br />

Note<br />

This function deletes the local database in flash memory. Base structure is erased.<br />

Request<br />

I CMD_ERASE_ALL_DB [0x33] 1 byte<br />

L 1 2 bytes<br />

V RFU 1 byte<br />

RFU<br />

Reply<br />

Not used, set to 0.<br />

I CMD_ERASE_ALL_DB [0x33] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution of the function succeeded<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] Wrong number of fingers, ILV Format<br />

incorrect or invalid database configuration.<br />

A new database can be created after using this command.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 75


ADD BASE RECORD<br />

Description<br />

Command<br />

This function adds a record to the local database.<br />

Request<br />

I CMD_ADD_DB_RECORD [0x35] 1 byte<br />

L 1 + L1 (+ L2) + LUID (+ LData1) + … (+ LDatai) (+ 4) 2 bytes<br />

V Database Identifier 1 byte<br />

Reference Template 1 L1 bytes<br />

Reference Template 2 (optional) L2 bytes<br />

User ID LUID bytes<br />

Additional User Data Field 1 (optional) LData1 bytes<br />

…<br />

Additional User Data Field i (optional) LDatai bytes<br />

No check on template (optional) 4 bytes<br />

Database Identifier<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

Reference Templates i<br />

The following templates format can be used: PK_COMP V2, PK_MAT or X984<br />

biometric token. The maximum number of referenced fingers depends on the number<br />

of fingers supported by the database.<br />

76 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


User ID<br />

This is the unique user identifier. The User ID can be retrieved by the Identify function<br />

under Hit condition. The user ID length is 24 characters max, in ASCII format. “73259”<br />

or “John Smith” for example.<br />

This field is managed as a byte array.<br />

Additional User Data Field j<br />

These are additional user data. All the additional user data fields defined in the Create<br />

Database command have to be filled.<br />

See the Additional User Data structure for details.<br />

No check on template (optional)<br />

Reply<br />

This ILV is optional. If it is not present, checks on reference templates are performed:<br />

same finger cannot be used twice, and the person must not be already enrolled. This<br />

option is useful to reduce the time taken to fill large databases. In this case, the<br />

database coherence must be previously checked.<br />

See the No Check On Template structure for details.<br />

I CMD_ADD_DB_RECORD [0x35] 1 byte<br />

L 1 (+ 5) 2 bytes<br />

V Request status 1 byte<br />

Base status 1 byte<br />

User database index 4 bytes<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 77


Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_INVALID_USER_DATA [0xFB] The input ILV user data is not valid: bad<br />

identifier or wrong size.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_SAME_FINGER [0xE4] User used the same finger twice.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] Invalid fields number.<br />

ILVERR_INVALID_USER_ID [0xFC] The specified User ID is already used in the<br />

database.<br />

ILVERR_INVALID_MINUTIAE [0xFD] The reference minutiae ILV is not valid: bad<br />

identifier, corrupted minutiae.<br />

ILVERR_ALREADY_ENROLLED [0xF8] The person is already in this database.<br />

ILVERR_FIELD_INVALID [0xE8] MA database fields don't match with the<br />

additional user data fields sent in the request.<br />

Base Status<br />

ILVSTS_OK [0x00] The enrollment succeeded.<br />

ILVSTS_DB_FULL [0x04] The maximum number of users that can be<br />

stored in the database has been reached.<br />

User Database Index<br />

This is the record index of the person. If the request status is not ILV_OK, the User<br />

Database Index is not returned.<br />

Notes about additional fields:<br />

Note<br />

Size and order of additional data fields must be consistent with database structure.<br />

The CREATE DATABASE function, provides more information about additional fields.<br />

The No Check On Template option is useful to decrease templates download time.<br />

78 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Compatibility note<br />

The Time Stamp sub ILV is no more supported.<br />

The No Check On Template option is not required but useful.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 79


REMOVE BASE RECORD<br />

Description<br />

Command<br />

This function removes a record from the local database.<br />

Request<br />

I CMD_REMOVE_DB_RECORD [0x36] 1 byte<br />

L 1 + L 2 bytes<br />

V Database identifier 1 byte<br />

ILV User ID or User Index L bytes<br />

Database identifier<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

User ID or User Index<br />

Reply<br />

User ID: This is the unique user identifier saved in the database.<br />

This field is managed as a byte array.<br />

User Index: This is the unique database index returned by Enroll or Add Base Record.<br />

I CMD_REMOVE_DB_RECORD [0x36] 1 byte<br />

L 1 2 bytes<br />

V Request status 1 byte<br />

80 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_INVALID_USER_ID [0xFC] The specified User ID is already used in the<br />

database.<br />

Compatibility note<br />

The Time Stamp sub ILV is ignored.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 81


FIND USER BASE<br />

Description<br />

Command<br />

This function searches the first record that has a field equal to a given field (same length, same content).<br />

Search is processed only on public fields.<br />

Request<br />

I CMD_FIND_USER_BASE [0x38] 1 byte<br />

L 9 + L 2 bytes<br />

V Database identifier 1 byte<br />

Field Index 4 bytes<br />

Record Offset 4 bytes<br />

Data to Find L bytes<br />

Database identifier<br />

Field Index<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

Field index on which the search is performed. Field 0 is dedicated to User ID.<br />

Record Offset<br />

Search starts from this record offset.<br />

82 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Data to Find<br />

Reply<br />

An Additional User Data structure that contains the data to find.<br />

See the Additional User Data structure for details.<br />

I CMD_FIND_USER_BASE [0x38] 1 byte<br />

L 1 (+ 4) 2 bytes<br />

V Request Status 1 byte<br />

Record Index 4 bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_USER_NOT_FOUND [0xE6] The required User ID has not been found in<br />

the database.<br />

Record Index<br />

Compatibility note<br />

Record of the found index.<br />

This command is a <strong>MorphoAccess</strong> TM 100 series new functionality.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 83


GET DATA<br />

Description<br />

Command<br />

This function reads a database public field.<br />

Request<br />

I CMD_GET_DATA [0x3F] 1 byte<br />

L 5 + L 2 bytes<br />

V Database identifier 1 byte<br />

Field Index 4 bytes<br />

ILV User ID or User Index L bytes<br />

Database identifier<br />

Field Index<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

Field index on which the search is performed. Field 0 is dedicated to User ID.<br />

User ID or User Index<br />

User ID: This is the unique user identifier saved in the database.<br />

User Index: This is the unique database index returned by Enroll or Add Base Record.<br />

84 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_GET_DATA [0x3F] 1 byte<br />

L 1 + L 2 bytes<br />

V Request Status 1 byte<br />

Field L bytes<br />

Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_USER_NOT_FOUND [0xE6] The required User ID has not been found in<br />

the database.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] The required field doesn't exist in the<br />

database.<br />

Field<br />

Compatibility note<br />

The field content.<br />

This command is a <strong>MorphoAccess</strong> TM 100 series new functionality.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 85


GET PUBLIC FIELDS<br />

Description<br />

Command<br />

This function reads a given public field from all users. For example, this function can be used to return a list<br />

of users present in the local database.<br />

Request<br />

I CMD_GET_PUBLIC_FIELDS [0x3E] 1 byte<br />

L 5 2 bytes<br />

V Database identifier 1 byte<br />

Field index 4 bytes<br />

Database Identifier<br />

Field Index<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

Field index on which the search is performed. Field 0 is dedicated to User ID<br />

86 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_GET_PUBLIC_FIELDS [0x3E] 1 byte<br />

L 5 + L1 + … + Lk 2 bytes<br />

V Request Status 1 byte<br />

User Number 4 bytes<br />

Field 1 L1 bytes<br />

…<br />

Field k Lk bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_USER_NOT_FOUND [0xE6] The required User ID has not been found in<br />

the database.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] The required field doesn't exist in the<br />

database.<br />

User Number<br />

Field I<br />

Field that contains the number of users found in the database. This value is equal to k,<br />

the number of fields included in the reply.<br />

A Field Content ILV formatted data packet that contains field content. There is one<br />

field per record. Content from all records is returned, even empty records. This allows<br />

the record index to correspond properly to the records.<br />

See the Field Content structure for details.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 87


Compatibility note<br />

This command is a <strong>MorphoAccess</strong> TM 100 series new functionality.<br />

88 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


UPDATE PUBLIC DATA<br />

Description<br />

Command<br />

This function modifies one or more public fields from one record.<br />

Request<br />

I CMD_UPDATE_PUBLIC_DATA [0x3C] 1 byte<br />

L 2 + L1 + L2 + … + LN 2 bytes<br />

V Database identifier 1 byte<br />

Field number = N+1 1 byte<br />

User ID or User Index L1<br />

Field0 L2<br />

Field1 L3<br />

…<br />

FieldN LN<br />

Database identifier<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

Field number<br />

User ID<br />

Indicate number of fields to update.<br />

This is the unique user identifier saved in the database.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 89


User Index<br />

Field<br />

Reply<br />

This is the unique database index returned by Enroll or Add Base Record.<br />

An ILV formatted data packet that contains field content. There is one field per record.<br />

Content from all records is returned, even empty records. This allows the record index<br />

to correspond properly to the records.<br />

I CMD_UPDATE_PUBLIC_DATA [0x3C] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

Compatibility note<br />

This command is a <strong>MorphoAccess</strong> TM 100 500 series new functionality.<br />

90 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


GET BASE CONFIG<br />

Description<br />

Command<br />

This function retrieves the configuration of the local database.<br />

Request<br />

I CMD_GET_DB_CONFIG [0x07] 1 byte<br />

L 1 2 bytes<br />

V Database identifier 1 byte<br />

Database identifier<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 91


Reply<br />

I CMD_GET_DB_CONFIG [0x07] 1 byte<br />

L 18 + Lts + L1 + … + Li 2 bytes<br />

V Request Status 1 byte<br />

Number fingers/person 1 byte<br />

Max record number 4 bytes<br />

Current Record Number 4 bytes<br />

Free Record Number 4 bytes<br />

Number of Fields 4 bytes<br />

ILV Timestamp Lts bytes<br />

Additional data Field 1 L1 bytes<br />

…<br />

Additional data Field i Li bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

Number fingers/person<br />

Number of fingers saved per person.<br />

Max record number<br />

Maximum number of records in database.<br />

92 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Current Record Number<br />

Number of records currently saved in Database.<br />

Free Record Number<br />

Number of records currently available in Database.<br />

Fields Number<br />

Number of fields used in Database.<br />

ILV Timestamp (not implemented)<br />

I ID_TIMESTAMP [0x11] 1 byte<br />

L L 2 bytes<br />

V ASCII string.with Day, Month, Years, Hours, minutes and Seconds<br />

each encoded with 2 bytes: “DDMMYYHHmmSS”.<br />

Additional data Fields<br />

Compatibility note<br />

A list of Public or private fields describing the database format.<br />

L bytes<br />

The maximum number of additional fields is 16 when the number of database records<br />

is less or equal to 100.<br />

The maximum number of additional fields is 2 when the number of database records is<br />

superior to 100.<br />

The Time Stamp sub ILV is ignored.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 93


GET ALL BASES CONFIG<br />

Description<br />

Command<br />

This function retrieves the configuration of all local databases.<br />

Request<br />

I CMD_GET_ALL_DB_CONFIG [0x31] 1 byte<br />

L 0 2 bytes<br />

Reply<br />

I CMD_GET_ALL_DB_CONFIG [0x31] 1 byte<br />

L 2 + L1 + … + Ln 2 bytes<br />

V Request Status 1 byte<br />

Nb Returned Bases 1 byte<br />

Base 1 configuration L1 bytes<br />

…<br />

Base i configuration Li bytes<br />

…<br />

Base n configuration Ln bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

94 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Nb Returned Bases<br />

Current release of <strong>MorphoAccess</strong> TM 100 series does not support management of<br />

multiple databases.<br />

Base i configuration<br />

Compatibility note<br />

This ILV is returned for each created base (1 in practice).<br />

See the Base Configuration ILV for more details.<br />

The Time Stamp sub ILV is ignored.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 95


FAST DOWNLOAD (NON FRAGMENTED DATABASE) [SAGEM ONLY] [DISTANT SESSION]<br />

Description<br />

This command allows downloading a local database. The complete database is sent in one transaction<br />

(one ILV request).<br />

Database size must not exceed the buffer size available by the communication device.<br />

Command (non fragmented database)<br />

Request (extended ILV if base size if greater than 65532 bytes)<br />

I ID_DOWNLOAD_DB [0x64]<br />

L 4+ N bytes 2 (or 2+4) bytes<br />

V Way 1 byte<br />

Way<br />

Base ID<br />

Base CRC<br />

Base data<br />

Base ID 1 byte<br />

Base CRC 2 bytes<br />

Base Data N bytes<br />

ID_PC_TO_MA [0x01]<br />

0 for the moment.<br />

A CRC calculated on the [Base Data] field.<br />

The complete database.<br />

96 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I ID_DOWNLOAD_DB [0x64] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 97


ADD SEVERAL RECORDS [DISTANT SESSION]<br />

Description<br />

Because database size can exceed the amount of data that can be transmitted in one exchange, a<br />

dedicated syntax of the command allows sending a several base records.<br />

To know the maximum size of data that can be transmitted in one request, use the Get Version command<br />

with Terminal Identifier parameter ([ILV receipt buffer size] field).<br />

A record contains the user template, the user identifier, and additional data.<br />

Each Add Record request is analyzed by the terminal.<br />

Depending on the Add Record result, the download continues or is stopped:<br />

If the Add Record request is a success or if the record is already present in the database (same ID) the<br />

download continues.<br />

The base must have been previously created using the Create Database command.<br />

Command (fragmented database)<br />

Request (extended ILV if base size if greater than 65535 bytes)<br />

I ID_ADD_SEVERAL_RECORDS [0x72] 1 byte<br />

L N 2 (or 2+4) bytes<br />

V ILV Add Record 1<br />

ILV Add Record …<br />

ILV Add Record N<br />

N bytes<br />

98 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I ID_ADD_SEVERAL_RECORDS [0x72] 1 byte<br />

L 1 + N 2 bytes<br />

V Request Status 1 byte<br />

Reply for Add Record 1<br />

Reply for Add Record …<br />

Reply for Add Record N<br />

Request Status<br />

N bytes<br />

ILV_OK [0x00] The execution succeeded (at least one record<br />

has been added.)<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_BAD_SUB_ILV[0xD1] A sub ILV is not an add record or the length is<br />

inconsistent.<br />

All other ILV after are not executed.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 99


Example<br />

First ILV request<br />

I ID_ADD_SEVERAL_RECORDS [0x72]<br />

L N bytes<br />

V<br />

[ILV Add Record 1]<br />

[ILV Add Record 2]<br />

…<br />

…<br />

[ILV Add Record i]<br />

Following ILV request<br />

I ID_ADD_SEVERAL_RECORDS [0x72]<br />

L N bytes<br />

V<br />

[ILV Add Record I+1]<br />

[ILV Add Record I+2]<br />

…<br />

[ILV Add Record N]<br />

Status for first ILV request: all records have been loaded<br />

I ID_ADD_SEVERAL_RECORDS [0x72]<br />

L N + 1 bytes<br />

V<br />

Request Status: [0x00]<br />

[Reply ILV Add Record 1]<br />

[Reply ILV Add Record 2]<br />

…<br />

[Reply ILV Add Record i]<br />

Status for second ILV request: all records have been loaded<br />

I ID_ADD_SEVERAL_RECORDS [0x72]<br />

L N + 1 bytes<br />

100 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Remarks<br />

V<br />

Request Status: [0x00]<br />

[Reply ILV Add Record i+1]<br />

[Reply ILV Add Record i+2]<br />

…<br />

[Reply ILV Add Record n]<br />

A Get Base Config command will return the base state at the end of the downloading.<br />

There is no “ending ILV request”.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 101


CHECK USER IN DATABASE<br />

Description<br />

Command<br />

To check which user should be added, erased or updatde in the <strong>MorphoAccess</strong> TM database, this function<br />

allows to get the list of the user and their digest (CRC). Each CRC is calculated from the templates and all<br />

the fields of each user.<br />

Request<br />

I ID_CHECK_USERS_DB [0x44] 1 byte<br />

L 2 2 bytes<br />

V DataBase Identifier<br />

RFU<br />

Database identifier<br />

RFU<br />

Must be 0<br />

1 byte<br />

1 byte<br />

Number of available databases depends on terminal type and license.<br />

See Database Size Limits to known the maximum number of base.<br />

102 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I ID_CHECK_USERS_DB [0x44] 1 byte<br />

L 0x0008+ < N1> + … < Nk> 2 bytes<br />

V Request Status 1 byte<br />

User Number 4 bytes<br />

Internal Template Format ID<br />

1 byte<br />

Internal Template Format Param 1 byte<br />

Internal Template Max Size 1 byte<br />

User 1 Identifier length 1 byte<br />

User 1 Identifier User 1 Identifier<br />

length<br />

User 1 Digest 2 bytes<br />

...<br />

User k Identifier length 1 byte<br />

User k Identifier User k Identifier<br />

length<br />

User k Digest 2 bytes<br />

Request Status<br />

ILV_OK [0x00] The execution of the function succeeded<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] Index identifies an index that is not valid: nonexistent,<br />

or private field.<br />

ILVERR_BASE_NOT_FOUND [0xF7] The specified database does not exist.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] The required field doesn't exist in the<br />

database<br />

User number:<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 103


Remarks<br />

Number of couples (user, digest) returned by the terminal.<br />

Internal Template Format ID, Internal Template Format Param, Internal Template Max Size<br />

[SAGEM ONLY, not support is given on this function] Theses values must be used as<br />

parameters for the template conversion function. They ensure the same conversion is<br />

applied in terminal and in the host.<br />

User i Identifier length<br />

User identifier size (from 1 to 24).<br />

User i Identifier<br />

User identifier.<br />

User i Digest<br />

Checksum calculated from templates and public fields.<br />

The CRC algorithm is SAGEM Sécurité use only.<br />

Managing a large database could take time then it is recommended to manage it on differential way:<br />

1. download all the users on a terminal<br />

2. get the list of all current user-CRC couple present in the terminal for later reference<br />

3. each time the database is modified, get the latest version of the list (reference list)<br />

4. when the database need to be verified, compare the current list of the terminal with the reference<br />

list.<br />

5. then check the added/erased or updated records.<br />

104 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


OVERVIEW<br />

LOG FUNCTIONS DESCRIPTION<br />

The <strong>MorphoAccess</strong> TM is able to log all its biometric activities. This function can be used to get information<br />

about control (like duration, matching score…) or for time and attendance purposes.<br />

Logged Information is:<br />

• Event date and time.<br />

• Type of event (identification, authentication).<br />

• ID of the person concerned by the event.<br />

• Biometric information (minutiae quality or matching score).<br />

A log occupies 64 bytes. It is possible to log 8000 events.<br />

Download the binary log file using the Get Log command.<br />

Erase the log file using the Erase Log command.<br />

The number of written lines is returned by the Get Log Status command.<br />

When the base is full, the log file must be downloaded and erased. Records are not cyclic.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 105


BASE STRUCTURE<br />

Log Base: 240 Kbytes. Line 1: 64 bytes. ###<br />

Line 2: 64 bytes. ###<br />

…<br />

Line k-1: 64 bytes. ###<br />

Record pointer > Line k: 64 bytes. First free record.<br />

A line: 64 bytes.<br />

Line k+1: 64 bytes.<br />

…<br />

##### : Written record.<br />

: Free record.<br />

Line 3840: 64 bytes.<br />

106 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


LINE STRUCTURE<br />

Each record is written in line that has the following generic form:<br />

Line 1<br />

…<br />

Line k-2<br />

Line k-1<br />

Record Date (12<br />

bytes)<br />

Record Date (12<br />

bytes)<br />

Record Date (12<br />

bytes)<br />

Action type<br />

(1 byte)<br />

Action type<br />

(1 byte)<br />

Action type<br />

(1 byte)<br />

Binary data Padding<br />

(with 0x00)<br />

64 bytes<br />

Binary data Padding<br />

(with 0x00)<br />

64 bytes<br />

Binary data Padding<br />

(with 0x00)<br />

64 bytes<br />

• Record Date field is coded in ASCII in the following format: DDMMYYHHMMSS. The following<br />

value:<br />

Record Date (12 bytes)<br />

323530373032313533353235<br />

will correspond to 25/07/02 15:35:25.<br />

• Action type byte describes the nature of the event logged. There are two major log families:<br />

Authent records and Identification records.<br />

• Binary data depends on the Action type. Refer to Authent Records structure and Identification<br />

Records structure to know how binary data are organized.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 107


AUTHENTICATION RECORDS FORMAT<br />

Structure<br />

Data format is big endian.<br />

typedef struct<br />

{<br />

unsigned char m_puc_Date[LOG_DATE_SIZE];<br />

unsigned char m_uc_ActionType;<br />

unsigned char m_uc_AcquisitionTh;<br />

unsigned short m_us_Timeout;<br />

unsigned short m_us_MatchingTh;<br />

unsigned char m_puc_UserId[LOG_USER_ID_SIZE];<br />

unsigned short m_us_Duration;<br />

unsigned char m_uc_Result;<br />

unsigned char m_uc_NbFinger;<br />

unsigned char m_puc_not_used;<br />

unsigned char m_uc_MatchFinger;<br />

unsigned char m_uc_Pad[32];<br />

} T_LOG_AUTHENT;<br />

Definitions<br />

#define LOG_DATE_SIZE 12<br />

#define LOG_BASE_NAME_SIZE 15<br />

#define LOG_USER_ID_SIZE 20<br />

108 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Description<br />

Member Description Size<br />

Date and time m_puc_Date[12] 12<br />

Format: DDMMYYHHMMSS<br />

Action type m_uc_Action 1<br />

Authentication with database requested (Keyboard authentication for example)<br />

TLOG_AUTH_CTL_WDB_ID 0x25<br />

Authentication without database, Only ID is requested<br />

TLOG_AUTH_CTL_WODB_ID_ONLY_TERMINAL (terminal choice) 0x22<br />

TLOG_AUTH_CTL_WODB_ID_ONLY_CARD (Card Choice) 0x2A<br />

Authentication without database, PIN and Fingerprints are requested<br />

TLOG_AUTH_CTL_WODB_PIN_THEN_PKS_TERMINAL 0x28<br />

TLOG_AUTH_CTL_WODB_PIN_THEN_PKS_CARD 0x2E<br />

Authentication without database, Fingerprints are requested<br />

TLOG_AUTH_CTL_WODB_PKS_TERMINAL 0x24<br />

TLOG_AUTH_CTL_WODB_PKS_CARD 0x2B<br />

Authentication without database, PIN and BIOPIN are requested<br />

TLOG_AUTH_CTL_WODB_PIN_THEN_BIOPIN_TERMINAL 0x29<br />

TLOG_AUTH_CTL_WODB_PIN_THEN_BIOPIN_CARD 0x2F<br />

Authentication without database, PIN is requested<br />

TLOG_AUTH_CTL_WODB_PIN_TERMINAL 0x27<br />

TLOG_AUTH_CTL_WODB_PIN_CARD 0x2D<br />

Authentication without database, BIOPIN is requested<br />

TLOG_AUTH_CTL_WODB_BIOPIN_TERMINAL 0x26<br />

TLOG_AUTH_CTL_WODB_BIOPIN_CARD 0x2C<br />

Specific to Time and Attendance (a bit is added to the action code):<br />

Local authentication when arriving<br />

TA_LOG_IN +0x00<br />

Local authentication when going on duty again<br />

TA_LOG_IN_FROM_DUTY +0x80<br />

Local authentication when going off duty<br />

TA_LOG_OUT_FROM_DUTY +0xC0<br />

Local authentication when leaving<br />

TA_LOG_OUT +0x40<br />

Acquisition threshold m_uc_AcquisitionTh 1<br />

0<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 109


Member Description Size<br />

Timeout m_us_Timeout 2<br />

Timeout for operation<br />

Matching threshold m_us_MatchingTh 2<br />

Terminal threshold<br />

User Id m_puc_UserId[20] 20<br />

“98756” for example<br />

Operation duration m_us_Duration 2<br />

(in tenth of second)<br />

Result m_uc_Result 1<br />

Success<br />

LOG_AUTH_OK 0x00<br />

Failure<br />

LOG_AUTH_FAILED 0x01<br />

“Timeout”<br />

LOG_AUTH_TIMEOUT 0x19<br />

Not on time (specific to Time mask)<br />

LOG_BIO_NOT_ON_TIME 0x02<br />

False Finger detected (specific to <strong>MorphoAccess</strong> 521)<br />

LOG_FAKE_FINGER_DETECTED 0x30<br />

Invalid Minutiae<br />

LOG_AUTH_PK 0x12<br />

Generic error<br />

LOG_BIO_ERROR 0xFF<br />

Number of finger m_uc_NbFinger 1<br />

2<br />

Matched finger number m_uc_MatchFinger 1<br />

Set to 0, must be ignored.<br />

110 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


IDENTIFICATION RECORDS FORMAT<br />

Structure<br />

Data format is big endian.<br />

typedef struct<br />

{<br />

unsigned char m_puc_Date[LOG_DATE_SIZE];<br />

unsigned char m_uc_ActionType;<br />

unsigned char m_uc_FlashType;<br />

unsigned char m_puc_BaseName[LOG_BASE_NAME_SIZE];<br />

unsigned char m_puc_UserId[LOG_USER_ID_SIZE];<br />

unsigned char m_puc_not_used;<br />

unsigned short m_us_Timeout;<br />

unsigned short m_us_Duration;<br />

short m_s_PersonIndex;<br />

unsigned char m_uc_Result;<br />

unsigned char m_uc_Pad[20];<br />

} T_LOG_IDENT;<br />

Definitions<br />

#define LOG_DATE_SIZE 12<br />

#define LOG_BASE_NAME_SIZE 15<br />

#define LOG_USER_ID_SIZE 20<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 111


Description<br />

Field Description Size<br />

Date and time m_puc_Date[12] 12<br />

Format: DDMMYYHHMMSS<br />

Action type m_uc_Action 1<br />

Local identification<br />

TLOG_IDENT 0x30<br />

Specific to Time and Attendance (a bit is added to the action code):<br />

Local identification when arriving<br />

TA_LOG_IN +0x00<br />

Local identification when going on duty again<br />

TA_LOG_IN_FROM_DUTY +0x80<br />

Local identification when going off duty<br />

TA_LOG_OUT_FROM_DUTY +0xC0<br />

Local identification when leaving<br />

TA_LOG_OUT +0x40<br />

Base support m_uc_FlashType 1<br />

0<br />

Base name m_puc_BaseName[15] 15<br />

“bioa”<br />

User Id m_puc_UserId[20] 20<br />

“98756” for example<br />

Timeout m_us_Timeout 2<br />

Operation duration m_us_Duration 2<br />

(in tenth of second)<br />

User index m_s_PersonIndex 2<br />

-1 if failed<br />

112 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Field Description Size<br />

Result m_uc_Result 1<br />

COMPATIBILITY NOTES<br />

Success<br />

LOG_BIO_OK 0x00<br />

Not recognized<br />

LOG_BIO_FAILED 0x01<br />

Not on time (specific to Time mask)<br />

LOG_BIO_NOT_ON_TIME 0x02<br />

False Finger detected (specific to <strong>MorphoAccess</strong> 521)<br />

LOG_FAKE_FINGER_DETECTED 0x30<br />

Timeout<br />

LOG_BIO_TIMEOUT 0x19<br />

Invalid Minutiae<br />

LOG_AUTH_PK 0x12<br />

Generic error<br />

LOG_BIO_ERROR 0xFF<br />

Enrolment operations are no more logged.<br />

Distant operations (ILV commands) are no more logged.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 113


GET LOG STATUS<br />

Description<br />

Command<br />

This command will return the state of the log file.<br />

Request<br />

I CMD_GET_LOG_STATUS [0x5D] 1 byte<br />

L 1 2 bytes<br />

V Log Base ID 1 byte<br />

Log Base ID<br />

Reply<br />

Base number. Must be 0. (RFU)<br />

I CMD_GET_LOG_STATUS [0x5D] 1 byte<br />

L 1 (+ 9) 2 bytes<br />

V Request Status 1 byte<br />

Log Enabled 1 byte<br />

Current Line 2 bytes<br />

Max Number of Lines 2 bytes<br />

Line Size 2 bytes<br />

Base State 1 byte<br />

Version 1 byte<br />

114 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

Log Enabled (if Request status is ILV_OK)<br />

0 Biometric events are not logged.<br />

1 Biometric events are logged.<br />

Current Line (if Request status is ILV_OK)<br />

First free record index.<br />

Max Number of Lines (if Request status is ILV_OK)<br />

Number of records.<br />

Line Size (if Request status is ILV_OK)<br />

Record size in bytes.<br />

Line Size (if Request status is ILV_OK)<br />

Record size in bytes.<br />

Base State (if Request status is ILV_OK)<br />

0 Base is corrupted.<br />

1 Base is OK.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 115


Version (if Request status is ILV_OK)<br />

Log file revision. 0xXY for « X.Y ».<br />

116 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


ERASE LOG<br />

Description<br />

Command<br />

This command will erase all the records written in the log file.<br />

Request<br />

I CMD_ERASE_LOG [0x5C] 1 byte<br />

L 1 2 bytes<br />

V Log Base ID 1 byte<br />

Log Base ID<br />

Reply<br />

Base number. Must be 0. (RFU)<br />

I CMD_ERASE_LOG [0x5C] 1 byte<br />

L 1 (+ 1) 2 bytes<br />

V Request status 1 byte<br />

Erase status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 117


Erase status (if Request status is ILV_OK)<br />

ILVSTS_OK [0x00] Base successfully erased.<br />

ILVSTS_FLASH_ERROR [0x0A] The execution failed.<br />

118 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


GET LOG<br />

Description<br />

Command<br />

Use this command to download the log database.<br />

Request<br />

I CMD_GET_LOG [0x5B] 1 byte<br />

L 5 2 bytes<br />

V Log Base ID 1 byte<br />

Offset from current line 2 bytes<br />

Number of lines 2 bytes<br />

Line 1: 64 bytes.<br />

Line 2: 64 bytes.<br />

…<br />

[ First downloaded line<br />

…<br />

Last downloaded line ]<br />

…<br />

Line k-1: 64 bytes.<br />

Line k: 64 bytes.<br />

…<br />

Line 3840: 64 bytes.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 119


Log Base ID<br />

Base number. Must be 0. (RFU)<br />

Offset from current line<br />

Offset from the last written line. Represents the line in the base from where the upload<br />

starts. “0” for the first line.<br />

Number of lines<br />

Reply<br />

This parameter is the number of line to upload from “Offset from current line”. This<br />

parameter must be ranged between 1 and “Max Number of Lines”.<br />

I CMD_GET_LOG [0x5B] 1 byte<br />

L 1+ 2 + L 2 bytes<br />

V Request status 1 byte<br />

Number of lines 2 bytes<br />

Data L bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

120 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Number of lines<br />

Data<br />

Compatibility note<br />

Number of lines really uploaded. This number is equal to 0 in case of error.<br />

Lines in binary format.<br />

In Distant Session Mode, the complete database can be downloaded in 1 request.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 121


CONTACTLESS FUNCTIONS DESCRIPTION<br />

122 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


CONTACTLESS VERIFICATION (OR CONTACTLESS AUTHENTICATION)<br />

Description<br />

Command<br />

This function reads templates on a Mifare TM card then captures a finger and checks if it matches.<br />

Request<br />

I CMD_CONTACTLESS_VERIFY [0x59] 1 byte<br />

L 5 + 6 … (+ 6) 2 bytes<br />

V Timeout 2 bytes<br />

Timeout<br />

Matching threshold 2 bytes<br />

Acquisition quality threshold 1 byte<br />

Address of reference Template 1 6 bytes<br />

Address of reference Template 2 (optional) 6 bytes<br />

Address of data for hashing (ignored and optional) 6 bytes<br />

Address of signature (ignored and optional) 6 bytes<br />

Finger detection timeout in seconds. A value of 0 corresponds to an infinite timeout.<br />

Matching threshold<br />

This parameter can be set to values from 0 to 10 (SAGEM Sécurité recommends 5).<br />

This parameter specifies how tight the matching threshold is.<br />

See section Setting Up the Matching Threshold for more information about this<br />

parameter.<br />

Acquisition quality threshold<br />

Ignored. Must be set to 0.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 123


Note<br />

Address of reference Template i<br />

Reply<br />

These parameters give addresses containing the reference minutiae of fingerprint.<br />

See the Address Biometric Data structure for details.<br />

I CMD_CONTACTLESS_VERIFY [0x59] 1 byte<br />

L 1 (+ 1) 2 bytes<br />

V Request status 1 byte<br />

Matching result 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_INVALID_MINUTIAE [0xFD] The reference minutiae ILV is not valid: bad<br />

identifier, corrupted minutiae.<br />

ILVERR_TIMEOUT [0xFA] The finger detection timeout has expired.<br />

Matching result<br />

ILVSTS_HIT [0x01] The comparison succeeded.<br />

ILVSTS_NO_HIT [0x02] It is not the same finger.<br />

ILVSTS_DB_EMPTY [0x05] The database is empty.<br />

See also Set Contactless Keys function to change the contactless keys.<br />

The Contactless card mapping section describes the card structure.<br />

124 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


CONTACTLESS READ<br />

Description<br />

Command<br />

This function is an interface to perform read operations on Mifare TM cards.<br />

Request<br />

I CMD_CONTACTLESS_READ [0x57] 1 byte<br />

L 1+ L 2 bytes<br />

V Function ID 1 byte<br />

Function ID<br />

Function 3 or 5 bytes<br />

ID of the function to perform.<br />

• AC_READ_SERIAL_NUMBER [0x1B]: Read serial number of a Mifare TM card.<br />

In this case the Function parameter is ignored. Non-blocking.<br />

• AC_READ_DATA_CARD [0x1C]: Read data on a Mifare TM card. Nonblocking.<br />

• AC_READ_SERIAL_NUMBER_TIMEOUT [0x2B]: Read serial number of a<br />

Mifare TM card. In this case the Function parameter is ignored. A timeout can<br />

be defined.<br />

• AC_READ_DATA_CARD_TIMEOUT [0x2C]: Read data on a Mifare TM card. A<br />

timeout can be defined.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 125


Function<br />

Function<br />

Function<br />

Function ID = AC_READ_SERIAL_NUMBER 3 bytes<br />

: Ignored 1 bytes<br />

: Ignored 1 bytes<br />

: Ignored 1 bytes<br />

Function ID = AC_READ_DATA_CARD 3 bytes<br />

: First block number to read (1 to 48) 1 byte<br />

: Number of blocks to read (1 to 48) 1 byte<br />

: Key number for the read:<br />

1 Mifare TM security key A then B is selected<br />

2 Mifare TM security key A is selected.<br />

3 Mifare TM security key B is selected.<br />

1 byte<br />

Function ID = AC_READ_SERIAL_NUMBER_TIMEOUT 5 bytes<br />

: Ignored 1 byte<br />

: Ignored 1 byte<br />

: Ignored 1 byte<br />

Card detection timeout in seconds. A value of 0<br />

corresponds to an infinite timeout.<br />

2 bytes<br />

126 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Function<br />

Example<br />

I L<br />

Function ID = AC_READ_DATA_CARD_TIMEOUT 5 bytes<br />

: First block number to read (1 to 48) 1 byte<br />

: Number of blocks to read (1 to 48) 1 byte<br />

: Key number for the read:<br />

1 Mifare TM security key A then B is selected<br />

2 Mifare TM security key A is selected.<br />

3 Mifare TM security key B is selected.<br />

Card detection timeout in seconds. A value of 0<br />

corresponds to an infinite timeout.<br />

Function<br />

ID<br />

B N C Timeout<br />

1 byte<br />

2 bytes<br />

0x5F 0x06 0x00 0x2c 0x04 0x08 0x01 0x05 0x00<br />

This frame allows reading 8 blocks from block 4 using key A then B. If no card is present after 5 seconds,<br />

“STATUS_CARD_NO_PRESENT” is returned.<br />

I L<br />

Function<br />

ID<br />

B N C<br />

0x5F 0x04 0x00 0x1B 0x00 0x00 0x00<br />

This frame returns the serial number of the card present in the field or returns immediately.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 127


Reply<br />

I CMD_CONTACTLESS_READ [0x57] 1 byte<br />

L 2 + L 2 bytes<br />

V Function ID 1 byte<br />

Contactless Status 1 byte<br />

Function Data L bytes<br />

Contactless Status. Returned only if Request Status is ILV_OK.<br />

STATUS_CARD_PRESENT [0x00] The function succeeded.<br />

STATUS_AUTHENT_ERROR [0x0C] A card was detected but the authentication<br />

failed.<br />

STATUS_CARD_NO_PRESENT [0x0B] Timeout occurs while waiting for a card.<br />

STATUS_ERROR [0x0F] A card was detected but an error occurred.<br />

Function ID<br />

ID of the performed function.<br />

AC_READ_SERIAL_NUMBER [0x1B]<br />

AC_READ_DATA_CARD [0x1C]<br />

AC_READ_SERIAL_NUMBER_TIMEOUT [0x2B]<br />

AC_READ_DATA_CARD_TIMEOUT [0x2C]<br />

Function Data. Returned only if Request Status is ILV_OK.<br />

If function ID is AC_READ_SERIAL_NUMBER [0x1B]: function data is a L bytes ASCII<br />

string containing the card serial number.<br />

If function ID is AC_READ_DATA_CARD [0x1C]: function data is a L bytes binary data<br />

read on the card.<br />

128 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Note<br />

See also Set Contactless Keys function to change the contactless keys.<br />

The Contactless card mapping section describes the card structure.<br />

Compatibility note<br />

It can also be combined with an authentication to proceed to a contactless authentication.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 129


OVERVIEW<br />

ACCESS CONTROL FUNCTIONS DESCRIPTION<br />

This set of function allows controlling the <strong>MorphoAccess</strong> TM Man Machine <strong>Interface</strong> and other peripherals.<br />

130 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


ACCESS AUTHORIZATION<br />

Description<br />

Command<br />

This function is a way to open access or to refuse it.<br />

Request<br />

I CMD_ACCESS_AUTHORIZATION [0x56] 1 byte<br />

L 1 (+ 2) 2 bytes<br />

V Access Authorization 1 byte<br />

Relay Duration (optional) 2 bytes<br />

Access Authorization<br />

0x00: access refused: the led is red; a long “beep” is emitted.<br />

0x01: access granted: the led is green, a short “beep” is emitted and the relay<br />

switches. The duration is defined in the relay parameters.<br />

0x02: turns the terminal into an emergency state: the access is granted and kept<br />

granted indefinitely. On receiving of the same request containing the parameter 0x01,<br />

the terminal leaves the emergency state then executes the following action: opens the<br />

access and switches the green LED on.<br />

Relay Duration<br />

This optional parameter defines the relay activation in 100 ms.<br />

0 means the relay is never activated.<br />

The function returns immediately.<br />

This parameter is ignored if Access Authorization is set to 2.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 131


Reply<br />

I CMD_ACCESS_AUTHORIZATION [0x56] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

Compatibility note<br />

This command controls the led and the buzzer.<br />

132 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


DISPLAY SCREEN [TERMINAL WITH DISPLAY] [NEW SYNTAX]<br />

Description<br />

Command<br />

This function replaces the “PRINT SCREEN MESSAGE” command available on <strong>MorphoAccess</strong> TM 200/300.<br />

This function allows displaying three text lines and a bitmap.<br />

After sending the request the function returns immediately: the display remains until next graphical<br />

operation.<br />

Request<br />

I CMD_DISPLAY_SCREEN [0x54] 1 byte<br />

L 3 + L 2 bytes<br />

V Position X 1 byte<br />

Position Y 1 byte<br />

Timeout 1 byte<br />

Message L bytes<br />

Position X - Position Y<br />

Timeout<br />

Message<br />

These 2 settings allow configuring the position of the string in the screen.<br />

The range of X is 0 to 136.<br />

The range of Y is 0 to 34.<br />

Not yet implemented. Message will be displayed until next print screen command call.<br />

String to print on the screen (ASCII mode).<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 133


Reply<br />

I CMD_DISPLAY_SCREEN [0x54] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

New Request Form (not yet implemented)<br />

I CMD_DISPLAY_SCREEN [0x54] 1 byte<br />

L 4 + 1 (+ 6 + L1+ L2 + L3) 2 bytes<br />

V Command ID 4 bytes<br />

Image ID 1 byte<br />

ID_LINE_1 1 byte<br />

Line 1 attribute 1 byte<br />

Line 1 text L1 bytes<br />

ID_LINE_2 1 byte<br />

Line 2 attribute 1 byte<br />

Line 2 text L2 bytes<br />

ID_LINE_3 1 byte<br />

Line 3 attribute 1 byte<br />

Line 3 text L3 bytes<br />

134 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Command ID<br />

Image ID<br />

Depending on the command ID byte function argument may differ.<br />

Must be 0x0001FFFF.<br />

SCR_ICO_RIGHT<br />

SCR_ICO_LEFT<br />

SCR_ICO_UP<br />

SCR_ICO_DOWN<br />

SCR_ICO_CHECK<br />

SCR_ICO_STOP<br />

SCR_ICO_SABLIER<br />

SCR_ICO_HARDER<br />

SCR_ICO_PANEL<br />

Line i attribute<br />

Line i text<br />

NORMAL [0x00] Normal text.<br />

REVERSE [RFU] Reverse videotext.<br />

BLINKING [RFU] Blinking text.<br />

A NULL terminated string.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 135


Reply<br />

I CMD_DISPLAY_SCREEN [0x54] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

136 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


READ FROM KEYBOARD [TERMINAL WITH DISPLAY AND KEYBOARD]<br />

Description<br />

Command<br />

This function allows displaying 1 line, and an input zone.<br />

The function returns after validation or after a given timeout.<br />

Request<br />

I READ FROM KEYBOARD [0x55] 1 byte<br />

L 2 + L 2 bytes<br />

V Secret mode 1 byte<br />

Secret mode<br />

Timeout<br />

Prompt<br />

Time of input 1 byte<br />

Prompt L byte<br />

Not yet implemented. Must be set to 0x01. By default it is configured in secret mode.<br />

Defines the time in seconds during which the user is invited to enter data. This value<br />

must be set between 1 second and 255 seconds.<br />

This string defines the input prompt printed on the screen. This parameter is<br />

mandatory and the message length cannot exceed 29 characters.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 137


Reply<br />

I READ FROM KEYBOARD [0x55] 1 byte<br />

L 1 + L 2 bytes<br />

V Request Status 1 byte<br />

Input content L bytes<br />

Request status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

ILVERR_TIMEOUT [0xFA] Nothing has been entered after the timeout.<br />

Input content<br />

The text entered in the input zone, NULL terminated.<br />

138 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


DATA SEND<br />

Description<br />

Command<br />

This function performs a write on Wiegand, Dataclock or Serial output.<br />

Request<br />

I CMD_DATA_SEND [0x51] 1 byte<br />

L L 2 bytes<br />

V Data To Send On Selected Output L bytes<br />

Data To Send On Selected Output<br />

Reply<br />

Wiegand Data, Dataclock Data, are data to send on the associated outputs.<br />

Wiegand Raw Data, Dataclock Raw Data are data to send on the associated outputs<br />

[SAGEM ONLY, not support is given on this function].<br />

These data are sub ILVs described in chapter Wiegand Dataclock Data Description.<br />

Only one of these sub ILVs can be used at the same time.<br />

The following outputs will be defined later:<br />

• Serial Data,<br />

• Serial Raw Data.<br />

I CMD_DATA_SEND [0x51] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 139


Request Status<br />

ILV_OK [0x00] The execution succeeded.<br />

ILVERR_ERROR [0xFF] Execution failed.<br />

ILVERR_BAD_PARAMETER [0xFE] Invalid parameters.<br />

140 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MULTILINGUAL FUNCTIONS DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 141


LOAD LANGUAGE FILE [TERMINAL WITH DISPLAY] [NEW SYNTAX][NEW ID]<br />

Description<br />

Command<br />

This function allows downloading a personalized message table in the terminal.<br />

This function replaces the “SET USER MESSAGE” command available on <strong>MorphoAccess</strong> TM 200/300.<br />

The complete language file is downloaded.<br />

See section for a description of the file content.<br />

The terminal can support 10 languages.<br />

Request<br />

I CMD_INTL_ADD_LANG [0x95] 1 byte<br />

L 4 + L 2 bytes<br />

V List Index (always 0) 4 bytes<br />

List Index<br />

File Content L bytes<br />

Only the list index 0 is accepted.<br />

The list 0 contains the SAGEM Sécurité application messages. The other lists are<br />

destined for the VAR application.<br />

File Content<br />

The complete language file.<br />

See section Language File for a description of the file content.<br />

142 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_INTL_ADD_LANG [0x95] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution of the function succeeded<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect or unknown language<br />

file.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 143


ERASE LANGUAGE FILE [TERMINAL WITH DISPLAY] [NEW SYNTAX][NEW ID]<br />

Description<br />

Command<br />

This function erases a personalized message file in the terminal.<br />

This function replaces the “ERASE USER MESSAGE TABLE” command available on <strong>MorphoAccess</strong> TM<br />

200/300.<br />

Request<br />

I CMD_INTL_REMOVE_LANG [0x96] 1 byte<br />

L 4+ L 2 bytes<br />

V List Index (always 0) 4 bytes<br />

List Index<br />

Language Name L bytes<br />

Only the list index 0 is accepted.<br />

The list 0 contains the SAGEM Sécurité application messages. The other lists are<br />

destined for the VAR application.<br />

Language Name<br />

The language name (uppercase).<br />

This string is the same in field “language name” in the language file.<br />

The maximum name length is 15.<br />

Must be NULL terminated.<br />

Example: “English\0”.<br />

144 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_INTL_REMOVE_LANG [0x96] 1 byte<br />

L 1 2 bytes<br />

V Request Status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution of the function succeeded.<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 145


READ LANGUAGE FILE [TERMINAL WITH DISPLAY] [NEW COMMAND]<br />

Description<br />

Command<br />

This function read the file language in the MA terminal and returns it.<br />

Request<br />

I CMD_INTL_READ_LANG [0x94] 1 byte<br />

L 4 + L 2 bytes<br />

V List Index (always 0) 4 bytes<br />

List Index<br />

Language Name L bytes<br />

Only the list index 0 is accepted.<br />

The list 0 contains the SAGEM Sécurité application messages. The other list are<br />

destined for the VAR application.<br />

Language Name<br />

The language name (uppercase).<br />

This string is the same in field “language name” in the language file.<br />

The maximum name length is 15.<br />

Must be NULL terminated.<br />

Example: “English\0”.<br />

146 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_INTL_READ_LANG [0x94] 1 byte<br />

L 1 + L 2 bytes<br />

V Request Status 1 byte<br />

File Content L bytes<br />

Request Status<br />

ILV_OK [0x00] The execution of the function succeeded.<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 147


GET THE LANGUAGE NAME STORED IN THE MA [TERMINAL WITH DISPLAY] [NEW COMMAND]<br />

Description<br />

Command<br />

This function read the selected file language in the MA terminal and returns the language name.<br />

Request<br />

I CMD_INTL_GET_LANG_NAME [0x97] 1 byte<br />

L 4 + 4 2 bytes<br />

V List Index (always 0) 4 bytes<br />

List Index<br />

Sorted file number 4 bytes<br />

Only the list index 0 is accepted.<br />

The list 0 contains the SAGEM Sécurité application messages. The other list are<br />

destined for the VAR application.<br />

Sorted file number<br />

Set 0 to select the first language file find in the directory.<br />

Set 1 to select the second language file find in the directory.<br />

148 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply<br />

I CMD_INTL_GET_LANG_NAME [0x97] 1 byte<br />

L 1 + L 2 bytes<br />

V Request Status 1 byte<br />

Language Name L bytes<br />

Language Name<br />

The selected file language name.<br />

This string is the same in the field “language name” in the language file.<br />

The maximum name length is 15.<br />

Must be NULL terminated.<br />

Example: “English\0”.<br />

Request Status<br />

ILV_OK [0x00] The execution of the function succeeded.<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 149


TIME MASK FUNCTIONS DESCRIPTION<br />

150 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


TIME MASK FUNCTIONS DESCRIPTION<br />

The <strong>MorphoAccess</strong> TM terminal is able to grant access to a user according to its time mask.<br />

A user time mask is a bit array as follow:<br />

The week is starting on Sunday as described in ANSI standards.<br />

How to use time mask feature?<br />

A week by time intervals of 15 minutes<br />

Time mask structure<br />

7 x 96 bits = 84 bytes<br />

During base creation, a “time mask” additional field must be created.<br />

When adding a record or enrolling a user this fields must be filled with the corresponding data.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 151


SET TIME MASK<br />

Description<br />

Command<br />

This function allows setting a user time mask.<br />

Request<br />

I CMD_SET_TIME_MASK [0x42] 1 byte<br />

L 85 + L 2 bytes<br />

V Base Id 1 byte<br />

Base Id<br />

User ID<br />

Time mask<br />

User ID L bytes<br />

Time mask 84 bytes<br />

ID of the database in witch the user is registered.<br />

This is the user ID whose time mask is set.<br />

See the User ID structure for details.<br />

This is the time mask to set.<br />

See the Time mask structure for details.<br />

152 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply (new syntax)<br />

I CMD_SET_TIME_MASK [0x42] 1 byte<br />

L 1 2 byte<br />

V Request Status 1 byte<br />

Request status<br />

ILV_OK [0x00] The execution of the function succeeded.<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect.<br />

ILVERR_BASE_NOT_FOUND [0xF7] Base not found.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] Time mask field not found.<br />

ILVERR_FIELD_INVALID [0xE8] Time mask field invalid.<br />

ILVERR_INVALID_USER_ID [0xFC] User was not found.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 153


GET TIME MASK<br />

Description<br />

Command<br />

This function allows getting a user time mask.<br />

Request<br />

I CMD_GET_TIME_MASK [0x43] 1 byte<br />

L 1 + L 2 bytes<br />

V Base Id 1 byte<br />

Base Id<br />

User ID<br />

User ID L bytes<br />

ID of the database in witch the user is registered.<br />

This is the user ID whose time mask is set.<br />

See the User ID structure for details.<br />

154 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Reply (new syntax)<br />

I CMD_GET_TIME_MASK [0x43] 1 byte<br />

L 85 2 bytes<br />

V Request Status 1 byte<br />

Time mask<br />

Time mask 84 bytes<br />

This is the time mask to set.<br />

See the Time mask structure for details.<br />

Request status<br />

ILV_OK [0x00] The execution of the function succeeded.<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect.<br />

ILVERR_BASE_NOT_FOUND [0xF7] Base not found.<br />

ILVERR_FIELD_NOT_FOUND [0xE9] Time mask field not found.<br />

ILVERR_FIELD_INVALID [0xE8] Time mask field invalid.<br />

ILVERR_INVALID_USER_ID [0xFC] User was not found.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 155


MAN-MACHINE INTERFACE FUNCTIONS DESCRIPTION<br />

156 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


SET MMI DIS<br />

OVERVIEW OF MORPHOACCESS MMI STATES MANAGEMENT<br />

This part explain how the <strong>MorphoAccess</strong> manages MMI states (led, relay and buzzer) over time as an<br />

automatic process.<br />

The <strong>MorphoAccess</strong> is able to manage its own MMI states using priorities. The priorities are in range [0,<br />

255] where 0 is the highest priority. Several common range should be respected:<br />

- [0, 10] Alert range<br />

- [11,50] Warning range<br />

- [51, 254] Information or application range<br />

- 255 Default priority<br />

<strong>MorphoAccess</strong>’ standard AccessControl firmware uses priorities:<br />

- high priority : 0<br />

- warning priority : 11<br />

- USB management priority : 199<br />

- Application default priority : 200<br />

- Default MMI priority : 255<br />

Remote hosts can apply special MMI states between the common existing states (ordered by priority). If a<br />

state exist for priority P, and a remote host set a new state for that priority, the previous one is erased:<br />

there can be several MMI states in MMI stack for one priority.<br />

If priority is not set in ILV command, the default MMI priority (255) is used for the state, so it could be<br />

interrupted very shortly by any other MMI state.<br />

If a MMI state is no longer available, it is deleted from stack, then the state that has the highest priority is<br />

applied. So an applied state can be interrupted by an other one then be applied later.<br />

Warning: if a priority defines, for example, a infinite flashing led color, a new state with the same priority<br />

must be set to avoid this state. In fact, “begin state message” that set infinite state, must be stopped by a<br />

“end state message” that is the same but a short “duration On” (usually 1 to apply it 10 ms).<br />

Full example<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 157


The common <strong>MorphoAccess</strong> application states are represented on right. The remotely sent states are<br />

represented on left.<br />

An host sends 3 commands:<br />

- “start happy hour” for infinite duration<br />

Identifier Length Value<br />

65 1400 01 0D00 05 64000000 64000000 00000000<br />

04 0100 64<br />

- “stop happy hour” that stops the previous state<br />

Identifier Length Value<br />

65 1400 01 0D00 05 01000000 00000000 01000000<br />

- “Online state” that is not<br />

04 0100 64<br />

158 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Identifier Length Value<br />

65 1400 01 0D00 03 00000000 00000000 00000000<br />

04 0100 FE<br />

If “Online state” is remotely applied, then an identification occurs, “Online state” will be replaced by “access<br />

granted” (beep + green flash) or “access denied” (beep + red flash), the will be applied again.<br />

Description<br />

Command<br />

Use this command to change the user interface state:<br />

- led flashing<br />

- buzzer beep<br />

- relay state (opened / closed)<br />

- screen text and bitmap (reserved for a future use for MA5XX)<br />

All these components states could be changed by a common command using sub commands to specify<br />

particular states for each one.<br />

Request<br />

I CMD_SET_MMI_DIS [0x65] 1 byte<br />

L L0 + L1 +…+ LN 2 bytes<br />

V MMI Component command [0] L0 bytes L0 bytes<br />

MMI Component command [1] L1 bytes L1 bytes<br />

…<br />

MMI Component command [N] LN bytes LN bytes<br />

MMI Component command [i]<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 159


Reply<br />

The MMI component command is a “sub ILV” that allows to define the state of each<br />

<strong>MorphoAccess</strong> interface:<br />

• The LED using MMI Component Led.<br />

• The buzzer using MMI Component Buzzer.<br />

• The relay MMI Component Relay.<br />

Note: Only the first MMI Component command is execute for each MMI Component.<br />

Note: these commands do not exist individually: it must not be sent directly to a<br />

terminal.<br />

I CMD_SET_MMI_DIS [0x65] 1 byte<br />

L 1 2 bytes<br />

V Request status 1 byte<br />

Request Status<br />

ILV_OK [0x00] The execution of the function succeeded.<br />

ILVERR_ERROR [0xFF] An error occurred during the execution of the<br />

function.<br />

ILVERR_BADPARAMETER [0xFE] ILV Format incorrect.<br />

160 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MMI DATA DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 161


MMI COMPONENT LED<br />

Description<br />

Turns the led into a flashing mode: the led will flash Number of flashes times as an alternative switch of<br />

lighting (during Duration ON of color Color) to shutting down (during Duration OFF).<br />

Data structure<br />

Notes<br />

I CMD_SUB_MMI_LED [0x01] 1 byte<br />

L 13 2 bytes<br />

V Color (8 bits):<br />

- LED_OFF [ 0x00]<br />

- LED_ON_RED [0x01]<br />

- LED_ON_GREEN [0x02]<br />

- LED_ON_BLUE [0x03]<br />

- LED_ON_WHITE [0x04]<br />

- LED_ON_YELLOW [0x05]<br />

- LED_ON_PURPLE [0x06]<br />

- LED_ON_CYAN [0x07]<br />

- If LED_OFF, all other parameters ignored<br />

Duration ON (unsigned 32 bits big endian) :<br />

- 0x00 00 00 00 means infinite duration<br />

Duration OFF: (unsigned 32 bits big endian):<br />

- ignored if Duration ON = 0x00 00 00 00<br />

Number of flashes: (unsigned 32 bits big endian):<br />

- 0x00 00 00 00 means infinite loop of flashes<br />

- ignored if Duration ON = 0x00 00 00 00<br />

1 byte<br />

4 bytes<br />

4 bytes<br />

4 bytes<br />

Action “Set Led” means needs infinite ON Duration, then ignored OFF duration and Number of flashes<br />

Action “Led switch off” means needs Color set to LED_OFF, and then ignored ON Duration, OFF duration<br />

and Number of flashes.<br />

162 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MMI COMPONENT RELAY<br />

Description<br />

Turns on the relay for Duration. If BlockingState is TRUE, then the terminal waits for Duration before<br />

coming back to normal working.<br />

Data structure<br />

I CMD_SUB_MMI_RELAY [0x03] 1 byte<br />

L 5 2 bytes<br />

V<br />

Blocking state (unsigned 8 bits) :<br />

- AUTHORIZED [0x01]<br />

- DENIED [0x00]<br />

Duration (unsigned 32 bits big endian) :<br />

- 0x00 00 00 00 means infinite duration<br />

1 byte<br />

4 bytes<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 163


MMI COMPONENT BUZZER<br />

Description<br />

Turns the buzzer into a beeping mode: the buzzer will beep Number of beeps times as an alternative<br />

switch of beep (during Duration ON) to shutting down (during Duration OFF).<br />

Data structure<br />

I CMD_SUB_MMI_BUZZER [0x02] 1 byte<br />

L 18 2 bytes<br />

V<br />

State (unsigned 8 bits) :<br />

- BEEP_OFF [0x00]<br />

- BEEP_ON [0x01]<br />

- If BEEP_OFF, all other parameters are ignored<br />

1 byte<br />

Frequency (unsigned 32 bits big endian) 4 bytes<br />

Volume (unsigned 8 bits) from Low (0x00) to High (0x80) 1 byte<br />

Duration ON (unsigned 32 bits big endian) :<br />

- 0x00 00 00 00 means infinite duration<br />

Duration OFF (unsigned 32 bits big endian) :<br />

- ignored if Duration ON = 0x00 00 00 00<br />

Number of beeps (unsigned 32 bits big endian):<br />

- 0x00 00 00 00 means infinite loop of beeps<br />

- ignored if Duration ON = 0x00 00 00 00<br />

4 bytes<br />

4 bytes<br />

4 bytes<br />

164 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MMI COMPONENT PRIORITY<br />

Description<br />

Defines the priority of the global MMI display built by all the previous MMI Component commands.<br />

Data structure<br />

Note<br />

I CMD_SUB_MMI_PRIORITY [0x04] 1 byte<br />

L 1 2 bytes<br />

V Priority level: (unsigned 8 bits) from High (0x01) to Low (0xFE) 1 byte<br />

Only one priority of a specific level should be set at a time. Older MMI Component command of the same<br />

priority level will be erased.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 165


BIOMETRIC DATA DESCRIPTION<br />

166 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


PK_COMP V2<br />

Description<br />

This is the <strong>MorphoAccess</strong> TM native template format.<br />

This template format is compatible with the other SAGEM biometric terminal and system.<br />

The maximum template size is 256 bytes but it can be compressed to 170 bytes without lost of information.<br />

SAGEM recommends using this template format.<br />

Data structure<br />

Note<br />

I PK_COMP V2 [0X02] 1 byte<br />

L L 2 bytes<br />

V Minutiae L bytes<br />

ID_PK_COMP_NORM [0x55] can be used instead of ID_PK_COMP. This is reserved for compatibility with<br />

existing systems or specific usage. For more information please contact SAGEM Sécurité.<br />

The PK_COMP size depends on the number of minutiae. It is usually less than 100 bytes.<br />

See also Verify, Enroll, Add Base Record.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 167


PK_MAT<br />

Description<br />

This is an oldest template format that is still used for compatibility with existing systems.<br />

This template format is only compatible with MorphoKit TM or AFIS that have encoded the PK_MAT in little<br />

endian. (PK_MAT generated by MorphoTouch TM are encoded in big endian).<br />

The template size is equal to 512 bytes.<br />

Data structure<br />

Note<br />

I PK_MAT [0X03] 1 byte<br />

L 512 2 bytes<br />

V Minutiae 512 bytes<br />

ID_PK_MAT_NORM [0x35] can be used instead of ID_PK_MAT. This is reserved for compatibility with<br />

existing systems or specific usage. For more information please contact SAGEM Sécurité.<br />

See also Verify, Enroll, Add Base Record.<br />

168 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


BIOMETRIC CODER SELECTION<br />

Description<br />

This ILV is optional. It can be used to select the type of biometric coder suited to your application. The best<br />

coder strongly depends of the population you plan to enroll using the <strong>MorphoAccess</strong> TM device.<br />

Data structure<br />

Note<br />

I ID_CODER [0X43] 1 byte<br />

L 1 2 bytes<br />

V Coder Algorithm Choice 1 byte<br />

Coder Algorithm Choice<br />

The default coder is the V9 coder, the identification number is 3.<br />

The identification of the juvenile V9 coder is 7.<br />

This provides a solution with reliable performance to the automatic processing of finger images with small<br />

to normal ridges, extending the capability of the terminal by providing access control to a wider range of<br />

population.<br />

Since the encoding time is longer when the juvenile option is turned on, we offer the possibility to the user<br />

set up the terminal either in "Juvenile" mode or in standard mode. When the juvenile mode is turned on,<br />

young children can easily be enrolled on the <strong>MorphoAccess</strong> TM .<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 169


DATABASE DATA DESCRIPTION<br />

170 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


USER INDEX<br />

Description<br />

ILV formatted data that contains the unique internal database index for a record. It is managed by the<br />

<strong>MorphoAccess</strong> database. The value is returned by ENROLL or ADD_BASE_RECORD.<br />

Data structure<br />

Note<br />

I ID_USER_INDEX [0X36] 1 byte<br />

L 4 2 bytes<br />

V Index 4 bytes<br />

See also: Remove Record, Get Data, Update Public Data.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 171


USER ID<br />

Description<br />

ILV formatted data that contains the User ID saved into the database. The size of the data User ID is 24<br />

bytes at the most.<br />

The User ID must be unique in the database. This field is managed as a byte array. If you need to use<br />

string, do not forget to manage the ending ‘\0’.<br />

For an enrollment, the User ID field can be automatically filled with the user database index if the length is<br />

set to 0.<br />

'User ID' can be retrieved by the Identify function when a Hit (match) occurs.<br />

Data structure<br />

Note<br />

I ID_USER_ID [0x04] 1 byte<br />

L L 2 bytes<br />

V ID User L bytes<br />

See also: Enroll, Identify, Add Base Record, Remove Record.<br />

172 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


PKBASE<br />

Description<br />

ILV formatted data containing the database identifier and the record identifier to match with.<br />

Data structure<br />

Note<br />

I PKBASE [0x3A] 1 byte<br />

L 1+ LUID 2 bytes<br />

V Database identifier 1 byte<br />

ILV User ID or User Index LUID<br />

Database identifier<br />

See also Verify.<br />

Number of available databases depends on terminal type and license.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 173


BASE CONFIGURATION<br />

Description<br />

This ILV contains the database configuration.<br />

Data structure<br />

I ID_BASE_CONF [0x3A] 1 byte<br />

L 19 2 bytes<br />

V Database Identifier 1 byte<br />

Base Valid 1 byte<br />

NB Finger/person 1 byte<br />

Max Record Number 4 bytes<br />

Current Record Number 4 bytes<br />

Free Record Number 4 bytes<br />

Fields Number 4 bytes<br />

Database Identifier<br />

Base Valid<br />

Number of available databases depends on terminal type and license.<br />

This flag is set to 1 if the base is valid.<br />

Number Finger/Person<br />

Number of fingers saved per person.<br />

174 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Max Record Number<br />

Maximum number of records in database.<br />

Current Record Number<br />

Number of records currently saved in Database.<br />

Free Record Number<br />

Number of records currently available in Database.<br />

Fields Number<br />

Number of fields used in Database.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 175


ADDITIONAL DATA FIELD DESCRIPTION<br />

176 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


FIELD CONTENT<br />

Description<br />

ILV formatted data packet that contains field content.<br />

Data structure<br />

Note<br />

I ID_FIELD_CONTENT [0x32] 1 byte<br />

L 4 + 4 + L 2 bytes<br />

V Data Index 4 bytes<br />

Data Index<br />

Data Length<br />

Data<br />

Data Length 4 bytes<br />

Data L bytes<br />

Field index that is consistent with database structure.<br />

Field data size.<br />

Buffer of field data.<br />

See also: Get Public Field, Update Public Data.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 177


PUBLIC FIELD<br />

Description<br />

ILV formatted data packet that contains the public field structure definition.<br />

Data structure<br />

Note<br />

I ID_PUBLIC_FIELD or ID_FIELD [0x0F] 1 byte<br />

L 2 + L 2 bytes<br />

V Field Size 2 bytes<br />

Field Size<br />

Field Name<br />

Field Name L bytes<br />

Defines the maximum size (in bytes) of a record. It cannot exceed 128 bytes.<br />

String specifying the field name. The size of this string must be equal to 6.<br />

The size of the public field must not exceed 32 bytes when the number of database records is superior to<br />

100.<br />

See also: Create Database, Base Config.<br />

178 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


PRIVATE FIELD<br />

Description<br />

ILV formatted data packet that contains the private field structure definition.<br />

Data structure<br />

Note<br />

I ID_PRIVATE_FIELD [0x31] 1 byte<br />

L 2 + L 2 bytes<br />

V Field Size 2 bytes<br />

Field Size<br />

Field Name<br />

Field Name L bytes<br />

Defines the maximum size (in bytes) of a record. It cannot exceed 128 bytes.<br />

String specifying the field name. The size of this string must be equal to 6.<br />

The size of the private field must not exceed 32 bytes when the number of database records is superior to<br />

100.<br />

See also: Create Database, Get Base Config.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 179


ADDITIONAL USER DATA<br />

Description<br />

One ILV formatted data containing personal user data to be saved into the database if the Save Record<br />

value is set to TRUE. The content of the data is not interpreted by the system. The user must define the<br />

content of the buffer. All the additional user data fields defined in the Create Database command have to<br />

be set in the Enroll command. Size and order of additional data fields must be consistent with database<br />

structure.<br />

Data structure<br />

Note<br />

I ID_PUC_DATA [0x14] 1 byte<br />

L L 2 bytes<br />

V User Data L bytes<br />

User Data<br />

User Data: Buffer containing the data of the database field. The size of the data can<br />

be up to 128 bytes.<br />

If a field is empty, its length is 0.<br />

The entire ‘Additional User Data field’ defined in Create Database have to be set in the Add Base Record<br />

command.<br />

The number of fingers per person must be the same as defined by Create Database.<br />

'User ID' can be retrieved by the Identify function when a Hit (match) occurs.<br />

Size and order of additional data fields must be consistent with database structure.<br />

See also: Enroll, Identify, Add Base Record, Create Database.<br />

Compatibility note<br />

ID_C_DATA, ID_S_DATA, ID_L_DATA identifiers do not exist anymore.<br />

180 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


NO CHECK ON TEMPLATE<br />

Description<br />

ILV formatted data used with ADD_BASE_RECORD to suppress checks on templates.<br />

Data structure<br />

Note<br />

I ID_NO_CHECK_ON_TEMPLATE [0x60] 1 byte<br />

L 1 2 bytes<br />

V Value 1 byte<br />

Value<br />

If this ILV is present, the value must be set to 0x01 to perform add record without<br />

checks on templates, 0x00 otherwise.<br />

Other values: bad parameter.<br />

See also: Add Record.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 181


TIME MASK<br />

Description<br />

This is the time mask additional field.<br />

Data structure<br />

Note<br />

I ID_TMSK [0x24] 1 byte<br />

L 84 2 bytes<br />

V Time mask 84 bytes<br />

Time mask<br />

Time mask field.<br />

See also: Set time mask and Get time mask.<br />

182 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


SOFTWARE DATA DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 183


SOFTWARE DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION]<br />

Description<br />

This sub ILV defines a software component. A software component is defined by its name and data.<br />

There are two software data types ID_SOFT_EFT and ID_SOFT_BIO.<br />

Structures are identical but ID_SOFT_EFT contains applicative data and ID_SOFT_BIO contains a CBM<br />

software version.<br />

Data structure<br />

Note<br />

I ID_SOFT_EFT [0x10] or<br />

ID_SOFT_BIO [0x20]<br />

1 byte<br />

L L1 + L2 2 bytes or<br />

6 bytes if<br />

extended ILV<br />

V File Name L1 bytes<br />

File Name<br />

Binary Data<br />

Binary Data L2 bytes<br />

The file name in ASCII. “30140110.DDF” or “Version4.5.bin” for example. The string<br />

must be NULL terminated.<br />

The binary file content.<br />

ID_SOFT_EFT: the module is destined to Telium base. It is a Terminal Package.<br />

ID_SOFT_BIO: the module is destined to CBM. It is a CBM Package.<br />

184 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


WIEGAND DATACLOCK DATA DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 185


WIEGAND DATA<br />

Description<br />

This sub ILV describes the data to send on Wiegand output. Data are defined in a high level format; data<br />

sent on Wiegand port depend on the Wiegand configuration stored in the terminal.<br />

Data structure<br />

Note<br />

I ID_WIEGAND_DATA [0x11] 1 byte<br />

L 12 2 bytes<br />

V Site 4 bytes<br />

ID 4 bytes<br />

Custom 4 bytes<br />

Site, ID and Custom data are little endian. Data type is hexadecimal.<br />

186 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


WIEGAND RAW DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION]<br />

Description<br />

This sub ILV describes the data to send on Wiegand output. Data are defined in a raw format; data sent on<br />

Wiegand port are exactly the same as data described in this ILV, without any encapsulation.<br />

Data structure<br />

Note<br />

I ID_WIEGAND_RAW_DATA [0x10] 1 byte<br />

L 4 + N 2 bytes<br />

V Number of bits in raw data buffer 4 bytes<br />

Raw data buffer N bytes<br />

Example, for standard Wiegand 26 bits, number of bits in raw data buffer would be 26 and raw data buffer<br />

would be 4 bytes length, with bits organized like this:<br />

X X X X X X E Site code (8 bits) User ID (16 bits) O<br />

r a w _ b u f f e r [ 0 ] r a w _ b u f f e r [ 1 ] r a w _ b u f f e r [ 2 ] r a w _ b u f f e r [ 3 ]<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 187


DATACLOCK DATA<br />

Description<br />

This sub ILV describes the data to send on Dataclock output. Data is encapsulated according to ISO2<br />

format. In ISO2 format only numerical characters are allowed (0-9).<br />

Data structure<br />

Note<br />

I ID_DATACLOCK_DATA [0x21] 1 byte<br />

L L 2 bytes<br />

V ID L bytes<br />

ID is a null terminated ASCII string. Null character is not sent on Dataclock output.<br />

188 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


DATACLOCK RAW DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION]<br />

Description<br />

This sub ILV describes the data to send on Dataclock output. Data are defined in a raw format; data sent<br />

on Dataclock port are exactly the same as data described in this ILV, without any encapsulation.<br />

Data structure<br />

Note<br />

I ID_DATACLOCK_RAW_DATA [0x20] 1 byte<br />

L 4 + L 2 bytes<br />

V Number of bits in raw data buffer 4 bytes<br />

Raw data buffer L bytes<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31<br />

raw_data_buffer[0] raw_data_buffer[1] raw_data_buffer[2] raw_data_buffer[3]<br />

To send the 26 bits of a 4 bytes raw buffer.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 189


RS485 DATA DESCRIPTION<br />

190 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


RS485 DATA [SAGEM ONLY, NOT SUPPORT IS GIVEN ON THIS FUNCTION]<br />

Description<br />

This sub ILV describes the data to send on RS485 output. Data is sent with format described in Series<br />

Remote Message <strong>Specification</strong>.<br />

Data structure<br />

Note<br />

I ID_RS485_DATA [0x30] 1 byte<br />

L L 2 bytes<br />

V Data to send L bytes<br />

Data type is hexadecimal. Data length cannot exceed 32 bytes.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 191


CONTACTLESS DATA DESCRIPTION<br />

192 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


ADDRESS BIOMETRIC DATA<br />

Description<br />

These parameters give addresses containing the reference minutiae of fingerprint. The reference minutiae<br />

are compressed with algorithm PKCOMP (with MorphoKit for example.)<br />

These addresses define the exact location of the minutiae raw data (So, the PK TAG structure as defined<br />

is not supported in this function).<br />

Data structure<br />

I ID_ADDRPK [0x18] 1 byte<br />

L 3 2 bytes<br />

V Address 3 bytes<br />

Address<br />

An address of card parameter has this structure:<br />

is composed of 3 bytes: .<br />

: First block number to read (1 to 48).<br />

: Number of blocks to read (1 to 48).<br />

: Key number for the read (1or 2).<br />

Blocks are numbered in an absolute way, 1 for block 0 sector 0, then 3 blocks for each<br />

sector.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 193


TERMINAL VERSION DATA DESCRIPTION<br />

194 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


TERMINAL IDENTIFIER<br />

Description<br />

This data returns terminal characteristics.<br />

Data structure<br />

I ID_TERMINAL_IDENTIFIER [0x01] 1 byte<br />

L 24 2 bytes<br />

V Extended Terminal serial number in ASCII 11 bytes<br />

Plate-form Type:<br />

0x00: PLATFORM_UNKNOWN<br />

0x01: PLATFORM_EFT30_V2<br />

0x02: PLATFORM_EFT30_V3<br />

0x03: PLATFORM_EFT930<br />

0x05: PLATFORM_TWIN<br />

0x06: PLATFORM_UCM<br />

0x07: PLATFORM_RADIO_BASE<br />

0x08: PLATFORM_EFT930S<br />

0x09: PLATFORM_MA2G<br />

0x0A: PLATFORM_MA500<br />

1 byte<br />

Embedded MACI Version 4 bytes<br />

ILV receipt buffer size 4 bytes<br />

ILV sender buffer size 4 bytes<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 195


BIOMETRIC SENSOR IDENTIFIER<br />

Description<br />

This data returns biometric sensor version.<br />

Data structure<br />

I ID_BIO_SENSOR_IDENTIFIER [0x02] 1 byte<br />

L 29 + L 1 + L 2 + L 3 2 bytes<br />

V<br />

Bio Sensor state<br />

- 0x01: Bio Sensor detected<br />

- 0xFF: Bio Sensor not found. The sub ILV 0x29 / 0x2B / 0x2A are not<br />

present.<br />

Product Information ILV: Product information data structure definition.<br />

I ID_DESC_PRODUCT [0x29]<br />

L L 1<br />

V String L 1<br />

Sensor Information ILV: Sensor information data structure definition.<br />

I ID_DESC_SENSOR [0x2B]<br />

L L 2<br />

V String L 2<br />

Software Information ILV: Software information data structure definition.<br />

I ID_DESC_SOFTWARE [0x2A]<br />

L L 3<br />

V String L 3<br />

Software Version ILV: ILV formatted data with software release<br />

identification.<br />

I ID_FORMAT_BIN_VERSION [0x74]<br />

L 7<br />

V<br />

Major release number 2 ASCII digits<br />

Separator 1 ASCII dot character (0x2E)<br />

Minor release number 2 ASCII digits<br />

Separator 1 ASCII dot character (0x2E)<br />

Internal release letter 1 ASCII alphabetic low case character<br />

1 byte<br />

L 1 + 3 bytes<br />

L 2 + 3 bytes<br />

L 3 + 3 bytes<br />

10 bytes<br />

196 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Number of Bases.<br />

I ID_FORMAT_BIN_NB_BASE [0x76]<br />

L 1<br />

V Number of base available.<br />

Number of users per base.<br />

I ID_FORMAT_BIN_MAX_USER [0x75]<br />

L 2<br />

V Maximum number of records allowed<br />

4 bytes<br />

5 bytes<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 197


CONTACTLESS FEATURES<br />

Description<br />

This data returns the contactless reader capabilities.<br />

Data structure<br />

I ID_CLSS_IDENTIFIER [0x03] 1 byte<br />

L 5 2 bytes<br />

V Reader type:<br />

0x00: NONE<br />

0x01: MIFARE<br />

0x02: HID<br />

1 byte<br />

Version 4 bytes<br />

198 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MAN MACHINE INTERFACES<br />

Data structure<br />

I ID_MMI_IDENTIFIER [0x04] 1 byte<br />

L 3 2 bytes<br />

V Keyboard Type:<br />

0x00: NONE<br />

0x10: 16 keys<br />

0x12: 18 keys<br />

0x18: 24 keys<br />

Screen Type:<br />

0x00: NONE<br />

0x01: TERM_DISPLAY_2L_ALPHA<br />

0x02: TERM_DISPLAY_2L_GRAPHIC<br />

0x03: TERM_DISPLAY_4L_GRAPHIC<br />

0x04: TERM_DISPLAY_8L_GRAPHIC<br />

0x05: TERM_DISPLAY_GRAPHIC_128x64<br />

0x06: TERM_DISPLAY_GRAPHIC_128x128<br />

Buzzer Type:<br />

0x00: NONE<br />

0x01: BUZZER_TYPE1<br />

1 byte<br />

1 byte<br />

1 byte<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 199


APPLICATION INFORMATION<br />

Description<br />

This data returns application information.<br />

Data structure<br />

I ID_BIO_APPLICATION_INFORMATION [0x05] 1 byte<br />

L 9 + L 1 + L 2 + L 3 2 bytes<br />

V<br />

Name<br />

I ID_APP_NAME [0x01]<br />

L L 1<br />

V String L 1<br />

Version<br />

I ID_APP_VERSION [0x02]<br />

L L 2<br />

V String L 2<br />

Comment<br />

I ID_APP_COMMENT [0x03]<br />

L L 3<br />

V String L 3<br />

L 1 + 3 bytes<br />

L 2 + 3 bytes<br />

L 3 + 3 bytes<br />

200 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


CONFIGURATION DATA DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 201


DATE AND TIME CONFIGURATION<br />

Description<br />

This packet configures the time and the date of the system.<br />

Data structure<br />

I ID_DATE [0x13] 1 byte<br />

L 13 2 bytes<br />

V Time/Date system 13 bytes<br />

Time/Date system<br />

A string of ASCII characters with Day, Month, Years, Hours, minutes and Seconds<br />

each encoded with 2 bytes: “DDMMYYHHmmSS”. For example the string<br />

“010601120000” indicates the 06/01/01 at 12:00:00 clock.<br />

The sting is NULL terminated.<br />

202 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MISCELLANEOUS DATA DESCRIPTION<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 203


MATCHING SCORE<br />

Description<br />

This ILV is optional. It can be used in a request to force the <strong>MorphoAccess</strong> to return the matching score.<br />

In a reply, it contains the matching score value.<br />

Data structure<br />

Note<br />

I ID_MATCHING_SCORE [0x56] 1 byte<br />

L 1 or 4 2 bytes<br />

V Value or Score 1 or 4 bytes<br />

Value or Score<br />

Value: Set to a value different from 0 to force the MorphoSmart to send the resulting<br />

matching score.<br />

Score: Resulting matching score on 4 bytes.<br />

See also: Verify, Identify.<br />

204 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


LATENT DETECTION<br />

Description<br />

This ILV is optional. It can be used in a request to force the <strong>MorphoAccess</strong> to return the matching score.<br />

In a reply, it contains the matching score value.<br />

Data structure<br />

Note<br />

I ID_LATENT_SETTING [0x39] 1 byte<br />

L 1 2 bytes<br />

V Value 1 byte<br />

Value<br />

See also: Enroll.<br />

0x00: the fingerprint latent detection is disabled.<br />

0x01: the fingerprint latent detection is enabled.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 205


IDENTIFIER - STATUS<br />

Remote management<br />

CONSTANT VALUES<br />

DISTANT_SESSION_OPENED 1<br />

DISTANT_SESSION_CLOSED 2<br />

DISTANT_SESSION_MEMORY_ERROR 0xE0<br />

DISTANT_SESSION_GENERIC_ERROR 0xFF<br />

ERROR CODES VALUE<br />

ILV_OK 0 0x00<br />

ILVERR_ERROR -1 0xFF<br />

ILVERR_BADPARAMETER -2 0xFE<br />

ILVERR_INVALID_MINUTIAE -3 0xFD<br />

ILVERR_INVALID_USER_ID -4 0xFC<br />

ILVERR_INVALID_USER_DATA -5 0xFB<br />

ILVERR_TIMEOUT -6 0xFA<br />

ILVERR_INVALID_ID_PROTOCOL -7 0xF9<br />

ILVERR_ALREADY_ENROLLED -8 0xF8<br />

ILVERR_BASE_NOT_FOUND -9 0xF7<br />

ILVERR_BASE_ALREADY_EXISTS -10 0xF6<br />

ILVERR_BIO_ENCOURS -11 0xF5<br />

ILVERR_CMD_ENCOURS -12 0xF4<br />

ILVERR_FLASH_INVALID -13 0xF3<br />

ILVERR_NO_SPACE_LEFT -14 0xF2<br />

206 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


ILVERR_ADMIN_ENCOURS -15 0xF1<br />

ILVERR_BAD_SIGNATURE -16 0xF0<br />

ILVERR_CARD_PROBLEM -17 0xEF<br />

ILVERR_ERROR_SL -18 0xEE<br />

ILVERR_ERROR_WIEGAND -19 0xED<br />

ILVERR_ERROR_TCPIP -20 0xEC<br />

ILVERR_OUTOFFIELD -21 0xEB<br />

ILVERR_INVALID_ACCESS -22 0xEA<br />

ILVERR_FIELD_NOT_FOUND -23 0xE9<br />

ILVERR_FIELD_INVALID -24 0xE8<br />

ILVERR_SECURITY -25 0xE7<br />

ILVERR_USER_NOT_FOUND -26 0xE6<br />

ILVERR_CMDE_ABORTED -27 0xE5<br />

ILVERR_SAME_FINGER -28 0xE4<br />

ILVERR_FAKE_FINGER_DETECTION_DISABLE -29 0xE3<br />

ILVERR_KEY_ALREADY_EXIST -30 0xE2<br />

ILVERR_NO_SUCH_KEY -31 0xE1<br />

ILVERR_BAD_CRC -32 0xE0<br />

ILVERR_BAD_SESSION_STS -33 0xDF<br />

ILVERR_DIFFERENT_SN -34 0xDE<br />

ILVERR_BIO_FAILED -35 0xDD<br />

ILVERR_BAD_SUB_ILV -47 0xD1<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 207


LANGUAGE FILE CONTENT<br />

EXAMPLE<br />

LANGUAGE FILE<br />

A language file is a little endian Unicode file containing a list of message. A line corresponds to one<br />

message.<br />

The Unicode is restricted to the standard ASCII value.<br />

A header describes the file content.<br />

English file:<br />

1<br />

1.0<br />

English<br />

Eng<br />

unicode<br />

1<br />

Header version:<br />

This field is always 1; this field is reserved for compatibility issue.<br />

Language version:<br />

This field is not used by the terminal, this field can be used by user for<br />

identify the stored file.<br />

Language name:<br />

This name is used to select the file by ILV command.<br />

This name is returned by CMD_INTL_GET_LANG_NAME, This name is<br />

used by CMD_INTL_REMOVE_LANG to select file.<br />

This name is used by CMD_INTL_READ_LANG to select file.<br />

This name is used by the terminal to set the file name.<br />

The maximum name length is 10.<br />

Abbreviation.<br />

This field can be displayed on screen.<br />

Encoding type<br />

This field is always Unicode.<br />

Priority:<br />

The priority is used to do a language list. The smallest priority find in the<br />

terminal language file is the default language and the next priority is the<br />

208 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


8<br />

Enter your PIN<br />

please.<br />

second language.<br />

Priority 0 is the default language; priority 1 is the second language…<br />

Number of messages<br />

Welcome - Recognized.<br />

Please present<br />

first finger.<br />

second finger.<br />

Again.<br />

Message ID 0<br />

Message ID 1<br />

Message ID 2<br />

Message ID 3<br />

Message ID 4<br />

Message ID 5<br />

Message ID 6<br />

Message ID 7<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 209


Same language table, in French:<br />

1<br />

1.0<br />

Francais<br />

FRA<br />

unicode<br />

5<br />

8<br />

Saisissez votre<br />

Code.<br />

SVP.<br />

Bienvenue.<br />

Veuillez présenter<br />

L’index droit.<br />

L’index gauche.<br />

A nouveau.<br />

210 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


FILE TYPES<br />

CONFIGURATION FILES<br />

Two types of files exist in the terminal to manage the configuration:<br />

• “CFG” files which contain the values of the keys.<br />

• “DSC” files which contain the description of each key (types, limits, possible values…). The “DSC”<br />

is “a copy” of the “CFG” file but specifying a type for each parameter.<br />

The host can interpret various parameters types and associate a specific input style to each parameter.<br />

It means IP addresses can be typed into an “IP field”, binary choices entered into a check box …<br />

Following types are available:<br />

ST(STRING)<br />

• String,<br />

• IPV4,<br />

• “read only”,<br />

• integer,<br />

• range of integers,<br />

• boolean.<br />

type=st(length)<br />

The key whose type is string accepts any string value. The key’s value can be an empty string.<br />

length<br />

Maximum length of the string (default: CFG_INT_VALUE_MAX_LENGTH)<br />

Key values<br />

This key can take any string value.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 211


IP<br />

Graphic interpretation<br />

An editable field can be used.<br />

Example<br />

terminal name = st(32)<br />

type=ip(attribute)<br />

The key accepts any string that represents IP v4 IP. The key cannot be empty.<br />

attribute<br />

Type of IP version (default value 4):<br />

4 = IP v4<br />

6 = IP v6 (does not exist, reserved for future use)<br />

Key values<br />

This key can take any string value that matches an IP address.<br />

Graphic interpretation<br />

An editable field as “IP” can be used.<br />

Example<br />

terminal ip = ip(4)<br />

RO(READ ONLY)<br />

type=ro(length)<br />

This key designed by ro can be modified from the application but not from a remote host (via Ethernet or<br />

USB). The key cannot be empty.<br />

length<br />

Maximum length of the string (default: CFG_INT_VALUE_MAX_LENGTH)<br />

Key values<br />

This key can take any string value.<br />

Graphic interpretation<br />

This field cannot be edited by user interface.<br />

212 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Example<br />

software revision = ro(32)<br />

IN(INTEGER)<br />

type=in(min, max)<br />

Integer value. This value must be accepted by the C type int.<br />

min<br />

Minimum value that can be taken by the key (default –MAX_INT)<br />

max<br />

Maximum value that can be taken by the key (default +MAX_INT)<br />

Key values<br />

This key can take any value between min and max.<br />

Graphic interpretation<br />

A numerical editable field can be used.<br />

Example<br />

reserved identifier = in(-5000, 5000)<br />

RA(RANGE OF INTEGER)<br />

type=ra(min, max)<br />

Integer value. This value must be accepted by the C type int.<br />

min<br />

Minimum value that can be taken by the key<br />

max<br />

Maximum value that can be taken by the key<br />

Values<br />

This key can take any value between min and max.<br />

Graphic interpretation<br />

A “progress bar” can be used.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 213


Example<br />

buzzer volume = ra(0,10)<br />

Note<br />

There is no difference between “integer” and “range of integer” types: only the graphical interpretation<br />

differs.<br />

BO(BOOLEAN)<br />

type=bo(attribute)<br />

This key can have only 2 values but can be interpreted using several user controls.<br />

attribute<br />

Interpretation type of the Boolean (Default type: t)<br />

y = yes / no<br />

e = enabled / disabled<br />

t = true / false<br />

Key values<br />

1 = TRUE<br />

0 = FALSE<br />

Graphic interpretation<br />

The interpretation of the value can be different according to the user interface use (y, e, t). It can be for<br />

example a “check box”.<br />

Example<br />

bypass authentication = bo(y)<br />

authent PK contactless = bo(e)<br />

214 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


MIFARE TM CONTACTLESS CARD MAPPING<br />

Sector Block Block Block Block Block Block Block Size Real size<br />

0 1 2 3 Key 64 48<br />

1 4 5 6 Key 128 96<br />

2 7 8 9 Key 192 144<br />

…<br />

14 43 44 45 Key 960 720<br />

15 46 47 48 Key 1024 768<br />

16 49 50 51 Key 1088 816<br />

17 52 53 54 Key 1152 864<br />

…<br />

30 91 92 93 Key 1984 1488<br />

31 94 95 96 Key 2048 1536<br />

32 97 98 99 100 101 111 Key 2304 1776<br />

33 112 113 114 115 116 126 Key 2560 2016<br />

…<br />

39 202 203 204 205 206 216 Key 4096 3456<br />

In green : 1 K card.<br />

Only “data block” are counted. Block 1,2,3 contain card serial number.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 215


SETTING UP THE MATCHING THRESHOLD<br />

This parameter can be set to values from 0 to 10. This parameter specifies how tight the matching<br />

threshold is. Threshold scoring values are identified hereafter. It determines the False Acceptance Rate.<br />

0 Low threshold for test purpose<br />

only<br />

1 Very few persons rejected FAR < 1%<br />

2 FAR < 0.3%<br />

3 (Default value) Recommended<br />

value<br />

There are few rejections, but<br />

many recognitions<br />

FAR < 0.1%<br />

4 FAR < 0.03%<br />

5 Intermediate threshold FAR < 0.01%<br />

6 FAR < 0.001%<br />

7 FAR < 0.0001%<br />

8 FAR < 0.00001%<br />

9 Very high threshold (few false<br />

acceptances) Secure application<br />

10 High threshold for test purpose<br />

only<br />

FAR < 0.0000001%<br />

There are very few recognitions,<br />

and many rejections<br />

216 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


Note<br />

DATABASE SIZE LIMITS<br />

The table below indicates the limits for the size of the Database.<br />

The size limits are:<br />

• The maximum number of users at the creation of the Database.<br />

• The maximum number of additional user’s fields per user.<br />

• Additional fields size.<br />

Maximum<br />

Number of Base<br />

Maximum User<br />

Par Base<br />

Maximum<br />

Number<br />

of Field<br />

Maximum size<br />

available for<br />

all fields (Bytes)<br />

MA1xx 1 500 2 64<br />

MA5xx 1 3000 5 167<br />

MA5xx (MA-Xtended licence) 5 10.000 5 167<br />

The maximum size of additional user’s fields per user is 128 bytes.<br />

Because of additional fields size limitation, MA1xx does not manage time mask.<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 217


CONTACTS<br />

218 SAGEM Sécurité document. Reproduction and disclosure forbidden 13/11/2007


SUPPORT<br />

Customer service<br />

Hotline<br />

SAGEM Sécurité<br />

SAV Terminaux Biométriques<br />

Boulevard Lénine - BP428<br />

76805 Saint Etienne du Rouvray<br />

FRANCE<br />

Tel: +33 2 35 64 55 05<br />

SAGEM Sécurité<br />

Support Terminaux Biométriques<br />

24, Av du gros chêne<br />

95610 Eragny – FRANCE<br />

hotline.biometrics@sagem.com<br />

Tel: + 33 1 58 11 39 19<br />

https://www.sagem-ds.com/biometrics-customersupport/<br />

Copyright ©2007 SAGEM Sécurité<br />

http://www.sagem-securite.com/<br />

13/11/2007 SAGEM Sécurité document. Reproduction and disclosure forbidden 219


Siège social : Le Ponant de Paris<br />

27, rue Leblanc - 75512 PARIS CEDEX 15 - FRANCE

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!