ES2280805T3 - Procedimiento para la formacion de firma y transmision de datos. - Google Patents

Procedimiento para la formacion de firma y transmision de datos. Download PDF

Info

Publication number
ES2280805T3
ES2280805T3 ES03767404T ES03767404T ES2280805T3 ES 2280805 T3 ES2280805 T3 ES 2280805T3 ES 03767404 T ES03767404 T ES 03767404T ES 03767404 T ES03767404 T ES 03767404T ES 2280805 T3 ES2280805 T3 ES 2280805T3
Authority
ES
Spain
Prior art keywords
signature
data
memory
calculation
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03767404T
Other languages
English (en)
Inventor
Heikel Zarga
Eberhard Boehl
Werner Harter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Application granted granted Critical
Publication of ES2280805T3 publication Critical patent/ES2280805T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Procedimiento para la transmisión de datos (D) entre dos unidades (RE1; RE3) de cálculo, en el que en la primera unidad (RE1) de cálculo según un procedimiento (SBV) de formación de firma que puede predeterminarse se forma una primera firma (S) en función de los datos (D) que van a transmitirse, y la primera firma (S) se transmite junto con los datos (D) a la segunda unidad (RE3) de cálculo en mensajes, en el que una segunda firma (S'') se forma según el procedimiento de formación de firma en función de los datos (D'') transmitidos y la primera firma (S) se compara con la segunda firma (S''), caracterizado porque en la primera unidad (RE1) de cálculo los datos (D) que van a transmitirse se invierten y la primera firma (S) se forma según el procedimiento (SBV) de formación de firma que puede predeterminarse en función de los datos (D) que van a transmitirse y de los datos (Di) invertidos, y porque en la segunda unidad (RE3) de cálculo se invierten los datos (D'') transmitidos y en función de estos datos (Di'') invertidos y los datos (D'') transmitidos según el procedimiento (SBV) de formación de firma se forma la segunda firma (S'') y la primera firma (S) se compara con las segunda firma (S'').

Description

