Product Design, Manufacturing & Innovation Resources
Casa » Progettazione del prodotto » Produzione » Checksum nella progettazione e produzione dei prodotti: come prevenire etichette errate, errori di scansione dei codici a barre e costosi richiami.

Checksum nella progettazione e produzione dei prodotti: come prevenire etichette errate, errori di scansione dei codici a barre e costosi richiami.

Checksum nella progettazione e produzione dei prodotti
Checksum
L'implementazione dei checksum migliora l'integrità dei dati durante l'intero ciclo di vita del prodotto.

Un pallet lascia la banchina con il prodotto giusto ma con l'etichetta sbagliata. Lo stabilimento ricevente lo scansiona, il sistema ERP accetta il codice e tre settimane dopo arriva un reclamo che risale a un lotto che nessuno riesce a localizzare. Il pezzo in sé non aveva alcun problema. C'era solo una cifra errata nei dati che lo identificavano.

Il checksum è il metodo di controllo più economico contro questo tipo di errore. Aggiunge alcune cifre o byte a un record e qualsiasi stazione a valle può verificarlo senza dover effettuare una ricerca nel database.
I prodotti fisici veicolano dati attraverso molte mani, macchine e formati. Un file CAD diventa una distinta base, una distinta base diventa un ordine di lavoro e un ordine di lavoro diventa un'etichetta. L'etichetta diventa una scansione e la scansione diventa una registrazione di spedizione.

Questa guida considera il checksum come uno strumento di controllo qualità, non come un argomento di competenza informatica o di sviluppo. Illustra gli algoritmi, dalle cifre di controllo all'SHA-256, applicandoli poi fase per fase: progettazione, industrializzazione, produzione, controllo qualità, logistica e assistenza. Ogni capitolo si conclude con due suggerimenti per gli ingegneri che lavorano su prodotti fisici.

 

Indice dei contenuti
1. Perché i prodotti fisici dipendono dall'integrità dei dati
2. Cos'è un checksum?
3. Proprietà fondamentali e il loro significato per le metriche di qualità
4. Breve storia dei checksum e simili
5. Dove si collocano i checksum nel ciclo di vita del prodotto
6. Bit di parità e somme semplici
7. Cifre di controllo: come calcolare una cifra di controllo GS1 e perché è importante
8. Errori nella scansione dei codici a barre: cause, verifica e soluzioni
9. Come evitare etichette errate
10. Checksum di rete e di bus di campo
11. Cos'è il controllo degli errori CRC?
12. Funzioni hash non crittografiche
13. Hash crittografici e come verificare un checksum SHA-256
14. Checksum, firme e autenticità tramite chiave.
15. Codici di correzione degli errori
16. Confronto degli algoritmi
17. Progettazione e ingegneria
18. Industrializzazione e produzione, compreso il metodo di verifica del flashing del firmware
19. Gestione della qualità e conformità
20. La prospettiva Lean Six Sigma
21. Logistica: come ridurre gli errori di prelievo in magazzino
22. Assistenza, post-vendita e fine vita
23. Corruzione accidentale contro corruzione dolosa
24. Come scegliere il checksum corretto
25. Guida all'implementazione
26. Lista di controllo delle migliori pratiche per ruolo
Conclusione sui checksum e simili
Domande frequenti
Appendici
Glossario dei termini utilizzati

Nota: Le date normative citate in questo articolo, come quelle del Cyber ​​Resilience Act dell'UE, del Digital Product Passport e del DSCSA statunitense, sono state verificate a novembre 2026. Si consiglia di confermarle prima di elaborare un piano di conformità.

Punti chiave

  • Un checksum rileva gli errori accidentali. Per bloccare una modifica intenzionale è necessaria una firma o un codice crittografato.
  • Le cifre di controllo proteggono gli identificativi gestiti da persone e scanner. I CRC proteggono i frame e le immagini del firmware. Gli hash crittografici proteggono file e record.
  • La cifra di controllo GS1 rileva ogni errore su una singola cifra. Non rileva circa l'11% delle trasposizioni adiacenti, ovvero quelle in cui le due cifre differiscono di 5.
  • Verificare al momento della creazione e nuovamente al momento dell'utilizzo. Un singolo controllo in una fase lascia scoperte tutte le altre.
  • Considerate il controllo stesso come un sistema di misurazione. Mettetelo alla prova con campioni notoriamente difettosi, calibrate i verificatori e monitorate i risultati.

 

1. Perché i prodotti fisici dipendono dall'integrità dei dati

Un prodotto è un oggetto fisico più i relativi dati.

Questi dati includono modelli CAD, disegni, distinte base, immagini del firmware, tabelle di calibrazione, etichette, registri di lotto, risultati dei test e documenti di spedizione. Un valore errato in uno qualsiasi di questi dati può bloccare una linea di produzione, inviare l'articolo sbagliato a un cliente o imporre un richiamo del prodotto.

Dove gli errori di dati entrano nella catena

Gli errori derivano in genere da queste cinque fonti:

  • Le persone digitano male le cifre o le leggono in modo errato.
  • Le macchine interpretano erroneamente i marchi danneggiati.
  • Bit di inversione per l'immagazzinamento e la trasmissione.
  • Le modifiche al processo sostituiscono la versione corretta con una obsoleta.
  • Infine, qualcuno potrebbe alterare i dati di proposito.
Errori nei dati
Identificazione delle fonti di errori nei dati nei processi di progettazione e ingegneria del prodotto.
fonte dell'errore Esempio Espressione tipica Controllo tipico
Chiave Cifre trasposte in un codice articolo Componente errato fornito alla linea Cifra di controllo
Lettura Codice a barre 1D sbiadito decodificato come un altro numero Lotto sbagliato registrato Controllo della simbologia, grado di verifica, correzione degli errori
Trasmissione Bit flip su un telaio fieldbus Valore del setpoint o del sensore corrotto. CRC
Magazzinaggio Batteria flash degradata sul campo Firmware o dati di calibrazione danneggiati CRC, codice di correzione degli errori
Versione Vecchio modello di etichetta lasciato sulla stampante Dati obsoleti sulle merci spedite Hash del file rilasciato
Manomissione Immagine firmware modificata guasto alla sicurezza Firma, codice digitato

 

Costo della scarsa qualità

Il costo della scarsa qualità si suddivide in prevenzione, valutazione, guasti interni e guasti esterni. Un checksum interviene nelle prime due categorie: valuta automaticamente i dati e impedisce che l'errore si propaghi ulteriormente. Il risparmio deriva dallo spostamento del rilevamento a monte.

Un errore rilevato dalla stampante di etichette comporta una ristampa. Lo stesso errore rilevato dal cliente comporta contenimento, smistamento, un eventuale richiamo del prodotto e perdita di fiducia.

Le regole empiriche come la regola 1-10-100 sono, nella migliore delle ipotesi, indicative. I vostri dati relativi a scarti, rilavorazioni e reclami forniscono il vero moltiplicatore.

Consigli professionali per ingegneri

  • Mappa ogni passaggio di consegne in cui una persona reinserisce i dati o uno strumento li riformatta, dal rilascio del CAD all'etichetta di spedizione. Effettua i primi controlli su questi passaggi di consegne.
  • Classifica le fasi di passaggio di consegne in base alla tua storia di errori non rilevati: reclami, etichette di scarto e registrazioni di rilavorazioni. Inizia da dove il costo per errore non rilevato è più elevato, che di solito si verifica dopo che il prodotto ha lasciato lo stabilimento.
Checksum
Il checksum è un metodo di convalida rapido per garantire l'integrità dei dati nella progettazione e nell'ingegneria dei prodotti.

2. Cos'è un checksum?

Il checksum è un piccolo valore calcolato da un blocco di dati mediante un algoritmo predefinito. Il mittente lo memorizza o lo trasmette insieme ai dati. Il destinatario ricalcola il valore a partire da quello ricevuto e confronta i due valori. Se differiscono, significa che i dati sono cambiati tra i due calcoli.

Immaginate un indicatore di tipo "passa/non passa": non misurate l'intera dimensione dei dati. Applicate un test rapido e ripetibile che restituisce un risultato positivo o negativo.

 

Terminologia del mondo del checksum

Diversi termini vengono usati in modo informale negli impianti e nei team di sviluppo software. La tabella li suddivide in base alla domanda a cui ciascuno risponde.

Termine Che cos'è Domanda a cui risponde Typical use
Cifra di controllo Una o due cifre aggiunte a un identificatore, calcolate con una formula modulare Il numero è stato digitato o scansionato correttamente? GTIN, SSCC, VIN, IBAN
Somma di controllo semplice Somma o XOR dei byte di un messaggio Il messaggio breve è arrivato integro? Frasi NMEA 0183, record Intel HEX
CRC Remainder of a polynomial division over [latex]\mathrm{GF}(2)[/latex] In questo fotogramma, blocco o immagine, si sono verificati degli spostamenti di bit? CAN, Modbus RTU, Ethernet, firmware
Hash o digest Impronta digitale a dimensione fissa di dati arbitrari Questo file è identico a quell'altro? Rilascio pacchetti, download, deduplicazione
MAC o HMAC Hash o cifrario combinato con una chiave segreta È stato prodotto da qualcuno che deteneva la chiave? Messaggi autenticati, tag del dispositivo
Firma digitale Prova di origine asimmetrica calcolata su un hash Chi ha pubblicato questo file e non è cambiato? Firmware, certificati, registri regolamentati
Codice di correzione degli errori Ridondanza che consente il ripristino dei dati danneggiati È possibile riparare il danno? DataMatrix, codice QR, memoria ECC

Correzione del rilevamento

La maggior parte dei checksum si limita a rilevare un errore. Indicano che qualcosa non va, ma non di che tipo. Questo è sufficiente in una linea di produzione, dove la reazione corretta è quella di fermarsi, ristampare, eseguire una nuova scansione o ritrasmettere. I codici di correzione degli errori vanno oltre e riparano i dati, il che è utile per marcature che potrebbero essere danneggiate o memorie soggette a deterioramento. Il capitolo 15 tratta questi codici in dettaglio.

Consigli professionali

  • Scrivi una descrizione di una sola riga per ogni controllo: i dati che protegge, il modello di errore che presuppone, l'algoritmo e i suoi parametri. Un controllo senza un modello di errore non può essere valutato in un'analisi FMEA.
  • Accanto a ogni valore di controllo memorizzato, viene associato un identificatore dell'algoritmo, ad esempio il nome sha256 seguito dal digest. In questo modo, una successiva migrazione non invaliderà mai i record archiviati.

3. Proprietà fondamentali e il loro significato per le metriche di qualità

Ogni proprietà di un checksum ha un corrispettivo nel vocabolario dell'ingegneria della qualità. La mappatura consente di inserire il controllo in un'analisi FMEA o in un piano di controllo senza bisogno di traduzione.

Proprietà Senso Controparte di qualità
Determinismo Lo stesso input produce sempre lo stesso valore Ripetibilità del controllo
Dimensione di output fissa Il valore ha n bit, indipendentemente dalla lunghezza dell'input. Costo costante per assegno, lunghezza nota del campo sull'etichetta
probabilità di rilevamento Quota di input corrotti che modificano il valore [latex]1 – P_{\mathrm{escape}}[/latex], input to the FMEA detection rating
Collisione Due input diversi danno un valore Fuga, detta anche falsa accettazione
Distanza di Hamming Il numero minimo di errori di bit che possono passare inosservati profondità di rilevamento garantita
lunghezza di scoppio Viene sempre rilevata la sequenza più lunga di bit corrotti Adattarsi all'ambiente sonoro reale, ad esempio alle interferenze elettromagnetiche (EMI) in prossimità degli azionamenti.
effetto valanga In un buon algoritmo di hashing, un bit di input invertito modifica circa la metà dei bit di output. Rende trascurabile un abbinamento accidentale

Probabilità di rilevamento in numeri

For an arbitrary corruption pattern, an [latex]n[/latex]-bit check lets the error through with this probability:

[latex]\displaystyle P_{\mathrm{escape}} = 2^{-n}[/latex]

A mod-10 check digit lets about one random error in ten through. A 16-bit CRC lets one in 65,536 ([latex]2^{-16}[/latex]) through. A 32-bit CRC lets one in roughly 4.3 billion ([latex]2^{-32}[/latex]) through.

Le proprietà garantite sono più solide di quanto suggerisca quella cifra statistica. Un buon CRC rileva ogni singolo errore di bit e ogni burst fino alla sua lunghezza. Gli ingegneri scelgono un polinomio specifico proprio per questo motivo.

Aritmetica del tasso di fuga

Il tasso di errore di dati che sfugge al controllo è pari alla probabilità che l'errore si verifichi, moltiplicata per la probabilità che il controllo non lo rilevi.

[latex]\displaystyle P_{\mathrm{escape}} = P_{\mathrm{error}} \times P_{\mathrm{miss}}[/latex]

Take an error rate of 1 in 1,000 keyed entries and a mod-10 check digit. Then [latex]P_{\mathrm{escape}} = 10^{-3} \times 10^{-1} = 10^{-4}[/latex]. About 1 entry in 10,000 still passes with a wrong random value. State such numbers in the FMEA instead of rating detection by feel.

Valutazione del rilevamento FMEA

Nel manuale FMEA AIAG-VDA del 2019, i controlli di rilevamento sono valutati da 1 a 10, dove 10 indica l'assenza di capacità di rilevamento. Lo stesso manuale ha sostituito il numero di priorità del rischio con una tabella di priorità delle azioni che pondera prima la gravità, poi la frequenza e infine il rilevamento. Un controllo automatizzato che blocca l'operazione successiva può giustificare una valutazione di rilevamento molto migliore rispetto a un controllo visivo. Conservate le prove, ad esempio un test di validazione con campioni notoriamente difettosi.

Falsa accettazione
Bilanciare le tipologie di errore nella convalida dei dati per garantire accuratezza ed efficienza nella progettazione del prodotto.

Falsa accettazione e falso rifiuto

Per ogni controllo si applicano due tipi di errore. Un'accettazione errata lascia passare dati non validi, che rappresenta la via d'uscita. Un rifiuto errato blocca dati validi e comporta una perdita di tempo di linea. Una cifra di controllo o un CRC implementati correttamente non rifiutano mai dati validi, perché la regola è precisa. I rifiuti errati derivano dalla fase di lettura, ad esempio da uno scanner che non riesce a leggere un codice valido ma stampato male.

Suggerimenti

  • Citare la probabilità di fuga di un controllo a n bit per corruzione casuale, la lunghezza garantita del burst e la distanza di Hamming per guasti strutturati come prove di rilevamento nell'FMEA.
  • Non moltiplicare i tassi di errore di due controlli a meno che i loro errori non siano indipendenti. Due controlli che leggono la stessa sorgente corrotta, o che condividono un operatore o una libreria software, falliscono insieme.

4. Breve storia dei checksum e simili

Le tecniche descritte in questo articolo sono datate, e questo è un punto di forza. Ognuna di esse è supportata da decenni di esperienza sul campo e ogni modalità di guasto è documentata.

Anno Sviluppo Perché è importante qui
Inizi degli anni '50 Bit di parità nella telegrafia e nella memoria dei primi computer Prima individuazione pratica degli errori
1954 Hans Peter Luhn di IBM deposita un brevetto per un metodo di cifra di controllo Origine del controllo mod-10 sulle carte di pagamento
1961 Peterson e Brown pubblicano controlli di ridondanza ciclica Principi di funzionamento dei CRC nei bus e nel firmware
1969 Verhoeff pubblica uno schema decimale che cattura tutte le trasposizioni adiacenti Dimostra che esistono cifre di controllo migliori del modulo 10
1974 Primo articolo con codice a barre (UPC) scansionato al punto vendita. Inizio della tracciabilità basata sui codici a barre
1995 SHA-1 specificato in FIPS 180-1 Inizia l'era della verifica dei file basata su hash
2002 La famiglia SHA-2 è pubblicata in FIPS 180-2 SHA-256 diventa l'algoritmo di digest predefinito
2004 Damm pubblica una cifra di controllo basata su quasigruppi Schema semplice con rilevamento completo della trasposizione
2015 SHA-3 standardizzato in FIPS 202 Seconda famiglia indipendente di funzioni hash
2017 Prima collisione pratica SHA-1, nota come SHAttered SHA-1 non è adatto laddove sussistano rischi di manomissione.
2022 Il NIST annuncia il ritiro di SHA-1 entro il 31 dicembre 2030. Orizzonte di pianificazione per prodotti a lunga durata

Consiglio da professionista: Quando si integra un'interfaccia legacy, è opportuno mantenere il controllo originale su tale collegamento e aggiungere un controllo end-to-end più robusto a livello applicativo. Modificare il formato del frame legacy raramente giustifica il rischio.

5. Dove si collocano i checksum nel ciclo di vita del prodotto

Utilizzate questa tabella come schema di riferimento per il resto dell'articolo. Essa mostra quale tipo di controllo si applica in ogni fase e dove si manifesterebbe normalmente un eventuale errore.

Palcoscenico Dati a rischio Protezione tipica guasto tipico Dove emerge
Progetto CAD, distinta base, sorgente del firmware, codici dei componenti Hash del pacchetto rilasciato, cifra di controllo nel codice articolo, CRC nell'intestazione del firmware È stata rilasciata la versione sbagliata, il codice articolo è stato digitato in modo errato. Revisione delle modifiche ingegneristiche, prima versione
Industrializzazione Ricette, parametri PLC, modelli di etichette, programmi di test L'hash o il CRC vengono confrontati con un record di riferimento. Vecchia ricetta o modello caricato Primo articolo, prova in linea
Produzione Marchi, numeri di serie, firmware, dati della stazione Grado di verifica, hash di lettura, CRC del bus Segno illeggibile, flash non funzionante, fotogramma danneggiato Scansione in linea, test di fine linea
Qualità Registri dei test, certificati, genealogia Catena di hash, firma, traccia di controllo Record alterato o mancante Audit, reclamo del cliente
Logistica Eventi GTIN, SSCC, GLN, ASN, EPCIS Cifra di controllo GS1, totali di controllo del messaggio Scelta errata, indirizzo di spedizione errato, numero di serie duplicato Conferma di prelievo, ricevuta merce
Servizio e fine vita Aggiornamenti, ID dei pezzi di ricambio, passaporti Aggiornamenti firmati, parti autenticate, identificatori univoci Aggiornamento corrotto, parte contraffatta Guasto sul campo, richiesta di garanzia

