Self-Issued OpenID Connect (SIOP) is a profile of the OpenID Connect (OIDC) standard that enables user-centric, decentralized identity. Unlike traditional OIDC, where a third-party Identity Provider (IdP) like Google or Facebook issues the credential, SIOP allows the end-user to act as their own IdP. The user creates a Decentralized Identifier (DID) and a corresponding Verifiable Credential (VC), forming a Self-Issued ID Token that can be presented to a Relying Party (RP) for authentication. This model shifts control of identity data from centralized corporations to the individual.
Self-Issued OpenID Connect (SIOP)
What is Self-Issued OpenID Connect (SIOP)?
Self-Issued OpenID Connect (SIOP) is a decentralized identity protocol that enables users to authenticate using credentials they generate and control, without relying on a centralized identity provider.
The core technical mechanism involves the user's wallet or identity agent generating a cryptographic key pair. The public key is embedded within a DID document, while the private key signs the self-issued ID token. This token contains verified claims about the user, such as their name or email, which the user asserts directly. The relying party verifies the token's signature against the public key published in the DID document, typically resolved via a Decentralized Identifier registry or ledger, establishing trust without an intermediary issuer.
SIOP is a foundational component of the broader Web3 and SSI (Self-Sovereign Identity) stack, enabling portable, user-controlled digital identities. Key use cases include passwordless logins for dApps, KYC processes where users share minimal verified data, and creating reusable identity profiles across services. It interoperates with W3C Verifiable Credentials and is often implemented alongside OIDC for Verifiable Presentations (OIDC4VP), which governs how these credentials are requested and presented.
How Self-Issued OpenID Connect (SIOP) Works
Self-Issued OpenID Connect (SIOP) is an extension of the OpenID Connect (OIDC) standard that enables users to act as their own identity provider, creating and signing their own identity tokens without relying on a centralized authority.
Self-Issued OpenID Connect (SIOP) is a decentralized identity protocol that allows an individual, known as the End-User, to generate their own Decentralized Identifier (DID) and issue a self-signed ID Token directly to a Relying Party (RP). This process bypasses the traditional OpenID Provider (OP), such as Google or Facebook, placing cryptographic control of identity credentials in the user's hands. The core mechanism involves the user's wallet or agent creating a JSON Web Token (JWT) that contains verified claims (like name or email) and is signed with a private key corresponding to the user's DID.
The technical flow begins when a Relying Party requests authentication, specifying it accepts id_token responses directly from the user. The user's SIOP-enabled wallet then generates a DID Document, which contains the public key for verification. It creates an ID Token with standard OIDC claims, signs it, and returns it to the RP. The RP validates the token's signature using the public keys in the DID Document, which is typically resolved from a decentralized registry like a Verifiable Data Registry (VDR). This ensures the token is authentic and was issued by the holder of the corresponding private key, establishing a cryptographic proof of identity.
SIOP's architecture is foundational for user-centric identity models and is a key component of the OpenID for Verifiable Credentials (OID4VC) suite. It enables seamless integration of W3C Verifiable Credentials into standard OIDC flows, allowing users to present cryptographically verifiable attestations (e.g., a university degree) alongside their core identity. This bridges the world of traditional federated login with the emerging ecosystem of Decentralized Identity (DID), providing a migration path for applications to adopt user-held credentials without completely overhauling their existing OIDC integration points.
Key Features of SIOP
Self-Issued OpenID Connect (SIOP) is a decentralized identity protocol that enables users to authenticate using credentials they issue and control, without relying on a centralized identity provider.
User-Issued Verifiable Credentials
Users act as their own OpenID Provider (OP), issuing Verifiable Credentials (VCs) to themselves. These credentials, such as a self-attested email or age claim, are signed with the user's private key and presented during authentication to an Relying Party (RP).
Direct Authentication Flow
The protocol enables a direct, peer-to-peer authentication flow between the Relying Party (RP) and the user's wallet or agent. It follows the standard OIDC authorization code flow but replaces the traditional IdP with the user's own DID-based wallet, which signs the ID Token.
Selective Disclosure & Privacy
SIOP supports selective disclosure, allowing users to share only the specific claims required (e.g., proving they are over 18 without revealing their exact birthdate). This minimizes data exposure and enhances user privacy compared to traditional authentication.
Interoperability with OIDC
SIOP is built as a profile of the OpenID Connect standard. This ensures interoperability with the existing OIDC ecosystem; Relying Parties can integrate SIOP using familiar OIDC libraries, simply adapting them to accept DID-signed ID Tokens instead of those from a centralized OP.
Wallet & Agent-Centric Model
Authentication is managed by a user-controlled wallet or agent software. This agent holds the user's private keys, manages DIDs and VCs, and interacts directly with RPs to fulfill SIOP requests, forming the core of the user's self-sovereign identity stack.
Core Components of a SIOP Flow
Self-Issued OpenID Connect (SIOP) is an OpenID Connect extension that enables users to authenticate using a Decentralized Identifier (DID) and self-issued ID Token, without relying on a centralized identity provider. The flow involves several key components that work together to establish verifiable, user-centric identity.
Decentralized Identifier (DID)
A Decentralized Identifier (DID) is the core identifier in a SIOP flow, a URI that points to a DID Document. It is globally unique, persistent, and cryptographically verifiable, and is controlled by the user (the DID Subject) without a central registry. The DID serves as the sub (subject) claim in the ID Token.
- Example DID:
did:ethr:0xab...ordid:key:z6Mk... - DID Document: Contains public keys, authentication methods, and service endpoints necessary for verification.
Self-Issued ID Token (SI Token)
The Self-Issued ID Token is a JSON Web Token (JWT) created and signed directly by the user (the Relying Party is its own OpenID Provider). It contains standard OIDC claims like iss (issuer, set to the user's DID), sub, aud (audience), and exp (expiration), proving the user's control over their DID.
- Key Difference: The
issandsubclaims are identical (the user's DID). - Signing: The token is signed with the private key corresponding to the public key in the user's DID Document.
SIOP Request (Authentication Request)
The SIOP Request is initiated by the Relying Party (RP) to request authentication. It is typically encoded as a JWT or passed as URL parameters, specifying the required claims, response type, and a challenge to prevent replay attacks.
- Core Parameters:
response_type=id_token,client_id(RP's DID),scope=openid,nonce,state. - Challenge: The
nonceparameter is crucial for binding the response to this specific request.
SIOP Response (Authentication Response)
The SIOP Response is the user's reply to the RP's request, containing the self-signed ID Token. The user's wallet or agent constructs this response, signs the ID Token, and returns it to the RP's specified redirect URI (redirect_uri).
- Content: Primarily the
id_tokenJWT. - Verification: The RP must validate the JWT signature using keys from the DID Document, check the
nonce,audience, and expiration, and ensure theissandsubare the same DID.
Verifiable Presentation (Optional Extension)
A Verifiable Presentation is an optional, advanced component where the user presents cryptographically verifiable credentials (VCs) alongside or within the SIOP flow. This enables attribute sharing and zero-knowledge proofs.
- Use Case: Proving age, membership, or accreditation without revealing the underlying credential data.
- Standards: Often implemented using OpenID for Verifiable Credentials (OID4VC) or W3C Verifiable Presentations alongside the core SIOP protocol.
User Agent / Wallet
The User Agent or Identity Wallet is the software component under the user's control that manages DIDs, private keys, and credentials. It facilitates the SIOP flow by:
- Storing Keys: Securely holds the private keys for signing.
- Processing Requests: Intercepts SIOP authentication requests (e.g., via QR code or deep link).
- Creating Responses: Generates and signs the Self-Issued ID Token and any Verifiable Presentations.
- User Consent: Presents an interface for the user to review and approve the authentication.
SIOP vs. Traditional OpenID Connect
A comparison of the core architectural and operational differences between Self-Issued OpenID Connect (SIOP) and traditional OpenID Connect (OIDC) relying party flows.
| Feature | Self-Issued OIDC (SIOP) | Traditional OIDC (Relying Party) |
|---|---|---|
Identity Provider (IdP) | User's own wallet (self-issued) | Centralized third-party (e.g., Google, Auth0) |
Issuer of ID Token | User's Decentralized Identifier (DID) | Centralized IdP's URL |
Credential Storage | User-held (e.g., mobile wallet) | IdP-controlled database |
User Consent & Data Control | Selective disclosure per transaction | Broad permissions granted to IdP |
Authentication Flow | Direct presentation of Verifiable Credential | Redirect to centralized IdP |
Dependency on Third Parties | ||
Inherent Verifiability (cryptographic) | ||
Typical Use Case | Decentralized Identity, Verifiable Credentials | Web2 Single Sign-On (SSO) |
SIOP Use Cases & Applications
Self-Issued OpenID Connect (SIOP) enables user-centric, portable digital credentials. These applications move identity control from centralized providers to the individual.
Decentralized Login (dLogin)
SIOP enables passwordless authentication where users sign in to websites and applications using a cryptographic key pair stored in their own wallet, instead of a traditional username/password or a social login from a centralized provider (e.g., "Sign in with Google"). This eliminates reliance on third-party identity providers and associated data collection.
- User Flow: The service requests a Verifiable Presentation. The user's wallet creates and signs a SIOP Response (a JWT) proving control of a Decentralized Identifier (DID).
- Key Benefit: Reduces phishing risk and gives users a single, portable identity across compatible services.
Selective Disclosure of Verifiable Credentials
A core use case is proving specific claims from a Verifiable Credential (VC) without revealing the entire document or the underlying identifier. SIOP acts as the presentation layer for W3C Verifiable Credentials.
- Example: Proving you are over 21 by presenting a cryptographic proof of your birth date from a digital driver's license, without revealing your name, address, or exact birth date.
- Mechanism: The Relying Party requests specific claims. The user's wallet uses BBS+ signatures or Zero-Knowledge Proofs (ZKPs) to generate a Verifiable Presentation that satisfies the request, shared via a SIOP response.
Portable Professional & Academic Credentials
SIOP enables the creation of a user-owned, lifelong learning or career record. Institutions issue Verifiable Credentials (e.g., diplomas, certifications, badges) to a user's DID. The user can then present proof of these credentials to employers, other schools, or platforms anywhere SIOP is supported.
- Interoperability: Breaks down data silos between organizations.
- User Control: Individuals manage their own credential portfolio, deciding when and with whom to share it, reducing verification fraud and administrative overhead.
Decentralized Finance (DeFi) & On-Chain Identity
In DeFi, SIOP can link a cryptographic identity (DID) to a wallet address to enable sybil-resistant governance, credit scoring, and compliant access without KYC'ing the entire wallet history.
- Governance: Prove unique personhood (e.g., via a Proof of Humanity credential) to receive one voting token, preventing whale manipulation.
- Under-Collateralized Lending: Present verifiable, off-chain income or credit history to a lending protocol to secure a loan.
- Compliance: Share a KYC/AML Verifiable Credential from a regulated provider to access advanced features, without the dApp ever seeing the raw personal data.
Secure IoT & Machine-to-Machine (M2M) Authentication
SIOP provides a framework for devices and software agents to have their own DIDs and authenticate to networks or other machines autonomously and securely. This is critical for scalable Internet of Things (IoT) and autonomous system ecosystems.
- Device Identity: A manufacturing robot can have a DID with credentials attesting to its model, maintenance history, and compliance certifications.
- Secure Communication: Devices can establish mutually authenticated, encrypted channels by proving control of their DIDs via SIOP, replacing brittle certificate management systems.
Cross-Border & Sovereign Digital Identity
Governments and international bodies are exploring SIOP and Verifiable Credentials as a standard for issuing digital versions of passports, visas, and tax documents. This gives citizens a sovereign identity they can use globally.
- eIDAS 2.0: The EU's updated electronic identification regulation is built on these principles, aiming for a European Digital Identity Wallet.
- Travel: Present a verifiable digital visa and passport credential at an e-gate, streamlining border control while enhancing privacy and security compared to physical documents.
Security & Privacy Considerations
SIOP enhances user control in decentralized identity by allowing individuals to act as their own identity provider. This section details the core security models and privacy-preserving mechanisms that underpin this approach.
Decentralized Identifier (DID) Binding
The core security of SIOP relies on the cryptographic binding between a Decentralized Identifier (DID) and its associated public key. The user proves control of the DID by signing the SIOP request with the corresponding private key. This eliminates reliance on a centralized identity provider and establishes a cryptographically verifiable link between the user and their identity assertion.
Selective Disclosure & Data Minimization
SIOP, especially when paired with Verifiable Credentials (VCs), enables privacy-by-design through selective disclosure. Instead of presenting an entire identity document, users can present:
- Cryptographic proofs (e.g., zero-knowledge proofs) that they are over 18 without revealing their birthdate.
- Specific, attested claims from a VC without exposing the credential's full content. This minimizes data exposure and limits correlation across different services.
Phishing & Replay Attack Mitigation
SIOP implementations incorporate several mechanisms to prevent common attacks:
- Nonce and State Parameters: The Relying Party (RP) provides unique, single-use values (
nonce,state) that must be included in the signed response, preventing replay attacks. - Audience Restriction: The SIOP response is explicitly signed for the intended RP's DID or URL, preventing a malicious site from using a response generated for another.
- User-Agent Guidance: Best practices recommend user-agent-based protections to prevent malicious JavaScript from silently intercepting and signing requests.
Key Management & User Responsibility
Security shifts from the provider to the user, making key management the critical vulnerability. Considerations include:
- Private Key Custody: Loss or compromise of the private key means loss of identity. Users must employ secure storage (hardware wallets, secure enclaves).
- Key Rotation & Recovery: DID methods must support secure key rotation protocols. Recovery mechanisms (e.g., social recovery, backup shards) are essential to prevent permanent lockout.
- Signing Context Awareness: Wallets/SIOP clients must clearly display the RP's identity and the data being signed to prevent unauthorized consent.
Verifiable Presentation & Proof Integrity
When presenting Verifiable Credentials, SIOP ensures the integrity of the entire presentation. The user creates a Verifiable Presentation—a wrapper for one or more VCs—and signs it with their DID key. This signature proves:
- The credentials were presented by their legitimate holder.
- The credentials have not been tampered with since issuance.
- The specific combination of claims disclosed was authorized by the presenter.
Relying Party Trust & DID Resolution
The Relying Party's (RP) security duty is to properly verify the SIOP response. This involves:
- DID Resolution: Fetching the user's DID Document from the appropriate decentralized ledger or network to obtain the current public key for signature verification.
- Proof Type Validation: Ensuring the cryptographic proof (e.g.,
JsonWebSignature2020) in the response is supported and valid. - Claim Verification: If VCs are presented, the RP must also verify the credentials' signatures against the Issuer's DID and check for revocation status.
Frequently Asked Questions (FAQ)
Self-Issued OpenID Connect (SIOP) is a decentralized identity protocol that enables users to authenticate using credentials they control, such as a blockchain wallet, without relying on a centralized identity provider. This FAQ addresses common technical and implementation questions.
Self-Issued OpenID Connect (SIOP) is a profile of the OpenID Connect (OIDC) standard that enables a user to act as their own OpenID Provider (OP), issuing and presenting Verifiable Credentials (VCs) or ID Tokens directly from a personal data store, such as a digital wallet, without an intermediary identity service. It works by extending the standard OIDC authorization flow: the Relying Party (RP) requests authentication, and the user's wallet (the Self-Issued OP) generates a cryptographically signed ID Token containing user claims (like a Decentralized Identifier (DID)). This token is presented to the RP, which verifies the signature against the user's public key, often resolved from a DID Document on a blockchain or decentralized network. This model shifts control from centralized Identity Providers (IdPs) like Google or Facebook to the individual user.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.