Why TLS Analysis Matters

TLS (Transport Layer Security) is the backbone of internet security, protecting data in transit across billions of connections daily. As quantum computing advances, the cryptographic algorithms underlying TLS face an existential threat.

The Quantum Clock is Ticking CNSA 2.0 mandates that National Security Systems transition to quantum-resistant algorithms by 2030-2035. The timeline for commercial systems follows closely. Organizations need visibility into their TLS posture today.

TLS Analyzer helps you understand:

What is TLS Analyzer

TLS Analyzer is an open-source security assessment tool that scans TLS/SSL endpoints and evaluates them against modern security standards and the CNSA 2.0 quantum-readiness timeline.

CNSA 2.0 Timeline Assessment

Tracks compliance against NSA's Commercial National Security Algorithm Suite 2.0 milestones from 2025-2035.

Quantum Risk Scoring

Evaluates vulnerability to harvest-now-decrypt-later attacks with clear risk levels and remediation guidance.

Multiple Output Formats

Generate reports in text, JSON, SARIF (GitHub Security), HTML, and CycloneDX CBOM for compliance.

Policy-Based Scanning

Define custom policies in YAML or use built-in presets (modern, intermediate, strict) for consistent enforcement.

Getting Started

Installation

Install TLS Analyzer using Go:

# Install via Go
go install github.com/csnp/qramm-tls-analyzer/cmd/tlsanalyzer@latest

# Or clone and build from source
git clone https://github.com/csnp/qramm-tls-analyzer.git
cd qramm-tls-analyzer
go build -o tlsanalyzer ./cmd/tlsanalyzer

Basic Usage

Scan a single target:

# Scan a host (default port 443)
tlsanalyzer scan example.com

# Scan a specific port
tlsanalyzer scan example.com:8443

# Scan multiple targets
tlsanalyzer scan example.com api.example.com mail.example.com

Common Options

# Output as JSON
tlsanalyzer scan example.com --format json

# Generate HTML report
tlsanalyzer scan example.com --format html --output report.html

# Generate SARIF for GitHub Security
tlsanalyzer scan example.com --format sarif --output results.sarif

# Generate Cryptographic Bill of Materials
tlsanalyzer scan example.com --format cbom --output tls-cbom.json

# Apply a security policy
tlsanalyzer scan example.com --policy strict

# Batch scan from file
tlsanalyzer scan --targets hosts.txt

CNSA 2.0 Timeline

The Commercial National Security Algorithm Suite (CNSA) 2.0 establishes a timeline for transitioning to quantum-resistant cryptography. TLS Analyzer tracks your compliance against these milestones:

1

2025: Preparation Phase

Begin inventory of cryptographic assets. Start planning migration to quantum-resistant algorithms. TLS 1.2+ should be baseline.

2

2027: Software/Firmware Signing

Transition to quantum-resistant algorithms for software and firmware signing (ML-DSA, SLH-DSA).

3

2030: Web/Cloud Services

Quantum-resistant TLS for web browsers, cloud services, and key establishment (ML-KEM hybrid modes).

4

2033: Traditional Networking

VPNs, routers, and legacy systems must support quantum-resistant algorithms.

5

2035: Full Transition

Complete migration to CNSA 2.0 algorithms. Classical algorithms deprecated for National Security Systems.

Algorithm Requirements CNSA 2.0 specifies: ML-KEM-768/1024 for key establishment, ML-DSA-65/87 or SLH-DSA for digital signatures, AES-256 for symmetric encryption, and SHA-384/512 for hashing.

Security Grading System

TLS Analyzer assigns letter grades based on protocol support, cipher strength, certificate quality, and quantum readiness:

Grade Score Meaning
A+ 95-100 Excellent security posture with quantum-ready or hybrid key exchange
A 90-94 Strong configuration with TLS 1.3 and modern cipher suites
B 80-89 Good security but may have minor issues or outdated protocols
C 65-79 Acceptable but significant improvements recommended
D 50-64 Weak configuration with known vulnerabilities
F 0-49 Critical vulnerabilities or severely outdated configuration

Scoring Factors

Output Formats

HTML Reports

Generate professional HTML reports for stakeholder communication:

tlsanalyzer scan example.com --format html --output tls-report.html

HTML reports include visual grade indicators, detailed findings, and remediation recommendations.

SARIF (GitHub Security Integration)

SARIF integrates directly with GitHub's Security tab for automated scanning:

tlsanalyzer scan example.com --format sarif --output results.sarif

CBOM (Cryptographic Bill of Materials)

Generate CycloneDX-compatible CBOMs for compliance and supply chain transparency:

tlsanalyzer scan example.com --format cbom --output tls-cbom.json

CBOMs document all cryptographic components discovered during the scan, including algorithms, key sizes, and protocol versions.

Policy-Based Scanning

Built-in Policies

# List available policies
tlsanalyzer policies

# Apply the strict policy
tlsanalyzer scan example.com --policy strict

# Apply the modern policy
tlsanalyzer scan example.com --policy modern

Custom Policies

Define custom policies in YAML for organization-specific requirements:

# my-policy.yaml
name: corporate-standard
description: Corporate TLS requirements
rules:
  protocol:
    min_version: "TLS 1.2"
    required: ["TLS 1.3"]
    forbidden: ["TLS 1.0", "TLS 1.1", "SSL 3.0"]
  cipher_suites:
    required_features:
      - forward_secrecy
    forbidden_algorithms:
      - 3DES
      - RC4
      - MD5
    min_key_size: 256
  certificate:
    max_days_to_expiry: 90
    min_key_size: 2048
    forbidden_signature_algorithms:
      - SHA1withRSA
      - MD5withRSA

Apply your custom policy:

tlsanalyzer scan example.com --policy-file my-policy.yaml

CI/CD Integration

GitHub Actions

name: TLS Security Scan
on:
  schedule:
    - cron: '0 6 * * 1'  # Weekly on Monday
  workflow_dispatch:

jobs:
  tls-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Setup Go
        uses: actions/setup-go@v5
        with:
          go-version: '1.21'

      - name: Install TLS Analyzer
        run: go install github.com/csnp/qramm-tls-analyzer/cmd/tlsanalyzer@latest

      - name: Scan Production Endpoints
        run: |
          tlsanalyzer scan \
            api.example.com \
            app.example.com \
            --format sarif \
            --output tls-results.sarif \
            --policy modern

      - name: Upload SARIF Results
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: tls-results.sarif

GitLab CI

tls-security-scan:
  image: golang:1.21
  stage: security
  script:
    - go install github.com/csnp/qramm-tls-analyzer/cmd/tlsanalyzer@latest
    - tlsanalyzer scan $PRODUCTION_HOSTS --format json --output tls-report.json
  artifacts:
    reports:
      security: tls-report.json
  only:
    - schedules

Ready to Assess Your TLS Security?

Get started with TLS Analyzer today - scan your endpoints for quantum readiness and CNSA 2.0 compliance.

View on GitHub Take QRAMM Assessment

Related Resources