MorphoAccess Host System Interface Specification
MorphoAccess Host System Interface Specification
MorphoAccess Host System Interface Specification
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