Consigli professionali

  • Crea una matrice che rappresenti la fase del ciclo di vita, l'oggetto dati, il controllo presente e le prove conservate. Ogni cella vuota rappresenta una lacuna e la matrice diventa il tuo backlog di miglioramento.
  • Genera il controllo nel sistema sorgente e verificalo nel sistema ricevente con una routine scritta in modo indipendente. Due implementazioni rivelano errori di parametri e di ordine dei byte che una libreria condivisa nasconde.

6. Bit di parità e somme semplici

Il bit di parità è un bit aggiuntivo che determina se il numero di uno in una parola è pari o dispari. Rileva qualsiasi numero dispari di bit invertiti e ignora ogni numero pari. Due inversioni si annullano a vicenda e la parola viene comunque considerata valida.

La parità bidimensionale organizza i dati in righe e colonne e aggiunge un bit di parità a ciascuna riga e a ciascuna colonna. Individua un singolo bit invertito e può quindi correggerlo. Rileva tutti gli errori di due o tre bit. Quattro bit invertiti agli angoli di un rettangolo possono comunque sfuggire all'analisi.

Checksum additivi e XOR

Il passaggio successivo consiste nel sommare tutti i byte, o eseguire un'operazione XOR su di essi, e inviare il risultato. Questi controlli sono economici e possono essere eseguiti anche sui microcontrollori più piccoli. Presentano però due punti deboli che risultano rilevanti nella pratica. Ignorano l'ordine dei byte, quindi i byte scambiati passano comunque. Inoltre, gli errori possono compensarsi a vicenda: un byte aumenta di uno mentre un altro diminuisce di uno, e la somma rimane invariata.

Un checksum XOR, inoltre, non rileva alcun numero pari di inversioni nella stessa posizione di bit su byte diversi. Nel 2009, Maxino e Koopman hanno misurato l'efficacia di tali checksum per le reti di controllo embedded e hanno scoperto che i CRC della stessa larghezza offrono prestazioni migliori in termini di errori strutturati.

Dove appaiono ancora

Posto Schema Commento
Frasi NMEA 0183 (GPS, elettronica nautica) XOR dei caratteri compresi tra il simbolo del dollaro e l'asterisco, inviati come due cifre esadecimali Rileva errori a singolo bit, debole contro errori accoppiati
Record Intel HEX nei file del firmware Complemento a due della somma dei byte del record Protegge solo ogni record, non l'intera immagine.
Collegamenti seriali legacy e sensori semplici Somma a 8 bit o XOR Leggi la scheda tecnica, quindi aggiungi un controllo a livello di applicazione se i dati sono critici

La distinzione tra maiuscole e minuscole in formato Intel HEX è importante per il firmware. Un file può superare tutti i controlli dei record e risultare comunque incompleto, perché un record mancante non lascia traccia negli altri. Aggiungere un CRC o un hash a livello di immagine, come descritto nel capitolo 18.

Dispositivi fisici che utilizzano ancora la parità e le somme semplici

carte a banda magnetica

Ogni carattere contiene un bit di parità dispari e un carattere di controllo di ridondanza longitudinale segue il carattere sentinella finale. Un lettore rifiuta una lettura che non supera uno dei due test.

Strumenti seriali e periferiche PLC

I collegamenti RS-232 e RS-485 possono aggiungere un bit di parità a ogni carattere, che cattura le inversioni di singolo bit causate dal rumore elettrico.

Parità
Utilizzo di bit di parità e checksum nei dispositivi fisici per il rilevamento degli errori e l'integrità dei dati.

Programmatori di memoria flash e bootloader

Il sistema legge i file Intel HEX e Motorola S-record, che contengono una somma per ogni record, e normalmente scarta i record che non corrispondono.


Consigli degli esperti per l'IT

  • Non permettere mai che un blocco cancellato o azzerato venga convalidato. Inizia la somma da un valore diverso da zero oppure memorizza il suo complemento, in modo che una memoria flash vuota piena di byte 0xFF o 0x00 non superi il controllo.
  • Somme e XOR ignorano l'ordine dei byte. Se un collegamento legacy lo impone, aggiungere un campo lunghezza e un numero di sequenza, in modo da rilevare frame scambiati, persi o ripetuti.

7. Cifre di controllo: come calcolare una cifra di controllo GS1 e perché è importante

Le cifre di controllo sono i checksum più antichi e diffusi nell'industria. Si trovano alla fine degli identificativi che le persone digitano e le macchine scansionano. Costituiscono la spina dorsale della tracciabilità, poiché ogni lotto, numero di serie, ubicazione e spedizione è identificato da un codice.

Come calcolare la cifra di controllo GS1

GS1 richiede una cifra di controllo su tutte le chiavi di identificazione numerica a lunghezza fissa, incluse GTIN-8, GTIN-12, GTIN-13, GTIN-14, GLN e SSCC. L'algoritmo è una somma ponderata modulo 10. I pesi si alternano tra 3 e 1 e la cifra successiva alla cifra di controllo riceve sempre il peso 3.

  1. Scrivi le cifre del tasto escludendo la cifra di controllo.
  2. Partendo da destra, moltiplica le cifre alternativamente per 3 e per 1.
  3. Somma i prodotti di tutte le cifre.
  4. La cifra di controllo è il valore che porta la somma al multiplo di 10 successivo. Se la somma è già un multiplo di 10, la cifra di controllo è 0.

Written as a formula, the check digit [latex]C[/latex] uses the digits [latex]d_i[/latex] of the body, counted from the right. The weight is [latex]w_i = 3[/latex] for odd [latex]i[/latex] and [latex]w_i = 1[/latex] for even [latex]i[/latex].

[latex]\displaystyle C = \left(10 – \left(\sum_{i=1}^{n} w_i d_i \bmod 10\right)\right) \bmod 10[/latex]

Esempio pratico per il corpo GTIN-13 400638133393. Contando da sinistra, i pesi sono 1, 3, 1, 3 e così via, perché la cifra più a destra del corpo si trova in una posizione dispari rispetto a destra.

Digit 4 0 0 6 3 8 1 3 3 3 9 3
Peso 1 3 1 3 1 3 1 3 1 3 1 3
Prodotto 4 0 0 18 3 24 1 9 3 9 9 9

The products add up to 89. The next multiple of 10 is 90, so the check digit is [latex]C = (10 – (89 \bmod 10)) \bmod 10 = 1[/latex] and the complete GTIN-13 is 4006381333931. The same rule applies to an SSCC. The 17-digit body 34012345000000001 sums to 43, which gives [latex]C = (10 – (43 \bmod 10)) \bmod 10 = 7[/latex] and the SSCC 340123450000000017.

Cosa rileva una cifra di controllo

La tabella confronta lo schema GS1 con tre alternative. I valori GS1 e Luhn sono stati confermati tramite simulazione su chiavi casuali. Le proprietà di Verhoeff e Damm sono documentate nelle rispettive pubblicazioni originali.

Tipo di errore GS1 mod 10 (pesi 3 e 1) Luhn contro 10 Verhoeff Dannazione
Sostituzione a cifra singola Tutti rilevati Tutti rilevati Tutti rilevati Tutti rilevati
Trasposizione adiacente Ad eccezione delle coppie di cifre che differiscono di 5, circa l'11% degli scambi di cifre diverse Tutti tranne 09 e 90 Tutti rilevati Tutti rilevati
spazzatura casuale a più cifre Circa il 90% rilevato Circa il 90% rilevato Circa il 90% rilevato Circa il 90% rilevato

Il sistema di ponderazione GS1 non è il più robusto disponibile. È quello che devi utilizzare per le chiavi GS1. Per gli identificatori che definisci tu stesso, scegli uno schema più robusto.

Una cifra di controllo valida non fornisce alcuna informazione sull'esistenza del codice. Indica semplicemente che il numero è ben formato. Non indica se il GTIN è assegnato, se appartiene a questo prodotto o se è attivo nei dati anagrafici. Mantieni la convalida dei dati anagrafici attiva, oltre al controllo aritmetico.

La cifra di controllo VIN in posizione 9

In Nord America, la norma 49 CFR 565 richiede una cifra di controllo in posizione 9 del VIN a 17 caratteri. Ogni carattere viene traslitterato in un numero e moltiplicato per un peso di posizione: 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2. I prodotti vengono quindi sommati. Il resto della divisione per 11 è la cifra di controllo, e un resto di 10 viene scritto con la lettera X.

[latex]\displaystyle C = \left(\sum_{i=1}^{17} t_i w_i\right) \bmod 11[/latex]

Here [latex]t_i[/latex] is the transliterated value and [latex]w_i[/latex] is the weight of position [latex]i[/latex].

Molti VIN di origine europea non hanno una cifra di controllo valida, quindi una regola di convalida nordamericana non deve rifiutarli automaticamente. Un test rapido per la tua implementazione: un VIN composto da diciassette uno deve produrre la cifra di controllo 1. Il testo della regola è in 49 CFR 565.15.

Altri schemi che incontrerai

  • I codici a barre EAN-13 sui libri riportano un ISBN-13 e utilizzano l'algoritmo GS1. Il vecchio ISBN-10 utilizzava uno schema modulo 11.
  • I numeri delle carte di pagamento e i codici IMEI utilizzano l'algoritmo di Luhn, descritto da Hans Peter Luhn di IBM in una domanda di brevetto depositata nel 1954.
  • IBAN utilizza il modello MOD 97-10 della norma ISO/IEC 7064.
  • I numeri di container per spedizioni secondo la norma ISO 6346 terminano con una cifra di controllo.

Progettazione di una cifra di controllo per i numeri di parte e di serie interni

Molti sistemi creano identificatori personalizzati e poi aggiungono un controllo interno. Gli schemi personalizzati spesso non rilevano le trasposizioni, che rappresentano un errore comune nella trascrizione. Utilizzate uno schema pubblicato, a meno che non abbiate un valido motivo documentato per non farlo.

  • Scegliete un algoritmo consolidato e pubblicato. Gli algoritmi di Damm o Verhoeff sono adatti per gli identificatori numerici. La norma ISO/IEC 7064 definisce sistemi puri e ibridi per stringhe numeriche, alfabetiche e alfanumeriche, tra cui MOD 11-2, MOD 37-2 e MOD 97-10.
  • Imposta la lunghezza dell'identificatore e posiziona il carattere di controllo alla fine.
  • Rimuovere dall'alfabeto i caratteri simili, come O e 0, o I e 1, oppure gestirli esplicitamente nello schema.
  • Definisci l'algoritmo in un documento controllato con vettori di test, in modo che ogni sistema implementi la stessa regola.
  • Verifica lo schema rispetto alle classi di errore che ti interessano: sostituzione singola, trasposizione adiacente, errori gemelli ed errori fonetici in presenza di input vocale.
  • Per i nuovi schemi, si consiglia di utilizzare numeri non significativi. In questo modo si evita di dover rinumerare gli elementi quando cambia la classificazione.
  • Convalidare in ogni punto di ingresso, inclusi ERP, MES, software di etichettatura e script PLC. Un controllo presente in un sistema viene ignorato dagli altri.

Dispositivi e strumenti per la convalida delle cifre di controllo

Dispositivo o strumento Cosa controlla Perché è utile
Scanner e decodificatori di codici a barre La cifra di controllo EAN o UPC durante la decodifica Un errore di lettura viene scartato e non raggiunge mai il sistema host.
Software per etichette e server di stampa La cifra di controllo della chiave prima della stampa dell'etichetta Un GTIN o SSCC digitato in modo errato non si trasforma mai in un'etichetta fisica
Terminali di pagamento La cifra Luhn del numero di carta Gli errori di digitazione vengono rifiutati prima di qualsiasi chiamata di rete.

Suggerimenti

  • Genera le cifre di controllo utilizzando una funzione di libreria testata e riutilizzala in ogni sistema. Non digitare mai manualmente la cifra di controllo e includi i vettori di test dell'Appendice A qui sotto nella libreria.
  • Memorizza gli identificativi come testo a lunghezza fissa, in modo che gli zeri iniziali rimangano inalterati nelle chiavi GTIN-14 e SSCC. Convalida la cifra di controllo in ogni punto di inserimento: stampa dell'etichetta, scansione in ricezione e importazione nel sistema ERP.

8. Errori nella scansione dei codici a barre: cause, verifica e soluzioni

Gli errori di scansione del codice a barre si dividono in tre categorie. Una mancata lettura interrompe il processo e comporta una perdita di tempo. Una lettura errata restituisce un valore errato che sembra valido. Una lettura errata restituisce un valore valido da un elemento sbagliato, ad esempio da un'etichetta adiacente. Le letture errate rappresentano la categoria più pericolosa, e i controlli integrati nelle simbologie servono proprio a renderle rare.

Controlli incorporati nella simbologia

Simbologia Controllo integrato Commento
EAN-13, UPC-A, ITF-14 Cifra di controllo GS1 mod 10 Parte dei dati codificati
Codice 128 e GS1-128 Controllo obbligatorio del personaggio mod 103 Protegge il simbolo e il lettore lo rimuove. Le chiavi GS1 all'interno conservano ancora il proprio modulo a 10 cifre
Codice 39 Mod opzionale 43 controlla il personaggio Attiva questa opzione quando controlli sia la stampante che il lettore.
Interlacciato 2 di 5 Mod opzionale 10 Imposta la lunghezza prevista nel lettore per evitare letture parziali
Data Matrix e codice QR Correzione degli errori di Reed-Solomon Ripara i moduli danneggiati, vedi capitolo 15

Leggere non è sinonimo di qualità

Uno scanner che decodifica un simbolo non garantisce che il simbolo sia valido. I simboli marginali vengono decodificati correttamente oggi, ma perdono la leggibilità se l'etichetta si graffia durante il trasporto. Un sistema di verifica misura la qualità di stampa rispetto a uno standard e assegna un punteggio.

Tipo di simbolo Standard di valutazione Commento
Simboli lineari sulle etichette ISO/IEC 15416, edizione 2025 Voti da 4,0 a 0,0, scritti anche da A a F
Simboli bidimensionali sulle etichette ISO/IEC 15415, edizione 2024 Voti da A a F
Marcatura diretta del pezzo (micropuntinatura, laser, incisione) ISO/IEC 29158, precedentemente nota come rapporto tecnico ISO/IEC TR 29158 Utilizza un'illuminazione diversa. I suoi gradi non sono paragonabili ai gradi ISO/IEC 15415.

I verificatori necessitano di calibrazione con una scheda di prova di conformità. Lo standard applicativo o il cliente definiscono il grado minimo accettabile. Verificare le specifiche generali GS1 vigenti e le eventuali normative di settore relative al tipo di simbolo in uso.

Cause e soluzioni

Causa Sintomo Aggiustare
Basso contrasto di stampa o supporto inadatto Lettura assente di bassa qualità e intermittente Cambiare il nastro o il supporto di stampa, regolare l'intensità di stampa, verificare sulla stampante
Violazione della zona di silenzio Errori sul bordo dell'etichetta Correggi il layout dell'etichetta, aggiungi un controllo del modello
La dimensione X non corrisponde alla risoluzione della stampante. Le barre si fondono o gli spazi vuoti scompaiono Scegli una dimensione X che corrisponda a un numero intero di punti della stampante.
Configurazione del lettore Errori di lettura dovuti a simbologie abilitate ma non utilizzate Abilita solo le simbologie necessarie, fissa le lunghezze, convalida la cifra di controllo
Riflessi o bassa modulazione sui segni diretti Letture instabili Utilizzare un'illuminazione idonea al marchio, verificando la conformità alla norma ISO/IEC 29158.
Consegna in transito Guasto al ricevitore Utilizzare simboli 2D con un livello di correzione più elevato, proteggere l'etichetta con una laminazione protettiva.

Applicare una sola regola a ogni stazione di scansione. Decodificare, convalidare la cifra di controllo, convalidare il formato rispetto alla chiave prevista e solo allora accettare il valore. Una scansione che fallisce in una qualsiasi fase attiva una reazione predefinita. Non deve innescare un ciclo di tentativi che nessuno tiene in considerazione.

Consigli per applicazioni pratiche

  • Inserisci il grado minimo di verifica del simbolo nella specifica di etichettatura, con lo standard di misurazione e la configurazione del verificatore. Un simbolo che viene scansionato sulla tua linea indica solo che viene scansionato, non che ha margine.
  • Considerare la zona silenziosa come un vincolo rigido di layout nel modello di etichetta. Testare la marcatura diretta dei componenti secondo la norma ISO/IEC 29158 nelle condizioni di illuminazione e angolo di lettura della postazione reale.

9. Come evitare etichette errate

Un'etichetta errata è uno degli errori di dati più comuni e visibili. Può avere diverse cause distinte e un checksum ne risolve solo alcune. È fondamentale distinguere le cause prima di scegliere i controlli.

Modalità di riparazione Esempio Controllare Ruolo del checksum
Dati errati stampati I dati dell'ordine sono stati modificati dopo la creazione del lavoro di stampa. Stampa da una fonte rilasciata, confronta il payload stampato con il record previsto La cifra di controllo convalida la chiave, il confronto individua la chiave errata
Modello o versione errati Impaginazione obsoleta con testo normativo superato. Rilascia i modelli sotto il controllo dei documenti e caricali tramite hash Hash del file modello memorizzato nel record di rilascio
Etichetta corretta sul prodotto sbagliato Il cambio del rotolo lascia etichette di un altro prodotto nella stampante. Pulizia della linea, riconciliazione dei rotoli, scansione per corrispondenza in fase di applicazione La cifra di controllo deve essere confrontata con il GTIN o il numero di serie previsto.
Etichetta mancante o posizionata in modo errato Etichetta saltata dall'applicatore Rilevamento di presenza, controllo della vista Nessuno, è necessario un controllo diverso
Numero di serie duplicato La ristampa riutilizza un seriale Allocazione seriale centrale, vincolo di unicità Nessuno, una cifra di controllo non rileva i duplicati
Simbolo illeggibile Stampa a basso contrasto Verificatore in linea con voto minimo Verifica e valutazione della simbologia

