
Un palé sale del muelle con el producto correcto y la etiqueta equivocada. La planta receptora lo escanea, el sistema ERP acepta el código y, tres semanas después, una reclamación apunta a un lote que nadie puede localizar. La pieza en sí no tenía ningún defecto. Solo había un dígito erróneo en los datos que la identifican.
La suma de verificación es el control más económico contra este tipo de fallos. Añade unos pocos dígitos o bytes a un registro, y cualquier estación posterior puede verificarlo sin necesidad de consultar una base de datos.
Los productos físicos transmiten datos a través de múltiples manos, máquinas y formatos. Un archivo CAD se convierte en una lista de materiales (BOM), una lista de materiales se convierte en una orden de trabajo y una orden de trabajo se convierte en una etiqueta. La etiqueta se convierte en un escaneo y el escaneo se convierte en un registro de envío.
Esta guía trata la suma de verificación como una herramienta de calidad, no como un tema de TI ni de desarrollo. Cubre los algoritmos desde los dígitos de control hasta SHA-256, y luego los aplica paso a paso: diseño, industrialización, producción, calidad, logística y servicio. Cada capítulo finaliza con dos consejos para ingenieros que trabajan con productos físicos.
Nota: Las fechas reglamentarias mencionadas en este artículo, como las de la Ley de Resiliencia Cibernética de la UE, el Pasaporte de Producto Digital y la DSCSA de EE. UU., se verificaron en noviembre de 2026. Confírmelas nuevamente antes de elaborar un plan de cumplimiento basado en ellas.
Conclusiones clave
- Una suma de verificación detecta errores accidentales. Para evitar cambios deliberados se necesita una firma o un código cifrado.
- Los dígitos de control protegen los identificadores que manejan las personas y los escáneres. Los CRC protegen las tramas y las imágenes de firmware. Las funciones hash criptográficas protegen los archivos y los registros.
- El dígito de control GS1 detecta todos los errores de un solo dígito. Omite aproximadamente el 11 por ciento de las transposiciones adyacentes, es decir, aquellas en las que los dos dígitos difieren en 5.
- Verifique tanto en el momento de la creación como en el de su uso. Una sola verificación en una etapa deja todas las demás sin cubrir.
- Considere la verificación en sí misma como un sistema de medición. Someta la verificación a pruebas con muestras defectuosas conocidas, calibre los verificadores y realice un seguimiento de los resultados.
1. Por qué los productos físicos dependen de la integridad de los datos.
Un producto es un objeto físico más sus datos.
Estos datos incluyen modelos CAD, planos, listas de materiales, imágenes de firmware, tablas de calibración, etiquetas, registros de lotes, resultados de pruebas y documentos de envío. Un valor erróneo en cualquiera de ellos puede detener una línea de producción, enviar el artículo equivocado a un cliente o provocar una retirada del producto.
Donde los errores de datos entran en la cadena
Los errores suelen provenir de estas cinco fuentes:
- La gente se equivoca al teclear los dígitos o al leerlos.
- Las máquinas interpretan erróneamente las marcas que están dañadas.
- Bits de inversión de almacenamiento y transmisión.
- Los cambios en el proceso reemplazan la versión correcta por una obsoleta.
- Finalmente, alguien podría alterar los datos intencionadamente.

| Origen del error | Ejemplo | Consecuencia típica | Control típico |
|---|---|---|---|
| Introducción de teclas | Dígitos transpuestos en un número de pieza | Componente incorrecto suministrado a la línea | Dígito de control |
| Lectura | Código de barras 1D borroso decodificado como otro número | Se registró el lote equivocado | Verificación de simbología, grado de verificación, corrección de errores |
| Transmisión | Inversión de bits en un marco de bus de campo | Valor de punto de ajuste o sensor corrupto | CRC |
| Almacenamiento | Célula flash degradada en el campo | Firmware o datos de calibración dañados | CRC, código corrector de errores |
| Versión | Plantilla de etiqueta antigua dejada en una impresora | Datos obsoletos sobre los productos enviados. | Hash del archivo publicado |
| Manipulación | Imagen de firmware modificada | fallo de seguridad o protección | Firma, código clave |
Costo de la mala calidad
El coste de la mala calidad se divide en prevención, evaluación, fallos internos y fallos externos. Una suma de comprobación funciona en las dos primeras categorías. Evalúa los datos automáticamente e impide que el error se propague. El ahorro proviene de adelantar la detección.
Un error detectado en la impresora de etiquetas implica una reimpresión. El mismo error detectado en el cliente conlleva costes de contención, clasificación, posiblemente una retirada del producto y pérdida de confianza.
Las reglas generales, como la regla 1-10-100, son, en el mejor de los casos, meramente ilustrativas. El verdadero factor multiplicador lo proporcionan tus propios registros de desperdicios, retrabajos y reclamaciones.
Consejos profesionales para ingenieros
- Registra cada transferencia de datos donde una persona vuelve a introducir información o una herramienta la reformatea, desde la liberación del archivo CAD hasta la etiqueta de envío. Realiza las primeras comprobaciones en esas transferencias.
- Clasifique las transferencias según su historial de errores: quejas, etiquetas de descarte y registros de reprocesos. Comience donde el costo por error detectado sea mayor, que suele ser después de que el producto sale de la planta.

