| 1. Definition | 2. Functional Requirements | 3. Syntax | 4. Semantics |
1 Definition
A structured set of metadata and cryptographic parameters that ensures the identity, secure transmission, integrity, encryption and timestamps of Data exchanged between AIF components (AIWs or AIMs).
2 Functional Requirements
2.1 General
The Security data type SHALL provide security‑related metadata associated with a Data Exchange between AIF components.
The Security object SHALL:
- Bind security information to a Data Exchange
- Support identity, transmission description, integrity protection, and optional security evidence
- Be extensible only through explicitly defined properties
The root Security object SHALL reject any property not defined in the schema
(additionalProperties = false).
2.2 Required Structure
The Security object SHALL include the following mandatory properties:
- Header
- Identity
- Transmission
- Integrity
All other properties are optional and SHALL be interpreted only if present.
2.3 Header – Functional Requirements
The Header SHALL:
- Be a string identifying the Security object version
- Match the pattern ^AIF-SEC-Vx.y
2.4 Identity – Functional Requirements
The Identity object SHALL describe the identity context of the entity involved in the secured Data Exchange.
The Identity object SHALL:
- Require:
- Issuer
- MAY include:
- Source
- CredentialType
- CredentialRef
The Identity object SHALL reject undefined properties
(additionalProperties = false).
2.4.1 Issuer
Issuer SHALL be a URI identifying the authority or system that issued the identity credential.
2.4.2 Source
Source MAY describe the originator of the secured communication.
Each element of Source SHALL be one of:
- A reference to AIMInstance.json, or
- A URI identifying an entity or process
2.4.3 CredentialType
CredentialType SHALL identify the type of identity credential and SHALL use values defined in SecurityTaxonomy.json#/Identity.
2.4.4 CredentialRef
CredentialRef MAY be a URI referencing credential material associated with the identity.
2.5 Transmission – Functional Requirements
The Transmission object SHALL describe the transport context used for the Data Exchange.
The Transmission object SHALL:
- Require:
- Protocol
- Define Protocol as one of:
- HTTPS
- MQTT
- CoAP
- WebSocket
- Custom
- MAY include:
- Version
- ChannelId
The Transmission object SHALL reject undefined properties.
2.6 Integrity – Functional Requirements
The Integrity object SHALL provide verifiable evidence that the Data Exchange has not been modified.
The Integrity object SHALL:
- Require:
- Hash
- MAY include:
- Signature
The Integrity object SHALL reject undefined properties.
2.6.1 Hash (Required)
The Hash object SHALL:
- Require:
- Algorithm
- Value
- Use Algorithm values defined in
SecurityAlgorithmTaxonomy.json#/Hash - Require Value to be a hexadecimal string of length ≥ 64 characters
2.6.2 Signature (Optional)
If present, the Signature object SHALL:
- Require:
- Algorithm
- Value
- MAY include:
- PublicKeyId
The Signature Algorithm SHALL use values defined in
SecurityAlgorithmTaxonomy.json#/Signature.
2.7 Encryption – Functional Requirements (Optional)
The Encryption object MAY describe confidentiality protection applied to the Data Exchange.
If present, Encryption MAY include:
- Algorithm (from SecurityAlgorithmTaxonomy.json#/AEAD)
- KeyId
- IV
- AAD
- CiphertextRef
The Encryption object SHALL reject undefined properties.
2.8 Authentication – Functional Requirements (Optional)
The Authentication object MAY provide evidence authenticating the sender.
If present, Authentication MAY include:
- Token
- Format
- Trace
Format SHALL reference SecurityTaxonomy.json#/Authentication.
2.9 Authorization – Functional Requirements (Optional)
The Authorization object MAY provide evidence of authorization decisions.
If present, Authorization MAY include:
- SignedDecision
- Format
- Trace
Format SHALL reference SecurityTaxonomy.json#/Authorization.
2.10 Freshness – Functional Requirements (Optional)
The Freshness object MAY provide replay‑protection evidence.
If present, Freshness MAY include:
- Nonce
- Sequence
- Timestamp
- Format
- Trace
Format SHALL reference SecurityTaxonomy.json#/Freshness.
2.11 Attestation – Functional Requirements (Optional)
The Attestation object MAY provide evidence about the execution environment.
If present, Attestation MAY include:
- Evidence
- Format
- Trace
Format SHALL reference SecurityTaxonomy.json#/Attestation.
2.12 AuditChainHash – Functional Requirements (Optional)
AuditChainHash MAY provide a hash linking this Security object to a tamper‑evident audit chain.
2.13 Timestamps – Functional Requirements (Optional)
The Timestamps object MAY include:
- SignedAt
- EncryptedAt
Each timestamp SHALL be an OSD Time object.
2.14 Rights – Functional Requirements (Optional)
The Rights property MAY specify usage rights associated with the secured Data Exchange.
2.15 DataExchangeMetadata – Functional Requirements (Optional)
DataExchangeMetadata MAY reference the Data Exchange Metadata object protected by this Security object.
3 Syntax
https://mpai.community/schemas/AIF/V1.0/Security.json
4 Semantics
| Label | Description |
| Header | Identifies the version of the Security object (AIF‑SEC‑Vx.y). |
| Header | Security Header – Standard “AIF-SECVx.y” |
| Identity | Describes the identity context associated with the secured Data Exchange. |
| – Source | Identifies the AIMInstance or entity involved in the secured communication. |
| – Issuer | URI identifying the authority that issued the identity credential. |
| – CredentialType | Type of identity credential, drawn from the Security Evidence Taxonomy. |
| – CredentialRef | URI referencing the credential material. |
| Transmission | Describes the transport context of the secured Data Exchange. |
| – Protocol | Transport protocol used (HTTPS, MQTT, CoAP, WebSocket, Custom). |
| – Version | Version identifier of the transport protocol. |
| – ChannelId | UUID identifying the communication channel. |
| Integrity | Contains evidence proving that the Data Exchange has not been altered. |
| – Hash | Hash‑based integrity evidence. |
| – – Algorithm | Hash algorithm used, from the Security Algorithm Taxonomy. |
| – – Value | Hexadecimal hash value computed over protected data. |
| – Signature | Signature‑based integrity evidence. |
| – – Algorithm | Signature algorithm used, from the Security Algorithm Taxonomy. |
| – – Value | Base64‑encoded digital signature. |
| – – PublicKeyId | URI identifying the public key used for verification. |
| Encryption | Contains information required to decrypt protected data. |
| – Algorithm | AEAD encryption algorithm used. |
| – KeyId | Identifier of the encryption key. |
| – IV | Initialization vector. |
| – AAD | Additional authenticated data. |
| – CiphertextRef | URI referencing encrypted payload. |
| Authentication | Contains evidence authenticating the sender. |
| – Token | Authentication token. |
| – Format | Authentication evidence type from the Security Evidence Taxonomy. |
| – Trace | Provenance information for authentication evidence. |
| Authorization | Contains evidence of authorization decisions. |
| – SignedDecision | Signed authorization assertion. |
| – Format | Authorization evidence type from the Security Evidence Taxonomy. |
| – Trace | Provenance information for authorization evidence. |
| Freshness | Contains replay‑protection information. |
| – Nonce | One‑time value for replay prevention. |
| – Sequence | Monotonic sequence number. |
| – Timestamp | Time associated with freshness evidence. |
| – Format | Freshness mechanism type from the Security Evidence Taxonomy. |
| – Trace | Provenance information for freshness evidence. |
| Attestation | Contains evidence about the execution environment. |
| – Evidence | Attestation token. |
| – Format | Attestation mechanism type from the Security Evidence Taxonomy. |
| – Trace | Provenance information for attestation evidence. |
| AuditChainHash | Hash value linking to a tamper‑evident audit chain. |
| Timestamps | Contains timestamps for security operations. |
| – SignedAt | Time when signature was created. |
| – EncryptedAt | Time when encryption was applied. |
| Rights | Rights associated with the secured Data Exchange. |
| DataExchangeMetadata | Reference to the protected Data Exchange Metadata object. |
| Trace | Provenance information for the Security object. |
| DescrMetadata | Human‑readable descriptive metadata. |