Kantara Initiative

OTTO Vocabulary 1.0

Version:1.0
 
Date:2017-4-12
 
Editor:Michael Schwartz, Gluu
 
Authors:Janusz Ulanowski,, HEAnet
Judith Bush, OCLC

Abstract

This specification describes a method for packaging information about multi-party federations, and establishing mechanisms for its validation. It includes term definitions which appear in the current JSON-LD context for the OTTO 1.0 specification.

Status of This Document

This document is a draft technical specification produced by the OTTO Work Group. See the Kantara Initiative Operating Procedures for more information.

Copyright Notice

Copyright © 2017 Kantara Initiative and the persons identified as the document authors. All rights reserved.

This document is subject to the Kantara IPR Policy - Option Patent & Copyright: Reciprocal Royalty Free with Opt-Out to Reasonable And Non discriminatory (RAND) (HTML version).


Table of Contents


1. Introduction

The Open Trust Taxonomy for Federation Operators (OTTO) defines standards to enable the interoperable management of multi-party federations--where a central authority creates the rules for membership, enabling the participants to more efficiently collaborate. The goal of OTTO is to support a range of trust models from very low to very high. By providing a common set of API's and a data model, the OTTO standard provides a scalable technical infrastructure to solve organizational challenges in a number of different ecosystems.

OTTO federation metadata is expressed in JSON-LD to take advantage of its features for extensibility, interconnection, and internationalization. This specification defines the terms which appear in the OTTO JSON-LD context.

The OTTO vocabulary defines several data classes used to express the organizations, services and technical components of a multi-party federation. There are three core classes: Federation, Participant, and Entity. Each class is a collection of properties and values, and each defines which are mandatory and optional, as well as the restrictions for the values of properties. If properties are included in OTTO federation JSON that cannot be mapped to the JSON-LD terms defined in the object's @context, they are not considered part of the OTTO metadata's meaning.

1.1 Extensions

Other organizations may publish additional properties beyond those defined here. Extensions allow the community to declare how they are adding information so that it can be understood and other issuers can add the same sore of information in a compatible way.

Extension authors define and host a new JSON-LD context file describing all the terms the extension covers. These context files may further define any JSON-schema that implementations of the extension should pass. If used, each schema is linked from the context and hosted as a seperate JSON-schema files.

1.2 Notational 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 [RFC2119].

Unless otherwise noted, all protocol properties and values are case sensitive. Fields marked in strong letters are mandatory.


2. Vocabulary

2.1 Registration Authority

Table 1: Registration Authority
PropertyExpected TypeDescription
@idIRIUnique IRI for the RA
nameTextA human friendly name for the RA
urlURLThe public, human readible website for the RA
descriptionTextOptional information about the RA
federation_endpointURLThe base URL for the RA
participant_endpointURLThe base URL for the RA
entity_endpointURLThe base URL for the RA
registersInstance or array of Federation, Entity, Participant, Metadata, or Requirement.A Federation or an array of Federations hosted by the RA

2.2 Federation

Table 2: Federation
PropertyExpected TypeDescription
@idIRIUnique IRI for the Federation
nameTextA human friendly name for the Federation
descriptionTextOptional information about the RA
urlURLThe public, human readible website for the Federation
operatesEntity or array of EntityA service operated by the Federation
metadataMetadata or array of MetadataThe metadata (including public signing key) for this Federation
supportsSchema or array of SchemaWhat schema is supported by this Federation
registeredByRegistrationAuthorityThe RA where the federation is hosted
memberarray of ParticipantsList of organizational members of the Federation
federatesarray of EntityList of services registered to the federation by Participants
sponsorAn Organization or array of OrganizationThe organization legally responsible for management of the Federation
technicalContactPerson or array of PersonPerson(s) responsible for registering and maintaining the policies and technical data related to the organization's participation in the Federation
adminContactPerson or array of PersonPerson responsible for all decisions and delegations of authority for the Federation
securityContactPerson or array of PersonPerson(s) to contact in the event of an urgent security issue
dataProtectionCodeOfConductURLThe provisions regarding handling of personal information by the Federation Participants
federationAgreementURLThe rights and responsibilities of the Participant
federationPolicyURLOperational practices and technical details for participation in the Federation.
trustMarkDefinitionSupportedinstance or array of TrustMarkDefinition or URLWhat kinds of Trustmarks are supported by the federation
badgeSupportedinstance or array of BadgeClass or IRIWhat kinds of Badges are supported by the federation

2.3 Participant

Table 3: Participant
PropertyExpected TypeDescription
@idIRIUnique IRI for the Participant
nameTextA human friendly name for the Participant
urlURLThe public website for the Participant
descriptionTextOptional information about the Participant
memberOfFederation or array of FederationA federation to which this Participant is a member
operatesEntityA service operated by the Participant
registeredByRegistrationAuthorityThe RA where the Participant is registered
technicalContactPerson or array of PersonPerson(s) responsible for registering and maintaining the policies and technical data related to the Federation
executiveContactPerson or array of PersonPerson responsible for all decisions and delegations of authority for the Participant
securityContactPerson or array of PersonPerson(s) to contact in the event of an urgent security issue
privacyStatementURLLink to privacy information
trustMarkAssertedinstance or array of Trustmark or URLLink to TrustMarks the Participant claims
badgeSupportedinstance or array of BadgeClass or IRIWhat Badges the Participant issues

2.4 Entity

Table 4: Entity
PropertyExpected TypeDescription
@idIRIUnique IRI for the Entity issued by the RA
nameTextA human friendly name for the Entity
operatedByFederation or ParticipantThe organization that is responsible for this Entity
urlURLThe public, human readible website for the Entity
descriptionTextOptional information about the Entity
registeredByRegistrationAuthorityThe RA which registered this entity
federatedByFederation or array of FederationThe federation to which this entity is affiliated
metadataMetadataThe metadata for this Entity
categoryCategory or array of CategoryUsed for assignment of standard Category defined in extension
supportsSchema or array of SchemaWhat schema is supported by this Entity
operatesThing or array of ThingTechnical resource operated by the Entity

2.5 Metadata

Table 5: Metadata
PropertyExpected TypeDescription
@idIRIUnique IRI for the Entity
categoryCategoryEnables extensions to define standard categories for searching
metadataFormatTextThe serialization type of the metadata
expirationdateTimeThe date at which this metadata is no longer valid

2.6 Schema

Table 6: Schema
PropertyExpected TypeDescription
@idIRIUnique IRI for the Requirement
nameText or IRIIdentifier for this schema item
categoryCategoryExtensions defined in extensions like "attribute" or "scope"
descriptionTextHuman understandible explanation of this term.
requiredBooleanWhether this schema element is required
urlURLURL with more information about this schema
supportedByinstance or array of Federation or EntityWhich federations support this schema
sameAsURL or array of URLLink to another similiar schema class

3. Acknowledgments

The following people made significant text contributions to the specification:

Additional contributors to this specification include the Kantara OTTO Work Group participants, a list of whom can be found at [OttoWgParticipants].


4. References

4.1 Normative References

[RFC2119]Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

4.2 Informative References

[OttoWgParticipants]Schwartz, M., “OTTO Participant Roster”, 2016, <http://kantarainitiative.org/confluence/display/OTTO/Participant+roster>.

Authors' Addresses

Michael Schwartz (editor)
Gluu
EMail: mike@gluu.org

Janusz Ulanowski,
HEAnet
EMail: janusz.ulanowski@heanet.ie

Judith Bush
OCLC
EMail: bushj@oclc.org