Shopping Cart

No products in the cart.

BSI 23/30476568 DC 2023

$24.66

BS EN IEC 63510-4-1. Household appliances network and grid connectivity – Part 4-1. Communication Protocol Specific Aspects: SPINE, SPINE-IoT and SHIP (fast track)

Published By Publication Date Number of Pages
BSI 2023 194
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

PDF Catalog

PDF Pages PDF Title
6 European foreword (to be replaced with IEC IS foreword)
7 Introduction
8 1 Scope
2 Normative references
3 Terms and definitions
12 4 SPINE-IoT Protocol
4.1 General
Figure 1 — Overview of transport protocols within EN 50631-4-1
13 4.2 Architecture overview
4.2.1 Introduction
14 4.2.2 API versioning
Table 1 — Properties of “api” information
4.3 Device model
4.3.1 General
15 Figure 2 — Primary device model
4.3.2 Device
Table 2 — Properties of “device” information
4.3.3 Entity
16 Table 3 — Properties of “entity” information
4.3.4 Feature
17 Table 4 — Properties of “feature” information of a single featureObjType instance
18 Table 5 — Supported featureType-featureObjType combinations
4.4 Use Case model
4.4.1 General
Figure 3 — Use Case instance examples
19 4.4.2 Use Case information and instances
Figure 4 — Announcement of potential Use Case instance
20 Figure 5 — Potential Use Case with real instance
Table 6 — Properties of “Use Case” information
21 4.4.3 Use Case interface
4.5 Binding
4.5.1 General
22 4.5.2 Binding information and instances
Table 7 — Request body for POST /bindings
Table 8 — Properties of bindingRequestFeatures
23 Table 9 — Properties of bindingRequestUsecaseInterfaces
24 Table 10 — Response body upon accepted binding request
Table 11 — Renew all bindings
Table 12 — Renew a single bindingId
Table 13 — Request body for the deletion of one or all bindings
4.6 Subscription
4.6.1 General
4.6.2 Subscription management
25 Table 14 — Request body for POST /subscriptions
27 Table 15 — Response body upon accepted subscription request
Table 16 — Renew all subscriptions
Table 17 — Renew a single subscriptionId
Table 18 — Request body for the deletion of one or all subscriptions
4.6.3 Callbacks
28 Table 19 — Properties of a “device change description” callback
Table 20 — Properties of an “entity change description” callback
29 Table 21 — Properties of a “feature change description” callback
Table 22 — Properties of a “Use Case information change description” callback
4.7 Requesting feature changes
4.7.1 General
30 4.7.2 Requesting changes information and instances
Table 23 — Properties of a “feature” change request
Table 24 — Properties of type featureModifyCreateReplace
31 Table 25 — Properties of type featureModifyDelete
Table 26 — Properties of type featureModifyPatchUnset
32 5 SPINE Protocol
5.1 General
5.2 Architecture overview
5.2.1 General rules
33 5.2.2 Common data types
5.2.2.1 General
5.2.2.2 ElementTagType
5.2.2.3 LabelType
5.2.2.4 DescriptionType
5.2.2.5 SpecificationVersionType
5.2.2.6 EnumExtendType
34 5.2.2.7 RoleType
5.2.2.8 FeatureGroupType
5.2.2.9 DeviceTypeType
5.2.2.10 DeviceTypeEnumType
5.2.2.11 EntityTypeType
5.2.2.12 EntityTypeEnumType
5.2.2.13 FeatureTypeType
5.2.2.14 FeatureTypeEnumType
5.2.2.15 FunctionType
5.2.2.16 FunctionEnumType
5.2.2.17 PossibleOperationsClassifierType
35 5.2.2.18 PossibleOperationsReadType
5.2.2.19 PossibleOperationsWriteType
5.2.2.20 PossibleOperationsType
Figure 6 — PossibleOperationsType
5.2.2.21 MaxResponseDelayType
5.2.2.22 AbsoluteOrRelativeTimeType
5.2.2.23 AddressDeviceType
5.2.2.24 AddressEntityType
5.2.2.25 AddressFeatureType
5.2.2.26 DeviceAddressType
36 Figure 7 — DeviceAddressType
5.2.2.27 EntityAddressType
Figure 8 — EntityAddressType
5.2.2.28 FeatureAddressType
Figure 9 — FeatureAddressType
37 5.2.3 Address level details
38 5.3 SPINE Datagram
5.3.1 Introduction
5.3.1.1 General information
39 Figure 10 — SPINE datagram
5.3.1.2 Structure
Table 27 — Structure of the SPINE datagram
5.3.2 Header
5.3.2.1 General information
40 Figure 11 — SPINE header
5.3.2.2 Address information
5.3.2.2.1 addressSource and addressDestination
41 5.3.2.2.2 addressOriginator
5.3.2.3 Message counter
5.3.2.3.1 General
5.3.2.3.2 msgCounter
42 5.3.2.3.3 msgCounterReference
5.3.2.4 Message classifiers
Table 28 — cmdClassifier values and kind of messages for a message “M” and the scope of related acknowledgement messages
43 5.3.2.5 Acknowledgement concept
5.3.2.5.1 Acknowledgement request
44 5.3.2.5.2 Acknowledgement message
5.3.2.5.3 Delayed application response
45 5.3.2.6 Time information in “timestamp”
5.3.2.7 Structure
46 Table 29 — Structure of the SPINE header
47 5.3.3 Payload
5.3.3.1 General information
Figure 12 — SPINE payload
5.3.3.2 Elements and usage
48 Table 30 — Elements of the SPINE payload
49 5.3.3.3 Ownership
50 5.3.3.4 Restricted function exchange with cmdOptions
5.3.3.4.1 Overview
51 Table 31 — Example table (template): This template is used in the subsequent sections for specific cmdOptions combinations. In this template, each “…” is just a placeholder
52 5.3.3.4.2 “write” cmdOptions combinations
Table 32 — Considered cmdOptions combinations for classifier “write”
53 5.3.3.4.3 “notify” cmdOptions combinations
Table 33 — Considered cmdOptions combinations for classifier “notify”
54 5.3.3.4.4 “read” cmdOptions combinations
Table 34 — Considered cmdOptions combinations for classifier “read”
55 5.3.3.4.5 “reply” cmdOptions combinations
Table 35 — Considered cmdOptions combinations for classifier “reply”
5.3.3.4.6 identifiers – Implicit list item selection
5.3.3.4.6.1 General
56 5.3.3.4.6.2 Identifier hierarchy and completeness of list identifiers
5.3.3.4.7 – Explicit list item selection
5.3.3.4.7.1 General
5.3.3.4.7.2 Common rules and description
58 5.3.3.4.7.3 Selectors with address elements
Table 36 — Address path examples
59 Figure 13 — Example of selectors part (extract) with entity address part
5.3.3.4.8 – Selection of “elements”
60 5.3.3.4.9 Minimum restricted function exchange support
5.4 Communication modes
5.4.1 General
Figure 14 — Communication modes of SPINE devices A, B and C. The circle in device B symbolises the “message forwarding” task of device B.
5.4.2 Simple communication mode
61 5.4.3 Enhanced communication mode
5.5 Functional commissioning
5.5.1 General
62 5.5.2 Detailed discovery
5.5.2.1 General
Figure 15 — Discovery example
Figure 16 — Hierarchy types. Entities can contain child-entities; “entityAddress” contains all “entity” parts starting from the respective root entity.
63 Figure 17 — Function Discovery Example over Feature Description
5.5.2.2 Basic definitions and rules
5.5.2.2.1 General
64 5.5.2.2.2 Rules for devices
5.5.2.2.3 Rules for entities
65 5.5.2.2.4 Rules for features
5.5.2.2.5 Rules for specific element usage
5.5.2.2.5.1 General
5.5.2.2.5.2 Usage of element “deviceAddress. device”
5.5.2.2.5.3 Usage of element networkManagementResponsibleAddress
5.5.2.2.5.4 Usage of element networkFeatureSet
66 5.5.2.2.5.5 Usage of element minimumTrustLevel
5.5.2.2.5.6 Usage of element possibleOperations
67 5.5.2.3 Detailed discovery “all at once”
Figure 18 — nodeManagementDetailedDiscoveryData function overview, part 1
Figure 19 — nodeManagementDetailedDiscoveryData function overview, part 2: deviceInformation.description
68 Figure 20 — nodeManagementDetailedDiscoveryData function overview, part 3: entityInformation.description
69 Figure 21 — nodeManagementDetailedDiscoveryData function overview, part 4: featureInformation.description
Table 37 — Notify/response list of entities and their corresponding features with nodeManagementDetailedDiscoveryData
74 5.5.2.4 Partial Detailed Discovery
75 Table 38: nodeManagementDetailedDiscoveryDataSelectors
5.5.2.5 Using detailed discovery for automatisms (informative)
76 5.5.2.6 Changes during runtime
5.5.3 Destination list
5.5.3.1 Introduction
77 5.5.3.2 Architecture requirements
5.5.3.3 Rules
5.5.3.3.1 Rules for devices
78 5.5.3.3.2 Rules for specific element usage
5.5.3.3.2.1 Usage of element deviceAddress. device
5.5.3.3.2.2 Usage of element networkFeatureSet
5.5.3.4 Exchanging DestinationList
5.5.3.4.1 Requesting DestinationList
Figure 22 — nodeManagementDestinationListData function overview, part 1
Figure 23 — nodeManagementDestinationListData function overview, part 2
79 Table 39 — Notify/response of DestinationList information with nodeManagementDestinationListData
5.5.3.4.2 Notification of DestinationList
5.5.4 Binding
5.5.4.1 General
80 5.5.4.2 Basic definitions and rules
81 5.5.4.3 Create Binding
Figure 24 — Binding request
Figure 25 — nodeManagementBindingRequestCall function overview
Table 40 — Binding request with nodeManagementBindingRequestCall
82 5.5.4.4 Reading binding-information
83 Figure 26 — nodeManagementBindingData function overview
84 Table 41 — nodeManagementBindingData holds list of binding entries
5.5.4.5 Release of a binding
85 Figure 27 — nodeManagementBindingDeleteCall function overview
86 Table 42 — Remove Binding with nodeManagementBindingDeleteCall
87 5.5.4.6 Renew lost binding
5.5.4.7 Considerations on broken bindings (informative)
88 5.5.5 Subscription
5.5.5.1 Basic definitions and rules
89 5.5.5.2 Create Subscription
Figure 28 — Subscription request
90 Figure 29 — nodeManagementSubscriptionRequestCall function overview
Table 43 — Subscription request with nodeManagementSubscriptionRequestCall
91 5.5.5.3 Reading subscription information
Figure 30 — nodeManagementSubscriptionData function overview
92 Table 44 — nodeManagementSubscriptionData holds list of subscription entries
93 5.5.5.4 Release of a subscription
94 Figure 31 — nodeManagementSubscriptionDeleteCall function overview
95 Table 45 — Remove subscription with nodeManagementSubscriptionDeleteCall
5.5.5.5 Renewal of subscription
96 5.5.5.6 Considerations on broken subscriptions (informative)
5.5.6 Use Case discovery
5.5.6.1 Basic definitions and rules
5.5.6.2 Use Case Discovery “all at once”
97 Figure 32 — nodeManagementUseCaseData function
Table 46 — nodeManagementUseCaseData
98 5.5.6.3 Partial Use Case Discovery
99 5.5.6.4 Changes during runtime
6 SHIP
6.1 General
6.2 Architecture overview
6.2.1 General
Figure 33 — Physical Connections in the Overall System
100 Figure 34 — SHIP Stack Overview
6.2.2 General Considerations on Closing Communication Channels
6.2.3 SHIP Node Parameters
Table 47 — SHIP Parameters Default Values
101 6.3 Registration
6.3.1 General
103 6.3.2 Successful Registration
6.3.3 Registration details and recommendations (informative)
104 6.4 Reconnection
6.4.1 General
6.4.2 Reconnection details in case of changed key material (informative)
105 6.5 Discovery
6.5.1 General
6.5.2 Service Instance
6.5.3 Service Name
6.5.4 Multicast DNS Name
6.5.4.1 General
6.5.4.2 Default Records
106 6.5.4.3 TXT Record
Table 48 — Mandatory Parameters in the TXT Record
Table 49 — Optional Parameters in the TXT Record
107 6.5.5 Recommendations for re-discovery
6.6 TCP
6.6.1 General
6.6.2 Limited Connection Capabilities
108 6.6.3 Online Detection
6.6.4 TCP Connection Establishment
109 6.6.5 Retransmission Timeout
6.7 TLS
6.7.1 General
110 Figure 35 — Full TLS 1.2 Handshake with mutual authentication
6.7.2 Cipher Suites
6.7.3 Maximum Fragment Length
111 6.7.4 TLS Compression
6.7.4.1 General
6.7.4.2 Server Name Indication
6.7.5 Renegotiation
6.7.6 Session Resumption
Figure 36 — Quick TLS Handshake with Session Resumption
112 6.7.7 TLS extension for ECC
6.7.8 TLS Probing
113 6.8 WebSocket
6.8.1 General
6.8.2 TLS Dependencies
6.8.3 Opening Handshake
6.8.4 Data Framing
114 6.8.5 Connection Keepalive
6.9 Message Representation Using JSON Text Format
6.9.1 Introduction
6.9.2 Definitions
115 6.9.3 Examples For Each Type
6.9.4 XML to JSON Transformation
6.9.4.1 Scope
6.9.4.2 XSD Types
116 Table 50 — Mapping from the XSD Types to JSON Types
6.9.4.3 Element Occurrences
6.9.4.4 Simple Types
Table 51 — Transformation of a simple type
6.9.4.5 Complex Types
117 Table 52 — Mapping from the XSD compositors to JSON Types
6.9.4.6 Rules
118 6.9.4.7 Example Transformations
Table 53 — Examples for XML and JSON representations
120 Table 54 — Example transformation of several combined XSD item types
122 6.9.5 JSON to XML Transformation
6.9.5.1 Scope
6.9.5.2 Rules
6.9.5.3 Example Transformation
Table 55 — Example for JSON to XML transformation
6.10 Key Management
6.10.1 General
123 6.10.2 Certificates
6.10.2.1 SHIP Node Certificates
124 6.10.2.2 Web Server Based SHIP Node Certificates
6.10.2.3 Certificate updates
6.10.2.3.1 General
6.10.2.3.2 Overview
125 6.10.2.3.3 Transmitting certificate updates
126 6.10.2.3.4 Receiving certificate updates
6.10.2.3.5 Recognizing certificate updates
127 6.10.2.3.6 Effects for verification modes
6.10.3 SHIP Node Specific Public Key
6.10.3.1 General
6.10.3.2 Public Key Presentation
128 6.10.3.3 Public Key Storage
129 6.10.3.4 Optional Storage
6.10.3.5 Prevent Double Connections with SKI Comparison
6.10.4 Verification Procedure
6.10.4.1 General
130 6.10.4.2 Public Key Verification Modes
6.10.4.3 Auto Accept
131 6.10.4.4 Auto Accept with PIN
6.10.4.5 User Verification
6.10.4.5.1 General
132 6.10.4.5.2 Manufacturer Specific Commissioning
6.10.4.5.3 User Input
6.10.4.5.4 SHIP Commissioning
134 6.10.4.6 Trust Level
135 Table 56 — Trust Levels
6.10.5 Symmetric Key
136 6.10.6 SHIP Node PIN
Figure 37 — Easy Mutual Authentication with QR-codes and Smart Phone
137 6.10.7 SHIP Commissioning Tool
139 6.10.8 QR Code
141 Figure 38 — QR Code Model 2, “low” ECC level, 0,33 mm/Module, with SKI and PIN
Figure 39 — QR Code Model 2, “low” ECC level, 0,33 mm/module, with all values
142 Figure 40 — QR Code Model 2, “low” ECC level, 0,33 mm/module, with brainpoolP256r1 SKI and brainpoolP384r1 SKI
6.11 SHIP Data Exchange
6.11.1 Introduction
6.11.2 Terms in the context of SHIP Data Exchange
144 6.11.3 Protocol Architecture / Hierarchy
6.11.3.1 Overview
Figure 41 — Protocol Architecture and Hierarchy
145 6.11.3.2 SHIP Message Exchange (SME), SME User
6.11.3.3 SHIP Transport
6.11.4 SHIP Message Exchange
6.11.4.1 Basic Definitions and Responsibilities
146 6.11.4.2 Basic Message Structure
Table 57 — MessageType Values
6.11.4.3 Connection Mode Initialisation (CMI)
148 Figure 42 — CMI Message Sequence Example
6.11.4.4 Connection Data Preparation
6.11.4.4.1 General
149 6.11.4.4.2 Connection State “Hello”
6.11.4.4.2.1 Basic Definitions
Table 58 — Structure of SmeHelloValue of SME “hello” Message
6.11.4.4.2.2 Process Overview
150 6.11.4.4.2.3 Process Details
155 Figure 43 — Connection State “Hello” Sequence Example Without Prolongation Request: “A” and “B” already trust each other; “B” is slower/delayed.
156 Figure 44 — Connection State “Hello” Sequence Example With Prolongation Request.
157 6.11.4.4.3 Connection State “Protocol handshake”
6.11.4.4.3.1 Basic Definitions
Table 59 —Structure of SmeProtocolHandshakeValue of SME “Protocol Handshake” Message
158 Table 60 — Structure of SmeProtocolHandshakeErrorValue of SME “Protocol Handshake Error” Message
6.11.4.4.3.2 Compatibility Aspects
6.11.4.4.3.3 Protocol Handshake Process
161 Table 61 — Values of Sub-element “error” of messageProtocolHandshakeError
Figure 45 — Connection State “Protocol Handshake” Message Sequence Example
162 6.11.4.4.4 Connection State “PIN Verification”
6.11.4.4.4.1 Introduction (Informative)
6.11.4.4.4.2 Basic Definitions
Table 62 — Structure of SmeConnectionPinStateValue of SME “Pin state” message
163 Table 63 — Structure of SmeConnectionPinInputValue of SME “Pin input” message
Table 64 — Structure of SmeConnectionPinErrorValue of SME “Pin error” message
6.11.4.4.4.3 Basic Rules
6.11.4.4.4.4 Protection Against Brute Force Attempts
164 6.11.4.4.4.5 Process Details
PIN Requirement — Communicated PIN States
165 Process States
169 Table 65 — Values of Sub-element “error” of connectionPinError
170 Figure 46 — Connection State “PIN verification” Message Sequence Example (Begin)
6.11.4.5 Connection Data Exchange
6.11.4.5.1 General Rules
171 6.11.4.5.2 Message “data”
6.11.4.5.2.1 Purpose and Structure
Table 66 — Structure of MessageValue of “data” Message
172 6.11.4.5.2.2 Extensibility Rules
6.11.4.5.2.3 Element “header”
6.11.4.5.2.4 Element “protocolId”
6.11.4.5.2.5 Element “payload”
173 6.11.4.5.2.6 Element “extension”
6.11.4.6 Access Methods Identification
6.11.4.6.1 Introduction
6.11.4.6.2 Basic Definitions
6.11.4.6.2.1 General
174 Table 67 — Structure of SmeConnectionAccessMethodsRequestValue of SME “Access methods request” message
Table 68 — Structure of SmeConnectionAccessMethodsValue of SME “Access methods” message
175 6.11.4.6.2.2 Process Details
6.11.4.6.2.3 Recommendations
6.11.4.7 Key material exchange
6.11.4.7.1 Introduction
176 6.11.4.7.2 SME “commissioning request” Message
Table 69 — Structure of SmeConnectionCommissioningRequestValue of SME “commissioning request” message
6.11.4.7.3 SME “commissioning response” Message
Table 70 — Structure of SmeConnectionCommissioningResponseValue of SME “commissioning response” message
6.11.4.7.4 SME “key material request” Message
177 Table 71 — Structure of SmeConnectionKeyMaterialRequestValue of SME “key material request” message
6.11.4.7.5 SME “key material” Message
Table 72 — Structure of SmeConnectionKeyMaterialValue of SME “key material” message
178 6.11.4.7.6 SME “key material response” Message
179 Table 73 — Structure of SmeConnectionKeyMaterialResponseValue of SME “key material response” message
6.11.4.7.7 SME “key material delete” Message
Table 74 — Structure of SmeConnectionKeyMaterialDeleteValue of SME “key material delete” message
180 6.11.4.7.8 SME “key material delete response” Message
Table 75 — Structure of SmeConnectionKeyMaterialDeleteResponseValue of SME “key material delete response” message
181 6.11.4.7.9 SME “key material state” message
Table 76 — Structure of SmeConnectionKeyMaterialStateValue of SME “key material state” message
6.11.4.7.10 SME “key material state response” message
182 Table 77 — Structure of SmeConnectionKeyMaterialStateResponseValue of SME “key material state response” message
6.11.4.7.11 SME “key material state request” message
183 Table 78 — Structure of SmeConnectionKeyMaterialStateRequestValue of SME “key material state request” message
6.11.4.8 Connection Termination
6.11.4.8.1 Basic Definitions
6.11.4.8.1.1 General
Table 79 — Structure of SmeCloseValue of SME “close” Message
184 6.11.4.8.1.2 Process Overview
6.11.4.8.1.3 Process Details
185 6.12 Well-known protocolId
186 Annex A (normative) SHIP XSD
193 Bibliography
BSI 23/30476568 DC 2023
$24.66