Un processo di etichettatura a ciclo chiuso

  1. Rilascia il modello di etichetta e la relativa origine dati sotto controllo delle modifiche. Memorizza un hash del file modello nel record di rilascio.
  2. All'avvio del lavoro, la stampante o il server di etichette calcola l'hash del modello caricato e lo confronta con il record di rilascio. Una mancata corrispondenza blocca la stampa del lavoro.
  3. Costruisci il payload a partire dal singolo record autorevole. Genera la cifra di controllo tramite software utilizzando una libreria collaudata e non digitarla mai manualmente.
  4. Stampa e verifica il simbolo direttamente nel testo. Un voto inferiore al minimo specificato comporta il rifiuto dell'etichetta.
  5. Scansiona l'etichetta stampata e confronta il contenuto decodificato con i dati previsti per questa unità. Scarta qualsiasi unità la cui etichetta non corrisponda.
  6. Eseguire nuovamente la scansione presso la stazione di confezionamento o spedizione dopo l'applicazione. Il secondo controllo individua eventuali errori che si verificano dopo la stampa.
  7. Al termine di ogni ciclo, è necessario effettuare una riconciliazione dei conteggi. Il totale delle etichette emesse, applicate, scartate e restituite deve corrispondere.

La sequenza utilizza tre tipi di controlli. L'hash verifica la correttezza del modello. La cifra di controllo e il formato dimostrano che la chiave è ben formata. Il confronto con il record previsto dimostra che si tratta della chiave corretta per questa unità. Solo il terzo controllo individua un'etichetta ben formata ma errata.

Suggerimenti

  • Eseguire un controllo della linea prima di ogni cambio di etichetta. Rimuovi i rotoli vecchi, gli scarti di stampa e il modello precedente, e avvia la stampa solo dopo che l'hash del modello corrisponde al record di rilascio.
  • Scansiona ogni etichetta stampata confrontandola con la registrazione dell'ordine, impostando un arresto forzato. Inserisci un'etichetta difettosa all'inizio di ogni turno per verificare che l'arresto funzioni correttamente.

10. Checksum di rete e di bus di campo

Le macchine proteggono i propri dati con controlli definiti nel protocollo. Questi controlli proteggono il collegamento, un passaggio alla volta. Non proteggono i dati una volta che questi si trovano nella memoria del PLC o in un database:

Checksum di Internet

Le intestazioni IP, TCP e UDP utilizzano la somma complementare a 16 bit descritta nella RFC 1071. È economica da calcolare ma debole. Non rileva le parole a 16 bit scambiate e alcuni errori di compensazione. I livelli di collegamento aggiungono un CRC più robusto al di sotto, ed è per questo che il checksum debole è sopravvissuto.

Fletcher e Adler-32 sono semplici somme con due accumulatori, quindi rilevano più errori di ordinamento rispetto a una semplice somma. Adler-32 è presente nella libreria zlib. È debole con messaggi brevi.

Modbus RTU

I frame Modbus RTU terminano con un CRC a 16 bit. Il polinomio è 0x8005, utilizzato nella sua forma riflessa 0xA001, con valore iniziale 0xFFFF. Il byte meno significativo del CRC viene inviato per primo. Il protocollo Modbus ASCII utilizza invece un più semplice controllo di ridondanza longitudinale a 8 bit.

Ecco una richiesta RTU completa che legge 10 registri di mantenimento dallo slave 1, a partire dall'indirizzo 0. Il valore CRC è 0xCDC5, che viene trasmesso come C5 seguito da CD.

01 03 00 00 00 0A C5 CD

CAN e CAN FD

Il CAN classico utilizza un CRC a 15 bit con il polinomio 0x4599. Questo garantisce una distanza di Hamming pari a 6 per una lunghezza fissa del frame, in modo che vengano rilevati cinque errori di bit distribuiti casualmente. Il CAN FD utilizza un CRC a 17 bit per payload fino a 16 byte e un CRC a 21 bit per valori superiori, scelto per mantenere la stessa distanza di Hamming pari a 6.

Il bit stuffing complica il quadro. CAN in Automation osserva che il stuffing può ridurre la distanza di Hamming effettiva per alcuni schemi di bit nei frame classici e CAN FD aggiunge un contatore di bit di stuffing per colmare tale lacuna. I dettagli sono in Spiegazione CiA del CRC nei frame CAN.

Bus basati su Ethernet

PROFINET, EtherCAT, EtherNet/IP e Modbus TCP trasportano i dati in frame Ethernet standard. Ogni frame termina con una sequenza di controllo del frame a 32 bit, un CRC-32, che i dispositivi verificano a ogni hop. I frame con una sequenza errata vengono scartati.

Altri bus, tra cui PROFIBUS e IO-Link, definiscono i propri controlli sui frame. Leggete le specifiche del protocollo e registrate il controllo nella vostra FMEA anziché darlo per scontato.

Bus basati su Ethernet
I bus basati su Ethernet utilizzano frame Ethernet standard con controlli CRC per una trasmissione dati affidabile nelle applicazioni industriali.

Protocolli di sicurezza sul tetto dell'autobus

I protocolli di sicurezza come PROFIsafe, CIP Safety e Fail Safe su EtherCAT trattano il bus sottostante come un canale nero. Il canale può corrompere, ritardare, ripetere o riordinare i messaggi. Il livello di sicurezza aggiunge un proprio CRC, un contatore di sequenza e un watchdog, in modo che la funzione di sicurezza non dipenda dai controlli del collegamento.

Applica questa lezione ai tuoi progetti. Un CRC a livello di collegamento non protegge una ricetta mentre si trova in memoria o mentre attraversa un server OPC UA e un MES. Aggiungi un controllo end-to-end a livello di applicazione per ogni set di parametri che influisce sulla sicurezza o sulla qualità.

Mancia: UN Il gateway ricalcola il CRC dall'altra parte, in modo che eventuali corruzioni nella sua memoria non vengano rilevate. Aggiungere un CRC end-to-end con un contatore tra i gateway per ogni segnale e setpoint rilevante per la sicurezza.

 

11. Cos'è il controllo degli errori CRC?

A cyclic redundancy check treats the message as a long binary number, which is a polynomial over [latex]\mathrm{GF}(2)[/latex]. It divides that polynomial by a fixed generator polynomial and keeps the remainder. The remainder is the CRC, usually 8, 16 or 32 bits long. The sender appends it, the receiver divides again, and any mismatch signals corruption.

Un esempio pratico

Take the 3-bit generator 1011, which stands for [latex]x^3 + x + 1[/latex], and the message 1101. Append three zeros to get 1101000. Then divide by repeated XOR with the generator.

1101000
1011
-------
0110000
 1011
-------
0011100
  1011
-------
0001010
   1011
-------
0000001

Il resto è 001, quindi la parola trasmessa è 1101001. Dividendo questa parola per 1011 si ottiene il resto 000. Invertendo un qualsiasi bit, il resto diventa diverso da zero. I CRC reali utilizzano generatori da 8 a 32 bit e funzionano in hardware o con tabelle di ricerca, ma il principio è identico.

Cosa garantisce un CRC

  • Ogni singolo errore di bit, purché il generatore abbia più di un termine.
  • Ogni errore di raffica non supera la larghezza del CRC.
  • Every odd number of bit errors, for generators that contain the factor [latex]x + 1[/latex]. The common 16-bit polynomials qualify. The Ethernet CRC-32 does not.
  • Longer bursts and random patterns pass with a probability of roughly [latex]2^{-n}[/latex].
  • Una distanza di Hamming che dipende dal polinomio e dalla lunghezza del messaggio.

I parametri che devono corrispondere

Due parti calcolano lo stesso CRC solo se concordano su sei parametri: larghezza, polinomio, valore iniziale, riflessione di input, riflessione di output e XOR finale. Nomi come CRC-16 o CRC-32 sono ambigui. Catalogo Reveng CRC Elenca i set di parametri di uso comune. Conferma un'implementazione con il valore di controllo della stringa ASCII 123456789.

Variante Polinomio Calore Riflessione dentro e fuori XOR finale Verifica il valore Typical use
CRC-8 0x07 0x00 NO 0x00 0xF4 Controlli generici a 8 bit, intestazione ATM
CRC-8/MASSIMO 0x31 0x00 SÌ 0x00 0xA1 Dispositivi Dallas e Maxim 1-Wire
CRC-16/MODBUS 0x8005 0xFFFF SÌ 0x0000 0x4B37 Modbus RTU
CRC-16/CCITT-FALSE 0x1021 0xFFFF NO 0x0000 0x29B1 Protocolli seriali, bootloader
CRC-16/XMODEM 0x1021 0x0000 NO 0x0000 0x31C3 XMODEM, alcuni bootloader
CRC-32 0x04C11DB7 0xFFFFFFFF SÌ 0xFFFFFFFF 0xCBF43926 Ethernet, ZIP, PNG
CRC-32C 0x1EDC6F41 0xFFFFFFFF SÌ 0xFFFFFFFF 0xE3069283 iSCSI, archiviazione, istruzioni hardware

Scelta di un polinomio in base alla lunghezza del messaggio

La robustezza di un CRC dipende dal polinomio e dalla lunghezza del messaggio. Koopman ha dimostrato in un studio dei CRC a 32 bit che il polinomio IEEE 802.3 raggiunge una distanza di Hamming di soli 4 sui messaggi Ethernet di lunghezza massima, mentre altri polinomi raggiungono 6. Le reti embedded con messaggi brevi mostrano lacune più ampie e alcuni polinomi a 16 bit ampiamente copiati hanno prestazioni scadenti alle lunghezze in cui vengono utilizzati.

  • Definisci l'intervallo di lunghezze dei messaggi prima di scegliere un polinomio.
  • Decidete quale distanza di Hamming vi serve alla lunghezza massima. Le applicazioni critiche per la sicurezza richiedono in genere una distanza di 6.
  • Ricava il polinomio dai risultati di ricerche esaustive pubblicate, non da fonti popolari o da un esempio di codice.

Limiti di un CRC

Il CRC è una funzione lineare del messaggio. Dato un messaggio e il suo CRC, chiunque può modificare il messaggio e calcolare un CRC corrispondente senza bisogno di un segreto. Pertanto, un CRC non dimostra nulla sull'origine e non può impedire modifiche intenzionali. I capitoli 13 e 14 trattano gli strumenti che possono farlo.

Dispositivi che trasportano un CRC

Dispositivo Dove si trova la CRC Osservazione
Tag RFID UHF (EPC Gen2) CRC a 16 bit sulle risposte dei tag Rileva gli errori di lettura alle porte di carico e ai nastri trasportatori
dispositivi USB CRC a 5 bit sui pacchetti di token, CRC a 16 bit sui pacchetti di dati. L'host tenta di inviare nuovamente il pacchetto non riuscito.
Schede SD e microSD CRC a 7 bit sui comandi, CRC a 16 bit sui blocchi di dati. Archiviazione comune per log e firmware nei prodotti embedded

Mancia: Assicurati che il CRC copra sia l'intestazione, l'indirizzo e la lunghezza, sia il payload. Un CRC applicato solo al payload permette il passaggio di un indirizzo o di una lunghezza corrotti.

12. Funzioni hash non crittografiche

Le funzioni hash non crittografiche come xxHash, MurmurHash, CityHash e FNV sacrificano la sicurezza in favore della velocità. Funzionano a velocità prossime a quella della memoria sulle CPU moderne e producono valori a 32, 64 o 128 bit che distribuiscono uniformemente gli input.

Non offrono alcuna protezione contro chi crea intenzionalmente input in conflitto:

Dove forniscono assistenza con i dati del prodotto

  • Rilevamento dei file modificati durante la sincronizzazione PLM e PDM, senza trasferimento dei file.
  • Rimozione dei duplicati da grandi set di dati di test e archivi di immagini provenienti da sistemi di ispezione.
  • Confrontare un'esportazione di configurazione con una salvata per verificare se sono state apportate modifiche.
  • Inserimento di chiavi nelle cache e nelle tabelle di ricerca nei sistemi MES e nelle pipeline di analisi.

rischio di collisione

The birthday bound sets the risk. For [latex]k[/latex] items and a [latex]b[/latex]-bit hash, the probability of at least one collision is approximately:

[latex]\displaystyle p \approx 1 – e^{-k^2 / 2^{b+1}}[/latex]

Con una funzione hash a 64 bit e un milione di elementi distinti, la probabilità che due elementi qualsiasi entrino in collisione è di circa 2,7 su 100 milioni. Con una funzione hash a 32 bit e 100.000 elementi, la probabilità di collisione è maggiore, attestandosi intorno al 69%.

Per gli inventari, scegli 64 bit o più. Considera una corrispondenza come un forte indizio e confermala confrontando i dati completi quando il risultato è rilevante. Non utilizzare mai queste funzioni per dimostrare l'autenticità di un file.

Consigli per gli ingegneri

  • Utilizzate hash non crittografici solo per il rilevamento delle modifiche e la ricerca all'interno dei vostri sistemi. Mantenete una memoria di almeno 64 bit per gli inventari e confrontate i dati completi ogni volta che una corrispondenza determina una decisione.
  • Non memorizzare mai i valori provenienti dalla funzione hash integrata di un linguaggio di programmazione. Alcune, come l'hash di stringa di Python, cambiano tra un'esecuzione e l'altra. Salva i digest generati da un algoritmo specifico con un seed fisso.
Sei-256
Comprendere le funzioni hash crittografiche e le loro proprietà di resistenza per una progettazione sicura dei prodotti.

13. Hash crittografici e come verificare un checksum SHA-256

In questo capitolo ci addentreremo nei dettagli tecnici e pratici.

Una funzione hash crittografica deve resistere a tre tipi di attacchi:

  • La resistenza alla preimmagine significa che nessuno può trovare un input per un dato digest.
  • La resistenza alla seconda preimmagine significa che nessuno può trovare un input diverso che corrisponda al digest di un dato input.
  • La resistenza alle collisioni significa che nessuno può trovare due input con lo stesso digest.
Algoritmo Produzione Stato Utilizzo
MD5 128 bit Le collisioni possono essere prodotte nella pratica Accettabile solo per rilevare corruzioni accidentali. Da evitare nei nuovi progetti.
SHA-1 160 bit Il modello di collisione pratica è stato pubblicato nel 2017. Il NIST prevede di ritirarlo entro il 31 dicembre 2030. Solo sistemi legacy
SHA-256, SHA-384, SHA-512 256, 384, 512 bit Non sono noti attacchi pratici Valori predefiniti per hash di rilascio, digest del firmware e firme
SHA-3 (FIPS 202) Da 224 a 512 bit Design interno diverso da SHA-2 Famiglia alternativa in cui la diversità è benvenuta
BLAKE2, BLAKE3 Fino a 512 bit, 256 bit per impostazione predefinita Moderno e veloce, ma non è un algoritmo approvato da FIPS. File di grandi dimensioni in cui la velocità è fondamentale e non è richiesta l'approvazione.

Il NIST descrive il piano di pensionamento SHA-1 sul suo Pagina degli annunci SHA-1Un digest SHA-256 offre circa 128 bit di resistenza alle collisioni, ben oltre qualsiasi attacco pratico.

Come verificare un checksum SHA-256

Ti servono due cose: il digest previsto da una fonte attendibile e il file. Calcola il digest localmente e confronta l'intera stringa. Confrontare solo i primi caratteri elimina gran parte della protezione.

# Linux sha256sum firmware.bin sha256sum -c SHA256SUMS # macOS shasum -a 256 firmware.bin # Windows PowerShell Get-FileHash .\firmware.bin -Algorithm SHA256 # Prompt dei comandi di Windows certutil -hashfile firmware.bin SHA256

Un file SHA256SUMS contiene una riga per ogni file, con l'hash, due spazi e il nome del file. Il comando sha256sum -c lo legge e stampa OK o FAILED per ogni file. Prima di utilizzare uno strumento, verificane l'accuratezza confrontandolo con il vettore di test nell'Appendice B.

Un riassunto accanto al file dimostra poco

Un utente malintenzionato in grado di sostituire un file può sostituire anche il digest ad esso associato. Un digest pubblicato protegge da un download non funzionante. Non protegge da un mirror ostile o da un server web compromesso. Per garantire l'autenticità, utilizzare uno di questi percorsi.

  • Ottieni il riepilogo tramite un canale separato e affidabile, ad esempio il portale del fornitore tramite HTTPS o un documento di acquisto firmato.
  • Verifica un file digest firmato con una chiave la cui impronta digitale è stata ottenuta in modo indipendente, ad esempio con gpg –verify SHA256SUMS.asc SHA256SUMS.
  • Lasciate che sia il dispositivo o il programma di installazione a verificare la firma del codice, in modo che nessuno debba confrontare le stringhe.

Catene hash per i record di batch e le tracce di controllo

Una catena di hash rende un registro a prova di manomissione. Ogni record memorizza l'hash del record precedente e il proprio hash protegge il suo contenuto più quel valore.

[latex]\displaystyle H_n = \mathrm{SHA}\text{-}256(H_{n-1} \parallel r_n)[/latex]

Here [latex]r_n[/latex] is record number [latex]n[/latex].

Modificando un qualsiasi record, tutti gli hash successivi smetteranno di corrispondere. Una catena dimostra ordine e integrità solo se il suo hash più recente è ancorato al di fuori del sistema che contiene il registro. Le opzioni includono la firma periodica, la marcatura temporale affidabile secondo la RFC 3161 o l'invio dell'hash a un cliente o a un revisore. Senza un punto di ancoraggio, chiunque abbia accesso in scrittura può ricalcolare l'intera catena.

14. Checksum, firme e autenticità tramite chiave.

Finora tutto è pubblico. Chiunque può calcolare un CRC o un SHA-256 per un messaggio modificato. Per impedire modifiche intenzionali, il controllo deve dipendere da un segreto o da una chiave privata.

Meccanismo Come funziona Dimostra Gestione delle chiavi Typical use
HMAC (RFC 2104) Hash combinato con un segreto condiviso Messaggio invariato e inviato da un detentore della chiave Un segreto condiviso da entrambe le parti Messaggi autenticati tra sistemi e dispositivi
CMAC (NIST SP 800-38B) MAC costruito su un cifrario a blocchi, solitamente AES Uguale a HMAC Segreto condiviso, adatto all'hardware con motore AES Dispositivi integrati, elementi di sicurezza
Tag AEAD (AES-GCM, ChaCha20-Poly1305) Crittografia combinata con un tag di autenticazione Riservatezza, integrità e origine Chiave condivisa e un nonce univoco per messaggio Telemetria e aggiornamenti crittografati
Firma digitale (ECDSA, Ed25519, RSA) La chiave privata firma un hash, la chiave pubblica lo verifica Integrità e origine, verificabili da chiunque disponga della chiave pubblica. Chiave privata in un modulo di sicurezza hardware, chiave pubblica nei dispositivi Firmware, certificati, registri regolamentati