2. ¿Qué es una suma de verificación?
Una suma de verificación es un pequeño valor calculado a partir de un bloque de datos mediante un algoritmo definido. El emisor la almacena o transmite junto con los datos. El receptor recalcula el valor a partir del recibido y compara ambos. Si difieren, significa que los datos se modificaron durante el proceso.
Piensa en un indicador de aprobación/rechazo: no se mide la dimensión completa de los datos. Se aplica una prueba rápida y repetible que devuelve un resultado de aprobado o reprobado.
Terminología del mundo de las sumas de verificación
En las fábricas y en los equipos de desarrollo de software, se utilizan varios términos de forma imprecisa. La tabla los clasifica según la pregunta a la que responde cada uno.
| Término | Qué es | Pregunta que responde | Uso típico |
|---|---|---|---|
| Dígito de control | Uno o dos dígitos añadidos a un identificador, calculados con una fórmula modular. | ¿Se introdujo o escaneó correctamente este número? | GTIN, SSCC, VIN, IBAN |
| Suma de verificación simple | Suma o XOR de los bytes de un mensaje | ¿Llegó el mensaje corto intacto? | Sentencias NMEA 0183, registros Intel HEX |
| CRC | Remainder of a polynomial division over [latex]\mathrm{GF}(2)[/latex] | ¿Se invirtieron algunos bits en este fotograma, bloque o imagen? | CAN, Modbus RTU, Ethernet, firmware |
| Hash o digest | Huella digital de tamaño fijo de datos arbitrarios | ¿Este archivo es idéntico a aquel otro? | Paquetes de lanzamiento, descargas, deduplicación |
| MAC o HMAC | Hash o cifrado combinado con una clave secreta | ¿Fue producido por alguien que tenía la llave? | Mensajes autenticados, etiquetas de dispositivos |
| Firma digital | Prueba de origen asimétrica calculada sobre una función hash | ¿Quién publicó esto y permanece sin cambios? | Firmware, certificados, registros regulados |
| Código corrector de errores | Redundancia que permite la reparación de datos dañados. | ¿Se puede reparar el daño? | DataMatrix, código QR, memoria ECC |
Detección versus corrección
La mayoría de las sumas de verificación solo detectan un error. Indican que algo falla, pero no cuál es el problema. Esto es suficiente en una línea de producción, donde la reacción adecuada es detenerse, reimprimir, volver a escanear o retransmitir. Los códigos de corrección de errores van más allá y reparan los datos, lo cual resulta útil para marcas que se desgastan o memorias que se degradan. El capítulo 15 trata estos códigos en detalle.
Consejos profesionales
- Escriba una especificación de una línea para cada verificación: los datos que protege, el modelo de error que asume, el algoritmo y sus parámetros. Una verificación sin un modelo de error no puede evaluarse en un AMFE.
- Almacene un identificador de algoritmo junto a cada valor de verificación guardado; por ejemplo, el nombre sha256 seguido del resumen. De esta manera, una migración posterior nunca invalidará los registros archivados.
3. Propiedades fundamentales y su significado para las métricas de calidad
Cada propiedad de una suma de verificación tiene su equivalente en el vocabulario de la ingeniería de calidad. Al relacionarlas, se puede incorporar la verificación a un AMFE o a un plan de control sin necesidad de traducción.
| Propiedad | Significado | Equivalente de calidad |
|---|---|---|
| Determinismo | La misma entrada siempre da el mismo valor. | Repetibilidad de la comprobación |
| Tamaño de salida fijo | El valor tiene n bits, independientemente de la longitud de entrada. | Coste constante por comprobante, longitud de campo conocida en la etiqueta. |
| Probabilidad de detección | Porcentaje de entradas corruptas que cambian el valor | [latex]1 – P_{\mathrm{escape}}[/latex], input to the FMEA detection rating |
| Colisión | Dos entradas diferentes dan un valor. | Escape, también llamado falsa aceptación |
| distancia de Hamming | El menor número de errores de bits que pueden pasar desapercibidos. | Profundidad de detección garantizada |
| Longitud de ráfaga | Se detecta siempre la secuencia más larga de bits corruptos. | Adaptarse al entorno de ruido real, por ejemplo, a la interferencia electromagnética cerca de las unidades de accionamiento. |
| Efecto avalancha | En una buena función hash, un bit de entrada invertido cambia aproximadamente la mitad de los bits de salida. | Hace que una coincidencia accidental sea insignificante. |
Probabilidad de detección en númerosFor 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. Las propiedades garantizadas son más sólidas que esa cifra estadística. Un buen CRC detecta cada error de un solo bit y cada ráfaga hasta su propia longitud. Los ingenieros eligen un polinomio específico precisamente por esta razón. |
aritmética de la tasa de escapeLa tasa de escape de un error de datos es igual a la probabilidad de que ocurra el error, multiplicada por la probabilidad de que la verificación no lo detecte. [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. |
Calificación de detección FMEA
En el manual AMFE de AIAG-VDA de 2019, los controles de detección se califican del 1 al 10, donde 10 significa que no hay capacidad de detección. El mismo manual sustituyó el número de prioridad de riesgo por una tabla de prioridad de acciones que pondera primero la gravedad, luego la ocurrencia y, finalmente, la detección. Una verificación automatizada que bloquea la siguiente operación puede justificar una calificación de detección mucho mejor que una verificación visual. Conserve la evidencia, por ejemplo, una prueba de desafío con muestras defectuosas conocidas.

Aceptación falsa y rechazo falso
En cualquier verificación existen dos tipos de errores. Una aceptación falsa permite el paso de datos erróneos, lo que constituye el error de escape. Un rechazo falso detiene los datos correctos y consume tiempo de línea. Un dígito de control o CRC correctamente implementado nunca rechaza datos correctos, ya que la regla es exacta. Los rechazos falsos se producen durante la lectura, por ejemplo, cuando un escáner falla con un código válido pero mal impreso.
Consejos
- En el FMEA, cite la probabilidad de escape de una comprobación de n bits para detectar corrupción aleatoria, así como la longitud de ráfaga garantizada y la distancia de Hamming para fallos estructurados, como evidencia de detección.
- No multiplique las tasas de escape de dos comprobaciones a menos que sus fallos sean independientes. Dos comprobaciones que leen la misma fuente corrupta, o que comparten un operador o una biblioteca de software, fallan simultáneamente.
4. Breve historia de las sumas de verificación y similares
Las técnicas que se describen en este artículo son antiguas, y esa es una ventaja. Cada una cuenta con décadas de experiencia práctica y cada posible fallo está documentado.
| Año | Desarrollo | Por qué es importante aquí |
|---|---|---|
| Principios de la década de 1950 | Bits de paridad en el almacenamiento telegráfico y de las primeras computadoras | Primera detección práctica de errores |
| 1954 | Hans Peter Luhn de IBM presenta una patente sobre un método de dígito de control. | Origen de la verificación mod-10 en tarjetas de pago |
| 1961 | Peterson y Brown publican comprobaciones de redundancia cíclica. | Fundamentos de los CRC en buses y firmware |
| 1969 | Verhoeff publica un esquema decimal que captura todas las transposiciones adyacentes | Demuestra que existen mejores dígitos de control que el módulo 10. |
| 1974 | Primer artículo con código UPC escaneado en la tienda. | Inicio de la trazabilidad basada en códigos de barras |
| 1995 | SHA-1 especificado en FIPS 180-1 | Comienza la era de la verificación de archivos basada en hash. |
| 2002 | Familia SHA-2 publicada en FIPS 180-2 | SHA-256 se convierte en el resumen predeterminado. |
| 2004 | Damm publica un dígito de control basado en cuasigrupos. | Esquema simple con detección de transposición completa |
| 2015 | SHA-3 estandarizado en FIPS 202 | Segunda familia independiente de funciones hash |
| 2017 | Primera colisión práctica de SHA-1, conocida como SHAttered | SHA-1 no es adecuado en entornos donde la manipulación es un problema. |
| 2022 | El NIST anuncia la retirada de SHA-1 para el 31 de diciembre de 2030. | Horizonte de planificación para productos de larga duración |
Pro tip: Al integrar una interfaz heredada, mantenga la verificación original en ese enlace y agregue una verificación de extremo a extremo más estricta en la capa de aplicación. Modificar el formato de marco heredado rara vez justifica el riesgo.
5. ¿En qué etapa del ciclo de vida del producto se ubican las sumas de verificación?
Utilice esta tabla como guía para el resto del artículo. Muestra qué tipo de verificación se aplica en cada etapa y dónde suele manifestarse un fallo.
| Escenario | Datos en riesgo | Protección típica | Fallo típico | Donde emerge |
|---|---|---|---|---|
| Diseño | CAD, lista de materiales, fuente de firmware, números de pieza | Hash del paquete liberado, dígito de control en el número de pieza, CRC en el encabezado del firmware | Se ha publicado una revisión incorrecta, se ha escrito mal el número de pieza. | Revisión de cambios de ingeniería, primera versión |
| Industrialización | Recetas, parámetros del PLC, plantillas de etiquetas, programas de prueba | Comparación de hash o CRC con un registro de referencia | Receta o plantilla antigua cargada | Primer artículo, ensayo de línea |
| Producción | Marcas, números de serie, firmware, datos de la estación | Grado de verificación, hash de lectura, CRC del bus | Marca ilegible, flash defectuoso, fotograma corrupto | Escaneo en línea, prueba de final de línea |
| Calidad | Registros de exámenes, certificados, genealogía | Cadena de hashes, firma, registro de auditoría | Registro alterado o faltante | Auditoría, queja del cliente |
| Logística | Eventos de GTIN, SSCC, GLN, ASN y EPCIS | Dígito de control GS1, totales de control de mensajes | Selección errónea, dirección de envío incorrecta, número de serie duplicado | Confirmación de recogida, recepción de mercancías |
| Servicio y fin de vida | Actualizaciones, identificaciones de repuestos, pasaportes | Actualizaciones firmadas, piezas autenticadas, identificadores únicos | Actualización corrupta, pieza falsificada | Fallo en el campo, reclamación de garantía |
Consejos profesionales
- Crea una matriz que incluya la etapa del ciclo de vida, el objeto de datos, la verificación presente y la evidencia conservada. Cada celda vacía representa una brecha, y la matriz se convierte en tu lista de tareas pendientes para mejorar.
- Genere la comprobación en el sistema de origen y verifíquela en el sistema receptor mediante una rutina escrita de forma independiente. Dos implementaciones exponen errores de parámetros y de orden de bytes que una biblioteca compartida oculta.
6. Bits de paridad y sumas simples
Un bit de paridad es un bit adicional que determina si la cantidad de unos en una palabra es par o impar. Detecta cualquier número impar de bits invertidos y no detecta los números pares. Dos cambios de bits se anulan entre sí y la palabra sigue siendo válida.
La paridad bidimensional organiza los datos en filas y columnas, y añade un bit de paridad a cada fila y a cada columna. Localiza un único bit invertido y, por lo tanto, puede corregirlo. Detecta todos los errores de dos o tres bits. Aun así, se producen errores de cuatro bits invertidos en las esquinas de un rectángulo.
Sumas de verificación aditivas y XOR
El siguiente paso suma todos los bytes, o les aplica la operación XOR, y envía el resultado. Estas comprobaciones son económicas y caben en el microcontrolador más pequeño. Comparten dos debilidades importantes en la práctica: ignoran el orden de los bytes, por lo que los bytes intercambiados pasan sin problemas. Los errores también pueden compensar: un byte aumenta en uno mientras otro disminuye en uno, y la suma permanece inalterada.
Una suma de verificación XOR omite, además, cualquier número par de cambios en la misma posición de bit en diferentes bytes. Maxino y Koopman midieron la efectividad de dichas sumas de verificación para redes de control integradas en 2009 y descubrieron que las CRC del mismo ancho las superan en errores estructurados.
Donde aún aparecen
| Lugar | Esquema | Comentario |
|---|---|---|
| Frases NMEA 0183 (GPS, electrónica marina) | XOR de los caracteres entre el signo de dólar y el asterisco, enviados como dos dígitos hexadecimales. | Detecta errores de un solo bit, pero es débil contra errores emparejados. |
| Registros HEX de Intel en archivos de firmware | Complemento a dos de la suma de los bytes del registro | Protege solo cada registro, no la imagen completa. |
| Enlaces serie heredados y sensores sencillos | Suma de 8 bits o XOR | Lea la hoja de datos y, si los datos son críticos, añada una comprobación a nivel de aplicación. |
El formato Intel HEX es importante para el firmware. Un archivo puede pasar todas las comprobaciones de registros y aun así estar incompleto, ya que un registro faltante no deja rastro en los demás. Añada un CRC o hash a nivel de imagen, como se describe en el capítulo 18.
Dispositivos físicos que aún utilizan paridad y sumas simples.
|
Tarjetas de banda magnética Cada carácter lleva un bit de paridad impar, y un carácter de verificación de redundancia longitudinal sigue al carácter centinela final. Un lector rechaza un deslizamiento que no supere cualquiera de las dos pruebas. |
Instrumentos serie y periféricos PLC Los enlaces RS-232 y RS-485 pueden añadir un bit de paridad a cada carácter, lo que permite detectar cambios de un solo bit causados por el ruido eléctrico. |
![]() |
Programadores de memoria flash y gestores de arranque Leen archivos Intel HEX y Motorola S-record, que contienen una suma para cada registro, y la herramienta normalmente rechaza un registro que no coincide. |
Consejos de expertos en TI
- Nunca permitas que se valide un bloque borrado o puesto a cero. Inicia la suma desde un valor distinto de cero o almacena su complemento, de modo que una memoria flash vacía llena de bytes 0xFF o 0x00 falle la comprobación.
- Las sumas y las operaciones XOR ignoran el orden de los bytes. Si un enlace antiguo lo exige, añada un campo de longitud y un número de secuencia para detectar tramas intercambiadas, descartadas o repetidas.
7. Dígitos de control: cómo calcular un dígito de control GS1 y por qué es importante.
Los dígitos de control son los sistemas de verificación más antiguos y utilizados en la industria. Se ubican al final de los identificadores que las personas escriben y las máquinas escanean. Constituyen la base de la trazabilidad, ya que cada lote, número de serie, ubicación y envío se referencia mediante un identificador.
Cómo calcular un dígito de control GS1
GS1 requiere un dígito de control en todas las claves de identificación numérica de longitud fija, incluidas GTIN-8, GTIN-12, GTIN-13, GTIN-14, GLN y SSCC. El algoritmo es una suma ponderada módulo 10. Los pesos alternan entre 3 y 1, y el dígito contiguo al dígito de control siempre recibe el peso 3.
- Escribe los dígitos de la llave sin su dígito de control.
- Comenzando por la derecha, multiplique los dígitos alternativamente por 3 y 1.
- Suma los productos de todos los dígitos.
- El dígito de control es la cantidad que hace que la suma sea el siguiente múltiplo de 10. Si la suma ya es un múltiplo de 10, el dígito de control es 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]
Ejemplo resuelto para el cuerpo GTIN-13 400638133393. Contando desde la izquierda, los pesos son 1, 3, 1, 3 y así sucesivamente, porque el dígito del cuerpo más a la derecha está en una posición impar desde la derecha.
| 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 |
| Producto | 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.
Lo que detecta un dígito de control
La tabla compara el esquema GS1 con tres alternativas. Las figuras de GS1 y Luhn se confirmaron mediante simulación con claves aleatorias. Las propiedades de Verhoeff y Damm están documentadas en sus publicaciones originales.
| Tipo de error | GS1 mod 10 (pesos 3 y 1) | Luhn contra 10 | Verhoeff | Maldita sea |
|---|---|---|---|---|
| Sustitución de un solo dígito | Todos detectados | Todos detectados | Todos detectados | Todos detectados |
| Transposición adyacente | Todos excepto los pares de dígitos que difieren en 5, aproximadamente el 11 por ciento de los intercambios de dígitos diferentes. | Todos excepto el 09 y el 90. | Todos detectados | Todos detectados |
| Basura aleatoria de varios dígitos | Se detectó aproximadamente el 90 por ciento. | Se detectó aproximadamente el 90 por ciento. | Se detectó aproximadamente el 90 por ciento. | Se detectó aproximadamente el 90 por ciento. |
El sistema de ponderación GS1 no es el más robusto disponible. Es el que debe usar para las claves GS1. Para los identificadores que usted mismo defina, elija un sistema más robusto.
Un dígito de control válido no indica nada sobre la existencia del número. Simplemente muestra que está bien formado. No indica que el GTIN esté asignado, pertenezca a este producto o esté activo en sus datos maestros. Mantenga la validación de datos maestros junto con la verificación aritmética.
El dígito de control VIN en la posición 9
En Norteamérica, la norma 49 CFR 565 exige un dígito de control en la posición 9 del VIN de 17 caracteres. Cada carácter se transcribe a un número y se multiplica por un peso posicional: 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2. Los productos se suman. El resto de la división entre 11 es el dígito de control, y un resto de 10 se representa con la letra 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].
Muchos VIN de origen europeo no tienen un dígito de control válido, por lo que una regla de validación norteamericana no debe rechazarlos automáticamente. Una prueba rápida para su propia implementación: un VIN compuesto por diecisiete unos debe producir el dígito de control 1. El texto de la regla está en 49 CFR 565.15.
Otros planes que conocerás
- Los códigos de barras EAN-13 de los libros llevan un ISBN-13 y utilizan el algoritmo GS1. El antiguo ISBN-10 utilizaba un esquema módulo 11.
- Los números de tarjetas de pago y los números IMEI utilizan el algoritmo de Luhn, que Hans Peter Luhn de IBM describió en una solicitud de patente de 1954.
- El IBAN utiliza el MOD 97-10 de la norma ISO/IEC 7064.
- Los números de los contenedores de envío según la norma ISO 6346 terminan en un dígito de control.
Diseño de un dígito de control para números de serie y de piezas internas.
Muchas plantas inventan identificadores y luego añaden una verificación casera. Los sistemas caseros suelen pasar por alto las transposiciones, que son un error común de codificación. Utilice un sistema publicado a menos que tenga una razón documentada para no hacerlo.
- Elija un algoritmo establecido y publicado. Damm o Verhoeff son adecuados para identificadores numéricos. La norma ISO/IEC 7064 define sistemas puros e híbridos para cadenas numéricas, alfabéticas y alfanuméricas, entre ellos MOD 11-2, MOD 37-2 y MOD 97-10.
- Fije la longitud del identificador y coloque el carácter de verificación al final.
- Elimine del alfabeto los caracteres que se parezcan, como la O y el 0, o la I y el 1, o bien manéjelos explícitamente en el esquema.
- Defina el algoritmo en un documento controlado con vectores de prueba, de modo que cada sistema implemente la misma regla.
- Pruebe el esquema con las clases de errores que le interesen: sustitución simple, transposición adyacente, errores gemelos y errores fonéticos donde existe entrada de voz.
- Considere utilizar números no significativos para los nuevos esquemas. De esta manera, se evita tener que renumerar cuando cambia la clasificación.
- Validar en todos los puntos de entrada, incluyendo ERP, MES, software de etiquetado y scripts de PLC. Una verificación existente en un sistema queda invalidada por los demás.
Dispositivos y herramientas que validan dígitos de control
| Dispositivo o herramienta | Qué comprueba | Por qué ayuda |
|---|---|---|
| Escáneres y decodificadores de códigos de barras | El dígito de control EAN o UPC durante la decodificación | Una lectura errónea se descarta y nunca llega al sistema anfitrión. |
| Software de etiquetado y servidores de impresión | El dígito de control de la clave antes de que se imprima la etiqueta. | Un GTIN o SSCC mal escrito nunca se convierte en una etiqueta física. |
| terminales de pago | El dígito Luhn del número de tarjeta | Los errores de clave se rechazan antes de cualquier llamada de red. |
Consejos
- Genere dígitos de control a partir de una función de biblioteca probada y reutilícela en todos los sistemas. Nunca escriba un dígito de control manualmente y envíe los vectores de prueba del Apéndice A a continuación junto con la biblioteca.
- Almacene los identificadores como texto de longitud fija, de modo que los ceros iniciales se conserven en las claves GTIN-14 y SSCC. Valide el dígito de control en cada punto de entrada: impresión de etiquetas, escaneo de recepción e importación al sistema ERP.
8. Errores de escaneo de códigos de barras: causas, verificación y soluciones
Los errores de escaneo de códigos de barras se clasifican en tres categorías. Un error de lectura detiene el proceso y genera una pérdida de tiempo. Un error de lectura devuelve un valor erróneo que parece válido. Un error de lectura devuelve un valor válido de un elemento incorrecto, por ejemplo, de una etiqueta adyacente. Los errores de lectura constituyen la categoría más peligrosa, y las comprobaciones integradas en las simbologías existen para minimizar su incidencia.
Controles integrados en la simbología
| Simbología | Comprobación integrada | Comentario |
|---|---|---|
| EAN-13, UPC-A, ITF-14 | Dígito de control GS1 mod 10 | Parte de los datos codificados |
| Código 128 y GS1-128 | Modificación obligatoria 103, verificación de personaje | Protege el símbolo y el lector lo elimina. Las llaves GS1 en el interior aún conservan su propio mod de 10 dígitos. |
| Código 39 | Mod 43 opcional, comprobar carácter | Actívalo cuando controles tanto la impresora como el lector. |
| Intercalado 2 de 5 | Mod 10 opcional | Fije la longitud esperada en el lector para evitar lecturas parciales. |
| Data Matrix y código QR | Corrección de errores de Reed-Solomon | Repara los módulos dañados, véase el capítulo 15. |
Leer no es lo mismo que calidad
Un escáner que decodifica un símbolo no prueba que el símbolo sea correcto. Los símbolos marginales se decodifican hoy, pero fallan cuando la etiqueta se daña durante el transporte. Un verificador mide la calidad de impresión según un estándar y asigna una calificación.
| Tipo de símbolo | Estándar de calificación | Comentario |
|---|---|---|
| Símbolos lineales en las etiquetas | ISO/IEC 15416, edición 2025 | Calificaciones de 4.0 a 0.0, también escritas de la A a la F. |
| Símbolos bidimensionales en etiquetas | ISO/IEC 15415, edición 2024 | Calificaciones de la A a la F |
| Marcado directo de piezas (micropuntos, láser, grabado) | ISO/IEC 29158, anteriormente el informe técnico ISO/IEC TR 29158 | Utiliza iluminación diferente. Sus grados no son comparables con los grados ISO/IEC 15415. |
Los verificadores necesitan calibración con una tarjeta de prueba de conformidad. La norma de aplicación o el cliente define el grado mínimo aceptable. Consulte las especificaciones generales GS1 vigentes y las reglas sectoriales correspondientes a su tipo de símbolo.
Causas y soluciones
| Causa | Síntoma | Arreglar |
|---|---|---|
| Bajo contraste de impresión o sustrato inadecuado | Lecturas intermitentes de baja calidad | Cambie la cinta o el sustrato, ajuste la intensidad de la impresión, verifique en la impresora. |
| Se ha violado la zona de silencio. | Fallos en el borde de la etiqueta | Corrige el diseño de la etiqueta, añade una comprobación de plantilla. |
| La dimensión X no coincide con la resolución de la impresora. | Las barras se fusionan o los huecos desaparecen. | Elija una dimensión X que sea un número entero de puntos de la impresora. |
| Configuración del lector | Errores de lectura derivados de simbologías habilitadas pero no utilizadas. | Habilitar solo las simbologías necesarias, fijar longitudes, validar el dígito de control. |
| Deslumbramiento o baja modulación en marcas directas | Lecturas inestables | Utilice una iluminación adecuada para la marca y verifique según la norma ISO/IEC 29158. |
| Daños durante el transporte | Fallo en el receptor | Utilice símbolos 2D con un nivel de corrección más alto, proteja la etiqueta con un laminado protector. |
Aplique una regla en cada estación de escaneo. Decodifique, valide el dígito de control, verifique el formato con la clave esperada y solo entonces acepte el valor. Un escaneo que falle en cualquier paso activa una reacción definida. No debe activar un bucle de reintentos que nadie contabilice.
Consejos para aplicaciones prácticas
- Incluya el grado mínimo de verificación del símbolo en la especificación de etiquetado, junto con el estándar de medición y la configuración del verificador. Un símbolo que se escanea en su línea solo demuestra que se escanea, no que tiene margen.
- Considere la zona silenciosa como una restricción de diseño estricta en la plantilla de etiquetas. Pruebe las marcas de piezas directas según la norma ISO/IEC 29158 bajo la iluminación y el ángulo de lectura de la estación real.
9. Cómo evitar etiquetas erróneas
Una etiqueta incorrecta es uno de los fallos de datos más comunes y visibles. Tiene varias causas distintas, y una suma de comprobación solo aborda algunas de ellas. Separe las causas antes de elegir los controles.
| Modo de fallo | Ejemplo | Control | Función de la suma de verificación |
|---|---|---|---|
| Se imprimieron datos erróneos. | Los datos del pedido cambiaron después de que se creó el trabajo de impresión. | Imprime desde una fuente publicada, compara la carga útil impresa con el registro esperado. | El dígito de control valida la clave, la comparación detecta la clave incorrecta. |
| Plantilla o versión incorrecta | Diseño obsoleto con texto normativo desactualizado. | Plantillas de lanzamiento bajo control de documentos y carga por hash | Hash del archivo de plantilla almacenado en el registro de lanzamiento. |
| Etiqueta correcta en producto equivocado | El cambio de rollo deja etiquetas de otro producto en la impresora. | Limpieza de línea, conciliación de rollos, escaneo para cotejar en la aplicación | El dígito de control coincide con el GTIN o número de serie esperado. |
| Etiqueta faltante o mal colocada | Etiqueta omitida por el aplicador | Detección de presencia, comprobación visual | Ninguno, se necesita un control diferente |
| Número de serie duplicado | La reimpresión reutiliza una serie | Asignación serial central, restricción de unicidad | Ninguno, un dígito de control no detecta duplicados. |
| Símbolo ilegible | Impresión de bajo contraste | Verificador en línea con una calificación mínima | Verificación y calificación de la simbología |
Un proceso de etiquetado de circuito cerrado
- Libere la plantilla de etiqueta y su fuente de datos bajo control de cambios. Almacene un hash del archivo de plantilla en el registro de liberación.
- Al iniciar el trabajo, la impresora o el servidor de etiquetas calcula el hash de la plantilla cargada y lo compara con el registro de liberación. Si no coincide, se bloquea la impresión del trabajo.
- Construya la carga útil a partir del único registro autorizado. Genere el dígito de control mediante un software con una biblioteca probada y nunca lo escriba manualmente.
- Imprima y verifique el símbolo en línea. Una calificación inferior al mínimo especificado invalida la etiqueta.
- Analice la etiqueta impresa y compare su contenido decodificado con el registro esperado para esta unidad. Rechace cualquier unidad cuya etiqueta no coincida.
- Vuelva a escanear en la estación de empaquetado o envío después de la aplicación. La segunda verificación detecta errores que puedan ocurrir después de la impresión.
- Concilie los recuentos al final de cada ciclo. Las etiquetas emitidas, aplicadas, desechadas y devueltas deben sumar.
La secuencia utiliza tres tipos de comprobaciones. El hash verifica la plantilla correcta. El dígito de control y el formato demuestran que la clave está bien formada. La comparación con el registro esperado demuestra que es la clave correcta para esta unidad. Solo la tercera comprobación detecta una etiqueta bien formada pero incorrecta.
Consejos
- Realice una limpieza de línea antes de cada cambio de etiqueta. Retire los rollos viejos, los restos de impresión y la plantilla anterior, y permita que el trabajo de impresión comience solo después de que el hash de la plantilla coincida con el registro de liberación.
- Escanee cada etiqueta impresa contra el registro de pedido con una parada de emergencia. Inyecte una etiqueta defectuosa conocida al comienzo de cada turno para comprobar que la parada sigue funcionando.
10. Sumas de verificación de red y bus de campo
Las máquinas protegen sus datos mediante comprobaciones definidas en el protocolo. Estas comprobaciones protegen el enlace, salto a salto. No protegen los datos una vez que se encuentran en la memoria del PLC o en una base de datos.
sumas de verificación de InternetLas cabeceras IP, TCP y UDP utilizan la suma de complemento a uno de 16 bits descrita en la RFC 1071. Su cálculo es económico, pero es débil. No detecta las palabras de 16 bits intercambiadas ni algunos errores compensatorios. Las capas de enlace añaden un CRC más robusto, razón por la cual la suma de comprobación débil ha perdurado. Fletcher y Adler-32 son sumas simples con dos acumuladores, por lo que detectan más errores de orden que una suma simple. Adler-32 se encuentra en la biblioteca zlib. Es débil con mensajes cortos. |
Modbus RTULas tramas Modbus RTU finalizan con una CRC de 16 bits. El polinomio es 0x8005, utilizado en su forma reflejada 0xA001, con el valor inicial 0xFFFF. El byte menos significativo de la CRC se envía primero. Modbus ASCII utiliza, en cambio, una comprobación de redundancia longitudinal más sencilla de 8 bits. Aquí hay una solicitud RTU completa que lee 10 registros de retención del esclavo 1, comenzando en la dirección 0. El valor CRC es 0xCDC5, que se transmite por el cable como C5 seguido de CD.
|
CAN y CAN FDEl protocolo CAN clásico utiliza una suma de verificación (CRC) de 15 bits con el polinomio 0x4599. Esto proporciona una distancia de Hamming de 6 para una longitud de trama fija, por lo que se detectan cinco errores de bits distribuidos aleatoriamente. CAN FD utiliza una CRC de 17 bits para cargas útiles de hasta 16 bytes y una CRC de 21 bits para cargas superiores, elegida para mantener la misma distancia de Hamming de 6. El relleno de bits complica la situación. CAN en Automatización señala que el relleno puede reducir la distancia de Hamming efectiva para algunos patrones de bits en tramas clásicas, y CAN FD agrega un contador de bits de relleno para cerrar esa brecha. Los detalles están en el Explicación de CiA sobre CRC en tramas CAN. |
buses basados en EthernetPROFINET, EtherCAT, EtherNet/IP y Modbus TCP transmiten sus datos en tramas Ethernet estándar. Cada trama finaliza con una secuencia de verificación de trama de 32 bits, un CRC-32, que los dispositivos comprueban en cada salto. Las tramas con una secuencia incorrecta se descartan. Otros buses, entre ellos PROFIBUS e IO-Link, definen sus propias comprobaciones de trama. Lea la especificación del protocolo y registre la comprobación en su AMFE en lugar de darla por sentada. |
![]() |
Protocolos de seguridad en la parte superior del autobúsLos protocolos de seguridad como PROFIsafe, CIP Safety y Fail Safe over EtherCAT tratan el bus subyacente como un canal negro. Este canal puede corromper, retrasar, repetir o reordenar los mensajes. La capa de seguridad añade su propio CRC, un contador de secuencia y un temporizador de vigilancia, de modo que la función de seguridad no dependa de las comprobaciones del enlace. Aplique esta lección a sus propios diseños. Un CRC a nivel de enlace no protege una receta mientras permanece en memoria o mientras se transmite a través de un servidor OPC UA y un MES. Añada una verificación de extremo a extremo a nivel de aplicación para cada conjunto de parámetros que afecte a la seguridad o la calidad. |
Consejo: a La puerta de enlace recalcula el CRC en el otro extremo, por lo que la corrupción en su memoria pasa desapercibida. Añada un CRC de extremo a extremo con un contador que abarque todas las puertas de enlace para cada señal y punto de ajuste relevantes para la seguridad.
11. ¿Qué es la comprobación de errores 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 ejemplo práctico
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
El resto es 001, por lo que la palabra transmitida es 1101001. Al dividir esa palabra entre 1011, el resto es 000. Si se invierte cualquier bit, el resto se vuelve distinto de cero. Los CRC reales utilizan generadores de 8 a 32 bits y se ejecutan en hardware o con tablas de búsqueda, pero el principio es idéntico.
Lo que garantiza un CRC
- Cada error de un solo bit, siempre que el generador tenga más de un término.
- Cada error de ráfaga no debe ser mayor que el ancho 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 distancia de Hamming que depende del polinomio y de la longitud del mensaje.
Los parámetros que deben coincidir
Dos partes calculan el mismo CRC solo si coinciden en seis parámetros: ancho, polinomio, valor inicial, reflexión de entrada, reflexión de salida y XOR final. Nombres como CRC-16 o CRC-32 son ambiguos. Catálogo de Reveng CRC Enumera los conjuntos de parámetros de uso común. Confirme una implementación con el valor de verificación de la cadena ASCII 123456789.
| Variante | Polinomio | Calor | Reflexiona hacia adentro y hacia afuera | XOR final | Valor de comprobación | Uso típico |
|---|---|---|---|---|---|---|
| CRC-8 | 0x07 | 0x00 | No | 0x00 | 0xF4 | Comprobaciones genéricas de 8 bits, encabezado del cajero automático |
| CRC-8/MÁXIMO | 0x31 | 0x00 | Sí | 0x00 | 0xA1 | Dispositivos Dallas y Maxim 1-Wire |
| CRC-16/MODBUS | 0x8005 | 0xFFFF | Sí | 0x0000 | 0x4B37 | Modbus RTU |
| CRC-16/CCITT-FALSO | 0x1021 | 0xFFFF | No | 0x0000 | 0x29B1 | Protocolos serie, gestores de arranque |
| CRC-16/XMODEM | 0x1021 | 0x0000 | No | 0x0000 | 0x31C3 | XMODEM, algunos gestores de arranque |
| CRC-32 | 0x04C11DB7 | 0xFFFFFFFF | Sí | 0xFFFFFFFF | 0xCBF43926 | Ethernet, ZIP, PNG |
| CRC-32C | 0x1EDC6F41 | 0xFFFFFFFF | Sí | 0xFFFFFFFF | 0xE3069283 | iSCSI, almacenamiento, instrucciones de hardware |
Elegir un polinomio según la longitud del mensaje.
La robustez de un CRC depende del polinomio y de la longitud del mensaje. Koopman demostró en un Estudio de CRC de 32 bits El polinomio IEEE 802.3 alcanza una distancia de Hamming de solo 4 en mensajes Ethernet de longitud máxima, mientras que otros polinomios alcanzan 6. Las redes integradas con mensajes cortos muestran brechas más amplias, y algunos polinomios de 16 bits ampliamente copiados tienen un rendimiento deficiente en las longitudes en las que se utilizan.
- Fije el rango de longitudes de los mensajes antes de elegir un polinomio.
- Decida qué distancia de Hamming necesita a la longitud máxima. Las aplicaciones críticas para la seguridad suelen requerir una distancia de 6.
- El polinomio se obtiene de los resultados publicados de búsquedas exhaustivas, no de la tradición oral ni de un ejemplo de código.
Límites de una CRC
Un CRC es una función lineal del mensaje. Dado un mensaje y su CRC, cualquiera puede modificar el mensaje y calcular un CRC coincidente sin necesidad de una clave secreta. Por lo tanto, un CRC no demuestra nada sobre el origen y no puede impedir modificaciones deliberadas. Los capítulos 13 y 14 describen las herramientas que sí pueden hacerlo.
Dispositivos que llevan un CRC
| Dispositivo | Dónde se ubica la CRC | Observación |
|---|---|---|
| Etiquetas RFID UHF (EPC Gen2) | CRC de 16 bits en las respuestas de etiquetas | Detecta errores de lectura en las puertas de los muelles de carga y en las cintas transportadoras. |
| dispositivos USB | CRC de 5 bits en paquetes de token, CRC de 16 bits en paquetes de datos. | El host vuelve a intentar un paquete fallido |
| Tarjetas SD y microSD | CRC de 7 bits en los comandos, CRC de 16 bits en los bloques de datos. | Almacenamiento común para registros y firmware en productos integrados. |
Consejo: Asegúrese de que el CRC cubra los campos de encabezado, dirección y longitud, además de la carga útil. Un CRC aplicado únicamente a la carga útil permite el paso de una dirección o longitud corrupta.
12. Funciones hash no criptográficas
Las funciones hash no criptográficas, como xxHash, MurmurHash, CityHash y FNV, priorizan la velocidad sobre la seguridad. En las CPU modernas, su velocidad de procesamiento es casi la de la memoria y generan valores de 32, 64 o 128 bits que distribuyen las entradas de manera uniforme.
No ofrecen ninguna protección contra alguien que crea entradas conflictivas a propósito:
Donde ayudan con los datos del producto
|
Riesgo de colisiónThe 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 función hash de 64 bits y un millón de elementos distintos, la probabilidad de que dos cualesquiera colisionen es de aproximadamente 2,7 entre 100 millones. Con una función hash de 32 bits y 100.000 elementos, la probabilidad de colisión es más alta que baja, aproximadamente un 69 por ciento. Para los inventarios, seleccione 64 bits o más. Considere una coincidencia como una pista importante y confírmela comparando todos los datos cuando el resultado sea relevante. Nunca utilice estas funciones para demostrar la autenticidad de un archivo. |
Consejos para ingenieros
- Utilice funciones hash no criptográficas únicamente para la detección de cambios y la búsqueda dentro de sus propios sistemas. Mantenga 64 bits o más para los inventarios y compare los datos completos siempre que una coincidencia motive una decisión.
- Nunca almacene valores de la función hash integrada de un lenguaje de programación. Algunas, como la función hash de cadena de Python, cambian entre ejecuciones. Conserve los resúmenes de un algoritmo con nombre y semilla fija.

