Sovereign Certificate Authority

Sovereign Certificate Authority este un Certificate Authority intern care aduce experiența Let’s Encrypt 1:1 în rețeaua proprie: protocol ACME, cert-enrollment automat, reînnoire automată — pentru toate serviciile interne, subdomeniile și dispozitivele angajaților. Productiv în utilizare.

CaracteristicăValoare
ProtocolACME (RFC 8555) — identic cu Let’s Encrypt
CliențiOrice client standard (certbot, acme.sh, lego, dehydrated, …)
Sfera de aplicareDomenii interne, zone .local, service-mesh, mTLS
ReînnoireComplet automată, la 60–90 de zile
StatusProductiv în utilizare
  flowchart LR
    A[Serviciu intern] -->|Request ACME| B[Sovereign CA]
    B -->|Challenge| C[HTTP-01 / DNS-01]
    C -->|reușit| D[Emitere certificat 90 de zile]
    D --> A
    A -.->|reînnoire după 60 de zile| B

Despre ce este vorba

Orice firmă cu servicii interne proprii — de la wiki la sistemul de issue tracking până la dashboardul intern de monitoring — cunoaște jocul: certificate TLS. Există trei variante clasice și niciuna nu e bună:

  1. Certificate self-signed — orice browser avertizează, utilizatorii dau click peste avertismente (cultura de securitate distrusă), iar la un moment dat un click de phishing nu mai este distingibil.
  2. Certificate de la CA public pentru hostname-uri interne — cu costuri (€150 – €500 per certificat pe an) și toate hostname-urile interne apar în log-urile publice de Certificate Transparency — atacatorii pot citi de acolo ce sisteme interne există.
  3. Let’s Encrypt — gratuit, dar nu funcționează pentru hosts pur intranet (fără disponibilitate publică pentru validarea HTTP), iar cu 50 de certificate pe săptămână per domeniu are rate limits dure.

Sovereign Certificate Authority este răspunsul: același confort ca Let’s Encrypt, dar intern, fără expunere în log-uri publice și fără limite.

Experiența Let’s Encrypt — intern

Orice client ACME-capabil funcționează direct cu CA-ul intern — fără modificare de cod, fără unelte speciale, fără API proprietar.

  • 🤖 Auto-enrollment — un serviciu trebuie să cunoască doar endpointul ACME al CA-ului intern, apoi își ia singur certificatul.
  • 🔁 Auto-renewal — durata standard 90 de zile, reînnoire automată după 60 de zile. Nimeni nu mai trebuie să se gândească la datele de expirare.
  • 🌐 HTTP-01 + DNS-01 challenge — ambele metode standard de validare, în funcție de use case.
  • 🃏 Wildcards — certificate wildcard pentru spații întregi de subdomenii posibile (*.intern.example.com).
  • 📜 Clienți standardcertbot, acme.sh, lego, dehydrated, Caddy, Traefik, nginx-acme — toți funcționează fără adaptare.

De ce nu pur și simplu Let’s Encrypt?

CerințăLet’s EncryptCA public (DigiCert, GlobalSign, …)Sovereign CA
Funcționează pentru hosts pur intranet❌ Nu✅ Da✅ Da
Cost per certificat0 €150–500 € / an0 €
Rate limits50/săpt./domeniuNiciunNiciun
Hostname-uri în log-uri publice CT✅ Da (obligatoriu!)✅ Da (obligatoriu!)❌ Nu
Auto-renewal prin ACME✅ Da⚠️ Parțial✅ Da
Custody al root CAFurnizor externFurnizor externMâna proprie
Certificate wildcard✅ (doar DNS-01)✅ (cost suplimentar)

Punctul decisiv: expunerea în CT-log. Fiecare certificat emis de un CA public — inclusiv cel de la Let’s Encrypt — ajunge într-un log public, căutabil. Cine interoghează crt.sh vede toate hostname-urile voastre interne. Instrumentele de recunoaștere pentru atacatori folosesc exact asta.

Un CA intern emite certificate fără ca ele să apară undeva public. Hostname-urile interne rămân interne.