I sistemi a chiave condivisa prevedono che la chiave sia presente in ogni verificatore. Una chiave che si trova in decine di stazioni di test o migliaia di dispositivi è difficile da proteggere e da sostituire. Le firme digitali invertono il problema. Le stazioni e i dispositivi contengono solo la chiave pubblica, mentre la chiave privata rimane in un modulo di sicurezza hardware presso l'autorità di rilascio.

Non create un MAC eseguendo l'hashing di un segreto seguito dal messaggio con SHA-256. SHA-2 consente attacchi di estensione della lunghezza su questa struttura. HMAC esiste proprio per evitare questo.

Avvio protetto
L'avvio protetto e il firmware firmato migliorano l'integrità e la sicurezza del prodotto in ambito ingegneristico.

Casi d'uso negli ambienti di prodotto

    • Firmware firmato e avvio sicuro. La ROM di avvio verifica la firma del bootloader e il bootloader verifica l'applicazione. Il CRC ha ancora un ruolo per l'integrità a runtime della memoria flash e della RAM, ma non sostituisce mai la firma.
  • L'autenticità dei pezzi di ricambio è una questione a parte. Un numero di serie con una cifra di controllo valida non dimostra nulla in merito all'autenticità, poiché chiunque può calcolarlo. L'autenticazione richiede un segreto, ad esempio un tag crittografico in un elemento di sicurezza o un codice che un server può verificare e che nessuno può ricavare dal numero di serie.
  • Le etichette possono contenere dati anticontraffazione. GS1 definisce un identificatore di applicazione, AI 8030, per una firma digitale contenuta nel supporto dati insieme alla chiave.
  • I documenti regolamentati richiedono particolare attenzione. Una firma crittografica supporta i documenti elettronici, ma non equivale a una firma elettronica ai sensi della Parte 11 del Titolo 21 del Codice dei Regolamenti Federali (21 CFR Part 11). La normativa richiede inoltre controlli sull'identità, la definizione del significato della firma e il suo collegamento al documento.

Serrature, chiavi e dispositivi di accesso

Le serrature meccaniche ed elettroniche mostrano la differenza tra rilevamento degli errori e autenticazione.

  • Serrature a cilindro con perni: le scanalature della chiave devono corrispondere all'altezza dei perni, quindi la serratura verifica una forma fisica. La forma è di fatto un segreto condiviso, perché chiunque la copi può accedervi.
  • Credenziali contactless a basso costo: i frame di lettura contengono un CRC contro gli errori radio, che non dimostra nulla sull'identità. Le carte più vecchie basate su un algoritmo di cifratura proprietario vulnerabile, come MIFARE Classic, possono essere clonate. Le credenziali moderne utilizzano un sistema di sfida-risposta con algoritmi di cifratura standard come AES.
  • Serrature intelligenti Bluetooth Low Energy: il livello di collegamento protegge ogni pacchetto con AES-CCM, il cui codice di integrità del messaggio è un controllo con chiave.
  • Materiali di consumo e accessori autenticati: alcune cartucce per stampanti, batterie e sensori contengono un chip che risponde a una sfida crittografica proveniente dal dispositivo host.

Due consigli da professionisti

  • Pianifica la gestione delle chiavi prima di scegliere l'algoritmo. Utilizza chiavi separate per ogni famiglia di prodotti, inseriscile in una stazione sicura, conservale in un modulo di sicurezza hardware e registra l'inserimento per ogni numero di serie.
  • Aggiungi un contatore o un nonce a ogni messaggio autenticato. Senza di esso, un malintenzionato può riprodurre un messaggio valido registrato.

15. Codici di correzione degli errori

Il sistema di rilevamento segnala che i dati sono errati e la correzione li ripara. Il prezzo da pagare è una maggiore ridondanza, mentre il vantaggio è che il processo continua senza una nuova scansione, una ritrasmissione o una rielaborazione.

Codice Principio Dove lo incontri
Codice di Hamming con bit di parità aggiuntivo (SECDED) Corregge gli errori a singolo bit e rileva gli errori a doppio bit. Memoria ECC nei PC industriali e RAM e flash dei microcontrollori
Reed-Solomon Correzione basata su simboli che gestisce bene le raffiche Codice QR, Data Matrix ECC 200, dischi ottici, sistemi di archiviazione
BCH Correzione binaria multibit controller flash NAND
LDPC Decodifica iterativa in prossimità del limite teorico Controller SSD, standard wireless

Segni che resistono ai danni

Un codice QR offre quattro livelli di correzione, L, M, Q e H, che ripristinano rispettivamente circa il 7, il 15, il 25 e il 30 percento delle parole codice. Data Matrix ECC 200 utilizza Reed-Solomon con una quantità fissa di ridondanza per dimensione del simbolo. I componenti marcati al laser, sporchi o graffiati, così come le etichette che percorrono la catena di fornitura, ne traggono un beneficio diretto.

La correzione degli errori rende un marchio robusto. Può anche nascondere il degrado. Un simbolo Data Matrix danneggiato potrebbe essere decodificato perfettamente mentre la sua capacità di correzione residua si riduce quasi a zero. La verifica secondo ISO/IEC 15415 riporta la correzione degli errori non utilizzata come parametro graduato. Monitorare il grado del verificatore, non il risultato della lettura, per tenere sotto controllo la qualità di stampa e marcatura.

Memoria ECC e flash nei prodotti embedded

I microcontrollori per uso automobilistico e industriale spesso proteggono la memoria flash e la RAM con la correzione degli errori (ECC). L'hardware corregge le inversioni di singolo bit e le conta. I contatori degli errori corretti vengono letti e registrati. Un conteggio crescente indica una cella in degrado, un'alimentazione insufficiente o disturbi da radiazioni. Un CRC calcolato dopo la correzione rileva dati puliti, quindi il contatore è l'unico segnale precoce disponibile.

Memoria Ecc
La memoria ECC migliora l'affidabilità dei prodotti embedded rilevando e correggendo gli errori nelle memorie flash e RAM.

Dispositivi e supporti che si basano sulla correzione degli errori

  • I componenti marcati al laser e sottoposti a pallinatura riportano simboli Data Matrix ECC 200, che utilizzano codici Reed-Solomon, pertanto anche una marcatura leggermente graffiata può essere decodificata.
  • Server, controller e microcontrollori per il settore automobilistico: la memoria ECC in genere corregge gli errori a singolo bit e rileva gli errori a doppio bit.
  • SSD, schede eMMC e SD: il controller applica codici BCH o LDPC alle pagine flash e i suoi contatori di bit corretti possono fungere da indicatore di usura.

Suggerimenti

  • Scegli il livello di correzione degli errori in base al metodo di marcatura e all'ambiente. Verifica la scelta simulando danni intenzionali come graffi e mascheratura parziale, e valuta il risultato.
  • Registrare il numero di errori corretti nella memoria ECC, nella memoria flash e nella decodifica dei simboli. Un trend in aumento è un segnale di allarme precoce, perché un'unità ancora funzionante potrebbe non avere più capacità di correzione.

16. Confronto degli algoritmi

La tabella riassume le famiglie e la posizione di ciascuna in questo articolo. I valori di velocità dipendono dalla piattaforma, quindi è consigliabile misurarli sul proprio hardware di destinazione.

Algoritmo Dimensione di output Rileva Velocità relativa Sicurezza contro le modifiche intenzionali Uso tipico qui
Bit di parità 1 bit Numero dispari di capovolgimenti Il più veloce Nessuno Collegamenti seriali legacy
Somma a 8 bit o XOR 8 bit Errori semplici, scarsa attenzione agli errori strutturati. Molto veloce Nessuno Frasi NMEA, record Intel HEX
Cifra di controllo GS1 mod 10 1 cifra Tutti gli errori a una cifra, la maggior parte delle trasposizioni Immediato Nessuno GTIN, SSCC, GLN
Verhoeff, Damm 1 cifra Tutti gli errori a una cifra e le trasposizioni adiacenti Immediato Nessuno ittero interno
Famiglia ISO/IEC 7064 1 o 2 caratteri Dipende dal sistema Immediato Nessuno IBAN, identificativi interni
CRC-16 16 bit Burst fino a 16 bit, distanza di Hamming impostata tramite polinomio e lunghezza Molto veloce, supporto hardware comune Nessuno Modbus RTU, frame corti
CRC-32, CRC-32C 32 bit Burst fino a 32 bit, distanza di Hamming impostata tramite polinomio e lunghezza Molto veloce, istruzioni hardware Nessuno Ethernet, immagini firmware, archiviazione
xxHash64, xxHash128 64 o 128 bit Differenze accidentali Vicino alla velocità della memoria Nessuno Deduplicazione, rilevamento delle modifiche
SHA-256 256 bit Qualsiasi modifica, per scopi pratici Supporto hardware rapido su molte CPU Circa 128 bit di resistenza alle collisioni Hash di rilascio, digest del firmware, registri di controllo
SHA-3-256, BLAKE2, BLAKE3 256 bit o più Qualsiasi modifica, per scopi pratici Veloce Stessa classe di SHA-256 Alternative a SHA-256
HMAC-SHA-256, CMAC Da 128 a 256 bit Cambiamento e origine Veloce Dipende dalla segretezza della chiave Messaggi autenticati
ECDSA, firma Ed25519 64 byte tipici Cambiamento e origine Firma più lenta, verifica più veloce. Forte finché la chiave privata rimane protetta Firmware, registri, certificati
Reed-Solomon Ridondanza di circa il 10-30% dei dati Rileva e corregge Moderare Nessuno Codice QR, Data Matrix, archiviazione

17. Progettazione e ingegneria

I checksum entrano a far parte del prodotto prima che venga realizzata la prima parte. Appartengono al processo di rilascio e al modello dati.

CAD, disegni e distinte base in fase di rilascio

Un sistema PLM o PDM identifica una release tramite la sua revisione. Una lettera di revisione indica quale versione si intendeva rilasciare. Un hash del pacchetto rilasciato indica quali byte sono stati rilasciati. Entrambi vengono memorizzati nel record di release. In questo modo, qualsiasi utente può verificare ciò che ha ricevuto, colmando la lacuna lasciata aperta dalle lettere di revisione: un file sostituito o modificato dopo il rilascio.

  • Calcola un digest SHA-256 per ogni file rilasciato, ad esempio il modello STEP, il PDF del disegno e l'esportazione della distinta base.
  • Calcola un ulteriore digest su un manifesto che elenca tutti i file e i relativi digest, in modo che un singolo valore rappresenti l'intero pacchetto.
  • Inserisci il riepilogo del manifesto nel record ECO o ECN e nella trasmissione inviata ai fornitori.
  • Lascia che il portale del fornitore o il sistema di produzione ricalcolino e confrontino i dati al momento della ricezione.
  • Confronta le esportazioni della distinta base (BOM) tramite hash tra le configurazioni di progetto e quelle realizzate. Una discrepanza segnala una differenza, che verrà poi spiegata da un team di esperti.

Prevenzione degli errori nei codici articolo e nei connettori

La progettazione determina la facilità con cui è possibile commettere errori in seguito. Una cifra di controllo sui codici articolo individua gli errori di digitazione in ogni punto di inserimento. Formati numerici distinti per parti acquistate, disegni e assiemi impediscono che una classe venga confusa con un'altra. I connettori con chiave e i formati di etichettatura asimmetrici funzionano con lo stesso principio sul piano fisico.

Firmware integrato e dati di calibrazione

Un'immagine firmware dovrebbe essere auto-descrittiva e auto-verificante. Un layout comune prevede un'intestazione fissa a un indirizzo noto.

Campo di intestazione Scopo
Numero della torre Identifica il tipo di immagine e intercetta il caricamento del file errato
Versione in formato Consente al bootloader di analizzare i futuri layout di intestazione
Identificatore di prodotto e hardware Impedisce l'esecuzione di un'immagine valida per un altro prodotto
Versione software Garantisce la tracciabilità e la protezione contro il rollback.
lunghezza dell'immagine Definisce la regione coperta dai controlli
CRC-32 dell'immagine Rileva la corruzione accidentale ad ogni avvio o su richiesta
Digest o firma SHA-256 Dimostra integrità e origine prima della prima esecuzione
Byte di riempimento definito Mantiene deterministiche le aree flash inutilizzate, garantendo la riproducibilità delle build.

Applica la stessa disciplina ai blocchi di calibrazione e configurazione in EEPROM o flash. Memorizza un CRC con ogni blocco. Definisci cosa succede quando il controllo fallisce: ripristina le impostazioni predefinite, genera un errore e non utilizzare mai i dati in modo silenzioso. Mantieni una copia ridondante e scrivi i blocchi in modo che resistano a un'interruzione di corrente.

Contesto di sicurezza funzionale

Gli standard di sicurezza funzionale considerano la corruzione della memoria e gli errori di comunicazione come modalità di guasto che richiedono misure diagnostiche. ISO 26262 per i veicoli stradali, IEC 61508 per i sistemi industriali e IEC 62304 per il software dei dispositivi medici richiedono tutti di dimostrare come vengono rilevati tali guasti. Le misure tipiche includono CRC (Controllo Riconoscimento Coefficiente di Rilevamento) sulla memoria del codice e dei dati, comunicazione protetta con contatori di sequenza e archiviazione ridondante.

L'analisi deve indicare la copertura diagnostica, ovvero la percentuale di guasti rilevati da una determinata misura. Un CRC a 32 bit non garantisce automaticamente una copertura del 99% per l'intero sistema. La copertura dipende da cosa copre il CRC, dalla frequenza con cui viene eseguito e da cosa fa il sistema in caso di guasto.

Prevenzione degli errori meccanici integrata nell'hardware

Nei prodotti fisici, il concetto di controllo veniva utilizzato ben prima dell'avvento dei computer. In questi progetti, la forma del componente rappresenta il valore di controllo.

Connettori codificati I connettori M12 sono dotati di codifica A, B, D e X, in modo che un cavo sensore non si accoppi con una porta Ethernet. Gli involucri D-sub utilizzano una forma trapezoidale per lo stesso motivo. Raccordi per gas medicali Il sistema di sicurezza con indice dei pin posiziona i pin sulla forcella in posizioni diverse per ciascun gas, in modo che una bombola del gas sbagliato non si adatti. Connettori medicali a piccolo diametro La serie ISO 80369 definisce connettori con geometrie distinte per diverse applicazioni, come quelle enterali e neurassiali, per prevenire connessioni errate. Ugelli del carburante In molti mercati un ugello diesel è troppo grande per il bocchettone di riempimento della benzina. Perni e dispositivi di fissaggio Perni di diverso diametro disposti in modo asimmetrico consentono a un componente di posizionarsi in un solo orientamento. Calibri passa/non passa Un calibro a tampone passa un foro entro la tolleranza e lo rifiuta altrimenti. Si tratta di un test fisico di passaggio o fallimento, come il confronto di un checksum.

Consigli professionali sui checksum in ingegneria

  • Prevenire prima e individuare dopo. Nell'analisi FMEA di progettazione, utilizzare la geometria, i connettori a chiave e le caratteristiche asimmetriche come controlli preventivi e aggiungere il controllo dell'identità elettronica come secondo livello.
  • Ogni firmware e immagine di calibrazione deve avere un'intestazione con versione, lunghezza e CRC, e deve essere specificato il comportamento in caso di errore durante il controllo di avvio. Lo stato sicuro è una scelta di progettazione e non un'impostazione predefinita.

18. Industrializzazione e produzione, compreso il metodo di verifica del flashing del firmware

L'industrializzazione trasforma i dati di progettazione in processi operativi. La maggior parte degli errori nei dati che raggiungono la produzione si verificano in questa fase: ricette errate, modelli di etichette sbagliati, limiti di prova non corrispondenti.

Marcatura e prevenzione degli errori nelle stazioni di scansione

  • Verificare le marcature nel punto di applicazione e nuovamente nel punto in cui la marcatura è necessaria per la prima volta. Le norme ISO/IEC 15415, 15416 e 29158 definiscono la classificazione.
  • Trasforma la stazione di scansione in un gate. Il PLC rilascia l'operazione successiva solo quando tutti i test di decodifica, cifra di controllo, formato e valore atteso risultano superati.
  • Aggiungi cifre di controllo ai numeri di serie generati dalla linea, in modo da proteggere anche l'inserimento manuale nelle stazioni di rilavorazione.
  • Registra ogni scansione non riuscita indicando stazione, ora e, ove possibile, l'immagine del simbolo. Queste informazioni saranno utili per il lavoro DMAIC descritto nel capitolo 20.

Ricette e parametri

Le ricette delle macchine, i programmi di coppia, i programmi di saldatura e i limiti di collaudo risiedono in file o righe di database. Un set di parametri errato o obsoleto crea un difetto silenzioso, perché la macchina funziona correttamente con istruzioni sbagliate.

Conservare una copia di riferimento (golden record) nel MES o nel PLM insieme al relativo hash. Ad ogni download di ricetta e all'inizio di ogni lotto, il software della stazione ricalcola l'hash della ricetta attiva e lo confronta. Una discrepanza blocca la produzione del lotto. Per i parametri inviati tramite bus a un controllore, aggiungere un CRC all'interno del blocco dati, in modo che il controllore ricevente non funzioni con valori corrotti.

Come verificare l'aggiornamento del firmware a fine linea

La programmazione è una fase del processo, come la saldatura o il serraggio. Richiede un metodo definito, un criterio di accettazione e una registrazione per ogni numero di serie. Un programmatore che segnala il successo dell'operazione vi sta solo informando che i suoi comandi sono stati completati.

  1. Programmare l'immagine con l'opzione di verifica del programmatore abilitata, se il dispositivo e lo strumento la supportano.
  2. Leggere le regioni programmate e calcolare un hash SHA-256 o CRC-32 esattamente sulle regioni definite nel piano di controllo. Confrontare il risultato con il golden digest presente nel record di rilascio.
  3. Gestisci i dati specifici di ciascuna unità in una fase separata. Il numero di serie, l'indirizzo MAC e i valori di calibrazione variano a seconda dell'unità. Escludili dal digest dell'immagine completa e verificali confrontandoli con i rispettivi record, oppure calcola il digest previsto includendo i dati dell'unità.
  4. Verificare i byte delle opzioni, i fuse e i bit di blocco. Un'applicazione corretta con una configurazione di avvio errata o senza protezione di lettura è un'unità difettosa.
  5. Richiedi al dispositivo in esecuzione la versione del software e il digest della propria immagine tramite il protocollo dell'applicazione. Molti prodotti calcolano il CRC della propria memoria flash con una periferica hardware e lo comunicano. Questo permette anche di testare il percorso di comunicazione.
  6. Registrare il risultato nel sistema MES in corrispondenza del numero di serie dell'unità, insieme al digest dell'immagine e alla versione dello strumento. Non consentire all'unità di passare alla fase successiva senza una registrazione di esito positivo.
  7. Metti alla prova la stazione a intervalli prestabiliti con un campione notoriamente difettoso, ad esempio un'immagine con un bit invertito. Questo dimostra che la stazione continua a rifiutare il campione.
