Security & Licensing Guide

Donjon v7.0 implements a post-quantum cryptographic licensing system using dual signatures. This guide explains the security architecture, cryptographic primitives, and operational procedures for license management.

Post-Quantum Cryptography Overview

Quantum computers threaten current public-key cryptography. Shor's algorithm can efficiently factor large integers and compute discrete logarithms, breaking RSA and elliptic-curve cryptography. Donjon addresses this with a hybrid post-quantum + classical approach.

Why Post-Quantum Matters for Licensing

License forgery resistance must remain strong for the full expected lifetime of the product. A license signed today must resist adversaries who may have access to quantum computers in the future. By signing with both classical and post-quantum algorithms, Donjon ensures license integrity even against "harvest now, decrypt later" attacks.

Cryptographic Strategy

LayerAlgorithmStandardPurpose
Post-Quantum ML-DSA-65 NIST FIPS 204 Quantum-resistant digital signature
Classical Ed25519 RFC 8032 Proven classical digital signature

ML-DSA-65 (NIST FIPS 204)

ML-DSA (Module-Lattice-Based Digital Signature Algorithm), formerly known as CRYSTALS-Dilithium, is NIST's primary post-quantum digital signature standard, finalized in FIPS 204 (August 2024).

Why ML-DSA-65?

Dual-Signature Verification

Donjon v2 licenses carry two independent signatures over the same payload. Both must verify successfully for the license to be accepted.

Verification Overview

License files carry two independent digital signatures. The platform verifies both signatures using embedded public keys, checks expiry, machine binding, and revocation status. No network call is required.

Why Dual Signatures?

Machine Fingerprinting

Licenses can be bound to a specific machine to prevent unauthorized redistribution. The fingerprint is a deterministic SHA-256 hash of stable hardware identifiers.

Fingerprint Components

The machine fingerprint is a deterministic hash of stable hardware identifiers including network adapter, hostname, platform, processor, and OS-level machine ID. The fingerprint is computed locally and never transmitted.

Fingerprint Stability

Any change to the fingerprint components (hostname change, NIC replacement, OS reinstall) will cause a machine-bound license to fail verification. Contact support for a license transfer if your hardware changes.

Air-Gap Security Model

Donjon's license system is designed to work completely offline. No network call is required for license verification.

How It Works

Offline Capabilities

OperationOnline Required?
License verificationNo
All scanning operationsNo (except cloud scanner)
AI analysis (template mode)No
Report generationNo
Compliance mappingNo
License activation (initial)File transfer only
Revocation list updatesOptional sync
Vulnerability DB updatesPre-populate before air-gap

License Server Architecture

License Generation

Licenses are created by a separate offline admin tool that is never distributed with the product. The product contains only public verification keys — even full source code access does not allow forging licenses.

Key Security Properties

License Server: license.donjonsec.com

The optional license server (license.donjonsec.com) provides:

The server is optional -- it is not contacted during normal product operation. It is only used for administrative license lifecycle events.

Revocation Process

Licenses can be revoked when necessary (theft, terms violation, replacement).

Revocation Mechanism

  1. The revoked license ID is added to the master revocation list on license.donjonsec.com
  2. The revocation list is distributed as revoked.json in the product's data/ directory
  3. On each license load, the platform checks the local revocation list
  4. If the license ID is found, the platform falls back to Community tier

Revoked license IDs are maintained in a local revocation list file within the platform's data directory.

Air-Gap Revocation

In air-gapped environments, update the revocation list manually by copying the latest revoked.json from a connected machine to the air-gapped system's data/ directory.

Security Best Practices for Deployment

Platform Security

Data Protection

License Security

Network Security

Incident Response

Compromised License

  1. Revoke the license immediately. Contact support at donjonsec.com to add the license to the revocation list.
  2. Distribute the updated revocation list. Update data/revoked.json on all deployments.
  3. Issue a replacement license. Generate a new license with a new license ID.

Compromised Scan Data

  1. Isolate the affected system. Disconnect from the network if the evidence database was exposed.
  2. Assess the exposure. Determine what scan data, findings, and credentials may have been exposed.
  3. Notify affected parties. If scan results include information about third-party systems, notify the system owners.
  4. Rotate credentials. If the credential manager was compromised, rotate all stored credentials.
  5. Review audit logs. Use the audit trail (GET /api/v1/audit) to understand what actions were taken.

Suspected License Forgery

The dual-signature scheme makes forgery computationally infeasible. If you suspect a forged license:

  1. Check the platform log for signature verification results
  2. Verify the license.json file has not been modified (check file hashes)
  3. Ensure all required cryptographic dependencies are properly installed
  4. Contact support with the license ID and verification log output