IEC 62541-6:2025
(Main)OPC unified architecture - Part 6: Mappings
OPC unified architecture - Part 6: Mappings
IEC 62541-6:2025 specifies the mapping between the security model described in IEC 62541‑2, the abstract service definitions specified in IEC 62541‑4, the data structures defined in IEC 62541‑5 and the physical network protocols that can be used to implement the OPC UA specification.
This fourth edition cancels and replaces the third edition published in 2020. This edition constitutes a technical revision.
This edition includes the following significant technical changes with respect to the previous edition:
a) addition of support for ECC to UA Secure Conversation;
b) use of the AuthorityKeyIdentifier extension in Certificate Revocation Lists;
c) enhancement of JSON mapping of Unions;
d) addition of Decimal data type encoding.
e) description of ECC keyUsage rules;
f) addition of Media assigned by IANA to UANodeSet definition;
g) addition of requirements for user and issuer Certificates;
h) addition of rules which specify what happens when DateTime precision is lost;
i) addition of rules to allow for the truncation of strings containing embedded nulls.
J) definition of a normative string representation for NodeId, ExpandedNodeId and QualifiedName for JSON mapping.
k) requirement that TAI times be converted to UTC;
l) new possibility to omit Symbol if unknown in JSON encoding;
m) addition of fields needed to support RolePermissions to the UANodeSet
Architecture unifiée OPC - Partie 6: Mappings
IEC 62541-6:2025 spécifie le mapping entre le modèle de sécurité décrit dans l'IEC 62541‑2, les définitions de services abstraits spécifiées dans l'IEC 62541‑4, les structures de données définies dans l'IEC 62541‑5 et les protocoles de réseaux physiques qui peuvent être utilisés pour mettre en œuvre la spécification OPC UA.
Cette quatrième édition annule et remplace la troisième édition parue en 2020. Cette édition constitue une révision technique.
Cette édition inclut les modifications techniques majeures suivantes par rapport à l'édition précédente:
a) ajout de la prise en charge de la Conversation sécurisée ECC vers UA;
b) utilisation de l'extension AutoritéKeyIdentifier dans les Listes de révocation de certificat;
c) amélioration du mapping JSON des Unions;
d) ajout du codage du type de données Décimal;
e) description des règles de KeyUsage ECC;
f) ajout des médias attribués par l'IANA à la définition de UANodeSet;
g) ajout d'exigences pour les Certificats d'utilisateur et d'émetteur;
h) ajout de règles qui spécifient ce qu'il se passe lorsque la précision DateTime est perdue;
i) ajout de règles pour permettre la troncature de chaînes contenant des valeurs nulles imbriquées;
j) définition d'une représentation de chaîne normative pour NodeId, ExpandedNodeId et QualifiedName pour le mapping JSON;
k) exigence de conversion des temps TAI en UTC;
l) nouvelle possibilité d'omission du symbole s'il est inconnu dans le codage JSON;
m) ajout des champs nécessaires à la prise en charge des RolePermissions pour le UANodeSet.
General Information
Relations
Standards Content (Sample)
IEC 62541-6 ®
Edition 4.0 2025-12
INTERNATIONAL
STANDARD
OPC unified architecture -
Part 6: Mappings
ICS 25.040.40; 35.100.05 ISBN 978-2-8327-0848-4
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or
by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either
IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC copyright
or have an enquiry about obtaining additional rights to this publication, please contact the address below or your local
IEC member National Committee for further information.
IEC Secretariat Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.
About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigendum or an amendment might have been published.
IEC publications search - IEC Products & Services Portal - products.iec.ch
webstore.iec.ch/advsearchform Discover our powerful search engine and read freely all the
The advanced search enables to find IEC publications by a publications previews, graphical symbols and the glossary.
variety of criteria (reference number, text, technical With a subscription you will always have access to up to date
committee, …). It also gives information on projects, content tailored to your needs.
replaced and withdrawn publications.
Electropedia - www.electropedia.org
The world's leading online dictionary on electrotechnology,
IEC Just Published - webstore.iec.ch/justpublished
Stay up to date on all new IEC publications. Just Published containing more than 22 500 terminological entries in English
details all new publications released. Available online and and French, with equivalent terms in 25 additional languages.
once a month by email. Also known as the International Electrotechnical Vocabulary
(IEV) online.
IEC Customer Service Centre - webstore.iec.ch/csc
If you wish to give us your feedback on this publication or
need further assistance, please contact the Customer
Service Centre: sales@iec.ch.
CONTENTS
FOREWORD . 8
1 Scope . 10
2 Normative references . 10
3 Terms, definitions and abbreviated terms . 12
3.1 Terms and definitions. 12
3.2 Abbreviated terms . 14
4 Overview . 14
5 Data encoding . 15
5.1 General . 15
5.1.1 Overview . 15
5.1.2 Built-in Types . 15
5.1.3 Guid . 17
5.1.4 DateTime . 17
5.1.5 ByteString. 18
5.1.6 Number, Integer and UInteger . 18
5.1.7 Structures and Unions . 18
5.1.8 ExtensionObject . 18
5.1.9 Variant . 19
5.1.10 Decimal . 19
5.1.11 Null, Empty and Zero-Length Arrays . 20
5.1.12 QualifiedName, NodeId and ExpandedNodeId String Encoding . 20
5.1.13 Name Encoding Rules . 22
5.2 OPC UA Binary . 23
5.2.1 General . 23
5.2.2 Built-in Types . 23
5.2.3 Decimal . 34
5.2.4 Enumerations . 34
5.2.5 Arrays . 34
5.2.6 Structures . 35
5.2.7 Structures with optional fields . 38
5.2.8 Unions . 40
5.2.9 Messages . 43
5.3 OPC UA XML . 43
5.3.1 Built-in Types . 43
5.3.2 Decimal . 48
5.3.3 Enumerations . 49
5.3.4 Arrays . 49
5.3.5 Structures . 50
5.3.6 Structures with optional fields . 50
5.3.7 Unions . 51
5.3.8 Messages . 51
5.4 OPC UA JSON . 51
5.4.1 General . 51
5.4.2 Built-in Types . 52
5.4.3 Decimal . 57
5.4.4 Enumerations . 57
5.4.5 Arrays . 58
5.4.6 Structures . 58
5.4.7 Structures with optional fields . 59
5.4.8 Unions . 60
5.4.9 Messages . 61
6 Message SecurityProtocols . 61
6.1 Security handshake . 61
6.2 Certificates . 63
6.2.1 General . 63
6.2.2 Application Instance Certificate . 63
6.2.3 User Certificates . 65
6.2.4 Issuer (CA) Certificates . 65
6.2.5 Certificate Revocation List (CRL) . 65
6.2.6 Certificate Chains . 66
6.3 Time synchronization . 66
6.4 UTC and International Atomic Time (TAI) . 67
6.5 Issued User Identity Tokens . 67
6.5.1 Kerberos . 67
6.5.2 JSON Web Token (JWT) . 67
6.5.3 OAuth2 . 68
6.6 WS Secure Conversation . 70
6.7 OPC UA Secure Conversation . 70
6.7.1 Overview . 70
6.7.2 MessageChunk structure . 71
6.7.3 MessageChunks and error handling . 76
6.7.4 Establishing a SecureChannel . 77
6.7.5 Deriving keys . 78
6.7.6 Verifying Message Security . 80
6.8 Elliptic Curve Cryptography (ECC) . 81
6.8.1 Secure Channel Handshake . 81
6.8.2 UserIdentityToken Encryption . 85
6.8.3 ECC Encrypted Secret . 86
7 TransportProtocols . 87
7.1 OPC UA Connection Protocol . 87
7.1.1 Overview . 87
7.1.2 Message structure . 88
7.1.3 Establishing a connection . 91
7.1.4 Closing a connection . 93
7.1.5 Error handling . 94
7.2 OPC UA TCP . 96
7.3 SOAP/HTTP . 96
7.4 OPC UA HTTPS . 96
7.4.1 Overview . 96
7.4.2 Session-less Services . 98
7.4.3 XML Encoding . 98
7.4.4 OPC UA Binary Encoding . 99
7.4.5 JSON Encoding . 99
7.5 WebSockets . 100
7.5.1 Overview . 100
7.5.2 Protocol Mapping . 101
7.5.3 Security . 101
7.6 Well known addresses . 102
8 Normative Contracts . 102
8.1 OPC Binary Schema . 102
8.2 XML Schema and WSDL . 102
8.3 Information Model Schema. 102
8.4 Formal definition of UA Information Model . 103
8.5 Constants . 103
8.6 DataType encoding . 103
8.7 Security configuration . 103
Annex A (normative) Constants. 104
A.1 Attribute Ids . 104
A.2 Status Codes . 104
A.3 Numeric Node Ids . 105
A.4 Media Types . 106
Annex B (normative) OPC UA NodeSet . 107
Annex C (normative) Type declarations for the OPC UA native Mapping . 108
Annex D (normative) WSDL for the XML Mapping . 109
D.1 XML Schema . 109
D.2 WDSL Port Types . 109
D.3 WSDL Bindings . 109
Annex E (informative) Security settings management. 110
E.1 Overview . 110
E.2 SecuredApplication . 111
E.3 CertificateIdentifier . 115
E.4 CertificateStoreIdentifier . 116
E.5 CertificateList. 117
E.6 CertificateValidationOptions . 117
Annex F (normative) Information Model XML Schema . 119
F.1 Overview . 119
F.2 UANodeSet . 119
F.3 UANode . 122
F.4 Reference . 123
F.5 RolePermission . 124
F.6 UAType. 124
F.7 UAInstance . 124
F.8 UAVariable . 125
F.9 UAMethod . 125
F.10 TranslationType . 126
F.11 UADataType . 127
F.12 DataTypeDefinition . 128
F.13 DataTypeField . 129
F.14 Variant . 131
F.15 Example . 131
F.16 UANodeSetChanges . 133
F.17 NodesToAdd . 134
F.18 ReferencesToChange . 135
F.19 ReferenceToChange . 135
F.20 NodesToDelete . 135
F.21 NodeToDelete . 136
F.22 UANodeSetChangesStatus . 136
F.23 NodeSetStatusList . 137
F.24 NodeSetStatus . 137
Bibliography . 138
Figure 1 – The OPC UA Stack Overview . 15
Figure 2 – Encoding Integers in a binary stream . 24
Figure 3 – Encoding Floating Points in a binary stream . 24
Figure 4 – Encoding Strings in a binary stream . 25
Figure 5 – Encoding Guids in a binary stream . 26
Figure 6 – Encoding XmlElement in a binary stream . 26
Figure 7 – A String NodeId. 27
Figure 8 – A Two Byte NodeId . 28
Figure 9 – A Four Byte NodeId . 28
Figure 10 – Security handshake when Creating a Session . 61
Figure 11 – MessageChunk for Unauthenticated Encryption Algorithms . 71
Figure 12 – MessageChunk for Authenticated Encryption Algorithms . 71
Figure 13 – ECC Key Negotiation . 81
Figure 14 – Signing and Encryption with Authenticated Encryption . 84
Figure 15 – Signing and Encryption with Unauthenticated Encryption . 84
Figure 16 – ECC CreateSession/ActivateSession Handshake . 85
Figure 17 – OPC UA Connection Protocol Message structure . 88
Figure 18 – Client initiated OPC UA Connection Protocol connection . 92
Figure 19 – Server initiated OPC UA Connection Protocol connection. 92
Figure 20 – Closing a OPC UA Connection Protocol connection . 94
Figure 21 – Scenarios for the HTTPS Transport . 97
Figure 22 – Setting up Communication over a WebSocket . 100
Table 1 – Built-in Data Types . 16
Table 2 – Guid structure . 17
Table 3 – Layout of Decimal . 20
Table 4 – Additional ABNF Core Rules . 21
Table 5 – ABNF Description for a NodeId . 21
Table 6 – ABNF Description for a ExpandedNodeId . 22
Table 7 – ABNF Description for a QualifiedName . 22
Table 8 – Examples of XML Encoded Names . 23
Table 9 – Supported Floating Point Types. 24
Table 10 – NodeId components . 26
Table 11 – NodeId DataEncoding values . 27
Table 12 – Standard NodeId Binary DataEncoding . 27
Table 13 – Two Byte NodeId Binary DataEncoding . 28
Table 14 – Four Byte NodeId Binary DataEncoding . 28
Table 15 – ExpandedNodeId Binary DataEncoding . 29
Table 16 – DiagnosticInfo Binary DataEncoding . 30
Table 17 – QualifiedName Binary DataEncoding . 30
Table 18 – LocalizedText Binary DataEncoding . 31
Table 19 – Extension Object Binary DataEncoding . 32
Table 20 – Variant Binary DataEncoding . 33
Table 21 – Data Value Binary DataEncoding . 34
Table 22 – Inline Matrix DataEncoding . 35
Table 23 – Sample OPC UA Binary Encoded structure. 36
Table 24 – DataTypeDefinition for "Type1" from Sample . 37
Table 25 – DataTypeDefinition for "Type2" from Sample . 38
Table 26 – Sample OPC UA Binary Encoded Structure with optional fields . 39
Table 27 – Sample OPC UA Binary Encoded Structure . 41
Table 28 – XML Data Type Mappings for Integers . 43
Table 29 – XML Data Type Mappings for Floating Points . 43
Table 30 – Components of Enumeration . 49
Table 31 – JSON Object Definition for a NodeId . 53
Table 32 – JSON Object Definition for an ExpandedNodeId . 54
Table 33 – JSON Object Definition for a StatusCode . 54
Table 34 – JSON Object Definition for a DiagnosticInfo . 55
Table 35 – JSON Object Definition for a QualifiedName . 55
Table 36 – JSON Object Definition for a LocalizedText . 56
Table 37 – JSON Object Definition for an ExtensionObject . 56
Table 38 – JSON Object Definition for a Variant . 56
Table 39 – JSON Object Definition for a DataValue . 57
Table 40 – JSON Object Definition for a Decimal . 57
Table 41 – JSON Encoding Rules for Structures . 58
Table 42 – JSON Object Definition for a Structures with Optional Fields . 59
Table 43 – JSON Encoding Rules for Structures with Optional Fields . 59
Table 44 – JSON Object Definition for a Union . 60
Table 45 – SecurityPolicy . 62
Table 46 – Application Instance Certificate . 63
Table 47 – User Certificate . 65
Table 48 – Issuer Certificate . 65
Table 49 – Certificate Revocation List Extensions . 66
Table 50 – JWT UserTokenPolicy . 67
Table 51 – JWT IssuerEndpointUrl Definition . 68
Table 52 – Access Token Claims . 69
Table 53 – OPC UA Secure Conversation Message Header . 72
Table 54 – Asymmetric algorithm Security header . 73
Table 55 – Symmetric algorithm Security header . 74
Table 56 – Sequence header . 74
Table 57 – Message Footer for Unauthenticated Encryption Algorithms . 75
Table 58 – Message Footer for Authenticated Encryption Algorithms . 76
Table 59 – OPC UA Secure Conversation Message abort body. 76
Table 60 – OPC UA Secure Conversation OpenSecureChannel Service . 77
Table 61 – PRF inputs for RSA based SecurityPolicies . 79
Table 62 – Cryptography key generation parameters . 79
Table 63 – Deriving Client Keys from Keying Material . 83
Table 64 – Deriving Server Keys from Keying Material . 83
Table 65 – Creating a Mask for the Initialization Vector . 85
Table 66 – Additional Header Key Names . 86
Table 67 – Deriving Keys from Keying Material . 87
Table 68 – OPC UA Connection Protocol Message header . 88
Table 69 – OPC UA Connection Protocol Hello Message . 89
Table 70 – OPC UA Connection Protocol Acknowledge Message. 90
Table 71 – OPC UA Connection Protocol Error Message . 90
Table 72 – OPC UA Connection Protocol ReverseHello Message . 91
Table 73 – Client and Server Handshake during Reverse Connect . 93
Table 74 – OPC UA Connection Protocol error codes . 95
Table 75 – WebSocket Protocols Mappings . 101
Table 76 – Well known addresses for Local Discovery Servers . 102
Table A.1 – Identifiers assigned to Attributes . 104
Table A.2 – Media Types Assigned to OPC UA Document Formats . 106
Table E.1 – SecuredApplication . 112
Table E.2 – CertificateIdentifier . 115
Table E.3 – Structured directory store . 116
Table E.4 – CertificateStoreIdentifier . 117
Table E.5 – CertificateList . 117
Table E.6 – CertificateValidationOptions . 118
Table F.1 – UANodeSet . 120
Table F.2 – UANode . 122
Table F.3 – Reference . 123
Table F.4 – RolePermission . 124
Table F.5 – UANodeSet Type Nodes . 124
Table F.6 – UANodeSet Instance Nodes . 124
Table F.7 – UAInstance . 125
Table F.8 – UAVariable . 125
Table F.9 – UAMethod . 126
Table F.10 – TranslationType . 127
Table F.11 – UADataType . 128
Table F.12 – DataTypeDefinition . 129
Table F.13 – StructureType Enumeration Mapping . 129
Table F.14 – DataTypeField . 130
Table F.15 – UANodeSetChanges . 134
Table F.16 – NodesToAdd . 134
Table F.17 – ReferencesToChange . 135
Table F.18 – ReferencesToChange . 135
Table F.19 – NodesToDelete . 136
Table F.20 – ReferencesToChange . 136
Table F.21 – UANodeSetChangesStatus . 136
Table F.22 – NodeSetStatusList. 137
Table F.23 – NodeSetStatus . 137
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
OPC unified architecture -
Part 6: Mappings
FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote international
co-operation on all questions concerning standardization in the electrical and electronic fields. To this end and
in addition to other activities, IEC publishes International Standards, Technical Specifications, Technical Reports,
Publicly Available Specifications (PAS) and Guides (hereafter referred to as "IEC Publication(s)"). Their
preparation is entrusted to technical committees; any IEC National Committee interested in the subject dealt with
may participate in this preparatory work. International, governmental and non-governmental organizations liaising
with the IEC also participate in this preparation. IEC collaborates closely with the International Organization for
Standardization (ISO) in accordance with conditions determined by agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence between
any IEC Publication and the corresponding national or regional publication shall be clearly indicated in the latter.
5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
services carried out by independent certification bodies.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
9) IEC draws attention to the possibility that the implementation of this document may involve the use of (a)
patent(s). IEC takes no position concerning the evidence, validity or applicability of any claimed patent rights in
respect thereof. As of the date of publication of this document, IEC had no received notice of (a) patent(s), which
may be required to implement this document. However, implementers are cautioned that this may not represent
the latest information, which may be obtained from the patent database available at https://patents.iec.ch. IEC
shall not be held responsible for identifying any or all such patent rights.
IEC 62541-6 has been prepared by subcommittee 65E: Devices and integration in enterprise
systems, of IEC technical committee 65: Industrial-process measurement, control and
automation. It is an International Standard.
This fourth edition cancels and replaces the third edition published in 2020. This edition
constitutes a technical revision.
This edition includes the following significant technical changes with respect to the previous
edition:
a) addition of support for ECC to UA Secure Conversation;
b) use of the AuthorityKeyIdentifier extension in Certificate Revocation Lists;
c) enhancement of JSON mapping of Unions;
d) addition of Decimal data type encoding.
e) description of ECC keyUsage rules;
f) addition of Media assigned by IANA to UANodeSet definition;
g) addition of requirements for user and issuer Certificates;
h) addition of rules which specify what happens when DateTime precision is lost;
i) addition of rules to allow for the truncation of strings containing embedded nulls.
j) definition of a normative string representation for NodeId, ExpandedNodeId and
QualifiedName for JSON mapping.
k) requirement that TAI times be converted to UTC;
l) new possibility to omit Symbol if unknown in JSON encoding;
m) addition of fields needed to support RolePermissions to the UANodeSet.
The text of this International Standard is based on the following documents:
Draft Report on voting
65E/1063/CDV 65E/1131/RVC
Full information on the voting for its approval can be found in the report on voting indicated in
the above table.
The language used for the development of this International Standard is English.
This document was drafted in accordance with ISO/IEC Directives, Part 2, and developed in
accordance with ISO/IEC Directives, Part 1 and ISO/IEC Directives, IEC Supplement, available
at www.iec.ch/members_experts/refdocs. The main document types developed by IEC are
described in greater detail at www.iec.ch/publications.
Throughout this document and the other parts of the IEC 62541 series, certain document
conventions are used:
Italics are used to denote a defined term or definition that appears in the "Terms and definitions"
clause in one of the parts of the IEC 62541 series.
Italics are also used to denote the name of a service input or output parameter or the name of
a structure or element of a structure that are usually defined in tables.
The italicized terms and names are, with a few exceptions, written in camel-case (the practice
of writing compound words or phrases in which the elements are joined without spaces, with
each element's initial letter capitalized within the compound). For example, the defined term is
AddressSpace instead of Address Space. This makes it easier to understand that there is a
single definition for AddressSpace, not separate definitions for Address and Space.
A list of all parts in the IEC 62541 series, published under the general title OPC Unified
Architecture, can be found on the IEC website.
The committee has decided that the contents of this document will remain unchanged until the
stability date indicated on the IEC website under webstore.iec.ch in the data related to the
specific document. At this date, the document will be
– reconfirmed,
– withdrawn, or
– revised.
1 Scope
This part of IEC 62541 specifies the mapping between the security model described in
IEC 62541-2, the abstract service definitions specified in IEC 62541-4, the data structures
defined in IEC 62541-5 and the physical network protocols that can be used to implement the
OPC UA specification.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies.
For undated references, the latest edition of the referenced document (including any
amendments) applies.
IEC 62541-1, OPC Unified Architecture - Part 1: Overview and Concepts
IEC 62541-2, OPC Unified Architecture - Part 2
...
IEC 62541-6 ®
Edition 4.0 2025-12
NORME
INTERNATIONALE
Architecture unifiée OPC -
Partie 6: Mappings
ICS 25.040.40; 35.100.05 ISBN 978-2-8327-0848-4
Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite ni
utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et
les microfilms, sans l'accord écrit de l'IEC ou du Comité national de l'IEC du pays du demandeur. Si vous avez des
questions sur le copyright de l'IEC ou si vous désirez obtenir des droits supplémentaires sur cette publication, utilisez
les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pays de résidence.
IEC Secretariat Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
A propos de l'IEC
La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.
A propos des publications IEC
Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
plus récente, un corrigendum ou amendement peut avoir été publié.
Recherche de publications IEC - IEC Products & Services Portal - products.iec.ch
webstore.iec.ch/advsearchform Découvrez notre puissant moteur de recherche et consultez
La recherche avancée permet de trouver des publications gratuitement tous les aperçus des publications, symboles
IEC en utilisant différents critères (numéro de référence, graphiques et le glossaire. Avec un abonnement, vous aurez
texte, comité d’études, …). Elle donne aussi des toujours accès à un contenu à jour adapté à vos besoins.
informations sur les projets et les publications remplacées
ou retirées. Electropedia - www.electropedia.org
Le premier dictionnaire d'électrotechnologie en ligne au
IEC Just Published - webstore.iec.ch/justpublished monde, avec plus de 22 500 articles terminologiques en
Restez informé sur les nouvelles publications IEC. Just anglais et en français, ainsi que les termes équivalents
dans 25 langues additionnelles. Egalement appelé
Published détaille les nouvelles publications parues.
Disponible en ligne et une fois par mois par email. Vocabulaire Electrotechnique International (IEV) en ligne.
Service Clients - webstore.iec.ch/csc
Si vous désirez nous donner des commentaires sur cette
publication ou si vous avez des questions contactez-
nous: sales@iec.ch.
SOMMAIRE
AVANT-PROPOS . 8
1 Domaine d'application . 11
2 Références normatives . 11
3 Termes, définitions et abréviations . 13
3.1 Termes et définitions . 13
3.2 Abréviations . 15
4 Vue d'ensemble . 15
5 Codage de données . 17
5.1 Généralités . 17
5.1.1 Vue d'ensemble . 17
5.1.2 Types intégrés . 17
5.1.3 Guid . 19
5.1.4 DateTime . 19
5.1.5 ByteString. 20
5.1.6 Nombre, Entier et UInteger . 20
5.1.7 Structures et Unions . 20
5.1.8 ExtensionObject . 21
5.1.9 Variante . 22
5.1.10 Décimal . 22
5.1.11 Matrices nulle, vide et longueur zéro . 23
5.1.12 Codage de Chaîne QualifiedName, NodeId et ExpandedNodeId . 23
5.1.13 Règles de codage des noms . 25
5.2 Codage OPC UA Binary . 26
5.2.1 Généralités . 26
5.2.2 Types intégrés . 27
5.2.3 Décimal . 37
5.2.4 Énumérations . 37
5.2.5 Matrices . 38
5.2.6 Structures . 38
5.2.7 Structures avec champs facultatifs . 41
5.2.8 Unions . 43
5.2.9 Messages . 46
5.3 Codage OPC UA XML . 46
5.3.1 Types intégrés . 46
5.3.2 Décimal . 52
5.3.3 Énumérations . 52
5.3.4 Matrices . 53
5.3.5 Structures . 53
5.3.6 Structures avec champs facultatifs . 53
5.3.7 Unions . 54
5.3.8 Messages . 54
5.4 Codage OPC UA JSON . 55
5.4.1 Généralités . 55
5.4.2 Types intégrés . 55
5.4.3 Décimal . 61
5.4.4 Énumérations . 62
5.4.5 Matrices . 62
5.4.6 Structures . 63
5.4.7 Structures avec champs facultatifs . 64
5.4.8 Unions . 65
5.4.9 Messages . 65
6 SecurityProtocols des messages . 66
6.1 Protocole d'établissement de liaison de sécurité . 66
6.2 Certificats . 68
6.2.1 Généralités . 68
6.2.2 Certificat d'instance d'application . 68
6.2.3 Certificats d'utilisateur . 70
6.2.4 Certificats d'émetteur (CA) . 71
6.2.5 Liste de révocation de certificat (CRL) . 71
6.2.6 Chaînes de Certificats . 71
6.3 Synchronisation temporelle . 72
6.4 Temps universel coordonné (UTC) et Temps atomique international (TAI) . 72
6.5 Jetons d'identité utilisateur émis . 72
6.5.1 Kerberos . 72
6.5.2 JWT (JSON Web Token) . 72
6.5.3 OAuth2 . 74
6.6 Conversation sécurisée WS . 76
6.7 Conversation OPC UA sécurisée . 76
6.7.1 Vue d'ensemble . 76
6.7.2 Structure de MessageChunk . 76
6.7.3 MessageChunks et traitement d'erreurs . 83
6.7.4 Établissement d'un SecureChannel . 83
6.7.5 Dérivation des clés . 85
6.7.6 Vérification de la sécurité d'un message . 87
6.8 Cryptographie sur les courbes elliptiques (ECC) . 88
6.8.1 Protocol d'établissement de Canal sécurisé . 88
6.8.2 Chiffrement de UserIdentityToken . 92
6.8.3 Secret chiffré ECC . 93
7 TransportProtocols . 94
7.1 Protocole de connexion OPC UA . 94
7.1.1 Vue d'ensemble . 94
7.1.2 Structure de message . 95
7.1.3 Établissement d'une connexion . 99
7.1.4 Fermeture d'une connexion . 101
7.1.5 Gestion des erreurs . 102
7.2 OPC UA TCP . 104
7.3 SOAP/HTTP . 104
7.4 OPC UA HTTPS . 104
7.4.1 Vue d'ensemble . 104
7.4.2 Services sans Session . 106
7.4.3 Codage XML . 106
7.4.4 Codage OPC UA Binary . 107
7.4.5 Codage JSON. 108
7.5 WebSockets . 108
7.5.1 Vue d'ensemble . 108
7.5.2 Mapping de protocole . 109
7.5.3 Sécurité . 110
7.6 Adresses notoires . 111
8 Contrats normatifs . 111
8.1 Schéma OPC binaire . 111
8.2 Schéma XML et langage WSDL . 111
8.3 Schéma des Modèles d'information . 112
8.4 Définition formelle du Modèle d'information UA . 112
8.5 Constantes . 112
8.6 Codage de DataType . 112
8.7 Configuration de sécurité . 112
Annexe A (normative) Constantes . 113
A.1 Identificateurs d'Attribut . 113
A.2 Codes de Statut . 113
A.3 Identificateurs de nœuds numériques . 114
A.4 Types de médias. 115
Annexe B (normative) NodeSet OPC UA . 116
Annexe C (normative) Déclarations de type pour le mapping d'origine OPC UA . 117
Annexe D (normative) Langage WSDL pour le mapping XML . 118
D.1 Schéma XML . 118
D.2 Types d'accès WDSL . 118
D.3 Liaisons WSDL . 118
Annexe E (informative) Gestion des paramètres de sécurité . 119
E.1 Vue d'ensemble . 119
E.2 SecuredApplication . 120
E.3 CertificateIdentifier . 124
E.4 CertificateStoreIdentifier . 126
E.5 CertificateList. 127
E.6 CertificateValidationOptions . 127
Annexe F (normative) Schéma XML du Modèle d'information . 129
F.1 Vue d'ensemble . 129
F.2 UANodeSet . 130
F.3 UANode . 132
F.4 Reference . 134
F.5 RolePermission . 134
F.6 UAType. 134
F.7 UAInstance . 135
F.8 UAVariable . 135
F.9 UAMethod . 136
F.10 TranslationType . 137
F.11 UADataType . 138
F.12 DataTypeDefinition . 139
F.13 DataTypeField . 141
F.14 Variante . 142
F.15 Exemple . 142
F.16 UANodeSetChanges . 145
F.17 NodesToAdd . 146
F.18 ReferencesToChange . 146
F.19 ReferenceToChange . 146
F.20 NodesToDelete . 147
F.21 NodeToDelete . 147
F.22 UANodeSetChangesStatus . 147
F.23 NodeSetStatusList . 148
F.24 NodeSetStatus . 149
Bibliographie . 150
Figure 1 – Vue d'ensemble des piles OPC UA . 16
Figure 2 – Codage des entiers dans un flux binaire . 27
Figure 3 – Codage des virgules flottantes dans un flux binaire . 28
Figure 4 – Codage des chaînes dans un flux binaire . 28
Figure 5 – Codage des Guid dans un flux binaire . 29
Figure 6 – Codage d'un XmlElement dans un flux binaire . 29
Figure 7 – NodeId de Chaîne . 31
Figure 8 – NodeId à deux octets . 31
Figure 9 – NodeId à quatre octets . 32
Figure 10 – Protocole d'établissement de liaison de sécurité lors de la création d'une
Session . 66
Figure 11 – MessageChunk pour les algorithmes de Chiffrement non authentifié . 77
Figure 12 – MessageChunk pour les algorithmes de Chiffrement authentifié . 77
Figure 13 – Négociation de clés ECC . 88
Figure 14 – Signature et chiffrement avec Chiffrement authentifié. 91
Figure 15 – Signature et chiffrement avec Chiffrement non authentifié . 91
Figure 16 – Protocole d'établissement de liaison ECC CreateSession/ActivateSession . 92
Figure 17 – Structure d'un Message pour le Protocole de connexion OPC UA . 95
Figure 18 – Connexion initiée par le Client à travers le Protocole de connexion
OPC UA . 100
Figure 19 – Connexion initiée par le Serveur à travers le Protocole de connexion
OPC UA . 100
Figure 20 – Fermeture d'une connexion à travers le Protocole de connexion OPC UA . 102
Figure 21 – Scénarios pour le transport HTTPS . 105
Figure 22 – Configuration de la communication par WebSocket . 109
Tableau 1 – Types de données intégrés . 18
Tableau 2 – Structure du Guid . 19
Tableau 3 – Présentation d'un Décimal . 23
Tableau 4 – Règles de base ABNF supplémentaires . 24
Tableau 5 – Description ABNF pour un NodeId . 24
Tableau 6 – Description ABNF pour un ExpandedNodeId. 25
Tableau 7 – Description ABNF pour un QualifiedName . 25
Tableau 8 – Exemples de noms codés en XML . 26
Tableau 9 – Types à virgule flottante pris en charge . 27
Tableau 10 – Composants de NodeId . 30
Tableau 11 – Valeurs de DataEncoding de NodeId . 30
Tableau 12 – DataEncoding binaire de NodeId normalisé . 31
Tableau 13 – DataEncoding binaire de NodeId à deux octets . 31
Tableau 14 – DataEncoding binaire de NodeId à quatre octets . 32
Tableau 15 – DataEncoding binaire d'ExpandedNodeId . 33
Tableau 16 – DataEncoding binaire de DiagnosticInfo . 33
Tableau 17 – DataEncoding binaire de QualifiedName . 34
Tableau 18 – DataEncoding binaire de LocalizedText . 34
Tableau 19 – DataEncoding binaire d'Objet d'extension . 35
Tableau 20 – DataEncoding binaire de Variante . 36
Tableau 21 – DataEncoding binaire de Valeur de données . 37
Tableau 22 – DataEncoding de la matrice en ligne . 38
Tableau 23 – Échantillon de structure à Codage OPC UA Binary . 39
Tableau 24 – DataTypeDefinition pour "Type1" à partir d'un échantillon . 40
Tableau 25 – DataTypeDefinition pour "Type2" à partir d'un échantillon . 41
Tableau 26 – Échantillon de structure à Codage OPC UA Binary avec champs
facultatifs . 42
Tableau 27 – Échantillon de structure à Codage OPC UA Binary . 44
Tableau 28 – Mappings des types de données XML pour les entiers . 46
Tableau 29 – Mappings de types de données XML pour les virgules flottantes . 47
Tableau 30 – Composants d'Énumération . 52
Tableau 31 – Définition d'Objet JSON pour un NodeId . 57
Tableau 32 – Définition d'Objet JSON pour un ExpandedNodeId . 58
Tableau 33 – Définition d'Objet JSON pour un StatusCode . 58
Tableau 34 – Définition d'Objet JSON pour une DiagnosticInfo . 59
Tableau 35 – Définition d'Objet JSON pour un QualifiedName . 59
Tableau 36 – Définition d'Objet JSON pour un LocalizedText . 60
Tableau 37 – Définition d'Objet JSON pour un ExtensionObject . 60
Tableau 38 – Définition d'Objet JSON pour une Variante . 61
Tableau 39 – Définition d'Objet JSON pour une DataValue . 61
Tableau 40 – Définition d'Objet JSON pour un Décimal . 62
Tableau 41 – Règles de codage JSON pour les Structures . 63
Tableau 42 – Définition d'Objet JSON pour une Structure comportant des champs
facultatifs . 64
Tableau 43 – Définition des règles de codage JSON pour une Structure comportant
des champs facultatifs . 64
Tableau 44 – Définition d'Objet JSON pour une Union . 65
Tableau 45 – SecurityPolicy . 67
Tableau 46 – Certificat d'instance d'application. 68
Tableau 47 – Certificat d'utilisateur . 70
Tableau 48 – Certificat d'émetteur . 71
Tableau 49 – Extensions de la Liste de révocation de certificat . 71
Tableau 50 – UserTokenPolicy JWT . 73
Tableau 51 – Définition d'IssuerEndpointUrl JWT . 73
Tableau 52 – Revendications de Jeton d'accès . 75
Tableau 53 – En-tête de message de conversation OPC UA sécurisée . 78
Tableau 54 – En-tête de sécurité d'algorithme asymétrique . 79
Tableau 55 – En-tête de sécurité d'algorithme symétrique . 80
Tableau 56 – En-tête de séquence. 81
Tableau 57 – Cartouche de message pour les algorithmes de Chiffrement non
authentifié . 82
Tableau 58 – Cartouche de message pour les algorithmes de Chiffrement authentifié . 83
Tableau 59 – Corps de l'abandon de Message de Conversation OPC UA sécurisée. 83
Tableau 60 – Service OpenSecureChannel pour une Conversation OPC UA sécurisée . 84
Tableau 61 – Saisies de PRF pour les SecurityPolicies reposant sur RSA . 86
Tableau 62 – Paramètres de génération de clés de cryptographie . 86
Tableau 63 – Dérivation des clés client à partir du matériel de codage . 90
Tableau 64 – Dérivation des clés serveur à partir du matériel de codage . 90
Tableau 65 – Création d'un masque pour le vecteur d'initialisation. 92
Tableau 66 – Noms de clés d'en-tête supplémentaires . 93
Tableau 67 – Dérivation des clés à partir du matériel de codage . 94
Tableau 68 – En-tête de Message pour le Protocole de connexion OPC UA . 95
Tableau 69 – Message d'accueil pour le Protocole de connexion OPC UA . 96
Tableau 70 – Message d'acquittement pour le Protocole de connexion OPC UA . 97
Tableau 71 – Message d'erreur pour le Protocole de connexion OPC UA . 98
Tableau 72 – Message ReverseHello pour le Protocole de connexion OPC UA . 98
Tableau 73 – Protocole d'établissement de liaison Client et Serveur pendant la
connexion inversée . 101
Tableau 74 – Codes d'erreur pour le Protocole de connexion OPC UA . 103
Tableau 75 – Mappings de protocoles WebSocket . 110
Tableau 76 – Adresses notoires pour les Serveurs de découverte locaux . 111
Tableau A.1 – Identificateurs attribués aux Attributs . 113
Tableau A.2 – Types de médias attribués aux formats de document OPC UA . 115
Tableau E.1 – SecuredApplication . 121
Tableau E.2 – CertificateIdentifier . 125
Tableau E.3 – Magasin de répertoires structuré . 126
Tableau E.4 – CertificateStoreIdentifier . 127
Tableau E.5 – CertificateList . 127
Tableau E.6 – CertificateValidationOptions . 128
Tableau F.1 – UANodeSet . 130
Tableau F.2 – UANode . 132
Tableau F.3 – Reference . 134
Tableau F.4 – RolePermission . 134
Tableau F.5 – Nœuds de type UANodeSet . 135
Tableau F.6 – Nœuds d'instance UANodeSet . 135
Tableau F.7 – UAInstance . 135
Tableau F.8 – UAVariable . 136
Tableau F.9 – UAMethod . 137
Tableau F.10 – TranslationType. 138
Tableau F.11 – UADataType . 139
Tableau F.12 – DataTypeDefinition . 140
Tableau F.13 – Mapping de l'Énumération de StructureType. 140
Tableau F.14 – DataTypeField . 141
Tableau F.15 – UANodeSetChanges . 145
Tableau F.16 – NodesToAdd . 146
Tableau F.17 – ReferencesToChange . 146
Tableau F.18 – ReferencesToChange . 147
Tableau F.19 – NodesToDelete . 147
Tableau F.20 – ReferencesToChange . 147
Tableau F.21 – UANodeSetChangesStatus . 148
Tableau F.22 – NodeSetStatusList . 148
Tableau F.23 – NodeSetStatus . 149
COMMISSION ÉLECTROTECHNIQUE INTERNATIONALE
____________
Architecture unifiée OPC -
Partie 6: Mappings
AVANT-PROPOS
1) La Commission Électrotechnique Internationale (IEC) est une organisation mondiale de normalisation composée
de l'ensemble des comités électrotechniques nationaux (Comités nationaux de l'IEC). L'IEC a pour objet de
favoriser la coopération internationale pour toutes les questions de normalisation dans les domaines de
l'électricité et de l'électronique. À cet effet, l'IEC – entre autres activités – publie des Normes internationales,
des Spécifications techniques, des Rapports techniques, des Spécifications accessibles au public (PAS) et des
Guides (ci-après dénommés "Publication(s) de l'IEC"). Leur élaboration est confiée à des comités d'études, aux
travaux desquels tout Comité national intéressé par le sujet traité peut participer. Les organisations
internationales, gouvernementales et non gouvernementales, en liaison avec l'IEC, participent également aux
travaux. L'IEC collabore étroitement avec l'Organisation Internationale de Normalisation (ISO), selon des
conditions fixées par accord entre les deux organisations.
2) Les décisions ou accords officiels de l'IEC concernant les questions techniques représentent, dans la mesure du
possible, un accord international sur les sujets étudiés, étant donné que les Comités nationaux de l'IEC intéressés
sont représentés dans chaque comité d'études.
3) Les Publications de l'IEC se présentent sous la forme de recommandations internationales et sont agréées
comme telles par les Comités nationaux de l'IEC. Tous les efforts raisonnables sont entrepris afin que
l'IEC s'assure de l'exactitude du contenu technique de ses publications; l'IEC ne peut pas être tenue responsable
de l'éventuelle mauvaise utilisation ou interprétation qui en est faite par un quelconque utilisateur final.
4) Dans le but d'encourager l'uniformité internationale, les Comités nationaux de l'IEC s'engagent, dans toute la
mesure possible, à appliquer de façon transparente les Publications de l'IEC dans leurs publications nationales
et régionales. Toutes divergences entre toutes Publications de l'IEC et toutes publications nationales ou
régionales correspondantes doivent être indiquées en termes clairs dans ces dernières.
5) L'IEC elle-même ne fournit aucune attestation de conformité. Des organismes de certification indépendants
fournissent des services d'évaluation de conformité et, dans certains secteurs, accèdent aux marques de
conformité de l'IEC. L'IEC n'est responsable d'aucun des services effectués par les organismes de certification
indépendants.
6) Tous les utilisateurs doivent s'assurer qu'ils sont en possession de la dernière édition de cette publication.
7) Aucune responsabilité ne doit être imputée à l'IEC, à ses administrateurs, employés, auxiliaires ou mandataires,
y compris ses experts particuliers et les membres de ses comités d'études et des Comités nationaux de l'IEC,
pour tout préjudice causé en cas de dommages corporels et matériels, ou de tout autre dommage de quelque
nature que ce soit, directe ou indirecte, ou pour supporter les coûts (y compris les frais de justice) et les dépenses
découlant de la publication ou de l'utilisation de cette Publication de l'IEC ou de toute autre Publication de l'IEC,
ou au crédit qui lui est accordé.
8) L'attention est attirée sur les références normatives citées dans cette publication. L'utilisation de publications
référencées est obligatoire pour une application correcte de la présente publication.
9) L'IEC attire l'attention sur le fait que la mise en application du présent document peut entraîner l'utilisation d'un
ou de plusieurs brevets. L'IEC ne prend pas position quant à la preuve, à la validité et à l'applicabilité de tout
droit de brevet revendiqué à cet égard. À la date de publication du présent document, l'IEC n'avait pas reçu
notification qu'un ou plusieurs brevets pouvaient être nécessaires à sa mise en application. Toutefois, il y a lieu
d'avertir les responsables de la mise en application du présent document que des informations plus récentes
sont susceptibles de figurer dans la base de données de brevets, disponible à l'adresse https://patents.iec.ch.
L'IEC ne saurait être tenue pour responsable de ne pas avoir identifié de tels droits de brevets.
L'IEC 62541-6 a été établie par le sous-comité 65E: Les dispositifs et leur intégration dans les
systèmes de l'entreprise, du comité d'études 65 de l'IEC: Mesure, commande et automation
dans les processus industriels. Il s'agit d'une Norme internationale.
Cette quatrième édition annule et remplace la troisième édition parue en 2020. Cette édition
constitue une révision technique.
Cette édition inclut les modifications techniques majeures suivantes par rapport à l'édition
précédente:
a) ajout de la prise en charge de la Conversation sécurisée ECC vers UA;
b) utilisation de l'extension AutoritéKeyIdentifier dans les Listes de révocation de certificat;
c) amélioration du mapping JSON des Unions;
d) ajout du codage du type de données Décimal;
e) description des règles de KeyUsage ECC;
f) ajout des médias attribués par l'IANA à la définition de UANodeSet;
g) ajout d'exigences pour les Certificats d'utilisateur et d'émetteur;
h) ajout de règles qui spécifient ce qu'il se passe lorsque la précision DateTime est perdue;
i) ajout de règles pour permettre la troncature de chaînes contenant des valeurs nulles
imbriquées;
j) définition d'une représentation de chaîne normative pour NodeId, ExpandedNodeId et
QualifiedName pour le mapping JSON;
k) exigence de conversion des temps TAI en UTC;
l) nouvelle possibilité d'omission du symbole s'il est inconnu dans le codage JSON;
m) ajout des champs nécessaires à la prise en charge des RolePermissions pour le
UANodeSet.
Le texte de cette Norme internationale est issu des documents suivants:
Projet Rapport de vote
65E/1063/CDV 65E/1131/RVC
Le rapport de vote indiqué dans le tableau ci-dessus donne toute information sur le vote ayant
abouti à son approbation.
La langue employée pour l'élaboration de cette Norme internationale est l'anglais.
Ce document a été rédigé selon les Directives ISO/IEC, Partie 2, il a été développé selon les
Directives ISO/IEC, Partie 1 et les Directives ISO/IEC, Supplément IEC, disponibles sous
www.iec.ch/members_experts/refdocs. Les principaux types de documents développés par
l'IEC sont décrits plus en détail sous www.iec.ch/publications.
Dans l'ensemble du présent document et dans les autres parties de la série IEC 62541,
certaines conventions de document sont utilisées:
Le format italique est utilisé pour mettre en évidence un terme défini ou une définition qui
apparaît à l'article "Termes et définitions" dans l'une des parties de la série IEC 62541.
Le format italique est également utilisé pour mettre en évidence le nom d'un paramètre d'entrée
ou de sortie de service, ou le nom d'une structure ou d'un élément de structure habituellement
défini dans les tableaux.
Les termes et noms en italique sont, à quelques exceptions près, écrits en camel-case (pratique
qui consiste à joindre, sans espace, les éléments des mots ou expressions composés, la
première lettre de chaque élément étant en majuscule). Par exemple, le terme défini est
AddressSpace et non Espace d'Adressage. Cela permet de mieux comprendre qu'il existe une
définition unique pour AddressSpace, et non deux définitions distinctes pour Espace et pour
Adressage.
IEC 62541-6:
...
IEC 62541-6 ®
Edition 4.0 2025-12
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
OPC unified architecture -
Part 6: Mappings
Architecture unifiée OPC -
Partie 6: Mappings
ICS 25.040.40, 35.100.05 ISBN 978-2-8327-0848-4
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or
by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either
IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC copyright
or have an enquiry about obtaining additional rights to this publication, please contact the address below or your local
IEC member National Committee for further information.
Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite ni
utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et
les microfilms, sans l'accord écrit de l'IEC ou du Comité national de l'IEC du pays du demandeur. Si vous avez des
questions sur le copyright de l'IEC ou si vous désirez obtenir des droits supplémentaires sur cette publication, utilisez
les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pays de résidence.
IEC Secretariat Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.
About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigendum or an amendment might have been published.
IEC publications search - IEC Products & Services Portal - products.iec.ch
webstore.iec.ch/advsearchform Discover our powerful search engine and read freely all the
The advanced search enables to find IEC publications by a publications previews, graphical symbols and the glossary.
variety of criteria (reference number, text, technical With a subscription you will always have access to up to date
committee, …). It also gives information on projects, content tailored to your needs.
replaced and withdrawn publications.
Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished The world's leading online dictionary on electrotechnology,
Stay up to date on all new IEC publications. Just Published containing more than 22 500 terminological entries in English
details all new publications released. Available online and and French, with equivalent terms in 25 additional languages.
once a month by email. Also known as the International Electrotechnical Vocabulary
(IEV) online.
IEC Customer Service Centre - webstore.iec.ch/csc
If you wish to give us your feedback on this publication or
need further assistance, please contact the Customer
Service Centre: sales@iec.ch.
A propos de l'IEC
La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.
A propos des publications IEC
Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
plus récente, un corrigendum ou amendement peut avoir été publié.
Recherche de publications IEC - IEC Products & Services Portal - products.iec.ch
webstore.iec.ch/advsearchform Découvrez notre puissant moteur de recherche et consultez
La recherche avancée permet de trouver des publications gratuitement tous les aperçus des publications, symboles
IEC en utilisant différents critères (numéro de référence, graphiques et le glossaire. Avec un abonnement, vous aurez
texte, comité d’études, …). Elle donne aussi des toujours accès à un contenu à jour adapté à vos besoins.
informations sur les projets et les publications remplacées
ou retirées. Electropedia - www.electropedia.org
Le premier dictionnaire d'électrotechnologie en ligne au
IEC Just Published - webstore.iec.ch/justpublished monde, avec plus de 22 500 articles terminologiques en
Restez informé sur les nouvelles publications IEC. Just anglais et en français, ainsi que les termes équivalents
Published détaille les nouvelles publications parues. dans 25 langues additionnelles. Egalement appelé
Disponible en ligne et une fois par mois par email. Vocabulaire Electrotechnique International (IEV) en ligne.
Service Clients - webstore.iec.ch/csc
Si vous désirez nous donner des commentaires sur cette
publication ou si vous avez des questions contactez-
nous: sales@iec.ch.
CONTENTS
FOREWORD . 8
1 Scope . 10
2 Normative references . 10
3 Terms, definitions and abbreviated terms . 12
3.1 Terms and definitions. 12
3.2 Abbreviated terms . 14
4 Overview . 14
5 Data encoding . 15
5.1 General . 15
5.1.1 Overview . 15
5.1.2 Built-in Types . 15
5.1.3 Guid . 17
5.1.4 DateTime . 17
5.1.5 ByteString. 18
5.1.6 Number, Integer and UInteger . 18
5.1.7 Structures and Unions . 18
5.1.8 ExtensionObject . 18
5.1.9 Variant . 19
5.1.10 Decimal . 19
5.1.11 Null, Empty and Zero-Length Arrays . 20
5.1.12 QualifiedName, NodeId and ExpandedNodeId String Encoding . 20
5.1.13 Name Encoding Rules . 22
5.2 OPC UA Binary . 23
5.2.1 General . 23
5.2.2 Built-in Types . 23
5.2.3 Decimal . 34
5.2.4 Enumerations . 34
5.2.5 Arrays . 34
5.2.6 Structures . 35
5.2.7 Structures with optional fields . 38
5.2.8 Unions . 40
5.2.9 Messages . 43
5.3 OPC UA XML . 43
5.3.1 Built-in Types . 43
5.3.2 Decimal . 48
5.3.3 Enumerations . 49
5.3.4 Arrays . 49
5.3.5 Structures . 50
5.3.6 Structures with optional fields . 50
5.3.7 Unions . 51
5.3.8 Messages . 51
5.4 OPC UA JSON . 51
5.4.1 General . 51
5.4.2 Built-in Types . 52
5.4.3 Decimal . 57
5.4.4 Enumerations . 57
5.4.5 Arrays . 58
5.4.6 Structures . 58
5.4.7 Structures with optional fields . 59
5.4.8 Unions . 60
5.4.9 Messages . 61
6 Message SecurityProtocols . 61
6.1 Security handshake . 61
6.2 Certificates . 63
6.2.1 General . 63
6.2.2 Application Instance Certificate . 63
6.2.3 User Certificates . 65
6.2.4 Issuer (CA) Certificates . 65
6.2.5 Certificate Revocation List (CRL) . 65
6.2.6 Certificate Chains . 66
6.3 Time synchronization . 66
6.4 UTC and International Atomic Time (TAI) . 67
6.5 Issued User Identity Tokens . 67
6.5.1 Kerberos . 67
6.5.2 JSON Web Token (JWT) . 67
6.5.3 OAuth2 . 68
6.6 WS Secure Conversation . 70
6.7 OPC UA Secure Conversation . 70
6.7.1 Overview . 70
6.7.2 MessageChunk structure . 71
6.7.3 MessageChunks and error handling . 76
6.7.4 Establishing a SecureChannel . 77
6.7.5 Deriving keys . 78
6.7.6 Verifying Message Security . 80
6.8 Elliptic Curve Cryptography (ECC) . 81
6.8.1 Secure Channel Handshake . 81
6.8.2 UserIdentityToken Encryption . 85
6.8.3 ECC Encrypted Secret . 86
7 TransportProtocols . 87
7.1 OPC UA Connection Protocol . 87
7.1.1 Overview . 87
7.1.2 Message structure . 88
7.1.3 Establishing a connection . 91
7.1.4 Closing a connection . 93
7.1.5 Error handling . 94
7.2 OPC UA TCP . 96
7.3 SOAP/HTTP . 96
7.4 OPC UA HTTPS . 96
7.4.1 Overview . 96
7.4.2 Session-less Services . 98
7.4.3 XML Encoding . 98
7.4.4 OPC UA Binary Encoding . 99
7.4.5 JSON Encoding . 99
7.5 WebSockets . 100
7.5.1 Overview . 100
7.5.2 Protocol Mapping . 101
7.5.3 Security . 101
7.6 Well known addresses . 102
8 Normative Contracts . 102
8.1 OPC Binary Schema . 102
8.2 XML Schema and WSDL . 102
8.3 Information Model Schema. 102
8.4 Formal definition of UA Information Model . 103
8.5 Constants . 103
8.6 DataType encoding . 103
8.7 Security configuration . 103
Annex A (normative) Constants. 104
A.1 Attribute Ids . 104
A.2 Status Codes . 104
A.3 Numeric Node Ids . 105
A.4 Media Types . 106
Annex B (normative) OPC UA NodeSet . 107
Annex C (normative) Type declarations for the OPC UA native Mapping . 108
Annex D (normative) WSDL for the XML Mapping . 109
D.1 XML Schema . 109
D.2 WDSL Port Types . 109
D.3 WSDL Bindings . 109
Annex E (informative) Security settings management. 110
E.1 Overview . 110
E.2 SecuredApplication . 111
E.3 CertificateIdentifier . 115
E.4 CertificateStoreIdentifier . 116
E.5 CertificateList. 117
E.6 CertificateValidationOptions . 117
Annex F (normative) Information Model XML Schema . 119
F.1 Overview . 119
F.2 UANodeSet . 119
F.3 UANode . 122
F.4 Reference . 123
F.5 RolePermission . 124
F.6 UAType. 124
F.7 UAInstance . 124
F.8 UAVariable . 125
F.9 UAMethod . 125
F.10 TranslationType . 126
F.11 UADataType . 127
F.12 DataTypeDefinition . 128
F.13 DataTypeField . 129
F.14 Variant . 131
F.15 Example . 131
F.16 UANodeSetChanges . 133
F.17 NodesToAdd . 134
F.18 ReferencesToChange . 135
F.19 ReferenceToChange . 135
F.20 NodesToDelete . 135
F.21 NodeToDelete . 136
F.22 UANodeSetChangesStatus . 136
F.23 NodeSetStatusList . 137
F.24 NodeSetStatus . 137
Bibliography . 138
Figure 1 – The OPC UA Stack Overview . 15
Figure 2 – Encoding Integers in a binary stream . 24
Figure 3 – Encoding Floating Points in a binary stream . 24
Figure 4 – Encoding Strings in a binary stream . 25
Figure 5 – Encoding Guids in a binary stream . 26
Figure 6 – Encoding XmlElement in a binary stream . 26
Figure 7 – A String NodeId. 27
Figure 8 – A Two Byte NodeId . 28
Figure 9 – A Four Byte NodeId . 28
Figure 10 – Security handshake when Creating a Session . 61
Figure 11 – MessageChunk for Unauthenticated Encryption Algorithms . 71
Figure 12 – MessageChunk for Authenticated Encryption Algorithms . 71
Figure 13 – ECC Key Negotiation . 81
Figure 14 – Signing and Encryption with Authenticated Encryption . 84
Figure 15 – Signing and Encryption with Unauthenticated Encryption . 84
Figure 16 – ECC CreateSession/ActivateSession Handshake . 85
Figure 17 – OPC UA Connection Protocol Message structure . 88
Figure 18 – Client initiated OPC UA Connection Protocol connection . 92
Figure 19 – Server initiated OPC UA Connection Protocol connection. 92
Figure 20 – Closing a OPC UA Connection Protocol connection . 94
Figure 21 – Scenarios for the HTTPS Transport . 97
Figure 22 – Setting up Communication over a WebSocket . 100
Table 1 – Built-in Data Types . 16
Table 2 – Guid structure . 17
Table 3 – Layout of Decimal . 20
Table 4 – Additional ABNF Core Rules . 21
Table 5 – ABNF Description for a NodeId . 21
Table 6 – ABNF Description for a ExpandedNodeId . 22
Table 7 – ABNF Description for a QualifiedName . 22
Table 8 – Examples of XML Encoded Names . 23
Table 9 – Supported Floating Point Types. 24
Table 10 – NodeId components . 26
Table 11 – NodeId DataEncoding values . 27
Table 12 – Standard NodeId Binary DataEncoding . 27
Table 13 – Two Byte NodeId Binary DataEncoding . 28
Table 14 – Four Byte NodeId Binary DataEncoding . 28
Table 15 – ExpandedNodeId Binary DataEncoding . 29
Table 16 – DiagnosticInfo Binary DataEncoding . 30
Table 17 – QualifiedName Binary DataEncoding . 30
Table 18 – LocalizedText Binary DataEncoding . 31
Table 19 – Extension Object Binary DataEncoding . 32
Table 20 – Variant Binary DataEncoding . 33
Table 21 – Data Value Binary DataEncoding . 34
Table 22 – Inline Matrix DataEncoding . 35
Table 23 – Sample OPC UA Binary Encoded structure. 36
Table 24 – DataTypeDefinition for "Type1" from Sample . 37
Table 25 – DataTypeDefinition for "Type2" from Sample . 38
Table 26 – Sample OPC UA Binary Encoded Structure with optional fields . 39
Table 27 – Sample OPC UA Binary Encoded Structure . 41
Table 28 – XML Data Type Mappings for Integers . 43
Table 29 – XML Data Type Mappings for Floating Points . 43
Table 30 – Components of Enumeration . 49
Table 31 – JSON Object Definition for a NodeId . 53
Table 32 – JSON Object Definition for an ExpandedNodeId . 54
Table 33 – JSON Object Definition for a StatusCode . 54
Table 34 – JSON Object Definition for a DiagnosticInfo . 55
Table 35 – JSON Object Definition for a QualifiedName . 55
Table 36 – JSON Object Definition for a LocalizedText . 56
Table 37 – JSON Object Definition for an ExtensionObject . 56
Table 38 – JSON Object Definition for a Variant . 56
Table 39 – JSON Object Definition for a DataValue . 57
Table 40 – JSON Object Definition for a Decimal . 57
Table 41 – JSON Encoding Rules for Structures . 58
Table 42 – JSON Object Definition for a Structures with Optional Fields . 59
Table 43 – JSON Encoding Rules for Structures with Optional Fields . 59
Table 44 – JSON Object Definition for a Union . 60
Table 45 – SecurityPolicy . 62
Table 46 – Application Instance Certificate . 63
Table 47 – User Certificate . 65
Table 48 – Issuer Certificate . 65
Table 49 – Certificate Revocation List Extensions . 66
Table 50 – JWT UserTokenPolicy . 67
Table 51 – JWT IssuerEndpointUrl Definition . 68
Table 52 – Access Token Claims . 69
Table 53 – OPC UA Secure Conversation Message Header . 72
Table 54 – Asymmetric algorithm Security header . 73
Table 55 – Symmetric algorithm Security header . 74
Table 56 – Sequence header . 74
Table 57 – Message Footer for Unauthenticated Encryption Algorithms . 75
Table 58 – Message Footer for Authenticated Encryption Algorithms . 76
Table 59 – OPC UA Secure Conversation Message abort body. 76
Table 60 – OPC UA Secure Conversation OpenSecureChannel Service . 77
Table 61 – PRF inputs for RSA based SecurityPolicies . 79
Table 62 – Cryptography key generation parameters . 79
Table 63 – Deriving Client Keys from Keying Material . 83
Table 64 – Deriving Server Keys from Keying Material . 83
Table 65 – Creating a Mask for the Initialization Vector . 85
Table 66 – Additional Header Key Names . 86
Table 67 – Deriving Keys from Keying Material . 87
Table 68 – OPC UA Connection Protocol Message header . 88
Table 69 – OPC UA Connection Protocol Hello Message . 89
Table 70 – OPC UA Connection Protocol Acknowledge Message. 90
Table 71 – OPC UA Connection Protocol Error Message . 90
Table 72 – OPC UA Connection Protocol ReverseHello Message . 91
Table 73 – Client and Server Handshake during Reverse Connect . 93
Table 74 – OPC UA Connection Protocol error codes . 95
Table 75 – WebSocket Protocols Mappings . 101
Table 76 – Well known addresses for Local Discovery Servers . 102
Table A.1 – Identifiers assigned to Attributes . 104
Table A.2 – Media Types Assigned to OPC UA Document Formats . 106
Table E.1 – SecuredApplication . 112
Table E.2 – CertificateIdentifier . 115
Table E.3 – Structured directory store . 116
Table E.4 – CertificateStoreIdentifier . 117
Table E.5 – CertificateList . 117
Table E.6 – CertificateValidationOptions . 118
Table F.1 – UANodeSet . 120
Table F.2 – UANode . 122
Table F.3 – Reference . 123
Table F.4 – RolePermission . 124
Table F.5 – UANodeSet Type Nodes . 124
Table F.6 – UANodeSet Instance Nodes . 124
Table F.7 – UAInstance . 125
Table F.8 – UAVariable . 125
Table F.9 – UAMethod . 126
Table F.10 – TranslationType . 127
Table F.11 – UADataType . 128
Table F.12 – DataTypeDefinition . 129
Table F.13 – StructureType Enumeration Mapping . 129
Table F.14 – DataTypeField . 130
Table F.15 – UANodeSetChanges . 134
Table F.16 – NodesToAdd . 134
Table F.17 – ReferencesToChange . 135
Table F.18 – ReferencesToChange . 135
Table F.19 – NodesToDelete . 136
Table F.20 – ReferencesToChange . 136
Table F.21 – UANodeSetChangesStatus . 136
Table F.22 – NodeSetStatusList. 137
Table F.23 – NodeSetStatus . 137
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
OPC unified architecture -
Part 6: Mappings
FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote international
co-operation on all questions concerning standardization in the electrical and electronic fields. To this end and
in addition to other activities, IEC publishes International Standards, Technical Specifications, Technical Reports,
Publicly Available Specifications (PAS) and Guides (hereafter referred to as "IEC Publication(s)"). Their
preparation is entrusted to technical committees; any IEC National Committee interested in the subject dealt with
may participate in this preparatory work. International, governmental and non-governmental organizations liaising
with the IEC also participate in this preparation. IEC collaborates closely with the International Organization for
Standardization (ISO) in accordance with conditions determined by agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence between
any IEC Publication and the corresponding national or regional publication shall be clearly indicated in the latter.
5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
services carried out by independent certification bodies.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
9) IEC draws attention to the possibility that the implementation of this document may involve the use of (a)
patent(s). IEC takes no position concerning the evidence, validity or applicability of any claimed patent rights in
respect thereof. As of the date of publication of this document, IEC had no received notice of (a) patent(s), which
may be required to implement this document. However, implementers are cautioned that this may not represent
the latest information, which may be obtained from the patent database available at https://patents.iec.ch. IEC
shall not be held responsible for identifying any or all such patent rights.
IEC 62541-6 has been prepared by subcommittee 65E: Devices and integration in enterprise
systems, of IEC technical committee 65: Industrial-process measurement, control and
automation. It is an International Standard.
This fourth edition cancels and replaces the third edition published in 2020. This edition
constitutes a technical revision.
This edition includes the following significant technical changes with respect to the previous
edition:
a) addition of support for ECC to UA Secure Conversation;
b) use of the AuthorityKeyIdentifier extension in Certificate Revocation Lists;
c) enhancement of JSON mapping of Unions;
d) addition of Decimal data type encoding.
e) description of ECC keyUsage rules;
f) addition of Media assigned by IANA to UANodeSet definition;
g) addition of requirements for user and issuer Certificates;
h) addition of rules which specify what happens when DateTime precision is lost;
i) addition of rules to allow for the truncation of strings containing embedded nulls.
j) definition of a normative string representation for NodeId, ExpandedNodeId and
QualifiedName for JSON mapping.
k) requirement that TAI times be converted to UTC;
l) new possibility to omit Symbol if unknown in JSON encoding;
m) addition of fields needed to support RolePermissions to the UANodeSet.
The text of this International Standard is based on the following documents:
Draft Report on voting
65E/1063/CDV 65E/1131/RVC
Full information on the voting for its approval can be found in the report on voting indicated in
the above table.
The language used for the development of this International Standar
...












Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...