Metodo Forza Costo in tempo Limiti
Verifica programmatore Confronta il flash con l'immagine sorgente appena scritta Basso Non copre i byte delle opzioni, dipende dall'implementazione dello strumento
Rileggi e calcola l'hash sulla stazione Verifica indipendente del contenuto effettivo Da medio ad alto per le immagini di grandi dimensioni, poiché la lettura è spesso più lenta della programmazione. È necessario consentire la lettura inversa, operazione che la protezione della lettura potrebbe vietare
CRC calcolato dal dispositivo e trasmesso sul bus Veloce e verifica il percorso dell'applicazione Basso Protegge solo dagli errori accidentali e si basa sul firmware che lo calcola
Controllo della firma da parte del bootloader al primo avvio Dimostra integrità e origine Basso Accetta un'immagine errata ma firmata correttamente, quindi combinala con un controllo di versione

Presta attenzione all'ordine dei passaggi: una volta attivata la protezione dalla lettura, una successiva lettura inversa sarà impossibile. Verifica prima, poi blocca, infine controlla che il bit di blocco sia impostato.

Registri delle stazioni di prova e degli strumenti

I risultati dei test di coppia, visibilità, tenuta e elettrici costituiscono prove commerciali e talvolta legali. I dati archiviati come semplici file o righe possono essere alterati o persi senza lasciare traccia.

  • Calcola un hash del record in base al numero di serie, alla stazione, all'ora, al risultato e ai valori misurati.
  • Scrivi i record in un archivio di sola aggiunta oppure concatenali come descritto nel capitolo 13, con ancoraggio periodico.
  • Sincronizza gli orologi delle stazioni con una fonte oraria affidabile, in modo che i timestamp abbiano un significato preciso.

Comunicazione macchina-macchina

OPC UA offre la firma e la crittografia dei messaggi tramite le sue modalità di sicurezza Sign e SignAndEncrypt. Utilizzale tra stazioni, PLC e MES. La sicurezza del trasporto protegge i dati in transito. Non sostituisce i controlli a livello applicativo sui parametri critici, che devono rimanere inalterati durante l'archiviazione, la conversione e l'esportazione.

Dispositivi di stazione che garantiscono la sicurezza del processo

Alcune misure fisiche funzionano come un checksum. Il peso di un kit, ad esempio, è una proprietà ridondante che deve corrispondere al valore atteso.

Dispositivo Cosa verifica Tipico percorso difficile
Scanner o lettore di visione a montaggio fisso Contenuto dell'etichetta o del contrassegno decodificato rispetto all'ordine di lavoro Interblocco PLC che mantiene il nastro trasportatore
Regolatore di coppia e angolo con identificazione del dispositivo Il programma giusto per il giunto giusto, e coppia e angolo all'interno della finestra Strumento disabilitato fino all'attivazione del programma corretto.
Controllore di peso Massa dell'assemblaggio o del kit rispetto alla massa prevista Cancello di scarto per parte mancante o in eccesso
Sensori di presenza componenti e dispositivi di fissaggio con chiave Presenza, tipologia e orientamento della parte Avvio del ciclo non rilasciato
Dispositivo di programmazione con lettura di ritorno Riassunto della regione programmata letto dal dispositivo stesso Unità contrassegnata come guasta e inviata in riparazione
Passa e non passa o misuratore d'aria Tolleranza dimensionale interna Parte separata automaticamente o dall'operatore
Verifica dell'immagine
Implementare una verifica sicura delle immagini per gli aggiornamenti dei prodotti.

Consigli professionali

  • Consentire alla stazione di caricare un'immagine solo tramite revisione dal server di rilascio e verificarne l'hash o la firma prima del flashing. Rifiutare qualsiasi immagine che non corrisponda all'ordine di lavoro.
  • Applica un interruttore a chiave o un login autorizzato a ogni bypass di un arresto di emergenza e monitora l'andamento del numero di bypass per riga e per turno. Un conteggio in aumento indica un controllo debole prima ancora che lo segnali un'interruzione.

19. Gestione della qualità e conformità

I sistemi di qualità richiedono risultati che i checksum contribuiscono a garantire: identificazione, tracciabilità, documenti controllati e registrazioni affidabili. Gli standard raramente menzionano i checksum. Essi menzionano i risultati, e un controllo è un modo per dimostrare un risultato.

Struttura requisito Come un checksum lo supporta
ISO 9001:2015 Articolo 8.5.2 relativo all'identificazione, alla tracciabilità e al controllo delle informazioni documentate Cifre di controllo sugli identificativi, hash dei documenti controllati
IATF 16949 Tracciabilità, prevenzione degli errori, piani di controllo, PPAP Poka-yoke con cifre di controllo e verifica, hash nei pacchetti di dati PPAP
AS9100 Gestione della configurazione, identificazione del prodotto, prevenzione della contraffazione dei componenti Hash di rilascio per le baseline di configurazione, autenticazione delle parti
ISO 13485:2016 Tracciabilità (clausola 7.5.9), UDI, convalida del software Cifre di controllo UDI, verifica convalidata di etichette e firmware
21 CFR Parte 11 e Allegato 11 dell'UE Registri elettronici, tracce di controllo, firme elettroniche Catena di hash sulla traccia di controllo, firma dei record
SPORT 5 Validazione dei sistemi informatizzati basata sul rischio Validazione della funzione di verifica stessa

Integrità dei dati e ALCOA+

Gli enti regolatori descrivono l'integrità dei dati con i principi ALCOA: attribuibile, leggibile, contemporaneo, originale e accurato. Il modello ALCOA+ esteso aggiunge completezza, coerenza, durabilità e disponibilità. Un checksum corrisponde ad alcuni di questi principi. Dimostra che un record è accurato e non è cambiato dalla sua creazione. Una catena di hash dimostra che i record sono completi e in ordine.

Il checksum non indica chi ha creato un record né quando. È un complemento alla tracciabilità delle modifiche e al controllo degli accessi, non li sostituisce.

Tracciabilità e prontezza al richiamo

La tracciabilità si basa su identificativi che rimangono corretti dal ricevimento del componente alla spedizione. Le cifre di controllo mantengono gli identificativi corretti durante il passaggio attraverso scanner e tastiere. La genealogia collega i numeri di lotto, di serie e di serie attraverso i vari livelli, sia verso l'alto che verso il basso.

Misurate la prontezza con una simulazione di richiamo. La metrica è il tempo che intercorre tra un evento scatenante, ad esempio un numero di lotto del fornitore, e la visualizzazione dell'elenco completo delle unità finite interessate e delle relative ubicazioni. Controlli falliti e identificativi duplicati sono i motivi tipici per cui una simulazione di richiamo richiede giorni anziché ore.

Calibrazione
Implementare processi di verifica rigorosi per la calibrazione e i dati dei fornitori nella progettazione e nell'ingegneria del prodotto.

Dati relativi a calibrazione, apparecchiature di prova e fornitori.

  • Associa i certificati di calibrazione agli identificativi delle apparecchiature che includono una cifra di controllo e conserva l'hash di ciascun file di certificato.
  • Per i certificati dei fornitori, come CoC, CoA e rapporti di prova dei materiali, richiedete file firmati o dati strutturati. Confrontate automaticamente il numero di lotto e il codice articolo con l'ordine di acquisto e la bolla di ricevimento.
  • Per i file CAD, il firmware e i programmi di test dei fornitori, verificare il digest rispetto alla trasmissione prima che chiunque utilizzi il file.

Bonus: convalidare l'assegno stesso

Negli ambienti regolamentati, la funzione di verifica è parte di un sistema informatizzato e necessita di convalida secondo i principi GAMP 5. Pianificare l'installazione, la qualificazione operativa e delle prestazioni (IQ, OQ e PQ) in proporzione al rischio.

Il controllo di qualità operativo (OQ) deve includere test negativi. Fornire al controllo dati non validi e dimostrare che il controllo fallisce. Conservare i vettori di test nel file di convalida ed eseguirli nuovamente dopo qualsiasi modifica al software, al firmware del lettore o ai modelli di etichetta.

Mancia: InEseguire il controllo come parte del processo. Includere test negativi, memorizzare i vettori di test nel file di convalida e rieseguirli dopo qualsiasi modifica del firmware dello scanner, della stampante, della libreria o del sistema operativo.

20. La prospettiva Lean Six Sigma

Poka-yoke
L'integrazione di poka-yoke e jidoka migliora la progettazione del prodotto, garantendo qualità intrinseca e prevenzione degli errori nei processi di ingegneria.

Poka-yoke e jidoka

Molte analogie con i checksum: Shigeo Shingo ha formalizzato il poka-yoke, ovvero la prevenzione degli errori, durante la sua collaborazione con Toyota. Ha separato le funzioni di controllo, che rendono impossibile l'errore o arrestano il processo, dalle funzioni di avviso, che si limitano a segnalarlo. Il jidoka, la qualità integrata, aggiunge l'arresto: la macchina si ferma quando rileva un'anomalia.

Una cifra di controllo con arresto forzato in una stazione di scansione è una funzione di controllo. Un errore di scansione che consente comunque all'unità di passare è solo un avviso. Verificate le vostre stazioni per individuare esattamente questa differenza.

Analisi FMEA

Valuta onestamente il rilevamento di ciascun controllo. Un controllo con un arresto rigido, testato con campioni noti per essere difettosi e che copre la causa del guasto, ottiene una valutazione migliore rispetto allo stesso controllo che gli operatori possono aggirare. Registra le prove nell'analisi PFMEA.

Il metodo di priorità delle azioni AIAG-VDA spinge inoltre a migliorare prima la prevenzione. Prevenire, in questo contesto, significa progettare il processo in modo tale da impedire la generazione di dati errati, ad esempio generando identificatori ed etichette da un'unica fonte anziché digitarli manualmente.

DMAIC applicato agli errori di dati

Fase Attività Esempio con prodotti etichettati in modo errato
Definire Problema, ambito, caratteristica critica per la qualità Negli ultimi 12 mesi, al cliente A sono state consegnate etichette errate. Il requisito fondamentale per la qualità (CTQ) è che il contenuto dell'etichetta corrisponda al prodotto nel 100% delle unità.
Misura Linea di base e sistema di misurazione Conta i difetti per milione di etichette ed esegui un'analisi di concordanza degli attributi del verificatore rispetto a un riferimento
Analizzare Cause profonde Diagramma di Pareto delle cause: versione del modello, modifiche dei rulli, immissione manuale, ristampe
Migliorare Controlli Controllo hash del modello, scansione per corrispondenza, servizio seriale centrale, cifre di controllo ovunque rimanga la digitazione
Controllare Mantenere il guadagno Grafico di controllo del tasso di errore di scansione, piano di controllo, audit, piano di reazione

The defects per million opportunities follow from the number of defects [latex]D[/latex], the units [latex]N[/latex] and the opportunities per unit [latex]O[/latex]. The sigma level adds the conventional 1.5 sigma shift to the normal quantile.

[latex]\displaystyle \mathrm{DPMO} = \frac{D}{N \times O} \times 10^{6}[/latex]

[latex]\displaystyle \sigma_{\mathrm{level}} = \Phi^{-1}\left(1 – \frac{\mathrm{DPMO}}{10^{6}}\right) + 1.5[/latex]

A worked example with illustrative numbers shows the arithmetic. 36 wrong-label defects in 480,000 labels, counting one opportunity per label, give [latex]\mathrm{DPMO} = 36 / 480000 \times 10^{6} = 75[/latex]. With the conventional 1.5 sigma shift, that is a sigma level of about 5.3. After the improvements, 6 defects in the next 480,000 labels give 12.5 per million and about 5.7 sigma. The figures illustrate the calculation. They are not a benchmark.

Analisi del sistema di misurazione e SPC

Trattare gli scanner e i verificatori come sistemi di misurazione. I verificatori necessitano di una calibrazione riconducibile a uno standard di conformità. Per i dati di tipo "superato/non superato", eseguire un'analisi di concordanza degli attributi tra operatori, scanner e un riferimento, per quantificare la concordanza e l'eventuale errore sistematico.

Successivamente, monitorate la situazione con i grafici di controllo. Un grafico p è adatto a mostrare la proporzione di scansioni non riuscite per lotto. Un grafico u è adatto a mostrare i difetti per unità. Un tasso crescente di errori alla prima lettura spesso segnala l'usura della testina di stampa, del nastro o un substrato modificato, molto prima che i livelli di verifica scendano al di sotto del limite.

Sprechi e ritorno sull'investimento

Data errors create classic wastes: defects, rework, waiting for corrected data, motion to find the right item, and excess inventory held as a buffer against bad data. A simple model sums, over all stages [latex]s[/latex], the number of errors [latex]n_s[/latex] times the cost per error [latex]c_s[/latex].

[latex]\displaystyle C_{\mathrm{total}} = \sum_{s} n_s c_s[/latex]

Confrontate questa cifra con il costo di implementazione, che comprende principalmente la configurazione del software, l'hardware per scanner e verificatori e la formazione.

Calcola il costo per errore utilizzando i dati della tua contabilità analitica. Il costo per errore varia considerevolmente tra un errore rilevato in fase di stampa e un errore rilevato dal cliente.

esempio di piano di controllo

Caratteristica Metodo Frequenza Accettazione Piano di reazione
Modello di etichetta identità Hash confrontato con il record di rilascio Ogni lavoro inizia Incontro Blocca il lavoro, avvisa l'ingegneria
Qualità di stampa dei simboli Verificatore in linea Il 100%, oppure un campione per lotto se il rischio lo consente. Voto pari o superiore al minimo specificato Rifiuta l'etichetta, controlla la testina di stampa e il nastro
Etichetta il contenuto rispetto al record dell'unità Scansiona e confronta 100 percento Corrispondenza esatta Separare l'unità, esaminare il ruolo e i dati
Riepilogo del firmware hash di lettura 100% alla fine della linea Abbinare con digestivo dorato Riprogrammare una volta, poi eliminare e trovare la causa principale
Salute della funzione di controllo Sfida nota per essere negativa Ogni turno Il rifiuto viene registrato Arrestare la linea, ricalibrare o riparare
Tracciabilità Simulazione di richiamo dal lotto alle unità Annualmente o secondo il piano di revisione Tempi previsti rispettati Colmare le lacune nei dati genealogici

Tre famiglie di dispositivi poka-yoke

Shingo ha raggruppato i metodi di prevenzione degli errori in tre famiglie. Ciascuna ha un corrispettivo tra i controlli descritti in questa guida:

Metodo di contatto
Rileva forma, dimensione o colore tramite il tatto o un sensore, ad esempio un finecorsa o un dispositivo con chiave. La controparte dati è un test di formato o di cifra di controllo.
Metodo a valore fisso
Segnala un errore quando non viene raggiunto un numero predefinito di parti o movimenti, ad esempio un vassoio con posizioni predefinite. Il dato corrispondente è un campo di lunghezza o un conteggio di segmenti.
Metodo del passo di movimento
Verifica che le fasi si svolgano nella sequenza corretta, ad esempio tramite un meccanismo di blocco che impedisce l'esecuzione di una fase fino al completamento della precedente. Il corrispondente dato è un numero di sequenza o un flusso di lavoro di scansione e rilascio.

Suggerimenti

  • Inserire i dati di scarto delle stazioni di controllo nel sistema SPC, ad esempio un grafico per riga, con sottogruppi per turno, stampante o apparecchiatura. Un tasso di scarto stabile può comunque nascondere un ciclo di rilavorazione che consuma capacità produttiva.
  • Considera un rifiuto durante il controllo come un difetto della fase precedente del processo e non come un esito positivo del controllo stesso. Individua la causa e chiudi il ciclo alla fonte.

21. Logistica: come ridurre gli errori di prelievo in magazzino

Gli errori di prelievo sono tra i guasti più costosi legati ai dati nella logistica. Ognuno di essi innesca una catena di resi, rispedizioni e reclami.

Identificazione GS1

Il GTIN identifica un prodotto a un determinato livello di confezionamento. L'SSCC identifica un'unità logistica, come un pallet, ed è composto da 18 cifre. Il GLN identifica una sede o una parte. Il GRAI identifica i beni restituibili. Tutti questi codici hanno una cifra di controllo e lo standard di etichettatura logistica GS1 definisce come appaiono sulle unità.

Prevenzione degli errori basata sulla scansione

  1. Innanzitutto, scansiona l'etichetta della posizione. La convalida della cifra e del formato rileva immediatamente un codice di posizione errato e il WMS conferma che si tratta della posizione prevista.
  2. Scansiona il GTIN dell'articolo o della cassa. Il sistema lo confronta con l'attività di prelievo e rifiuta l'articolo errato prima dell'inserimento della quantità.
  3. Confermare la quantità tramite conteggio a scansione, oppure tramite controllo del peso qualora la scansione di ogni singolo pezzo non sia praticabile.
  4. Alla chiusura dell'unità, scansiona il contenitore di destinazione o l'SSCC e collega il contenuto ad esso.
  5. Al momento del carico, scansionare i codici SSCC confrontandoli con la distinta di spedizione.
Causa dell'errore di prelievo Rimedi tipici
Oggetti dall'aspetto simile negli slot adiacenti Scansiona per confermare il GTIN, regole di inserimento
Inserimento manuale dei codici di posizione o di articolo Elimina la tastiera dal processo e utilizza cifre di controllo laddove l'inserimento manuale dei dati sia inevitabile.
Confusione di unità di misura (singolo, confezione interna, scatola) GTIN distinti per livello di confezionamento, utilizzando la cifra indicatrice GTIN-14
Etichette danneggiate o illeggibili Verifica in fase di etichettatura, codici 2D con correzione degli errori, stazione di rietichettatura
Errori nei dati anagrafici Convalidare le cifre di controllo GTIN all'importazione e confrontarle con i dati di origine del fornitore.
SSCC duplicato Allocazione centrale e vincolo di unicità

Quantify accuracy as defects per million lines picked. A line accuracy of 99.9 percent sounds high, yet it equals [latex](1 – 0.999) \times 10^{6} = 1000[/latex] errors per million lines, far from six sigma. State targets in DPMO, so that they connect to your Lean Six Sigma metrics.

Integrità dei messaggi EDI, ASN ed EPCIS

