Internet DRAFT - draft-wu-identifier-data-escrow-interface
draft-wu-identifier-data-escrow-interface
Internet Engineering Task Force H. Wu
Internet Draft J. Chen
Intended status: Experimental X. Fan
Expires: June 21 2023 Z. Li
China Academy of Information and Communications Technology J. Xie
December 16, 2022
Industrial Internet Identifier Data Escrow Interface
draft-wu-identifier-data-escrow-interface-06
Abstract
This document describes the Data Escrow report requirement and
technical details of the interfaces provides by the Top-level Node
(TLN) to its contracted parties. Second-level Node (SLN) MUST
periodically send data escrow report to Top-level Node (TLN) and
Data Escrow Agent (DEA). DEA MUST sends report verify result to TLN
and SLN after processing the report.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on June 21, 2023.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
<Wu, etal.> Expires June 20, 2023 [Page 1]
Internet-Draft IIIN-Data-Escrow June 2023
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction ................................................ 3
2. Conventions ................................................. 3
3. Data Escrow Requirement...................................... 4
3.1. Deposits ............................................... 4
3.2. Escrow Format .......................................... 4
3.3. Schedule for Deposits................................... 4
3.4. File Naming Conventions................................. 4
3.5. Processing of Deposits files............................ 5
3.6. Distribution of Public Keys............................. 6
3.7. Notification of Deposits................................ 6
3.8. Verification Procedure.................................. 7
3.9. Verification of Deposits................................ 7
4. Object Description .......................................... 8
4.1. <indea:result> Object................................... 8
4.2. <indeReport:report> Object.............................. 8
4.3. <indeNotification:notification> Element................ 10
4.4. <indeRReport:summary> Object........................... 11
4.5. <indeReports:reports> Object........................... 13
4.6. <indeNotifications:notifications> Object............... 13
5. Interfaces for Data Escrow Reporting........................ 14
5.1. SLN Reporting ......................................... 14
5.2. Data Escrow Agent Reporting............................ 15
6. Technical details of the interfaces......................... 17
6.1. Response Object........................................ 18
6.1.1. SLN Reporting..................................... 20
6.1.2. Data Escrow Agent Reporting....................... 20
7. Monitoring the reporting status............................. 22
7.1. Monitoring the status of Repository Reports............ 22
7.2. Monitoring the status of Data Escrow Reports........... 22
7.3. Monitoring the status of Data Escrow Notifications..... 23
8. Formal Syntax .............................................. 23
8.1. Result Object ......................................... 23
8.2. Report Object ......................................... 26
8.3. Notification Object.................................... 28
8.4. Summary Object ........................................ 31
8.5. Reports Object ........................................ 35
8.6. Notifications Object................................... 37
Wu, et al. Expires June 20, 2023 [Page 2]
Internet-Draft IIIN-Data-Escrow June 2023
9. Internationalization Considerations......................... 39
10. Security Considerations.................................... 39
11. IANA Considerations........................................ 39
12. Privacy Considerations..................................... 40
13. References ................................................ 40
13.1. Normative References.................................. 40
14. Acknowledgments ........................................... 41
1. Introduction
This document describes the Data Escrow report requirement and
technical details of the interfaces provides by the Top-level Node
(TLN) to its contracted parties. Second-level Node (SLN) MUST
periodically send data escrow report to Top-level Node (TLN) and
Data Escrow Agent (DEA). DEA MUST sends report verify result to TLN
and SLN after processing the report.
2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
TOP-LEVEL NODE (TLN).In the context of this draft the definition will
indicate an organization providing Registry Services for a top level
identifier. TLN also provide Second-level Node manager services.
SECOND-LEVEL NODE (SLN). In the context of this draft the definition
will indicate an organization providing Registry Services for a
second level identifier.
Data Escrow Agent. The organization designated by the SLN to receive
and guard data escrow deposits from the SLN.
Date and Time. Numerous fields indicate "dates", such as the
creation and expiry dates for objects. These fields SHALL contain
timestamp indicating the date and time in UTC, specified in Internet
Date/Time Format (see [RFC3339], Section 5.6) with the time-offset
specified as "Z".
XML is case sensitive. Unless stated otherwise, XML specifications
and examples provided in this document MUST be interpreted in the
character case presented in order to develop a conforming
implementation.
Wu, et al. Expires June 20, 2023 [Page 3]
Internet-Draft IIIN-Data-Escrow June 2023
3. Data Escrow Requirement
SLN MUST engage an independent entity to act as data escrow agent
for the provision of data escrow services. The following sections
define the data escrow requirement.
3.1. Deposits
There will be two types of Deposits: Full and Differential.
o Full Deposit will consist of data that reflects the state of the
SLN as of 00:00:00 UTC (Coordinated Universal Time) on the day
that such Full Deposit is submitted to Escrow Agent.
o Differential Deposit means data that reflects all transactions
that were not reflected in the last previous Full or Differential
Deposit, as the case may be. Each Differential Deposit will
contain all database transactions since the previous Deposit was
completed as of 00:00:00 UTC of each day.
3.2. Escrow Format
Deposit's Format. SLN will include identifier node elements
described in draft-industrial-internet-identifier-data-escrow
(IIIDE) and draft-second-level-node-objects-mapping (SLNOM) in the
Deposits. If IIIDE and SLNOM not already an RFC, SLN will use the
most recent draft version of the IIIDE and SLNOM available at the
Effective Date. Once the IIIDE and SLNOM is published as a RFC, SLN
will implement that version of the IIIDE and SLNOM Specification, no
later than one hundred eighty calendar days after.
3.3. Schedule for Deposits
SLN will submit a set of escrow files on a daily basis as follows:
o Each Sunday, a Full Deposit must be submitted to the Escrow Agent
by 23:59 UTC.
o The other six (6) days of the week, a Full Deposit or the
corresponding Differential Deposit must be submitted to Escrow
Agent by 23:59 UTC.
3.4. File Naming Conventions
Data Escrow Deposit Files will be named according to the following
convention:
Wu, et al. Expires June 20, 2023 [Page 4]
Internet-Draft IIIN-Data-Escrow June 2023
{Snode}_{YYYY-MM-DD}_{type}_S{#}_R{rev}.{ext}
o {Snode} is replaced with the SLN prefix.
o {YYYY-MM-DD} is replaced by the date corresponding to the time
used as a timeline watermark for the transactions.
o {type} is replaced by:
"full", if the data represents a Full Deposit;
"diff", if the data represents a Differential Deposit;
o {#} is replaced by the position of the file in a series of files,
beginning with "1"; in case of a lone file, this must be replaced
by "1". If it is a report file, there is no S{#}.
o {rev} is replaced by the number of the revision(or resend) of the
file beginning with "0".
o {ext} replaced by the "inde", Replaced by the "sig" if it is a
digital signature file, replaced by the "rep" if it is a report
file.
3.5. Processing of Deposits files
The use of compression is recommended in order to reduce electronic
data transfer times, and storage capacity requirements. Data
encryption will be used to ensure the privacy of registry escrow
data. Files processed for compression and encryption will be in the
binary OpenPGP format as per OpenPGP Message Format. The process to
follow for the data file in original text format is:
1) Compress the data file(s). According to RFC 4880, the recommended
compression algorithm is zip.
2) A compressed and encrypted OpenPGP Message is created using the
tarball file as sole input. The suggested algorithm for
compression is ZIP as per RFC 4880. The compressed data will be
encrypted using the escrow agent's public key. The suggested
algorithms for Public-key encryption are Elgamal and RSA as per
RFC 4880. The suggested algorithms for Symmetric-key encryption
are TripleDES, AES128 and CAST5 as per RFC 4880.
3) The file may be split as necessary if, once compressed and
encrypted, it is larger than the file size limit agreed with the
Wu, et al. Expires June 20, 2023 [Page 5]
Internet-Draft IIIN-Data-Escrow June 2023
escrow agent. Every part of a split file, or the whole file if not
split, will be called a processed file in this section.
4) A digital signature file will be generated for every processed
file using the SLN private key. The digital signature file will be
in binary OpenPGP format, and will not be compressed or encrypted.
The suggested algorithms for Digital signatures are DSA and RSA as
per RFC 4880. The suggested algorithm for Hashes in Digital
signatures is SHA256.
5) The processed files and digital signature files will then be
transferred to the Escrow Agent through secure electronic
mechanisms, such as, SFTP, SCP, HTTPS file upload, etc.
6) The Escrow Agent will then validate every (processed) transferred
data file using the procedure described in Section 3.8.
3.6. Distribution of Public Keys
Each of SLN and Escrow Agent will distribution this public key to
the other party via email to an email address to be specified. Each
party will confirm receipt of the other party's public key with a
reply email, and the distributing party will subsequently reconfirm
the authenticity of the key transmitted via offline methods, like in
person meeting, telephone, etc. In this way, public key transmission
is authenticated to a user able to send and receive mail via a mail
server operated by the distributing party. Escrow Agent, SLN and TLN
will exchange public keys by the same procedure.
3.7. Notification of Deposits
Along with the delivery of each Deposit, SLN will deliver to Data
Escrow Agent and TLN a written statement that includes a copy of the
report generated upon creation of the Deposit and states that the
Deposit has been inspected by SLN and is complete and accurate. The
preparation and submission of this statement must be performed by
the SLN or its designee, provided that such designee may not be the
Escrow Agent or any of Escrow Agent's Affiliates. SLN will include
the Deposit's "id" and "resend" attributes in its statement. The
attributes are explained in IIIDE and SLNOM. The written statement
file is submitted to the TLN by calling the data escrow interfaces
provided by TLN. The written statement file, data escrow file and
digital signature file are transmitted to DEA through security
electronic mechanisms (for example, SFTP, SCP, HTTPS file upload,
etc.).
Wu, et al. Expires June 20, 2023 [Page 6]
Internet-Draft IIIN-Data-Escrow June 2023
The Data Escrow Agent receives the deposit and verifies it. Every
time it verifies a deposit, it must send the verification results to
SLN and TLN. The verification results file is submitted to the TLN
by calling the data escrow interfaces provided by TLN. The
verification results file transmitted to SLN by verified email.
When the SLN fails to send the deposit file within the time limit
specified in the deposit schedule, the Data Escrow Agent needs to
notify the SLN via verified email.
3.8. Verification Procedure
o The signature file of each processed file is validated.
o If processed files are pieces of a bigger file, the latter is put
together.
o Each file obtained in the previous step is then decrypted and
uncompressed.
o Each data file contained in the previous step is then validated
against the format.
o The data escrow agent extended verification process as well as
any other data escrow verification process contained in such
reference.
If any discrepancy is found in any of the steps, the Deposit will be
considered incomplete, and must complete this data escrow before the
next data escrow time specified
3.9. Verification of Deposits
o Within twenty-four hours after receiving each Deposit or
corrected Deposit, DEA must verify the format and completeness of
each Deposit and deliver to TLN and SLN a notification generated
for each Deposit.
o If DEA discovers that any Deposit fails the verification
procedures or if DEA does not receive any Scheduled Deposit, DEA
must notify SLN and TLN either by email, fax or phone. Upon
notification of such verification or delivery failure, SLN must
begin developing modifications, updates, corrections, and other
fixes of the Deposit necessary for the Deposit to be delivered
and pass the verification procedures and deliver such fixes to
DEA and TLN as promptly as possible.
Wu, et al. Expires June 20, 2023 [Page 7]
Internet-Draft IIIN-Data-Escrow June 2023
4. Object Description
This section describes the base objects supported by this
specification:
4.1. <indea:result> Object
The TLN interfaces for SLN and data escrow agents <indea:result>
object is used to provide information on the result of a
verification process when interacting with the interfaces. The
<indea:result> object contains the following attribute and child
elements:
o A "code" attribute whose value is a four-digit decimal number
that identifies the result of a process. Available result code
values MUST be defined for the corresponding process.
o An OPTIONAL "count" attribute to indicate the number of industry
internet identifier node object related to the reported result.
o A <msg> element containing a human-readable description of the
result code.
o An OPTIONAL <description> element that includes additional details
on the result conditions.
An example of a <indea:result> object is presented below:
<indea:result code="2001">
<msg>The structure of the report is invalid.</msg>
<description> 'XXX' could not be parsed as a number
</description>
</indea:result>
4.2. <indeReport:report> Object
The contents of a data escrow deposit are described using a
<indeReport:report> object. The <indeReport:report> object contains
the following child elements:
Wu, et al. Expires June 20, 2023 [Page 8]
Internet-Draft IIIN-Data-Escrow June 2023
o An <id> element that contains the identifier assigned to this
report. The report identifier MUST be the same as the "id"
attribute from the <deposit>. If the data escrow deposit does not
include a unique identifier, the Data Escrow Agent MUST generate
a unique identifier to reference the data escrow deposit and use
it in the <id> element.
o A <version> element contains the version of the specification
used. This value MUST be 1.
o A <indeSpecEscrow> element contains the version of the Data
Escrow Specification (e.g. draft-caict-industrial-internet-
identifier-data-escrow-00) used to create the deposit. After the
specification is published as an RFC, the value MUST be the RFC
number assigned by IANA.
o An OPTIONAL <indeSpecMapping> element contains the version of the
Identifier Node Registration Data (INRD) Objects Mapping (e.g.
draft-second-level-node-objects-mapping-00) used to create the
deposit. After the specification is published as an RFC, the
value MUST be the RFC number assigned by IANA. The
<indeSpecMapping> element MUST be included if the deposit was
created using any version of the INRD objects mapping
specification.
o A <resend> element contains the value of the "resend" attribute
of the <deposit>.
o A <crDate> element contains the date and time that the deposit
was created by the SLN.
o A <kind> element is used to identify the kind of deposit: FULL,
or DIFF (Differential).
o A <watermark> element contains the date and time corresponding to
the Timeline Watermark (<watermark> element) of the <deposit>.
o A <indeHeader:header> element contains the header of the
<deposit> as defined in [draft-second-level-node-objects-
mapping].
An example of a <indeReport:report> object is available in Section
5.1.
Wu, et al. Expires June 20, 2023 [Page 9]
Internet-Draft IIIN-Data-Escrow June 2023
4.3. <indeNotification:notification> Element
The <indeNotification:notification> object is used by Data Escrow
Agents to document the result of the data escrow deposit
verification process. The <indeNotification:notification> object
contains the following child elements:
o A <deaName> element contains the name of the Data Escrow Agent.
o A <version> element contains the version of the specification
used. This value MUST be 1.
o A <repDate> element contains the reported date. In case of a DVPN
or DVFN notification this value MUST be the date of the
<watermark> element of the <deposit>. In case of a DRFN deposit
notification, this value MUST be the date for which no deposit
was received from SLN.
o A <status> element is used to specify the status of <repDate>.
The possible values of status are: DVPN, DVFN and DRFN. The value
for the <status> element is determined by the three types of
notices::
Deposit Receipt Failure Notice (DRFN): generated by the Data
Escrow Agent when no deposit is received pursuant to the data
escrow deposit schedule.
Deposit Verification Failure Notice (DVFN): generated by the
Data Escrow Agent when a deposit is received, but the final
result of the verification process is failure.
Deposit Verification Pass Notice (DVPN): generated by the Data
Escrow Agent when a deposit is received and the final result of
the verification process is success.
o An OPTIONAL <results> element contains the errors detected during
the data escrow deposit verification process performed by the
Data Escrow Agent. The <results> element includes one or more
<indeReport:result> elements as defined in Section 4.1. In case
of a DRFN or DVPN deposit notification the <results> element MUST
NOT be present.
o An OPTIONAL <reDate> element contains the date and time that the
deposit was successfully received by the Data Escrow Agent. In
case of a DRFN deposit notification this element MUST NOT be
present.
Wu, et al. Expires June 20, 2023 [Page 10]
Internet-Draft IIIN-Data-Escrow June 2023
o An OPTIONAL <vaDate> element contains the date and time that the
deposit was processed for validation by the Data Escrow Agent.
In case of a DRFN deposit notification this element MUST NOT be
present.
o An OPTIONAL <lastFullDate> element contains the date of the
Timeline Watermark (<watermark> element) of the most recent FULL
deposit that was successfully validated by the Data Escrow Agent.
This element MUST NOT be present if a successfully validated full
deposit has never been deposited.
o An OPTIONAL <indeReport:report> element is used by the Data
Escrow Agent to provide extended information about the deposit.
In case of a DRFN deposit notification this element MUST NOT be
present. In case of a DVPN or DVFN deposit notification this
element MUST be present. When this element is present, the
<indeHeader:header> element MUST be generated by the Data Escrow
Agent for the Timeline Watermark (<watermark> element) of the
deposit being processed. If the deposit being processed is a
differential deposit, the Data Escrow Agent MUST process the last
full plus all differentials escrow deposits from the same
repository to generate the <indeHeader:header> element.
o Note: In case of a DVPN or DVFN deposit notification, the <id> is
used as unique identifier.
An example of a <indeNotification:notification> object is available
in Section 5.2.
4.4. <indeRReport:summary> Object
Interfaces that support monitoring the reporting status for a
specific repository, provide a <indeRReport:summary> object as
defined by the schema in Section 6 in the HTTP Entity-body when a
HTTP/200 code is sent by the interface. The <indeRReport:summary>
element includes the following child elements:
o A choice of one of the elements as defined in the
"indeHeader:repositoryTypeGroup" (see [draft-second-level-node-
objects-mapping]) that indicates the unique identifier for the
repository being escrowed.
o A <crDate> element with the date and time in which the queried
repository was created in the system.
Wu, et al. Expires June 20, 2023 [Page 11]
Internet-Draft IIIN-Data-Escrow June 2023
o A <depositSchedule> OPTIONAL element indicating the current Data
Escrow Deposit schedule for the queried repository. Possible
values are "None", "Weekly", and "Daily".
o An OPTIONAL <lastFullDate> element indicating the date of the
Timeline Watermark (<watermark> element) of the most recent FULL
deposit that was successfully validated for the queried
repository as notified by the Data Escrow Agent.
o A <statusReports> element with a <statusReport> element for each
report type for the queried repository. Each <statusReport>
element includes the following child elements:
<type> : a string value indicating the report type to which the
information provided pertains.
<enabled> : a Boolean value indicating if the report type is
enabled for the repository.
<status> : a string value indicating the reporting status. A
value of "ok" indicates there are no reporting issues in the
corresponding report type, otherwise the value of
"unsatisfactory" is shown.
An OPTIONAL <issues> element included only when the <status>
element has a value of "unsatisfactory", and includes an empty
<issue> element for each date with a reporting problem found in
the corresponding report type. Each <issue> element includes a
REQUIRED "date" attribute in "YYYY-MM-DD" format and a REQUIRED
"description" attribute to describe the issue. The possible
values to describe each reporting issue are:
"Missing_Deposit_Full": If the latest notification received
from the Data Escrow Agent for the date indicates that a
scheduled "Full" deposit was not submitted by the repository
owner.
"Missing_Deposit_Diff": If the latest notification received
from the Data Escrow Agent for the date indicates that a
scheduled "Differential" deposit was not submitted by the
repository owner.
"Invalid_Deposit_Full": If the latest notification received
from the Data Escrow Agent for the date indicates that a
"Full" deposit was received by the Data Escrow Agent, but
failed the verification process.
Wu, et al. Expires June 20, 2023 [Page 12]
Internet-Draft IIIN-Data-Escrow June 2023
"Invalid_Deposit_Diff": If the latest notification received
from the Data Escrow Agent for the date indicates that a
"Differential" deposit was received by the Data Escrow
Agent, but failed the verification process.
"No_Report_Received" If no report has been received for the
date.
o A <timestamp> element to indicate the date and time in which the
reporting status response was created.
4.5. <indeReports:reports> Object
Interfaces that support monitoring and retrieving Data Escrow
Reports received, provide a <indeReports:reports> object in the HTTP
Entity-body when a HTTP/200 code is sent by the interface.
The <indeReports:reports> element includes a list of
<indeReports:receivedReport> objects, one for each
<indeReport:report> successfully received by TLN. Each
<indeReports:receivedReport> object includes the following child
elements:
o A <received> element to indicate the date and time in which the
report was received by TLN.
o A <indeReport:report> element as defined in Section 4.2.
4.6. <indeNotifications:notifications> Object
Interfaces that support monitoring and retrieving Data Escrow
Notifications received from Data Escrow Agents, provide a
<indeNotifications:notifications> object in the HTTP Entity-body
when a HTTP/200 code is sent by the interface.
The <indeNotifications:notifications> element includes a list of
<indeNotifications:receivedNotification> objects, one for each
<indeNotification:notification> successfully received by TLN. Each
<indeNotifications:receivedNotification> object includes the
following child elements:
o A <received> element to indicate the date and time in which the
notification was received by TLN.
o A <indeNotification:notification> element as defined in Section
4.3.
Wu, et al. Expires June 20, 2023 [Page 13]
Internet-Draft IIIN-Data-Escrow June 2023
5. Interfaces for Data Escrow Reporting
This section describes the interfaces provided by TLN to SLN and
Data Escrow Agents in order to fulfill the reporting requirements.
5.1. SLN Reporting
In order to satisfy the Section 3.7 requirement, the SLN sends to
TLN and Data Escrow Agent a <indeReport:report> object as defined
Section 4.2 for each deposit successfully sent to the Data Escrow
Agent, using the PUT HTTP verb in the interface provided by TLN at:
https://inde-api.caict.ac.cn/report/sln-escrow-report/<prefix>/<id>
where:
o <prefix> MUST be substituted by the SLN Prefix for which the
report is being provided.
o <id> MUST be substituted by the identifier assigned to this
report, which MUST be the same as the "id" attribute from the
<deposit>.
Note: the interface supports overwriting the information of a
particular report <id> to support asynchronous interfaces between
SLN and Data Escrow Agents.
Example of a <indeReport:report> object for a data escrow deposit
corresponding to a SLN Prefix repository:
<?xml version="1.0" encoding="UTF-8"?>
<indeReport:report
xmlns:indeReport="urn:ietf:params:xml:ns:indeReport-1.0"
xmlns:indeHeader="urn:ietf:params:xml:ns:indeHeader-1.0">
<indeReport:id>2020117001</indeReport:id>
<indeReport:version>1</indeReport:version>
<indeReport:indeSpecEscrow>
draft-industrial-internet-identifier-data-escrow-00
</indeReport:indeSpecEscrow>
Wu, et al. Expires June 20, 2023 [Page 14]
Internet-Draft IIIN-Data-Escrow June 2023
<indeReport:indeSpecMapping>
draft-second-level-node-objects-mapping-00
</indeReport:indeSpecMapping>
<indeReport:resend>0</indeReport:resend>
<indeReport:crDate>2020-01-17T00:15:00.0Z</indeReport:crDate>
<indeReport:kind>FULL</indeReport:kind>
<indeReport:watermark>2020-01-17T00:00:00Z
</indeReport:watermark>
<indeHeader:header>
<indeHeader:prefix>86.100</indeHeader:prefix>
<indeHeader:count uri="urn:ietf:params:xml:ns:indeNode-1.0">2
</indeHeader:count>
</indeHeader:header>
</indeReport:report>
5.2. Data Escrow Agent Reporting
This Specification requires Data Escrow Agents to deliver TLN and SLN
with a notification object every time a successfully processed deposit
is received from the SLN regardless of the final status of the
verification process.
In order to satisfy this requirement, the Data Escrow Agent sends to
TLN and SLN a <indeNotification:notification> object as defined in
Section 4.3, using the POST HTTP verb in the interface provided by TLN
at:
https://inde-api.caict.ac.cn/report/escrow-agent-notification/<prefix>
Where:
o <prefix> MUST be substituted by the SLN Prefix for which the
notification is being provided.
Wu, et al. Expires June 20, 2023 [Page 15]
Internet-Draft IIIN-Data-Escrow June 2023
If by 23:59:59 UTC, a deposit has not been successfully processed
regardless of the final status of the verification process, a
<indeNotification:notification> object with DRFN status MUST be send
to TLN and SLN.
Example of a <indeNotification:notification> object of a Data Escrow
Agent notification:
<?xml version="1.0" encoding="UTF-8"?>
<indeNotification:notification
xmlns:indeReport="urn:ietf:params:xml:ns:indeReport-1.0"
xmlns:indeHeader="urn:ietf:params:xml:ns:indeHeader-1.0">
<indeNotification:deaName>CAICT Data Escrow Agent.
</indeNotification:deaName>
<indeNotification:version>1</indeNotification:version>
<indeNotification:repDate>2020-01-17</indeNotification:repDate>
<indeNotification:status>DVPN</indeNotification:status>
<indeNotification:reDate>2020-01-17T00:15:00.0Z
</indeNotification:reDate>
<indeNotification:vaDate>2020-01-17T05:15:00.0Z
</indeNotification:vaDate>
<indeNotification:lastFullDate>2020-01-10
</indeNotification:lastFullDate>
<indeReport:report>
<indeReport:id>20200117001</indeReport:id>
<indeReport:version>1</indeReport:version>
<indeReport:indeSpecEscrow>
draft-industrial-internet-identifier-data-escrow-00
Wu, et al. Expires June 20, 2023 [Page 16]
Internet-Draft IIIN-Data-Escrow June 2023
</indeReport:indeSpecEscrow>
<indeReport:indeSpecMapping>
draft-second-level-node-objects-mapping-00
</indeReport:indeSpecMapping>
<indeReport:resend>0</indeReport:resend>
<indeReport:crDate>2020-01-17T00:15:00.0Z</indeReport:crDate>
<indeReport:kind>FULL</indeReport:kind>
<indeReport:watermark>2020-01-17T00:00:00Z
</indeReport:watermark>
<indeHeader:header>
<indeHeader:prefix>86.100</indeHeader:prefix>
<indeHeader:count uri="urn:ietf:params:xml:ns:indeNode-1.0">1
</indeHeader:count>
</indeHeader:header>
</indeReport:report>
</indeNotification:notification>
6. Technical details of the interfaces
Content-type value in the HTTP header:
The client MUST set "text/xml" in the HTTP header Content-type when
using the SLN Reporting and Data Escrow Agent Reporting interfaces.
The interfaces support HTTP streams only (HTTP multi-part forms are
not supported)
After successfully receiving an input in any of the interfaces, TLN
validates it and provides a <response> object with a result element
in the same HTTP transaction.
The following HTTP status codes are standard across all interfaces:
Wu, et al. Expires June 20, 2023 [Page 17]
Internet-Draft IIIN-Data-Escrow June 2023
o The interface provides a HTTP/200 status code and sets the HTTP
header Content-type: text/xml, if the interface was able to
receive the input successfully, the client MUST review the
response object to verify the result code after processing the
input.
o The interface provides a HTTP/400 status code and sets the HTTP
header Content-type: text/xml, if the input is incorrect or the
syntax of the input is invalid. A response object is included
with the input validation failure details.
o The interface provides a HTTP/401 status code and sets the HTTP
header Content-type: text/plain, if the credentials provided does
not authorize the SLN to upload a report for that <prefix>.
o The interface provides a HTTP/403 status code and sets the HTTP
header Content-type: text/plain, if the credentials provided are
valid but are being used to access a resource that permission is
not granted for or the connecting IP address is not whitelisted
for the <prefix>.
o The interface provides a HTTP/405 status code if the interface
does not support the request method.
o The interface provides a HTTP/500 status code and sets the HTTP
header Content-type: text/plain, if the system is experiencing a
general failure. The sending party is responsible to send the
input again.
o The interface provides a HTTP/501 status code and sets the HTTP
header Content-type: text/plain, if the functionality has not yet
been implemented.
After sending the response, the interfaces closes the TCP connection
6.1. Response Object
After processing the input provided in any of the interfaces, a
response object as defined in section 4.1 is provided in the HTTP
Entity-body when an HTTP/200 or HTTP/400 status code is sent by the
interface.
An example of a response object upon successful input receipt is
presented below:
HTTP/1.1 200 OK
Wu, et al. Expires June 20, 2023 [Page 18]
Internet-Draft IIIN-Data-Escrow June 2023
Content-Type: text/xml
Content-Length: 246
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response xmlns="urn:ietf:params:xml:ns:indea-1.0">
<result code="1000">
<msg>
No ERRORs were found and the report has been accepted by TLN.
</msg>
<description></description>
</result>
</response>
An example of a response object in the event of input error is
presented below:
HTTP/1.1 400 Bad Request
Content-Type: text/xml
Content-Length: 279
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response xmlns="urn:ietf:params:xml:ns:indea-1.0">
<result code="2001">
<msg>The structure of the report is invalid.</msg>
<description>
'XX' could not be parsed as a number (line: 2 column:3)
</description>
</result>
Wu, et al. Expires June 20, 2023 [Page 19]
Internet-Draft IIIN-Data-Escrow June 2023
</response>
The following sections provide the Result Codes per interface:
6.1.1. SLN Reporting
The following table lists the result codes of the interface:
Result Code Message
1000 No ERRORs were found and the report has been accepted
by TLN.
2001 The request did not validate against the schema.
2002 Report for a date in the future. The <crDate> and
<watermark> date should not be in the future.
2003 Version is not supported.
2004 The <id> in the <report> element and the <id> in the
URL path do not match.
2005 Interface is disabled for this SLN Prefix.
2006 The <crDate> and <watermark> date should not be before
the creation date of the prefix in the system.
2201 The <prefix> in the <header> and the SLN Prefix in the
URL path do not match.
2202 Report regarding a differential deposit received for a
Sunday (<watermark>).
2203 Missing required <prefix> element in the <header>.
2204 Multiple count elements with the same "uri" attribute
values provided in the <header>.
6.1.2. Data Escrow Agent Reporting
The following table lists the result codes of the interface:
Wu, et al. Expires June 20, 2023 [Page 20]
Internet-Draft IIIN-Data-Escrow June 2023
Result Code Message
1000 No ERRORs were found and the notification has been
accepted by TLN.
2001 The request did not validate against the schema.
2002 Notification for a date in the future. The <crDate>,
<watermark> and <repDate> date should not be in the
future.
2003 Version is not supported.
2004 A DVPN notification exists for that date (<repDate>).
2005 Interface is disabled for this SLN Prefix.
2006 The <crDate>, <watermark> and <repDate> date should
not be before the creation date of the SLN Prefix in
the system.
2007 The <repDate> and <watermark> in the notification do
not match.
2201 The <prefix> in the <header> and the SLN Prefix in the
URL path do not match.
2202 Notification regarding a differential deposit received
for a Sunday (<repDate>).
2203 Missing required <prefix> element in the <header>.
2204 Multiple count elements with the same "uri" attribute
values provided in the <header>.
2205 The notification for the report "id" already exists.
2206 A Deposit Verification Pass Notice (DVPN) notification
was received, but the Domain Name count is missing in
the <header>.
2207 A DVPN or DVFN was received, but the <report> element
is missing in the notification.
Wu, et al. Expires June 20, 2023 [Page 21]
Internet-Draft IIIN-Data-Escrow June 2023
2208 A DRFN was received, but a <report> element exists in
the notification.
7. Monitoring the reporting status
SLNs May monitor the status of the reports described in Chapter 3
using the following interfaces that supports the HEAD HTTP verb:
7.1. Monitoring the status of Repository Reports
SLNs May monitor the status of repository using the following
interface:
https://inde-api.caict.ac.cn/info/report/sln-escrow-
repository/<prefix>
where:
o <prefix> MUST be substituted by the SLN Prefix being queried.
Possible results are:
o The interface provides a HTTP/200 status code, if syntactically
valid data escrow reports was received for the queried prefix.
o The interface provides a HTTP/404 status code, if syntactically
valid data escrow reports has not been received for the queried
prefix.
7.2. Monitoring the status of Data Escrow Reports
SLNs May monitor the status of Data Escrow Reports using the
following interface:
https://inde-api.caict.ac.cn/info/report/sln-escrow-
report/<prefix>/<date>
where:
o <prefix> MUST be substituted by the SLN Prefix being queried.
o <date> MUST be substituted by the day being queried. For example:
2020-01-07
Wu, et al. Expires June 20, 2023 [Page 22]
Internet-Draft IIIN-Data-Escrow June 2023
Possible results are:
o The interface provides a HTTP/200 status code, if a syntactically
valid data escrow report was received for the queried date.
o The interface provides a HTTP/404 status code, if a syntactically
valid data escrow report has not been received for the queried
date.
7.3. Monitoring the status of Data Escrow Notifications
SLNs and Data Escrow Agents May monitor the status of Data Escrow
Notifications using the following interface:
https://inde-api.caict.ac.cn/info/report/escrow-agent-
notification/<prefix>/<date>
where:
o <prefix> MUST be substituted by the SLN Prefix being queried.
o <date> MUST be substituted by the day being queried. For example:
2020-01-07
Possible results are:
o The interface provides a HTTP/200 status code, if a syntactically
valid data escrow notification was received for the queried date.
o The interface provides a HTTP/404 status code, if a syntactically
valid data escrow notification has not been received for the
queried date.
8. Formal Syntax
The schema of the Result, Report, Notification, Summary, Reports,
and Notifications objects described in Chapter 4 are presented here.
The BEGIN and END tags are not part of the schema; they are used to
note the beginning and ending of the schema for URI registration
purposes.
8.1. Result Object
Copyright (c) 2019 IETF Trust and the persons identified as authors
of the code. All rights reserved.
Wu, et al. Expires June 20, 2023 [Page 23]
Internet-Draft IIIN-Data-Escrow June 2023
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:indea-1.0"
xmlns:indea="urn:ietf:params:xml:ns:indea-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<annotation>
<documentation>
TLN interfaces for SLNs and data escrow agents
Wu, et al. Expires June 20, 2023 [Page 24]
Internet-Draft IIIN-Data-Escrow June 2023
</documentation>
</annotation>
<element name="response" type="indea:responseType"/>
<element name="result" type="indea:resultType"/>
<complexType name="responseType">
<sequence>
<element ref="indea:result" />
</sequence>
</complexType>
<complexType name="resultType">
<sequence>
<element name="msg" type="token"/>
<element name="description" type="string"
minOccurs="0"/>
</sequence>
<attribute name="code" type="indea:codeType"
use="required"/>
<attribute name="count" type="unsignedInt"/>
</complexType>
<simpleType name="codeType">
<restriction base="unsignedShort">
<minInclusive value="1000"/>
<maxInclusive value="9999"/>
</restriction>
Wu, et al. Expires June 20, 2023 [Page 25]
Internet-Draft IIIN-Data-Escrow June 2023
</simpleType>
</schema>
END
8.2. Report Object
Copyright (c) 2019 IETF Trust and the persons identified as authors
of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:indeReport-1.0"
Wu, et al. Expires June 20, 2023 [Page 26]
Internet-Draft IIIN-Data-Escrow June 2023
xmlns:indeReport="urn:ietf:params:xml:ns:indeReport-1.0"
xmlns:indeHeader="urn:ietf:params:xml:ns:indeHeader-1.0"
xmlns:inde="urn:ietf:params:xml:ns:inde-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<import namespace="urn:ietf:params:xml:ns:indeHeader-1.0"/>
<import namespace="urn:ietf:params:xml:ns:inde-1.0"/>
<annotation>
<documentation>
Data Escrow Report schema
</documentation>
</annotation>
<element name="report" type="indeReport:reportType"/>
<complexType name="reportType">
<sequence>
<element name="id" type="inde:depositIdType"/>
<element name="version" type="unsignedShort"/>
<element name="indeSpecEscrow" type="token"/>
<element name="indeSpecMapping" type="token" minOccurs="0"/>
<element name="resend" type="unsignedShort"/>
<element name="crDate" type="dateTime"/>
<element name="kind" type="inde:depositTypeType"/>
<element name="watermark" type="dateTime"/>
<element ref="indeHeader:header"/>
Wu, et al. Expires June 20, 2023 [Page 27]
Internet-Draft IIIN-Data-Escrow June 2023
</sequence>
</complexType>
</schema>
END
8.3. Notification Object
Copyright (c) 2019 IETF Trust and the persons identified as authors
of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
Wu, et al. Expires June 20, 2023 [Page 28]
Internet-Draft IIIN-Data-Escrow June 2023
<schema targetNamespace="urn:ietf:params:xml:ns:indeNotification-
1.0"
xmlns:indeNotifaction="urn:ietf:params:xml:ns:indeNotification-
1.0"
xmlns:indeReport="urn:ietf:params:xml:ns:indeReport-1.0"
xmlns:indea="urn:ietf:params:xml:ns:indea-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<import namespace="urn:ietf:params:xml:ns:indeReport-1.0"/>
<import namespace="urn:ietf:params:xml:ns:indea-1.0"/>
<annotation>
<documentation> Data Escrow Notification schema
</documentation>
</annotation>
<element name="notification"
type="indeNotification:notificationType"/>
<complexType name="notificationType">
<sequence>
<element name="deaName" type="indeNotification:nameType"/>
<element name="version" type="unsignedShort"/>
<element name="repDate" type="date"/>
<element name="status" type="indeNotification:statusType"/>
<element name="results" type="indeNotification:resultsType"
minOccurs="0" />
<element name="reDate" type="dateTime" minOccurs="0"/>
Wu, et al. Expires June 20, 2023 [Page 29]
Internet-Draft IIIN-Data-Escrow June 2023
<element name="vaDate" type="dateTime" minOccurs="0"/>
<element name="lastFullDate" type="date" minOccurs="0"/>
<element ref="indeReport:report" minOccurs="0"/>
</sequence>
</complexType>
<simpleType name="nameType">
<restriction base="normalizedString">
<minLength value="1" />
<maxLength value="255" />
</restriction>
</simpleType>
<complexType name="resultsType">
<sequence>
<element ref="indea:result" maxOccurs="unbounded" />
</sequence>
</complexType>
<simpleType name="statusType">
<restriction base="token">
<enumeration value="DVPN"/>
<enumeration value="DVFN"/>
<enumeration value="DRFN"/>
</restriction>
</simpleType>
</schema>
Wu, et al. Expires June 20, 2023 [Page 30]
Internet-Draft IIIN-Data-Escrow June 2023
END
8.4. Summary Object
Copyright (c) 2019 IETF Trust and the persons identified as authors
of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:indeRReporting-
1.0"
xmlns:indeRReporting="urn:ietf:params:xml:ns:indeRReporting-
1.0"
Wu, et al. Expires June 20, 2023 [Page 31]
Internet-Draft IIIN-Data-Escrow June 2023
xmlns:indeHeader="urn:ietf:params:xml:ns:indeHeader-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<import namespace="urn:ietf:params:xml:ns:indeHeader-1.0" />
<element name="summary" type="indeRReporting:summaryType"/>
<complexType name="summaryType">
<sequence>
<group ref="indeHeader:repositoryTypeGroup"/>
<element name="creationDate" type="dateTime" />
<element name="depositSchedule"
type="indeRReporting:depositScheduleType" />
<element name="lastFullDate" type="date" minOccurs="0"/>
<element name="statusReports"
type="indeRReporting:statusReportsType" />
<element name="timestamp" type="dateTime" />
</sequence>
</complexType>
<simpleType name="depositScheduleType">
<restriction base="token">
<enumeration value="None" />
<enumeration value="Weekly" />
<enumeration value="Daily" />
</restriction>
</simpleType>
Wu, et al. Expires June 20, 2023 [Page 32]
Internet-Draft IIIN-Data-Escrow June 2023
<complexType name="statusReportsType">
<sequence>
<element name="statusReport"
type="indeRReporting:statusReportType"
maxOccurs="unbounded" />
</sequence>
</complexType>
<complexType name="statusReportType">
<sequence>
<element name="type"
type="indeRReporting:statusReportTypeType" />
<element name="enabled" type="boolean" />
<element name="status" type="indeRReporting:statusType" />
<element name="issues" type="indeRReporting:issuesType"
minOccurs="0" />
</sequence>
</complexType>
<simpleType name="statusReportTypeType">
<restriction base="token">
<enumeration value="DEA_Notification" />
<enumeration value="TLN_Notification" />
<enumeration value="SLN_Escrow_Report" />
</restriction>
</simpleType>
<simpleType name="statusType">
Wu, et al. Expires June 20, 2023 [Page 33]
Internet-Draft IIIN-Data-Escrow June 2023
<restriction base="token">
<enumeration value="ok" />
<enumeration value="unsatisfactory" />
</restriction>
</simpleType>
<complexType name="issuesType">
<sequence>
<element name="issue" type="indeRReporting:issueType"
maxOccurs="unbounded" />
</sequence>
</complexType>
<complexType name="issueType">
<attribute name="date" type="indeRReporting:issueDateType"
use="required" />
<attribute name="description"
type="rriReporting:descriptionType" use="required" />
</complexType>
<simpleType name="issueDateType">
<restriction base="token">
<pattern
value="\d{4}-(0[1-9]|1[012])(-(0[1-9]|[12][0-9]|3[01]))?" />
</restriction>
</simpleType>
<simpleType name="descriptionType">
<restriction base="token">
Wu, et al. Expires June 20, 2023 [Page 34]
Internet-Draft IIIN-Data-Escrow June 2023
<enumeration value="Missing_Deposit_Full" />
<enumeration value="Missing_Deposit_Diff" />
<enumeration value="Invalid_Deposit_Full" />
<enumeration value="Invalid_Deposit_Diff" />
<enumeration value="No_Report_Received" />
</restriction>
</simpleType>
</schema>
END
8.5. Reports Object
Copyright (c) 2019 IETF Trust and the persons identified as authors
of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
Wu, et al. Expires June 20, 2023 [Page 35]
Internet-Draft IIIN-Data-Escrow June 2023
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:indeReports-1.0"
xmlns:indeReport="urn:ietf:params:xml:ns:indeReport-1.0"
xmlns:indeReports="urn:ietf:params:xml:ns:indeReports-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<import namespace="urn:ietf:params:xml:ns:indeReport-1.0" />
<element name="reports" type="indeReports:reportsType"/>
<complexType name="reportsType">
<sequence>
<element name="receivedReport" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="received" type="dateTime" />
<element ref="indeReport:report" />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
Wu, et al. Expires June 20, 2023 [Page 36]
Internet-Draft IIIN-Data-Escrow June 2023
</schema>
END
8.6. Notifications Object
Copyright (c) 2019 IETF Trust and the persons identified as authors
of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:indeNotifications-
1.0"
Wu, et al. Expires June 20, 2023 [Page 37]
Internet-Draft IIIN-Data-Escrow June 2023
xmlns:indeNotifications="urn:ietf:params:xml:ns:indeNotifications-
1.0"
xmlns:indeNotification="urn:ietf:params:xml:ns:indeNotification-
1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<import namespace="urn:ietf:params:xml:ns:ideNotification-1.0"/>
<element name="notifications"
type="indeNotifications:notificationsType"/>
<complexType name="notificationsType">
<sequence>
<element name="receivedNotification" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="received" type="dateTime" />
<element ref="indeNotification:notification" />
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</schema>
END
Wu, et al. Expires June 20, 2023 [Page 38]
Internet-Draft IIIN-Data-Escrow June 2023
9. Internationalization Considerations
Data escrow deposits are represented in XML, which provides native
support for encoding information using the Unicode character set and
its more compact representations including UTF-8. Conformant XML
processors recognize both UTF-8 and UTF-16. Though XML includes
provisions to identify and use other character encodings through use
of an "encoding" attribute in an <?xml?> declaration, use of UTF-8
is RECOMMENDED.
10. Security Considerations
This specification does not define the security mechanisms to be
used in the transmission of the data escrow deposits, since it only
specifies the minimum necessary to enable the rebuilding of an IIIN
from deposits without intervention from the original IIIN.
Depending on local policies, some elements or most likely, the whole
deposit will be considered confidential. As such the IIIN
transmitting the data to the escrow agent SHOULD take all the
necessary precautions like encrypting the data itself and/or the
transport channel to avoid inadvertent disclosure of private data.
It is also of the utmost importance the authentication of the
parties passing data escrow deposit files. The escrow agent SHOULD
properly authenticate the identity of the IIIN before accepting data
escrow deposits. In a similar manner, the IIIN SHOULD authenticate
the identity of the escrow agent before submitting any data.
Additionally, the IIIN and the escrow agent SHOULD use integrity
checking mechanisms to ensure the data transmitted is what the
source intended. Validation of the contents by the escrow agent is
RECOMMENDED to ensure not only the file was transmitted correctly
from the IIIN, but also the contents are also "meaningful".
11. IANA Considerations
This document uses URNs to describe XML namespaces and XML schemas
conforming to a registry mechanism described in [RFC3688]. Twelve
URI assignments need to be registered by the IANA.
Registration request for the INDE namespace:
URI: urn:ietf:params:xml:ns:indea-1.0
URI: urn:ietf:params:xml:ns:indeReport-1.0
Wu, et al. Expires June 20, 2023 [Page 39]
Internet-Draft IIIN-Data-Escrow June 2023
URI: urn:ietf:params:xml:ns:indeNotification-1.0
URI: urn:ietf:params:xml:ns:indeRReport-1.0
URI: urn:ietf:params:xml:ns:indeReports-1.0
URI: urn:ietf:params:xml:ns:indeNotifications-1.0
Registrant Contact: See the "Author's Address" section of this
document.
XML: None. Namespace URIs do not represent an XML specification.
Registration request for the INDE XML schema:
URI: urn:ietf:params:xml:schema:indea-1.0
URI: urn:ietf:params:xml:schema:indeReport-1.0
URI: urn:ietf:params:xml:schema:indeNotification-1.0
URI: urn:ietf:params:xml:schema:indeRReport-1.0
URI: urn:ietf:params:xml:schema:indeReports-1.0
URI: urn:ietf:params:xml:schema:indeNotifications-1.0
Registrant Contact: See the "Author's Address" section of this
document.
XML: See the "Formal Syntax" section of this document.
12. Privacy Considerations
This specification defines a format that may be used to escrow
personal data. The process of data escrow is governed by a legal
document agreed by the parties, and such legal document must
regulate the particularities regarding the protection of personal
data.
13. References
13.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119,
Wu, et al. Expires June 20, 2023 [Page 40]
Internet-Draft IIIN-Data-Escrow June 2023
March 1997, <https://www.rfc-editor.org/info/rfc2119>.
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
<https://www.rfc-editor.org/info/rfc3339>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119
Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>.
[I-D.draft-second-level-node-objects-mapping] HongJie Wu, Jian Chen,
XiaoTian Fan, Meilan Chen, ZhiPing Li "Second-level Node (SLN) Data
Objects Mapping", draft-second-level-node-objects-mapping-00 (work in
progress).
[I-D.draft-industrial-internet-identifier-data-escrow] HongJie Wu,
Jian Chen, XiaoTian Fan, Meilan Chen, ZhiPing Li "Second-level Node
(SLN) Data Objects Mapping", draft-industrial-internet-identifier-data-
escrow-00 (work in progress).
14. Acknowledgments
This document reference draft [draft-ietf-regext-data-escrow-03],
thus, would like to thank the draft author G. Lozano. And would like
to thank X. Fan, J. Chen, C. Ma, M. Chen, Z. Li who provided special
important suggestions and invaluable comments. This document was
prepared using 2-Word-v2.0.template.dot.
Authors' Addresses
Hongjie Wu
CAICT
No.52 Huayuan North Road, Haidian District
Beijing, Beijing, 100191
China
Phone: +86 186 0106 5934
Email: wuhongjie@caict.ac.cn
Wu, et al. Expires June 20, 2023 [Page 41]
Internet-Draft IIIN-Data-Escrow June 2023
Jian Chen
CAICT
No.52 Huayuan North Road, Haidian District
Beijing, Beijing, 100191
China
Phone: +86 138 1103 3332
Email: chenjian3@caict.ac.cn
Xiaotian Fan
CAICT
No.52 Huayuan North Road, Haidian District
Beijing, Beijing, 100191
China
Phone: +86 134 0108 6945
Email: fanxiaotian@caict.ac.cn
Zhiping Li
CAICT
No.52 Huayuan North Road, Haidian District
Beijing, Beijing, 100191
China
Phone: +86 185 1107 1386
Email: lizhiping@caict.ac.cn
Jiagui Xie
CAICT
No.52 Huayuan North Road, Haidian District
Beijing, Beijing, 100191
China
Phone: +86 150 0138 5070
Email: xiejiagui@caict.ac.cn
Wu, et al. Expires June 20, 2023 [Page 42]