<?xml version='1.0'?>
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>
<rfc ipr="trust200902" docName="draft-hallambaker-mesh-reference-00" category="std">
<front>
<title abbrev="Mathematical Mesh CSP">Mathematical Mesh: Client-Service Profiles</title>
<author fullname="Phillip Hallam-Baker    " initials="P. M.    " surname="Hallam-Baker    ">
<organization>Comodo Group Inc.    </organization>
<address>
<email>philliph@comodo.com</email>
</address>
</author>
<date day="14" month="January" year="2016"/>
<area>Security</area>
<workgroup/>
<abstract>
<t>The Mathematical Mesh ?The Mesh? is an end-to-end secure infrastructure that facilitates the exchange of configuration and credential data between multiple user devices. The core protocols of the Mesh are described with examples of common use cases and reference data.</t>
</abstract>
</front>
<middle>
<section title="Introduction" anchor="Section_1">
<t>NB: The reference material in this document is generated from the schema used to derive the source code. The tool used to create this material has not been optimized to produce output for the IETF documentation format at this time. Consequently the formatting is currently sub-optimal.</t>
</section>
<section title="Definitions" anchor="Section_2">
<section title="Requirements Language" anchor="Section_2_1">
<t/>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].</t>
</section>
</section>
<section title="Use Scenarios" anchor="Section_3">
<section title="Create Profile" anchor="Section_3_1">
</section>
<section title="Connect Device" anchor="Section_3_2">
</section>
<section title="Add Application" anchor="Section_3_3">
</section>
<section title="Update Application" anchor="Section_3_4">
</section>
<section title="Delete Device" anchor="Section_3_5">
</section>
<section title="Key Recovery" anchor="Section_3_6">
</section>
</section>
<section title="Architecture" anchor="Section_4">
<section title="Data Model" anchor="Section_4_1">
<section title="First Class Object" anchor="Section_4_1_1">
</section>
<section title="Profile" anchor="Section_4_1_2">
<t>A profile is a first class object. It has a globally unique identifier that provides an unambiguous reference to the profile in any situation.</t>
</section>
<section title="Record" anchor="Section_4_1_3">
<t>A record describes the state of an object at the completion of a specific Transaction.</t>
</section>
<section title="Transaction" anchor="Section_4_1_4">
<t>A transaction is an event in which the state of an object changes. Every transaction has a globally unique transaction identifier. Transaction identifiers are issued in a monotonic sequence such that a transaction that completes at time t1 will always have a lower transaction identifier than one that begins at time t2 where t2 &gt; t1.</t>
</section>
</section>
<section title="Profile Types" anchor="Section_4_2">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Master Profile"> </t>
<t hangText="Personal Profile"> </t>
<t hangText="Application Profile"> </t>
<t hangText="Device Profile"> </t>
</list></t>
</list></t>
</section>
<section title="03627755Figure  SEQ Figure \* ARABIC 1: Relationship of Profile TypesFigure  SEQ Figure \* ARABIC 1: Relationship of Profile TypesMaster Profile" anchor="Section_4_3">
<t>The master profile contains the axioms of trust for a Mesh user.</t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier: ?Master? + UDF Fingerprint of the Master Signing Key"> </t>
<t hangText="Signature: Master Signing Key">The key used to sign the profile MUST be MasterSigningKey</t>
<t hangText="Property: Master Signing Key">The Master Signing key is the ultimate trust axiom for the Master Profile.</t>
<t hangText="Property: Master Escrow Keys"> </t>
<t hangText="Property: Online Signature Keys"> </t>
</list></t>
</list></t>
</section>
<section title="Personal Profile" anchor="Section_4_4">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier: UDF Fingerprint of the Master Signing Key"> </t>
<t hangText="Signature: Online Signature Key">The key used to sign the profile MUST be a member of MasterProfile/OnlineSignatureKeys</t>
<t hangText="Property: Master Profile">The Master Profile that this personal profile is an instance of.</t>
<t hangText="Property: Devices"> </t>
<t hangText="Property: Applications">A list of application profile entries specifying which application profiles are attached to the personal profile</t>
</list></t>
</list></t>
</section>
<section title="Device Profile" anchor="Section_4_5">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier: UDF Fingerprint of the Device Signing Key"> </t>
<t hangText="Signature: Device Signing Key">The key used to sign the profile MUST be MasterSigningKey</t>
<t hangText="Property: Device Signing Key">The Master Signing key is the ultimate trust axiom for the Master Profile.</t>
<t hangText="Property: Device Encryption Key"> </t>
<t hangText="Property: Device Authentication Key"> </t>
</list></t>
</list></t>
</section>
<section title="Application Profile" anchor="Section_4_6">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier: Randomly chosen"> </t>
<t hangText="Property: Encrypted Data"> </t>
</list></t>
</list></t>
</section>
</section>
<section title="MeshItem " anchor="Section_5">
<section title="MeshItem Transactions " anchor="Section_5_1">
</section>
<section title="MeshItem Messages " anchor="Section_5_2">
</section>
<section title="MeshItem Structures " anchor="Section_5_3">
<section title="Structure: Entry " anchor="Section_5_3_1">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
</section>
<section title="Structure: SignedProfile " anchor="Section_5_3_2">
<t>Contains a signed profile entry </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
<section title="Structure: SignedDeviceProfile " anchor="Section_5_3_3">
<t>Contains a signed device profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
<section title="Structure: SignedMasterProfile " anchor="Section_5_3_4">
<t>Contains a signed Personal master profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
<section title="Structure: SignedPersonalProfile " anchor="Section_5_3_5">
<t>Contains a signed Personal current profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
<section title="Structure: SignedApplicationProfile " anchor="Section_5_3_6">
<t>Contains a signed device profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
<section title="Structure: EncryptedProfile " anchor="Section_5_3_7">
<t>Contains an encrypted profile entry </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>The signed and encrypted profile </t>
</section>
<section title="Structure: Profile " anchor="Section_5_3_8">
<t>Parent class from which all profile types are derrived </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
</section>
<section title="Structure: MasterProfile " anchor="Section_5_3_9">
<t>Describes the long term parameters associated with a personal profile. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="MasterSignatureKey : ">PublicKey [0..1]  </t>
</list></t>
</list></t>
<t>The root of trust for the Personal PKI, the public key of the PMSK  is presented as a self-signed X.509v3 certificate with Certificate  Signing use enabled. The PMSK is used to sign certificates for the  PMEK, POSK and PKEK keys. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="MasterEscrowKeys : ">PublicKey [0..Many]  </t>
</list></t>
</list></t>
<t>A Personal Profile MAY contain one or more PMEK keys to enable escrow  of private keys used for stored data.  </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="OnlineSignatureKeys : ">PublicKey [0..Many]  </t>
</list></t>
</list></t>
<t>A Personal profile contains at least one POSK which is used to sign  device administration application profiles. </t>
</section>
<section title="Structure: PersonalProfile " anchor="Section_5_3_10">
<t>Describes the current applications and devices connected to a  personal master profile. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedMasterProfile : ">SignedMasterProfile [0..1]  </t>
</list></t>
</list></t>
<t>The corresponding master profile.  The profile MUST be signed by the PMSK. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Devices : ">SignedDeviceProfile [0..Many]  </t>
</list></t>
</list></t>
<t>The set of device profiles connected to the profile. The profile MUST be signed by the DSK in the profile. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Applications : ">ApplicationProfileEntry [0..Many]  </t>
</list></t>
</list></t>
<t>Application profiles connected to this profile. </t>
</section>
<section title="Structure: ApplicationProfileEntry " anchor="Section_5_3_11">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>The unique identifier of the application </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Type : ">String [0..1]  </t>
</list></t>
</list></t>
<t>The application type </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Friendly : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Optional friendly name identifying the application. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignID : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>List of devices authorized to sign application profiles </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DecryptID : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>List of devices authorized to read private parts of application  profiles	 </t>
</section>
<section title="Structure: DeviceProfile " anchor="Section_5_3_12">
<t>Describes a mesh device. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Description : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Description of the device </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DeviceSignatureKey : ">PublicKey [0..1]  </t>
</list></t>
</list></t>
<t>Key used to sign certificates for the DAK and DEK. The fingerprint of the DSK is the UniqueID of the Device Profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DeviceAuthenticationKey : ">PublicKey [0..1]  </t>
</list></t>
</list></t>
<t>Key used to authenticate requests made by the device. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DeviceEncryptiontionKey : ">PublicKey [0..1]  </t>
</list></t>
</list></t>
<t>Key used to pass encrypted data to the device such as a DeviceUseEntry </t>
</section>
<section title="Structure: DevicePrivateProfile " anchor="Section_5_3_13">
<t>Private portion of device encryption profile.  </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DeviceSignatureKey : ">Key [0..1]  </t>
</list></t>
</list></t>
<t>Private portion of the DeviceSignatureKey </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DeviceAuthenticationKey : ">Key [0..1]  </t>
</list></t>
</list></t>
<t>Private portion of the DeviceAuthenticationKey </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DeviceEncryptiontionKey : ">Key [0..1]  </t>
</list></t>
</list></t>
<t>Private portion of the DeviceEncryptiontionKey </t>
</section>
<section title="Structure: ApplicationProfile " anchor="Section_5_3_14">
<t>Parent class from which all application profiles inherit. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>Encrypted application data	 </t>
</section>
<section title="Structure: PasswordProfile " anchor="Section_5_3_15">
<t>Stores usernames and passwords </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>Encrypted application data	 </t>
</section>
<section title="Structure: PasswordProfilePrivate " anchor="Section_5_3_16">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Entries : ">PasswordEntry [0..Many]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: PasswordEntry " anchor="Section_5_3_17">
<t>Username password entry for a single site </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Sites : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>DNS name of site *.example.com matches www.example.com etc. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Username : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Case sensitive username </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Password : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Case sensitive password. </t>
</section>
<section title="Structure: MailProfile " anchor="Section_5_3_18">
<t>Public profile describes mail receipt policy. Private describes Sending policy </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>Encrypted application data	 </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptionPGP : ">PublicKey [0..1]  </t>
</list></t>
</list></t>
<t>The current OpenPGP encryption key </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptionSMIME : ">PublicKey [0..1]  </t>
</list></t>
</list></t>
<t>The current S/MIME encryption key </t>
</section>
<section title="Structure: MailProfilePrivate " anchor="Section_5_3_19">
<t>Describes a mail account configuration </t>
<t>Private profile contains connection settings for the inbound and outbound mail server(s) and cryptographic private keys. Public profile may contain security policy information for the sender. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EmailAddress : ">String [0..1]  </t>
</list></t>
</list></t>
<t>The RFC822 Email address. [e.g. "alice@example.com"] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="ReplyToAddress : ">String [0..1]  </t>
</list></t>
</list></t>
<t>The RFC822 Reply toEmail address. [e.g. "alice@example.com"] </t>
<t>When set, allows a sender to tell the receiver that replies to this account should be directed to this address. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DisplayName : ">String [0..1]  </t>
</list></t>
</list></t>
<t>The Display Name. [e.g. "Alice Example"] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="AccountName : ">String [0..1]  </t>
</list></t>
</list></t>
<t>The Account Name for display to the app user [e.g. "Work Account"] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Inbound : ">Connection [0..Many]  </t>
</list></t>
</list></t>
<t>The Inbound Mail Connection(s). This is typically IMAP4 or POP3 </t>
<t>If multiple connections are specified, the order in the sequence indicates the preference order. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Outbound : ">Connection [0..Many]  </t>
</list></t>
</list></t>
<t>The Outbound Mail Connection(s). This is typically SMTP/SUBMIT </t>
<t>If multiple connections are specified, the order in the sequence indicates the preference order. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Sign : ">PublicKey [0..Many]  </t>
</list></t>
</list></t>
<t>The public keypair(s) for signing and decrypting email. </t>
<t>If multiple public keys are specified, the order indicates preference. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Encrypt : ">PublicKey [0..Many]  </t>
</list></t>
</list></t>
<t>The public keypairs for encrypting and decrypting email. </t>
<t>If multiple public keys are specified, the order indicates preference.	 </t>
</section>
<section title="Structure: NetworkProfile " anchor="Section_5_3_20">
<t>Describes the network profile to follow </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Names : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Fingerprints of index terms for profile retrieval. The use of the fingerprint of the name rather than the name itself is a precaution against enumeration attacks and other forms of abuse. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Updated : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>The time instant the profile was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotaryToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A Uniform Notary Token providing evidence that a signature was performed after the notary token was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>Encrypted application data	 </t>
</section>
<section title="Structure: NetworkProfilePrivate " anchor="Section_5_3_21">
<t>Describes the network profile to follow </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Sites : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>DNS name of sites to which profile applies *.example.com matches www.example.com etc.	 </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DNS : ">Connection [0..Many]  </t>
</list></t>
</list></t>
<t>DNS Resolution Services </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Prefix : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>DNS prefixes to search </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="CTL : ">Binary [0..1]  </t>
</list></t>
</list></t>
<t>Certificate Trust List giving WebPKI roots to trust </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="WebPKI : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>List of UDF fingerprints of keys making up the trust roots to be accepted for Web PKI purposes. </t>
</section>
<section title="Structure: EscrowEntry " anchor="Section_5_3_22">
<t>Contains escrowed data </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: OfflineEscrowEntry " anchor="Section_5_3_23">
<t>Contains data escrowed using the offline escrow mechanism. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: OnlineEscrowEntry " anchor="Section_5_3_24">
<t>Contains data escrowed using the online escrow mechanism. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="EncryptedData : ">JoseWebEncryption [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: EscrowedKeySet " anchor="Section_5_3_25">
<t>A set of escrowed keys. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="PrivateKeys : ">Key [0..Many]  </t>
</list></t>
</list></t>
<t>The escrowed keys. </t>
</section>
<section title="Structure: Connection " anchor="Section_5_3_26">
<t>Describes network connection parameters for an application </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="ServiceName : ">String [0..1]  </t>
</list></t>
</list></t>
<t>DNS address of the server </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Port : ">Integer [0..1]  </t>
</list></t>
</list></t>
<t>TCP/UDP Port number </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Prefix : ">String [0..1]  </t>
</list></t>
</list></t>
<t>DNS service prefix as described in [RFC6335] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Security : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>Describes the security mode to use. Valid choices are Direct/Upgrade/None </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="UserName : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Username to present to the service for authentication </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Password : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Password to present to the service for authentication </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="URI : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Service connection parameters in URI format </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Authentication : ">String [0..1]  </t>
</list></t>
</list></t>
<t>List of the supported/acceptable authentication mechanisms, preferred mechanism first. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="TimeOut : ">Integer [0..1]  </t>
</list></t>
</list></t>
<t>Service timeout in seconds. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Polling : ">Boolean [0..1]  </t>
</list></t>
</list></t>
<t>If set, the client should poll the specified service intermittently for updates. </t>
</section>
<section title="Structure: EncryptedData " anchor="Section_5_3_27">
<t>Container for JOSE encrypted data and related attributes. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Data : ">Binary [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: SignedData " anchor="Section_5_3_28">
<t>Container for JOSE signed data and related attributes. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Data : ">Binary [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: PublicKey " anchor="Section_5_3_29">
<t>Container for public key pair data </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="UDF : ">String [0..1]  </t>
</list></t>
</list></t>
<t>UDF fingerprint of the key </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="X509Certificate : ">Binary [0..1]  </t>
</list></t>
</list></t>
<t>List of X.509 Certificates </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="X509Chain : ">Binary [0..Many]  </t>
</list></t>
</list></t>
<t>X.509 Certificate chain. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="X509CSR : ">Binary [0..1]  </t>
</list></t>
</list></t>
<t>X.509 Certificate Signing Request. </t>
</section>
<section title="Structure: ConnectionRequest " anchor="Section_5_3_30">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="ParentUDF : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Device : ">SignedDeviceProfile [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="BlockToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: ConnectionResult " anchor="Section_5_3_31">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="ParentUDF : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Device : ">SignedDeviceProfile [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="BlockToken : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Result : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: SignedConnectionRequest " anchor="Section_5_3_32">
<t>Contains a signed connection request </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
<section title="Structure: SignedConnectionResult " anchor="Section_5_3_33">
<t>Contains a signed connection request </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Globally unique identifier that remains constant for the lifetime of the  entry. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedData : ">JoseWebSignature [0..1]  </t>
</list></t>
</list></t>
<t>The signed profile </t>
</section>
</section>
</section>
<section title="MeshProtocol " anchor="Section_6">
<section title="MeshProtocol Transactions " anchor="Section_6_1">
<section title="Transaction: Hello " anchor="Section_6_1_1">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: HelloRequest </t>
<t>Response: HelloResponse </t>
</list></t>
</list></t>
<t>Report service and version information.  </t>
<t>The Hello transaction provides a means of determining which protocol versions, message encodings and transport protocols are supported by the service. </t>
</section>
<section title="Transaction: ValidateAccount " anchor="Section_6_1_2">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: ValidateRequest </t>
<t>Response: ValidateResponse </t>
</list></t>
</list></t>
<t>Request validation of a proposed name for a new account. </t>
<t>For validation of a user's account name during profile creation. </t>
</section>
<section title="Transaction: CreateAccount " anchor="Section_6_1_3">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: CreateRequest </t>
<t>Response: CreateResponse </t>
</list></t>
</list></t>
<t>Request creation of a new mesh account. </t>
<t>Unlike a profile, a mesh account is specific to a particular  Mesh portal. A mesh account must be created and accepted before a profile can be published. </t>
</section>
<section title="Transaction: Publish " anchor="Section_6_1_4">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: PublishRequest </t>
<t>Response: PublishResponse </t>
</list></t>
</list></t>
<t>Publish a profile or key escrow entry to the mesh. </t>
</section>
<section title="Transaction: Get " anchor="Section_6_1_5">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: GetRequest </t>
<t>Response: GetResponse </t>
</list></t>
</list></t>
<t>Search for data in the mesh that matches a set of keys. </t>
</section>
<section title="Transaction: GetRecords " anchor="Section_6_1_6">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: GetRequest </t>
<t>Response: GetRecordsResponse </t>
</list></t>
</list></t>
</section>
<section title="Transaction: Transfer " anchor="Section_6_1_7">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: TransferRequest </t>
<t>Response: TransferResponse </t>
</list></t>
</list></t>
<t>Request a bulk transfer of the log between the specified transaction identifiers. Requires appropriate authorization </t>
<t>[Not currently implemented] </t>
</section>
<section title="Transaction: Status " anchor="Section_6_1_8">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: StatusRequest </t>
<t>Response: StatusResponse </t>
</list></t>
</list></t>
<t>Request the current status of the mesh as seen by the portal to which it is directed. </t>
<t>The response to the status request contains the last signed checkpoint and proof chains for each of the peer portals that have been checkpointed. </t>
<t>[Not currently implemented] </t>
</section>
<section title="Transaction: ConnectStart " anchor="Section_6_1_9">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: ConnectStartRequest </t>
<t>Response: ConnectStartResponse </t>
</list></t>
</list></t>
<t>Request connection of a new device to a mesh profile </t>
</section>
<section title="Transaction: ConnectStatus " anchor="Section_6_1_10">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: ConnectStatusRequest </t>
<t>Response: ConnectStatusResponse </t>
</list></t>
</list></t>
<t>Request status of pending connection request of a new device  to a mesh profile </t>
</section>
<section title="Transaction: ConnectPending " anchor="Section_6_1_11">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: ConnectPendingRequest </t>
<t>Response: ConnectPendingResponse </t>
</list></t>
</list></t>
<t>Request status of pending connection request of a new device  to a mesh profile </t>
</section>
<section title="Transaction: ConnectComplete " anchor="Section_6_1_12">
<t><list style="symbols">
<t><list style="symbols">
<t>Request: ConnectCompleteRequest </t>
<t>Response: ConnectCompleteResponse </t>
</list></t>
</list></t>
<t>Request status of pending connection request of a new device  to a mesh profile </t>
</section>
</section>
<section title="MeshProtocol Messages " anchor="Section_6_2">
<section title="Message: MeshRequest " anchor="Section_6_2_1">
<t>[None] </t>
</section>
<section title="Message: MeshResponse " anchor="Section_6_2_2">
<t>[None] </t>
</section>
<section title="Message: HelloRequest " anchor="Section_6_2_3">
<t>[None] </t>
</section>
<section title="Message: HelloResponse " anchor="Section_6_2_4">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Version : ">Version [0..1]  </t>
</list></t>
</list></t>
<t>Enumerates the protocol versions supported </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Alternates : ">Version [0..Many]  </t>
</list></t>
</list></t>
<t>Enumerates alternate protocol version(s) supported </t>
</section>
<section title="Message: ValidateRequest " anchor="Section_6_2_5">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Account : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Account name requested </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Reserve : ">Boolean [0..1]  </t>
</list></t>
</list></t>
<t>If true, request a reservation for the specified account name. Note that the service is not obliged to honor reservation  requests. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Language : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>List of ISO language codes in order of preference. For creating explanatory text. </t>
</section>
<section title="Message: ValidateResponse " anchor="Section_6_2_6">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Valid : ">Boolean [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Minimum : ">Integer [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="InvalidCharacters : ">String [0..1]  </t>
</list></t>
</list></t>
<t>A list of characters from the requested account that the service  does not accept in account names. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Reason : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Text explaining the reason an account name was rejected. </t>
</section>
<section title="Message: CreateRequest " anchor="Section_6_2_7">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Account : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Account name requested </t>
</section>
<section title="Message: CreateResponse " anchor="Section_6_2_8">
<t>[None] </t>
</section>
<section title="Message: PublishRequest " anchor="Section_6_2_9">
<t>[None] </t>
</section>
<section title="Message: PublishResponse " anchor="Section_6_2_10">
<t>[None] </t>
</section>
<section title="Message: GetRequest " anchor="Section_6_2_11">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Identifier : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Lookup by profile ID </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Account : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Lookup by Account ID </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="KeyValues : ">KeyValue [0..Many]  </t>
</list></t>
</list></t>
<t>List of KeyValue pairs specifying the conditions to be met </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotBefore : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotOnOrAfter : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Multiple : ">Boolean [0..1]  </t>
</list></t>
</list></t>
<t>If true return multiple responses if available </t>
</section>
<section title="Message: GetResponse " anchor="Section_6_2_12">
<t>[None] </t>
</section>
<section title="Message: GetRecordsResponse " anchor="Section_6_2_13">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="DataItems : ">DataItem [0..Many]  </t>
</list></t>
</list></t>
<t>List of mesh data records matching the request. </t>
</section>
<section title="Message: TransferRequest " anchor="Section_6_2_14">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NotBefore : ">DateTime [0..1]  </t>
<t hangText="Until : ">DateTime [0..1]  </t>
<t hangText="After : ">String [0..1]  </t>
<t hangText="MaxEntries : ">Integer [0..1]  </t>
<t hangText="MaxBytes : ">Integer [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: TransferResponse " anchor="Section_6_2_15">
<t>[None] </t>
</section>
<section title="Message: StatusRequest " anchor="Section_6_2_16">
<t>[None] </t>
</section>
<section title="Message: StatusResponse " anchor="Section_6_2_17">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="LastWriteTime : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time that the last write update was made to the Mesh </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="LastCheckpointTime : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time that the last Mesh checkpoint was calculated. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="NextCheckpointTime : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time at which the next Mesh checkpoint should be calculated. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="CheckpointValue : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Last checkpoint value. </t>
</section>
<section title="Message: ConnectStartRequest " anchor="Section_6_2_18">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedRequest : ">SignedConnectionRequest [0..1]  </t>
<t hangText="AccountID : ">String [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectStartResponse " anchor="Section_6_2_19">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="SignedConnectionResult : ">String [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectStatusRequest " anchor="Section_6_2_20">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="AccountID : ">String [0..1]  </t>
<t hangText="DeviceID : ">String [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectStatusResponse " anchor="Section_6_2_21">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Result : ">SignedConnectionResult [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectPendingRequest " anchor="Section_6_2_22">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="AccountID : ">String [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectPendingResponse " anchor="Section_6_2_23">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Pending : ">SignedConnectionRequest [0..Many]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectCompleteRequest " anchor="Section_6_2_24">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Result : ">SignedConnectionResult [0..1]  </t>
<t hangText="AccountID : ">String [0..1]  </t>
</list></t>
</list></t>
</section>
<section title="Message: ConnectCompleteResponse " anchor="Section_6_2_25">
<t>[None] </t>
</section>
</section>
<section title="MeshProtocol Structures " anchor="Section_6_3">
<section title="Structure: Version " anchor="Section_6_3_1">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Major : ">Integer [0..1]  </t>
</list></t>
</list></t>
<t>Major version number of the service protocol. A higher </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Minor : ">Integer [0..1]  </t>
</list></t>
</list></t>
<t>Minor version number of the service protocol. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Encodings : ">Encoding [0..Many]  </t>
</list></t>
</list></t>
<t>Enumerates alternative encodings (e.g. ASN.1, XML, JSON-B) if supported by the server </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="URI : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>The preferred URI for this service. This MAY be used to effect a redirect in the case that a service moves. </t>
</section>
<section title="Structure: Encoding " anchor="Section_6_3_2">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="ID : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>The IANA encoding name </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Dictionary : ">String [0..Many]  </t>
</list></t>
</list></t>
<t>For encodings that employ a named dictionary for tag or data compression, the name of the dictionary as defined by that  encoding scheme.  </t>
</section>
<section title="Structure: KeyValue " anchor="Section_6_3_3">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Key : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Value : ">String [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
</section>
</section>
<section title="Portal " anchor="Section_7">
<section title="Portal Transactions " anchor="Section_7_1">
</section>
<section title="Portal Messages " anchor="Section_7_2">
</section>
<section title="Portal Structures " anchor="Section_7_3">
<section title="Structure: PortalEntry " anchor="Section_7_3_1">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Created : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Modified : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was last modified. </t>
</section>
<section title="Structure: Account " anchor="Section_7_3_2">
<t>Entry containing the  UniqueID is Account[Name]-[Portal] Indexed by [Name], [UserProfileUDF] [Most recent open] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Created : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Modified : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="AccountID : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Assigned account identifier, e.g. 'alice@example.com'. Account names are  not case sensitive. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="UserProfileUDF : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Fingerprint of associated user profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Status : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Status of the account, valid values are 'Open', 'Closed', 'Suspended' </t>
</section>
<section title="Structure: AccountProfile " anchor="Section_7_3_3">
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Created : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Modified : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="AccountID : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Assigned account identifier, e.g. 'alice@example.com'. Account names are  not case sensitive. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="UserProfileUDF : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Fingerprint of associated user profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Status : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Status of the account, valid values are 'Open', 'Closed', 'Suspended' </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Profile : ">SignedPersonalProfile [0..1]  </t>
</list></t>
</list></t>
<t>[TBS] </t>
</section>
<section title="Structure: ConnectionsPending " anchor="Section_7_3_4">
<t>Object containing the list of currently pending device connection requests for the specified account.  Unique-ID is ConnectionsPending-[UserProfileUDF] </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Created : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was created. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Modified : ">DateTime [0..1]  </t>
</list></t>
</list></t>
<t>Time the pending item was last modified. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="AccountID : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Assigned account identifier, e.g. 'alice@example.com'. Account names are  not case sensitive. </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="UserProfileUDF : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Fingerprint of associated user profile </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Status : ">String [0..1]  </t>
</list></t>
</list></t>
<t>Status of the account, valid values are 'Open', 'Closed', 'Suspended' </t>
<t><list style="hanging">
<t><list style="hanging">
<t hangText="Requests : ">SignedConnectionRequest [0..Many]  </t>
</list></t>
</list></t>
<t>List of pending requests </t>
</section>
</section>
</section>
<section title="Security Considerations" anchor="Section_8">
<t>TBS</t>
<section title="Confidentiality" anchor="Section_8_1">
</section>
<section title="Integrity" anchor="Section_8_2">
</section>
<section title="Service" anchor="Section_8_3">
<t/>
</section>
</section>
<section title="IANA Considerations" anchor="Section_9">
<t>All the IANA considerations for the Mesh documents are specified in this document</t>
</section>
<section title="Acknowledgements" anchor="Section_10">
<t/>
</section>
</middle>
<back>
<references title="Normative References">
<reference anchor="RFC2119">
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname="S. Bradner" initials="S." surname="Bradner">
<organization/>
<address>
</address>
</author>
<date month="March" year="1997"/>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="2119"/>
<seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC6335">
<front>
<title>Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry</title>
<author fullname="M. Cotton" initials="M." surname="Cotton">
<organization/>
<address>
</address>
</author>
<author fullname="L. Eggert" initials="L." surname="Eggert">
<organization/>
<address>
</address>
</author>
<author fullname="J. Touch" initials="J." surname="Touch">
<organization/>
<address>
</address>
</author>
<author fullname="M. Westerlund" initials="M." surname="Westerlund">
<organization/>
<address>
</address>
</author>
<author fullname="S. Cheshire" initials="S." surname="Cheshire">
<organization/>
<address>
</address>
</author>
<date month="August" year="2011"/>
</front>
<seriesInfo name="BCP" value="165"/>
<seriesInfo name="RFC" value="6335"/>
<seriesInfo name="DOI" value="10.17487/RFC6335"/>
</reference>
</references>
</back>
</rfc>