Procedimiento para la formación de firma y transmisión de datos.
La presente invención se refiere a un procedimiento para la transmisión de datos, en el que según un procedimiento de formación de firma que puede predeterminarse se forma una primera firma en función de los datos que van a transmitirse. La primera firma se transmite conjuntamente con los datos en denominados mensajes. Según el procedimiento de formación de firma se forma una segunda firma en función de los datos que van a transmitirse y la primera firma se compara con la segunda firma para fines de una primer análisis de firma.
La invención se refiere además a un programa informático que puede ejecutarse en un aparato de control, especialmente en una unidad de cálculo.
Finalmente la presente invención se refiere también a un aparato de control para un automóvil. El aparato de control comprende una unidad de cálculo que está configurada especialmente como un microprocesador, y un elemento de memoria que está configurado especialmente como una memoria de escritura-lectura con acceso aleatorio (RAM), como una memoria de sólo lectura (ROM) o como una memoria flash. En el elemento de memoria se deposita un programa informático que puede ejecutarse en la unidad de cálculo.
Estado de la técnica
Del estado de la técnica se conoce un análisis de firma como un método para la compresión de datos que se basa en el método denominado CRC (Cyclic Redundancy Check, verificación de redundancia cíclica). En función de los datos que van a transmitirse se forma una palabra de datos resultante según un procedimiento de firma que puede predeterminarse que representa la firma y caracteriza al flujo de datos comprimido. La probabilidad de que a pesar de los fallos en el flujo de datos se forma una firma correcta es muy reducida y disminuye con el ancho de datos de la palabra de firma. Las firmas se emplean por ejemplo para la protección de transmisiones de datos, para monitorizar la memoria fija de ordenadores y para identificar flujos de datos, tal como por ejemplo, señales de hardware digitales en el ámbito de una prueba de circuitos o datos que contiene un documento. Con respecto al estado de la técnica se hace referencia a Abramovici, Miron, et al. Digital Systems Testing and Testable Design, Nueva York, IEEE Press, 1990.
En hardware la firma se forma normalmente de manera secuencial bit por bit con ayuda de un registro de desplazamiento con retroalimentación lineal (LFSR; Linear Feedback Shift Register). Se conoce la realización de este procedimiento de análisis de firma secuencia también en software. Sin embargo este procedimiento debido al funcionamiento secuencial es o muy lento o necesita relativamente mucho espacio de memoria para tablas (denominadas tablas de consulta, look-up tables) para acortar el tiempo de cálculo. Con respecto al estado de la técnica de procedimientos secuenciales realizados en software de este tipo para el análisis de firma se hace referencia a Williams, R.N.: A Painless Guide to CRC Error Detection Algorithms, Version 3, 19/08/1993, Rocksoft Pty Ltd., Hazelwood Park 5066, Australia, \underbar{ftp://ftp.rocksoft.com/papers/crc\_v3.txt}.
Además se conoce un procedimiento para la formación de firma con un funcionamiento paralelo (palabra de datos por palabra de datos). Este procedimiento conocido funciona por ejemplo con ayuda de un registro de firma con varias entradas (MISR; Multiple Input Shift Register). Mediante el funcionamiento paralelo pueden procesarse, por ejemplo, datos de entrada de 32 bit en una etapa con un procesador de 32 bit. Un procedimiento similar se conoce por ejemplo a partir del documento US 5.938 784.
Precisamente para aplicaciones de seguridad en un automóvil, tal como por ejemplo, en un sistema de dirección dirigido por cable (steer by wire) o una marcha autónoma, se emplean sistemas electrónicos tolerantes a los fallos y por tanto redundantes que presentan una alta demanda en intercambio de datos seguro entre sistemas, aparatos de control, ordenadores y/o unidades de cálculo. Esta comunicación puede realizarse en tres planos de comunicación. Un sistema de comunicación entre dos o más aparatos de control se realiza, por ejemplo, mediante un sistema de bus, como por ejemplo CAN (Controller Area Network, red de área de controlador), TTCAN (Time Triggered CAN, CAN disparado en tiempo), FlexRay o TTP/C (Time Triggered Protocol Class C, protocolo disparado en tiempo de clase C). Una comunicación aparatos de control-aparatos de control o una comunicación ordenador-ordenador, en la que participan dos aparatos de control o bien ordenadores, se realiza mediante interfaces, como por ejemplo RS232, RS422, SPI (Serial Peripheral Interface, interfaz periférica serial) o SCI (Serial Communications Interface, interfaz de comunicaciones serial). Una comunicación unidad de cálculo-unidad de cálculo se realiza dentro de un aparato de control. Dado que en estos sistemas además del tiempo de cálculo el tiempo de comunicación de datos representa un cuello de botella, es ventajoso un empleo del procedimiento MISR para proteger las muchas comunicaciones de datos. Se reduce a un mínimo el tiempo de cálculo necesario para proteger la comunicación de datos en el emisor y receptor.
En los procedimientos conocidos puede suceder, aunque con muy poca frecuencia, que a pesar de los datos defectuosos dentro de un mensaje se forme una firma sin fallos. Es decir, si bien los datos que van a transmitirse y los datos transmitidos no coinciden entre sí, sin embargo la primera firma, que se formó mediante los datos que van a transmitirse, y la segunda firma, que se formó mediante los datos transmitidos, coinciden. Esto se denomina enmascaramiento de fallos.
\newpage
El documento WO 02/35708 (2002-05-02) describe una transmisión de datos, en el que se forma una firma en función de los datos que van a transmitirse.
La presente invención se basa en el objetivo de facilitar en la monitorización de la transmisión de datos un procedimiento, que permita una formación rápida de una firma y reduzca la probabilidad de enmascaramiento de fallos.
Para solucionar este objetivo, la presente invención propone partiendo del procedimiento del tipo mencionado al principio, que los datos que van a transmitirse se inviertan, según el procedimiento de formación de firma que puede predeterminarse en función de los datos y los datos invertidos se forma la primera firma, se transmite la primera firma y los datos, se invierten los datos transmitidos, en función de estos datos invertidos y de los datos transmitidos según el procedimiento de formación de firma se forma la segunda firma y se compara la primera firma con la segunda firma.
Ventajas de la invención
Según la invención la firma no se forma solamente mediante los datos transmitidos o que van a transmitirse, sino también mediante los datos invertidos. Mediante el procesamiento adicional de los datos invertidos la probabilidad de enmascaramiento de fallos puede reducirse claramente. El esfuerzo adicional para el procesamiento de los datos invertidos es reducido, de manera que pueden conseguirse como siempre tiempos de cálculo cortos. Por tanto el procedimiento según la invención es adecuado especialmente para el uso en aplicaciones de seguridad en un automóvil.
El procedimiento según la invención puede realizarse tanto para hardware como para software. La realización para software tiene la ventaja de menos costes y un peso menor, dado que no son necesarios componentes de hardware para la conexión. Además una realización para software lleva consigo una mayor flexibilidad (pueden realizarse modificaciones en el programa sin gran esfuerzo y adaptarse a nuevas demandas).
Según un perfeccionamiento ventajoso de la invención se propone, que mediante un registro de firma con varias entradas (MISR; Multiple Input Shift Register, registro de desplazamiento de múltiples entradas) se formen la primera firma y/o la segunda firma en bits en paralelo (palabra por palabra). Por ello aumenta la velocidad de la formación de firma.
En una forma de realización preferida de la invención la primera firma y/o la segunda firma se forman a través de los datos de varios mensajes. Por tanto no se protegen individualmente los datos de cada mensaje transmitido con una firma propia, sino que los datos de varios mensajes se protegen en común. Con ello se consigue, que se reduzca el volumen de datos de los datos que van a transmitirse para el análisis de firma.
En este caso una firma se transmite de manera ventajosa distribuida entre varios mensajes. Este método denominado de la transmisión de firma distribuida en el que la firma común se distribuye entre los mensajes, que contienen los datos que van a protegerse, representa una posibilidad adicional para reducir el volumen de datos que van a transmitirse. Un aparato de control transmite, por ejemplo, en un bus CAN por ciclo de sistema tres mensajes con como máximo 8 bytes cada uno, que deben protegerse en cada caso con una firma de 32 bit. Si los datos en la unidad de recepción se procesan adicionalmente solamente después de la recepción de los tres mensajes, tiene sentido proteger los datos de los mensajes no de manera individual con 32 bit, sino en común con 32 bit y distribuir los datos de firma de 32 bit (igual a 4 bytes) de tal manera que los mensajes se cargan de manera óptima con datos. Por ello por una lado se reduce el volumen de datos par la transmisión de datos (firma de cuatro bytes en lugar de firmas de 12 bytes) y por otro lado la firma transmitida no es tan propensa a una falsificación de datos (enmascaramiento) mediante una alteración, dado que la firma no se transmite como un bloque, sino como tres bloques parciales junto con las palabras de datos individuales en diferentes momentos.
En sistemas relevantes para la seguridad como steer by-wire, marcha autónoma, conducción transversal automática y sistemas para la regulación de la dinámica de marcha mediante un sistema compuesto de frenos, dirección, chasis, etc. se emplean por motivos de seguridad sistemas multiprocesadores. En este caso se emplean dos, tres o cuatro unidades de cálculo por aparato de control. En aviones y en el espacio pueden emplearse incluso sistemas con cinco o más unidades de cálculo por aparato de control. Un principio básico de este sistema multiprocesador es, que antes del comienzo del cálculo se intercambian todas las entradas de datos en las unidades de cálculo y después los datos iniciales para el cálculo se adaptan con la exactitud de bit (denominada votación de entrada). Los resultados del cálculo se intercambian también entre todas las unidades de cálculo y se comparan con exactitud de bits (denominada votación de salida).
Si los datos que van a transmitirse son datos de entrada con exactitud de bit, que por ejemplo llegan en mensajes mediante buses de datos a la unidad de cálculo o resultados de cálculo, que se generan de manera redundante paralelamente en varios ordenadores, entonces de manera preferida para comprobar una coincidencia de estos datos se transmiten solamente las firmas correspondientes.
Especialmente al emplear el procedimiento especialmente rápido y fiable según la invención para la formación de firma puede reducirse por tanto el volumen de datos que van a transmitirse y se aumenta una velocidad de procesamiento.
\newpage
De manera ventajosa el procedimiento según la invención se emplea para comprobar el contenido de memoria de una memoria de solo lectura, memoria flash o una memoria de lectura-escritura. Esto permite una comprobación eficaz de la consistencia de datos del contenido de memoria.
De manera preferida con este empleo según la invención, los datos del contenido de memoria que va a comprobarse se invierten según el procedimiento de formación de firma que puede predeterminarse en función de los datos que van a comprobarse y de los datos invertidos se forma la primera firma y se almacena en un espacio de memoria de una memoria de sólo lectura, memoria flash o una memoria de lectura-escritura como una firma deseada. Para comprobar los datos que se encuentran en el espacio de memoria que va a comprobarse estos datos se invierten, en función de estos datos invertidos y de los datos según el procedimiento de formación de firma se forma la segunda firma y se compara con la firma deseada almacenada. Por tanto una primera firma, la denominada firma deseada, se genera de manera única y se almacena mediante un contenido de memoria que va a comprobarse. Si este contenido de memoria se comprueba, por ejemplo, en un momento posterior, entonces mediante el contenido de memoria actual se genera una segunda firma y se compara con la firma deseada almacenada. Si estas firmas no coinciden, entonces puede partirse de la base de que el contenido del espacio de memoria que va a comprobarse se ha modificado. Esto permite una comprobación especialmente eficaz de la consistencia de datos de un espacio de memoria, dado que para la comprobación de los datos solamente deben compararse las firmas. Además la firma deseada debe formarse solamente una vez.
De especial importancia es la realización del procedimiento según la invención en la forma de un programa informático. En este caso, el programa informático puede ejecutarse en un aparato de control, especialmente en una unidad de cálculo y es adecuado para la realización del procedimiento según la invención. En este caso la invención también se realiza mediante el programa informático, de manera que este programa informático representa de la misma manera la invención como el procedimiento, para cuya realización es adecuado el programa informático. El programa informático está almacenado preferiblemente en un elemento de memoria. Como elemento de memoria puede emplearse especialmente un medio de memoria eléctrico, por ejemplo una memoria de lectura-escritura con acceso aleatorio (RAM), una memoria de sólo lectura (ROM) o una memoria flash (Flash-Memory).
Como una solución adicional del objetivo de la presente invención, partiendo del aparato de control del tipo mencionado al principio se propone que el aparato de control para realizar el procedimiento según la invención es adecuado, si el programa informático se ejecuta en el aparato de control, especialmente en una unidad de cálculo comprendida por el aparato de control.
Dibujos
A partir de la siguiente descripción de ejemplos de realización de la invención resultan características, posibilidades de uso y ventajas adicionales de la invención, que se representan en los dibujos. A este respecto, todas las características descritas o representadas forman individualmente o en cualquier combinación el objeto de la invención, independientemente de cómo estén plasmadas en las reivindicaciones o su referencia así como independientemente de su formulación o representación en la descripción o en los dibujos. Muestran:
la figura 1, un aparato de control según una forma de realización preferida para controlar y/o regular una aplicación de seguridad en un automóvil;
la figura 2, un diagrama de flujo de un procedimiento según la invención para el análisis de firma;
la figura 3, un sistema de dirección dirigido por cable (steer-by-wire) con dos aparatos de control;
la figura 4, un sistema de ordenador adecuado para el tratamiento de una forma de realización realizada en software del procedimiento según la invención;
la figura 5, un diagrama de flujo de un procedimiento de formación de firma según la invención según una forma de realización preferida;
la figura 6, el principio de funcionamiento del procedimiento MISR para la formación de firma en hardware; y
la figura 7, el principio de funcionamiento del procedimiento MISR para la formación de firma empleando operadores EX - OR.
Descripción de ejemplos de realización
Del estado de la técnica se conoce el análisis de firma como un método para comprimir datos, que se basa en el método denominado CRC (Cyclic Redundancy Check). En función de los datos que van a transmitirse se forma según el procedimiento de formación de firma que puede determinarse una palabra de datos resultante, que representa la firma y caracteriza el flujo de datos comprimido. La probabilidad de que a pesar de los fallos en el flujo de datos se forme la firma correcta es muy baja y disminuye con el ancho de los datos de la palabra de firma. Por ejemplo, se emplean firmas para la protección de las transmisiones de datos, para comprobar memorias fijas de ordenadores y para identificar flujos de datos, tales como por ejemplo señales de hardware digitales en el ámbito de una prueba de conexiones o de datos que contiene un documento.
En el hardware la firma se forma normalmente de manera secuencial bit por bit con ayuda de un registro de desplazamiento con retroalimentación lineal (LFSR). Se conoce la realización de este procedimiento de análisis de firma secuencial también para software. Sin embargo, debido al funcionamiento secuencial, este procedimiento es o bien muy lento o necesita relativamente mucho espacio de memoria para tablas (denominadas tablas de consulta), para acortar el tiempo de cálculo.
Además se conoce un procedimiento para la formación de firma con un funcionamiento paralelo (palabra de datos por palabra de datos). Este procedimiento conocido funciona, por ejemplo, con ayuda de un registro de firma con varias entradas (MISR). Mediante el funcionamiento paralelo pueden procesarse, por ejemplo, datos de entrada de 32 bit con un procesador de 32 bit en una etapa.
Precisamente para aplicaciones de seguridad en un automóvil, tal como por ejemplo, en un sistema de dirección dirigido por cable steer by wire o una marcha autónoma, se emplean sistemas electrónicos tolerantes a los fallos y por tanto redundantes que presentan una alta demanda en intercambio de datos seguro entre sistemas, aparatos de control, ordenadores y/o unidades de cálculo. Dado que en estos sistemas además del tiempo de cálculo, el tiempo de comunicación de datos representa un cuello de botella, un empleo del procedimiento MISR para proteger las muchas comunicaciones de datos ofrece una ventaja decisiva. Se reduce a un mínimo el tiempo de cálculo necesario para proteger la comunicación de datos en el emisor y receptor. En los procedimientos conocidos puede suceder, que a pesar de una transmisión de datos defectuosa en la unida de mensaje se forme una firma sin fallos. Esto se denomina enmascaramiento de fallos.
Por el contrario el procedimiento según la invención tiene la ventaja de que se reduce claramente la probabilidad de un enmascaramiento de fallos.
En la figura 1 se muestra un aparato SG1 de control para controlar y/o regular una aplicación 40 de seguridad. El procedimiento según la invención está realizado, por ejemplo, como un programa informático, que se ejecuta en las unidades de cálculo RE1, RE3 del aparato SG1 de control. El programa informático está almacenado en espacios 21, 31 de memoria de elementos 20, 30 de memoria, estando configurados los espacios 21, 31 de memoria como memoria de sólo lectura (ROM). Para la realización del programa informático éste se transmite mediante conexiones 25, 35 de datos a las unidades RE1, RE3 de cálculo. Los resultados de los cálculos que se determinan en el ámbito de la ejecución del programa informático, se transmiten en la dirección inversa a través de los conductos 25, 35 de datos a los elementos 20, 30 de memoria y allí se almacena en los espacios 22, 32 de memoria que están configurados como memoria de lectura-escritura (RAM).
Un funcionamiento posible del aparato SG1 de control es el siguiente:
A través del conducto 45 de datos el aparato SG1 de control recibe magnitudes de entrada, que describen el estado de la aplicación 40 de seguridad que va a controlarse y/o regularse. Estas magnitudes de entrada se alimentan a al menos una unidad RE1 de cálculo. Allí mediante una realización del programa informático almacenado en el espacio 21 de almacenamiento se genera una primera firma de los datos que describen las magnitudes de entrada. Entonces, estos datos se transmiten junto con la primera firma generada a través del conducto 15 de datos a la unidad RE3 de cálculo. Allí mediante los datos recibidos se genera una segunda firma y ésta se compara con la primera firma obtenida por la unidad RE1 de cálculo. Si ambas firmas coinciden, entonces se parte de la base de que los datos transmitidos por la unidad RE1 de cálculo y los datos obtenidos por la unidad RE3 de cálculo coinciden.
En otro funcionamiento posible del aparato SG1 de control, las magnitudes de entrada se alimentan directamente a las dos unidades RE1, RE3 de cálculo. Ambas unidades RE1, RE3 de cálculo forman a continuación una primera firma en cada caso, que caracterizan las magnitudes de entrada obtenidas. Mediante el conducto 15 de datos se intercambian a continuación las firmas entre las unidades RE1, RE3 de cálculo. Las firmas recibidas de esta manera se comparan entonces con la primera firma generada en cada de las dos unidades RE1, RE3 de cálculo. Si al menos una de las unidades RE1, RE3 de cálculo verifica, que la primera firma generada y la firma recibida por la otra unidad de cálculo respectiva no coinciden, entonces esta unidad de cálculo provoca que la aplicación correspondiente o todo el aparato SG1 de control se traslade a un estado de reposo definido (fail silent). Un caso de fallo de este tipo puede aparecer por ejemplo por una avería del conducto 15 de datos o por una avería de un conducto de datos no mostrado con la lógica correspondiente, que comunica las magnitudes de entrada dentro del aparato SG1 de control desde una entrada de datos a las unidades RE1, RE3 de cálculo.
Si las firmas de las magnitudes de entrada coinciden en las dos unidades RE1, RE3 de cálculo, estas magnitudes de entrada se procesan adicionalmente de manera correspondiente a la tarea de control y regulación del aparato SG1 de control. A este respecto se generan datos de resultado que son necesarios para regular y/o controlar la aplicación 40 de seguridad.
Mediante los datos de resultado generados en las unidades RE1, RE3 de cálculo se genera una primera firma en cada caso en las unidades RE1, RE3 de cálculo. Estas primeras firmas se transmiten entonces a través del conducto 15 de datos con la otra unidad de cálculo respectiva. Cada unidad RE1, RE3 de cálculo compara a continuación la firma obtenida de esta manera con la primera firma calculada anteriormente. Si las dos firmas no coinciden, entonces se parte de la base de que existe un fallo en la transmisión de firmas o un fallo en el cálculo de los datos de resultado en al menos
una unidad de cálculo y se toman las medidas correspondientes (por ejemplo un nuevo cálculo o estado de reposo).
Si la firma transmitida y calculada por sí misma coinciden en las dos unidades RE1, RE3 de cálculo, entonces el aparato SG1 de control provoca que estos datos de resultado para controlar la aplicación 40 de seguridad se transmitan a ésta mediante el conducto 45 de datos. También la firma correspondiente se comunica como una primera firma a la aplicación 40 de seguridad. Al mismo tiempo la firma puede comunicarse como mensaje independiente o distribuirse a través de varios mensajes, por ejemplo, cuando los mismos datos de resultado caracterizados por la firma se comunican repartidos también a través de varios mensajes. Por tanto el volumen de datos de los datos que van a transmitirse se reduce y se reduce una vulnerabilidad de los datos transmitidos.
La figura 2 muestra un diagrama de flujo de un procedimiento para el análisis de firma según la invención. En este caso se parte de la base de que una unidad RE1 de cálculo de un aparato SG1 de control comunica datos a otra unidad RE2 de cálculo, que es parte integrante de otro aparato SG2 de control y en la unidad RE2 de cálculo debe comprobarse mediante un análisis de firma, si se presenta un fallo en la transmisión.
Para ello en una etapa 90 se inicia el procedimiento. En una etapa 91 la primera unidad RE1 de cálculo genera una primera S firma en función de los datos D que van a comunicarse. Para ello se emplea un procedimiento SBV de formación de firma que puede predeterminarse. En una etapa 92 estos datos se comunican junto con la primera firma S mediante mensajes adecuados a la segunda unidad RE2 de cálculo. Allí en una etapa 93 se genera una segunda S' firma mediante los datos D' comunicados también según el procedimiento SBV de formación de firma. En una etapa de consulta 94 se examina la coincidencia de las firmas S, S' en la unidad RE2 de cálculo. Si estas firmas S, S' coinciden, entonces se parte de la base de que no existe ningún fallo de transmisión y el procedimiento finalice en la etapa 96. Sin embargo, si las firmas S, S' son diferentes, entonces esto indica una avería en la transmisión de datos y en una etapa 95 se inicia un procedimiento, que traslada la aplicación de seguridad de base a un estado de reposo definido (fail silent). A continuación el procedimiento finaliza en la etapa 96.
La figura 3 muestra una aplicación 40 de seguridad, que funciona con dos aparatos SG1, SG2 de control. En este caso los elementos presentes en la figura 3 corresponden a los mostrados en la figura 1 con los mismos números de referencia. En la figura 3 se muestra adicionalmente el aparato SG2 de control, que comprende dos unidades RE2, RE4 de cálculo que están conectadas entre sí a través de un conducto 515 de datos. La unidad RE2 de cálculo está conectada mediante un conducto 525 de datos con un elemento 520 de memoria y la unidad RE4 de cálculo está conectada mediante un conducto 535 de datos con un elemento 530 de memoria. Además la unidad RE1 de cálculo del aparato SG1 de control está conectada con la unidad RE2 de cálculo del aparato SG2 de control a través del conducto 46 de datos. De manera análoga a esto el conducto 47 de datos conecta la unidad RE3 de cálculo con la unidad RE4 de cálculo.
Un ejemplo de aplicación es un sistema de dirección asistida por cable en el que mediante un sensor 61 de ángulo absoluto instalado en un volante 60 se detecta la dirección que desea un conductor y mediante un conducto 45 de datos se alimenta al aparato SG1 de control y mediante el segundo aparato SG2 de control se controla un dispositivo 70 de dirección hidráulico que provoca un giro de las ruedas 71.
Para la transmisión de datos segura entre los aparatos SG1, SG2 de control de los dos conductos 46, 47 de datos redundantes están realizados, por ejemplo, como CAN, TTCAN o FlexRay. Para una comunicación entre el aparato SG1 de control y el aparato SG2 de control se intercambian por ciclo de regulación varios mensajes, que contienen, por ejemplo, magnitudes de medición, variables de ajuste e información de estado.
Si a través del conducto de datos 45 se comunica una orden de dirección, entonces con los datos comunicados por ello como en el procedimiento descrito en la figura 1 se realiza un análisis de firma en las unidades RE1, RE3 de cálculo del aparato SG1 de control. A continuación los datos se procesan de manera correspondiente por programas informáticos almacenados en los elementos 20,30 de memoria. Los datos de resultado generados con esto se someten de nuevo al análisis de firma ya mostrado en la figura 1 con respecto a las unidades RE1, RE3 de cálculo. Si en este caso no se detecta ningún fallo de transmisión o de cálculo, entonces las unidades RE1, RE3 de cálculo mediante los conductos 46, 47 de datos diseñados de manera redundante comunica los datos de resultado a las unidades RE2, RE4 de cálculo del aparato SG2 de control. Al mismo tiempo también en este caso se comunica la primera firma correspondiente junto con los datos.
Las unidades RE2, RE4 de cálculo ahora forman por su parte de manera independiente entre sí una segunda firma mediante los datos obtenidos en cada caso y la comparan con la primera firma comunicada, para detectar una avería de los datos durante la transmisión desde el aparato SG1 de control al aparato SG2 de control.
En la figura 4 se muestra de manera esquemática un sistema 2 de ordenador, que comprende una unidad RE1 de cálculo y una memoria 21 de sólo lectura. La unidad RE1 de cálculo comprende una denominada ALU 80 (Arithmetic-Logic-Unit, unidad lógica aritmética) y varios registros FR, Rom_Adr, Sx, Dx, Gx para almacenar direcciones y datos. Además la unidad RE1 de cálculo dispone de un denominado indicador de acarreo CF (Carry Flag), que está realizado mediante un espacio de 1-bit de ancho del registro de indicador FR. A través de un conducto 25a de dirección y un conducto 25b de datos la unidad RE1 de cálculo y la memoria 21 de sólo lectura están conectadas. La memoria 21 de sólo lectura comprende espacios que pueden direccionarse para el almacenamiento de datos, de los cuales por motivos de claridad solamente se muestran tres espacios en la figura 4 y están dotados con los números de referencia A1, A2, A3.
Una formación de firma que se ejecuta en el sistema 2 de ordenador, de un procedimiento según la invención, tal como se muestra por ejemplo en las figuras 1, 3, se describe mediante un diagrama de flujo en la figura 5. El procedimiento comienza en una etapa 100. En una etapa 101 se carga un registro de dirección Rom_Adr con una dirección, que remite a un espacio A1 que puede direccionarse de la memoria 21 de sólo lectura. En una etapa 102 se inicializa un registro Sx de firma con el valor cero. El procedimiento está diseñado de tal manera que al finalizar el procedimiento la firma calculada se encuentra en el registro Sx de firma. En una etapa 103 un polinomio de generador que es adecuado
para formar una firma que caracteriza estos datos a través de una cantidad de datos se carga en el registro Gx.
En una etapa 104 el contenido A1 de memoria, que se encuentra en la memoria 21 de sólo lectura bajo la dirección almacenada en el registro de dirección Rom_Adr se carga en el registro Dx de la unidad RE1 de cálculo. Para ello la dirección almacenada en el registro de dirección Rom_Adr, que remite por ejemplo al contenido A1 de memoria, se comunica mediante el conducto 25a de dirección a la memoria 21 de sólo lectura. Ésta envía entonces los datos que se encuentran en el contenido A1 de memoria correspondiente mediante el conducto 25b de datos a la unidad RE1 de cálculo, en la que se depositan en el registro Dx. El registro Rom_Adr de dirección a continuación aumenta una dirección de datos en la etapa 105.
En una etapa 106 el contenido del registro Sx de firma se desplaza un lugar (que corresponde a un bit) hacia la izquierda (left-shift). En este caso se aplica una forma de escritura para datos binarios, en la que el bit de más valor, el denominado MSB (Most Significant Bit, bit más significativo), siempre se anota a la izquierda. Este desplazamiento a la izquierda dentro del registro Sx de firma provoca que el bit MSB salga de la palabra de datos y se deposite en el indicador de acarreo CF.
En una etapa 107 mediante la unidad ALU 80 se emplea un operador O exclusivo en el registro Dx de datos y el registro Sx de firma y el resultado se deposita en el registro Sx de firma. En una etapa de consulta 108 se comprueba, si el valor MSB depositado en el indicador de acarreo CF es igual a 1. Si éste no es el caso, entonces se deriva a una etapa 110. Sin embargo si MSB = 1, entonces en una etapa 109 se resta el polinomio de generador depositado en el registro Gx del valor actual del registro Sx de firma, lo que se consigue mediante una operación O exclusivo en la unidad ALU 80.
En la etapa siguiente 110 ahora se invierte el contenido del registro Dx de datos. A continuación en la etapa 111 el contenido del registro Sx de firma se desplaza nuevamente un bit hacia la izquierda y el bit que sale, se deposita en este caso como MSB en el indicador de acarreo CF, sobrescribiéndose el valor almacenado hasta este momento. En la etapa 112 mediante la unidad ALU 80 el operador O exclusivo se aplica de nuevo en el registro Dx de datos y el registro Sx de firma y el resultado se deposita en el registro Sx de firma.
En una etapa de consulta 113 se comprueba de manera análoga a la etapa 108, si el valor MSB depositado en el indicador de acarreo CF es igual a 1. Si éste no es el caso, entonces se deriva a una etapa de consulta 115. Sin embargo si MSB = 1, entonces en una etapa 114 se resta el polinomio de generador depositado en el registro Gx del valor actual del registro Sx de firma, lo que se consigue de nuevo mediante una operación O exclusivo en la unidad ALU 80.
En la etapa de consulta 115 se comprueba, si ya se ha alcanzado un extremo de la palabra de datos, mediante el que se forma la firma. Si éste no es el caso, entonces el procedimiento continúa en la etapa 104. Si se ha alcanzado el final de la palabra de datos, entonces el procedimiento termina, encontrándose ahora la firma generada en el registro Sx de firma.
El procedimiento de software para la formación de firma propuesto según la invención funciona según el denominado procedimiento MISR (Multiple-Input Signature Register, registro de firma de múltiple entrada). Representa en software el procedimiento conocido en si mismo en hardware.
En la figura 6 se representa un principio de funcionamiento del procedimiento MISR en hardware para palabras de datos de 5 bits de ancho (DO hasta D4). SRB0 hasta SRB4 representan 5 mapas de bits (circuitos biestables) del registro de desplazamiento retroalimentado para la formación de firma. En cada entrada de mapa de bits se encuentra un sumador 2 (+) de módulo con dos o tres entradas. En la primera entrada del sumador se dispone un bit de la palabra D (Di) de datos que va a comprimirse, en la segunda entrada se dispone la salida del mapa SRB (SRB_{i-1}) de bits anterior y en la tercera entrada se dispone dado el caso la salida del mapa SRB_{4} de bits más significativo del registro de desplazamiento.
En el caso presente, en el que las palabras de datos se codifican de manera binaria, se forma mediante un sumador 2 (+) de módulo el resto de la división (D_{i} + SRB_{i-1} + SRB_{4}) /2 o la división (D_{i} + SRB_{i-1}) /2. El registro Sx de firma total forma un valor restante. El bloque de datos de entrada total que se compone de palabras de datos con una longitud de 5 bits puede considerarse de manera simplificada como un flujo de datos secuencial que se divide entre un valor, el polinomio divisor. El resto de esta división se encuentra a continuación en el registro Sx de firma.
Matemáticamente el funcionamiento de los registros de firma puede describirse mediante la representación de polinomios de números binarios. Para la representación de polinomios de un número binario, las cifras 1 en el número binario se sustituyen por términos x^{n} correspondientes, correspondiendo el exponente n al valor posicional del 1 correspondiente. Al polinomio divisor G(x)=x^{5}+x^{3}+x^{1}+x^{0} en la figura 6 corresponde el número binario 101011. Dado que un polinomio divisor además de para la compresión de datos puede emplearse también para la generación de datos, el polinomio divisor también se denomina polinomio G(x) generador. También el flujo de datos de entrada puede
representarse como polinomio D(x) y el contenido del registro de firma puede representarse como polinomio S(x).
\global\parskip0.970000\baselineskip
En el registro Sx de firma la división se realiza por el polinomio divisor mediante la resta repetida del valor de polinomio divisor del contenido de registro de desplazamiento. Cada vez que el valor 1 se desplaza del mapa SRB4 de bits más significativo y con ello el término x^{5} se introdujera en un registro de desplazamiento más largo en el mapa SRB5 de bits ausente (que corresponde al indicador de arrastre CF en la figura 4, 5), el valor almacenado en el registro de desplazamiento se reduce en x^{5}+x^{3}+x^{1}+x^{0}. El desplazamiento del SRB4 se reduce en x^{5}, la retroalimentación reduce el valor de registro de desplazamiento en x3+x1+x0 mediante el sumador 2 (+) de módulo, porque la suma 2 de módulo corresponde en este caso a una resta 2 de módulo. La representación de hardware del polinomio divisor se forma mediante las vías de retroalimentación del bit más significativo del registro de desplazamiento con respecto a los sumadores 2 de módulo.
En la figura 6 los sumadores 2 de módulo están conectados con SRB4 antes de los siguientes mapas de bits: SRB3, SRB1, SRB0. El polinomio correspondiente es x^{5}+x^{3}+x^{1}+x^{0}. Contiene el término x^{5} con el exponente 5 (corresponde a la longitud del registro de desplazamiento + 1), porque el bit MSB más significativo se ha desplazado y por tanto sustraído. Matemáticamente puede demostrase, que la resta que permanece en el registro de firma corresponde a la resta que se origina mediante la división del flujo D(x) de datos por el polinomio G(x) generador.
A continuación mediante una función recursiva se muestran las operaciones matemáticas necesarias para la formación de la firma S(x) en el registro de firma. Indican:
Si(x): valor actual del registro de firma;
S_{i+i}(x): valor siguiente del registro de firma después de procesar la palabra de datos; y
D_{i}(x): valor actual del registro de datos.
La firma según el ciclo de procesamiento de orden i es entonces:
S_{i+1}(x) = [D_{1}(x) + xSi(x)]mod G(x)
La multiplicación de la firma Si(x) por x representa el desplazamiento del registro de desplazamiento una posición de bit hacia la izquierda (desplazamiento izquierdo). El signo "+" es una suma 2 de módulo o una resta del registro de firma con la palabra de datos actual. El concepto modG(x) significa, que en el registro de firma siempre se dispone la resta con respecto a la división S(x)/G(x). Esto se consigue en la solución de hardware, tal como ya se ha descrito, porque siempre que el bit más significativo en el registro de desplazamiento es = 1, el polinomio G(x) generador se resta del valor Si(x) del registro de desplazamiento.
En una realización de software del procedimiento MISR, tal como se representa, por ejemplo, en la figura 5, los sumadores 2 de módulo según la figura 7 pueden realizarse como operaciones O exclusivo. En los lugares en los que deben sumarse dos bits está prevista una operación O exclusivo, en los lugares en los que deben sumarse tres bits esto se realiza mediante dos operaciones de O exclusivo consecutivas. La representación de hardware puede transformarse en software, realizándose las etapas siguientes para cada una de las palabras D de datos que van a procesarse.
1. Siendo el contenido inicial del registro de firma 00000.
2. Desplazar el contenido del registro de firma una posición hacia la izquierda. Matemáticamente esto significa la multiplicación del valor de registro de firma por x, es decir S_{i+i}(x) = xS_{i}(x).
3. Formar O exclusivo a partir del valor Di(x) de datos actual que va a leerse y del contenido del registro S(x) de firma, es decir S_{i+i}(x)=D_{i}(x)+xS_{i}(x)
4. En el caso de que SRB4 = 1: formar O exclusivo a partir del registro S(x) de firma y polinomio G(x) generador. Por tanto es S_{i+i}(x)= S_{i+i}(x)+G(x) = [D_{i}(x)+xS_{i}(x)]modG(x).
La formación de firma descrita mediante una memoria ROM puede realizarse en cualquier aparato de cálculo. Tal como ya se ha mencionado para la realización de este procedimiento de formación de firma en un procesador se necesitan cuatro registros:
\quad
ROM_Adr como registro de dirección para la memoria ROM;
\quad
Dx como registro para la palabra de datos actual que va a procesarse;
\quad
Sx como registro de firma; y
\quad
Gx como registro para el almacenamiento del polinomio generador.
\global\parskip1.000000\baselineskip
\newpage
La ejecución de programa simbólica en el ensamblador es como sigue:
Start:
Cargar ROM_Adr con la dirección inicial de la memoria ROM
Init:
Cargar Sx con 0 (S_{0}(x)=0)
\quad
Cargar Gx con el polinomio generador
Loop:
Cargar Dx con el contenido de ROM_Adr
\quad
Aumentar ROM_Adr en 1
MISR:
Desplazar Sx 1 bit hacia la izquierda, el bit más significativo en el bit de a acarreo (xS(x))
\quad
Formar O exclusivo Dx con Sx (D(x)+xS(x))
\quad
Cuando se introduce el bit de acarreo, formar O exclusivo Sx con Gx ([D(x)+xS(x)]modG(x))
\quad
Comparar ROM_Adr con la dirección final ROME
\quad
Si no es igual, vaya a Loop.

Claims (10)

1. Procedimiento para la transmisión de datos (D) entre dos unidades (RE1; RE3) de cálculo, en el que en la primera unidad (RE1) de cálculo según un procedimiento (SBV) de formación de firma que puede predeterminarse se forma una primera firma (S) en función de los datos (D) que van a transmitirse, y la primera firma (S) se transmite junto con los datos (D) a la segunda unidad (RE3) de cálculo en mensajes, en el que una segunda firma (S') se forma según el procedimiento de formación de firma en función de los datos (D') transmitidos y la primera firma (S) se compara con la segunda firma (S'), caracterizado porque en la primera unidad (RE1) de cálculo los datos (D) que van a transmitirse se invierten y la primera firma (S) se forma según el procedimiento (SBV) de formación de firma que puede predeterminarse en función de los datos (D) que van a transmitirse y de los datos (Di) invertidos, y porque en la segunda unidad (RE3) de cálculo se invierten los datos (D') transmitidos y en función de estos datos (Di') invertidos y los datos (D') transmitidos según el procedimiento (SBV) de formación de firma se forma la segunda firma (S') y la primera firma (S) se compara con las segunda firma (S').
2. Procedimiento según la reivindicación 1, caracterizado porque mediante un registro (Sx) de firma con varias entradas (MISR; Multiple Input Shift Register, registro de desplazamiento de múltiple entrada) se forman la primera firma (S) y/o la segunda firma (S') en bits en paralelo (palabra por palabra).
3. Procedimiento según la reivindicación 1 o 2, caracterizado porque la primera firma (S) y/o la segunda firma (S') se forman a través de varios mensajes.
4. Procedimiento según la reivindicación 3, caracterizado porque una firma (S) se transmite distribuida entre varios mensajes.
5. Procedimiento según una de las reivindicaciones 1 a 4, siendo los datos (D) que van a transmitirse datos de entrada con exactitud de bit, que por ejemplo llegan en mensajes mediante buses de datos a las unidades de cálculo, o son resultados de cálculo, que se generan de manera redundante paralelamente en varios ordenadores, caracterizado porque para comprobar una coincidencia de estos datos (D) se transmiten solamente las firmas (S) correspondientes.
6. Uso de un procedimiento según una de las reivindicaciones 1 a 5, caracterizado porque el procedimiento se utiliza para comprobar el contenido de un espacio de memoria de una memoria (21) de sólo lectura, memoria flash o una memoria (22) de lectura-escritura.
7. Uso según la reivindicación 6 caracterizado porque los datos (D) del contenido de memoria que va a comprobarse se invierten, se forma una primera firma (S) según el procedimiento (SBV) de formación de firma que puede predeterminarse en función de los datos (D) que van a comprobarse y de los datos (Di) invertidos y se almacena en un espacio de memoria de una memoria (21) de sólo lectura, memoria flash o una memoria (22) de lectura-escritura como una firma deseada y porque para una comprobación de los datos (D') que se encuentran en el espacio de memoria que van a comprobarse, se invierten los datos (D'), en función de estos datos invertidos (Di') y de los datos (D') según el procedimiento (SBV) de formación de firma se forma la segunda firma (S') y se compara con la firma deseada (S).
8. Programa informático, que puede ejecutarse en un aparato de cálculo o un aparato (SG1, SG2) de control o en una unidad (RE1, RE2, RE3, RE4) de cálculo, realizando el programa informático el procedimiento según una de las reivindicaciones 1 a 5.
9. Programa informático según la reivindicación 8, caracterizado porque el programa informático se deposita en un elemento (20, 30) de memoria, especialmente en una memoria (22, 32) de lectura-escritura con acceso aleatorio (RAM), una memoria (21,31) de sólo lectura (ROM) o una memoria flash.
10. Aparato (SG1) de control para un automóvil, que comprende al menos una unidad (RE1) de cálculo y al menos un elemento (20) de memoria, en el que se deposita un programa informático, que puede ejecutarse en la unidad (RE1) de cálculo, caracterizado porque el aparato (SG1) de control realiza un procedimiento según una de las reivindicaciones 1 a 5, cuando el programa informático se ejecuta en la unidad (RE1) de cálculo.
ES03767404T 2002-11-11 2003-11-06 Procedimiento para la formacion de firma y transmision de datos. Expired - Lifetime ES2280805T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10252230 2002-11-11
DE10252230A DE10252230A1 (de) 2002-11-11 2002-11-11 Verfahren zur Übertragung von Daten

Publications (1)

Publication Number Publication Date
ES2280805T3 true ES2280805T3 (es) 2007-09-16

Family

ID=32185425

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03767404T Expired - Lifetime ES2280805T3 (es) 2002-11-11 2003-11-06 Procedimiento para la formacion de firma y transmision de datos.

Country Status (6)

Country Link
US (1) US7676727B2 (es)
EP (1) EP1563629B1 (es)
AU (1) AU2003291927A1 (es)
DE (2) DE10252230A1 (es)
ES (1) ES2280805T3 (es)
WO (1) WO2004045131A2 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6083923A (en) * 1997-10-31 2000-07-04 Isis Pharmaceuticals Inc. Liposomal oligonucleotide compositions for modulating RAS gene expression
US7260757B2 (en) * 2003-11-25 2007-08-21 International Business Machines Corporation System and method for testing electronic devices on a microchip
DE102004008910A1 (de) * 2004-02-24 2005-09-08 Robert Bosch Gmbh Verfahren und Kommunikationssystem zur Übertragung von Informationen in einem Kraftfahrzeug
DE102004046291A1 (de) * 2004-09-24 2006-03-30 Robert Bosch Gmbh Verfahren und Vorrichtung zur Signaturbildung
DE102005018837A1 (de) * 2005-04-22 2006-10-26 Robert Bosch Gmbh Verfahren und Vorrichtung zur Synchronisation zweier Bussysteme sowie Anordnung aus zwei Bussystemen
US20060253726A1 (en) * 2005-05-06 2006-11-09 Vikas Kukshya Fault-tolerant architecture for a distributed control system
DE102007016917B4 (de) * 2007-04-05 2009-12-17 Phoenix Contact Gmbh & Co. Kg Verfahren sowie System zur sicheren Übertragung von zyklischen zu übertragenden Prozessdaten
US8117526B2 (en) * 2007-10-29 2012-02-14 Qimonda Ag Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal
DE102009027086A1 (de) * 2009-06-23 2010-12-30 Robert Bosch Gmbh Vorrichtung und Verfahren zur Bildung einer Signatur
DE102009054637A1 (de) * 2009-12-15 2011-06-16 Robert Bosch Gmbh Verfahren zum Betreiben einer Recheneinheit
DE102011115854A1 (de) * 2011-10-13 2013-04-18 Audi Ag Fahrzeug und Verfahren zum Steuern eines Fahrzeugs
US9274904B2 (en) * 2013-06-18 2016-03-01 Advanced Micro Devices, Inc. Software only inter-compute unit redundant multithreading for GPUs
US9219499B2 (en) 2014-05-16 2015-12-22 Robert Bosch Gmbh Run time compression method for a vehicle communication bus
DE102017218134B3 (de) * 2017-10-11 2019-02-14 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Übertragen einer Botschaftsfolge über einen Datenbus sowie Verfahren und Vorrichtung zum Erkennen eines Angriffs auf eine so übertragene Botschaftsfolge
DE102019106410A1 (de) * 2019-03-13 2020-09-17 Liebherr-Aerospace Lindenberg Gmbh Vorrichtung und Verfahren zur Datenübertragung

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4277844A (en) * 1979-07-26 1981-07-07 Storage Technology Corporation Method of detecting and correcting errors in digital data storage systems
US4458349A (en) * 1982-06-16 1984-07-03 International Business Machines Corporation Method for storing data words in fault tolerant memory to recover uncorrectable errors
US4736376A (en) * 1985-10-25 1988-04-05 Sequoia Systems, Inc. Self-checking error correcting encoder/decoder
US5003539A (en) * 1986-04-11 1991-03-26 Ampex Corporation Apparatus and method for encoding and decoding attribute data into error checking symbols of main data
US4817095A (en) * 1987-05-15 1989-03-28 Digital Equipment Corporation Byte write error code method and apparatus
US4782487A (en) * 1987-05-15 1988-11-01 Digital Equipment Corporation Memory test method and apparatus
US5014273A (en) * 1989-01-27 1991-05-07 Digital Equipment Corporation Bad data algorithm
US5428629A (en) * 1990-11-01 1995-06-27 Motorola, Inc. Error check code recomputation method time independent of message length
US5274646A (en) * 1991-04-17 1993-12-28 International Business Machines Corporation Excessive error correction control
KR100206128B1 (ko) * 1996-10-21 1999-07-01 윤종용 선형 궤환 쉬프트레지스터, 다중 입력기호 레지스터 및 이들을 이용한 내장 자기 진단회로
US6480800B1 (en) * 1999-02-08 2002-11-12 International Business Machines Corp. Method and system for generating self-testing and random input stimuli for testing digital systems
US6311311B1 (en) * 1999-08-19 2001-10-30 International Business Machines Corporation Multiple input shift register (MISR) signatures used on architected registers to detect interim functional errors on instruction stream test
US6457154B1 (en) * 1999-11-30 2002-09-24 International Business Machines Corporation Detecting address faults in an ECC-protected memory
US6519736B1 (en) * 1999-11-30 2003-02-11 International Business Machines Corporation Generating special uncorrectable error codes for failure isolation
US6584526B1 (en) * 2000-09-21 2003-06-24 Intel Corporation Inserting bus inversion scheme in bus path without increased access latency
US6684363B1 (en) 2000-10-25 2004-01-27 Sun Microsystems, Inc. Method for detecting errors on parallel links

Also Published As

Publication number Publication date
WO2004045131A2 (de) 2004-05-27
DE50306330D1 (de) 2007-03-08
EP1563629A2 (de) 2005-08-17
AU2003291927A1 (en) 2004-06-03
EP1563629B1 (de) 2007-01-17
WO2004045131A3 (de) 2004-09-16
AU2003291927A8 (en) 2004-06-03
US7676727B2 (en) 2010-03-09
DE10252230A1 (de) 2004-05-27
US20060156127A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
ES2280805T3 (es) Procedimiento para la formacion de firma y transmision de datos.
KR100369492B1 (ko) 임계안전도제어시스템용마이크로프로세서시스템
US8423835B2 (en) System and method providing fault detection capability
JPS6041770B2 (ja) エラ−・チェック修正システム
US20100138576A1 (en) Data transmission method between master and slave devices
JP3055723B2 (ja) 読み−修正−書き用の改良されたバッファ作用
US20210406171A1 (en) Method and system for in-line ecc protection
US10311241B2 (en) Memory management
US11438017B2 (en) Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
US20060218432A1 (en) Method for the recognition and/or correction of memory access error electronic circuit arrangement for carrying out said method
WO2005114848A1 (en) Data processing
IT202100022565A1 (it) Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
JP2004159333A (ja) 巡回冗長検査(crc)符号を用いたデータを交換するための構成、ならびにデータバス上で交換されているデータからcrc符号を自動的に生成するための方法および装置
JP7184632B2 (ja) 半導体装置
US20050289409A1 (en) Parallel data bus
US20090177890A1 (en) Method and Device for Forming a Signature
JP7372975B2 (ja) 演算装置および演算装置の作動方法
CN113557496B (zh) 用于提供图像数据的设备
CN210722467U (zh) 用于管理存储器设备的存储空间的系统和存储器设备
US20100122150A1 (en) Cpu instruction ram parity error procedure
KR102001420B1 (ko) 전자제어유닛, 차량 통신 보안시스템 및 보안방법
KR100930931B1 (ko) 플렉스레이통신 고장 강건을 위한 플렉스레이 시스템
US11663118B2 (en) Address vectors for data storage elements
JP2007257386A (ja) 車両の電子制御装置用データの検証方法及び検証システム
EP1020798A1 (en) Undirectional verification of bus-based systems