Security Assets secondo EN 18031: cosa sono e come identificarli
I security assets sono il punto di partenza obbligatorio per qualsiasi lavoro di conformità a EN 18031. Senza averli identificati, non è possibile sapere quali requisiti si applicano al vostro dispositivo (il che significa che non potete nemmeno cominciare a scrivere la Technical Documentation).
5 febbraio 2026
Introduzione

I security assets sono il punto di partenza obbligatorio per qualsiasi lavoro di conformità a EN 18031. Senza averli identificati, non è possibile sapere quali requisiti si applicano al vostro dispositivo (il che significa che non potete nemmeno cominciare a scrivere la Technical Documentation).
Eppure le definizioni dello standard sono spesso troppo astratte per essere applicabili direttamente. In questo articolo spieghiamo cosa sono i security assets, come trovarli con metodo e come RedComply automatizza le parti più laboriose del processo.
Gli asset di sicurezza sono una delle quattro categorie di asset definite dalla EN 18031. Per una panoramica di tutti i tipi di asset, consulta la nostra introduzione agli asset nella EN 18031.
La struttura di base: 2 categorie
EN 18031 divide i security assets in due categorie:
Security functions: le funzionalità del dispositivo che implementano misure di sicurezza
Security parameters: i dati che definiscono come si comportano quelle funzioni
Queste due categori non sono indipendenti.
Un security parameter senza la funzione che lo usa non ha senso.
Una security function senza i suoi parametri non sa come comportarsi.
Nella documentazione, devono sempre comparire insieme, con il collegamento esplicitamente tracciato.
Un esempio diretto: un server web che usa HTTPS è una security function. Il certificato TLS e la chiave privata che usa per cifrare le comunicazioni sono security parameters. La documentazione deve mostrare che quel certificato appartiene a quel server, non basta elencare i due elementi separatamente.
Security Functions: cosa sono e come trovarle
Una security function è qualsiasi funzionalità del dispositivo che ha uno scopo di protezione.
Lo standard le definisce diversamente a seconda della parte applicata (EN 18031-1 guarda alla protezione della rete, EN 18031-2 ai dati personali, EN 18031-3 ai dati finanziari) ma il concetto di fondo è lo stesso: funzionalità che proteggono qualcosa.
Gli obiettivi di sicurezza tipici che le security functions devono coprire:
Proteggere il dispositivo da accessi non autorizzati (firewall, autenticazione, controllo degli accessi)
Garantire l'integrità e l'autenticità dei dati (firme digitali, verifica degli aggiornamenti firmware)
Proteggere la confidenzialità delle comunicazioni (crittografia in transito e a riposo)
Per identificarle nel vostro dispositivo, conviene ragionare per quattro categorie.
1. Librerie e implementazioni crittografiche
Sono le librerie software che permettono al dispositivo di usare algoritmi crittografici: OpenSSL, Mbed TLS, wolfSSL e simili. Ogni volta che il dispositivo cifra dati, verifica una firma o stabilisce una connessione TLS, lo fa attraverso una di queste librerie. Vanno sempre documentate, anche quando sembrano "implicite".
Una regola fondamentale: usate sempre librerie riconosciute e mantenute attivamente, mai implementazioni crittografiche fatte in casa.
La crittografia è un'area dove errori apparentemente piccoli invalidano l'intera protezione.
2. Applicazioni client legate alla sicurezza
Programmi che consentono al dispositivo di usare servizi di sicurezza su rete: client SSH per connessioni sicure a sistemi remoti, client VPN, client per il download e verifica di aggiornamenti firmware.
3. Applicazioni server e servizi
Il dispositivo che espone servizi di sicurezza ad altri: server SSH per amministrazione remota, server HTTPS per l'interfaccia web di configurazione, demoni di autenticazione.Questi vanno identificati con particolare attenzione perché rappresentano la superficie di attacco esposta del dispositivo.
Security parameters: cosa sono e come trovarli
Un security parameter è un dato che determina il comportamento di una security function (non la funzione in sé).
Lo standard lo definisce come "data… that defines the behaviour of the equipment's security function".
Lo standard distingue tre classi:
Sensitive: se manipolato può causare danno.
Confidential: se divulgato può causare danno.
Public: sensitive ma non confidential (può essere noto, ma non alterabile in modo pericoloso).
Le confidential cryptographic key sono un caso particolare invece, perchè sono chiavi riservate usate in protocolli e algoritmi crittografici.
Per identificarle nel vostro dispositivo, conviene ragionare per quattro categorie.
1) Parametri di configurazione runtime
Sono "cose" che si impostano via UI,API,file config e cloud configuration, come ad esempio policy password, lockout, ACL, servizi esposti, timeout sessione.
Tipicamente sono sensitive perché se li cambi indebolisci la protezione.
2) Parametri di comunicazione e crittografia
TLS,DTLS versioni e cipher suite, CA trust store, certificate validation, pinning, curve/length, policy OCSP/CRL. Molti di questi sono public ma sensitive, ovvero sono noti, ma non devono essere alterabili.
3) Parametri di lifecycle (boot/update/hardening)
Policy update (come la firma obbligatoria, anti-rollback, canali), impostazioni secure boot, set di componenti aggiornabili, default services.
Importante sottolineare che i factory default contano.
4) Parametri embedded (hard-coded / build-time / provisioning)
Valori dentro firmware,pipeline e provisioning, come ad esempio endpoint fissi, feature flag compilati, debug mode, default role/policy.
Sensibili vs Confidenziali
Ogni security parameter va classificato, e questa classificazione determina direttamente quali requisiti EN 18031 si applicano.
Parametri sensibili (SSP): quelli la cui modifica comprometterebbe la sicurezza. Un certificato pubblico non è segreto, ma se venisse sostituito con uno falso, l'intera catena di fiducia crolla. Richiedono protezione dell'integrità.
Parametri confidenziali (CSP): quelli la cui divulgazione comprometterebbe la sicurezza. Chiavi private, password, token, hash di credenziali. Richiedono protezione sia della confidenzialità che dell'integrità.
Nella pratica: se un parametro deve restare segreto, è confidenziale.
Non è possibile classificarlo come solo confidenziale (se la confidenzialità conta, conta anche l'integrità).
| Security Parameter | Classificazione |
|---|---|
Chiave privata TLS per comunicazioni cloud | Confidenziale |
Certificato pubblico del server cloud | Sensibile |
Hash delle impronte digitali | Confidenziale |
Token di accesso per integrazione HomeKit | Confidenziale |
File di configurazione delle regole di accesso | Sensibile |
La classificazione ha conseguenze pratiche immediate. Se un parametro è confidenziale e viene memorizzato in modo persistente, il requisito SSM-3 impone che lo storage ne protegga la confidenzialità, il che esclude il salvataggio in chiaro in un file di testo.
Facciamo un esempio pratico di compilazione della tabella di Security Assets
Ora andiamo ad analizzare nello specifico come si può compilare la tabella del Security Assets, andando a prendere come esempio la compilazione di una scheda scheda elettronica connessa alla rete tramite WiFi.

Ricordiamoci che i security assets (in EN 18031) sono le parti del progetto che rendono possibile la sicurezza del dispositivo: soprattutto parametri di sicurezza (password, chiavi, token, diritti/ACL, configurazioni di sicurezza) e in generale informazioni o oggetti usati dalle funzioni di sicurezza per proteggere altri asset.
Lo standard li descrive così:
un Confidential Security Parameter (CSP) è un'informazione di sicurezza segreta: se viene rivelata, compromette la sicurezza (esempi tipici: PIN/password, chiavi crittografiche simmetriche, chiavi private).
un Sensitive Security Parameter (SSP) è un'informazione di sicurezza che, se manipolata, può compromettere la sicurezza (esempi: diritti di accesso, parametri che regolano permessi/policy; alcune chiavi rientrano anche qui).
esiste anche il concetto di public security parameter: sensibile ma non confidenziale (es. chiavi pubbliche).
(EN 18031 ripete questa definizione in più parti; es. EN 18031‑1 Annex A e EN 18031‑3 Annex A.)
Esempi concreti di security assets in un prodotto:
password root/admin, hash password, segreti 2FA (TOTP),
token/cookie di sessione,
chiavi private TLS/SSH, credenziali VPN,
configurazioni che abilitano/disabilitano controlli di sicurezza (policy, ACL, file di override sicurezza).
Come compilare campo per campo
Per compilare la tabella dei Security assets si devono fare due cose:
1) elencare e descrivere ogni security asset rilevante
2) per ciascuno indicare come può essere raggiunto (entità, rete, interfacce esterne), dove risiede (persistente o no) e se è protetto (crittografia).
Qui sotto ti spieghiamo sia la procedura sia il significato di ogni colonna.
Prima di partire, diamo qualche regola generale. Per ogni riga, quindi per ogni asset, dobbiamo:
Dare un nome univoco (es. `SA06TLSServerPrivateKey`).
Decidere se l'asset è accessibile da qualche entità (admin/utente/processo/attaccante con un percorso realistico).
Indicare se è persistente (salvato su storage) o solo temporaneo.
Classificare se è Sensitive o Confidential (quasi sempre "Confidential" se è un segreto).
Valutare se può essere impattato tramite interfacce esterne (USB/UART/console fisica).
Valutare se viene comunicato in rete e/o se è accessibile via rete.
Indicare se c'è crittografia a proteggerlo (in transito e/o a riposo).
1) Security Assets Identifier (asset_name)
Qui devi dare un nome chiaro a questo dato. Ti conviene usare un nome univoco e descrittivo.
Ad esempio: `SA01RootPassword`, `SA06TLSServerPrivateKey`, `SA03AuthToken_SessionCookie`.
Evita nomi generici.
2) Is it accessible by an entity? (accessible_by_entity)
Questo campo chiede se qualche entità (utente, amministratore, servizio, app, sistema remoto, o anche un attaccante realistico) può leggere, usare o modificare l'asset tramite qualche canale (UI, API, SSH, file system, ecc.).
Yes: se l'admin o l'utente può accedervi (UI/API/SSH), un processo lo usa, oppure un attaccante potrebbe ottenerlo con un percorso realistico (rete o fisico).
No: solo se nessuno può accedervi (caso raro).
3) Is persisted on the device? (persisted_on_device)
Chiede se l'asset è memorizzato e resta dopo reboot.
Yes: se file/config/DB/keystore sono su storage.
No: se solo in RAM o temporaneo (es. token effimero di breve durata non salvato).
4) Is it a sensitive… or a confidential… security parameter? (confidential)
Serve a distinguere "l'importanza" dell'asset:
Qui si deve scegliere tra:
Confidential: se è un dato che dev esser mantenuto segreto (password, token, chiave privata, PSK).
Sensitive: se non è necessariamente segreto, ma se manipolato compromette la sicurezza (es. diritti/ACL/policy, chiavi pubbliche o parametri non segreti ma critici).
Regola pratica: credenziali/chiavi private/PSK/token persistenti → Confidential.
5) Potentially impacted via external interfaces? (impacted_external_if)
Chiede se l'asset può essere letto o modificato tramite interfacce esterne non di rete (USB, UART/seriale, console, accesso fisico a storage).
Yes: se con accesso fisico o console si può arrivare al file/keystore/config che lo contiene.
No: se non esiste nessun percorso realistico via quelle interfacce.
6) Is communicated over a network interface? (communicated_over_network_if)
Chiede se l'asset viene trasmesso in rete (anche solo come parte di un protocollo o scambio).
Yes: se passa su Ethernet/Wi‑Fi/Internet (es. token/cookie inviati, certificati scambiati, configurazioni scaricate).
No: non viene mai trasmesso via rete.
7) Is communicated via network interfaces? (accessible_via_network_if)
Questo campo serve per capire quanto il l'asset sia la "raggiungibile via rete" e se può esser esser accessibile o modificabile:
Yes: se via rete puoi ottenere o influenzare l'asset (es. download config, API che lo espone, endpoint che lo usa e quindi è attaccabile).
No: via rete non è ottenibile/influenzabile direttamente.
8) Cryptography used to protect the asset? (crypto_used)
Chiede se l'asset è protetto con crittografia:
in transito (TLS/SSH/VPN),
e/o a riposo (file cifrato, keystore, disk encryption). Metti Yes se c'è protezione crittografica adeguata, altrimenti No.
Gli errori più frequenti
Errore #1: Non documentare le librerie crittografiche Molti team si concentrano sui servizi visibili e tralasciano le librerie sottostanti. Poi, quando arrivano i requisiti CRY-1 o CCK-1/2/3, non hanno le informazioni necessarie. Le librerie crittografiche vanno documentate sempre, versione specifica inclusa.
Errore #2: Non verificare i servizi effettivamente esposti Documentare i servizi che dovrebbero essere attivi non basta. Porte lasciate aperte in modalità test, servizi di debug non disabilitati prima del rilascio.
Il Notified Body farà una scansione di rete e se trova un servizio non documentato, la certificazione si blocca. Fate la scansione con Nmap voi stessi, prima di consegnare.
Errore #3: Classificazione sbagliata dei parametri Parametri confidenziali classificati solo come sensibili portano ad applicare requisiti sbagliati e a lasciare lacune di protezione reali. La domanda è semplice: se qualcuno leggesse questo parametro, ci sarebbe un problema di sicurezza? Se sì, è confidenziale.
Errore #4: Granularità inconsistente Alcune funzioni documentate nel dettaglio, altre raggruppate in blocchi enormi. Lo standard lascia libertà sulla granularità, ma la coerenza è indispensabile. Un criterio pratico: raggruppate security parameters che usano lo stesso meccanismo di protezione e appartengono alla stessa security function.
Come RedComply gestisce tutto il processo
Identificare security assets su un firmware reale richiede competenze specifiche: analisi dei binari, scansioni di rete, revisione degli script di avvio, mappatura delle dipendenze.
Fatto manualmente, richiede settimane.
Con la nostra piattaforma, ridurrai i tempi di compilazione di questa normativa di oltre il 90%!
Questo perchè RedComply automatizza le parti più pesanti del processo.

