Ce este Common Criteria?
Common Criteria (CC) e un standard internațional (ISO 15408) care definește un cadru pentru evaluarea și certificarea securității produselor IT. Scopul: să poți spune cu încredere că un produs face exact ce pretinde din punct de vedere al securității — și nimic în plus.
Spre deosebire de certificări precum PCI DSS (care auditează procese) sau ISO 27001 (care auditează organizații), Common Criteria evaluează produsul în sine — codul, arhitectura, documentația, și procesul de dezvoltare.
Istoric
| An | Eveniment | |---|---| | 1985 | TCSEC (USA, "Orange Book") — primul standard de securitate IT | | 1991 | ITSEC (Europa) — separă funcționalitatea de asigurare | | 1996 | Common Criteria v1.0 — unifică TCSEC + ITSEC | | 1999 | ISO 15408 — devine standard internațional | | 2005 | CC v3.1 — versiunea curentă | | 2020+ | CC:2022 — actualizări pentru IoT, cloud, AI |
Țări membre
Common Criteria e recunoscut de 31 de țări prin CCRA (Common Criteria Recognition Arrangement). Un produs certificat în Germania e acceptat și în Japonia, Canada, Franța, etc. Fără această recunoaștere, fiecare țară ar trebui să evalueze produsul separat.
Arhitectura Common Criteria
CC e structurat pe 3 dimensiuni principale:
┌─────────────────────────────────────────────────────────┐
│ Common Criteria │
├────────────┬────────────────────┬───────────────────────┤
│ Partea 1 │ Partea 2 │ Partea 3 │
│ Introducere│ Functional │ Assurance │
│ + model │ Requirements (SFR)│ Requirements (SAR) │
├────────────┼────────────────────┼───────────────────────┤
│ Ce face │ Ce funcții de │ Cât de riguros e │
│ standardul│ securitate │ procesul de evaluare │
└────────────┴────────────────────┴───────────────────────┘
1. Protection Profile (PP)
Un PP e o specificație de securitate reutilizabilă pentru o clasă de produse. De exemplu:
| PP | Pentru | |---|---| | PP-OS | Sisteme de operare | | PP-DB | Baze de date | | PP-HSM | Hardware Security Modules | | PP-Smartcard | Carduri cu cip | | PP-VPN | Gateway-uri VPN | | PP-IC | Circuite integrate (cipuri) |
Un producător care face un HSM poate pretinde conformitatea cu PP-HSM — nu trebuie să scrie de la zero cerințele de securitate.
2. Security Target (ST)
ST e documentul specific produsului tău. El spune:
- Ce PP-uri respectă
- Ce funcții de securitate implementează (SFR)
- Ce nivel de asigurare (EAL) atinge
- Arhitectura și modelul de amenințări
3. SFR — Security Functional Requirements
Funcțiile concrete pe care produsul trebuie să le implementeze. Din Partea 2 a standardului:
| Clasă | Familie | Exemplu | |---|---|---| | FAU | Audit | Logare evenimente de securitate | | FDP | Protecția datelor | Control acces, izolare | | FIA | Identificare/Autentificare | Autentificare cu 2 factori | | FCS | Criptografie | AES-256, RSA-4096 | | FPT | Protecție TSF | Auto-test, integritate | | FTA | Acces sesiune | Timeout, limitare încercări |
EAL — Evaluation Assurance Levels
Cele 7 niveluri de asigurare:
| Nivel | Nume | Ce implică | Cost estimativ | |---|---|---|---| | EAL1 | Testat funcțional | Testare, review documentație | $10k-50k | | EAL2 | Testat structural | Testare + analiză arhitectură | $50k-200k | | EAL3 | Testat metodic | Ca EAL2 + configurare controlată | $100k-400k | | EAL4 | Proiectat metodic | Analiză design, teste independente | $300k-1M | | EAL5 | Proiectat semiformal | Design semiformal, analiză modulară | $1M-3M | | EAL6 | Verificat semiformal | Implementare verificată, testare completă | $3M-8M | | EAL7 | Verificat formal | Demonstrație matematică, model formal | $8M-20M+ |
Observație: EAL nu înseamnă "mai sigur". Un produs EAL1 poate fi mai bine proiectat decât unul EAL4 — dar ai mai puține dovezi că e corect.
EAL7 — ce înseamnă
EAL7 e cel mai înalt nivel de asigurare. Pentru a-l atinge, trebuie:
- Model formal complet al produsului (de obicei în teorema prover: Isabelle/HOL, Coq)
- Demonstrație matematică că implementarea respectă modelul
- Testare exhaustivă a tuturor căilor critice
- Analiză modulară — fiecare componentă e verificată izolat
- Configurare complet documentată — nimic nu e lăsat la voia întâmplării
În practică, foarte puține produse au atins EAL7. Motivul: costul.
Produse certificate EAL7
seL4 — primul microkernel EAL7
seL4 e cel mai cunoscut exemplu de produs EAL7. Verificarea lui formală a demonstrat:
- Corectitudine funcțională: Implementarea C respectă specificația
- Absența deadlock-ului: Sistemul nu se blochează
- Integritatea memoriei: Un task nu poate accesa memoria altuia
- Izolarea capabilităților: Accesul e controlat strict
Raport demonstrație/cod: ~23:1 (200.000 linii demonstrație pentru 8.700 linii C)
Alte produse EAL7
| Produs | Tip | An | |---|---|---| | seL4 | Microkernel | 2009 (primul EAL7) | | Integrity-178B | RTOS | 2011 | | VxWorks 653 | RTOS (DO-178C) | 2014 | | Green Hills INTEGRITY | RTOS | 2008 |
Restul certificărilor EAL7 sunt în principal cipuri și carduri smartcard — domenii unde costul e justificat de volum.
EAL și costurile
De ce e EAL7 atât de scump?
| Factor | Impact | |---|---| | Echipa de evaluare | Laboratoare acreditate (ex: BSI Germania, ANSSI Franța) — costă $200-500/h | | Timp | Evaluarea EAL7 durează 2-5 ani | | Tooling | Theorem provers, model checkers, licențe | | Documentație | Sute de pagini de specificații formale | | Resurse umane | Experți în verificare formală — foarte rari și scumpi |
Comparație cu testarea clasică
| Abordare | Cost | Erori găsite | Garanție | |---|---|---|---| | Testare manuală | $10k | ~30% din bug-uri | Nimic | | Testare automată | $50k | ~60% | Nimic | | Fuzzing | $100k | ~80% (bug-uri de memorie) | Nimic | | EAL4 | $500k | ~90% | Design documentat | | EAL7 | $5M+ | ~99.99% | Demonstrație matematică |
Common Criteria vs alte certificări
| Certificare | Ce evaluează | Pentru cine | Cost | |---|---|---|---| | Common Criteria | Produsul IT | Guverne, militari, bănci | $50k-20M | | PCI DSS | Procese de plată | Procesatori de carduri | $10k-500k/an | | ISO 27001 | Organizația | Toate industriile | $5k-50k | | DO-178C | Software avionic | Aeronautică | $1M-50M | | IEC 61508 | Sisteme sigure | Industrial | $100k-10M | | FedRAMP | Cloud | Guvernul SUA | $500k-5M |
Ciclul unei certificări
1. Definire ST + PP
↓
2. Dezvoltare produs (cu cerințe CC)
↓
3. Autoevaluare (producătorul verifică)
↓
4. Evaluare formală (laborator acreditat)
↓
5. Certificare (autoritatea națională)
↓
6. Mentenanță (monitorizare continuă)
Durată totală: 1-5 ani, în funcție de EAL.
Laboratoare acreditate
| Țară | Autoritate | Laboratoare | |---|---|---| | Germania | BSI | TÜViT, atsec | | Franța | ANSSI | Oppida, Serma | | USA | NIAP | Leidos, Booz Allen | | UK | NCSC | Aiuk, Correlog | | Canada | CSEC | EWA-Canada, CGI | | Japonia | IPA | Miech, Mayasato |
Certificare în practică
Exemplu: certificarea unui HSM
timeline
title Certificare HSM EAL4+
2025-01 : Definire Security Target (ST)
2025-03 : Dezvoltare conform cerințelor
2025-06 : Autoevaluare internă
2025-09 : Depunere la laborator
2025-12 : Evaluare formală
2026-06 : Certificare EAL4+
Pentru HSM, EAL4+ e standardul minim acceptat de bănci. Un HSM seL4 + Rust poate atinge EAL6+ — un diferențiator comercial major.
Critici și limitări
Common Criteria nu e perfect:
- Costul prohibitiv: EAL7 e accesibil doar pentru produse cu sute de mii de utilizatori
- Durata: Până când termini certificarea EAL7, produsul poate fi depășit
- Recunoaștere limitată: CCRA nu include toate țările (China, Rusia au propriile standarde)
- "Certified but broken": CC certifică securitatea conform specificației, nu în termeni absoluți. Un produs EAL4 poate avea bug-uri — doar că ele nu sunt în ceea ce s-a evaluat
- Flexibilitate redusă: Odată certificat, orice modificare necesită reevaluare — încetinesc inovația
- Competența evaluatorilor: Calitatea evaluării depinde de expertiza laboratorului — variază semnificativ
Concluzie
Common Criteria rămâne standardul de aur pentru certificarea securității în domenii critice. EAL7 — cu verificarea sa formală — e cea mai apropiată garanție de "acest produs e corect" pe care o poți obține azi.
Pentru proiectul tău (seL4 + Rust + HSM), CC e relevant pentru că:
- seL4 e deja certificat EAL7 — ai cel mai înalt nivel de asigurare a kernelului
- Rust reduce riscul de bug-uri de memorie în aplicație — ușurează certificarea
- Un HSM pe seL4 poate pretinde EAL6+ — un avantaj competitiv real față de HSM-urile Linux care ajung la EAL4