S-63 IHO Standard
S-63 IHO Standard
S-63 IHO Standard
Published by the
International Hydrographic Bureau
MONACO
Published by the
International Hydrographic Bureau
4, Quai Antoine 1er
B.P 445 - MC 98011 MONACO Cedex
Principality of Monaco
Tel: +(377) 93 10 81 00
Telefax: +(377) 93 10 81 40
E-mail: info@ihb.mc
Web: www.iho.int
PREFACE
Copyright infringement and data piracy are pervasive problems of the digital era. Electronic Navigational
Charts (ENC) are not exempt from these issues. As well as the economic impact, the unofficial distribution
of nautical information also gives rise to significant safety concerns. As a result, the publishers of official
nautical information have sought to protect their data and provide the mariner with a certificate of authenticity
through the adoption of a security schema.
In September 2000, IHO Member States were polled on their views on developing a single IHO
Recommended Security Scheme (RSS) (see: IHB Circular Letter 38/2000). Responses indicated that a large
majority of the Member States wished to have their ENC data encrypted and agreed that the IHO should
adopt a single RSS (see: IHB CL 15/2001 Rev.1). A majority of the Member States responding also
supported the adoption of the Primar Security Scheme as the IHO RSS, as it was at the time the de facto
standard for ENC protection and the majority of ECDIS manufacturers had already developed the necessary
decryption facilities in their systems.
The IHO Committee on Hydrographic Requirements for Information Systems (CHRIS), at its 13th meeting
(Athens, Greece, September 2001), revisited the issue of a RSS and agreed that a small advisory expert
group investigate the implications of IHB becoming the security scheme administrator for a RSS and
assuming responsibility for the maintenance of a RSS.
The Data Protection Scheme Advisory Group (DPSWG) reported back to the IHB in January 2002 that there
were no technical implications to the IHB becoming the security scheme administrator and that the level of
effort to administer the security scheme would be limited and within the IHB resources. The DPSWG further
provided a plan to develop an IHO RSS Version 1, based on the Primar Security Scheme. This Report was
endorsed by CHRIS Members in February 2002 and the DPSWG was tasked to develop Version 1 of an IHO
RSS.
The results were presented to CHRIS, at its 14th meeting (Shanghai, China, August 2002), which
recommended that the ENC Security Scheme, as developed by the DPSWG, be submitted to IHO Member
States for adoption as an IHO RSS, and that the role as Security Scheme Administrator be transferred to the
IHB. These proposals (see: IHB CL 44/2002) were approved by a majority of Member States (see: IHB CL
66/2002). As a result, Edition 1.0 of the IHO Data Protection Scheme was issued in October 2003 as
Publication S-63.
The 18th CHRIS meeting (Cairns, Australia, September 2006) tasked the DPSWG to develop a revised
edition of S-63 with the following guidance:
Accordingly, a draft Edition 1.1 of S-63 was prepared by DPSWG and endorsed by CHRIS at its 19th meeting
(Rotterdam, Netherlands, November 2007). This was subsequently endorsed by Member States. Edition
1.1 therefore supersedes the previous edition.
This new edition includes supporting documentation, test data and a method to supply ENCs using “Large
Media Support”. Changes to this Standard, as well as any further developments, will be coordinated by the
DPSWG under CHRIS Guidance.
The IHB Directing Committee thanks all the contributors to this new edition of the IHO Data Protection
Scheme; especially from DPSWG members, the Electronic Chart Centre of Norway, and the United Kingdom
Hydrographic Office.
TABLE OF CONTENTS
GLOSSARY........................................................................................................................................................1
1 INTRODUCTION .........................................................................................................................................3
1.1 GENERAL DESCRIPTION ..........................................................................................................................3
1.2 PARTICIPANTS IN THE SCHEME ................................................................................................................3
1.2.1 Scheme Administrator...................................................................................................................4
1.2.2 Data Servers .................................................................................................................................4
1.2.3 Data Clients ..................................................................................................................................4
1.2.4 Original Equipment Manufacturers (OEM)....................................................................................4
1.2.5 S-63 Participant Relationships......................................................................................................4
1.3 REFERENCES .........................................................................................................................................5
1.4 COMPATIBILITY WITH PREVIOUS VERSIONS ..............................................................................................5
1.5 DOCUMENT STRUCTURE .........................................................................................................................6
1.6 MAINTENANCE ........................................................................................................................................6
1.7 SUPPORT ...............................................................................................................................................6
2 DATA COMPRESSION ..............................................................................................................................7
2.1 OVERVIEW .............................................................................................................................................7
2.2 COMPRESSION ALGORITHM .....................................................................................................................7
2.3 COMPRESSED FILES ...............................................................................................................................7
3 DATA ENCRYPTION ..................................................................................................................................9
3.1 WHAT DATA IS ENCRYPTED? ...................................................................................................................9
3.2 HOW IS IT ENCRYPTED? ..........................................................................................................................9
3.2.1 Encryption of ENC Information .....................................................................................................9
3.2.2 Encryption of Other Protection Scheme Information ....................................................................9
3.2.3 Encryption Algorithm – Blowfish ...................................................................................................9
4 DATA LICENCING................................................................................................................................... 11
4.1 INTRODUCTION .................................................................................................................................... 11
4.2 THE USERPERMIT ................................................................................................................................ 11
4.2.1 Definition of Userpermit ............................................................................................................. 12
4.2.2 HW_ID Format ........................................................................................................................... 12
4.2.3 Check Sum (CRC) Format......................................................................................................... 12
4.2.4 M_ID Format .............................................................................................................................. 12
4.2.5 M_KEY Format .......................................................................................................................... 13
4.3 THE CELL PERMIT ............................................................................................................................... 13
4.3.1 The Permit File (PERMIT.TXT).................................................................................................. 13
4.3.2 The Permit File - Header Formats ............................................................................................. 14
4.3.3 Permit Record Fields ................................................................................................................. 14
4.3.4 Definition of the Cell Permit ....................................................................................................... 14
4.3.5 Cell Permit Format ..................................................................................................................... 15
4.3.6 Additional Licence File (Optional) .............................................................................................. 16
5 DATA AUTHENTICATION ...................................................................................................................... 17
5.1 INTRODUCTION TO DATA AUTHENTICATION AND INTEGRITY CHECKING ................................................... 17
5.1.1 SA Verification ........................................................................................................................... 18
5.1.2 Data Integrity.............................................................................................................................. 19
5.2 DIGITAL CERTIFICATES (SA AUTHENTICATION)...................................................................................... 19
5.2.1 The SA Public Key ..................................................................................................................... 19
5.2.2 New Data Servers...................................................................................................................... 20
5.3 DIGITAL SIGNATURES (VERIFY DATA INTEGRITY) ................................................................................... 20
5.3.1 Technical Overview of Digital Signatures .................................................................................. 20
5.3.2 ENC Signature File Naming Convention ................................................................................... 20
5.3.3 Storage of the ENC Signature File ............................................................................................ 21
5.4 DATA AUTHENTICATION FILE FORMATS ................................................................................................. 21
5.4.1 File Elements ............................................................................................................................. 21
5.4.1.1 Element Header and Data String Formatting ..................................................................... 22
8.7.1 Documentation........................................................................................................................... 41
8.7.2 Administration of Confidentiality Agreement.............................................................................. 41
8.7.3 Audit of Security Registers......................................................................................................... 41
8.7.4 Creation of M_IDs and M_KEYs ................................................................................................ 41
8.7.5 Creation of Digital Signature Keys (Private and Public Keys) ................................................... 41
8.7.6 Acceptance of Self Signed Keys (SSK) ..................................................................................... 41
8.7.7 Creation of Data Server (DS) Certificates.................................................................................. 41
8.7.8 Creation of Random Strings....................................................................................................... 42
8.7.9 Handover of M_ID and M_KEY.................................................................................................. 42
9 DATA SERVER PROCESSES ................................................................................................................ 43
9.1 OVERVIEW .......................................................................................................................................... 43
9.2 DATA SERVER PROCESSES .................................................................................................................. 43
9.3 CERTIFICATION PROCESSES ................................................................................................................ 43
9.3.1 Produce Public/Private Key Pair................................................................................................ 43
9.3.1.1 Create PQG Signature Parameters.................................................................................... 44
9.3.1.2 Create Private Key File....................................................................................................... 44
9.3.1.3 Create Public Key File ........................................................................................................ 44
9.3.2 Create Data Server Self Signed Key (SSK)............................................................................... 44
9.3.2.1 Sign Public Key and Generate SSK ................................................................................... 45
9.3.2.2 Authenticate/Validate Data Server SSK ............................................................................. 45
9.3.2.3 Store Self Signed Key......................................................................................................... 45
9.3.3 Validate Certificates ................................................................................................................... 45
9.3.3.1 Authenticate X509 SA Digital Certificate ............................................................................ 45
9.3.3.2 Authenticate SA signed Data Server Certificate................................................................. 45
9.3.3.3 Store SA Signed Data Server Certificate............................................................................ 46
9.4 DATA MANAGEMENT PROCESSES ......................................................................................................... 46
9.5 ENCRYPTION, COMPRESSION AND ENC SIGNING PROCESSES ............................................................... 46
9.5.1 Management of Encryption Cell Keys (ECK)............................................................................. 46
9.5.1.1 Cell Key Format .................................................................................................................. 47
9.5.2 Compress ENC file (base or update files) ................................................................................. 47
9.5.3 Encrypt ENC Files...................................................................................................................... 47
9.5.3.1 Base Cell File...................................................................................................................... 47
9.5.3.2 ENC Update File................................................................................................................. 48
9.5.4 Sign ENC File (Base Cell or Update)......................................................................................... 48
9.5.5 Issue S-63 Encrypted ENC Data ............................................................................................... 48
9.6 LICENSING PROCESSES ....................................................................................................................... 48
9.6.1 Decrypt User Permit................................................................................................................... 48
9.6.2 Create Cell Permit...................................................................................................................... 49
9.6.3 Issue ENC Licences................................................................................................................... 51
9.7 SECURITY QA PROCEDURES – DATA SERVER ...................................................................................... 51
9.7.1 Data Protection Scheme Information......................................................................................... 51
9.7.2 System Compliance Testing ...................................................................................................... 51
9.7.3 Storage of M_IDs and M_KEYs ................................................................................................. 51
9.7.4 Acceptance and Checking of the SA Digital Certificate (and Public Key) ................................. 51
9.7.5 Creation of Digital Signature Keys (Private and Public keys).................................................... 51
9.7.6 Acceptance of the Data Server Certificate from the SA ............................................................ 51
9.7.7 Creation of Cell Keys ................................................................................................................. 51
9.7.8 Compression, Encryption and Signing S-57 data...................................................................... 51
9.7.9 Creation of Random Values....................................................................................................... 52
9.7.10 Creation of Cell Permits ............................................................................................................. 52
9.7.11 Decryption of User Permits ........................................................................................................ 52
10 OEM AND DATA CLIENT PROCESSES ................................................................................................ 53
10.1 DATA CLIENTS ................................................................................................................................. 53
10.2 ORIGINAL EQUIPMENT MANUFACTURERS (OEMS)............................................................................. 53
10.3 OEM & DATA CLIENT PROCESSES ................................................................................................... 53
10.4 CREATE DATA CLIENT USERPERMIT.................................................................................................. 54
10.5 ENC CELL PERMIT INSTALLATION ..................................................................................................... 54
10.5.1 Check for a Cell Permit File ....................................................................................................... 54
10.5.2 Check Cell Permit Format.......................................................................................................... 55
GLOSSARY
Organisations
Computing Terms
1 INTRODUCTION
The publication “S-63 IHO Data Protection Scheme”, later referred to as ‘the scheme’, describes the
recommended standard for the protection of ENC information. It defines security constructs and operating
procedures that must be followed to ensure that the data protection scheme is operated correctly and to
provide specifications that allow participants to build S-63 compliant systems and distribute data in a secure
and commercially viable manner.
The Data Protection Scheme was prepared by the International Hydrographic Organisation's (IHO) Data
Protection Scheme Advisory Group (DPSWG). The S-63 standard is based on the protection scheme
developed and operated by Primar and Primar-Stavanger as part of their protected ENC service. The
Electronic Chart Centre AS and United Kingdom Hydrographic Office were the original contributing
organisations.
The Standard was adopted as the official IHO standard, by the IHO member states in December 2002 (IHO
CL 66, 2002). It defines the roles and responsibilities for protecting ENC data produced by National
Hydrographic Offices and distributed to customers with ECS/ECDIS systems.
1. Piracy Protection: To prevent unauthorised use of data by encrypting the ENC information.
2. Selective Access: To restrict access to ENC information to only those cells that a customer has
been licenced for.
3. Authentication: To provide assurance that the ENC data has come from approved sources
Piracy protection and selective access are achieved by encrypting the ENC information and providing cell
permits to decrypt them. Data Servers will encrypt ENC data provided by producer nations before supplying
it to the Data Client. The encrypted ENC is then decrypted by the ECS/ECDIS prior to being reformatted and
imported into the systems SENC. Authentication is provided by means of digital signatures within the data.
The scheme does not specifically address how ENC or SENC information can be protected once it is within
an end-user application. This is the responsibility of the OEMs.
The scheme allows for the mass distribution of encrypted ENCs on hard media (e.g. CD-ROM or DVD) and
can be accessed and used by all customers with a valid licence containing a set of permits. Selective access
to individual cells is supported by providing users with a licenced set of permits containing the encrypted cell
keys. This licence is created using a unique hardware identifier of the system and is unique to each Data
Client. Consequently licences cannot be exchanged between individual Data Clients.
The scheme uses a compression algorithm to reduce the size of the dataset. Unencrypted ENC data
contains many repeating patterns of information, e.g. coordinate information. Compression is therefore
always applied before the ENC information is encrypted and uncompressed after the decryption on the data
client system (normally an ECS/ECDIS).
The SA is responsible for controlling membership of the scheme and ensuring that all participants operate
according to defined procedures. The SA maintains the top level digital certificate used to operate the S-
63 Data Protection Scheme and is the only body that can certify the identity of the other participants of
the scheme.
The SA is also the custodian of all documentation relating to the S-63 Data Protection Scheme.
Data Servers will use the M_KEY and HW_ID information, as supplied by the SA, to issue encrypted ENC
cell keys to each specific installation. Even though the cell keys used to encrypt each cell are identical,
they will be encrypted using the unique HW_ID and therefore cannot be transferred between other ECDIS
from the same manufacturer.
Hydrographic Offices, Value Added Resellers and RENC organisations are examples of Data Servers.
The scheme does not impede agents or distributors from providing data services to their customers.
Agreements and structures to achieve this are outside the scope of this document. This document
contains only the technical specifications to produce S63 compliant data services and systems.
The manufacturer must provide a secure mechanism within their software systems for uniquely identifying
each end user installation. The scheme requires each installation to have a unique hardware identifier
(HW_ID).
The software application will be able to decrypt the cell keys using the HW_ID stored in either the hard
lock or soft lock devices attached to or programmed within the application to subsequently decrypt and
uncompress the ENC data. The CRC value contained within the ENC [1] can then be verified to establish
the integrity of the underlying S57 data.
SCHEME
ADMINISTRATOR
(SA)
DATA CLIENT DATA CLIENT DATA CLIENT DATA CLIENT DATA CLIENT DATA CLIENT DATA CLIENT
1 2 3 4 5 6 X
1.3 References
[1] S57 edition 3.1: IHO Transfer Standard for Digital Hydrographic Data, International Hydrographic
Bureau (www.iho.int)
[2] Digital Signature Standard (DSS), FIPS Pub 186 (www.itl.nist.gov/div897/pubs/fip186.htm)
[3] Secure Hash Standard (SHA), FIPS Pub 180-1 (www.itl.nist.gov/div897/pubs/fip180-1.htm)
[4] Information Technology – Open Systems Interconnection – The Directory: Authentication
Framework. X.509 version 3 - International Telecommunication Union
[6] ZIP File Format Specification, PKWare Inc.
[7] DES Modes of Operation, FIPS Pub 81 (www.itl.nist.gov/fipspubs/fip81.htm)
[8] RFC 1423: Privacy Enhancements for Internet Electronic Mail: Part III: Algorithms, Modes and
Identifiers (ftp://ftp.isi.edu/in-notes/rfc1423.txt)
[9] Blowfish encryption algorithm, B. Schneier, Fast Software Encryption, Cambridge Security Workshop
Proceedings (December 1993), Springer-Verlag, 1994, pp. 191-204. (www.counterpane.com)
[10] CRC32 checksum algorithm. Information technology -- Telecommunications and information
exchange between systems -- High-level data link control (HDLC) procedures. ISO/IEC 13239:2002.
A defined test data set has been produced and should be used by OEMs to verify and validate
implementations of the S-63 Data Protection Scheme during self certification.
Version 1.1 of the standard has been produced in light of experience gained by Data Servers and
ECS/ECDIS Manufacturers during the operation of the scheme under version 1.0. This version attempts to
more clearly define the standard by removing duplication and possible ambiguity. It also contains additional
mechanisms that will enable manufacturers to make their systems more intuitive for users of ECS/ECDIS.
The following list refers to the revisions within the standard.
It is the responsibility of Data Servers to provide services that are backwardly compatible
Main Document:
1. Scheme Components:
Section 2 Data Compression
Section 3 Data Encryption
Section 4 Data Licensing
Section 5 Data Authentication
Section 6 Data Management
2. Exchange Set Format and Structure
Section 7 Directory and File Structures
3. S-63 Participant Processes
Section 0 Scheme Administrators Processes
Section 9 Data Server Processes
Section 10 OEM & Data Client Processes
4. S-63 Error and Warning Messages
Section 11 S-63 Error Codes and Explanations
Additional Sections:
Appendices:
• Appendix 1: Contains a definition of available test data which can be used to develop full compliance
with all aspects of the Data Protection Scheme.
• Appendix 2: Defines how encrypted ENC exchange sets provided by Data Servers will be stored using
mass storage devices such as DVD or USB memory sticks.
1.6 Maintenance
Changes to this standard will conform to the “Principles and procedures for making changes to IHO
standards and specifications”, as approved by the 18th CHRIS meeting (Cairns, Australia, Sept. 2006).
1.7 Support
Support in using and implementing this standard is provided to users by members of the IHO DPSWG, via a
security scheme discussion on the open ECDIS forum. (www.openecdis.org). In addition an inventory of
frequently asked questions (FAQ) is maintained by the IHB on the ECDIS section of the IHO website
(www.iho.int).
2 DATA COMPRESSION
2.1 Overview
An ENC file will, because of its structure, contain repeating patterns of information. Examples of this are the
consecutive numbering of the feature object identifier (FOID) or small variations in the co-ordinate
information within an ENC file. ENC data therefore responds well to compression with reductions in size of
between 30% and 60% reducing greatly the cost of transfer of ENC data to its final destination. Only the
ENC files (base and update) are compressed. The ENC files are always compressed before they are
encrypted as the effectiveness of any compression algorithm relies on the existence of structured data
contents.
1
http://en.wikipedia.org/wiki/ZIP_%28file_format%29
3 DATA ENCRYPTION
The cell keys used to encrypt the ENC data files are themselves encrypted by the Data Server and supplied
to Data Clients as cell permits. Information about the encryption algorithm is available in section 3.2.3.
4 DATA LICENCING
4.1 Introduction
Data Clients do not buy ENC data but are licenced to use it. Licensing is the method that Data Servers use
to give Data Clients selective access to up-to-date ENC cells for a given period of time.
To operate the scheme effectively there must be a means where Data Client systems can unlock the
encrypted ENC cells. To unlock the data the Data Clients system must have access to the cell keys that
were used to encrypt the ENC cells. These keys are supplied to the Data Client, encrypted, in a permit file
containing a set of cell permits. It is these cell permits that contain the encryption keys.
To make each set of cell permits exclusive the cell keys must be encrypted using something that is unique to
the Data Clients system. OEMs assign a unique identifier (HW_ID) to each of their systems and provide an
encrypted copy of this, in the form of a userpermit, to each Data Client. The HW_ID is stored in the
userpermit encrypted.
OEMs encrypt the HW_ID with their own unique manufacturer key (M_KEY) so that a HW_ID cannot be
duplicated by another manufacturer. Data Servers have access to the OEM M_KEYs and can therefore
decrypt the HW_ID stored in the userpermit. Data Servers encrypt their cell keys with the manufacturers
HW_ID when producing a set of cell permits. This makes them unique to the Data Client and as such not
transferable between Data Client systems.
DATA SERVER
SA
Decrypts userpermit
Provides List of all
using OEM M_ID &
OEM M_ID and
M_KEY to obtain
OEM M_KEY Values
HW_ID
Allocates a unique
HW_ID and encrypts
it using own M_KEY
DATA SERVER
DATA SERVERS Encrypt cell keys
Supply ENC BASE using the derived
& UPDATE CDs HW_ID to produce a
list of permits
ECS/ECDIS
All Data Clients with systems capable of using data, protected with the S-63 scheme, must have a unique
hardware identification (HW_ID) built into their end-user system. Such a HW_ID is often implemented as a
dongle or by other means ensuring a unique identification for each installation.
The HW_ID is unknown to the Data Client, but the OEM will provide a userpermit that is an encrypted
version of the HW_ID and unique to the Data Client’s system. The userpermit is created by taking the
assigned HW_ID and encrypting it with the manufacturer key (M_KEY). The CRC32 algorithm is run on the
encrypted HW_ID and the result appended to it. Finally the manufacturer attaches their assigned
manufacturer identifier (M_ID) to the end of the resultant string. The M_KEY and M_ID values are supplied
by the SA and are unique to each manufacturer providing S-63 compliant systems.
The Data Client gains access to S-63 encrypted ENCs by supplying this userpermit to the Data Server who
can then issue Cell Permits specific to it. Since the userpermit contains the manufacturers unique M_ID this
can be used by Data Servers to identify which M_KEY to use to decrypt it. The M_ID is the last four
characters of the Userpermit. A list of the manufacturer M_KEY and M_ID values is issued and updated by
the SA to all Data Servers subscribing to the scheme. This list will be updated periodically as new OEMs join
the scheme.
Encrypted
CRC M_ID
HW_ID
The OEM manufacturer must assign a unique HW_ID for each installation. It is recommended that the
HW_IDs are not sequential.
The HW_ID will be stored in an encrypted form in the Userpermit. It is encrypted using the Blowfish
algorithm with M_KEY as the key resulting in a 16 digit (8 bytes) hexadecimal number. The encrypted
HW_ID is then represented in its ASCII form in the userpermit as 16 characters.
The Check Sum is not encrypted and allows the integrity of the Userpermit to be checked.
2
Manufactures, with the consent of the Data Server, may use the same HW_ID on more than one unit.
The SA will provide all licenced Data Servers with a full listing of all manufacturer codes as and when new
manufacturers subscribe to the scheme. This information is used by the Data Server to determine which
key (M_KEY) to use to decrypt the HW_ID in the Userpermit during the creation of Data Client cell
permits.
The PERMIT.TXT file will be delivered either on hard media or using online services in accordance with the
Data Servers operating procedures. These procedures will be made available to Data Clients when
purchasing a licence.
Each cell permit record also contains additional fields that are supplied to assist OEM systems to manage
the Data Clients licence and permit files from multiple Data Servers, see section 4.3.3.
Data Clients can obtain a licence to access ENCs by supplying the Data Server with their unique userpermit
(see section 4.2). Data Servers can then extract the HW_ID from userpermit, using the Data Client’s M_KEY,
and create client specific cell permits based on this value. The format of a cell permit record is described
below in sections 4.3.2 & 4.3.3.
Since Cell Permits are issued for a specific HW_ID they are consequently not transferable between
installations (Data Client Systems). This method of linking the permit to the installation supports the
production of generically encrypted CDs which can be distributed to all Data Clients subscribing to a service.
The Data Clients system decrypts the Cell Permit using the assigned HW_ID stored securely by hardware or
software means. The decrypted cell keys can then be used by the system to decrypt the ENC cell. Since
several Data Servers can make permit files for ENCs in their service, it is the responsibility of the Data Client
system to manage permit files from several Data Servers.
NOTE: Data Servers should continue to provide both types of permit files (ENC.PMT & PERMIT.TXT) as
described in S-63 Edition 1.0. This should continue until such time that it can be determined that the
omission of the ENC.PMT file will not compromise the safe use of older legacy systems. The timescale for
this must be agreed between all stakeholders. OEMs must ensure that new implementations of their ECDIS
software are able to merge permits from multiple data servers without losing permit information using only
the PERMIT.TXT file.
3
Note: The hex encoding may be unfamiliar to some readers. For historical reasons it has been preserved in this version
of the standard. “1 2 3 4 5” is translated into “31 32 33 34 35” because the ASCII Base 16 representation of the character
“1” is “31” etc. Though confusing at first this convention is used throughout the standard consistently as is standard
hexadecimal and binary representations. To differentiate it is referred to as “(ASCII)”
Section Description
Header This includes the file creation date and the format version.
:ENC ENC permits (official) from the Data Server are listed under this section.
:ECS ECS permits (non-official) from the Data server can be listed under this section.
The Data Server will make available information regarding how the permit files will be made available
whether on hard media or online services. The following table defines the content and format of each
section within the permit files separated by “new lines [NL]”.
Field Value
Cell Permit As defined in section 4.3.4 & 4.3.5
0 for subscription permit
Service Level Indicator
1 for single purchase permit
Edition Number [Optional] DSID-EDTN issue number of the ENC cell (for Data Servers use only)
Data Server ID This is a two character alphanumeric issued by the SA
Comment Free text field for comments on the cell permit etc.
NOTE: The “Edition Number [Optional]” field is no longer a mandatory requirement in S-63, Edition 1.1.
OEMs implementing edition 1.1 should no longer build any dependency into their systems that checks the
relationship between the edition number of the ENC and cell key used to encrypt it. Data Clients should
only check to see if there is a valid cell key in the permit string. Data Servers will continue to support
edition 1.0 PERMIT.TXT files until such time as it can be determined that it is no longer required.
Field Purpose
The cell name enables Data Client systems to link the correct encryption key to the
Cell Name:
corresponding encrypted ENC cell file.
Expiry Date: This is the date when the Data Clients licence expires. Systems must prevent any
4
OEMs should be aware that all ASCII text files generated by the scheme may contain ambiguous end-of-line markers
such as CR or CRLF and should be able to deal with these.
new ENC cells, new editions or updates created after this date from being installed.
Encrypted Cell Key 1
ECK1 contains the decryption key for the current version of the ENC Cell.
(ECK1)
ECK2 contains the decryption key to be used when the cell key is next iterated. The
Encrypted Cell Key 2 future key is contained within the cell permit to allow Data Servers to periodically
(ECK2) change the Cell Key without simultaneously issuing new cell permits to all Data
Clients.
Check Sum (CRC) This value is provided to protect against tampering or accidental corruption.
NO4D061320000830BEB9BFE3C7C6CE68B16411FD09F96982795C77B204F54D48
Cell Expiry Date Encrypted Encrypted Check Sum (CRC)
Name Cell Key 1 Cell Key 2
NO4D061320000830BEB9BFE3C7C6CE68B16411FD09F96982795C77B204F54D48,0,5,PM,[Comment]
(If any)
Edition Number
5
The cell permit contains two fields for providing the data client system with the cell keys necessary to decrypt a specific
ENC cell file. These fields may contain either two identical cell keys or two different cell keys and may differ between
data servers. Some data servers may prefer to increment the cell keys only in the event of the security scheme is
compromised others may prefer to periodically increment them according to their service procedures. The mechanism for
data servers producing these keys is described in more detail in section 9.5.1. OEMs should note that any dependency
on the edition number should be removed from theirs systems in edition 1.1 of the scheme.
Data client systems can access this file (if present) to display user information and provide userpermit
information.
6
It may be useful when processing data client queries to have instant access to customer information such as licencing
information and manufacturer ID. Data clients could supply this file with the query to speed up response times.
5 DATA AUTHENTICATION
The scheme relies on asymmetric encryption7 of a checksum of a data file. By verifying the signature against
the issuer’s public key, and also verifying the issuer’s public key against a top level identity the user is
assured of the signer’s identity. A detailed explanation digital signatures is beyond the scope of this
document and the reader is referred to the Digital Signature Standard (DSS), FIPS Pub 186
(www.itl.nist.gov/div897/pubs/fip186.htm) for a more detailed and accessible explanation.
1) A Scheme Administrator (SA) verifies the identity of a supplier of ENC information and provides the
supplier with data to allow them to sign ENC data.
2) A Data Server (e.g. RENC or VAR) issues ENC data signed with their identity (and its verification by
the SA).
3) The subsequent verification by the Data Client of the Data Server’s identity (by its association with the
SA) and the integrity of the ENC data.
DS 1 DS 1 DS 2 DS 2
VALIDATES DS 5
5 PRIVATE PUBLIC 1 1 PUBLIC PRIVATE
CERTIFICATE
KEY KEY KEY KEY
DS 1 CERTIFICATE DS 2 CERTIFICATE
SIGNS DS
DS 1 DS 1 DS 2 DS 2
PUBLIC KEY
PUBLIC SA SIGNED SA SIGNED PUBLIC
FILE
KEY PUBLIC KEY 2 2 PUBLIC KEY KEY
SA SA
ENC DATA SIGN PRIVATE PUBLIC SIGN ENC DATA
FILES DATA FILE KEY KEY DATA FILE FILES
(CELLS) (CELL) (CELL) (CELLS)
RENC 1 RENC 2
CD/DVD CD/DVD
ECS/ECDIS
7
Asymmetric cryptography relies on algorithms where encryption and decryption take place with different cryptographic
keys. Therefore one person can encrypt data and make available a decryption key for others to decrypt it. These keys
are referred to as the “private key” and the “public key”, collectively known as a “key pair”
DS 1 DS 1 ECS/
PUBLIC SA SIGNED PUBLIC ECDIS
KEY KEY
INTEGRITY CHECK
Yes No REPORT FAILURE
OK - ECDIS LOADS
OK
ENC CELL ABORT LOAD
5.1.1 SA Verification
The ECDIS needs to be able to verify that the ENCs are from a bona fide source. It does this by ensuring
that the data server’s public key provided within the ENC signature files can be validated against the SA’s
public key.
The SA provides certificates to each data server in the scheme; each certificate is unique, the SA only
has to do this task once for each data server when they join the scheme. To obtain a certificate, data
servers generate a key pair and provide the SA with their public key (as a self signed certificate); the SA
(using their existing key pair) uses their private key to sign the data server’s public key. The resulting
certificate contains a signature of the supplier’s public key. This certificate is then included within all ENC
cells’ and updates’ signature files.
The SA makes their own public key widely known to the ECDIS community and OEMs should provide a
means for the user to load this independently of the data.
The data server creates a signature file for each cell which consists of the following two parts:
• The signature of the dataset [which is created using the data server’s private key, half of the data
server key pair (in essence this is an encrypted checksum of the data) and is different for each cell]
• Their Data Server certificate (which remains constant).
The ECDIS uses the data server’s public key that is included in the certificate to validate the data file
signature (it decodes this data file signature and compares the checksum against the ENC cell). If this
validation check is successful then it proves that the ENC has not been corrupted in any way and that the
identity of the Data Server within the cell signatures is validated by the SA.
The SA will issue a digital certificate to all approved Data Servers by signing the Data Server’s verified public
key file. The following list of high level operations is performed in the issuing of digital certificates.
Scheme Creation
• SA creates a unique top level public and private key pair.
The format of the various files, certificates and signatures are described in more detail in section 5.4.
NOTE: the SA public key is made widely available to all interested parties, e.g. Data Servers, Data
Clients and OEMs, in a number of ways, e.g. web, e-mail, etc.
8
The SA public key signed using the SA private key.
9
It is envisaged that data servers will supply this independently of the exchange set to coincide with data that
authenticates against the new public key.
If the user installs a new SA certificate or public key the system must confirm that a new one has been
installed. If installing a new SA certificate (IHO.CRT) the system must inform the user as follows:
“A new SA certificate (public key) has been installed this is valid to [enter expiry date] or unless
the SA issues a new one for security reasons.”
If installing a new SA public key (IHO.PUB) the system must inform the user as follows:
“A new SA public key has been installed this is valid until the SA routinely issues a new one or
unless one is issued for security reasons.”
Should the system report an authentication error during the loading process it should alert the user to the
possibility that the SA may have changed the public key. Therefore a warning message must be
displayed explaining the reason for this as follows:
“SSE 06 – The SA Certificate/Public Key is invalid. The SA may have issued a new public key or
the ENC may originate from another service. A new SA public key can be obtained from the IHO
website or from your distributor.”
It is also acceptable for Hydrographic offices or other Data Server organisations (e.g. RENC/VAR) to use
digital signatures to maintain provenance and data integrity between them in the delivery of ENC information.
Each ENC file (both base and update files) will always have a single unique signature file associated with it.
No other files in an encrypted ENC exchange set have a digital signature.
NOTE: An exchange set may contain signatures issued by different data servers and therefore each ENC file
must be authenticated individually.
A consequence of encrypting the message digest with the private key is that anyone who has the public
key (which as its name suggests can be made public) can decrypt and verify the message digest.
Further information on Digital Signatures and their use may be obtained from the IHO website
(http://www.iho.int).
In general:
ENC file: CC[1-6]XXXXX.EEE (see S-57 Appendix B1)
Signature file: CC[I-N]XXXXX.EEE
Example:
Cell file GB100001.000 will have a signature file named GBI00001.000
Cell file GB61032A.002 will have a signature file named GBN1032A.002
Scheme GBN1032A.001
File Types Data Server [Signature File]
Administrator
PQG File 9 9 ENC DIGITAL SIGNATURE FILES PLACEMENT
Private Key (X file) 9 9
Public Key (Y file) 9 9
X509 v3 Certificate 9 8
Self Signed Key (SSK) 8 9
Certificate 9 8
Signature 8 9
• Is preceded by a single header line. Header lines are indicated by two forward slashes (// ASCII -
0x2F2F) at the start followed by a space (SP ASCII 0x20) and the header characters in ASCII
text as per the format descriptions below..
• Is expressed in ASCII text hexadecimal digits (0-9, A-F). Any alphabetic character will be in
upper case.
• Is terminated by a full stop (. ASCII 0x2E).
• Has a space (ASCII SP 0x20) separating each group of 4 characters.
• Has a Carriage Return (ASCII CR 0x0D) and New Line (ASCII LF 0x0A) at the end of each data
string.
P, Q and G are numerical parameters used in the Digital Signature Algorithm as input to the key
creation process. Each data server can use a different set of P, Q and G or use an existing set to
generate random key pairs. The Digital Signature Standard [2] describes their derivation and use.
// BIG p
D0A0 2D76 D210 58DA 4D91 BBC7 30AC 9186 5CB4 036C CDA4 6B49 4650 16BB 6931 2F12
DF14 A0CC F38E B77C AD84 E6A1 2F2A A0D0 441A 734B 1D2B E944 5D10 BA87 609B 75E3.
// BIG q
8E00 82E3 C046 DFE6 C422 F44C C111 DBF6 ADEE 9467.
// BIG g
B08D 786D 0ED3 4E39 7C6B 3ACF 8843 C3BF BAB1 A44D 0846 BB2A C3EE D432 B270 E710
E083 B239 AF0E A5B8 693B F2FC A03B 6A73 E289 84FF 8623 1394 996F 6263 0845 AA94.
// BIG p
D0A0 2D76 D210 58DA 4D91 BBC7 30AC 9186 5CB4 036C CDA4 6B49 4650 16BB 6931 2F12
DF14 A0CC F38E B77C AD84 E6A1 2F2A A0D0 441A 734B 1D2B E944 5D10 BA87 609B 75E3.
// BIG q
8E00 82E3 C046 DFE6 C422 F44C C111 DBF6 ADEE 9467.
// BIG g
B08D 786D 0ED3 4E39 7C6B 3ACF 8843 C3BF BAB1 A44D 0846 BB2A C3EE D432 B270 E710
E083 B239 AF0E A5B8 693B F2FC A03B 6A73 E289 84FF 8623 1394 996F 6263 0845 AA94.
// BIG x
EBAF 2948 1485 7E7C 2F48 C7B2 9334 2F09 DA1A EB04.
// BIG p
D0A0 2D76 D210 58DA 4D91 BBC7 30AC 9186 5CB4 036C CDA4 6B49 4650 16BB 6931 2F12
DF14 A0CC F38E B77C AD84 E6A1 2F2A A0D0 441A 734B 1D2B E944 5D10 BA87 609B 75E3.
// BIG q
8E00 82E3 C046 DFE6 C422 F44C C111 DBF6 ADEE 9467.
// BIG g
B08D 786D 0ED3 4E39 7C6B 3ACF 8843 C3BF BAB1 A44D 0846 BB2A C3EE D432 B270 E710
E083 B239 AF0E A5B8 693B F2FC A03B 6A73 E289 84FF 8623 1394 996F 6263 0845 AA94.
// BIG y
444B BA17 1758 0DAF 71AB 52A5 6CCA 8EAB 4C51 E970 0E37 B17B BB46 C0B9 4A36 F73F
0244 7FBD AE5B 7CA9 3870 5AB9 E9EE 471C E7B0 1004 6DF1 3505 42B3 0332 AE67 69C6.
The SA Digital Certificate will be in X509v3 format [4] and represents a DSA Public Key of length 512
bits. The SA Digital Certificate will always be available in a file called IHO.CRT. The IHO.CRT file is
available from IHO at http://www.iho.int.
All Data Servers providing an ENC service may include the SA certificate, for reference in the root
directory of the media (e.g. in D:\IHO.CRT on a CD-ROM) but, as stated in Section 5.2.1, the
installation on a Data Client’s system of the SA certificate should be done independently. The check of
the validity of the SA signature against each ENC signature must be done from the independently
installed version of the SA certificate.
The SA public key in ASCII format (as opposed to the binary X509v3 format) is also made available on
the IHO website at http://www.iho.int (the format is described in Section 5.4.2.3).
This is the file format that the Data Server uses to sign its own public key before sending to the SA for
signing. The signature is the signature of the whole public key file (i.e. the PQG and Y parameters).
// Signature part R:
752A 8E5C 3AF5 6CCD 7395 B52E F672 E404 554F AAB6. Single Signature Element
// Signature part S: Data Server (DS) Signature of DS Public Key
1756 E5C0 F4B6 BC90 4EC6 5F94 DF93 3ADF 68B8 86C4.
// BIG p
D0A0 2D76 D210 58DA 4D91 BBC7 30AC 9186 5CB4 036C CDA4 6B49 4650 16BB 6931 2F12
DF14 A0CC F38E B77C AD84 E6A1 2F2A A0D0 441A 734B 1D2B E944 5D10 BA87 609B 75E3.
// BIG q
Public Key File
Data Server
8E00 82E3 C046 DFE6 C422 F44C C111 DBF6 ADEE 9467.
// BIG g
B08D 786D 0ED3 4E39 7C6B 3ACF 8843 C3BF BAB1 A44D 0846 BB2A C3EE D432 B270 E710
E083 B239 AF0E A5B8 693B F2FC A03B 6A73 E289 84FF 8623 1394 996F 6263 0845 AA94.
Data Server
Public Key
// BIG y
444B BA17 1758 0DAF 71AB 52A5 6CCA 8EAB 4C51 E970 0E37 B17B BB46 C0B9 4A36 F73F
0244 7FBD AE5B 7CA9 3870 5AB9 E9EE 471C E7B0 1004 6DF1 3505 42B3 0332 AE67 69C6.
// Signature part R:
8FD6 2AC7 27D2 8D0B CD27 BDF2 5CC6 9656 10E3 751F. Single Signature Element
// Signature part S: SA Signature of DS Public Key
3DE7 DA37 5A40 80FC 4203 5C6E 37DE A984 2A88 2BDC.
// BIG p
D0A0 2D76 D210 58DA 4D91 BBC7 30AC 9186 5CB4 036C CDA4 6B49 4650 16BB 6931 2F12
Server Certificate
SA Signed Data
DF14 A0CC F38E B77C AD84 E6A1 2F2A A0D0 441A 734B 1D2B E944 5D10 BA87 609B 75E3.
// BIG q
Data Server
Public Key
// BIG y
444B BA17 1758 0DAF 71AB 52A5 6CCA 8EAB 4C51 E970 0E37 B17B BB46 C0B9 4A36 F73F
0244 7FBD AE5B 7CA9 3870 5AB9 E9EE 471C E7B0 1004 6DF1 3505 42B3 0332 AE67 69C6.
The signature file must contain a signature and certificate pair. A file with just a signature is invalid as
it does not certify the Data Server’s identity. The ENC digital signature file has format, structure and
order as in the following example:
// Signature part R:
77D3 4D86 DA6E 6E01 7058 7140 74FC 7E3D 21CD E80B. First Signature Element
// Signature part S: Data Server Signature of ENC Data File
04A1 7B52 081F B6CE 10FE 5AD9 1CCE 3F25 FEAC DA05.
// Signature part R:
8FD6 2AC7 27D2 8D0B CD27 BDF2 5CC6 9656 10E3 751F.
Second Signature Element
// Signature part S:
SA Signature of the Data Server Certificate
3DE7 DA37 5A40 80FC 4203 5C6E 37DE A984 2A88 2BDC.
// BIG p
D0A0 2D76 D210 58DA 4D91 BBC7 30AC 9186 5CB4 036C CDA4 6B49 4650 16BB 6931 2F12
Server Certificate
SA Signed Data
DF14 A0CC F38E B77C AD84 E6A1 2F2A A0D0 441A 734B 1D2B E944 5D10 BA87 609B 75E3.
// BIG q
Public Key File
Data Server
8E00 82E3 C046 DFE6 C422 F44C C111 DBF6 ADEE 9467.
// BIG g
B08D 786D 0ED3 4E39 7C6B 3ACF 8843 C3BF BAB1 A44D 0846 BB2A C3EE D432 B270 E710
E083 B239 AF0E A5B8 693B F2FC A03B 6A73 E289 84FF 8623 1394 996F 6263 0845 AA94.
Data Server
Public Key
// BIG y
444B BA17 1758 0DAF 71AB 52A5 6CCA 8EAB 4C51 E970 0E37 B17B BB46 C0B9 4A36 F73F
0244 7FBD AE5B 7CA9 3870 5AB9 E9EE 471C E7B0 1004 6DF1 3505 42B3 0332 AE67 69C6.
The first Signature/R & S Pair is authenticated by the Data Server's Public Key
The second Signature/R & S Pair is authenticated by the SA Public Key stored in the ECS/ECDIS
The second R and S pair is used to authenticate the Data Server digital certificate (p, q, g and y
strings). If verified successfully, the Data Server public key (y string) can be extracted and used to
verify the digital signature (first R and S pair) of the encrypted ENC. This allows the Data Client to
verify the SA digital certificate, to extract the Data Server public key, and to verify the digital signature
of the ENC data.
6 DATA MANAGEMENT
6.1 Introduction
The loading and import of ENCs to an ECS/ECDIS must be carefully managed; this is especially true in a
multiple Data Server environment. Since the scheme encrypts the entire contents of an ENC cell file (base
and update), this restricts access to certain subfields in an ENC cell file required by OEM systems to manage
the import of ENCs to the ECS/ECDIS SENC. As a consequence additional S-63 files are necessary to
supplement this inaccessible data as well as modification to an existing S-57 file, i.e. the CATALOG.031 file.
It has also been identified that the import of large numbers of ENCs has rendered some aspects of S-57
impractical to implement, e.g. a single exchange set split across multiple media volumes. For this reason it
has been necessary to modify the loading strategy and utilise the additional S-63 files to better manage the
installation and loading of ENCs across multiple exchange sets.
As mentioned previously S-63 is designed to operate in a multiple data supplier environment. S-57 does not
have a mechanism to discriminate between ENC exchange sets supplied by different data servers and
therefore it has been necessary to cater for this in version 1.1 of this standard.
The additional S-63 files contain important information that, if used correctly, can make the S-57 import
process more efficient and intuitive for the Data Client. These are outlined in more detail below in this
section.
The loading/import method can be broken down into the following processes:
• Manage the import of Data Server specific ENC exchange sets using the Data Server ID.
• Manage a Data Server’s service if extended across multiple exchange sets.
• Manage the import of licenced ENC cells in a contiguous manner, ensuring all ENC base cells and
corresponding update files, if any, are imported correctly and sequentially.
• Manage the import of text and picture files by maintaining a relationship between them and the cell file
they are associated with.
The following table lists the additional S-63 files and file modifications together with their main purpose within
S-63. These files and their associated formats are described in more detail at section 6.2, 6.3 & 6.4.
There are two types of PRODUCTS.TXT file, “PARTIAL” and “FULL”. A partial products listing contains the
current status of all ENCs contained in a single exchange set. A full product listing contains the current status
of ALL cells in a Data Server’s service, that is, all exchange sets. Although procedures may vary between
Data Servers a full product listing will always be provided with the weekly update exchange set. In instances
where a Data Server issues a complete set of new base media (no weekly update), each base media must
contain a full product list of all ENCs in a service
NOTE: OEMs should ensure that their systems are able to handle “FULL” and “PARTIAL” product listings
(section 6.2.2 refers). Base CDs may contain a partial listing with only the contents of the CD included. The
Update will always carry a full product listing of all available ENCs in a Data Server’s Service.
Licence and ENC information from different Data Server’s must be stored independently on the
manufacturer’s system. The SERIAL.ENC file (see section 6.3) contains the Data Server ID and should be
used in conjunction with the associated product listing to identify the source of the service. The latest product
listing contains the current status of ENC cell data in a service. This file is used to compare available ENC
cell data in the exchange set with information already stored in the OEMs SENC. The OEM system can then
determine what new data is available for import.
It is recommended that OEMs maintain a copy of the latest product listing on their systems to reflect the
current status of a particular service. To manage both “FULL” and “PARTIAL” product listings it is essential
that new information is merged with existing stored data and not overwritten.
Section Description
Contains general information about the nature of the Product List, e.g. the time of
Header
creation, version number.
:ENC Contains the current status of all ENC cells/updates provided by the data server.
:ECS Contains information about other digital chart information provided by the data server.
The Header will consist of the information fields defined in the example and table below. All the fields are
mandatory and will always be defined in the same order.
This section will start with one ENC Section Identifier record as defined below.
The ENC Section will then consist of repeating records defining the status of each ENC supported by the
data server. The definition of this record is defined in the table below:
Field Value
Product Name Name of product as defined in S57e3 DSID-DSNM subfield. The file extension will
always be 000.
Example: GB202400.000
Base Cell Issue Date YYYYMMDD
[EN Application Profile] This date is only used for the base cell files (i.e. new data sets, re-issue and new
edition), not update cell files. All updates dated on or before this date must have
been applied by the producer. Cancelled cells with the edition number ‘0’ (zero) will
carry the issue date of the update used to cancel it.
Example: 20050222
Base Cell Edition Edition number of base [EN] ENC cell. Integer in range 1 to 999
Identical to content of S57e3 DSID-EDTN. In the case where a cell is cancelled the
Product Edition will be set to ‘0’ (zero), see section 6.2.3.1. This allows the ECDIS
system to quickly identify cells that have been removed from a service.
Issue Date Latest Update YYYYMMDD
[ER Application Profile] Date on which the latest update for the current ENC cell edition was issued. This field
is used whenever there is an update or a re-issue of the cell.
Latest Update Number Integer in range 1 to 999
Update number of the latest update message issued for the ENC cell edition.
Identical to content of DSID-UPDN. Left blank when no update is available for the
current edition of the base cell. Used only for updates and re-issues.
File Size Integer in range 1 to 999999
Total file size in Kilobytes for all files issued for the product. This will include the size
for the base cell, updates and any applicable text and picture files.
Cell limit Degrees of arc, south is negative.
Southernmost latitude Southernmost latitude of data coverage in the ENC product.
Example: 49.898773299986 (49º53´.93N)
Cell limit Degrees of arc, west is negative.
Westernmost longitude Westernmost longitude of data coverage in the ENC product.
Example: -1.927277300003 (001º55´.64W)
Cell limit Degrees of arc, south is negative.
Northernmost latitude Northernmost latitude of data coverage in the ENC product.
Example: 50.922828000014 (50º55´.37N)
Cell limit Degrees of arc, west is negative.
Easternmost longitude Easternmost longitude of data coverage in the ENC product.
Example: -0.000166700008 (000º00´.01W)
10 Data Coverage Optional. Degrees of arc, south and west are negative.
Coordinates 10 coordinate pairs can be supplied to indicate the data coverage within the ENC
cell. It will be provided as repeating Y-coordinate and X-coordinate pairs.
Compression Integer in range 0 to 99
“0” No compression
"1" Compression is used (see section 2)
Encryption Integer in range 0 to 99
“0” No encryption
"1" Encryption is used (see section 3)
Base cell update number In the event of a cell being re-issued the update number current at the time of the re-
issue should be inserted here. If a cell edition does not have a re-issue then this field
is blank or zero filled.
Last update number for Empty if no previous editions available in the data server database. If previous
previous edition editions of the cell are available then this field will contain the last update number for
the previous edition.
In an encrypted service this information is unavailable to the Data Client unless the update is
decrypted first. To avoid the need to decrypt first there are two methods of encoding this in an
encrypted exchange set as follows:
1. The EDTN subfields of the CATD-COMT field in the CATOLOG.031 file (see 6.4.1.1).
2. The ‘Base Cell Edition’ field in the PRODUCTS.TXT file (see section 6.2.3).
The CATALOG.031 file can be used to identify any cancelled cells in an exchange set at import whilst
the PRODUCTS.TXT file acts to highlight all cancelled cells in a Data Server’s Service. ENCs that
have been cancelled should remain on the base or update media, including references in the
PRODUCTS.TXT file, for a minimum of 12 months.
1. Automatically remove the cell from the SENC when a cell is identified as cancelled.
2. Allow the user to decide whether to retain the cell in the SENC or remove it.
ECDIS/ECS manufacturers are free to decide which of these options to implement in their systems.
However it is important that the system informs the user of the fact that a particular cell is cancelled
and, in the case of option 2, the consequences of retaining it.
With option 1 the user must be informed that a particular cell is cancelled either during load time or,
preferably, in a report at the end of the process.
With option 2 the user is offered the option to retain or remove the cell from the SENC. If the user
chooses to retain the cell a permanent warning must be displayed, on screen, when the cancelled cell
is viewed. The message should be similar to the example below:
“Cell <name> has been cancelled and may not be up to date. Under no circumstances should it
be used for primary navigation”.
In instances where an ENC cell has been cancelled it is often replaced by one or more ENC cell(s).
This may be due to re-scheming on the part of data servers. Provision has been made in this edition of
S-63 to display this information in the data client. The comments field of the PRODUCTS.TXT has now
been made available to display information relating to replaced cells. The formatting of the cell record
in the products listing is given in section 6.2.3.
When a cell is identified as cancelled the data client should read the “Cancelled Cell Replacement”
field to check if there a replaced ENC cell(s) encoded. If there are then the data client is to make this
information available to the user. A message similar to the one below should be displayed:
“Cell <name> has been cancelled and has been replaced by cell(s), <name1>; <name2>. Please
contact your data supplier to obtain the additional ENC permits”.
The content of this section is identical to the ENC Section defined in 6.2.3. The only difference is the
Section Identifier which will be “:ECS”.
Encoding example of a Product List which utilises all the features defined in section 6.2.1.
The contents of this file can be cross referenced with the installed permits to check the status of the Data
Client’s subscription status.
Notes
Field ID Domain Bytes Range
(see below)
Data Server ID character 2 Any two alphanumeric 1
Week of Issue character 10 Any ASCII characters 2
Date of publication date 8 YYYYMMDD 3
CD Type character 10 BASE or UPDATE 4
Format version decimal 5 01.00 – 99.99 5
Exchange Set Number character 6 B01-99X01-99 or U01-99X01-99 6
End of record delimiter hexadecimal 3 0x0B0D0A 7
The “Comments” [CATD-COMT] field in each cell record of the CATALOG.031 file is used to store the
required DSID information. Since the CATALOG.031 file acts as the table of contents for the exchange set
and identifies where all files are stored it is ideally suited for this purpose.
The information stored in this field must be identical to that stored in the DSID field of the cell file which in
turn must conform to section 5.7 of the IHO S-57, Appendix A, Product Specification. This is summarised in
the table below. This table specifies the rules for encoding ENC EN & ER application profiles.
File
Event EDTN UPDN UADT ISDT Comments
Extension
New ENC Cell .000 1 0 19950104 19950104 UADT< or = ISDT
Update 1 .001 1 1 Prohibited 19950121 ISDT only
Update 2 .002 1 2 Prohibited 19950225 ISDT only
...
Update 31 .031 1 31 Prohibited 19950905 ISDT only
Re-issue of an ENC Cell .000 1 31 19950905 19950910 UADT < or = ISDT
Update 32 .032 1 32 Prohibited 19951023 ISDT only
...
Update 45 .045 1 45 Prohibited 19951112 ISDT only
New edition of ENC Cell .000 2 0 19951201 19951201 UADT < or = ISDT
Update 1 to edition 2 .001 2 1 Prohibited 19960429 ISDT only
Data Servers must extract the necessary information from the DSID field prior to encryption and encode it in
the CATD-COMT of the CATALOG.031 file. The structure and format of this field is described in more detail
in section 6.4.1. Data Client systems must then read the CATD-COMT field as though accessing the DSID
field in an unencrypted exchange set.
The DSID information stored in the CATD-COMT field is subdivided into four or five comma separated
subfields. This is dependant on whether the ENC file has an EN or ER application profile. The final
subfield is punctuated by a semi colon (;).
Examples:
VERSION=1.0,EDTN=1,UPDN=0,UADT=20060703,ISDT=20060703;
VERSION=1.0,EDTN=1,UPDN=1,ISDT=20060710;
6.4.1.1 Encoding Cancelled Cells (see also sections 6.2.3 & 6.2.3.1)
Since an update is provided containing just the delete message it should be treated as an ER.
Therefore for the purposes of the CATD-COMT field it should be encoded as follows:
VERSION=1.0,EDTN=0,UPDN=2,ISDT=20060814;
The following table illustrates the conditions that apply to all the different types of transactions.
A file is supplied that allows Data Clients to check the compatibility and suitability of a particular ENC update
exchange set prior to import. The Data Client can use this file to check that the last base exchange sets
imported to the SENC are compatible with the update currently being installed on the ECDIS. This file
describes the current status of all the base data sets associated with a data server’s service. It is named
STATUS.LST. The following section describes the format and content in more detail.
This file will be stored in the INFO folder on the Update Exchange Set for data supplied on media
containing a single exchange set10. It is supplied so that Data Clients can check the current status of the
SENC against available base data. This file can be used to check that an update exchange set is
compatible with the latest base CDs installed on the Data Client.
Systems must appropriately manage the import of base data from different Data Servers and store
information of installed base data. When loading new updates Data Clients should check that latest
base CDs listed in this file are concurrent with those installed on the system. If not the system should
report a message similar to the following:
“This update CD is not compatible with currently installed ENCs. Please install ‘Base CD
<Number>, dated <date>’ and then continue with the update process”
Complete Example11:
GBWK15-08 UPDATE 20080403
B1,GB,WK52-07,’BASE CD 1 dated 27 December 2007’,20071227
B2,GB,WK14-08,’BASE CD 2 dated 03 April 2008’,20080427
B3,GB,WK07-08,’BASE CD 3 dated 08 February 2008’,20080227
B4,GB,WK07-08,’BASE CD 4 dated 08 February 2008’,20080227
10
Large Media Support already has a mechanism for managing the status of the SENC with the MEDIA.TXT file.
11
Most Data Servers currently re-issue all their base CDs concurrently it is recognised that this will probably change to
an incremental method of issuing bases.
Data Servers currently use the README.TXT to encode important information that relates to their services.
This information can include the following:
Although the inclusion of the README.TXT file is not mandated in the S-57 Product Specification it has
become an important source of information in all commercial ENC services, especially given the increasing
amount of ENCs available from many different producer nations.
With this in mind it is strongly recommended that Data Client systems are able to display this file on demand.
Since this file is relatively unknown to users it would be useful for the Data Client system to display when
installing ENC data to forcibly bring it to their attention.
7.1 Introduction
The scheme does not mandate the use of a particular directory or file structure. However, because the entire
ENC data file is encrypted it is difficult to maintain some vital file associations, e.g. text and picture files with
the relevant ENC cell file (base or update). The directory structure that has been adopted by existing Data
Servers is given in an example below in section at 7.5.1.1. This structure enables text and picture files to be
safely managed by maintaining a direct relationship between them and the corresponding ENC data file.
Data Servers currently supply the authentication certificate (.CRT) with an S-63 encrypted exchange set to
support S-63 edition 1.0 implementations. This certificate file is contained in the root directory. Edition 1.1
does not support the supply of this file with S-63 exchange sets. Data Servers will continue to support this for
a limited period after which it will be withdrawn from their services.
OEMs can program their systems to automatically detect an exchange set or a group of exchange sets
however; this should not be hard coded into the system. If the media contains an unexpected format the
system should default to a browse facility so that users can manually specify the location of the ENC_ROOT
directory of a required exchange set. An S-63 exchange set must always contain a folder named
ENC_ROOT which must contain a single CATALOG.031 file and at least one data set file.
1. CD-ROM
2. Large Media Support
3. On-line Services
7.5.1 CD-ROM
Encrypted exchange sets delivered by this method will be given the volume ID consistent with the IHO S-
57 Data Protection Scheme, i.e. V01X03, V01X02, etc. S-63 can be delivered as a single exchange set
across multiple CD-ROMs but experience gained by existing Data Servers has shown this to be
inadvisable. The method currently operated by certain Data Servers is to issue single exchanges sets
across multiple CDs.
EXCHANGE SET
AN EXAMPLE OF THE DIRECTORY AND FILE STRUCTURE
CURRENTLY USED BY SOME EXISTING DATA SERVERS
DE
GB
COUNTRY FOLDERS
GR GB100001
NO GB100002
SE GB100004
2
GBI00004.000
README.TXT
ENC SEQUENTIAL
[Signature File]
3
UPDATES
PRODUCTS.TXT
GB004_17.TXT
XX
STATUS.LST
GB0224GA.TIF
SERIAL.ENC
IHO.CRT
NOTE: The location of all files in the exchange set [ENC_ROOT] can be read from the CATALOG.031 file
The SA is responsible for controlling membership of the scheme and ensuring that all participants operate
according to defined procedures. The SA maintains top level encryption keys used to operate the complete
scheme and is the only body that can issue certificates to other participants. The SA is the custodian of all
documentation relating to the scheme.
SCHEME
ADMINISTRATOR
8.5
8.5
PROCESS DATA
PROCESS OEM
SERVER
APPLICATIONS 8.6
8.3 - CREATE APPLICATIONS
MAINTAIN AND
PUBLIC/PRIVATE
UPDATE S-63
KEY PAIR
8.5.1.1 8.5.2.1 DOCUMENTS
AUTHENTICATE ISSUE M_ID &
DATA SERVER M_KEYS TO
SSK OEMS 8.7
8.4 - ISSUE SA
MAINTAIN AND
DIGITAL
UPDATE S-63
CERTIFICATE
8.5.1.2 8.5.2.2 TEST DATA
SIGN AND ISSUE MANAGE AND
DATA SERVER STORE ISSUED
CERTIFICATES OEM CODES
8.1.5.4 8.5.2.3
MANAGE AND RELEASE OEM
STORE DATA CODES TO DATA
SERVER CERTS SERVERS
All Data Servers providing an ENC service may include the SA certificate, for reference in the root directory
of the media (e.g. in D:\IHO.CRT on a CD-ROM) but, as stated in Section 6.1, the installation on a Data
Client’s system of the SA certificate should be done independently. The check of the validity of the SA
signature within each ENC signature file must be done from the independently installed version of the SA
certificate.
The SA public key (as opposed to the digital certificate) is also made available as an ASCII file on the IHO
website at http://www.iho.int (the format is described in Section 6.5).
• When the SA Digital Certificate expires. In this case the Certificate shall not contain a changed
public key.
• When the SA private key has been compromised. In this case a new public key shall be contained
within the SA Digital Certificate.
The SA will publish its new Digital Certificate and, if applicable, a new printable version (ref section 6.5) of
the public key on the IHO website (http://www.iho.int). All Data Servers and Manufacturers will
immediately be informed and will receive copies of the new Digital Certificate and, if applicable, the new
public key in printable format.
The Data Server and Manufacturers are collectively responsible for informing their Data Clients of any
new SA Digital Certificate and, if applicable, any new SA public key.
This procedure is normally performed by all users of the protection scheme when a new SA Digital
Certificate or public key is issued and is performed as follows:
• Obtain the new SA Digital Certificate and printable SA public key from the IHO website
(http://www.iho.int)
• The application shall load the new SA Digital Certificate and check the public key and the printable
public key are identical. Only when this has been done is the application to assume that the SA public
key is correct. This same process is applied to the replacement of the original SA public key.
• Replace the existing SA Digital Certificate with the newly issued certificate.
a) Extract the signature elements ‘R’ and ‘S’ (i.e. the first two data strings and their attendant
headers from the SSK file supplied by the Data Server). This leaves a public key file.
b) Hash the public key file using the algorithm SHA-1. All bytes within the file are to be hashed.
c) Verify the signature (the elements removed at ‘a’ above) by passing it, together with the public
key file and the hash of the public key file (as obtained at ‘b’ above) to the DSA. This will return a
status (correct or incorrect).
If the signature verifies correctly, the SA can produce the Data Server Certificate.
a) Discard the signature elements (i.e. the first two data strings and their attendant headers) from
the self signed key file. This leaves a public key file.
b) Hash the public key file using the algorithm SHA-1. All bytes within the file are to be hashed.
c) Sign the public key file (as hashed at ‘b’ above) by passing the SA private key, the hash of the
public key file (as obtained at ‘b’ above) and a random string to the DSA. This will return the two
signature elements (‘R’ and ‘S’).
d) Write these to the certificate file and append the public key file (as left at ‘a’ above) to form the
certificate.
a) Extract the signature elements (i.e. the first two data strings and their attendant headers) from the
newly created DS certificate file. This leaves the DS’s public key file.
b) Hash the DS public key file (obtained from ‘a’) using the algorithm SHA-1. All bytes within the file
are to be hashed.
c) Verify the signature elements (as removed at ‘a’ above) by passing it, together with the SA public
key and the hash of the DS public key file (as obtained at ‘b’ above) to the DSA. This will return a
status (correct or incorrect).
If the DS Certificate authenticates correctly, it can be sent to the DS and used in the construction of
ENC digital signatures.
DATA SCHEME
SERVER ADMINISTRATOR
DS SSK & No
CONFIRM IF NOT CONFIRMED DO
PUBLIC KEY CONFIRM
ORIGIN OF SSK NOT PROGRESS
Yes
Yes
No
AUTHENTICATE SSE 01 - SELF SIGNED
VALID
SSK FILE KEY IS INVALID
Yes
SA SIGN
PRIVATE KEY DATA SERVER
CERTIFICATE
SA AUTHENTICATE No
PUBLIC KEY SSE 03 - DS SIGNED
SA SIGNED DS VALID
CERTIFICATE IS INVALID
CERTIFICATE
Yes
CERTIFICATE
REGISTRY STORE
CERTIFICATE
Manufacturers must apply to the SA to become a member of the IHO S-63 Data Protection Scheme.
Test data for the Data Protection Scheme and a software kernel are also available for system
manufacturers to test their implementation for full compliance. The test data and software kernel are
described in Appendix A and B and obtainable from the IHO website (http://www.iho.int).
The SA will provide information to all Data Servers in the protection scheme on amendments to M_ID and
M_KEY values.
The private key must be stored securely and access to it limited to only those persons that have a “need
to know”. The SA will issue a new public key (and corresponding SA certificate) if the current private key
is compromised.
The SA public key should be made available to all participants of the S-63 Data Protection Scheme in
both digital and printed forms, e.g. fax and downloadable from a website. The two formats are to be sent
or made available by different methods.
The DS will be required to sign a Confidentiality Agreement before the SA will issue the DS Certificate.
The SA will provide information to all participants of the protection scheme on any revoked Data Server
Certificates.
DATA
SERVER SSK
RANDOM CREATE
NUMBER PQG FILE
SCHEME
GENERATOR PARAMETERS
ADMINISTRATOR
EXTRACT SA AUTHENTICATES
CREATE X MAKE
DATA SERVER SSK CREATE Y SA PUBLIC
SIGNATURE AVAILABLE ON
PARAMETER PARAMETER KEY
R & S PAIR IHO WEBSITE
(PRIVATE KEY) (PUBLIC KEY)
STORE
HASH SECURELY
SIGNATURE PUBLIC KEY WITH SHA-1
ALGORITHM
KEYSTORE
SA CREATE
PASS SIG, PK & HASHED PUBLIC/PRIVATE
HASH OF PK PUBLIC KEY KEY PAIR
TO THE DSA
DS SELF
SIGNED KEY HASH
WITH SHA-1
DSA VERIFY
ALGORITHM
OPERATION
9.1 Overview
Data Servers are responsible for encrypting and signing the ENC information in compliance with the
procedures and methods defined by the IHO S-63 Data Protection Scheme.
Hydrographic Offices and RENC organisations are examples of Data Servers. Organisations wishing to
become a Data Server must first sign and submit an S-63 Data Server Agreement together with a
completed Data Server Certificate Request Form. This process is outlined in more detail on the IHO
website (www.iho.int).
DATA SERVER
9.4 9.5
9.3. 9.6
DATA COMPRESS/
CERTIFICATION LICENCING
MANAGEMENT ENCRYPT/SIGN
CREATE
PUBLIC/PRIVATE CREATE
KEY PAIR ENCRYPTION
GENERATE KEYS DECRYPT
PRODUCTS.TXT USERPERMIT
& SERIAL.ENC
CREATE
SELF SIGNED COMPRESS
CERTIFICATE ENC CELL
POPULATE CREATE
CATD-COMT CELL PERMITS
FIELDS
REQUEST ENCRYPT
DATA SERVER ENC CELL
CERTIFICATE
MANAGE TEXT & ISSUE
PICTURE FILES ENC LICENCES
RECEIVE
CREATE
SA SIGNED DS
SIGNATURE FILE
CERTIFICATE
• The Private Key is used to sign the Data Server’s Public Key to create a Self Signed Certificate (SSK).
• The Public Key is used to validate the SSK before it is supplied to the SA.
• The Private Key is used to sign all compressed and encrypted ENC data files produced by the Data
Server.
• The Public Key is used to check the integrity of the ENC data files in the ECS/ECDIS.
VALIDATE SELF
private key can potentially undermine the security of SIGNED KEY
the authentication part of the scheme. The Data
Server will issue a new public key if the private key 9.4.3
No
is compromised. Details of the X file (Private Key) STORE VALID SSE 01- SSK INVALID
format are contained in section 5.4.2.2. SECURELY
Yes
9.4.2
9.3.1.3 Create Public Key File CERTIFICATE DESPATCH SA CREATES DATA
STORE SSK TO SA SERVER CERTIFICATE
The public key is an output of the PQG generating
process. The public key is contained in the SA
signed Data Server Certificate that forms part of the
Data Server Processes
ENC Signature File (see section 5.4.2.7). The Data
Create Public/Private Key Pair
Clients system extracts the public key element of
this file to check the integrity of the ENC data file Produce & Authenticate Self Signed Key (SSK)
against the ENC signature. Details of the Y file
(Public Key) format are contained in section 5.4.2.3.
The SSK defines a signature of the Data Server’s public key. The input to the signature should be the
Data Server’s public key, formatted according to the Public Key file format as described in Section
5.4.2.3. The SSK file shall be written as ASCII text with the format, structure and order described in
section 5.4.2.5.
a) Hash the public key file using the algorithm SHA-1 [3]. All bytes within the file are to be hashed.
b) Sign the public key file (as hashed at ‘b’ above) by passing the private key file, the hash of the
public key file (as obtained at ‘b’ above) and a random string through the DSA algorithm [2]. This
will return the two signature elements (‘R’ and ‘S’).
c) Write these to the self signed key file in the format defined in Section 5.4.2.5 and append the public
key file to form the self signed key file.
a) Extract the signature elements ‘R’ and ‘S’ (i.e. the first two data strings and their attendant
headers from the SSK file supplied by the Data Server). This leaves a public key file.
b) Hash the public key file using the algorithm SHA-1. All bytes within the file are to be hashed.
c) Verify the signature (the elements removed at ‘a’ above) by passing it, together with the public
key file and the hash of the public key file (as obtained at ‘b’ above) to the DSA. This will return a
status valid or invalid.
If the SSK is valid then it can be supplied to the SA with a copy of the Data Server’s public key.
a) Data Servers as part of verifying the SA public key required to authenticate the Data Server
Certificate
b) Data Clients to verify the SA public key to be used to authenticate the digital signatures supplied
with the ENC data
Manually compare the SA public key contained within the SA Digital Certificate with a copy of the
printable public key available from the IHO website (http://www.iho.int). If the above check fails, the
Data Server shall not accept the SA Digital Certificate. Otherwise, the SA Digital Certificate is valid
and the SA public key it contains can be used in the production of ENC signature files.
If a failure is reported in either of these two options the process is to be terminated and an appropriate
warning given. Otherwise the process to authenticate should proceed as follows:
b) Extract the signature elements (i.e. the first two data strings and their attendant headers) from the
certificate file. This leaves a public key file.
c) Hash the public key file (obtained from ‘b’) using the algorithm SHA-1 [3]. All bytes within the file
are to be hashed.
d) Verify the signature elements (as removed at ‘a’ above) by passing it, together with the SA Public
Key (the key as obtained in ‘a’) and the hash of the public key file (as obtained at ‘b’ above) to the
DSA [2]. This will return a status (correct or incorrect).
e) If the Data Server Certificate authenticates correctly, its signature elements ‘R’ and ‘S’ may then be
used in the construction of ENC digital signatures.
SCHEME
DATA SERVER
ADMINISTRATOR
CHECK No
OK SSE 04 - FORMAT OF
CERTIFICATE
CERTIFICATE INVALID
FILE FORMAT
Yes
INDEPENDANTLY SA X509 No
CHECK X509
SSE 05 - SA DIGITAL
SUPPLIED SA X509 CERTIFICATE CERTIFICATE OK
CERT NOT AVAILABLE
CERTIFICATE AVAILABILITY
Yes
SA PUBLIC CHECK SA No
EXTRACT SA SSE 06 - SA DIGITAL
KEY PUBLIC KEY OK
PUBLIC KEY CERTIFICATE INVALID
FORMAT
Yes
VALIDATE No
SSE 03 - INVALID
DATA SERVER OK
CERTIFICATE
CERTIFICATE
Yes
CERTIFICATE SAVE
STORE SA SIGNED DS
Authenticate SA Signed Data Server Certificate CERTIFICATE
Each requires careful management within the Data Server’s production software and should be generated in
accordance with the formats and conventions described in section 6.
To create new cell keys and increment existing ones the Data Server will require an application to
automatically manage the keys and store them securely. This application must have a method of
generating random strings of the correct length and ideally a means of checking that duplicate cell keys
are not produced within a set.
CELL KEY
READ CELL STORE
The application must be able to create new cell keys as well as NAME
NO
1. Get cell name and, if necessary, the edition number and
determine whether it is a new cell.
MAKE NEW CHANGE
2. If new cell make new cell key 1 & 2, if not go to 4? CELL KEY 2 CELL KEY?
3. Store new keys in the Key Store.
4. If not a new cell does the key require changing? If no go
to 5, if yes go to 6. CELL DEACTIVATE
NO
CHANGE
5. Exit and keep using the existing cell keys. KEY 2 CK 1 YES
6. Cell key 1 is now deactivated and cell key 2 now becomes
YES
cell key 1 and is flagged as such in the Key Store. EXIT - USE
EXISTING KEY
CK 2
7. Create new cell key 2 and add to Key Store. BECOMES
CK 1
• Compress the ENC cell file using the ZIP standard [6] documented at (www.pkware.com).
The resulting compressed ENC file is used as input to the Encryption stage of the scheme. Only the ENC
cell files (base and update) are compressed. This process is always completed before the data is
encrypted and signed.
a) Select the Cell Key to be used for encryption (see conditions at 9.5.1).
b) Encrypt the ENC file using the Blowfish algorithm with the Cell Key (from ‘a’) to create an
encrypted ENC file.
a) Select the Key used to encrypt the ENC base cell file to which the update applies.
b) Encrypt the ENC update file using the Blowfish algorithm with the Key (from ‘a’) to create an
encrypted ENC update file.
a) Pass the data server private key and the encrypted ENC file contents to the DSA algorithm [2]. The
DSA algorithm will hash the encrypted ENC file using the SHA-1 [3] algorithm.
b) The DSA algorithm will return two cell signature parameters (R & S).
c) Write these as the first two data strings within a signature file compliant with the format and naming
convention defined in Section 5.4. The remainder of the file is to be composed of the Data Server
Certificate that contains the public key associated with the private key used to create the signature.
DATA SERVER
KEY
COMPRESS
STORE
ENC CELL
ENCRYPT
ENC CELL SHA-1 DS PRIVATE
ALGORITHM KEY
ENC CELL
HASH CELL CELL FILE DSA
FILE
FILE HASH
ALGORITHM
R &S
SIGNATURE
CERTIFICATE
SA SIGNED ENC
STORE APPEND TO
DS CERT SIGNATURE
CERTIFICATE
FILE
f) Decrypt the Encrypted HW_ID using the Blowfish algorithm with M_KEY as the key. The output will
be HW_ID.
Data Servers should confirm that any derived HW_IDs are of the correct length as defined in section
4.2.2.
Example:
OEM LIST
DATA CLIENT EXTRACT SCHEME
OF M_KEYS
USERPERMIT M_ID ADMINISTRATOR
EXTRACT EXTRACT
CHECKSUM CORRESPONDING
M_KEY
ENCRYPTED
HW_ID M_KEY
Yes Yes
No VALID
SAME VALID HW_ID
No
PROCEED TO
SSE 17 - WARNING SSE 18 - WARNING HW_ID
CREATE CELL
INVALID USERPERMIT INCORRECT FORMAT
PERMITS
a) Remove the file extension from the name of the ENC file. This leaves 8 characters and is the Cell
Name of the Cell Permit.
b) Append the licence Expiry Date, in the format YYYYMMDD, to the Cell Name from ‘a’.
c) Append the first byte of HW_ID to the end of HW_ID to form a 6 byte HW_ID (called HW_ID6). This is
to create a 48 bit key to encrypt the cell keys.
d) Encrypt Cell Key 1 using the Blowfish algorithm with HW_ID6 from ‘c’ as the key to create ECK1.
e) Convert ECK1 to 16 hexadecimal characters. Any alphabetic character is to be in upper case.
f) Append to ‘b’ the output from ‘e’.
g) Encrypt Cell Key 2 (CK2) using the algorithm Blowfish with HW_ID6 as the key creating ECK2.
h) Convert ECK2 to 16 hexadecimal characters. Any alphabetic characters are to be in upper case.
i) Append to ‘f’ the output from ‘h’
j) Hash the output from ‘i’ using the algorithm CRC32. Note the hash is computed after it has been
converted to a hex string as opposed to the User Permit where the hash is computed on the raw
binary data.
k) Encrypt the hash (output from ‘j’) using the Blowfish algorithm with HW_ID6 as the key.
l) Convert output from ‘k’ to a 16 character hexadecimal string. Any alphabetic character is to be in
upper case. This forms the ENC Check Sum.
m) Append to ‘i’ the output from ‘l’. This is the Cell Permit.
Example:
OEM LIST
DATA CLIENT EXTRACT
OF CODES
USERPERMIT M_ID VALUE
PROCESS TO EXTRACT
CELL KEY
HARDWARE DATA CLIENTS HW_ID
STORE
ID (HW_ID)
Data Servers will issue ENC Licences to access S-63 encrypted ENC in accordance with business rules
aligned to their data provision services. Data Servers will make the details of their services available to
Data Clients before licences are issued.
The receipt of all M_IDs and M_KEYs by the Data Server are to be recorded securely in an M_ID /
M_KEY Register.
9.7.4 Acceptance and Checking of the SA Digital Certificate (and Public Key)
A Data Server will receive the SA public key in two formats, as an X.509 Digital Certificate and as a
printable public key. The Data Server shall have the capability to load the SA digital certificate and
manually compare the public key against the printed public key. The Data Server shall only accept the SA
public key when this has been done. This process applies to the original SA public key and to any
subsequent keys issued by the SA.
The Data Server shall maintain records, in a SA Public Key Register; of what SA public keys have been
used. This should contain a copy of each key as well as the date on which it was issued.
The private key must be stored securely with access limited to only those persons who have a need to
know. The Data Server will create a new public/private key pair and request a new Data Server Certificate
from the SA if its private key is compromised.
The Data Server shall create a self signed key (SSK) and send it to the SA for conversion into a Data
Server certificate. Upon receipt, the SA will contact the sending Data Server to confirm that the delivered
SSK did originate from its stated source.
The manufacturer must also provide a secure mechanism within their software systems for uniquely
identifying each end user installation. The data protection scheme requires each installation to have a unique
hardware identifier (HW_ID). The Data Servers will use the M_KEY and HW_ID information to issue
encrypted ENC cell keys to a Data Client specific installation. Each ENC is encrypted with a unique cell key
however; by encrypting these using the Data Client’s unique HW_ID this ensures that they cannot be
transferred between several ECDIS from the same manufacturer.
The manufacturer is required to cooperate in the protection of the ENC information within end user systems
OEM/DATA CLIENT
SOFTWARE
10.6.1
10.5.3 10.7.1
AUTHENTICATE
CHECK SYSTEM CHECK STATUS
SA DIGITAL
HW_ID AGAINST OF INSTALLED
CERTIFICATE
CELL PERMITS PERMITS
10.6.2
10.5.4 10.7.2
AUTHENTICATE
VALIDATE DECRYPT CELL
SA SIGNED DS
CHECKSUM KEYS
CERTIFICATE
10.5.5 10.7.3
CHECK EXPIRY DECRYPT ENC
10.6.3
DATE CELL DATA
AUTHENTICATE
DATA SERVER
ENC SIGNATURE
10.5.6 10.7.4
CHECK DATA DECOMPRESS
SERVER ID ENC CELL DATA
User Permit.
ENCRYPTED CRC32 OEM
HW_ID
+ CHECKSUM + M_ID = USERPERMIT
Example:
HW_ID 3132333438 (ASCII)
M_KEY 3938373635 (ASCII) OEM - Create Userpermit
M_ID 3031 (ASCII)
Expected Results:
Input to ‘a’ 3132333438 and 3938373635 HW_ID and M_KEY in hexadecimal.
Output from ‘a’ 8 bytes Non-printable.
Input to ‘c’ 73871727080876A0 The hexadecimal values of the above string.
The bytes are given to the hash function left
hand byte first (i.e. 73, then 87, then 17 etc)
Output from ‘c’ 7E450C04 CRC32 result in hexadecimal
Output from ‘e’ 73871727080876A07E450C04 CRC32 result appended to the encrypted HW_ID
Output from ‘f’ 3031 Result appended to encrypted HW_ID & CRC32
User Permit 73871727080876A07E450C043031
“SSE 19 - Permits are not valid for this system. Contact your data supplier to obtain the correct
permits”.
a) Extract the last 16 hex characters (ENC Check Sum) from the Cell Permit.
b) Convert these 16 hex characters to 8 bytes.
c) Hash the remainder of the Cell Permit as left after ‘a’ using the algorithm CRC32.
d) Append the first byte of HW_ID to the end of HW_ID to form a 6 byte HW_ID (called HW_ID6).
e) Encrypt the hash (output from ‘c’) using the Blowfish algorithm with HW_ID6 as the key.
f) Compare the output from ‘e’ with the output from ‘b’. If they are the same, the Cell Permit is valid. If
they differ, the Cell Permit is corrupt and Cell Permit is not to be used.
Example:
HW_ID 3132333438 in hexadecimal
Cell Permit NO4D061320000830BEB9BFE3C7C6CE68 Example cell permit
B16411FD09F96982795C77B204F54D48
If the calculated CRC32 value is not the same as the value contained in the cell permit the system must
inform the Data Client as follows:
“SSE 15 - Subscription service has expired. Please contact your data supplier to renew the
subscription licence.”
NOTE: The system may install expired/valid permits but any cells subsequently displayed in the viewer
under these conditions MUST display a permanent warning to the user as follows:
“SSE 25 - The ENC Permit for this cell has expired. This cell may be out of date and MUST NOT be
used for NAVIGATION.”
See section 10.7.1.1 for checking the expiry date at load time.
If the expiry date of the permit is in advance of the computer clock/GPS signal then a further check must
be made to see how long the licenced subscription has to run. If this is 30 days or less then the system
should give a warning informing the Data Client as follows:
“SSE 20 - Subscription service will expire in less than 30 days. Please contact your data supplier
to renew the subscription licence.”
The Data Client can then take steps to renew the licence before it expires. The system should then
proceed to install the permits. If the permit has more than 30 days before expiring the permits should be
installed without warning.
It is important that Data Client systems are able to manage these instances. Each permit record contains
a Data Server ID field (see section 4.3.3). This field, if filled, contains a two character alphanumeric ID
unique to each Data Server assigned by the SA. Since cell permits issued by one Data Server will not
necessarily decrypt ENCs supplied by another it is important to maintain an association between the cell
permits and encrypted ENCs. OEMs should ensure that their systems are capable of maintaining these
associations, e.g. by creating Data Server specific folders where permits are stored.
The Data Server ID for encrypted ENC exchange sets is contained in the SERIAL.ENC file (see section
6.3.1) and is identical to that contained in the cell permit record.
No
CHECK PERMIT SSE 11 - CELL PERMIT
OK
AVAILABILITY FILE NOT FOUND
Yes
No
CHECK PERMIT SSE 12 - CELL PERMIT
OK
FORMAT INCORRECT FORMAT
Yes
No
COMPARE SSE 19 - CELL PERMIT
OK
SYSTEM HW_ID NOT VALID FOR SYSTEM
Yes
Systems may install expired permits
VALIDATE No
SSE 13 - CELL PERMIT But affected cells may only be viewed
PERMIT OK
CRC INVALID with a permanent warning message
CHECKSUM
Yes
as described in Section 10.5.5.
No INSTALL PERMITS
CKECK PERMIT SSE 15 - SUBSCRIPTION
OK IN DATA SERVER
EXPIRY DATE LICENCE HAS EXPIRED
SPECIFIC FOLDER
Yes
INSTALL PERMITS
CHECK DATA CONTINUE
IN DATA SERVER
TO INSTALL
SSE 25
SERVER ID
SPECIFIC FOLDER
• By Authenticating the SA signature held as part of the Data Server Certificate that forms part of the
ENC signature file.
• By validating the Data Server ENC signature (corresponding to the ENC Cell Data) in the ENC
signature file.
OEMs and Data Clients must first of all confirm that the SA certificate (whether X509 or ASCII format)
installed on the ECS/ECDIS is correct and current. This is dealt with in section 10.6.1 below.
Manually compare the SA public key contained within the independently installed SA Digital Certificate
with a copy of the printable public key available from the IHO website (http://www.iho.int). If the above
check fails, the system shall not accept the SA Digital Certificate. Otherwise, the SA Digital Certificate is
valid and the Data Server public key it contains can be used to authenticate SA signed Data Server
Certificate held as part of the ENC signature file.
NOTE: The Data Client must have means by which users can access the installed certificate from the
application.
The SA public key can be accessed from the IHO website as follows:
The IHB operates as the Scheme Administrator and has issued the root Digital Certificate for use
within the protection scheme. The SA certificate used by IHB will be a self-signed certificate. It is
available both as a X-509 compliant file IHO.CRT and as a text file Scheme Administrator Public
Key.txt. Both files are contained in an SA Certificate compressed file.
The SA will issue Data Server Certificates to all Data Servers participating in the protection scheme.
The Data Server Certificate contains the Data Server Public Key and the SA signature of this Key.
Since only the SA can issue Data Server Certificates, the chain of trust can be established by
authenticating the SA signature on the Data Server Public Key.
The protection scheme requires the SA public key to be installed on end user systems by all users of
the protection scheme. The Data Server Certificate is contained within each signature file and the Data
Server Public Key can be trusted if the SA certificate is valid. The installation of the SA certificate (and
the public key held within) should be carried out as a separate, independent operation and be subject
to carefully controlled operating procedures.
In the second paragraph above click on “SA Certificate” link and a “File Download” dialog will be
displayed which gives the user the option to “Open” or “Save” the zipped file named “S-
63_SA_Certificate.zip”. This file contains two files as follows:
Opening this file reveals a “Certificate” dialog, selecting the “Details” tab and highlighting
“Public Key” displays the IHO public key. The example below is the IHO public at the time this
document was published. Note that the first 6 characters [024100] represent the certificate
parameters and can be either positive [0240] or negative [024100].
This character string (minus the certificate parameters) should be compared with the installed
certificate to confirm that they are the same. If it is, then the certificate is authenticate, if not, it
should be rejected.
// BIG p
FCA6 82CE 8E12 CABA 26EF CCF7 110E 526D B078 B05E DECB CD1E B4A2 08F3 AE16 17AE
01F3 5B91 A47E 6DF6 3413 C5E1 2ED0 899B CD13 2ACD 50D9 9151 BDC4 3EE7 3759 2E17.
// BIG q
962E DDCC 369C BA8E BB26 0EE6 B6A1 26D9 346E 38C5.
// BIG g
6784 71B2 7A9C F44E E91A 49C5 147D B1A9 AAF2 44F0 5A43 4D64 8693 1D2D 1427 1B9E
3503 0B71 FD73 DA17 9069 B32E 2935 630E 1C20 6235 4D0D A20A 6C41 6E50 BE79 4CA4.
// BIG y
963F 14E3 2BA5 3729 28F2 4F15 B073 0C49 D31B 28E5 C764 1002 564D B959 95B1 5CF8
800E D54E 3548 67B8 2BB9 597B 1582 69E0 79F0 C4F4 926B 1776 1CC8 9EB7 7C9B 7EF8.
If this file is used for authentication it should be checked against the installed certificate or public
key file. If checking against an installed certificate then only the “BIG y” string should be verified to
see if it is the same. If checking against SA public key file then all parameters must be verified to
see if it is the same. In either case if the file is correct then the public key is authenticated, if not, it
must be rejected.
Prior to the authentication process the system must first check the availability, format and status of the
certificate or public key installed on the system. If there are any problems this should be reported to the
data client in a meaningful way as follows:
1. The SA certificate or public key is not present on the system (SSE 05 and terminate process).
2. The format of the SA certificate or public key is incorrect (SSE 08 and terminate process).
3. The SA certificate has expired (SSE 22 and terminate process).
d) Hash the public key file (obtained from ‘c’) using the algorithm SHA-1 [3]. All bytes within the file are
to be hashed.
e) Verify the signature part (as removed at ‘c’ above) by passing it (the signature), together with the SA
Public Key file (the key) and the hash of the public key file (obtained at ‘d’) to the DSA [2]. This will
return a status (correct or incorrect).
If incorrect the system must terminate the process and return the following warning message:
“SSE 06 - “The SA Signed Data Server Certificate is invalid. The SA may have issued a new
public key or the ENC may originate from another service. A new SA public key can be obtained
from the IHO website or from your data supplier”
There may be instances where there is more than one certificate or public key stored on the data
client. This may be especially so during the transition to the correct use of the S-63 scheme. Therefore
a check is necessary to ensure that the data server certificate authenticates correctly with the
IHO.CRT or IHO.PUB installed on the data client.
If the data server certificate authenticates against anything other than the IHO.CRT or IHO.PUB stored
on the data client then a warning message MUST be displayed as follows:
“SSE 26 - “This ENC is not authenticated by the IHO acting as the Scheme Administrator”
If this message is displayed the data client should still continue to the next stage of authentication
ENC signature authentication) and decryption.
SIGNATURE
FILE SCHEME
ADMINISTRATOR
DISCARD
FIRST R & S
PAIR SA X509v3 SA PUBLIC
CERTIFICATE OR KEY FILE
DATA SA SIGNED DS
SERVER ENC CERTIFICATE
SIGNATURE
ECS/ PRE-INSTALLED
EXTRACT ECDIS IN THE ECDIS
SECOND
Not Used R & S PAIR
SA R & S
SA PUBLIC
DATA SERVER SIGNATURE
KEY
PUBLIC KEY ELEMENT
DSA
SHA-1
ALGORITHM
No
SSE 06 - DATA SERVER
CERTIFICATE INVALID CORRECT
Yes
No Yes
PROCEED TO VALIDATE SSE 26 - ENC NOT PROCEED TO VALIDATE
IHO.CRT
ENC SIGNATURE (10.6.3) AUTHENTICATED BY SA ENC SIGNATURE (10.6.3)
a) Extract the ENC signature file uniquely related to an ENC cell file.
b) Extract the first signature part (i.e. the first two data strings and their attendant headers). This leaves
the certificate.
c) Discard the remaining signature part (i.e. the first two data strings and their attendant headers from
the remaining file). This leaves a public key file.
d) Hash the associated ENC Cell File using the algorithm SHA-1 [3]. All bytes within the file are to be
hashed.
e) Verify the signature part (as extracted at ‘b’ above) by passing it (the signature), the public key - as left
at ‘c’ above (the key) and the hash of the ENC Cell File, as obtained at ‘d’ above, to the DSA [2]. This
will return a status (correct or incorrect).
If the ENC signature is not authenticated correctly, the Data Client shall not decrypt the ENC because its
origins cannot be verified. If the ENC is authenticated correctly, the ENC can safely be decrypted.
OUTPUT
RESULT
updates/base cells have become available. The warning is only applicable for subscription licenses
and is not to be used for single purchase licenses, ref. section 4.3.3. The procedure is outlined in the
flowchart below and the subsequent step by step description:
a) Extract expiry date of the loaded ENC Cell Permit corresponding to the ENC file to be decrypted.
b) Extract the issue dates of the ENC base cell and latest update file (if available12) to be decrypted
from the PRODUCTS.TXT file. These are located in the second (Product Issue Date) and fourth
(Issue Date of Latest Update) fields of the cell record corresponding to the cell being decrypted.
c) If two dates (in fields two and four) are returned at b) then only the latest date13 should be used
when checking against the expiry date.
d) If the Issue Date of the base cell or the update obtained at b) and c) is newer (in advance of) the
permit expiry date obtained at a) the permits are deemed to have expired. A warning message
must be displayed as follows:
“SSE 15 - Subscription service has expired. Please contact your data supplier to renew the
subscription licence.”
The application may install expired ENC permits but must display the “”SSE 15” warning above. It
may also decrypt any ENC base cells and update files dated prior to the expiry date of the permits.
This can be managed by using the issue date [ISDT] contained in the CATD-COMT field at import. No
base cells or updates should be imported if the issue date [ISDT] is greater than the expiry date of the
installed cell permits. The application must also display a permanent warning when cells with expired
permits are viewed in the data client, see section 10.8.1.
EXCHANGE
SET
INSTALLED EXTRACT AND Yes SSE 15 - WARNING CELL CONTACT YOUR AGENT TO
CELL PERMITS COMPARE EXPIRED PERMITS HAVE EXPIRED RENEW SUBSCRIPTION
EXPIRY DATA
No
E.G. GPS COMPUTER Yes SSE 20 - WARNING LICENCE CONTACT YOUR AGENT TO
SIGNAL CLOCK 30 Days or
EXPIRES WITHIN 30 DAYS RENEW SUBSCRIPTION
less
No
PROCEDE TO
PERMANENT SSE 25
DECRYPT ENC VIEWER MESSAGE ON SCREEN
DATA
12
If no updates have been issued for a cell there will be no information available.
13
The “Issue Date of Latest Update” field, if filled, will not always be in advance of the “Product Issue Date”, for instance
in the case of re-issues.
a) Obtain the system date and, if available, any alternative reliable time sources, e.g. GPS signal.
b) Obtain the subscription expiration date from the Cell Permit file.
c) Compare the system date from ‘a’ and the subscription expiration date from ‘b’.
d) If it is 30 days or more before the subscription expires, the system can operate without any
further notices to the user.
e) If it is less than 30 days before the subscription expires, the system may be able to decrypt and
uncompress new information issued during the subscription period. The system should issue a
warning message to the user e.g.
“SSE 20 - Subscription service will expire in less than 30 days. Please contact your data
supplier to renew the subscription licence.”
a) Append the first byte of the Data Client HW_ID to the end of HW_ID to form a 6 byte HW_ID
(called HW_ID6).
b) Extract ECK1 from the Cell Permit and convert this from the 16 character hexadecimal string to 8
bytes.
c) Decrypt the converted ECK1 (output from ‘b’) using the Blowfish algorithm with HW_ID6 as the key.
This will yield CK1.
d) Extract ECK2 from the Cell Permit and convert this from the 16 character hexadecimal string to 8
bytes.
e) Decrypt the converted ECK2 (output from ‘d’) using the Blowfish algorithm with HW_ID6 as the key.
This will yield CK2.
Example:
HW_ID 3132333438 In hexadecimal
Cell Permit NO4D061320000830BEB9BFE3C7C6CE68 Example of cell
B16411FD09F96982795C77B204F54D48 permit
Note that the unencrypted Cell Keys are 5 bytes in length even though the encrypted cell keys are 8 bytes
in length. This is because blowfish pads the Cell Keys to 8 bytes in length when it encrypts them and it
un-pads the Encrypted Cell Keys when it decrypts them.
This procedure is performed by the Data Client’s system and is carried out as outlined in the flowchart (for
sections 10.7.2 and 10.7.3) and the step by step guide below14:
a) Decrypt the ENC file using the Blowfish algorithm with CK1 as the decryption key15.
14
OEMs should note that there is no requirement to check the edition date against the permit or words to this effect.
15
Rather than decrypting and decompressing the entire ENC file the data client can check that the decrypted header
information is compliant with the ZIP standard [6].
b) Decompress the ENC file. If decompression is successful, the ENC file is decrypted and ready for
import.
c) If decompression is unsuccessful, decrypt the ENC file using the Blowfish algorithm with CK2 as
the decryption key.
d) Decompress the ENC file. If decompression is successful, the ENC file is decrypted and ready for
use.
e) If decompression is unsuccessful in ‘b’ and ‘d’, this means that the Cell Permit does not contain
any valid cell keys. The system should return a relevant warning message and advise the Data
Client that a new Cell Permit should be obtained from the Data Server.
“SSE 21 – Decryption failed no valid cell permit found. Permits may be for another system or new
permits may be required, please contact your supplier to obtain a new licence.”
Uncompress the ENC file using the ZIP standard [6] to create a file fully compliant with the S-57 Edition
EXTRACT
EXTRACT CONVERT TO
ENCRYPTED
HW_ID 8 BYTES
CELL KEY 1
DECRYPT
WITH CK1 AS THE KEY
CELL KEY 1
ENC CELL
BLOWFISH EXTRACT/
ALGORITHM DECOMPRESS
ENC CELL
PKZIP
No REPEAT
CATALOG OK USING CELL
FILE
KEY 2
Yes
No No
NOTE: The CRC value of the ENC [1] is always computed on the unencrypted ENC information. The
application must confirm successful decryption and decompression by conducting the CRC check on all
ENC information.
the ECDIS when it is in use, e.g. route planning or navigation. It is possible, under the current data protection
scheme, to use ENCs that are out-of-date without the user being aware of it. The purpose of this section is to
identify any messages that should be permanently displayed by the data client when in use.
The data client must display permanent warning messages in the viewer when it can be determined that
ENC information contained in the SENC is or may be out-of-date. The data client must carry out the following
checks when displaying a cell in the ECDIS:
The data client must check the status of the installed ENC permit when displaying a particular ENC cell. If
the permit has expired the ECDIS is to display a permanent warning informing the user that this ENC cell
may be out of date as follows:
“SSE 25 - The permit for ENC<cell name> has expired. This cell may be out of date and MUST NOT be used
for Primary NAVIGATION”.
The data client must check the status of the ENC cell being displayed against the known status of that
cell in a particular data server’s service. This must be carried out by comparing the current Edition [EDTN]
and Update [UPDN] contained in the SENC for any given cell against the corresponding cell record listed
in the latest PRODUCTS.TXT file.
A permanent warning must be given when the ENC cell being displayed by the ECDIS is not updated to
the latest new edition or update in service as follows:
“SSE 27 - ENC<cell name> is not up to date. A New Edition, Re-issue or Update for this cell is
missing and therefore MUST NOT be used for Primary NAVIGATION”.
The system/application suppliers shall be able to create their own User Permit containing the encrypted
HW_ID. The User Permit will be provided to Data Servers who will then create Cell Permits for the
requested ENC information. A User Permit shall only be created to request Cell Permits from a Data
Server.
The SA will inform the Manufacturer about revoked Data Server Certificates.
The Data Client must be able to manage Cell Permits provided by several Data Servers. The Data Client
must also be able to manage Cell Permits for the same ENC provided by multiple Data Servers.
The Data Client must have the ability to manage stored Cell Permits so that old ones can be deleted and
new ones added to, or merged with, those stored.
The Data Client application should not allow the Data Client to be able to view or copy the decrypted cell
keys.
The SA will only issue M_IDs and M_KEYs on successful compliance as provided by a self certification
document.
The users of the Manufacturer application must not be able to view or extract the M_KEY information.
The Manufacturer shall have the ability to create HW_IDs of the format required within the standard.
These are to be random so that they will not be sequential and cannot be duplicated.
The users of the Manufacturer application must not be able to view or extract the HW_ID information from
the application.
SSE 01 must be returned when a self signed key (SSK) cannot be validated against the public stored as part
of the SSK. The data server must check that its own SSK is valid before sending it to the SA. The SA will
confirm that the date server SSK before returning the SA signed data server certificate.
SSE 02 must be returned if the SSK is wrongly formatted. That is elements of the SSK or characters are
missing. The SA and data servers must complete this check.
SSE 03 must be returned if the SA signed data server certificate does not validate against the SA public key.
This must be carried out by the SA before supplying it to the data server. The data server on receipt from the
SA and the data client when authenticating the certificate in the ENC signature file prior to decryption.
SSE 04 must be returned if the SA signed data server certificate is wrongly formatted. This must be carried
out by the data server on receipt from the SA.
SSE 05 must be returned if there is no certificate installed on the data client or the path to it cannot be found.
SSE 06 must be returned if the SA digital certificate (public key) does not validate against the following:
SSE 07 must be returned if the SA signed data server certificate is not available to the data server for
checking or is not present in the ENC signature file when the data client attempts to authenticate it.
SSE 08 must be returned if the SA public key held in the SA digital certificate is wrongly formatted or the
certificate file is unreadable.
SSE 09 must be returned if the ENC signature element in the ENC signature file does not authenticate
against the data server public key contained in the certificate element of the ENC signature file.
SSE 10 must be returned if there are no cell permits available for a particular data server corresponding to
the exchange set being loaded.
SSE 13 must be returned if the calculated CRC of the cell permit does not validate against the CRC held in
that cell permit. [Data Clients]
SSE 14 must be returned if the system date does not agree with the date obtained from any alternative,
reliable date source, e.g. GPS. [Data Clients]
SSE 15 must be returned if the expiry date of the cell permit has an earlier date than that obtained from the
validated system date. [Data Clients]
SSE 16 must be returned if the calculated CRC value of the ENC (after decryption and uncompressing) does
not validate against the corresponding CRC value in the CATALOG.031 file. This also applies to the
unencrypted signature, text and picture files. [Data Clients]
SSE 17 must be returned if the CRC contained in the userpermit does not validate against the calculated
CRC of the extracted HW_ID. [Data Servers]
SSE 18 must be returned if the if the decrypted HW_ID extracted from the userpermit is incorrectly
formatted. [Data servers]
SSE 19 must be returned if the HW_ID stored within the hardware/software security device cannot decrypt
the cell permits being loaded or already installed on the system.
SSE 20 must be returned if the subscription licence is due to expire within 30 days or less.
SSE 21 must be returned if a valid cell key (decryption key) cannot be obtained from the relevant cell permit
to enable the system to decrypt the corresponding ENC cell.
SSE 22 must be returned if the SA Digital Certificate (X509) has expired. That is if the “Valid to” date in the
certificate is older than the validated system date.
SSE 23 must be returned if the ENC update being imported is not sequential with the latest update already
contained in the SENC for any given cell. Under these conditions the update process (for the cell) must be
terminated and the ECDIS is to display a warning when the cell is displayed stating that the cell is not up to
date and should not be used for navigation.
SSE 24 must be returned if the ENC signature format (first R & S pair) is not compatible with the format
outlined in this document. Under these conditions the import process for the cell should be terminated but the
system should continue to authenticate the integrity of any remaining cells.
SSE 25 must be returned if the stored ENC permit for any given cell has expired. It should be possible to
view the cell but a permanent warning message must be displayed informing the user, e.g. “The permit for
ENC<cell name> has expired. This cell may be out of date and MUST NOT be used for Primary NAVIGATION”.
SSE 26 must be returned if the SA signed data server certificate authenticates against a certificate or public
key file stored on the Data Client other than the one provided by the SA. This caters for instances where
more than one certificate or public key is stored in the Data Client.
SSE 27 must be returned if the status of the cell being viewed is not as up-to-date in respect of the latest
PRODUCTS.TXT file loaded or maintained on the system. A permanent warning message must be displayed
on screen informing the user, e.g. “ENC<cell name> is not up to date. A New Edition, Re-issue or Update for
this cell is missing and therefore MUST NOT be used for Primary NAVIGATION”.
S-63 Annex A
Data Server Certificate Request Procedure
1 Purpose
The purpose of this procedure is to define the process for a Data Server to obtain a SA signed Data Server
Certificate from the SA as defined by the IHO S-63 Data Protection Scheme Standard.
2 Responsibility
Users of encrypted and digitally signed ENC data (i.e. ECDIS systems to authenticate a signature and
decrypt ENC information) do not need a Data Server Certificate. Agents or Distributors who will only provide
ENC services supplied by a Data Server will not require a Data Server Certificate.
3 Definitions
Data Server: This is the term used to identify an organisation producing encrypted ENC data that is
digitally signed and issuing Cell Permits to Data Clients (end-users).
Certificate: Certificates are digital documents attesting to the binding of a public key to an individual or
organisation. They verify that a specific public key belongs to a specific organisation, in this
case the IHO.
3.1 References
[1] IHO S-63 Data Protection Scheme, International Hydrographic Organisation
[2] IHO S-57 Transfer Standard for Digital Hydrographic Data, International Hydrographic Organisation
4 Procedure
This chapter defines the flow of information, responsibilities and detailed work instructions.
DATA SERVER
COMPLETES
4.2 Need for Endorsement DOCUMENTATION
organisation.
Yes
4.3
RECEIVE DATA
4.4 Submission of Request to IHB SERVER
ENDORSEMENT
The Data Server is responsible for submitting the completed Request Form
together with all other information listed in section 4.1 above to the IHB. 4.4
DATA SERVER
SUBMITS
4.5 Validation of Certificate Request DOCUMENTATION
TO IHB
IHB will validate the origins of the Certificate Request and authenticate the
public key by contacting the Data Server. It will also ensure the need for a 4.5
Data Server Certificate is applicable by contacting the endorsing Data
IHB VALIDATES
Server. IHB will report discrepancies back to the originator. REQUEST
IHB is responsible for the authentication of the SSK created by the Data ?
Server. If authentic the IHB then signs the Data Server public key to create
the Data Server’s Certificate, this is then supplied to the Data Server. APPROVED
4.6
5 Quality Metrics IHB CREATES &
PROVIDES DATA
The IHB will archive the Data Server Request information and attachments SERVER
CERTIFICATE
compliant with internal procedures.
PROCESS
END
S-63 Annex B
Manufacturer Information Request Procedure
1 Purpose
The purpose of this procedure is to define the processes that an OEM has to undertake to become a
participant in the IHO S-63 Data Protection Scheme. To participate, OEMs will require their own unique M_ID
and M_KEY values. These are supplied by the SA as defined by the IHO S-63 Data Protection Scheme so
that OEMs can decrypt S-63 encrypted ENCs.
2 Responsibility
2.1 OEMs
Only OEMs that develop Data Client applications need a unique M_ID and M_KEY value. IHB as the
Scheme Administrator will share this information with all the Data Servers participating in the scheme. An
OEM will only be issued with one M_ID and M_KEY pair.
The M_ID and M_KEY values will be returned to the Scheme Administrator if the organisation ceases trading
or no longer supports an application that accesses and displays S-63 encrypted ENCs. Data Servers will be
informed of such instances so that no new licences are issued for that particular manufacturers system.
There is no need for Data Client to have access to the M_KEY value because it is securely built into the end-
user application (e.g. dongle) and supplied to Data Clients in an encrypted form known as a userpermit.
3 Definitions
M_ID: Manufacturer Identification
M_KEY: Manufacturer Key
OEM: Original Equipment Manufacturer
Userpermit: A 28 character alphanumeric string containing the Data Client’s HW_ID encrypted with the
manufacturer’s M_KEY and containing the M_ID.
Dongle: A hard lock device that contains the HW_ID of the Data Clients system.
3.1 References
[1] IHO S-63 Data Protection Scheme, International Hydrographic Organisation
[2] IHO S-57 Transfer Standard for Digital Hydro-graphic Data, International Hydrographic Organisation
4 Procedure
This chapter defines the flow of information, responsibilities and detailed work instructions.
OEM COMPLETES
The SA verifies that a signed Confidentiality Agreement is included M_ID & M_KEY
with the request or already available in the IHB archive. If an REQUEST FORM
provided.
No
OK
4.5 Check OEM has no Current M_ID and M_KEY
Yes
Verify the OEM has no previously assigned M_ID and M_KEY. If not, 4.3
inform the OEM about the problem.
SA VERIFY
SIGNED IHO OEM
AGREEMENT
4.6 Creation of M_ID and M_KEY
The SA assigns the OEM an available and unique M_ID and M_KEY No
combination. OK
Yes
4.7 Inform About New M_ID and M_KEY 4.4
SA CONFIRM OEM
The SA informs the OEM about its M_ID and M_KEY. The SA informs COMPLIANCE
all registered Data Servers about the new M_ID and M_KEY TESTING IS OK
information.
No
4.8 Inform OEM about Problem with Request OK
Yes
The SA informs the OEM about specific problems with the request and
requests updated information to be provided before a M_ID and 4.5
5 Quality Metrics OK
Yes
The IHB will archive the Request form and all relevant information
No
compliant with internal procedures.
4.6
SA CREATE
UNIQUE OEM
M_ID & M_KEY
4.7
DESPATCH M_ID
& M_KEY TO OEM
& DATA SERVERS
PROCESS
END
Important Notice: S-63 Appendix 1 includes test data which are provided separately as
compressed (ZIP) files (see S-63 page on the IHO website – www.iho.int/ECDIS/). Embedded in
the ZIP file is a document “Test Data Implementation Guide” providing instructions on how to
use the test data. The text below provides a brief presentation of Appendix 1.
1 Introduction
The S-63 Appendix 1 defines a recommended set of test definitions and test data which can be used
by developers of Data Server and Data Client applications to understand the security constructs
defined in S-63 and test if their application is compliant with the standard. It includes a “Test Data
Implementation Guide” which is provided along with the test data.
The S-63 Appendix 1 will be maintained by the IHO DPSWG. More test data can be included in the
future based on user feedback to provide a complete test platform to verify correctness and
compliance with the standard, or for end-user applications to identify erroneous situations. The current
version of the document provides a complete test sample for compliance testing.
The associated “Test Data Implementation Guide” will be maintained independent of the IHO S-63
main document and new versions will be published on the IHO website.
Questions related to the use of the test data can be posted at the OpenEcdis Forum
(www.openecdis.org).
The test definitions are organised in functional categories and defined in chapter 3 of the “Test Data
Implementation Guide”. Test definitions for the Scheme Administrator functionality has not been
included in the document since only the IHB will require these test scenarios.
Each test definition indicates if the test is applicable for Data Server or Data Client applications. Note
that a test is relevant for all applications if the type of application is omitted.
There are test definitions for both good and erroneous test conditions to ensure a robust application
and reflect operational conditions.
Note that the IEC will be responsible for defining applicable ECDIS type approval tests which will
complement this document.
All the test data is organised in a ZIP file and will extract into a directory structure where each test
data will be located in a separate directory. Note that some of the test data sets are used in multiple
test definitions.
Note that the test data can also be used by developers for unit testing or other test situations for their
application.
When the material is no longer required to fulfil the purpose, it and any working copies, are to be
destroyed.
1 Introduction
Until recently the majority of ECDIS/ECS only had the capability to load ENC Exchange Sets (ExSets)
from CD-ROMs. However, it is becoming increasingly common for new OEM hardware to be delivered
with DVD drives or other Large Media Support1 (LMS). The inclusion of this media support now offers
data servers the potential to include more ENC data on a single media.
Several issues have emerged during the operation of the existing S-63 encrypted ENC services using
edition 1.0 of the standard. Not least of these is the fact that providing large exchange sets has
resulted in unacceptable load times to the ECDIS/ECS. This is one of the principle reasons why data
servers did not provide services that included single exchange sets spanning multiple CD-ROMs.
To store a single ENC exchange set on a mass storage device such as a DVD or USB that was
similar in size to that stored on CD-ROM, would be an inefficient use of the media and the available
memory. This being the case it would make sense to store multiple exchange sets on the same
media, each about the same size as those currently stored on CD-ROM. Since this method of storage
is not defined in the IHO S-57 Product Specifications or Edition 1.0 of S-63 a new configuration will
have to be specified.
When designing the media structure the following considerations have been taken into account:
2 Media Overview
The following section gives a high level view of how the data will be structured on the media. It also
outlines how the S-63 exchange set structure has been modified for large media support; this is
further supported by diagrams in Annexes A and B of this appendix. Detailed information relating to
the content and format of these folders and files are provided later in this appendix.
There will be two types of media, “BASE”, containing one or more Base Exchange sets and,
“UPDATE”, containing the weekly ENC updates, these may be contained in one or more exchanges
sets on the update media. It was considered that because of the increased capacity which these types
of media offer it could be possible to re-issue base ExSets on the update media and conversely
weekly updates on the base media.
All exchange sets are located in the root directory of each media each within their own specific sub-
directory. The configuration of all exchange sets are the same as outlined in 7.5.1 of the main
document with the one notable exception. The “INFO” folder that includes the “PRODUCTS.TXT” file
will no longer be stored in the root directory of the exchange set(s) but in the root directory of the
media.
The “INFO” will continue to be used by data servers to include additional files unique and specific to
their S-63 encrypted ENC services. Note that any data server specific files stored in this folder must
be named in such a way that they DO NOT conflict with the S-63 file naming convention.
1
Large Media Support can also be referred to as Mass Storage Devices.
An additional file named “MEDIA.TXT” will be included on each piece of media to assist data
clients in managing multiple exchange sets on the same media and across multiple media sets. It
will also enable data clients systems to prompt users to insert the relevant media by including a
machine readable string in each record referring to each piece of media. A more detailed
explanation of the format of the MEDIA.TXT file is provided later in section 3.
A further indication is the presence of the new MEDIA.TXT file is in the root directory of the media is a
further indication that an ENC service is being provided using large media support.
For large media support the media labelling convention will be similar to that used in the IHO S-57
product specification. Instead of “V01X01”, where “V” stands for “Volume”, the letter “M” for
“Media” will be substituted.
The volume label for large media support will also indicate how many media sets there are in a
service. Therefore if there are three media sets they will be labelled as follows:
NOTE: This only identifies the number of media sets in an ENC service and does not imply that
this is a single exchange set covering multiple media sets. This purpose of this naming convention
is to assist data clients to identify the media where licenced cells are located.
For “Base Media” the “PRODUCTS.TXT” file will contain records for all cells held on that particular
media. The header as defined in section 6.2.2 of the main document will be labelled as “FULL” if
there is only one media in a particular service. However if there is more than one media this will be
labelled “PARTIAL”. A “FULL” products listing will always be provided on the “Update Media” with
records of all cells in a data server’s service.
It is important that ECDIS/ECS manufacturers manage these records carefully; “PARTIAL” product
listings must be merged with the “FULL” listing stored within the system. It must be noted that the
system may contain product information from more than one data server. Therefore it is important not
to overwrite “FULL” listings unless they are stored independently according to data server.
This is a new file designed to manage services supplied using large media support. It is located in the
root directory of the base and update media and contains information relating to all media in a data
server’s service and the exchange sets contained on the media. The main purpose of this file is as
follows:
To provide data clients with a means to manage the import of a data server’s service that supports
large media.
To provide information to allow data clients to manage multiple media sets.
To provide machine readable information so that data clients can make the import process more
intuitive for the end user.
NOTE: The latest update media will always contain the most up to date status of the base exchanges
sets in a data server’s service. This can be used to check the latest base exchange set has been
installed. Further details on the structure and format of this file are outlined below.
The purpose of the MEDIA.TXT header is similar to that of the SERIAL.ENC file stored with the
exchange set. It is used to manage the media installation by identifying the following:
The header is provided in two lines each containing a single record, the first is a fixed length, and
the second is comma separated. The following table defines the format in more detail:
Example:
GBWK27_07 20070621BASE M01X03
M1,’UKHO Week 27_07 BASE MEDIA 1’,’Europe, Africa, and Middle East’
The “MEDIA.TXT” file also contains a list of records that identifies all exchange sets in a data
server’s service and the destination media where they can be located. Its purpose is to provide
data clients with a means of managing the import of encrypted ENCs across multiple media sets
and provide machine readable information so that the data client can prompt end users to load the
appropriate media.
The “MEDIA.TXT” file stored on the UPDATE media will always contain a FULL list of media sets
contained in a data server’s service. It will also carry the date when the media was last issued, this
way the ECDIS/ECS can always validate whether it holds the latest information.
The “MEDIA.TXT” file stored on the BASE media will contain a list of those exchange sets stored
on the media. It will NOT contain information about the other volumes in the service.
Notes
Field ID Domain Bytes Range
(see below)
Media/Exchange Set Location Character 5-7 M1 to M99;B1 to B99 1
e.g. M2;B7 [Media 2, Base ExS 7]
M1 to M99;U1 to U99
e.g. M1;U2 [Media 1, Update ExS 2]
Notes:
1. This field identifies on what media the base or update exchange set is located.
2. The ExSet Issue Date. This is the date when an ExSet is issued or re-issued2 on the base
or update media. Although it may be more practical to re-issue all ExSets on a particular
media simultaneously there may be occasions when the media is re-issued with just one
ExSet re-issued. Data Clients may use this date to validate the status of the currently
installed cells from the update media.
3. This is a machine readable text string that Data Clients can use to prompt end users to load
the appropriate media.
4. This is an optional machine readable text string that can used by data clients to display
additional information relating to the regions/producer nations on a particular media..
5. Future Use
6. Additional comment information
The update media “MEDIA.TXT” file will always contain the latest issue dates and information for
all base media exchange sets in a media set. Although provision has been made to have more
than one update ExSet on the update media, it is not recommended for the reasons mentioned in
section 4. However, if there are more than one then this can be managed by the entries in the
PRODUCTS.TXT and MEDIA.TXT file on the update media.
2
A re-issued exchange set is one that contains the entire base ENCs (plus updates) assigned to it plus any new
editions and updates produced since it was issued/re-issued.
If a data server is operating a two tier service, e.g. they support both a CD-ROM and DVD services.
The content of the Base and Update Exchange sets will be the same in both services. It may well be
that data server’s issue the Base Exchange sets on DVD and the weekly update on CD. This would
keep the production costs to a minimum.
NOTE: In the case of encrypted ENC data it is not necessary or desirable to read the complete
CATALOG.031 file. This file should only be used to identify the target location of all licenced ENCs
and any associated files in the exchange set.
When the weekly update media is loaded data clients must check that the issue date of all installed
exchanges sets are current and up to date. The latest update media will always contain the latest
issue date of each exchange set in the service in the “MEDIA.TXT” file.
If the ECDIS/ECS does not have the latest base media loaded a warning must be given instructing the
user similar to the following example:
’Media X’, ‘Base Exchange Set Y’ has been re-issued it may not be possible to install some
updates. Please load the latest ‘Media X’ with an issue date of ‘YYYYMMDD’
ANNEX A
BASE MEDIA FOLDER AND FILE STRUCTURE
The diagram below is for illustrative purposes only and outlines the top level folder and file structure that must be
used by data servers when supplying S-63 encrypted ENC services utilising large media support. However, it is
possible that the structure under each ENC_ROOT folder of each exchanges set may vary between data servers.
INFO INFO
PRODUCTS.TXT PRODUCTS.TXT
(Partial Product List) (Partial Product List)
B1 B8
B2 B9
ENC_ROOT ENC_ROOT
FR LV
B3 B10
FR200010 LV211021
GB NO
FR210010 LV211022
XX GB100001 XX NO2A0404
GB100002 NO2A2804
README.TXT README.TXT
FR6XXXXX LV6XXXXX
ANNEX B
MEDIA.TXT
INFO
PRODUCTS.TXT
(Full Product List)
U1
ENC_ROOT
SERIAL.ENC
FR
IHO.CRT (TEMP)
GB
U2
NO GB100001
GB100002
GB6XXXXX
CATALOG.031
README.TXT