Appendix C: Tag-length-value (TLV) Payload Text Representation Format
C.1. Introduction
This section describes a means by which to depict TLV payloads in a more user-friendly, textual rep resentation.
C.2. Format Specification
C.2.1. Tag/Value
TLV elements are tag/value pairs. As such, their general textual representation is as follows:
tag = value |
C.2.2. Context-Specific Tags
The basic representation of a context-specific tag is a single scalar number. TLV entries using context-specific tags MAY use the basic representation alone:
2 = “hello” |
If the tag has a name from an associated schema, it MAY be represented using that name. The basic representation MAY also be appended in parentheses (“(“, “)”):
name (2) = “hello” |
C.2.3. Protocol-Specific Tags
The basic representation of a protocol-specific tag SHALL be fully-qualified with “::” separating the vendor id and the protocol number and “:” separating the protocol number and tag number. The vendor id, protocol number and tag number are each represented using a single scalar number represented in hexadecimal notation.
0x0000::0x0000:0x01 = 10 |
If the tag has a name from an associated schema, it MAY be represented using that name. The basic representation MAY also be appended in parentheses (“(“, “)”):
SmartSensorsCompany::SensingProtocol:Extension (0x00ef::0x00aa:0x01) = 10 |
C.2.4. Anonymous Tags
TLV entries using anonymous tags SHALL display the value alone:
“hello” |
C.2.5. Primitive Types
Signed Integer:
duration = 20 |
Unsigned Integer:
duration = 20U |
If the value is a defined constant, or enumerated value, then the string literal MAY be provided as well:
mode = FAST (20U) |
UTF-8 string:
name = “Jonah” |
Octet String (listed as 8-bit hex digits):
data = 2f 2a fd 11 33 e2 … |
Floats:
temp = 20.234 |
Booleans:
isOn = false |
isOn = true |
Null:
temp = null |
C.2.6. Complex Types: Structure
Braces (“{“, “}”) SHALL be used to convey the start and end of structure scope, with the members separated by commas:
user-record = { name = “Jonah”, pin = 1122 } |
C.2.7. Complex Types: Arrays
Square brackets (“[“, “]”) SHALL be used to convey array scope, with elements in the array sepa rated by commas (“,”). Since elements in the array are required to be anonymous, each element SHALL display the value alone:
temp-samples = [20, 30, 40] |
C.2.8. Complex Types: List
Double square brackets (“[[“, “]]”) SHALL be used to convey list scope, with elements in the list sepa rated by commas (“,”). Since a diversity of tag types can be used in a list (including duplicates), the tags SHALL always be present and explicitly stated:
AttributePath = [[ EndpointId = 20, ClusterId = 40 ]] |
C.3. Examples
C.3.1. TLV Schema
This is a sample TLV schema that will be used to define example TLV payloads.
temp-sample => STRUCTURE { timestamp [1] : UNSIGNED INTEGER [ range 32-bits ], temperature [2] : FLOAT64, } |
accel-sample => STRUCTURE { x [1] : SIGNED INTEGER [ range 16-bits ], y [2] : SIGNED INTEGER [ range 16-bits ], z [3] : SIGNED INTEGER [ range 16-bits ] } temp-features-enum => UNSIGNED INTEGER [ range 0…3 ] { HAS_TEMP_COMPENSATION = 1, SUPPORTS_THRESHOLD_TRIGGERS = 2 } accel-features-enum => UNSIGNED INTEGER [ range 0…3 ] { SUPPORTS_HIGH_SAMPLING = 1, SUPPORTS_THRESHOLD_TRIGGERS = 2 } sensor-state => STRUCTURE { temperature-samples [1] : ARRAY OF temperature-sample, accel-samples [2] : ARRAY OF accel-sample, manufacturer-name [3]: STRING,
// List of lists. If present, one or more of the feature lists will be present. feature-map [4,optional] : LIST {temp-features[1]: ARRAY OF temp-features-enum, accel-features[2]: ARRAY OF accel-features-enum}, supports-idle [5] : BOOLEAN, num-power-modes[6]: UNSIGNED INTEGER [ range 8-bits ], supported-extensions[7] : LIST OF STRING } |
C.3.2. TLV Payloads
C.3.2.1. Temperature Sample
temperature-sample-example = { timestamp (1) = 2023423U, temperature (2) = 72.0 } |
- Accelerometer Sample
accelerometer-sample-example = { x (1) = 10, y (2) = 20, z (3) = 30 } |
- Sensor State
sensor-state-example = { temperature-samples (1) = [ { timestamp (1) = 2023423U, temperature (2) = 72.0 }, { timestamp (1) = 2023U, temperature (2) = 69.2 }, ], accel-samples (2) = [ { x (1) = 10, y (2) = 20, z (3) = 30, }, { x (1) = 1, y (2) = 2, z (3) = 3, }, ], manufacturer-name (3) = “SmartSensors Ltd”, feature-map (4) = [[ temp-features (1) = [ HAS_TEMP_COMPENSATION (1), SUPPORTS_THRESHOLD_TRIGGERS (2) ], |
accel-features (2) = [ SUPPORTS_THRESHOLD_TRIGGERS (2) ] ]], supports-idle (5) = false, num-power-modes (6) = 2U, supported-extensions (7) = [[ SMARTSENSORS::SensingProtocol:Extension (0x00ef::0x00aa:0x01) = “SUPPORTS_SMART_AVERAGING” ]] } |
Chapter 1. Introduction
The Matter specification defines fundamental requirements to enable an interoperable application layer solution for smart home devices over the Internet Protocol.
1.1. Scope and Purpose
This specification details everything necessary to implement an application and transport layer stack. It is intended to be used by implementers as a complete specification but where necessary other references are noted with details on how these references apply to this specification.
In case of discrepancies between this specification and the SDK [https://github.com/project-chip/connect
edhomeip/], this specification SHALL take precedence.
1.2. Acronyms and Abbreviations
Acronym | Definition |
ACL | Access Control List |
AGID | Application Group Identifier |
AEAD | Authenticated Encryption with Associated Data |
AES | Advanced Encryption Standard (from FIPS 197) |
AP | Access Point |
API | Application Programming Interface |
ASN.1 | Abstract Syntax Notation 1 (from ITU ASN.1) |
BLE | Bluetooth Low Energy |
BDX | Bulk Data Exchange |
BTP | Bluetooth Transport Protocol |
CA | Certificate Authority (also known as Certification Authority) |
CASE | Certificate Authenticated Session Establishment |
CAT | CASE Authenticated Tag |
CBC-MAC | Cipher Block Chaining Message Authentication Code |
CCM | Counter mode of encryption with CBC-MAC (AEAD mode) (from NIST 800-38C) |
CD | Certification Declaration |
CMS | Cryptographic Message Syntax |
CN | Common Name (from X.520) |
CSR | Certificate Signing Request |
CTR | Counter Mode (AES block cipher mode) (from NIST 800-38A) |
Acronym | Definition |
DAC | Device Attestation Certificate |
DER | Distinguished Encoding Rule (from X.690) |
DN | Distinguished Name (from X.520) |
DNS | Domain Name System |
DNS-SD | DNS Based Service Discovery (from RFC 6763) |
DRBG | Deterministic Random Bit Generator (from NIST 800-90A) |
ECC | Elliptic Curve Cryptography (from SEC 1) (also “Error Correction Code”) |
ECDHE | Elliptic Curve Ephemeral Diffie-Hellman (from SEC 1) |
ECDSA | Elliptic Curve Digital Signature Algorithm (from SEC 1) |
EUI | Extended Unique Identifier |
EUI-64 | 64-bit EUI |
GATT | Bluetooth Generic Attribute Profile |
GID | Group Identifier (also referred to as “Group ID”) |
GKH | Group Key Hash |
GUA | Global Unicast Address |
HMAC | Keyed-Hash Message Authentication Code (from FIPS 198-1) |
ID | Identifier |
IP | Internet Protocol |
IPK | Identity Protection Key (a Universal Group key shared across a Fab ric) |
KDF | Key Derivation Function (from RFC 5869) |
KDM | Key Derivation Method (from RFC 5869) |
LLA | Link local address |
LLN | Low power and Lossy Network |
MAC | Medium Access Control (or “Message Authentication Code”) |
MCSP | Message Counter Synchronization Protocol |
MIC | Message Integrity Code (used as synonym for MAC (Message Authen tication Code) to avoid confusion with MAC (Medium Access Control) as used in network addressing contexts) |
MRP | Message Reliability Protocol |
NFC | Near Field Communication |
NOC | Node Operational Certificate |
NOCSR | Node Operational Certificate Signing Request |
Acronym | Definition |
OID | Object Identifier (from ITU ASN.1) |
OTA | Over-the-air (used mostly in context of “Over-the-air Software Update”) |
PAA | Product Attestation Authority |
PAI | Product Attestation Intermediate |
PAKE | Password-Authenticated Key Exchange (from SPAKE2+) |
PASE | Passcode-Authenticated Session Establishment |
PBKDF | Password-Based Key Derivation Function (from NIST 800-132) |
PDU | Protocol Data Unit |
PKI | Public Key Infrastructure |
PID | Product Identifier (also Product ID) |
PIN | Personal Identification Number |
QR code | Quick Response (code) |
SDU | Service Data Unit |
SED | Sleepy End Device |
SHA | Secure Hash Algorithm (from FIPS 180-4) |
SRP | Service Registration Protocol (from SRP) |
TCP | Transmission Control Protocol |
TFTP | Trivial File Transfer Protocol (from RFC 1350) |
TLV | Tag Length Value (refers mostly to Tag-length-value (TLV) Encoding Format) |
TRNG | True Random Number Generator (from NIST 800-90B) |
UDP | User Datagram Protocol |
UGID | Universal Group Identifier |
ULA | Unique local address |
UTC | Universal Time Coordinated |
UUID | Universally Unique Identifier |
VID | Vendor Identifier (also Vendor ID) |
ZCL | Zigbee Cluster Library |
1.3. Definitions
Term | Definition |
Access Control List | A list of entries in the Access Control Cluster expressing individual rules which grant privileges to access cluster elements. |
Term | Definition |
Administrator | A Node having Administer privilege over at least the Access Control Cluster of another Node. |
Advertising Data | A data container used in BLE Advertisements to convey a logical grouping of information. |
Attribute | A data entity which represents a physical quantity or state. This data is com municated to other Nodes using commands. |
Binding | A persistent attachment between an instance on one Node to one-or-more cor responding instances on another (or the same) Node. |
Border Router | A router, also known as Edge Router, that provides routing services between two IP subnets (typically, between a hub network and a peripheral network). |
Bridge | A Node that represents one or more non-Matter devices on the Fabric. |
Bridged Device | A non-Matter device that is represented on the Fabric by a Bridge so it can be used by Nodes on the Fabric. |
Broadcast | The transmission of a message to every Node in a particular broadcast domain, be it all Nodes on a Ethernet or Wi-Fi link, and/or all Nodes on a Thread mesh. |
Certificate Author ity (CA) | An entity that issues digital certificates such as a DAC or NOC |
Certification Dec laration | A digitally signed token that conveys Matter certification status of a vendor’s certified Device. |
Client | A Cluster interface that typically sends commands that manipulate the attributes on the corresponding server cluster. A client cluster communicates with a corresponding remote server cluster with the same cluster identifier. |
Cluster | A specification defining one or more attributes, commands, behaviors and dependencies, that supports an independent utility or application function. The term may also be used for an implementation or instance of such a specifi cation on an endpoint. |
Command | Requests for action on a value with an expected response which may have parameters and a response with a status and parameters. |
Commission | To bring a Node into a Fabric. |
Commissionable Node | A Node that is able to be commissioned. Specific actions such as a button press may be required to put a Commissionable Node into Commissioning Mode in order for it to allow Commissioning. |
Commissionable Node Discovery | Discovery of a Node that is able to be Commissioned, but not necessarily in Commissioning Mode, for the purpose of performing Commissioning. The Node may be brand new, after factory reset, or it may have have already been Commissioned. |
Commissioner | A Role of a Node that performs Commissioning. |
Term | Definition |
Commissioner Dis covery | Discovery of a Commissioner. |
Commissionee | An entity that is being Commissioned to become a Node. |
Commissioning | Sequence of operations to bring a Node into a Fabric by assigning an Opera tional Node ID and Node Operational credentials. |
Commissioning Channel | A Secure Channel used to perform Commissioning. |
Commissioning Mode | The mode of a Node in which it allows Commissioning. |
Controller | A Role of a Node that has permissions to enable it to control one or more Nodes. |
Controlee | A Role of a Node that has permissions defined to enable it to be controlled by one or more Nodes. |
Device | A piece of equipment containing one or more Nodes. |
Device Attestation Certificate | An RFC 5280 [https://www.rfc-editor.org/rfc/rfc5280] compliant X.509 v3 document with attestable attributes. |
Discriminator | A 12-bit value used to discern between multiple commissionable Matter device advertisements. See Discriminator value. |
Endpoint | A particular component within a Node that is individually addressable. |
Endpoint Address | The address assigned to an Endpoint. |
Fabric | A logical collection of communicating Nodes, sharing a common root of trust, and a common distributed configuration state. |
Information Ele ment | A Wi-Fi (IEEE 802.11-2020) data container used to convey various information regarding a particular Wi-Fi network’s capabilities and operation. |
Key Center | A system component which takes the NOCSR from a Commissioner and allo cates an Operational Node ID that is unique to the Fabric, inserts this Opera tional Node ID as the DN into the NOC, and signs the NOC. |
Manual Pairing Code | An 11-digit or 21-digit numeric code that can be manually entered/spoken instead of scanning a QR code, which contains the information needed to com mission a Matter device. |
Network | A set of nodes that have addressability, connectivity, and reachability to one another via Internet Protocol. |
Node | An addressable entity which supports the Matter protocol stack and (once Commissioned) has its own Operational Node ID and Node Operational cre dentials. A Device MAY host multiple Nodes. |
Operational Dis covery | Discovery of a previously commissioned Node for the purpose of performing operations with that Node. |
Onboarding Pay load | The information needed to start the process of commissioning a Device. |
Term | Definition |
OTA Provider | A Node implementing the OTA Software Update Provider role (see OTA Soft ware Update Provider Cluster). |
OTA Requestor | A Node implementing the OTA Software Update Requestor role (see OTA Soft ware Update Requestor Cluster). |
Product Attesta tion Authority | An entity which operates a root level Certificate Authority for the purpose of Device Attestation. |
Product Attesta tion Intermediate | An entity which operates an intermediate level Certificate Authority for the purpose of Device Attestation. |
Product ID (PID) | A 16-bit number that identifies the type of a Device, uniquely among the prod uct types made by a given vendor. See Product ID. |
QR Code | A machine-readable optical label that contains information about the item to which it is attached (see QR Code). |
Role | Some set of (related) behaviors of a Node. Each Node can have multiple roles. |
Router | A device that provides routing services in its network in cooperation with other Routers. |
Soft-AP | A device utilizing Wi-Fi (IEEE 802.11-2020) Access Point (AP) functionality to advertise its presence and allow IP-bearing connections but does not offer Internet connectivity. |
Secure Channel | A channel in which messages are encrypted and authenticated. Unicast secure channels also provide authentication of each peer. |
Server | A Cluster interface that typically supports all or most of the attributes of the Cluster. A Server Cluster communicates with a corresponding remote Client Cluster with the same Cluster identifier. |
Service Discovery | The ability of a Node to locate services of interest. |
Software Image | A data blob, equivalent to a file, utilized by a Node to update its software. For the purposes of OTA Software Update, this further refers to files conforming to the OTA Software Image File Format. |
Thread | A low-power IEEE 802.15.4-based IPv6 mesh networking technology (see Thread specification). |
Vendor | The organization that made a Device. |
Vendor ID (VID) | A 16-bit number that uniquely identifies the Vendor of the Device. See Vendor ID. |
1.4. Standards Terminology Mapping
Matter | HomeKit | Weave | Thread | Zigbee |
Administrator | Admin | Fabric provisioner | Commissioner | Coordinator |
Attribute | Characteristics | Property | Attribute |
Matter | HomeKit | Weave | Thread | Zigbee |
Binding | Event subscription | Subscription | Link | Binding |
Broadcast | Broadcast | Broadcast | ||
Client | Service client | Client | Client | |
Cluster | Services | interface | Cluster | |
Cluster | Trait | Service | Cluster | |
Command | Command | Command | Command | Command |
Commissioning | Pairing | Pairing | Commissioning | Association |
Commissioner | Admin | Fabric provisioner | Commissioner | Coordinator |
Device | Accessory | Device | Device | Device |
End Device | End Device | End Device | ||
Endpoint | Profile | Resource | Interface | Endpoint |
Endpoint Address | Device ID | Resource ID | Endpoint Identi fier | Endpoint address |
Fabric | Network | Fabric | Partition | Network |
Network Manager | Device / Controller | Nest Service | Leader | Network manager |
Node | Accessory | Node | Node | Node |
Router | Router | Router | ||
Server | Service host | Server | Server | |
Service Discovery | Service directory | Service Discovery |
1.5. Conformance Levels
The key words below are usually capitalized in the document to make the requirement clear.
Key Word | Description |
MAY | A key word that indicates flexibility of choice with no implied preference. |
NOT | A key word that used to describe that the requirement is the inverse of the behav ior specified (i.e. SHALL NOT, MAY NOT, etc) |
SHALL | A key word indicating a mandatory requirement. Designers are required to imple ment all such mandatory requirements. |
SHOULD | A key word indicating flexibility of choice with a strongly preferred alternative. Equivalent to the phrase is recommended. |
1.6. References
The following standards and specifications contain provisions, which through reference in this doc ument constitute provisions of this specification. All the standards and specifications listed are nor
mative references. At the time of publication, the editions indicated were valid. All standards and specifications are subject to revision, and parties to agreements based on this specification are encouraged to investigate the possibility of applying the most recent editions of the standards and specifications indicated below.
1.6.1. CSA Reference Documents
Reference | Reference Location/URL | Description |
[CSA-05- 03874] | https://groups.csa-iot.org/wg/ members-all/document/ 10905 | CSA Manufacturer Code Database |
[AppClusters] | https://github.com/CHIP- Specifications/connected homeip-spec/raw/build-sam ple/pdf/appclusters.pdf | Application Clusters – Under development |
[Matter Brand Guide lines] | https://groups.csa-iot.org/wg/ members-all/document/ 22901 | Matter Brand Guidelines |
1.6.2. External Reference Documents
Reference | Reference Location/URL | Description |
[AdProx] | https://tools.ietf.org/html/ draft-sctl-advertising-proxy | Advertising Proxy for DNS-SD SRP |
[ANSI C18] | https://ansi.org | ANSI C18 Standards on Portable Cells and Batteries |
[Bluetooth®] | https://www.bluetooth.org/ docman/handlers/download doc.ashx?doc_id=441541 | Bluetooth® Core Specification 4.2 |
[FIPS 180-4] | https://csrc.nist.gov/publica tions/detail/fips/180/4/final | NIST FIPS 180-4 Secure Hash Standard (SHS), August 2015 |
[FIPS 186-4] | https://csrc.nist.gov/publica tions/detail/fips/186/4/final | NIST FIPS 186-4 Digital Signature Standard (DSS), July 2013 |
[FIPS 197] | https://doi.org/10.6028/ NIST.FIPS.197 | NIST FIPS 197 Advanced Encryption Standard (AES), November 2001 |
[FIPS 198-1] | https://csrc.nist.gov/publica tions/detail/fips/198/1/final | NIST FIPS 198-1 The Keyed-Hash Message Authentica tion Code (HMAC), July 2008 |
[IEC 60086] | https:///www.iec.ch | IEC 60086 standard for Primary Batteries |
[IEEE 754- 2019] |
https://ieeexplore.ieee.org/ document/8766229 | “IEEE Standard for Floating-Point Arithmetic,” in IEEE Std 754-2019 (Revision of IEEE 754-2008) July 2019, doi: 10.1109/IEEESTD.2019.8766229. |
Reference | Reference Location/URL | Description |
[IEEE 802.11- 2020] |
https://standards.ieee.org/ standard/802_11-2020.html | IEEE 802.11-2020 – IEEE Standard for Information Technology – Telecommunications and Information Exchange between Systems – Local and Metropolitan Area Networks – Specific Requirements – Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications |
[ISO 639] | https://www.iso.org/iso-639- language-codes.html | Language Codes |
[ISO/IEC 1800 4:2015] |
https://www.iso.org/stan dard/62021.html | Information technology – Automatic identification and data capture techniques – QR Code bar code sym bology specification |
[ITU ASN.1] | https://www.itu.int/en/ITU-T/ asn1/Pages/asn1_pro ject.aspx | ITU ASN.1 Project |
[NFCForum- TS-NDEF 1.0] | https://nfc-forum.org/our- work/specification-releases/ specifications/nfc-forum- technical-specifications | Data Exchange Format (NDEF) Technical Specifica tion, NFC Forum |
[NFCForum- TS-RTD 1.0] | https://nfc-forum.org/our- work/specification-releases/ specifications/nfc-forum- technical-specifications/ | Record Type Definition (RTD) Technical Specification, NFC Forum |
[NFCForum- TS- RTD URI 1.0] |
https://nfc-forum.org/our- work/specification-releases/ specifications/nfc-forum- technical-specifications/ | URI Record Type Definition Technical Specification, NFC Forum |
[NIST 800- 38A] | https://nvlpubs.nist.gov/nist pubs/Legacy/SP/nistspe cialpublication800-38a.pdf | NIST SP 800-38A Recommendation for Block Cipher Modes of Operation: Methods and Techniques, December 2001 |
[NIST 800- 38C] | https://nvlpubs.nist.gov/nist pubs/Legacy/SP/nistspe cialpublication800-38c.pdf | NIST SP 800-38C Recommendations for Block Cipher Mode of Operation: The CCM Mode for Authentication and Confidentiality, Morris Dworkin, May 2004 (errata update 2007) |
[NIST 800- 90A] | https://csrc.nist.gov/publica tions/detail/sp/800-90a/rev-1/ final | NIST SP 800-90A Rev. 1 Recommendation for Random Number Generation Using Deterministic Random Bit Generators |
[NIST 800- 90B] | https://csrc.nist.gov/publica tions/detail/sp/800-90b/final | NIST SP 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation |
[NIST 800- 132] |
https://nvlpubs.nist.gov/nist pubs/Legacy/SP/nistspe cialpublication800-132.pdf | NIST SP 800-132 Recommendation for Password- Based Key Derivation, Part 1: Storage Applications, December 2010 |
Reference | Reference Location/URL | Description |
[NIST 800- 186] |
https://nvlpubs.nist.gov/nist pubs/SpecialPublications/ NIST.SP.800-186-draft.pdf | NIST Draft SP 800-186 Recommendation for Discrete Logarithm-Based Cryptography, October 2019 |
[RFC 1350] | https://www.rfc-editor.org/ rfc/rfc1350 | The TFTP Protocol (Revision 2) |
[RFC 2119] | https://www.rfc-editor.org/ rfc/rfc2119 | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997 |
[RFC 2782] | https://www.rfc-editor.org/ rfc/rfc2782 | A DNS RR for specifying the location of services (DNS SRV) |
[RFC 2986] | https://www.rfc-editor.org/ rfc/rfc2986 | PKCS #10: Certification Request Syntax Specification Version 1.7 |
[RFC 3306] | https://www.rfc-editor.org/ rfc/rfc3306 | Unicast-Prefix-based IPv6 Multicast Addresses |
[RFC 3587] | https://www.rfc-editor.org/ rfc/rfc3587 | IPv6 Global Unicast Address Format |
[RFC 3986] | https://www.rfc-editor.org/ rfc/rfc3986 | Uniform Resource Identifier (URI) |
[RFC 4007] | https://www.rfc-editor.org/ rfc/rfc4007 | IPv6 Scoped Address Architecture |
[RFC 4191] | https://www.rfc-editor.org/ rfc/rfc4191 | Default Router Preferences and More-Specific Routes |
[RFC 4193] | https://www.rfc-editor.org/ rfc/rfc4193 | Unique Local IPv6 Unicast Addresses (ULA) |
[RFC 4291] | https://www.rfc-editor.org/ rfc/rfc4291 | IPv6 Addressing Architecture |
[RFC 4506] | https://www.rfc-editor.org/ rfc/rfc4506 | XDR: External Data Representation Standard |
[RFC 4648] | https://www.rfc-editor.org/ rfc/rfc4648 | The Base16, Base32, and Base64 Data Encodings |
[RFC 4861] | https://www.rfc-editor.org/ rfc/rfc4861 | Neighbor Discovery for IP version 6 (IPv6) |
[RFC 4862] | https://www.rfc-editor.org/ rfc/rfc4862 | IPv6 Stateless Address Autoconfiguration |
[RFC 5280] | https://www.rfc-editor.org/ rfc/rfc5280 | Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile |
[RFC 5505] | https://www.rfc-editor.org/ rfc/rfc5505 | Principles of Internet Host Configuration |
Reference | Reference Location/URL | Description |
[RFC 5646] | https://tools.ietf.org/html/ rfc5646 | Tags for Identifying Languages |
[RFC 5652] | https://www.rfc-editor.org/ rfc/rfc5652 | Cryptographic Message Syntax (CMS) |
[RFC 5869] | https://www.rfc-editor.org/ rfc/rfc5869 | HMAC-based Extract-and-Expand Key Derivation Function (HKDF) |
[RFC 6335] | https://www.rfc-editor.org/ rfc/rfc6335 | Service Name and Port Number Procedures |
[RFC 6760] | https://www.rfc-editor.org/ rfc/rfc6760 | Replacement of AppleTalk NBP |
[RFC 6762] | https://www.rfc-editor.org/ rfc/rfc6762 | Multicast DNS |
[RFC 6763] | https://www.rfc-editor.org/ rfc/rfc6763 | DNS-Based Service Discovery |
[RFC 6920] | https://www.rfc-editor.org/ rfc/rfc6920 | Naming Things with Hashes |
[RFC 7230] | https://www.rfc-editor.org/ rfc/rfc7230 | Hypertext Transfer Protocol (HTTP/1.1): Message Syn tax and Routing |
[RFC 7346] | https://www.rfc-editor.org/ rfc/rfc7346 | IPv6 Multicast Address Scopes |
[RFC 7468] | https://www.rfc-editor.org/ rfc/rfc7468 | Textual Encodings of PKIX, PKCS, and CMS Structures |
[RFC 7558] | https://www.rfc-editor.org/ rfc/rfc7558 | Scalable DNS-SD Requirements |
[RFC 8305] | https://www.rfc-editor.org/ rfc/rfc8305 | Happy Eyeballs Version 2: Better Connectivity Using Concurrency |
[RFC 8490] | https://www.rfc-editor.org/ rfc/rfc8490 | DNS Stateful Operations |
[RFC 8765] | https://www.rfc-editor.org/ rfc/rfc8765 | DNS Push Notifications |
[RFC 8766] | https://www.rfc-editor.org/ rfc/rfc8766 | Discovery Proxy |
[draft-lemon- stub-net works] | https://datatracker.ietf.org/ doc/html/draft-lemon-stub- networks-02 | Connecting Stub Networks to Existing Infrastructure |
[SEC 1] | https://www.secg.org/sec1- v2.pdf | SEC 1: Elliptic Curve Cryptography, Version 2.0, Certi com Research, May 2009 |
[SEC 2] | https://secg.org/sec2-v2.pdf | SEC 2: Recommended Elliptic Curve Domain Parame ters, Version 2.0, Certicom Research, January 2010 |
Reference | Reference Location/URL | Description |
[SIGMA] | https://doi.org/10.1007/978-3- 540-45146-4_24 | Krawczyk H. (2003) SIGMA: The ‘SIGn-and-MAc’ Approach to Authenticated Diffie-Hellman and Its Use in the IKE Protocols. In: Boneh D. (eds) Advances in Cryptology – CRYPTO 2003. CRYPTO 2003. Lecture Notes in Computer Science, vol 2729. Springer, Berlin, Heidelberg. |
[SPAKE2+] | https://tools.ietf.org/pdf/ draft-bar-cfrg-spake2plus- 02.pdf | SPAKE2+, an Augmented PAKE (Draft 02, 10 Decem ber 2020) |
[SRP] | https://tools.ietf.org/html/ draft-ietf-dnssd-srp | Service Registration Protocol |
[Thread] | https://www.thread group.org | Thread 1.3.0 Specification |
[Verhoeff ] | https://ir.cwi.nl/pub/13045 | Verhoeff, J. (1969). Error detecting decimal codes. MC Tracts. Centrum Voor Wiskunde en Informatica. |
[X.501] | https://www.itu.int/rec/T- REC-X.501/en | ITU X.501 : Information technology – Open Systems Interconnection – The Directory: Models |
[X.509] | https://www.itu.int/rec/T- REC-X.509/en | ITU X.509 : Information technology – Open Systems Interconnection – The Directory: Public-key and attribute certificate frameworks |
[X.520] | https://www.itu.int/rec/T- REC-X.520/en | ITU X.520 : Information technology – Open Systems Interconnection – The Directory: Selected attribute types |
[X.680] | https://www.itu.int/rec/T- REC-X.680/en | ITU X.680 : Information technology – Abstract Syntax Notation One (ASN.1): Specification of basic notation |
[X.690] | https://www.itu.int/rec/T- REC-X.690/en | ITU X.690 : Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) |
1.7. Informative References
1.7.1. CSA Reference Documents
Reference | Reference Location/URL | Description |
[DotdotArch] | https://groups.csa-iot.org/wg/ matter-tsg/document/18649 | Dotdot Architecture Model, document 13-0589, revi sion 14, February 2019 |
[ZCL] | https://groups.csa-iot.org/wg/ members-all/document/ 23019 | Zigbee Cluster Library Specification, document 07- 5123, revision 8, December 2019 |
Reference | Reference Location/URL | Description |
[CSA-PNP] | https://groups.csa-iot.org/wg/ members/document/21624 | Organizational Processes and Procedures, 13-0625, revision 8, November 2021 |
1.8. Conventions
The following conventions are used in this document.
1.8.1. Enumerations and Reserved Values
An undefined value or range of an enumeration, field, or identifier SHALL be considered reserved for future revisions of this standard and SHALL not be available for implementation.
A value or range of an enumeration, field, or identifier that is available for non-standard imple mentation SHALL be described as “manufacturer specific”, “ms”, or “MS”.
A value or range of an enumeration, field, or identifier that is available for other parts of this stan dard SHALL be described as such.
A value or range of an enumeration, field, or identifier that is deprecated, and not available for implementation, SHALL be described as “Deprecated” or “D”.
1.8.2. Reserved Bit Fields
Each full or partial data field (e.g., message data field), of any bit length, that is undefined, SHALL be considered reserved for future revisions of this standard and SHALL not be available for imple mentation.
An implementation of a revision where a bit is reserved SHALL indicate that bit as zero when con veying that bit in a message, and ignore that bit when conveyed from another implementation.
1.8.3. Number Format
In this specification, hexadecimal numbers are prefixed with the designation “0x” and binary num bers are prefixed with the designation “0b”. All other numbers are assumed to be decimal unless indicated otherwise within the associated text.
Binary numbers are specified as successive groups of 4 bits, separated by a space (“ “) character from the most significant bit (next to the 0b prefix and leftmost on the page) to the least significant bit (rightmost on the page), e.g. the binary number 0b0000 1111 represents the decimal number 15. Where individual bits are indicated (e.g. “bit 3”) the bit numbers are relative to the least significant bit which is bit 0.
When a bit is specified as having a value of either 0 or 1 it is specified with an “x”, e.g. “0b0000 0xxx” indicates that the lower 3 bits can take any value but the upper 5 bits must each be set to 0.
1.8.4. Provisional
Per [CSA-PNP], when a specification is completed there may be sections of specification text (or smaller pieces of a section) that are not certifiable at this stage. These sections (or smaller pieces of a section) are marked as provisional prior to publishing the specification. This specification uses well-defined notation to mark Provisional Conformance or notes a section of text with the term “provisional”.