13. Funciones hash criptográficas y cómo verificar una suma de comprobación SHA-256
En este capítulo profundizaremos en detalles técnicos y prácticos.
Una función hash criptográfica debe resistir tres ataques:
- La resistencia a la preimagen significa que nadie puede encontrar una entrada para un resumen determinado.
- La resistencia a la segunda preimagen significa que nadie puede encontrar una entrada diferente que coincida con el resumen de una entrada dada.
- La resistencia a colisiones significa que nadie puede encontrar dos entradas con el mismo resumen.
| Algoritmo | Producción | Estado | Usar |
|---|---|---|---|
| MD5 | 128 bits | Las colisiones pueden producirse en la práctica | Aceptable únicamente para detectar corrupción accidental. Evitar en nuevos diseños. |
| SHA-1 | 160 bits | Colisión práctica publicada en 2017. El NIST planea retirarla antes del 31 de diciembre de 2030. | Solo sistemas heredados |
| SHA-256, SHA-384, SHA-512 | 256, 384, 512 bits | No se conocen ataques prácticos | Valores predeterminados para hashes de lanzamiento, resúmenes de firmware y firmas. |
| SHA-3 (FIPS 202) | De 224 a 512 bits | Diseño interno diferente al de SHA-2 | Familia alternativa donde se desea la diversidad |
| BLAKE2, BLAKE3 | Hasta 512 bits, 256 bits por defecto. | Moderno y rápido, pero no es un algoritmo aprobado por FIPS. | Archivos grandes donde la velocidad es importante y no se requiere aprobación. |
El NIST describe el plan de retiro de SHA-1 en su Página de anuncios de SHA-1Un resumen SHA-256 proporciona unos 128 bits de resistencia a colisiones, lo que está muy por encima de cualquier ataque práctico.
Cómo verificar una suma de comprobación SHA-256
Necesitas dos cosas: el resumen esperado de una fuente confiable y el archivo. Calcula el resumen localmente y compara la cadena completa. Comparar solo los primeros caracteres anula la mayor parte de la protección.
# Linux sha256sum firmware.bin sha256sum -c SHA256SUMS # macOS shasum -a 256 firmware.bin # Windows PowerShell Get-FileHash .\firmware.bin -Algorithm SHA256 # Símbolo del sistema de Windows certutil -hashfile firmware.bin SHA256
Un archivo SHA256SUMS contiene una línea por archivo, con el resumen, dos espacios y el nombre del archivo. El comando sha256sum -c lo lee e imprime OK o FAILED para cada archivo. Compruebe cualquier herramienta con el vector de prueba del Apéndice B antes de utilizarla.
Un resumen junto al archivo demuestra pocoUn atacante que pueda reemplazar un archivo también puede reemplazar el resumen criptográfico asociado. Un resumen publicado protege contra descargas fallidas. No protege contra réplicas maliciosas ni servidores web comprometidos. Para garantizar la autenticidad, utilice una de estas rutas.
|
Cadenas hash para registros por lotes y pistas de auditoríaUna cadena hash hace que un registro sea a prueba de manipulaciones. Cada registro almacena el hash del registro anterior, y su propio hash cubre su contenido más ese valor. [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]. Modificar cualquier registro provoca que los hashes posteriores dejen de coincidir. Una cadena solo demuestra orden e integridad si su último hash está anclado fuera del sistema que almacena el registro. Las opciones incluyen la firma periódica, el sellado de tiempo confiable según la RFC 3161 o el envío del hash a un cliente o auditor. Sin un ancla, cualquier persona con permisos de escritura puede recalcular toda la cadena. |
14. Sumas de verificación, firmas y autenticidad
Hasta ahora, todo es público. Cualquiera puede calcular un CRC o un SHA-256 para un mensaje modificado. Para evitar cambios deliberados, la verificación debe depender de un secreto o una clave privada.
| Mecanismo | Cómo funciona | Demuestra | Manejo de llaves | Uso típico |
|---|---|---|---|---|
| HMAC (RFC 2104) | Hash combinado con un secreto compartido | Mensaje sin cambios y realizado por el poseedor de la llave. | Un secreto compartido por ambas partes. | Mensajes autenticados entre sistemas y dispositivos |
| CMAC (NIST SP 800-38B) | MAC basado en un cifrado de bloques, generalmente AES. | Igual que HMAC | Secreto compartido, compatible con hardware con motor AES | Dispositivos integrados, elementos seguros |
| Etiqueta AEAD (AES-GCM, ChaCha20-Poly1305) | Cifrado combinado con una etiqueta de autenticación | Confidencialidad, integridad y origen | Clave compartida y un nonce único por mensaje. | Telemetría y actualizaciones encriptadas |
| Firma digital (ECDSA, Ed25519, RSA) | La clave privada firma un hash, la clave pública lo verifica. | Integridad y origen, verificables por cualquier persona con la clave pública. | Clave privada en un módulo de seguridad de hardware, clave pública en dispositivos | Firmware, certificados, registros regulados |
Los sistemas de clave compartida ubican la clave en cada verificador. Una clave que reside en decenas de estaciones de prueba o miles de dispositivos es difícil de proteger y de rotar. Las firmas digitales solucionan este problema. Las estaciones y los dispositivos solo almacenan la clave pública, mientras que la clave privada permanece en un módulo de seguridad de hardware en la autoridad emisora.
No construya un MAC aplicando el hash SHA-256 a un secreto seguido del mensaje. SHA-2 permite ataques de extensión de longitud en esa construcción. HMAC existe precisamente para evitar esto.