Mappatura automatica
Caricate la documentazione tecnica esistente (specifiche, diagrammi, codice sorgente) e il sistema identifica automaticamente i security assets. Il risultato è una lista di security functions organizzate per categoria.
Identificazione dei security parameters
Per ogni security asset identificato, la piattaforma valuta::
Chiavi crittografiche e certificati
File di configurazione di servizi di sicurezza
Hash di password o credenziali
Pattern che indicano la presenza di materiale crittografico
Ogni elemento trovato viene collegato alla security function che lo utilizza.
Classificazione e analisi dei rischi
Il sistema propone automaticamente la classificazione sensibile/confidenziale per ogni parametro, segnala le lacune rispetto ai requisiti EN 18031 e suggerisce le misure di mitigazione prioritizzate.
Tracciamento delle versioni
A ogni aggiornamento firmware, RedComply confronta la nuova versione con la precedente e rileva:
Nuove security functions introdotte
Security parameters modificati o aggiunti
Variazioni nel profilo di rischio
Dove iniziare
Dal 1° agosto 2025, la conformità RED è diventata obbligatoria per i dispositivi IoT con interfacce radio. I security assets vanno identificati prima di qualsiasi altra sezione della Technical Documentation.
Una volta documentati gli asset di sicurezza, il passo successivo e il processo completo di valutazione del rischio per la conformita RED.
RedComply velocizza di oltre il 90% il tempo di compilazione dei security e di tutta la normativa RED.
Caricate il firmware e ottenete una prima mappatura automatica dei security assets in pochi giorni.
Richiedi una Demo e verrai contattato al più dal nostro team per aiutarti!
RedComply riduce i tempi di compliance EN 18031 di oltre il 90%. Scopri di più su redcomply.com.