|
| 1 | +# Identities |
| 2 | + |
| 3 | +Connector identities according to this specification are typically represented by some sort of token. |
| 4 | +This token contains statements about properties of the connector ("claims"), like its membership in one or more data spaces. |
| 5 | +In order to establish trust via these tokens, two requirements have to be met: |
| 6 | + |
| 7 | +- Security-relevant claims within the token, or the entire token as a whole, MUST be signed by one or more trusted entities. |
| 8 | +- There MUST exist a sound mechanism that enables a connector to proof ownership over the tokens or claims issued for this particular connector. |
| 9 | +Specifically, any connector implementing a corresponding validation mechanism MUST be capable of identifying and rejecting tokens that have not been issued for the respective peer connector(s). |
| 10 | + |
| 11 | +## X.509/OAuth2-Token-based Identities |
| 12 | +Identities of this kind are established via X.509 certificates and corresponding private keys. |
| 13 | +The tokens used to provide identity information to other peers are regular OAuth2 JSON Web Tokens (JWTs). |
| 14 | +In the IDS context, the OAuth2 server issuing such tokens is called a "Dynamic Attribute Provisioning Server", or DAPS for short. |
| 15 | + |
| 16 | +### Format and Signature |
| 17 | +The format of Dynamic Attribute Tokens (DATs) and the interaction between DAPS and connector are described in the [DAPS Specification](../../Components/IdentityProvider/DAPS/README.md). |
| 18 | +As DATs are JWTs with a (RSA) signature, the issuing DAPS acts as a central, trusted entity, which also manages the contained claims about the connector. |
| 19 | + |
| 20 | +### Token Ownership Verification |
| 21 | +The ownership over DAPS tokens is proven to peer connectors via ownership of a private key used for transport encryption, typically an RSA key belonging to a X.509 certificate. |
| 22 | + |
| 23 | +For typical TLS encryption scenarios, the respective approach via the `transportCertsSha256` claim is documented in the [DAPS Token Response Specification](../../Components/IdentityProvider/DAPS/README.md#token-response). |
| 24 | +This claim is specified to contain an array of SHA256 fingerprints as hex-encoded strings, or a single such hash as a string. |
| 25 | +As per that specification, DAPS implementations SHOULD allow the `transportCertsSha256` claim to be overridden with a dynamic value when requesting the DAT. |
| 26 | +For non-TLS encrypted communication channels, hashes of corresponding public keys or their very values (e.g. for short representations of EC keys) MAY be used instead. |
| 27 | + |
| 28 | +For verification, a connector MUST check that the fingerprint of its peer's certificate is contained in - or equal to - the value of the `transportCertsSha256` claim. |
0 commit comments