Funcționalități operaționale

  • 🌳 Ierarhie PKI pe mai multe niveluri — Root CA offline, Intermediate CA online pentru emiterea ACME. Practică PKI standard.
  • 🔄 Revocare automată — endpointuri CRL și OCSP pentru liste de revocare, certificatele compromise sau retrase sunt blocate curat.
  • 🔐 Cheie hardware opțional — cheia Intermediate poate fi păstrată în HSM sau TPM — chiar și cu serverul compromis, fără cheie CA liberă.
  • 📊 Monitoring & inventory — privire de ansamblu asupra tuturor certificatelor emise, date de expirare, hosts afectate.
  • 🎯 Policy engine — ce client are voie să emită ce certificate? Account binding, allowlists de domenii, limite de durată maximă per rol.
  • 🔌 Integrare cu servicii — certificate de tunel (VPN, mTLS), service mesh (compatibil Envoy/Istio), servere mail (SMTP/IMAP TLS), reverse proxy-uri, dispozitive IoT.
  • ⏰ Configurare durată de viață — cert lifetimes scurte (24h pentru pipelines, 90 de zile pentru servicii, 1 an pentru IoT) — fin-granular per use case.
  • 🔍 Audit log — fiecare emitere, reînnoire și revocare este logată structurat.

Cazuri tipice de utilizare

  • 🏢 Aplicații web interne — wiki, tracker, CRM, dashboard-uri cu certificate TLS reale, pe care orice browser le acceptă (după instalarea root pe dispozitivele finale).
  • 🤝 Service-to-service mTLS — microservicii/service mesh cu autentificare reciprocă în loc de API keys.
  • 📱 Autentificarea dispozitivelor — laptopurile angajaților și dispozitivele mobile primesc certificate client pentru acces WLAN, VPN și servicii.
  • 📧 Infrastructură de e-mail — SMTP submission, IMAP/POP cu certificate valide fără costuri de CA public.
  • 🛠️ Pipelines CI/CD — certificate de scurtă durată pentru build runners, emise automat și aruncate după job.
  • 🌍 Domenii internal-DNS.internal, .lan, top-level subdomenii proprii — certificate pe care Let’s Encrypt nu le poate emite în principiu.

De ce este o temă de CEO

  • 💰 Cost avoidance — pentru 100 de servicii interne cu certificate de la CA public: tipic 30 000–50 000 € pe an. Cu CA intern: 0 €.
  • 🔍 Protecție împotriva recunoașterii — hostname-urile interne sunt astăzi cea mai mare trădare în pre-attack recunoaștere — divulgă atacatorilor topologia organizației. Un CA intern elimină complet aceste scurgeri.
  • 🛡️ Suveranitate — control complet asupra lanțului de încredere. Fără dependență de CA-uri externe al căror root program se poate schimba sau a căror încredere CA poate fi revocată (Symantec, DarkMatter, …).
  • 📋 Compliance — custody chain complet. Pentru industrii reglementate (financiar, sănătate, apărare), CA-urile interne sunt adesea chiar obligatorii.
  • ♻️ Continuitatea afacerii — la căderea CA-ului extern (din pricina mentenanței, sancțiunilor, insolvenței), certificatele interne pot fi emise mai departe.
  • 🔧 Scalare fără costuri marginale — 10 sau 10 000 de certificate — efortul și costurile practic nu se schimbă.

Fundament tehnologic

Realizat pe baza unor implementări CA open source probate care susțin complet protocolul ACME.

StratRealizare
CA engineSoftware CA open source cu server ACME RFC 8555
Storage cheiBackend local cu integrare opțională HSM/TPM
Challenges de validareHTTP-01 (intern), DNS-01 pentru wildcards
RevocareCRL distribution points + responder OCSP
MonitoringMetrici Prometheus + audit log prin syslog
Partea clientOrice client ACME standard (certbot, acme.sh, lego, …)

Sovereign Certificate Authority — variantă internă de Let’s Encrypt · ACME RFC 8555 · enrollment complet automat · fără expunere în log-uri publice CT · productiv în utilizare