Open Supervised Device Protocol (OSDP)
Version 2.1.7
Communication Protocol for Peripheral Devices
with Data Security Extension
Copyright 2015
Security Industry Association
DRAFT July 2015
Draft Open Supervised Device Protocol (OSDPv2.1.7)
Foreword
This document, OSDPv2.1.7, is maintained by the SIA Standards Access Control and Identity
Subcommittee. As with many specifications, SIA anticipates that there may be questions,
interpretations, and extensions that may arise when using this specification. Please send all
correspondence of this nature to osdp@siaonline.org. This address will be monitored by SIA staff and
all correspondence will be forwarded to the attention of the SIA Standards Access Control and
Identity Subcommittee.
Supporting documents are also available through SIA that offer application specific guidance for
common and uncommon uses of the OSDP specification.
The SIA OSDP Profile document is a compendium of common use cases and the core SIA OSDP
Messages in addition to Application and Manufacturer Specific Messages required to achieve OSDP
conformance for a particular use case.
The SIA OSDP Application Specific Messages Document, is a continuously updated repository of
messages that have been presented to and accepted by the SIA OSDP WG as a complement to the
core messages of this specification. Application Specific Messages that appear in the SIA OSDP
Application Specific Messages Document have been determined to add new and actionable OSDP
functionality by at least three vendors in the OSDP Working Group.
SIA also hosts a listing of Manufacturer Specific messages. These messages have been submitted for
use by the SIA OSDP community, but have not yet been accepted as part of an official Application
Specific message.
Open Supervised Device Protocol (OSDPv2.1.7) -- DRAFT
Draft Open Supervised Device Protocol (OSDPv2.1.7)
Table of Contents
1
Introduction ........................................................................................................ 1
2 Communication Settings ....................................................................................... 2
2.1 Physical Interface ........................................................................................... 2
2.2 Signaling ....................................................................................................... 2
2.3 Character Encoding ......................................................................................... 2
2.4 Channel Access .............................................................................................. 2
2.5 Multi-byte Data Encoding ................................................................................. 2
2.6 Packet Size Limits ........................................................................................... 2
2.7 Timing .......................................................................................................... 3
2.8 Message Synchronization ................................................................................. 3
2.9 Packet Format ................................................................................................ 4
2.10
2.11
2.12
2.13
2.14
2.15
2.16
SOM – Start of Message ............................................................................... 4
ADDR – Address .......................................................................................... 4
LEN – Length .............................................................................................. 4
CTRL - Control ............................................................................................ 5
Security Block ............................................................................................. 5
CMND/REPLY - Command/Reply Code ............................................................. 6
CHKSUM/CRC16 - Message Check Codes ........................................................ 6
2.17 Messages Supporting the Transfer of Large Data Arrays .................................... 6
3 Commands .........................................................................................................10
3.1 Poll (osdp_POLL) ...........................................................................................10
3.2
ID Report Request (osdp_ID) ..........................................................................10
3.3 Peripheral Device Capabilities Request (osdp_CAP) .............................................11
3.4 Diagnostic Function Request (osdp_DIAG) ........................................................11
3.5
3.6
Local Status Report Request (osdp_LSTAT) .......................................................11
Input Status Report Request (osdp_ISTAT) .......................................................11
3.7 Output Status Report Request (osdp_OSTAT) ....................................................11
3.8 Reader Status Report Request (osdp_RSTAT).....................................................11
3.9 Output Control Command (osdp_OUT) .............................................................12
3.10
3.11
3.12
3.13
3.14
Reader LED Control Command (osdp_LED) .....................................................12
Reader Buzzer Control Command (osdp_BUZ) ................................................15
Reader Text Output Command (osdp_TEXT) ...................................................15
Time and Date Command (osdp_TDSET) -- OBSOLETE ....................................16
Communication Configuration Command (osdp_COMSET) ................................16
i
Draft Open Supervised Device Protocol (OSDPv2.1.7)
3.15
3.16
3.17
3.18
3.19
Data Transfer Command (osdp_DATA) -- OBSOLETE ........................................17
Set Automatic Reader Prompt Strings (osdp_PROMPT) *DRAFT* .......................18
Scan and Send Biometric Template (osdp_BIOREAD) .......................................19
Scan and Match Biometric Template (osdp_BIOMATCH) ....................................20
Continue Multi-Part Message (osdp_CONT) .....................................................20
3.20 Manufacturer Specific Command (osdp_MFG) ................................................21
3.21
Stop Multi Part Message (osdp_ABORT) .........................................................21
3.22 Maximum Acceptable Reply Size (osdp_MAXREPLY) .........................................22
4 Replies ..............................................................................................................23
4.1 General Acknowledge, Nothing to Report (osdp_ACK) .........................................23
4.2 Negative Acknowledge – SIO Comm Handler Error Response (osdp_NAK) ..............23
4.3 Device Identification Report (osdp_PDID) .........................................................24
4.4 Device Capabilities Report (osdp_PDCAP) ..........................................................24
4.5
4.6
Local Status Report (osdp_LSTATR) ..................................................................25
Input Status Report (osdp_ISTATR) ..................................................................25
4.7 Output Status Report (osdp_OSTATR) ..............................................................25
4.8 Reader Tamper Status Report (osdp_RSTATR) ...................................................26
4.9 Card Data Report, Raw Bit Array (osdp_RAW) ....................................................26
4.10
4.11
4.12
4.13
4.14
Card Data Report, Character Array (osdp_FMT) ...............................................27
Keypad Data Report (osdp_KEYPAD) .............................................................27
Communication Configuration Report (osdp_COM) ...........................................27
Scan and Send Biometric data (osdp_BIOREADR)............................................28
Scan and Match Biometric Template (osdp_BIOMATCHR) ..................................28
4.15 Manufacturer Specific Reply (osdp_MFGREP) ..................................................29
4.16
PD Busy Reply (osdp_BUSY).........................................................................30
APPENDIX A - Command and Reply Code Numbers ........................................................31
Commands ...........................................................................................................31
Replies .................................................................................................................33
Appendix B - Function Code Definitions List ..................................................................34
Function Code 1 – Contact Status Monitoring .............................................................34
Function Code 2 – Output Control ............................................................................34
Function Code 3 - Card Data Format .........................................................................35
Function Code 4 – Reader LED Control ......................................................................35
Function Code 5 – Reader Audible Output ..................................................................35
Function Code 6 – Reader Text Output ......................................................................35
Function Code 7 – Time Keeping ..............................................................................36
Function Code 8 – Check Character Support ..............................................................36
Function Code 9 – Communication Security ...............................................................36
ii
Draft Open Supervised Device Protocol (OSDPv2.1.7)
Function Code 10 – Receive BufferSize ......................................................................36
Function Code 11 – Largest Combined Message Size ...................................................37
Function Code 12 – Smart Card Support ...................................................................37
Function Code 13 – Readers ....................................................................................37
Function Code 14 – Biometrics .................................................................................37
APPENDIX C - CRC Definition ......................................................................................39
Appendix D – Encryption ............................................................................................41
D.1
Commands ..................................................................................................41
D.2
Replies ........................................................................................................42
D.3
Encryption Method: OSDP-SC .........................................................................42
SEC_BLK_TYPE Assignment .....................................................................................43
Appendix F – Test Vectors ..........................................................................................50
CRC (CCITT-1021) .................................................................................................50
Checksum.............................................................................................................50
Sample Secure Channel establishment session: .........................................................50
References ...............................................................................................................51
iii
Draft Open Supervised Device Protocol (OSDPv2.1.7)
Revision History
2015/037/15
- Marked “version 2.1.7”
- Corrected numerous typographical errors
- Removed Patent Information Clause
- Removed Appendix E – Messages for Smartcard Support
- Updated Foreword to include information on how to access Application
2014/05/12
Specific Message Documentation and Application Profiles
- Added Multi-Part Message Support and 2.17 Messages Supporting the
Transfer of Large Data Arrays
- Renamed “Fingerprint Formats” in 3.17, “Biometric Formats”
- Updated 3.20 Manufacturer Specific Command (osdp_MFG)
- Updated STATUS values in 4.13 and 4.14 osdp_BIOREADR and
osdp_BIOMATCHR
- Updated Appendix A – Command and Reply Code Numbers
- LED
- Marked “version 2.1.6”
- Reformatted Document (SIA)
- Corrected numerous typographical errors within document including
repeated words, unclear symbols, improper spacing.
- Updated Patent Information Clause to call out Transparent Mode explicitly.
- Updated Section 2.4 Channel Access to include a special case for an
unavailable PD.
- Clarified that Multi-Part messages are not supported by OSDP
- Marked 3.13 Time & Date Command Obsolete
- Marked 3.15 Data Transfer Command Obsolete
- Marked 3.16 Set Automatic Reader Prompt Strings (osdp_PROMPT) as
Draft
- Section 4.16 PD Busy Replay, Updated and clarified.
- Appendix A – Added Function Code 12 – Readers and Function Code 13 –
Biometrics
- Appendix D – Outlined the process upfront and updated section D.4.9 Field
Deployment.
Formatted: Indent: Left: 0", First line: 0"
- Appendix D – Section 4.5 Padding clarified.
2012/09/28
2012/03/21
- Update the secure messaging protocol to exclude cmd/reply from the
- Marked “version 2.1.5”
- Replaced contradicting incidences of REPLY DELAY and REPLY TIMEOUT
- Recommend CRC method for new devices
- Marked Section 4.1.3 as Obsolete
- Expanded PD Busy Reply definition
- Added Blue color value in Section 4.10
- Marked “Version 2.1.4”
encrypted portion
- Mandate either CheckSum or CRC even when the message is sent over
secure channel (i.e. has a MAC)
- Clarifications on when CheckSum/CRC is invalid & security conditions are
not satisfied
iv
Draft Open Supervised Device Protocol (OSDPv2.1.7)
2012/03/05
- Introduce PD busy Reply message
- Secure messaging cleanup/clarifications/diagrams
- Test vectors
- Marked “Version 2.1.3”
2012/02/29
- marked “Version 2.1.2”
Removed the “Smart Card Specific” commands and replaced them with
alternate messages in a new appendix, Appendix E. Messages removed
from the main body: osdp_XMIT, osdp_RMODE, osdp_SPE, osdp_SCDONE,
osdp_SCREP, osdp_PRES, and osdp_SPER.
- Moved paragraph addressing cks/crc error handling from 2.7 to 3.7 and
changed the recommended behavior to send osdp_NAK.
- defined osdp_NAK error code 0x01 as bad cks/crc/mac[4]
2011/09/02
- Appendix D: modified the “Notes” section of the osdp_KEYSET command,
- added value assignment table for SCS_xx codes
- added a definition for “Padding”, updates MAC, Wrap, and Unwrap
accordingly
- In 2.7, increased the max REPLY DELAY from 50 ms to 200 ms (missed
earlier)
2011/08/11
- updated the Copyright list to include the three main contributors: Merc,
HID, & Codebench
In 2.4, increased the max REPLY DELAY from 50 ms to 200 ms
2011/06/28
- numerous updates: expanded description of the message header
components: CTRL::CKSUM/CRC and MULTI; Security Block
Expanded structures for osdp_BIOREAD, osdp_BIOMATCH,
osdp_BIOREADR, and osdp_BIOMATCHR
Revised Appendix D
2011/03/17
2010/11/12
- minor updates to Secure PIN Entry description
- added smart card commands and replies
–
–
–
2009/08/14
2009/02/07
2009/01/13
2007/03/07
removed Reply Status Field
updated Appendix C
reformatted document (Codebench)
- defined NAK codes 5 and 6 for Reply 0x41
- Added Appendix C "Preliminary" encryption extension specifications
- Added encryption support commands and replies
- Added the Data Transfer command – 0x6F
- Extended the usage specification of "temp text time" in Command 0x6B
- Changed the name of the protocol from "Pdp-1" to OSDP. It stands for
"Open Supervised Device Protocol"
2007/01/26
- Defined address = 0x7F for "broadcast" support mode, (HID/MM)
- Default communication address and baud rate assignment
recommendations (HID/MM)
- Command 0x6E and Reply 54: communication address and baud rate
configuration (HID/MM)
- Command 0x80 and Reply 0x90 "pass-through" messages (HID/MM)
- Updated Reply 0x53, showing key encoding guidelines
v
DRAFT Open Supervised Device Protocol (OSDP v. 2.1.7)
1
Introduction
This document describes the communication protocol for interfacing one or more Peripheral Devices
(PD) to a Control Panel (CP). This document specifies the protocol implementation over a two-wire
RS-485 multi-drop serial communication channel. This protocol may be used as a foundation for
deployment over other media.
Open Supervised Device Protocol (OSDPv2.1.7)
1 of 47