I messaggi commerciali contengono campi di integrità propri. Gli standard EDI includono numeri di controllo e conteggi di segmento, ad esempio nei segmenti di chiusura di un messaggio EDIFACT o di un set di transazioni X12. Il destinatario li utilizza per rilevare dati troncati o mancanti. Gli eventi EPCIS contengono gli identificativi delle unità coinvolte e il valore dell'evento dipende dalle cifre di controllo e dall'unicità di tali identificativi.

La convalida al ricevimento del messaggio avviene in quest'ordine: conteggio dei controlli, cifre di controllo e formati dell'identificativo, e infine regole aziendali come la corrispondenza tra ASN e ordine di acquisto. I messaggi non conformi vengono rifiutati o messi in quarantena, e il tasso di rifiuto viene monitorato per partner commerciale.

Serializzazione nelle blockchain regolamentate

Le catene farmaceutiche e dei dispositivi medici aggiungono regole di serializzazione. Negli Stati Uniti, il Drug Supply Chain Security Act richiede un identificatore di prodotto con NDC, numero di serie, lotto e data di scadenza in una matrice di dati 2D su ogni confezione. I requisiti di sicurezza della distribuzione rafforzati sono entrati in vigore gradualmente. La data originaria era il 27 novembre 2023, un periodo di stabilizzazione è terminato il 27 novembre 2024 e la FDA ha concesso esenzioni ai piccoli distributori fino al 27 novembre 2026.Avviso di esenzione della FDA).

I riassunti degli studi legali riportano che la FDA ha esteso alcune esenzioni per i piccoli distributori fino al 27 novembre 2027 nell'agosto 2026 (Riassunto di Buchanan). Consultare il sito web della FDA per lo stato attuale.

Nell'UE, il quadro normativo della Direttiva sui medicinali falsificati prevede l'apposizione di un identificativo univoco e di un dispositivo antimanomissione sulle confezioni. Il sistema UDI per i dispositivi medici segue la stessa logica. Gli enti emittenti, come GS1, definiscono la struttura dell'identificativo e la cifra di controllo ne convalida l'autenticità.

Dati relativi alla catena del freddo e all'IoT

I registratori di temperatura e i sensori IoT forniscono la prova che una spedizione è rimasta entro i limiti consentiti. Scegli dispositivi che memorizzano le letture con un CRC o una firma digitale e preferisci i download firmati. Proteggi il trasporto con una crittografia autenticata. Senza questi passaggi, un file di registro è solo un foglio di calcolo modificabile.

Lotta alla contraffazione e tracciabilità

Un numero di serie con una cifra di controllo valida è facile da falsificare. Il sistema di tracciabilità aggiunge una registrazione lato server che indica quali numeri di serie sono stati emessi e dove sono stati rilevati. Un numero di serie ripetuto in due sedi diverse, o un numero di serie mai emesso, è un segnale di allarme. Per i beni di alto valore, è opportuno aggiungere una firma o un elemento di sicurezza, come descritto nel capitolo 14.

Blockchain e registri distribuiti

I registri distribuiti possono ancorare gli hash degli eventi della catena di approvvigionamento, in modo che nessuno possa alterare silenziosamente la cronologia. Non verificano che un evento sia realmente accaduto o che l'articolo scansionato sia quello autentico. I dati errati rimangono errati, ora con una marca temporale permanente.

Una catena di hash firmata con ancoraggio esterno fornisce la prova di manomissione necessaria alla maggior parte degli impianti, senza i costi operativi aggiuntivi. Considerate un registro condiviso solo quando diverse parti che non si fidano l'una dell'altra necessitano di un unico registro comune.

 

Esempi di dispositivi e strumenti per magazzino

  • Cuffie per il prelievo vocale: il sistema chiede all'operatore di pronunciare le cifre di controllo visualizzate nella posizione di prelievo. Una posizione errata viene rifiutata prima che qualsiasi articolo venga prelevato.
  • Moduli pick-to-light e put-to-light: una luce e un display della quantità segnalano il contenitore e l'operatore conferma premendo un pulsante. Aggiungere uno scanner per articoli laddove gli errori di prelievo sono costosi.
  • Scanner portatili e ad anello: scansione per confermare la posizione, l'articolo e il codice SSCC dell'etichetta del pallet.
  • Stazioni di pesatura e dimensionamento: il peso misurato viene confrontato con i dati anagrafici, in modo da segnalare un articolo errato o un cartone danneggiato.
  • Portali RFID alle porte di carico/scarico: i tag letti all'interno di un pallet vengono confrontati con l'avviso di spedizione anticipata.

22. Assistenza, post-vendita e fine vita

Aggiornamenti via etere
Processi di aggiornamento rigorosi nella progettazione del prodotto garantiscono sicurezza e affidabilità attraverso difese a più livelli contro potenziali guasti.

Aggiornamenti via etere e sul campo

Un processo di aggiornamento può fallire in tre modi: il trasferimento è danneggiato, l'immagine non è adatta al dispositivo oppure l'immagine è dannosa. È necessario implementare difese a più livelli per far fronte a questi possibili errori.

  • Un CRC per blocco o per chunk permette di individuare tempestivamente gli errori di trasferimento.
  • Un hash dell'intera immagine, verificato prima dell'installazione, ne conferma la completezza.
  • Un controllo della firma rispetto a una chiave pubblica memorizzata nel dispositivo conferma l'origine.
  • La corrispondenza tra l'identificativo del prodotto e quello dell'hardware impedisce l'installazione di un'immagine destinata a un altro dispositivo.
  • Un controllo della versione con protezione dal rollback impedisce il downgrade a versioni vulnerabili.
  • Le doppie partizioni con conferma all'avvio consentono di utilizzare la vecchia immagine anche in caso di errore della nuova.

Ricambi, garanzia e resi

  • I codici dei pezzi di ricambio includono una cifra di controllo, che viene convalidata dai moduli online per la registrazione della garanzia, consentendo così di individuare eventuali errori di digitazione alla fonte.
  • I numeri di serie collegano un guasto sul campo alla genealogia della produzione, incluso il digest del firmware registrato a fine linea.
  • La logistica inversa richiede gli stessi identificativi e gli stessi controlli del flusso diretto.

Passaporto digitale del prodotto

Il regolamento (UE) 2024/1781 sulla progettazione ecosostenibile dei prodotti è entrato in vigore il 18 luglio 2024 e ha introdotto il passaporto digitale del prodotto: un passaporto collega i dati standardizzati del ciclo di vita a un supporto dati presente sul prodotto, spesso un codice QR.

La Commissione europea ha lanciato il registro DPP con un ambiente di prova il 20 luglio 2026. Il primo passaporto obbligatorio si applica ad alcune batterie a partire dal 18 febbraio 2027 ai sensi del regolamento UE sulle batterie. Altri gruppi di prodotti seguiranno con l'adozione degli atti delegati. Vedi il Pagina delle commissioni sulle batterie e il annuncio del registro.

Le conseguenze per l'integrità dei dati sono dirette. L'identificativo univoco del prodotto deve rimanere unico, persistente e corretto per tutta la durata del prodotto, il che giustifica l'utilizzo di una cifra di controllo e di un processo di assegnazione centralizzato. I dati del passaporto devono essere verificabili, il che implica la verifica degli hash dei documenti sottostanti e delle firme dell'operatore economico. Il supporto dati deve inoltre rimanere leggibile, il che ci riporta alla qualità della marcatura e alla correzione degli errori.

23. Corruzione accidentale contro corruzione dolosa

Il controllo corretto dipende da chi o cosa causa l'errore. Rumore, usura ed errori umani sono casuali. Un manomettitore o un falsario non lo sono, e scelgono proprio quella modifica che il tuo controllo non può rilevare.

Minaccia Esempio Controlli che aiutano Controlli che non aiutano
Errore accidentale Inversione di bit, cifra digitata in modo errato, download parziale Cifra di controllo, CRC, hash Non serve altro oltre a questi
Modifica deliberata Firmware modificato, record di test alterato Firma, HMAC CRC, hash semplice, cifra di controllo
Sostituzione Pezzo contraffatto con numero di serie copiato Etichetta di autenticazione, tracciamento Cifra di controllo
Rigiocare Vecchio messaggio valido inviato di nuovo Contatore di sequenza o timestamp coperto da un MAC Qualsiasi checksum statico
Rollback Firmware vecchio, firmato ma vulnerabile, reinstallato Controllo della versione con contatore anti-rollback Solo la firma

Gli attacchi di collisione sono rilevanti quando due parti si affidano a un digest su un file preparato da una di esse. MD5 e SHA-1 non superano questa prova. Per l'autenticazione dei messaggi, utilizzare HMAC e mai un hash con prefisso segreto, a causa dell'estensione della lunghezza.

Sicurezza informatica industriale e regolamentazione

La serie IEC 62443 definisce un requisito fondamentale per l'integrità del sistema. Essa riguarda l'integrità della comunicazione e l'integrità del software e delle informazioni nei sistemi di automazione e controllo industriale. I controlli sul firmware, sulla configurazione e sulle ricette ne sono una prova diretta.

Il Regolamento (UE) 2024/2847 sulla resilienza informatica dell'UE è entrato in vigore il 10 dicembre 2024. Gli obblighi di segnalazione per le vulnerabilità attivamente sfruttate e gli incidenti gravi si applicano dall'11 settembre 2026, anche ai prodotti già presenti sul mercato. La prima notifica deve essere effettuata entro 24 ore dalla data in cui il fabbricante ne viene a conoscenza. L'applicazione completa, con i requisiti essenziali e la marcatura CE, è iniziata l'11 dicembre 2027. Le sanzioni per le violazioni degli obblighi di segnalazione possono raggiungere i 15 milioni di euro o il 2,5% del fatturato annuo mondiale. riassunto di Matheson copre la cronologia.

I requisiti essenziali includono la protezione dell'integrità dei dati, dei programmi e della configurazione contro modifiche non autorizzate e meccanismi di aggiornamento sicuri. Il firmware firmato e gli aggiornamenti verificati diventano quindi una questione di conformità e non solo una preferenza ingegneristica. La direttiva NIS2, (UE) 2022/2555, aggiunge obblighi di sicurezza e di segnalazione per molti fabbricanti di macchinari, apparecchiature elettriche, veicoli e dispositivi medici.

Contraffazione, mercato grigio e attacchi alla catena di approvvigionamento

  • I prodotti contraffatti copiano etichette e numeri di serie. La difesa si basa sull'autenticazione tramite un codice segreto, non su una cifra di controllo più precisa.
  • I prodotti del mercato grigio sono autentici ma deviati. Le norme di tracciabilità che segnalano un numero di serie rilevato nella regione sbagliata ne consentono l'individuazione.
  • Gli attacchi alla catena di fornitura prendono di mira il server di compilazione, il canale di aggiornamento o il firmware dei componenti forniti dai fornitori. Utilizzate build firmate, tenete una distinta base del software con i relativi digest e verificate i digest del firmware dei fornitori tramite un secondo canale.

24. Come scegliere il checksum corretto

Iniziate dalla minaccia, poi dal tipo di dati e infine dai vincoli. Rispondi alle domande in ordine e fermati al primo meccanismo che ti sembra corretto, poi aggiungi il successivo se anche la risposta a una domanda successiva è affermativa.

  1. Qualcuno potrebbe modificare deliberatamente i dati e trarne vantaggio? In caso affermativo, utilizzare una firma digitale o un HMAC. Conservare un CRC o un hash solo per gli errori accidentali.
  2. Il valore viene digitato, letto o scansionato dall'utente? In caso affermativo, utilizzare una cifra di controllo sull'identificativo, la convalida allo scanner e marcatori 2D con correzione degli errori contro i danni fisici.
  3. I dati viaggiano su un bus o risiedono in una piccola memoria? In caso affermativo, utilizzare un CRC con un polinomio scelto in base alla lunghezza del messaggio e alla distanza di Hamming necessarie. Aggiungere un CRC end-to-end per i parametri critici.
  4. Un file o un record deve necessariamente risultare identico a un riferimento? In caso affermativo, utilizzare SHA-256 per il confronto. Per confronti non critici, è sufficiente un algoritmo di hash veloce e non crittografico.
  5. I dati devono necessariamente sopravvivere a un danno senza possibilità di ritrasmissione? In caso affermativo, aggiungere un codice di correzione degli errori.
  6. I dati fanno parte di un registro regolamentato? In caso affermativo, aggiungere una traccia di controllo, la convalida e una giustificazione documentata del metodo scelto.
Dati o fase Rischio Approccio consigliato
Numeri di parte e numeri di serie digitati da persone Medio Cifra di controllo Damm, Verhoeff o ISO/IEC 7064. Cifra GS1 per le chiavi GS1.
Etichette e marchi Da medio ad alto Verifica secondo ISO/IEC 15415, 15416 o 29158, simboli 2D con correzione degli errori, hash del modello
Dati del bus di campo e dei sensori Medio Protocollo CRC con distanza di Hamming adatta alla lunghezza, protocollo di sicurezza ove richiesto
Ricette e parametri Alto Hash contro il record d'oro, più un CRC nel blocco dei trasferimenti
Pacchetti CAD e di rilascio Medio Il manifesto SHA-256 è memorizzato nel record di rilascio.
Firmware e aggiornamenti Alto Firma e SHA-256 per la versione di rilascio, CRC per i controlli in fase di esecuzione.
Registri regolamentati Alto Catena hash o firma con traccia di controllo, convalidata
Identificativi e messaggi logistici Medio Cifre di controllo GS1, totali di controllo dei messaggi, convalida delle regole aziendali
Confronto in blocco e deduplicazione Basso xxHash con un confronto completo sulla corrispondenza

Suggerimenti per la decisione

  • Conservare una registrazione delle decisioni per ogni oggetto dati: modello di errore, vettore, budget di dimensione, durata e proprietario. Rivederla a ogni fase della progettazione e ogni qualvolta la catena di fornitura o la minaccia subiscono modifiche.
  • Verifica i candidati con errori simulati che corrispondono a reali modalità di guasto: inversione di bit, cifre trasposte, troncamento e file errato. Misura il tasso di rilevamento invece di affidarti alla teoria.

25. Guida all'implementazione

Tre regole vi risparmieranno la maggior parte dei problemi. Utilizzate una libreria testata o un'unica implementazione condivisa. Fissate ogni parametro in un documento controllato. Eseguite i test con i vettori pubblicati prima della prima esecuzione in produzione. L'Appendice B contiene i vettori utilizzati di seguito.

Cifra di controllo GS1 in Python

def gs1_check_digit(body: str) -> int:
    if not body.isdigit():
        raise ValueError('digits only')
    total = sum(int(d) * (3 if i % 2 == 0 else 1)
                for i, d in enumerate(reversed(body)))
    return (10 - total % 10) % 10

def gs1_is_valid(full: str) -> bool:
    return (full.isdigit() and len(full) > 1
            and gs1_check_digit(full[:-1]) == int(full[-1]))

assert gs1_check_digit('400638133393') == 1
assert gs1_check_digit('34012345000000001') == 7
assert gs1_is_valid('4006381333931')

Cifra di controllo GS1 in Excel

Per un corpo GTIN-13 di 12 cifre memorizzato come testo nella cella A1, questa formula restituisce la cifra di controllo.

=MOD(10-MOD(SOMMA.PRODOTTO(--STRINGA.ESTRAI(A1;{1;3;5;7;9;11};1))+3*SOMMA.PRODOTTO(--STRINGA.ESTRAI(A1;{2;4;6;8;10;12};1));10);10)

Memorizza gli identificativi come testo, mai come numeri. Excel conserva solo 15 cifre significative in un numero, quindi un SSCC di 18 cifre memorizzato come numero perde le sue ultime cifre. Elimina anche gli zeri iniziali, il che corrompe i valori GTIN-12 e GTIN-8.

Cifra di controllo GS1 in SQL

Questa query utilizza un'espressione di tabella comune ricorsiva. È stata testata in SQLite e restituisce 1 per il corpo GTIN-13 e 7 per il corpo SSCC utilizzato sopra. Adatta la sintassi al dialetto del tuo database.

CON RICORSIVO d(i, n) COME ( SELEZIONA 1, LUNGHEZZA('400638133393') UNIONE TUTTI SELEZIONA i + 1, n DA d DOVE i < n ) SELEZIONA (10 - (SOMMA(CAST(SUBSTR('400638133393', i, 1) COME INTERO) * CASO QUANDO (n - i) % 2 = 0 ALLORA 3 ALTRIMENTI 1 FINE) % 10)) % 10 COME check_digit DA d;

Cifra di controllo GS1 nel testo strutturato del PLC

Questa funzione segue le funzioni di stringa della norma IEC 61131-3. I fornitori differiscono in dettagli come i nomi di conversione delle stringhe, quindi eseguila con i vettori nell'Appendice B nel tuo ambiente di runtime.

FUNZIONE GS1_CheckDigit : INT VAR_INPUT sBody : STRING(17); END_VAR VAR i, n, iSum : INT; END_VAR n := LEN(sBody); iSum := 0; PER i := 1 A n FAI SE ((n - i) MOD 2) = 0 ALLORA iSum := iSum + 3 * STRING_TO_INT(MID(sBody, 1, i)); ALTRIMENTI iSum := iSum + STRING_TO_INT(MID(sBody, 1, i)); END_IF END_FOR GS1_CheckDigit := (10 - (iSum MOD 10)) MOD 10;

CRC-32 in C

La versione bit a bit è la più breve e la più facile da verificare. È stata compilata e testata rispetto al vettore per la stringa ASCII 123456789. Il codice di produzione di solito passa a una tabella o a una periferica hardware.

uint32_t crc32_update(uint32_t crc, const uint8_t *data, size_t len) { while (len--) { crc ^= *data++; for (int bit = 0; bit > 1) ^ (0xEDB88320u & (0u - (crc & 1u))); } } return crc; } /* Inizia con 0xFFFFFFFF, alimenta ogni blocco, termina con un XOR finale: crc = 0xFFFFFFFFu; crc = crc32_update(crc, buffer, length); crc ^= 0xFFFFFFFFu; Il risultato per la stringa ASCII 123456789 è 0xCBF43926. */

Modbus CRC-16 e streaming SHA-256 in Python

import hashlib

def crc16_modbus(data: bytes) -> int:
    crc = 0xFFFF
    for byte in data:
        crc ^= byte
        for _ in range(8):
            crc = (crc >> 1) ^ 0xA001 if crc & 1 else crc >> 1
    return crc

