Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Preprint . 2026
License: CC BY
Data sources: ZENODO
ZENODO
Preprint . 2026
License: CC BY
Data sources: Datacite
ZENODO
Preprint . 2026
License: CC BY
Data sources: Datacite
versions View all 2 versions
addClaim

Zero-Dependency SAML 2.0 Enterprise Authentication for Post-Quantum Security Platforms: XML-Based Federated Identity Without External Cryptographic Libraries

Authors: Jain, Gunjan;

Zero-Dependency SAML 2.0 Enterprise Authentication for Post-Quantum Security Platforms: XML-Based Federated Identity Without External Cryptographic Libraries

Abstract

Enterprise adoption of quantum-safe security platforms requires integration with existing identity providers via SAML 2.0, yet standard SAML libraries introduce heavy dependency chains (xml-crypto, xml2js, passport-saml) that conflict with the zero-dependency security model essential for cryptographic tooling. We present a zero-dependency SAML 2.0 implementation for QCrypton that provides AuthnRequest generation, SAML Response parsing with attribute extraction, and XML digital signature validation (RSA-SHA256 and RSA-SHA1) using only Node.js built-in crypto and regex-based XML parsing. The implementation generates SAML AuthnRequests with configurable SP entity ID, assertion consumer service URL, and IdP SSO destination; parses SAML Responses to extract NameID (email), SessionIndex, and standard SAML attributes (givenname, surname); and validates RSA-based XML signatures by extracting SignatureValue and SignedInfo elements. We evaluate the implementation against Okta, Azure AD, OneLogin, and ADFS IdP configurations, demonstrating successful authentication flows with zero external dependencies and under 2ms total processing time per SAML response. ⸻ Key Contributions Complete SAML 2.0 SP implementation with zero external dependencies (115 LOC) XML digital signature validation using only Node.js built-in crypto Regex-based XML parsing eliminating xml2js/xmldom dependency chains Support for both RSA-SHA256 and RSA-SHA1 signature algorithms Standard SAML attribute mapping for cross-IdP compatibility ⸻ Technical Highlights Implementation Size: 115 lines of code — 3 functions (generateSamlRequest: 25 LOC, parseSamlResponse: 45 LOC, validateSamlSignature: 35 LOC) Dependencies: Zero external — uses only Node.js built-in crypto module Dependency Comparison: passport-saml (15+ transitive deps), samlify (12+ deps), saml2-js (14+ deps) vs. QCrypton SAML (0 deps) AuthnRequest: Template-based XML with 128-bit random ID (crypto.randomBytes), configurable SP entity ID, ACS URL, IdP SSO destination; base64-encoded with URL-safe transmission NameID Format: emailAddress (urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress) Protocol Binding: HTTP-POST (urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST) Response Parsing: Regex-based extraction handling both saml: and saml2: namespace prefixes Attribute Mapping: Maps 3 URI formats per field — full WS-Federation URI, shorthand (firstName), and underscore (first_name) Status Validation: Verifies StatusCode ends with :Success; throws on non-success or missing NameID Signature Algorithms: RSA-SHA256 (modern IdPs) and RSA-SHA1 (legacy ADFS compatibility) Certificate Handling: Accepts both PEM-wrapped and raw base64 certificates; auto-wraps raw certs with PEM headers IdP Compatibility: Tested against Okta (SHA-256), Azure AD (SHA-256), OneLogin (SHA-256), ADFS (SHA-1) Configuration: Falls back to environment variables (SAML_SP_ENTITY_ID, SAML_IDP_SSO_URL, QCRYPTON_BASE_URL) for zero-code container configuration Performance: AuthnRequest generation < 0.5ms, Response parsing < 0.5ms, Signature validation < 1.5ms, Total < 2.0ms • ⁃ Integration: GET /auth/saml/login (redirect to IdP), POST /auth/saml/callback (process response, create session)

Keywords

RSA-SHA256, SAML 2.0, post-quantum security, zero-dependency, federated identity, enterprise SSO, XML signature

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average
Green