Casos de uso en entornos de productos
-
- Firmware firmado y arranque seguro. La ROM de arranque verifica la firma del gestor de arranque, y este último verifica la aplicación. El CRC sigue siendo útil para garantizar la integridad en tiempo de ejecución de la memoria flash y la RAM, pero nunca reemplaza la firma.
- La autenticidad de las piezas de repuesto es un tema aparte. Un número de serie con un dígito de control válido no demuestra su autenticidad, ya que cualquiera puede calcularlo. La autenticación requiere un secreto, por ejemplo, una etiqueta criptográfica en un elemento seguro o un código que un servidor pueda verificar y que nadie pueda derivar del número de serie.
- Las etiquetas pueden contener datos antifalsificación. GS1 define un identificador de aplicación, AI 8030, para una firma digital que se incluye en el soporte de datos junto con la clave.
- Los registros regulados requieren especial atención. Una firma criptográfica respalda los registros electrónicos, pero no equivale a una firma electrónica según la Parte 11 del Título 21 del Código de Regulaciones Federales (21 CFR Parte 11). La normativa también exige controles de identidad, el significado de la firma y su vinculación con el registro.
Cerraduras, llaves y dispositivos de acceso
Las cerraduras mecánicas y electrónicas muestran la diferencia entre la detección de errores y la autenticación.
- Cerraduras de cilindro de pines: las muescas de la llave deben coincidir con la altura de los pines, por lo que la cerradura verifica una forma física. Esta forma es, en la práctica, un secreto compartido, ya que cualquiera que la copie obtiene acceso.
- Credenciales sin contacto de bajo costo: las tramas de lectura incluyen una verificación CRC para detectar errores de radio, lo que no demuestra la identidad. Las tarjetas antiguas, basadas en un cifrado propietario vulnerable, como MIFARE Classic, pueden clonarse. Las credenciales modernas utilizan el protocolo de desafío-respuesta con cifrados estándar como AES.
- Cerraduras inteligentes Bluetooth de bajo consumo: la capa de enlace protege cada paquete con AES-CCM, cuyo código de integridad del mensaje es una verificación con clave.
- Consumibles y accesorios autenticados: algunos cartuchos de impresora, baterías y sensores llevan un chip que responde a un desafío criptográfico del dispositivo anfitrión.
Dos consejos profesionales
- Planifique la gestión de claves antes de elegir el algoritmo. Utilice claves independientes para cada familia de productos, inyéctelas en una estación segura, guárdelas en un módulo de seguridad de hardware y registre la inyección por número de serie.
- Añade un contador o valor aleatorio a cada mensaje autenticado. Sin él, un atacante puede reproducir un mensaje válido grabado.
15. Códigos correctores de errores
La detección indica que los datos son erróneos y la corrección los subsana. El precio es una mayor redundancia, pero la ventaja es que el proceso continúa sin necesidad de volver a escanear, retransmitir o reelaborar.
| Código | Principio | Donde te encuentres con él |
|---|---|---|
| Código Hamming con un bit de paridad adicional (SECDED) | Corrige cualquier error de un solo bit y detecta errores de dos bits. | Memoria ECC en PC industriales y memoria RAM y flash de microcontroladores |
| Reed-Solomon | Corrección basada en símbolos que maneja bien las ráfagas. | Código QR, Data Matrix ECC 200, discos ópticos, sistemas de almacenamiento |
| BCH | Corrección binaria multibit | controladores de memoria flash NAND |
| LDPC | Decodificación iterativa cercana al límite teórico | Controladores SSD, estándares inalámbricos |
Marcas que sobreviven al dañoUn código QR ofrece cuatro niveles de corrección (L, M, Q y H), que restauran aproximadamente el 7%, el 15%, el 25% y el 30% de las palabras clave, respectivamente. Data Matrix ECC 200 utiliza Reed-Solomon con una cantidad fija de redundancia por tamaño de símbolo. Las piezas marcadas con láser, sucias o rayadas se benefician directamente, al igual que las etiquetas que circulan por la cadena de suministro. La corrección de errores hace que una marca sea robusta. También puede ocultar la degradación. Un símbolo Data Matrix dañado puede decodificarse perfectamente mientras su capacidad de corrección disponible se reduce hasta casi cero. La verificación según la norma ISO/IEC 15415 informa la corrección de errores no utilizada como un parámetro calificado. Supervise la calificación del verificador, no el resultado de la lectura, para controlar la calidad de impresión y marcado. |
Memoria ECC y memoria flash en productos integradosLos microcontroladores para uso automotriz e industrial suelen proteger la memoria flash y la RAM con ECC. El hardware corrige los errores de un solo bit y los contabiliza. Se leen los contadores de errores corregidos y se registran. Un conteo creciente indica una celda defectuosa, un suministro insuficiente o problemas de radiación. Un CRC calculado después de la corrección detecta datos limpios, por lo que el contador es la única señal temprana que se obtiene. |
![]() |
Dispositivos y medios que dependen de la corrección de errores
|
Consejos
- Seleccione el nivel de corrección de errores según el método de marcado y el entorno. Pruebe la opción con daños deliberados, como rozaduras y enmascaramiento parcial, y califique el resultado.
- Registre el número de errores corregidos en la memoria ECC, la memoria flash y la decodificación de símbolos. Una tendencia al alza es una señal de alerta temprana, ya que una unidad que aún funciona podría haber perdido su capacidad de corrección.
16. Comparación de algoritmos
La tabla resume las familias y la ubicación de cada una en este artículo. Las cifras de velocidad dependen de la plataforma, así que mídelas en su propio hardware.
| Algoritmo | Tamaño de salida | Detecta | Velocidad relativa | Seguridad contra el cambio deliberado | Uso típico aquí |
|---|---|---|---|---|---|
| Bit de paridad | 1 bit | Número impar de lanzamientos | Lo más rápido | Ninguno | Enlaces seriales heredados |
| Suma de 8 bits o XOR | 8 bits | Errores simples, débil en errores estructurados. | Muy rápido | Ninguno | Sentencias NMEA, registros Intel HEX |
| Dígito de control GS1 mod 10 | 1 dígito | Todos los errores de un solo dígito, la mayoría de las transposiciones | Instante | Ninguno | GTIN, SSCC, GLN |
| Verhoeff, Damm | 1 dígito | Todos los errores de un solo dígito y las transposiciones adyacentes | Instante | Ninguno | identificadores internos |
| Familia ISO/IEC 7064 | 1 o 2 caracteres | Depende del sistema | Instante | Ninguno | IBAN, identificadores internos |
| CRC-16 | 16 bits | Ráfagas de hasta 16 bits, distancia de Hamming establecida por polinomio y longitud | Muy rápido, soporte de hardware común | Ninguno | Modbus RTU, tramas cortas |
| CRC-32, CRC-32C | 32 bits | Ráfagas de hasta 32 bits, distancia de Hamming establecida por polinomio y longitud | Instrucciones de hardware muy rápidas | Ninguno | Ethernet, imágenes de firmware, almacenamiento |
| xxHash64, xxHash128 | 64 o 128 bits | Diferencias accidentales | Cerca de la velocidad de la memoria | Ninguno | Deduplicación, detección de cambios |
| SHA-256 | 256 bits | Cualquier cambio, por razones prácticas | Rápido, con soporte de hardware en muchos procesadores. | Aproximadamente 128 bits de resistencia a colisiones | Hashes de lanzamiento, resúmenes de firmware, registros de auditoría |
| SHA-3-256, BLAKE2, BLAKE3 | 256 bits o más | Cualquier cambio, por razones prácticas | Rápido | Misma clase que SHA-256 | Alternativas a SHA-256 |
| HMAC-SHA-256, CMAC | De 128 a 256 bits | Cambio y origen | Rápido | Depende de la confidencialidad de la clave. | Mensajes autenticados |
| Firma de ECDSA, Ed25519 | 64 bytes típico | Cambio y origen | Firma más lenta, verificación rápida | Fuerte mientras la clave privada permanezca protegida. | Firmware, registros, certificados |
| Reed-Solomon | Redundancia de aproximadamente entre el 10 y el 30 por ciento de los datos. | Detecta y corrige | Moderado | Ninguno | Código QR, Data Matrix, almacenamiento |
17. Diseño e ingeniería
Las sumas de verificación se incorporan al producto antes de la fabricación de la primera pieza. Forman parte del proceso de lanzamiento y del modelo de datos.
Diseños CAD, planos y listas de materiales en proceso de publicación
Un sistema PLM o PDM identifica una versión mediante su revisión. Una carta de revisión indica la versión que se pretendía publicar. Un hash del paquete publicado indica qué bytes se publicaron. Ambos se almacenan en el registro de la versión. De esta forma, cualquier usuario puede verificar lo que recibió, lo que soluciona un problema que las cartas de revisión no resuelven: la posibilidad de que un archivo se haya reemplazado o editado después de la publicación.
- Calcula un resumen SHA-256 para cada archivo publicado, por ejemplo, el modelo STEP, el PDF del dibujo y la exportación de la lista de materiales.
- Calcula un resumen adicional sobre un manifiesto que enumera todos los archivos y sus resúmenes, de modo que un solo valor represente todo el paquete.
- Incluya el resumen del manifiesto en el registro ECO o ECN y en la transmisión enviada a los proveedores.
- Permita que el portal del proveedor o el sistema de fabricación recalculen y comparen al recibir el producto.
- Compara las exportaciones de listas de materiales (BOM) mediante hash entre las configuraciones de diseño y las de fabricación. Una discrepancia indica una diferencia, y una revisión realizada por personas la explica.
Prevención de errores en los números de pieza y conectores.
El diseño determina la facilidad con la que se pueden cometer errores posteriormente. Un dígito de control en los números de pieza detecta errores de introducción de datos en cada punto de entrada. Los formatos de numeración distintos para las piezas compradas, los planos y los ensamblajes evitan que se confundan diferentes clases. Los conectores con llave y los formatos de etiquetas asimétricas funcionan con el mismo principio en el plano físico.
Firmware integrado y datos de calibración
Una imagen de firmware debe ser autodescriptiva y autocomprobable. Un diseño común coloca una cabecera fija en una dirección conocida.
| Campo de encabezado | Objetivo |
|---|---|
| Número mágico | Identifica el tipo de imagen y detecta la carga del archivo incorrecto. |
| Versión de formato | Permite que el gestor de arranque analice los diseños de encabezado futuros. |
| Identificador de producto y hardware | Impide que se ejecute una imagen válida de otro producto. |
| Versión del software | Admite la trazabilidad y la protección contra retrocesos. |
| Longitud de la imagen | Define la región cubierta por los controles. |
| CRC-32 de la imagen | Detecta la corrupción accidental en cada arranque o bajo demanda. |
| Resumen o firma SHA-256 | Demuestra integridad y origen antes de la primera ejecución. |
| byte de relleno definido | Mantiene las áreas de memoria flash no utilizadas de forma determinista, por lo que las compilaciones son reproducibles. |
Aplique la misma disciplina a los bloques de calibración y configuración en la EEPROM o la memoria flash. Almacene un CRC con cada bloque. Defina qué sucede cuando la verificación falla: recurrir a los valores predeterminados, generar una falla y nunca usar los datos silenciosamente. Mantenga una copia redundante y escriba los bloques de forma que sobrevivan a una pérdida de energía.
Contexto de seguridad funcional
Las normas de seguridad funcional consideran la corrupción de memoria y los errores de comunicación como modos de fallo que requieren medidas de diagnóstico. Las normas ISO 26262 para vehículos de carretera, IEC 61508 para sistemas industriales e IEC 62304 para software de dispositivos médicos exigen que se demuestre cómo se detectan dichos fallos. Las medidas típicas incluyen CRC (confirmación de respuesta de verificación) sobre la memoria de código y de datos, comunicación protegida con contadores de secuencia y almacenamiento redundante.
El análisis debe indicar la cobertura de diagnóstico, es decir, el porcentaje de fallos que detecta una medida. Un CRC de 32 bits no garantiza automáticamente una cobertura del 99 % para todo el sistema. La cobertura depende de lo que abarca el CRC, de la frecuencia con la que se ejecuta y de cómo actúa el sistema cuando falla.
Protección contra errores mecánicos integrada en el hardware.
Los productos físicos ya utilizaban la idea de un control mucho antes que las computadoras. En estos diseños, la forma de la pieza es el valor de verificación.
Conectores codificados Los conectores M12 vienen con codificación A, B, D y X, por lo que un cable de sensor no se acopla con un puerto Ethernet. Las carcasas D-sub usan una forma trapezoidal por la misma razón. Accesorios para gases medicinales El sistema de seguridad de índice de pines coloca pines en el yugo en posiciones que difieren para cada gas, por lo que un cilindro del gas incorrecto no encaja. Conectores médicos de pequeño diámetro La serie ISO 80369 define conectores con geometrías distintas para diferentes aplicaciones, como enteral y neuroaxial, para evitar conexiones erróneas. Boquillas de combustible En muchos mercados una boquilla de diésel es demasiado grande para un cuello de llenado de gasolina. Pasadores y fijaciones de ubicación Los pines de diferentes diámetros en un patrón asimétrico permiten que una pieza se asiente en una sola orientación. Calibres pasa y no pasa Un calibre de tapón pasa un orificio dentro de la tolerancia y lo rechaza de lo contrario. Es una prueba física de aprobación o rechazo, como comparar una suma de verificación.
Consejos profesionales sobre sumas de verificación en ingeniería
- Primero, prevenir; después, detectar. Utilice la geometría, los conectores con llave y las características asimétricas como controles de prevención en el AMFE de diseño, y añada la verificación de identidad electrónica como una segunda capa.
- Cada firmware e imagen de calibración debe incluir una cabecera con la versión, la longitud y el CRC, y debe especificar el comportamiento cuando falla la comprobación de arranque. El estado seguro es una decisión de diseño, no un valor predeterminado.
18. Industrialización y fabricación, incluyendo cómo verificar la actualización del firmware.
La industrialización convierte los datos de diseño en procesos operativos. La mayoría de los errores de datos que llegan a producción se producen aquí: recetas incorrectas, plantillas de etiquetas erróneas, límites de prueba incompatibles.
Marcado y prevención de errores en la estación de escaneo
- Verifique las marcas en el punto de marcado y nuevamente donde se necesiten por primera vez. Las normas ISO/IEC 15415, 15416 y 29158 definen la clasificación.
- Convierta la estación de escaneo en una puerta de enlace. El PLC solo autoriza la siguiente operación cuando las pruebas de decodificación, dígito de control, formato y valor esperado se superan con éxito.
- Coloque dígitos de control en los números de serie generados por la línea, para que también se proteja la entrada manual de datos en las estaciones de retrabajo.
- Registre cada escaneo fallido con la estación, la hora y, cuando sea posible, la imagen del símbolo. Esto alimenta el trabajo de DMAIC del capítulo 20.
Recetas y parámetros
Las recetas de la máquina, los programas de par, los planes de soldadura y los límites de prueba se almacenan como archivos o filas de la base de datos. Un conjunto de parámetros erróneo o desactualizado genera un defecto silencioso, ya que la máquina funciona correctamente con instrucciones incorrectas.
Mantenga un registro maestro en el MES o PLM junto con su hash. En cada descarga de receta y al inicio de cada lote, el software de la estación recalcula el hash de la receta activa y lo compara. Una discrepancia bloquea la producción del lote. Para los parámetros enviados a través de un bus a un controlador, agregue un CRC dentro del bloque de datos para que el controlador receptor no procese valores corruptos.
Cómo verificar el flasheo del firmware al final de la línea
El flasheo es un paso del proceso, como la soldadura o el apriete. Requiere un método definido, un criterio de aceptación y un registro por número de serie. Un programador que informa de éxito solo indica que sus comandos se han completado.
- Programe la imagen con la opción de verificación del programador habilitada, si el dispositivo y la herramienta lo permiten.
- Lee las regiones programadas y calcula un SHA-256 o CRC-32 sobre las regiones definidas en el plan de control. Compara el resultado con el resumen de referencia del registro de la versión.
- Gestione los datos específicos de cada unidad en un paso aparte. El número de serie, la dirección MAC y los valores de calibración varían según la unidad. Exclúyalos del resumen de la imagen completa y verifíquelos con sus propios registros, o calcule el resumen esperado con los datos de la unidad incorporados.
- Verifique los bytes de opción, los fusibles y los bits de bloqueo. Una aplicación correcta con una configuración de arranque incorrecta o sin protección de lectura indica que la unidad está defectuosa.
- Solicita al dispositivo en ejecución su versión de software y el resumen de su propia imagen a través del protocolo de aplicación. Muchos productos calculan una suma de verificación (CRC) de su memoria flash con un periférico de hardware y la reportan. Esto también prueba la ruta de comunicación.
- Registre el resultado en el MES asociado al número de serie de la unidad, junto con el resumen de la imagen y la versión de la herramienta. No permita que la unidad avance sin un registro de aprobación.
- Ponga a prueba la estación a intervalos definidos con una muestra defectuosa conocida, por ejemplo, una imagen con un bit invertido. Esto demuestra que la estación sigue rechazando la señal.
| Método | Fortaleza | Costo del tiempo | Límites |
|---|---|---|---|
| Verificación del programador | Compara el flash con la imagen fuente recién escrita. | Bajo | No cubre los bytes de opción, depende de la implementación de la herramienta. |
| Lectura y hash en la estación | Verificación independiente del contenido real. | De nivel medio a alto para imágenes grandes, ya que la lectura suele ser más lenta que la programación. | Se necesita permitir la lectura de retorno, lo cual puede impedir la protección de lectura. |
| CRC calculado por el dispositivo informado a través del bus | Rápido y prueba la ruta de la aplicación | Bajo | Protege únicamente contra errores accidentales y depende del firmware que lo calcula. |
| Verificación de firma por parte del gestor de arranque en el primer inicio | Demuestra integridad y origen. | Bajo | Acepta una imagen incorrecta pero firmada válidamente, así que combínela con una verificación de versión. |
Ten en cuenta el orden de los pasos: una vez que actives la protección de lectura, no será posible realizar una lectura posterior. Primero verifica, luego bloquea y, por último, comprueba que el bit de bloqueo esté activado.
Registros de la estación de prueba y de las herramientas
Los resultados de las pruebas de torsión, visión, fugas y eléctricas constituyen evidencia comercial y, en ocasiones, legal. Los registros almacenados como archivos o filas simples pueden alterarse o perderse sin dejar rastro.
- Calcula un hash de registro sobre el número de serie, la estación, el tiempo, el resultado y los valores medidos.
- Escriba los registros en un almacén de solo escritura o encadenelos como se describe en el capítulo 13, con anclaje periódico.
- Sincroniza los relojes de las estaciones con una fuente de hora fiable, para que las marcas de tiempo tengan algún significado.
Comunicación máquina a máquina
OPC UA ofrece firma y cifrado de mensajes mediante sus modos de seguridad Sign y SignAndEncrypt. Úselos entre estaciones, PLC y el MES. La seguridad de transporte protege los datos en tránsito. No reemplaza las comprobaciones a nivel de aplicación sobre parámetros críticos, que deben conservarse durante el almacenamiento, la conversión y la exportación.
Dispositivos de estación que garantizan la integridad del proceso.
Algunas medidas físicas actúan como una suma de verificación. El peso de un kit, por ejemplo, es una propiedad redundante que debe coincidir con el valor esperado.
| Dispositivo | Lo que verifica | Parada brusca típica |
|---|---|---|
| Escáner de montaje fijo o lector de visión | Etiqueta o marca decodificada con respecto a la orden de trabajo | Enclavamiento PLC que mantiene la cinta transportadora |
| Controlador de par y ángulo con identificación de accesorios | El programa adecuado para la articulación adecuada, y el par y el ángulo dentro de la ventana | La herramienta está desactivada hasta que el programa correcto esté activo. |
| báscula de control | Masa del conjunto o kit frente a la masa esperada | Rechazar la puerta por una pieza faltante o sobrante. |
| Sensores de presencia de piezas y fijaciones con llave | Presencia, tipo y orientación de la pieza | Inicio del ciclo no liberado |
| Dispositivo de programación con lectura de retorno | Resumen de la región programada leído desde el propio dispositivo. | Unidad marcada como defectuosa y enviada a reparación. |
| va y no va o manómetro de aire | Dimensiones dentro de la tolerancia | Parte segregada automáticamente o por el operador. |

