NuID: A Model for Trustless,

Decentralized Authentication and

Self-Sovereign Identity

Table of Contents

  1. Introduction and Motivation
    1.0 What is NuID?
    1.1 What Problems Does NuID Solve?
    1.1.1 Eliminate the Risk of Mass Credential Breaches
    1.1.2 Remove Credentials and Identities from Service Provider Silos
    1.1.3 Abstract Digital Identity From the Device
    1.2 How Can NuID be Used?
  2. How NuID Works
    2.0 Architecture Overview
    2.1 Authentication Protocol
    2.1.1 Zero Knowledge Authentication in the Abstract
    2.1.2 Zero Knowledge Authentication at NuID
    2.1.3 Self-describing Protocols: Interoperability and Extensibility
    2.2 Distributed Ledger Storage Layer
    2.3 Open-source Client Libraries
    2.4 NuID API and Service Infrastructure
    2.4.1 Integrations
    2.4.2 Credential Loss and Revocation
    2.5 Web Services and Applications
  3. Implementing NuID
    3.0 Who Stands to Benefit?
    3.1 Implementing NuID into Your Service

1. Introduction and Motivation

1.0 What is NuID?

NuID allows users to authenticate without ever having to store or manage their authentication data, eliminating the risk of mass credential breaches. Users effectively own their credentials and can prove ownership without trusting them to any party, including NuID. It strengthens traditional authentication flows and opens up new approaches for single sign-on (SSO) and self-sovereign identity (SSI). The decentralized architecture eliminates siloed databases of credentials, creating a portable and user-owned identity platform.

1.1 What Problems Does NuID Solve?

NuID is designed for future Internet ownership by users, aiming to return control of data and identity to users.

1.1.1 Eliminate the Risk of Mass Credential Breaches

The current authentication methods rely on "shared secrets" (e.g., passwords), which are vulnerable to breaches. NuID stops the sharing of secrets, thus negating the need for user trust in services. Decentralizing the storage of public parameters protects integrity and access without reliance on a single source.

1.1.2 Remove Credentials and Identities from Service Provider Silos

With NuID, user identity is no longer duplicated across services, which solves identity fragmentation. The user can manage their credentials locally, maintaining ultimate control. NuID acts only as a facilitator, with no direct access to user secrets.

1.2 How Can NuID be Used?

NuID can act as a replacement for traditional authentication methods and supports self-sovereign identity models. Organizations can securely integrate NuID into their services by following implementation guides.

2. How NuID Works

2.0 Architecture Overview

The NuID service consists of:

  1. Zero knowledge proof (ZKP) authentication protocol
  2. Distributed ledger storage layer
  3. Open-source client libraries
  4. NuID API and service infrastructure

2.1 Authentication Protocol

NuID's ZKP authentication allows for proof of knowledge without revealing the secret itself, creating an asymmetry that enables trustless authentication. Users can utilize various authenticators (passwords, tokens, keys) for identity proofing.

2.1.1 Zero Knowledge Authentication in the Abstract

The ZKP allows one party to prove they know a secret without revealing it to the verifier. This guarantees the security of user credentials. NuID's protocol enables multiple ZKP methodologies to operate simultaneously, including future quantum-safe techniques.

2.2 Distributed Ledger Storage Layer

The decentralized nature of credential storage allows public verification by any participant, removing centralized control and associated risks. This compatibility can support varying technologies for credential management.

2.3 Open-source Client Libraries

NuID's client libraries enable the integration of ZKPs in front-end applications. Currently available in JavaScript, there are plans for expansion to other platforms. Developers can utilize NuID’s API for managing authentication and credentials securely.

2.4 NuID API and Service Infrastructure

NuID provides a REST API to manage authentication processes without requiring user credentials to be stored by service providers. The API offers endpoints for credential management and verification.

2.5 Web Services and Applications

Decentralized identity architecture allows services to manage user interactions flexibly while maintaining security and privacy.

3. Implementing NuID

3.0 Who Stands to Benefit?

Decentralized authentication benefits service providers, users, and developers by enhancing security, resilience, and reducing reliance on third parties.

3.1 Implementing NuID into Your Service

NuID offers support for integration into existing systems and provides resources for developers, including API access and documentation at NuID Developer Portal. Users can also connect with NuID via GitHub and npm.