frame = bytes([0x01, 0x03, 0x00, 0x00, 0x00, 0x0A])
crc = crc16_modbus(frame)
wire = frame + bytes([crc & 0xFF, crc >> 8])   # low byte first

def sha256_file(path, chunk=1024 * 1024):
    h = hashlib.sha256()
    with open(path, 'rb') as f:
        for block in iter(lambda: f.read(chunk), b''):
            h.update(block)
    return h.hexdigest()

Il filo variabile contiene 01 03 00 00 00 0A C5 CD. La funzione di streaming legge il file a blocchi, quindi gestisce immagini di qualsiasi dimensione con memoria costante. Per sperimentare con i checksum di stringhe esadecimali e ASCII, prova il Calcolatore di checksum esadecimale e ASCII su questo sito.

Insidie ​​nelle implementazioni del checksum

Insidia Che succede Contromisura
Ordine dei byte Modbus invia prima il byte basso del CRC. I byte scambiati falliscono a ogni frame Verificare confrontando i risultati con un fotogramma acquisito da un dispositivo reale.
Valore iniziale e riflessione Un diverso set di parametri produce un CRC plausibile ma errato Correggere tutti e sei i parametri CRC nella specifica dell'interfaccia
Testo contro byte Le terminazioni di riga, la codifica del testo e gli spazi finali modificano un digest Calcola l'hash dei byte esatti memorizzati e definisci la normalizzazione se è presente del testo.
Tipi numerici per gli identificatori Gli zeri iniziali scompaiono, i numeri lunghi perdono cifre nella virgola mobile Memorizza gli identificatori come stringhe in file Excel, CSV, database e dati PLC.
Caricamento di interi file in memoria Le immagini di grandi dimensioni consumano molta RAM sulla stazione Hash a pezzi
Coperture non definite Il digest include campi volatili come i numeri di serie Definisci le regioni esatte ed escludi o correggi i dati specifici delle unità.
Biblioteche non verificate Un bug silenzioso supera ogni test che non hai scritto Eseguire i vettori pubblicati nella pipeline di compilazione

26. Lista di controllo delle migliori pratiche per ruolo

Ricerca e sviluppo e progettazione

  • Definire una cifra di controllo e un formato fisso in ogni schema di identificazione, a partire dalla prima bozza del concetto di numerazione.
  • Assegna alle immagini del firmware un'intestazione contenente numero magico, versione, lunghezza, CRC e firma, e specifica il comportamento in caso di errore.
  • Documentare i parametri CRC e la motivazione alla base dell'utilizzo del polinomio nella specifica dell'interfaccia.
  • Memorizza gli hash dei pacchetti rilasciati nel record di rilascio e nelle trasmissioni del fornitore.
  • Nell'analisi di sicurezza, includere la copertura diagnostica dei controlli di memoria e comunicazione.

Produzione

  • Eseguire le stazioni di scansione e flash come cancelli con arresti rigidi e registrare ogni bypass.
  • Verificare il firmware tramite lettura del firmware o tramite un digest riportato dal dispositivo e registrare il risultato per ogni numero di serie.
  • Confronta le ricette attive con il simbolo dorato all'inizio di ogni lotto.
  • Ad ogni turno, ogni controllo viene sottoposto a una verifica con un campione notoriamente difettoso.
  • Mantenere i verificatori e gli scanner calibrati e sottoposti a regolare manutenzione.
Rilevamento FMEA
Implementare processi di garanzia della qualità rigorosi per migliorare l'affidabilità del prodotto attraverso test e validazioni sistematici.

Qualità

  • Valutare il rilevamento FMEA a partire da prove, come i risultati dei test di sfida e le registrazioni delle operazioni di bypass.
  • Convalida i controlli e conserva i vettori di test nel file di convalida.
  • Eseguire simulazioni di richiamo e monitorare i tempi di inserimento nell'elenco delle unità interessate.
  • Analizza i tassi di fallimento della scansione e i gradi di verifica, e intervieni in base alle tendenze.
  • Abbina automaticamente i certificati dei fornitori all'ordine di acquisto e ai dati di ricezione.
  •  

Logistica

  • Esegui la scansione per confermare la posizione, l'articolo e il contenitore ad ogni prelievo.
  • Convalidare gli identificativi e i messaggi al momento della ricezione e monitorare il tasso di rifiuto per ciascun partner commerciale.
  • Assegnare centralmente i codici SSCC e garantirne l'unicità.
  • Verificare le etichette nel punto di applicazione e utilizzare simboli 2D per catene di approvvigionamento lunghe o irregolari.
  • Esprimere gli obiettivi in ​​difetti per milione di righe.

IT e OT

  • Fornire una libreria o un servizio condiviso per cifre di controllo, CRC e hash, con vettori di test pubblicati.
  • Firmare il firmware e le build, conservare le chiavi private in un modulo di sicurezza hardware e pianificare la rotazione e la revoca.
  • Sincronizza gli orologi e conserva i record in archivi di sola aggiunta o in catene hash con ancoraggio esterno.
  • Memorizza gli identificatori come stringhe in ogni sistema che li utilizza.
  • Pianifica l'agilità degli algoritmi, perché SHA-1 verrà dismesso e arriveranno le firme post-quantistiche.

Due consigli da professionisti per gli ingegneri

  • Assegna un responsabile a ogni controllo. Tale persona si occuperà della gestione dell'algoritmo, dei parametri, dei vettori di test e del piano di intervento.
  • Inserisci ogni verifica nel piano di controllo e nell'analisi FMEA del processo, ed eseguine l'audit con la stessa frequenza di un sistema di misurazione.
Codici di controllo
L'integrazione di checksum robusti e processi controllati migliora l'integrità e l'affidabilità del ciclo di vita del prodotto.

Conclusione sui checksum e simili

I checksum sono piccoli, consolidati e ben noti. Il loro valore nel lavoro sui prodotti fisici deriva dall'inserire quello giusto al momento giusto del ciclo di vita e dal trattare il controllo come un processo controllato e documentato.

Utilizzare cifre di controllo laddove persone e scanner gestiscono gli identificativi. Utilizzare CRC per frame, blocchi e immagini, con un polinomio che si adatti alla lunghezza del messaggio. Utilizzare SHA-256 per file e record e firme o codici crittografati laddove sussista il rischio di modifiche intenzionali. Aggiungere la correzione degli errori laddove i marcatori e le memorie potrebbero essere danneggiati.

Quindi, chiudete il cerchio con le prove. Mettete in discussione i controlli, calibrate i verificatori, registrate i risultati e rivedete i dati. Un controllo che nessuno verifica è un'ipotesi.

 

Pilota durante il passaggio di consegne con il costo più alto per fuga e senza controllo oggi. Misura il tasso di fuga prima e dopo e usa il risultato per giustificare il prossimo.

Tratta ogni controllo come un elemento controllato con una specifica, un responsabile, vettori di test e una frequenza di verifica. Un controllo privo di questi elementi decadrà.

 

Domande frequenti

Perché un CRC-32 positivo non dimostra che un'immagine del firmware sia la versione prevista?

Un CRC rileva solo corruzioni accidentali e chiunque può creare un'immagine modificata che abbia lo stesso CRC. Verifica un digest SHA-256 confrontandolo con un record di rilascio che ti perviene tramite un canale separato e aggiungi una firma ovunque sussista il rischio di modifiche intenzionali.

Quali errori sfuggono al controllo della cifra decimale GS1 modulo 10?

Il controllo rileva ogni errore a singola cifra, ma non individua le trasposizioni di cifre adiacenti che differiscono di 5, circa l'11% degli scambi di cifre diverse. Inoltre, una cifra valida non dimostra nulla sull'allocazione, quindi è consigliabile mantenere la convalida dei dati master accanto al controllo aritmetico.

Come dovrei valutare la capacità di rilevamento FMEA per un controllo basato su checksum?

Valutate le prove, non l'algoritmo: un arresto automatico forzato, verificato con campioni notoriamente difettosi, ottiene una valutazione molto migliore rispetto a un controllo che gli operatori possono aggirare o che non è mai stato verificato. Quantificate la probabilità di elusione, conservate il registro delle verifiche e il registro delle elusioni e applicate la logica di priorità delle azioni AIAG-VDA 2019.

Come scelgo un polinomio CRC per la mia interfaccia?

La distanza di Hamming garantita dipende sia dal polinomio che dalla lunghezza del messaggio, quindi è necessario definire prima l'intervallo di lunghezza. Koopman ha dimostrato che il CRC-32 IEEE 802.3 raggiunge una distanza di Hamming di soli 4 sui frame Ethernet di lunghezza massima, mentre altri polinomi raggiungono 6, quindi è consigliabile utilizzare il polinomio ricavato dai risultati pubblicati di ricerche esaustive.

Perché due sistemi che dichiarano entrambi di utilizzare il CRC-16 presentano discrepanze su ogni singolo fotogramma?

Il nome non definisce l'algoritmo, poiché larghezza, polinomio, valore iniziale, riflessione in ingresso, riflessione in uscita e XOR finale devono corrispondere. Scrivere i sei parametri nella specifica dell'interfaccia e testare entrambe le estremità con il valore di controllo della stringa ASCII 123456789 dal catalogo Reveng.

Quando un confronto SHA-256 a fine riga non è ancora una prova sufficiente della correttezza del flash?

Eseguire l'hashing del file sorgente, o affidarsi al flag di successo del programmatore, non fornisce alcuna informazione sul contenuto del dispositivo. È necessario leggere la regione dal dispositivo attraverso un percorso separato, includere i byte di opzione, i fuse e i bit di blocco, gestire separatamente i dati specifici dell'unità come il numero di serie, l'indirizzo MAC e la calibrazione e registrare il risultato per ogni numero di serie.

È sufficiente una catena di hash per rendere i record di batch a prova di manomissione?

Una catena dimostra ordine e integrità solo se il suo hash più recente è ancorato al di fuori del sistema che contiene il registro. Utilizzate la firma periodica, i timestamp affidabili RFC 3161 oppure inviate l'hash a un cliente o a un revisore, perché altrimenti chiunque abbia accesso in scrittura può ricalcolare l'intera catena.

Dove smette di proteggere i miei segnali un CRC di un bus di campo?

Un gateway o un bridge ricalcola il CRC per il segmento successivo, in modo che eventuali corruzioni nella sua memoria tra i due salti non vengano rilevate. Per i segnali e i setpoint rilevanti per la sicurezza, è necessario aggiungere un CRC end-to-end con un contatore generato alla sorgente e verificato al consumatore.

Di quanti bit ha bisogno un hash non crittografico per inventari e deduplicazione?

Il limite imposto dalla data di nascita è decisivo: un hash a 32 bit con 100.000 elementi ha una probabilità di collisione di circa il 69%, mentre un hash a 64 bit con un milione di elementi si mantiene intorno a 2,7 su 100 milioni. Utilizza 64 bit o più e confronta i dati completi ogni volta che una corrispondenza determina una decisione.

Come devo trattare gli scanner e i verificatori di codici a barre in un'analisi del sistema di misurazione?

Calibrare i verificatori con una scheda di prova standard di conformità, applicare ISO/IEC 15416, 15415 o 29158 al tipo di simbolo ed eseguire un'analisi di concordanza degli attributi tra operatori, scanner e un riferimento. Un simbolo letto correttamente ha dimostrato solo di essere leggibile, quindi monitorare la distribuzione dei gradi e la capacità di correzione degli errori non utilizzata come indicatori di deriva.

Devo validare la funzione di controllo stessa in un ambiente regolamentato?

Sì, perché il controllo fa parte di un sistema informatizzato che rientra nei principi GAMP 5, 21 CFR Parte 11 o Allegato 11 UE. Pianifica IQ, OQ e PQ in proporzione al rischio, memorizza i vettori di test e i test negativi nel file di convalida e rieseguili dopo qualsiasi modifica del firmware dello scanner, della stampante, della libreria o del sistema operativo.

Come posso pianificare la dismissione degli algoritmi in prodotti che rimangono in servizio per 10-20 anni?

Tenere un registro degli algoritmi con le date di revisione, ad esempio per il piano del NIST di dismettere SHA-1 entro il 31 dicembre 2030. Progettare bootloader e canali di aggiornamento in modo che algoritmi e chiavi possano essere sostituiti sul campo, poiché il Cyber ​​Resilience Act rende obbligatori gli aggiornamenti firmati e verificati a partire dall'11 dicembre 2027.

 

Appendici

Appendice A: Vettori di test

Tutti i valori sono stati calcolati o confermati con il codice mostrato nel capitolo 25 o con strumenti di riferimento. Tutte le stringhe di input sono fornite come testo ASCII.

Funzione Ingresso Risultato atteso
CRC-32 123456789 0xCBF43926
CRC-32C 123456789 0xE3069283
CRC-16/MODBUS 123456789 0x4B37
CRC-16/CCITT-FALSE 123456789 0x29B1
CRC-8 (polinomio 0x07) 123456789 0xF4
SHA-256 123456789 15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225
Telaio Modbus RTU 01 03 00 00 00 0A CRC 0xCDC5, inviato come C5 CD
Esempio didattico CRC-3 Messaggio 1101, generatore 1011 Resto 001
Cifra di controllo GTIN-13 400638133393 1, chiave completa 4006381333931
Cifra di controllo GTIN-12 03600029145 2, chiave completa 036000291452
Cifra di controllo GTIN-14 1540014128876 3, chiave completa 15400141288763
cifra di controllo SSCC 34012345000000001 7, chiave completa 340123450000000017
Cifra di controllo di Luhn 7992739871 3, numero completo 79927398713
Cifra di controllo VIN (regola nordamericana) 11111111111111111 1
Cifra di controllo VIN (regola nordamericana) 1HGBH41JXMN109186 X in posizione 9

Appendice B: Norme e riferimenti

Fonti online utilizzate per questo articolo, verificate nel novembre 2026:

Norme e pubblicazioni citate per nome, disponibili presso gli enti emittenti:

  • RFC 1071 (checksum Internet), RFC 2104 (HMAC), RFC 3161 (protocollo di timestamp)
  • FIPS 180-4 (SHA-1 e SHA-2), FIPS 202 (SHA-3), NIST SP 800-38B (CMAC)
  • ISO/IEC 7064 (sistemi di caratteri di controllo), ISO 6346 (codici dei contenitori), ISO/IEC 29158 (qualità della marcatura diretta dei componenti)
  • ISO 9001, IATF 16949, AS9100, ISO 13485, ISO 26262, IEC 61508, IEC 62304, IEC 62443
  • Manuale FMEA di AIAG e VDA, prima edizione, 2019
  • 21 CFR Parte 11, GMP UE Allegato 11, GAMP 5
  • Maxino e Koopman, L'efficacia dei checksum per le reti di controllo embedded, IEEE Transactions on Dependable and Secure Computing, 2009
  • Regolamento (UE) 2024/2847 (Cyber ​​Resilience Act), Regolamento (UE) 2024/1781 (Ecodesign per prodotti sostenibili), Regolamento (UE) 2023/1542 (Batterie), Direttiva (UE) 2022/2555 (NIS2)

Glossario dei termini utilizzati

Advance Shipping Notice (ASN): a notification sent by a supplier to inform a buyer about the details of a pending shipment, including contents, quantities, and expected arrival time, facilitating efficient receiving and inventory management.

Advanced Encryption Standard (AES): un algoritmo di crittografia a chiave simmetrica stabilito dal National Institute of Standards and Technology degli Stati Uniti, che utilizza cifrari a blocchi con dimensioni delle chiavi di 128, 192 o 256 bit, progettato per proteggere i dati elettronici attraverso processi di sostituzione e permutazione.

Asynchronous Transfer Mode (ATM): Una tecnologia di rete ad alta velocità che utilizza celle di dimensioni fisse per la trasmissione dati, consentendo una comunicazione efficiente e flessibile su diversi tipi di media. Supporta molteplici tipologie di servizi, tra cui voce, video e dati, facilitando la gestione della Qualità del Servizio (QoS).

Attributable, Legible, Contemporaneous, Original, Accurate (ALCOA+): a set of principles ensuring data integrity in regulated environments, emphasizing that data must be traceable to its source, easily readable, recorded at the time of occurrence, in its original form, and precise in content.

Bill Of Material (BOM): un elenco strutturato che descrive in dettaglio i componenti, i sottoassiemi e le materie prime necessari per realizzare un prodotto, comprese quantità e specifiche, utilizzato per la pianificazione della produzione e la gestione dell'inventario.

Bill of Materials (BOM): Un elenco completo che specifica i componenti, i materiali e le quantità necessari per fabbricare un prodotto, spesso utilizzato nella produzione e nell'ingegneria per facilitare la pianificazione della produzione, la gestione delle scorte e la stima dei costi.

Carriage and Insurance Paid To (CIP): Un termine di spedizione che indica che il venditore paga il trasporto e l'assicurazione della merce fino a una destinazione specifica, trasferendo il rischio all'acquirente una volta che la merce viene consegnata al vettore.

Central Processing Unit (CPU): Un componente hardware che esegue le istruzioni dei programmi per computer, svolgendo operazioni aritmetiche, logiche, di controllo e di input/output. È costituito da un'unità aritmetico-logica, un'unità di controllo e registri, e funge da unità di elaborazione primaria nei sistemi informatici.

Certificate of Analysis (CoA): un documento rilasciato da un produttore o da un laboratorio di prova che conferma le specifiche, la qualità e la conformità di un prodotto agli standard normativi, specificando i risultati dei test e i metodi utilizzati per l'analisi.

Certificate of Conformance (CoC): un documento rilasciato da un produttore o fornitore che conferma che un prodotto soddisfa standard, normative o requisiti contrattuali specifici, spesso utilizzato nei processi di garanzia della qualità e verifica della conformità.

Code of Federal Regulations (CFR): Una raccolta di norme generali e permanenti pubblicate dalle agenzie federali degli Stati Uniti, organizzate per argomento in 50 titoli, che funge da fonte giuridica ufficiale per le normative federali.

Computed Tomography (CT): Una tecnica di imaging medico che utilizza raggi X ed elaborazione computerizzata per creare immagini trasversali del corpo, consentendo una visualizzazione dettagliata delle strutture e dei tessuti interni. Migliora le capacità diagnostiche fornendo rappresentazioni tridimensionali a partire da dati bidimensionali.

Computer Aided Design (CAD): un'applicazione software utilizzata per creare, modificare, analizzare e ottimizzare progetti in vari campi quali ingegneria, architettura e produzione, consentendo disegni e modelli precisi tramite strumenti e tecniche digitali.