Consejos profesionales
- Permita que la estación cargue una imagen únicamente por revisión desde el servidor de versiones y verifique su hash o firma antes de flashearla. Rechace cualquier imagen que no coincida con la orden de trabajo.
- Proteja cada acceso no autorizado a una parada de emergencia mediante un interruptor de llave o un inicio de sesión autorizado, y registre el número de accesos no autorizados por línea y turno. Un aumento en el número de accesos no autorizados indica un control débil antes de que lo haga un escape.
19. Gestión de la calidad y cumplimiento
Los sistemas de calidad exigen resultados que las sumas de verificación ayudan a proporcionar: identificación, trazabilidad, documentos controlados y registros fiables. Las normas rara vez mencionan las sumas de verificación; mencionan los resultados, y una verificación es una forma de demostrar un resultado.
| Estructura | Requisito pertinente | Cómo lo respalda una suma de verificación |
|---|---|---|
| ISO 9001:2015 | Cláusula 8.5.2 sobre identificación y trazabilidad, y control de la información documentada. | Dígitos de control en los identificadores, hashes de documentos controlados |
| IATF 16949 | Trazabilidad, prevención de errores, planes de control, PPAP | Poka-yoke con dígitos de control y verificación, hashes en paquetes de datos PPAP |
| AS9100 | Gestión de la configuración, identificación del producto, prevención de piezas falsificadas | Hashes de lanzamiento para líneas base de configuración, autenticación de partes |
| ISO 13485:2016 | Trazabilidad (cláusula 7.5.9), UDI, validación de software | Dígitos de control UDI, verificación validada de etiquetas y firmware |
| 21 CFR Parte 11 y Anexo 11 de la UE | Registros electrónicos, pistas de auditoría, firmas electrónicas | Cadena hash sobre el rastro de auditoría, firma de registros |
| DEPORTE 5 | Validación de sistemas informatizados basada en el riesgo | Validación de la propia función de comprobación. |
Integridad de los datos y ALCOA+Los reguladores describen la integridad de los datos con los principios ALCOA: atribuibles, legibles, contemporáneos, originales y precisos. La versión extendida ALCOA+ añade: completos, consistentes, duraderos y disponibles. Una suma de verificación se corresponde con algunos de estos principios. Demuestra que un registro es preciso y no ha sufrido cambios desde su creación. Una cadena hash demuestra que los registros están completos y en orden. Una suma de verificación no indica quién creó un registro ni cuándo. Complementa el registro de auditoría y el control de acceso, pero no los reemplaza. |
Trazabilidad y preparación para la retirada de productosLa trazabilidad se basa en identificadores que se mantienen correctos desde la recepción del componente hasta su envío. Los dígitos de control garantizan la exactitud de los identificadores al pasar por escáneres y teclados. La genealogía vincula los números de lote, serie y grado de producción entre los distintos niveles, tanto ascendentes como descendentes. Mida la preparación con una simulación de retirada de productos. La métrica es el tiempo transcurrido desde que se activa un evento, por ejemplo, un número de lote del proveedor, hasta obtener la lista completa de unidades terminadas afectadas y su ubicación. Los fallos en las comprobaciones y los identificadores duplicados son razones típicas por las que una simulación de retirada de productos puede tardar días en lugar de horas. |
![]() |
Datos de calibración, equipos de prueba y proveedores
|
Extra: validar el cheque en sí.
En entornos regulados, la función de verificación forma parte de un sistema informatizado y requiere validación según los principios GAMP 5. Planifique la cualificación de instalación, operativa y de rendimiento (IQ, OQ y PQ) en proporción al riesgo.
La OQ debe incluir pruebas negativas. Introduzca datos erróneos en la prueba y compruebe que la rechaza. Conserve los vectores de prueba en el archivo de validación y vuelva a ejecutarlos después de cualquier cambio en el software, el firmware del lector o las plantillas de etiquetas.
Consejo: enValidar la comprobación como parte del proceso. Incluir pruebas negativas, almacenar los vectores de prueba en el archivo de validación y volver a ejecutarlas después de cualquier cambio de firmware del escáner, impresora, biblioteca o sistema operativo.
20. La perspectiva Lean Six Sigma

