ES2280805T3 - Procedimiento para la formacion de firma y transmision de datos. - Google Patents
Procedimiento para la formacion de firma y transmision de datos. Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements 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.
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.
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.
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.
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).
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.
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).
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.
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)
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)
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 |
-
2002
- 2002-11-11 DE DE10252230A patent/DE10252230A1/de not_active Ceased
-
2003
- 2003-11-06 AU AU2003291927A patent/AU2003291927A1/en not_active Abandoned
- 2003-11-06 ES ES03767404T patent/ES2280805T3/es not_active Expired - Lifetime
- 2003-11-06 EP EP03767404A patent/EP1563629B1/de not_active Expired - Lifetime
- 2003-11-06 DE DE50306330T patent/DE50306330D1/de not_active Expired - Lifetime
- 2003-11-06 WO PCT/DE2003/003691 patent/WO2004045131A2/de active IP Right Grant
- 2003-11-06 US US10/534,603 patent/US7676727B2/en active Active
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 |