Computer Algebra Systems (CAS): Software progettato per manipolare espressioni matematiche in forma simbolica, consentendo operazioni come semplificazione, derivazione, integrazione e risoluzione di equazioni. Questi sistemi facilitano calcoli esatti e forniscono strumenti per la risoluzione di problemi algebrici, spesso utilizzati in ambito didattico e di ricerca.

Computer-Aided Design (CAD): un'applicazione software utilizzata per creare, modificare, analizzare e ottimizzare progetti in vari campi quali ingegneria, architettura e produzione, consentendo disegni e modelli precisi tramite strumenti e tecniche digitali.

Contract Manufacturer (CM): Un'azienda che produce beni per conto di un'altra azienda, in genere seguendo specifiche di progettazione e qualità. Questa soluzione consente all'azienda che assume di concentrarsi su competenze chiave come marketing e sviluppo prodotto, esternalizzando i processi di produzione.

Conversion Rate (CR): the percentage of visitors to a website or landing page who complete a desired action, such as making a purchase or signing up for a newsletter, calculated by dividing the number of conversions by the total number of visitors.

Cost and Freight (CFR): Un contratto di spedizione in cui il venditore paga le spese di trasporto e di nolo per consegnare la merce a un porto specificato, mentre l'acquirente si assume il rischio e la responsabilità per l'assicurazione e i costi una volta che la merce è stata caricata sulla nave.

Cost of Poor Quality (COPQ): costi totali associati a difetti, guasti e inefficienze di un prodotto o servizio, tra cui rilavorazioni, scarti, richieste di garanzia e mancate vendite, che riflettono l'impatto finanziario del mancato rispetto degli standard di qualità.

Critical to Quality (CTQ): una caratteristica o un attributo misurabile che ha un impatto significativo sulla soddisfazione del cliente e sulle prestazioni del prodotto, fungendo da fattore chiave nelle iniziative di gestione della qualità e di miglioramento dei processi.

Cyclic Redundancy Check (CRC): a method for detecting errors in digital data by applying polynomial division. It generates a fixed-size checksum based on the data's binary representation, allowing verification of data integrity during transmission or storage.

Defects Per Million Opportunities (DPMO): una misura utilizzata nel controllo qualità che quantifica il numero di difetti in un processo per un milione di opportunità di errore, calcolato dividendo il numero di difetti per il numero totale di opportunità e moltiplicando per un milione.

Define Measure Analyze Improve Control (DMAIC): una strategia di qualità basata sui dati utilizzata in Six Sigma per il miglioramento dei processi, composta da cinque fasi: identificazione del problema, misurazione delle prestazioni attuali, analisi dei dati per identificare le cause, miglioramento dei processi in base ai risultati e controllo delle prestazioni future per sostenere i miglioramenti.

Define, Measure, Analyze, Improve, Control (DMAIC): a data-driven quality strategy used in Six Sigma for process improvement, consisting of five phases: defining the problem, measuring current performance, analyzing data to identify causes, improving processes based on findings, and controlling future performance to sustain improvements.

Differential Scanning Calorimetry (DSC): una tecnica di analisi termica che misura il flusso di calore associato alle transizioni di fase nei materiali in funzione della temperatura, consentendo la determinazione di proprietà termiche quali punti di fusione, temperature di transizione vetrosa e capacità termiche.

Electronic data interchange (EDI): Un metodo standardizzato per lo scambio elettronico di documenti aziendali tra organizzazioni, consentendo il trasferimento automatizzato dei dati e riducendo i processi cartacei. Facilita transazioni come ordini, fatture e avvisi di spedizione attraverso formati strutturati come ANSI X12 o EDIFACT.

Electronic Product Code Information Services (EPCIS): a set of standards enabling the sharing of information about the physical movement and status of products in the supply chain, facilitating visibility and traceability through the use of Electronic Product Codes (EPC).

Engineering Change Notice (ECN): un documento che comunica le modifiche apportate alla progettazione, alle specifiche o ai processi del prodotto, specificando i motivi delle modifiche, gli elementi interessati e le istruzioni di implementazione, garantendo che tutte le parti interessate siano informate e possano gestire la transizione in modo efficace.

Engineering Change Order (ECO): un documento che autorizza modifiche alla progettazione, alle specifiche o ai processi di un prodotto, specificando dettagliatamente le modifiche, le motivazioni e le istruzioni di implementazione, garantendo un monitoraggio e una gestione adeguati delle modifiche durante l'intero ciclo di vita del prodotto.

Enterprise Resource Planning (ERP): una soluzione software che integra i processi aziendali principali, tra cui finanza, risorse umane, produzione e catena di fornitura, in un sistema unificato per semplificare le operazioni, migliorare l'accuratezza dei dati e potenziare il processo decisionale in tutta l'organizzazione.

Error-Correcting Code (ECC): a method used in digital communication and data storage that enables the detection and correction of errors in transmitted or stored data by adding redundant information, allowing recovery of original data despite corruption or loss.

Failure Mode and Effects Analysis (FMEA): un metodo sistematico per valutare le potenziali modalità di guasto all'interno di un sistema, processo o prodotto, valutandone gli effetti sulle prestazioni e dando priorità ai rischi per migliorare l'affidabilità e la sicurezza attraverso azioni correttive.

First Article Inspection (FAI): un processo di garanzia della qualità che verifica il processo di produzione di un produttore ispezionando il primo articolo prodotto in base ai requisiti specificati, assicurando la conformità alle specifiche e agli standard di progettazione prima dell'inizio della produzione di massa.

Food and Drug Administration (FDA): un'agenzia federale del Dipartimento della Salute e dei Servizi Umani degli Stati Uniti responsabile della regolamentazione della sicurezza alimentare, dei prodotti farmaceutici, dei dispositivi medici, dei cosmetici e dei prodotti del tabacco per garantire la salute e la sicurezza pubblica attraverso la valutazione scientifica e l'applicazione degli standard di conformità.

Forms Follow Functions (FFF): un principio di progettazione che afferma che la forma o l'aspetto di un oggetto dovrebbero basarsi principalmente sulla sua funzione o scopo previsto, privilegiando la praticità e l'usabilità rispetto alle considerazioni estetiche.

Global Location Number (GLN): a unique identifier for physical locations or legal entities within the supply chain, consisting of 13 digits. It facilitates efficient data exchange and enhances traceability in business transactions.

Global Positioning System (GPS): un sistema di navigazione satellitare che fornisce informazioni precise sulla posizione e sull'ora in qualsiasi punto della Terra, utilizzando una rete di satelliti, stazioni terrestri e ricevitori per determinare coordinate precise tramite triangolazione.

Global Trade Item Number (GTIN): a unique identifier for products, consisting of 8, 12, 13, or 14 digits, used internationally to facilitate the identification and tracking of items in commerce and supply chains. It is often represented in barcodes.

Good Manufacturing Practice (GMP): Un sistema che garantisce che i prodotti siano realizzati e controllati costantemente secondo standard di qualità, riducendo al minimo i rischi associati alla produzione farmaceutica e alle industrie correlate. Comprende linee guida per i processi di produzione, le condizioni degli impianti, le qualifiche del personale e le pratiche di documentazione per garantire la sicurezza e l'efficacia dei prodotti.

Hash-Based Message Authentication Code (HMAC): a cryptographic construct that combines a hash function with a secret key to ensure data integrity and authenticity, producing a fixed-size output that verifies both the message and the key, protecting against tampering and forgery.

Hypertext Transfer Protocol (HTTP): Un protocollo utilizzato per la trasmissione di ipertesti tramite Internet, che consente la comunicazione tra browser web e server. Definisce i formati di richiesta e risposta, facilitando il recupero di risorse web come documenti HTML, immagini e altri contenuti multimediali.

Installation Qualification (IQ): un processo documentato per verificare che le apparecchiature o i sistemi siano installati secondo le specifiche, inclusa la valutazione delle utenze, delle condizioni ambientali e della conformità ai requisiti di progettazione, garantendo la prontezza per la qualificazione operativa.

Institute of Electrical and Electronics Engineers (IEEE): Un'associazione professionale dedicata al progresso tecnologico in ingegneria elettrica, elettronica, informatica e settori correlati attraverso pubblicazioni, conferenze e sviluppo di standard. Promuove l'innovazione e la collaborazione tra professionisti e ricercatori a livello globale.

International Electrotechnical Commission (IEC): un'organizzazione globale che sviluppa e pubblica standard internazionali per le tecnologie elettriche, elettroniche e correlate, facilitando il commercio internazionale e garantendo la sicurezza, l'efficienza e l'interoperabilità dei dispositivi e dei sistemi elettrici.

International Organization for Standardization (ISO): Un organismo internazionale non governativo che sviluppa e pubblica standard per garantire qualità, sicurezza, efficienza e interoperabilità in vari settori industriali e commerciali, facilitando il commercio e la cooperazione globali. Fondato nel 1947, comprende organizzazioni nazionali di normazione dei paesi membri.

Internet of Things (IoT): una rete di dispositivi interconnessi dotati di sensori, software e altre tecnologie che consentono loro di raccogliere e scambiare dati tramite Internet, facilitando l'automazione, il monitoraggio e il controllo di vari processi e sistemi.

Manufacturing Execution System (MES): Una soluzione software che monitora, controlla e ottimizza i processi produttivi in ​​tempo reale, facilitando la raccolta dei dati, il tracciamento delle operazioni di produzione e l'integrazione con i sistemi aziendali per migliorare l'efficienza e la produttività in officina.

Measurement System Analysis (MSA): un metodo statistico utilizzato per valutare l'accuratezza, la precisione e l'affidabilità dei processi e degli strumenti di misurazione, garantendo che i dati raccolti siano validi e coerenti per il processo decisionale nel controllo qualità e nel miglioramento dei processi.

Metal Active Gas (welding) (MAG): un processo di saldatura che utilizza un elettrodo consumabile alimentato in modo continuo e una miscela di gas di protezione, in genere contenente anidride carbonica, per proteggere il bagno di saldatura dalla contaminazione atmosferica durante la giunzione di metalli ferrosi e non ferrosi.

Metal Inert Gas (welding) (MIG): un processo di saldatura che utilizza un elettrodo a filo continuo solido alimentato attraverso una pistola per saldatura, creando un arco elettrico tra il filo e il pezzo in lavorazione, fondendo entrambi per formare un bagno di saldatura, solitamente schermato da un gas inerte per evitare la contaminazione.

Operational Qualification (OQ): un processo di convalida che garantisce che le apparecchiature o i sistemi funzionino secondo requisiti specifici entro limiti definiti, confermando che funzionano come previsto nel loro ambiente operativo.

Optical Proximity Correction (OPC): Una tecnica di miglioramento della litografia che modifica i modelli delle maschere per compensare le distorsioni ottiche durante la produzione di semiconduttori, migliorando la fedeltà delle caratteristiche sui wafer di silicio regolando le forme e le dimensioni delle caratteristiche per ottenere le dimensioni desiderate dopo l'esposizione e lo sviluppo.

Ordinary Differential Equation (ODE): Un'equazione matematica che coinvolge una funzione di una variabile e le sue derivate, esprimendo la relazione tra la funzione e i suoi tassi di variazione. Le soluzioni sono funzioni che soddisfano l'equazione all'interno di un dominio specificato.

Performance Qualification (PQ): un processo che verifica che un sistema o un'apparecchiatura funzioni secondo requisiti specifici in condizioni reali, assicurando che svolga costantemente la funzione prevista entro limiti predeterminati.

Probability Density Function (PDF): Una funzione che descrive la probabilità che una variabile casuale continua assuma un valore specifico, dove l'area sottesa alla curva su un intervallo rappresenta la probabilità che la variabile ricada all'interno di tale intervallo.

Process Failure Mode and Effects Analysis (PFMEA): un metodo sistematico per identificare e valutare potenziali guasti in un processo produttivo o aziendale, valutandone gli effetti sui risultati e dando priorità alle azioni per mitigare i rischi.

Product Data Management (PDM): un sistema per la gestione dei dati e dei processi relativi al prodotto durante l'intero ciclo di vita del prodotto, facilitando la collaborazione, il controllo delle versioni e il recupero dei dati tra le parti interessate per migliorare l'efficienza e ridurre gli errori nello sviluppo e nella produzione del prodotto.

Product Lifecycle Management (PLM): un approccio sistematico alla gestione del ciclo di vita di un prodotto, dall'ideazione alla progettazione ingegneristica e alla produzione, fino all'assistenza e allo smaltimento, integrando persone, processi, dati e tecnologia per migliorare la qualità del prodotto, ridurre i tempi di commercializzazione e migliorare la collaborazione tra le parti interessate.

Production Part Approval Process (PPAP): una procedura standardizzata utilizzata nella produzione per garantire che i fornitori soddisfino i requisiti di qualità prima della produzione di massa, che prevede la documentazione e la convalida delle specifiche di progettazione, delle capacità di processo e dei campioni di produzione per confermare la conformità alle aspettative del cliente.

Programmable Logic Controller (PLC): Un computer digitale utilizzato per l'automazione dei processi industriali, costituito da una memoria programmabile per l'archiviazione delle istruzioni, interfacce di input/output per il monitoraggio e il controllo dei macchinari e un processore per l'esecuzione degli algoritmi di controllo.

Project Management Office (PMO): un'entità centralizzata all'interno di un'organizzazione che standardizza le pratiche di gestione dei progetti, fornisce governance, supporta l'esecuzione dei progetti e facilita l'allocazione delle risorse per garantire l'allineamento con gli obiettivi strategici e migliorare i risultati del progetto.

Random Access Memory (RAM): Un tipo di memoria per computer che consente di leggere e scrivere dati in qualsiasi ordine, permettendo un accesso rapido e l'archiviazione temporanea per processi e applicazioni attivi. È volatile, il che significa che i dati vengono persi quando si interrompe l'alimentazione.

Read-Only Memory (ROM): Supporto di memorizzazione non volatile che conserva i dati anche a dispositivo spento, tipicamente utilizzato per memorizzare firmware o software che non devono essere modificati frequentemente. L'accesso è generalmente di sola lettura, con capacità di scrittura dati limitata o assente.

Request For Comments (RFC): Un documento che propone standard, protocolli o metodologie da sottoporre a revisione e discussione all'interno di una comunità, spesso portando all'adozione formale. Serve come mezzo per sollecitare feedback e promuovere la collaborazione tra le parti interessate in ambiti tecnici.

Return on Investment (ROI): metrica finanziaria utilizzata per valutare la redditività di un investimento, calcolata dividendo l'utile netto dell'investimento per il costo iniziale, espresso in percentuale.

Serial Shipping Container Code (SSCC): a unique identifier for logistics units, consisting of 18 digits, used to track and manage shipments in supply chains, facilitating automated data capture and improving inventory accuracy.

Solid State Drive (SSD): Un dispositivo di archiviazione dati che utilizza memoria flash basata su NAND per memorizzare dati permanenti, offrendo velocità di lettura e scrittura più elevate, latenza inferiore e maggiore durata rispetto ai tradizionali dischi rigidi, senza parti in movimento.

Statistical Process Control (SPC): un metodo di controllo qualità che impiega tecniche statistiche per monitorare e controllare un processo, assicurandone il funzionamento al massimo delle sue potenzialità mediante l'identificazione delle variazioni e il mantenimento di un output coerente entro limiti specificati.

Structured Query Language (SQL): Un linguaggio di programmazione standardizzato utilizzato per la gestione e la manipolazione di database relazionali, che consente agli utenti di eseguire operazioni come interrogazione, aggiornamento, inserimento ed eliminazione di dati attraverso un insieme di comandi e sintassi predefiniti.

Toyota Production System (TPS): una metodologia di produzione che enfatizza la riduzione degli sprechi, il miglioramento continuo e l'efficienza del flusso di produzione, utilizzando tecniche come Just-In-Time e Jidoka per migliorare la qualità e l'efficienza operativa.

Transmission Control Protocol (TCP): Un protocollo fondamentale della suite di protocolli Internet che garantisce la trasmissione affidabile, ordinata e priva di errori dei dati tra le applicazioni su una rete. Stabilisce le connessioni, gestisce il flusso di dati e si occupa delle ritrasmissioni in caso di perdita di pacchetti.

Unique Device Identification (UDI): a system that assigns a distinct numeric or alphanumeric code to medical devices, enabling their identification and tracking throughout their lifecycle, ensuring traceability, regulatory compliance, and improved patient safety.

Universal Serial Bus (USB): Uno standard per la connessione di dispositivi ai computer, che consente il trasferimento dati e l'alimentazione. Supporta diversi protocolli e permette la sostituzione a caldo (hot swapping), con diverse versioni che offrono velocità di trasferimento dati e capacità di alimentazione differenti. Comunemente utilizzato per periferiche come tastiere, mouse e dispositivi di archiviazione.

User Requirement Specification (URS): un documento che descrive in dettaglio le esigenze e le aspettative degli utenti per un sistema o un prodotto, delineando i requisiti funzionali e non funzionali per guidare lo sviluppo e garantire l'allineamento con gli obiettivi dell'utente.

User Datagram Protocol (UDP): Un protocollo di livello di trasporto senza connessione che consente la trasmissione di datagrammi senza stabilire una connessione, fornendo servizi minimi di ripristino degli errori. È adatto per applicazioni che richiedono un trasferimento dati rapido ed efficiente, come lo streaming e i giochi online, dove la velocità è prioritaria rispetto all'affidabilità.

Value Engineering (VE): Un metodo sistematico per migliorare il valore di un progetto analizzandone le funzioni, riducendo i costi e migliorando le prestazioni senza sacrificare la qualità o l'affidabilità. Implica un lavoro di squadra interdisciplinare per identificare e implementare alternative economicamente vantaggiose.

Argomenti trattati: Checksum, integrità dei dati, ciclo di vita del prodotto, errori di scansione del codice a barre, strumento di qualità, cifre di controllo, CRC, SHA-256, file CAD, distinta base, ordine di lavoro, registri di spedizione, cifra di controllo GS1, correzione degli errori, immagini del firmware, firma, codice digitato e passaporto digitale del prodotto.

Contesto storico

1959-11
1960
1960
1960
1960
1960
1960
1958
1960
1960
1960
1960
1960
1960
1960

(se la data è sconosciuta o non rilevante, ad esempio "meccanica dei fluidi", viene fornita una stima approssimativa della sua notevole comparsa)

decimo anno anniversario

Le immagini a grandezza naturale e i download sono disponibili, gratuitamente al 100%, solo per gli utenti registrati.

> Login <