Poka-yoke y jidoka
Existen muchas similitudes con las sumas de verificación: Shigeo Shingo formalizó el poka-yoke, o prevención de errores, mientras trabajaba con Toyota. Separó las funciones de control, que imposibilitan el error o detienen el proceso, de las funciones de advertencia, que solo lo señalan. El jidoka, o calidad integrada, añade la parada: la máquina se detiene cuando detecta una anomalía.
Un dígito de control con parada obligatoria en la estación de escaneo es una función de control. Un fallo de escaneo que permite que la unidad pase de todos modos es solo una advertencia. Audite sus estaciones para detectar esta diferencia.
FMEA
Califique honestamente la detección de cada control. Una verificación con parada obligatoria, probada con muestras defectuosas conocidas y que cubre la causa de la falla, obtiene una mejor calificación que la misma verificación que los operadores pueden eludir. Registre la evidencia en el PFMEA.
El método de priorización de acciones de AIAG-VDA también impulsa a mejorar primero la prevención. En este contexto, la prevención consiste en diseñar el proceso de manera que no se generen datos erróneos, por ejemplo, generando identificadores y etiquetas a partir de una única fuente en lugar de introducirlos manualmente.
DMAIC aplicado a errores de datos
| Fase | Actividad | Ejemplo con productos mal etiquetados |
|---|---|---|
| Definir | Problema, alcance, característica crítica para la calidad | En los últimos 12 meses, el cliente A recibió etiquetas erróneas. El requisito crítico de calidad (CTQ) es que el contenido de la etiqueta coincida con el producto en el 100% de las unidades. |
| Medida | Sistema de medición y de referencia | Contar los defectos por millón de etiquetas y realizar un análisis de concordancia de atributos del verificador con respecto a una referencia. |
| Analizar | Causas fundamentales | Diagrama de Pareto de las causas: versión de la plantilla, cambios de rollo, entrada manual, reimpresiones |
| Mejorar | Controles | Verificación de hash de plantilla, escaneo para coincidencia, servicio serial central, dígitos de control dondequiera que quede la clave |
| Control | Mantener la ganancia | Gráfico de control de la tasa de fallos de escaneo, plan de control, auditorías, plan de reacción |
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.
Análisis del sistema de medición y control estadístico de procesos (SPC)Considere los escáneres y verificadores como sistemas de medición. Los verificadores requieren una calibración trazable a un estándar de conformidad. Para datos de aprobación o rechazo, realice un análisis de concordancia de atributos entre operadores, escáneres y una referencia, para cuantificar la concordancia y el sesgo. Luego, realice un seguimiento con gráficos de control. Un gráfico p es adecuado para la proporción de escaneos fallidos por lote. Un gráfico u es adecuado para los defectos por unidad. Una tasa creciente de fallos en la primera lectura suele indicar desgaste del cabezal de impresión, desgaste de la cinta o un cambio de sustrato mucho antes de que las calificaciones de verificación caigan por debajo del límite. |
Desperdicio y retorno de la inversiónData 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] Compare esa cifra con el coste de implementación, que se compone principalmente de la configuración del software, el hardware del escáner y del verificador, y la formación. Calcula el coste por error según tu propio sistema de contabilidad de costes. Existe una gran diferencia entre un error detectado en la impresora y un error detectado en el cliente. |
Ejemplo de plan de control
| Característica | Método | Frecuencia | Aceptación | Plan de reacción |
|---|---|---|---|---|
| Identidad de la plantilla de etiqueta | Hash comparado con el registro de lanzamiento | Cada trabajo comienza | Fósforo | Bloquea el trabajo, notifica al departamento de ingeniería. |
| Calidad de impresión de símbolos | Verificador en línea | 100 por ciento, o una muestra por lote si el riesgo lo permite. | Calificación igual o superior al mínimo especificado | Rechace la etiqueta, compruebe el cabezal de impresión y la cinta. |
| Etiquetar el contenido en relación con el registro de la unidad | Escanee y compare | 100 por ciento | Coincidencia exacta | Segregar la unidad, investigar el rollo y los datos |
| Resumen del firmware | Hash de lectura inversa | 100 por ciento al final de la línea | Coincide con el resumen dorado | Reinstalar el sistema una vez, luego desechar y encontrar la causa raíz. |
| Estado de la función de comprobación | Desafío de lo conocido malo | Cada turno | Se registra el rechazo | Detenga la línea, recalibre o repare |
| Trazabilidad | Simulacro de retirada del lote a las unidades | Anualmente o según el plan de auditoría. | Tiempo objetivo cumplido | Cerrar lagunas en los datos genealógicos |
Tres familias de dispositivos poka-yoke
Shingo agrupó los métodos a prueba de errores en tres familias. Cada una tiene su contraparte entre las comprobaciones de esta guía:
-
- Método de contacto
- Detecta la forma, el tamaño o el color mediante el tacto o un sensor, por ejemplo, un interruptor de límite o un dispositivo con llave. El equivalente en datos es una prueba de formato o dígito de control.
- Método de valor fijo
- Indica un error cuando no se alcanza un número determinado de piezas o movimientos, por ejemplo, en una bandeja con posiciones contabilizadas. El dato equivalente es un campo de longitud o un recuento de segmentos.
- Método de pasos de movimiento
- Verifica que los pasos se ejecuten en la secuencia correcta; por ejemplo, un bloqueo que impide el avance de un paso hasta que finalice el anterior. El equivalente en datos es un número de secuencia o un flujo de trabajo de escaneo a liberación.
Consejos
- Introduzca los datos de rechazo de las estaciones de control en el SPC, por ejemplo, en un gráfico por línea, con subgrupos por turno, impresora o accesorio. Una tasa de rechazo estable puede ocultar un ciclo de retrabajo que consume capacidad.
- Considere el rechazo en la verificación como un defecto del paso anterior del proceso y no como un éxito de la verificación. Asigne la causa y cierre el ciclo en el origen.
21. Logística: cómo reducir los errores de preparación de pedidos en el almacén.
Los errores de preparación de pedidos se encuentran entre los fallos más costosos derivados de los datos en la logística. Cada uno de ellos desencadena una cadena de devoluciones, reenvíos y reclamaciones.
Identificación GS1
El GTIN identifica un producto en un nivel de embalaje determinado. El SSCC identifica una unidad logística, como un palé, y consta de 18 dígitos. El GLN identifica una ubicación o una parte. El GRAI identifica los activos retornables. Todos llevan un dígito de control, y el estándar de etiquetas logísticas GS1 define cómo aparecen en las unidades.
Protección contra errores basada en escaneo
- Primero, escanee la etiqueta de la ubicación. La validación del dígito de control y del formato detecta de inmediato un código de ubicación incorrecto, y el WMS confirma que se trata de la ubicación esperada.
- Escanee el GTIN del artículo o caja. El sistema lo compara con la tarea de preparación de pedidos y rechaza un artículo incorrecto antes de ingresar la cantidad.
- Confirme la cantidad mediante el recuento por escaneo, o mediante la comprobación del peso cuando no sea práctico escanear cada pieza.
- Escanee el contenedor de destino o el SSCC al cerrar la unidad y vincule su contenido.
- Al cargar, escanee los códigos SSCC comparándolos con el manifiesto de envío.
| Causa del error de selección | Remedio típico |
|---|---|
| Artículos de aspecto similar en ranuras adyacentes | Escaneo para confirmar en el GTIN, reglas de asignación de ranuras |
| Introducción manual de códigos de ubicación o de artículo | Retire el teclado del proceso y utilice dígitos de control cuando sea inevitable teclear. |
| Confusión de unidades de medida (unidad, paquete interior, caja) | GTIN distintos por nivel de embalaje, utilizando el dígito indicador GTIN-14. |
| Etiquetas dañadas o ilegibles | Verificación en el etiquetado, códigos 2D con corrección de errores, una estación de reetiquetado. |
| Errores en los datos maestros | Validar los dígitos de control GTIN en la importación y compararlos con los datos de origen del proveedor. |
| SSCC duplicado | Asignación central y una restricción de unicidad |
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.
Integridad de los mensajes EDI, ASN y EPCISLos mensajes comerciales incluyen campos de integridad propios. Los estándares EDI incluyen números de control y recuentos de segmentos, por ejemplo, en los segmentos finales de un mensaje EDIFACT o un conjunto de transacciones X12. El receptor los utiliza para detectar datos truncados o perdidos. Los eventos EPCIS contienen los identificadores de las unidades involucradas, y el valor del evento depende de los dígitos de control y de la unicidad de dichos identificadores. Validar al recibir el mensaje en este orden: recuentos de control, dígitos y formatos de verificación del identificador y, a continuación, reglas comerciales como la coincidencia del número de aviso de envío (ASN) con la orden de compra. Rechazar o poner en cuarentena los mensajes que no cumplan los requisitos y realizar un seguimiento de la tasa de rechazo por socio comercial. Serialización en cadenas reguladasLas cadenas farmacéuticas y de dispositivos médicos añaden reglas de serialización. En Estados Unidos, la Ley de Seguridad de la Cadena de Suministro de Medicamentos exige un identificador de producto con NDC, número de serie, lote y fecha de caducidad en una matriz de datos 2D en cada paquete. Los requisitos mejorados de seguridad de la distribución entraron en vigor por etapas. La fecha original fue el 27 de noviembre de 2023, un período de estabilización terminó el 27 de noviembre de 2024, y la FDA otorgó exenciones a los pequeños dispensadores hasta el 27 de noviembre de 2026 (Aviso de exención de la FDA). Los resúmenes de los bufetes de abogados informan que la FDA extendió ciertas exenciones para pequeños dispensadores hasta el 27 de noviembre de 2027 en agosto de 2026 (Resumen de BuchananConsulte el sitio web de la FDA para conocer el estado actual. En la UE, la Directiva sobre Medicamentos Falsificados establece un identificador único y un dispositivo a prueba de manipulaciones en los envases. El UDI de los dispositivos médicos sigue la misma lógica. Los organismos emisores, como GS1, definen la estructura del identificador, y el dígito de control lo valida. |
Cadena de frío y datos de IoTLos registradores de temperatura y los sensores IoT proporcionan evidencia de que un envío se mantuvo dentro de los límites. Elija dispositivos que almacenen lecturas con un CRC o una firma digital, y dé preferencia a las descargas firmadas. Proteja el transporte con cifrado autenticado. Sin estos pasos, un archivo de registro es simplemente una hoja de cálculo editable. Lucha contra la falsificación y seguimiento y localizaciónUn número de serie con un dígito de control válido es fácil de falsificar. El sistema de seguimiento y localización añade un registro en el servidor de los números de serie emitidos y dónde se han visto. Un número de serie repetido en dos ubicaciones, o un número de serie que nunca se ha emitido, es una señal de alerta. Para artículos de alto valor, añada una firma o un elemento de seguridad, como se describe en el capítulo 14. Blockchain y libros de contabilidad distribuidosLos registros distribuidos permiten anclar los hashes de los eventos de la cadena de suministro, impidiendo que nadie pueda alterar el historial sin que nadie se dé cuenta. No verifican que un evento haya ocurrido realmente ni que el artículo escaneado sea el auténtico. Los datos erróneos permanecen erróneos, ahora con una marca de tiempo permanente. Una cadena hash firmada con anclaje externo proporciona la evidencia de manipulación que la mayoría de las plantas necesitan, sin la sobrecarga operativa. Considere un libro mayor compartido solo cuando varias partes que no confían entre sí necesiten un registro común. |
Ejemplos de dispositivos y herramientas de almacén
- Auriculares para selección por voz: el sistema le pide al operario que diga en voz alta los dígitos de control que aparecen en la ubicación de recogida. Si la ubicación es incorrecta, el producto se rechaza antes de que se recoja.
- Módulos de selección y colocación guiadas por luz: una luz y un indicador de cantidad señalan el contenedor, y el operario confirma con un botón. Añada un escaneo de artículos donde los errores de selección resulten costosos.
- Escáneres portátiles y de anillo: escanean para confirmar la ubicación, el artículo y el SSCC de la etiqueta del palé.
- Estaciones de pesaje y dimensionamiento: el peso medido se compara con los datos maestros, de modo que se detecta cualquier artículo incorrecto o caja dañada.
- Portales RFID en los muelles de carga: las etiquetas leídas dentro de un palé se comparan con el aviso de envío anticipado.
22. Servicio, posventa y fin de vida útil

Actualizaciones por radio y en el terreno
Un proceso de actualización puede fallar de tres maneras: la transferencia está dañada, la imagen no es compatible con el dispositivo o la imagen es maliciosa. Implemente medidas de seguridad para hacer frente a estos fallos.
- Un CRC por fragmento o por bloque detecta los errores de transferencia de forma temprana.
- Un hash de la imagen completa, verificado antes de la instalación, confirma que está completa.
- Una comprobación de la firma con una clave pública almacenada en el dispositivo confirma el origen.
- La coincidencia entre el identificador del producto y el del hardware impide la instalación de una imagen destinada a otro dispositivo.
- Una comprobación de versión con protección contra reversión evita las degradaciones a versiones vulnerables.
- Las particiones duales con confirmación al arrancar permiten que la imagen antigua siga funcionando si la nueva falla.
Repuestos, garantía y devoluciones
- Los números de pieza de repuesto llevan un dígito de control, y los formularios web para el registro de la garantía lo validan, lo que permite detectar errores de introducción de datos en origen.
- Los números de serie vinculan un fallo de campo con la genealogía de producción, incluido el resumen del firmware registrado al final de la línea.
- La logística inversa necesita los mismos identificadores y los mismos controles que el flujo directo.
Pasaporte de producto digital
El Reglamento (UE) 2024/1781 sobre el diseño ecológico de productos sostenibles entró en vigor el 18 de julio de 2024 e introdujo el Pasaporte Digital del Producto: un pasaporte que vincula los datos estandarizados del ciclo de vida con un soporte de datos en el producto, a menudo un código QR.
La Comisión Europea puso en marcha el registro DPP con un entorno de prueba el 20 de julio de 2026. El primer pasaporte obligatorio se aplica a determinadas baterías a partir del 18 de febrero de 2027 en virtud del Reglamento de la UE sobre baterías. Otros grupos de productos se irán incorporando a medida que se adopten los actos delegados. Véase el Página de comisiones sobre baterías y el anuncio de registro.
Las consecuencias para la integridad de los datos son directas. El identificador único del producto debe permanecer único, persistente y correcto durante toda la vida útil del producto, lo que justifica un dígito de control y un proceso de asignación centralizado. Los datos del pasaporte deben ser verificables, lo que implica el uso de hashes de los documentos subyacentes y las firmas del operador económico. El soporte de datos también debe permanecer legible, lo que nos lleva de nuevo a la calidad del marcado y la corrección de errores.
23. Corrupción accidental frente a corrupción maliciosa
La verificación adecuada depende de quién o qué causa el error. El ruido, el desgaste y los errores humanos son aleatorios. Un atacante o un falsificador no lo son, y eligen la modificación que su verificación no puede detectar.
| Amenaza | Ejemplo | Controles que ayudan | Controles que no ayudan |
|---|---|---|---|
| Error accidental | Inversión de bits, dígito mal introducido, descarga parcial | Dígito de control, CRC, hash | No se necesita nada más allá de estos |
| Modificación deliberada | Firmware editado, registro de prueba alterado | Firma, HMAC | CRC, hash simple, dígito de control |
| Sustitución | Pieza falsificada con número de serie copiado. | Etiqueta de autenticación, seguimiento y localización | Dígito de control |
| Repetición | Mensaje antiguo válido enviado de nuevo | Contador de secuencia o marca de tiempo cubierto por una MAC | Cualquier suma de verificación estática |
| Revertir | Firmware antiguo firmado pero vulnerable reinstalado | Verificación de versión con contador anti-retroceso | Solo la firma |
Los ataques de colisión son relevantes cuando dos partes confían en un resumen de un archivo preparado por una de ellas. MD5 y SHA-1 no superan esta prueba. Para la autenticación de mensajes, utilice HMAC y nunca un hash con prefijo secreto, debido a la extensión de longitud.
Ciberseguridad industrial y regulaciónLa serie IEC 62443 define un requisito fundamental sobre la integridad del sistema. Abarca la integridad de las comunicaciones y la integridad del software y la información en los sistemas de automatización y control industrial. Las comprobaciones del firmware, la configuración y las recetas son una prueba directa de ello. La Ley de Resiliencia Cibernética de la UE, Reglamento (UE) 2024/2847, entró en vigor el 10 de diciembre de 2024. Las obligaciones de notificación de vulnerabilidades explotadas activamente e incidentes graves se aplican desde el 11 de septiembre de 2026, incluso a los productos que ya están en el mercado. La primera notificación debe realizarse dentro de las 24 horas posteriores a que el fabricante tenga conocimiento de la situación. La aplicación completa, con los requisitos esenciales y el marcado CE, comienza el 11 de diciembre de 2027. Las multas por incumplimiento de las obligaciones de notificación pueden alcanzar los 15 millones de euros o el 2,5 por ciento de la facturación anual mundial. Resumen de Matheson Cubre la cronología. Los requisitos esenciales incluyen la protección de la integridad de los datos, los programas y la configuración contra modificaciones no autorizadas, así como mecanismos de actualización seguros. Por lo tanto, el firmware firmado y las actualizaciones verificadas se convierten en una cuestión de cumplimiento normativo y no solo en una preferencia técnica. La Directiva NIS2 (UE) 2022/2555 añade obligaciones de seguridad e información para muchos fabricantes de maquinaria, equipos eléctricos, vehículos y dispositivos médicos. |
Falsificaciones, mercado gris y ataques a la cadena de suministro
|
24. Cómo elegir la suma de verificación correcta
Empiece por la amenaza, luego el tipo de datos y, por último, las restricciones. Responda las preguntas en orden y deténgase en el primer mecanismo que encaje; luego, agregue el siguiente si la respuesta a una pregunta posterior también es afirmativa.
- ¿Podría alguien modificar los datos deliberadamente y beneficiarse de ello? En caso afirmativo, utilice una firma digital o un HMAC. Conserve un CRC o un hash únicamente para casos de errores accidentales.
- ¿Una persona introduce, lee o escanea el valor? En caso afirmativo, utilice un dígito de control en el identificador, validación en el escáner y marcas 2D con corrección de errores para evitar daños físicos.
- ¿Los datos se transmiten a través de un bus o se almacenan en una pequeña memoria? En caso afirmativo, utilice una suma de verificación (CRC) con un polinomio elegido según la longitud del mensaje y la distancia de Hamming requerida. Añada una suma de verificación de extremo a extremo para los parámetros críticos.
- ¿Es necesario que un archivo o registro sea idéntico a una referencia? En caso afirmativo, utilice SHA-256 para la comparación. Un hash rápido no criptográfico es suficiente para comparaciones no críticas.
- ¿Deben los datos conservarse tras un daño sin posibilidad de reintentar la operación? En caso afirmativo, añada un código de corrección de errores.
- ¿Los datos forman parte de un registro regulado? En caso afirmativo, añada un registro de auditoría, una validación y una justificación documentada del método elegido.
| Datos o etapa | Riesgo | Enfoque recomendado |
|---|---|---|
| Números de pieza y números de serie escritos por personas | Medio | Dígito de control Damm, Verhoeff o ISO/IEC 7064. Dígito GS1 para llaves GS1. |
| Etiquetas y marcas | De medio a alto | Verificación según ISO/IEC 15415, 15416 o 29158, símbolos 2D con corrección de errores, hash de plantilla. |
| Datos de bus de campo y sensores | Medio | Protocolo CRC con una distancia de Hamming que se ajuste a la longitud, protocolo de seguridad donde sea necesario |
| Recetas y parámetros | Alto | Hash contra el récord de oro, más un CRC en el bloque de transferencia |
| Paquetes CAD y de lanzamiento | Medio | Manifiesto SHA-256 almacenado en el registro de lanzamiento |
| Firmware y actualizaciones | Alto | Firma y SHA-256 para la publicación, CRC para comprobaciones en tiempo de ejecución. |
| Registros regulados | Alto | Cadena de hashes o firma con registro de auditoría, validada. |
| Identificadores y mensajes logísticos | Medio | Dígitos de control GS1, totales de control de mensajes, validación de reglas de negocio |
| Comparación masiva y eliminación de duplicados | Bajo | xxHash con una comparación completa en la coincidencia |
Consejos para la toma de decisiones
- Mantenga un registro de decisiones para cada objeto de datos: modelo de error, operador, presupuesto de tamaño, vida útil y propietario. Revíselo en cada etapa del diseño y siempre que cambie la cadena de suministro o la amenaza.
- Se comprueban los candidatos a prueba con errores inyectados que coinciden con modos de fallo reales: inversión de bits, dígitos transpuestos, truncamiento y archivo incorrecto. Se mide la tasa de detección en lugar de basarse en la teoría.
25. Guía de implementación
Tres reglas evitan la mayoría de los problemas. Utilice una biblioteca probada o una implementación compartida. Defina cada parámetro en un documento controlado. Pruebe con vectores publicados antes de la primera ejecución en producción. El Apéndice B contiene los vectores utilizados a continuación.
Dígito de control GS1 en Python
|
Dígito de control GS1 en ExcelPara un cuerpo GTIN-13 de 12 dígitos almacenado como texto en la celda A1, esta fórmula devuelve el dígito de control.
Almacene los identificadores como texto, nunca como números. Excel solo conserva 15 dígitos significativos en un número, por lo que un SSCC de 18 dígitos almacenado como número pierde sus últimos dígitos. Además, elimina los ceros iniciales, lo que corrompe los valores GTIN-12 y GTIN-8. |
Dígito de control GS1 en SQLEsta consulta utiliza una expresión recursiva de tabla común. Se probó en SQLite y devuelve 1 para el cuerpo GTIN-13 y 7 para el cuerpo SSCC utilizado anteriormente. Adapte la sintaxis a su dialecto de base de datos.
|
Dígito de control GS1 en texto estructurado del PLCEsta función sigue la norma IEC 61131-3 para funciones de cadena. Los proveedores difieren en detalles como los nombres de conversión de cadena, por lo que debe ejecutarla con los vectores del Apéndice B en su propio entorno de ejecución.
|
CRC-32 en CLa versión bit a bit es la más corta y fácil de auditar. Se compiló y probó con el vector de la cadena ASCII 123456789. El código de producción suele cambiar a una tabla o a un periférico de hardware.
|
Modbus CRC-16 y transmisión SHA-256 en Python
El cable variable contiene 01 03 00 00 00 0A C5 CD. La función de transmisión lee el archivo en fragmentos, por lo que maneja imágenes de cualquier tamaño con memoria constante. Para experimentar con sumas de verificación de cadenas hexadecimales y ASCII, pruebe el Calculadora de suma de comprobación hexadecimal y ASCII en este sitio. |
Errores comunes en la implementación de sumas de verificación
| Trampa | Lo que sucede | Contramedida |
|---|---|---|
| Orden de bytes | Modbus envía primero el byte bajo de CRC. Los bytes intercambiados fallan en cada trama. | Verificar con una imagen capturada de un dispositivo real. |
| Valor inicial y reflexión | Un conjunto de parámetros diferente produce un CRC plausible pero erróneo. | Corrija los seis parámetros CRC en la especificación de la interfaz. |
| Texto versus bytes | Los finales de línea, la codificación de texto y los espacios finales modifican un resumen. | Calcula el hash de los bytes almacenados exactos y define la normalización si hay texto involucrado. |
| Tipos numéricos para identificadores | Los ceros iniciales desaparecen, los números largos pierden dígitos en coma flotante. | Almacenar identificadores como cadenas de texto en Excel, CSV, bases de datos y datos de PLC. |
| Cargando archivos completos en la memoria | Las imágenes grandes consumen mucha RAM en la estación. | Hash en fragmentos |
| Cobertura indefinida | El resumen incluye campos volátiles como números de serie. | Defina las regiones exactas y excluya o corrija los datos específicos de la unidad. |
| Bibliotecas no verificadas | Un error silencioso pasa todas las pruebas que no hayas escrito. | Ejecutar vectores publicados en la canalización de compilación |
26. Lista de verificación de mejores prácticas por rol
Investigación y desarrollo y diseño
|
Fabricación
|
![]() |
Calidad
|
Logística
|
Tecnologías de la Información y Tecnologías Operativas
|
Dos consejos profesionales para ingenieros
- Designa un único responsable para cada comprobación. Esa persona se encargará del algoritmo, los parámetros, los vectores de prueba y el plan de reacción.
- Incluya cada verificación en el plan de control y en el AMFE del proceso, y audite dicho proceso con la misma periodicidad que un sistema de medición.

Conclusión sobre sumas de verificación y similares
Las sumas de verificación son sencillas, antiguas y bien conocidas. Su valor en el desarrollo de productos físicos reside en colocar la correcta en el momento preciso del ciclo de vida y en tratar la verificación como un proceso controlado con evidencia.
Utilice dígitos de control donde personas y escáneres manejen identificadores. Utilice CRC para tramas, bloques e imágenes, con un polinomio que se ajuste a la longitud del mensaje. Utilice SHA-256 para archivos y registros, y firmas o códigos clave donde exista riesgo de modificación deliberada. Añada corrección de errores donde las marcas y la memoria puedan dañarse.
Luego, cierra el ciclo con evidencia. Pon a prueba las verificaciones, calibra los verificadores, registra los resultados y revisa las cifras. Una verificación que nadie comprueba es una suposición.
Piloto en el traspaso con el mayor coste por escape y sin control hoy. Medir la tasa de escape antes y después, y usar el resultado para justificar el siguiente.
Trate cada verificación como un elemento controlado con una especificación, un responsable, vectores de prueba y una frecuencia de verificación. Una verificación que no los tenga se deteriorará.
Preguntas frecuentes
¿Por qué una verificación CRC-32 satisfactoria no demuestra que una imagen de firmware sea la versión prevista?
Un CRC solo detecta la corrupción accidental, y cualquiera puede crear una imagen modificada con el mismo CRC. Verifique el resumen SHA-256 con un registro de lanzamiento que reciba a través de un canal independiente y añada una firma donde exista riesgo de modificación deliberada.
¿Qué errores escapan a un dígito de control GS1 módulo 10?
La verificación detecta cualquier error de un solo dígito, pero no detecta las transposiciones de dígitos adyacentes que difieren en 5, lo que representa aproximadamente el 11 % de los intercambios de dígitos diferentes. Un dígito válido tampoco demuestra nada sobre la asignación, por lo que conviene mantener la validación de datos maestros junto con la verificación aritmética.
¿Cómo debo evaluar la detección de FMEA para un control basado en suma de verificación?
Evalúe la evidencia, no el algoritmo: una parada automática que fue puesta a prueba con muestras defectuosas conocidas obtiene una calificación mucho mejor que una verificación que los operadores pueden eludir o que nunca fue puesta a prueba. Cuantifique la probabilidad de escape, mantenga el registro de desafíos y el registro de elusión, y aplique la lógica de prioridad de acciones AIAG-VDA 2019.
¿Cómo elijo un polinomio CRC para mi interfaz?
La distancia de Hamming garantizada depende tanto del polinomio como de la longitud del mensaje, por lo que primero conviene definir el rango de longitud. Koopman demostró que el polinomio IEEE 802.3 CRC-32 alcanza una distancia de Hamming de solo 4 en tramas Ethernet de longitud máxima, mientras que otros polinomios alcanzan 6; por lo tanto, conviene tomar el polinomio de los resultados de búsquedas exhaustivas publicadas.
¿Por qué dos sistemas que afirman usar CRC-16 discrepan en cada fotograma?
El nombre no define el algoritmo, ya que el ancho, el polinomio, el valor inicial, la reflexión de entrada, la reflexión de salida y la operación XOR final deben coincidir. Escriba los seis parámetros en la especificación de la interfaz y compruebe ambos extremos con el valor de verificación de la cadena ASCII 123456789 del catálogo de Reveng.
¿Cuándo una comparación SHA-256 al final de la línea deja de ser prueba de una correcta actualización de memoria flash?
Calcular el hash del archivo fuente o confiar en el indicador de éxito del programador no proporciona información sobre el contenido del dispositivo. Lea la región del dispositivo a través de una ruta independiente, incluya bytes de opciones, fusibles y bits de bloqueo, gestione por separado los datos específicos de la unidad, como el número de serie, la dirección MAC y la calibración, y registre el resultado para cada número de serie.
¿Es suficiente una cadena hash para que los registros por lotes sean a prueba de manipulaciones?
Una cadena solo demuestra orden e integridad si su hash más reciente está anclado fuera del sistema que almacena el registro. Utilice firmas periódicas, marcas de tiempo confiables según RFC 3161 o envíe el hash a un cliente o auditor, ya que de lo contrario cualquier persona con permisos de escritura puede recalcular toda la cadena.
¿Dónde deja de proteger mis señales un CRC de bus de campo?
Una puerta de enlace o puente recalcula el CRC para el siguiente segmento, por lo que la corrupción de datos en su memoria entre los dos saltos pasa desapercibida. Para señales y puntos de ajuste relevantes para la seguridad, agregue un CRC de extremo a extremo con un contador que se genera en el origen y se verifica en el consumidor.
¿Cuántos bits necesita una función hash no criptográfica para realizar inventarios y eliminar duplicados?
La fecha de nacimiento es determinante: una función hash de 32 bits con 100 000 elementos tiene una probabilidad de colisión de aproximadamente el 69 %, mientras que una función hash de 64 bits con un millón de elementos se mantiene cerca de 2,7 entre 100 millones. Utilice 64 bits o más y compare todos los datos siempre que una coincidencia sea determinante para tomar una decisión.
¿Cómo debo tratar los escáneres y verificadores de códigos de barras en un análisis de sistema de medición?
Calibre los verificadores con una tarjeta de prueba de conformidad, aplique la norma ISO/IEC 15416, 15415 o 29158 al tipo de símbolo y realice un análisis de concordancia de atributos entre operadores, escáneres y una referencia. Un símbolo que se lee correctamente solo ha demostrado que se lee, por lo que se debe realizar un seguimiento de la distribución de grados y la capacidad de corrección de errores no utilizada como indicadores de deriva.
¿Necesito validar la función de verificación en sí misma en un entorno regulado?
Sí, porque la verificación forma parte de un sistema informatizado que se rige por los principios GAMP 5, 21 CFR Parte 11 o el Anexo 11 de la UE. Planifique IQ, OQ y PQ en proporción al riesgo, almacene los vectores de prueba y las pruebas negativas en el archivo de validación y vuelva a ejecutarlos después de cualquier cambio de firmware del escáner, impresora, biblioteca o sistema operativo.
¿Cómo puedo planificar la retirada de algoritmos en productos que permanecen en servicio durante 10 a 20 años?
Mantenga un registro de algoritmos con fechas de revisión, por ejemplo, para el plan del NIST de retirar SHA-1 antes del 31 de diciembre de 2030. Diseñe gestores de arranque y canales de actualización de manera que los algoritmos y las claves puedan reemplazarse en el campo, ya que la Ley de Resiliencia Cibernética exige que las actualizaciones firmadas y verificadas cumplan con la normativa a partir del 11 de diciembre de 2027.
Apéndices
Apéndice A: Vectores de prueba
Todos los valores se calcularon o confirmaron con el código que se muestra en el capítulo 25 o con herramientas de referencia. Todas las cadenas de entrada se proporcionan como texto ASCII.
| Función | Aporte | Resultado esperado |
|---|---|---|
| CRC-32 | 123456789 | 0xCBF43926 |
| CRC-32C | 123456789 | 0xE3069283 |
| CRC-16/MODBUS | 123456789 | 0x4B37 |
| CRC-16/CCITT-FALSO | 123456789 | 0x29B1 |
| CRC-8 (polinomio 0x07) | 123456789 | 0xF4 |
| SHA-256 | 123456789 | 15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225 |
| Marco Modbus RTU | 01 03 00 00 00 0A | CRC 0xCDC5, enviado como CD C5 |
| Ejemplo de enseñanza CRC-3 | Mensaje 1101, generador 1011 | Resto 001 |
| Dígito de control GTIN-13 | 400638133393 | 1, clave completa 4006381333931 |
| Dígito de control GTIN-12 | 03600029145 | 2, clave completa 036000291452 |
| Dígito de control GTIN-14 | 1540014128876 | 3, clave completa 15400141288763 |
| dígito de control SSCC | 34012345000000001 | 7, clave completa 340123450000000017 |
| Dígito de control de Luhn | 7992739871 | 3, número completo 79927398713 |
| Dígito de control del VIN (normativa norteamericana) | 11111111111111111 | 1 |
| Dígito de control del VIN (normativa norteamericana) | 1HGBH41JXMN109186 | X en la posición 9 |
Apéndice B: Normas y referencias
Fuentes en línea utilizadas para este artículo, consultadas en noviembre de 2026:
- Especificaciones generales del GS1 y el Guía de GS1 UK para calcular un dígito de control
- 49 CFR 565.15, requisitos de contenido del VIN
- ISO/IEC 15416:2025 y ISO/IEC 15415:2024, clasificación de la calidad de impresión de símbolos lineales y bidimensionales
- CAN en automatización, CRC en tramas CAN
- Koopman, códigos de redundancia cíclica de 32 bits para aplicaciones de Internet
- Catálogo de Reveng CRC
- NIST, retiro de SHA-1
- Matheson, Obligaciones de presentación de informes de la Ley de Resiliencia Cibernética
- Comisión Europea, baterías y el pasaporte de baterías y Anuncio del registro del Pasaporte de Producto Digital
- Exenciones de la FDA y la DSCSA para dispensadores pequeños y Buchanan, prórroga hasta 2027
Normas y publicaciones citadas por su nombre, disponibles en los organismos emisores:
- RFC 1071 (suma de verificación de Internet), RFC 2104 (HMAC), RFC 3161 (protocolo de marca de tiempo)
- FIPS 180-4 (SHA-1 y SHA-2), FIPS 202 (SHA-3), NIST SP 800-38B (CMAC)
- ISO/IEC 7064 (sistemas de caracteres de verificación), ISO 6346 (códigos de contenedores), ISO/IEC 29158 (calidad de marcado directo de piezas)
- ISO 9001, IATF 16949, AS9100, ISO 13485, ISO 26262, IEC 61508, IEC 62304, IEC 62443
- Manual de AMFE de AIAG y VDA, 1.ª edición, 2019
- 21 CFR Parte 11, EU GMP Anexo 11, GAMP 5
- Maxino y Koopman, La efectividad de las sumas de verificación para redes de control integradas, IEEE Transactions on Dependable and Secure Computing, 2009
- Reglamento (UE) 2024/2847 (Ley de Ciberresiliencia), Reglamento (UE) 2024/1781 (Ecodiseño para Productos Sostenibles), Reglamento (UE) 2023/1542 (Baterías), Directiva (UE) 2022/2555 (NIS2)






















