MXPA99003465A - Circuito electronico de procesamiento de datos - Google Patents

Circuito electronico de procesamiento de datos

Info

Publication number
MXPA99003465A
MXPA99003465A MXPA/A/1999/003465A MX9903465A MXPA99003465A MX PA99003465 A MXPA99003465 A MX PA99003465A MX 9903465 A MX9903465 A MX 9903465A MX PA99003465 A MXPA99003465 A MX PA99003465A
Authority
MX
Mexico
Prior art keywords
data processing
processing circuit
data
group
electronic data
Prior art date
Application number
MXPA/A/1999/003465A
Other languages
English (en)
Inventor
Pfab Stefan
Original Assignee
Siemens Ag 80333 Muenchen De
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 Siemens Ag 80333 Muenchen De filed Critical Siemens Ag 80333 Muenchen De
Publication of MXPA99003465A publication Critical patent/MXPA99003465A/es

Links

Abstract

La invención se refiere a un circuito electrónico de procesamiento electrónico de datos, con un grupo constructivo operativo (1, 101), como por ejemplo, un microprocesador, con cuando menos una memoria de datos (2, 3, 4, 5, 102, 103, 104, 105) y con una línea de datos (106) que se extiende entre la memoria de datos (2, 3, 4, 5, 102, 103, 104, 105) y el grupo constructivo de operación (1, 101). En los circuitos electrónicos de procesamiento de datos del tipo, la memoria contiene a menudo informaciones a las que, de ser posible, no se debe tener acceso. Por ello, es necesario tomar medidas de seguridad contra la manipulación del circuito electrónico de procesamiento de datos. Por ello, es objetivo de la invención proporcionar un circuito electrónico de procesamiento de datos del tipo, el cual presente una mejor protección contra modificaciones no deseadas. Este objetivo se logra de conformidad con la invención mediante un circuito electrónico de procesamiento de datos del tipo, en el cual en la zona entre la memoria de datos (2, 3,, 4, 5, 102, 103, 104, 105) y la línea de datos y/o en la zona entre el grupo constructivo de operación (1, 101) y la línea de datos se preve cuando menos un grupo constructivo codificador (20, 21, 22, 35, 107), estandoéste conformado de tal manera, que el tránsito de datos entre el grupo constructivo de operación (1, 101) y la línea de datos, o bien, entre la memoria de datos (106) se puede codificar y/o decodificar.

Description

CIRCUITO ELECTRÓNICO DE PROCESAMIENTO DE DATOS CAMPO DE LA INVENCIÓN La invención se refiere a un circuito electrónico de procesamiento electrónico de datos, con un grupo constructivo operativo, como por ejemplo, un microprocesador, con cuando menos una memoria de datos y con una línea de datos que se extiende entre la memoria de datos y el grupo constructivo de operación.
ANTECEDENTES DE LA INVENCIÓN Los circuitos electrónicos de procesamiento de datos del tipo se utilizan a menudo en aplicaciones de seguridad crítica. En la memoria de datos se depositan datos confidenciales, valores monetarios y autorizaciones de acceso, los cuales son procesados por el grupo constructivo de operación, por ejemplo, como resultado de un requerimiento externo. Como la memoria contiene informaciones a las que no se debe tener acceso, es necesario tomar medidas de seguridad contra la manipulación del circuito electrónico de procesamiento de datos . Cuando un circuito electrónico de procesamiento de datos del tipo está configurado como circuito integrado, éste se puede cubrir con diversas capas de pasivación. Estas pueden estar colocadas de tal manera, que el retirar alguna de ellas produce la destrucción de la memoria de datos. También se puede enterrar ia memoria de datos en capas más profundas del circuito integrado, de modo que su acceso sea más difícil. Otra posibilidad de proteger un circuito electrónico de procesamiento de datos contra la manipulación no deseada consiste en la utilización de sensores, los cuales exploran las condiciones de operación del circuito electrónico de procesamiento de datos. En cuanto un valor percibido por un sensor está fuera de un valor normal, se disparan las correspondientes medidas de seguridad, las cuales llevan a una desactivación del circuito electrónico de procesamiento de datos o, incluso, a borrar la memoria de datos. Existen también sensores de software, los cuales vigilan la operación del grupo constructivo de operación en cuanto a comandos no permitidos o a accesos a áreas que están bloqueadas para determinada operación. Además, se puede vigilar la secuencia de acceso en cuanto a su normalidad. Finalmente, se conoce también limitar los accesos a memoria del grupo constructivo de operación en un modo de fabricación especial, mediante dispositivos de hardware particulares, como por ejemplo, líneas de comunicación diseñadas de manera separable.
A pesar de las medidas de seguridad antes descritas se llegan a dar ocasionalmente manipulaciones no deseadas en los circuitos electrónicos de procesamiento de datos del tipo .
OBJETIVOS Y VENTAJAS DE LA INVENCIÓN Por ello, es objetivo de la invención proporcionar un circuito electrónico de procesamiento de datos del tipo, el cual presente una mejor protección contra modificaciones no deseadas. Este objetivo se logra de conformidad con la invención mediante un circuito electrónico de procesamiento de datos del tipo, en el cual en la zona entre la memoria de datos y la línea de datos y/o en la zona entre el grupo constructivo de operación y la línea de datos se prevé adicionalmente cuando menos un grupo constructivo codificador, estando éste conformado de tal manera, que el tránsito de datos entre el grupo constructivo de operación y la línea de datos, o bien, entre la memoria de datos y la línea de datos se puede codificar y/o decodificar. La invención se basa en el conocimiento esencial para la misma de que gracias a los nuevos procedimientos técnicos se ha facilitado la posibilidad de manipulación de circuitos electrónicos de procesamiento de datos realizados como circuitos integrados. Así, desde el punto de vista de un manipulador, un circuito electrónico de procesamiento de datos en un circuito integrado ya no se debe considerar sólo como chip en su totalidad, sino como un sistema que consta de componentes individuales sobre un portador de silicio, en el cual los componentes se pueden accesar por separado. Por consiguiente, existe la posibilidad de, a través de la observación del tránsito de datos en la línea de datos o leyendo la memoria de datos, sacar conclusiones sobre la información almacenada en la memoria de datos, de modo que se facilita una manipulación. Según otro conocimiento esencial para la invención, muchas manipulaciones sobre los circuitos electrónicos de procesamiento de datos del tipo se deben a que se logró "espiar" el tránsito de datos en la línea de datos, de modo que se puede observar y, desgraciadamente, entender el curso del programa en el grupo constructivo de operación. De conformidad con la invención se propone transportar codificados los datos en el circuito electrónico de procesamiento de datos, previéndose entre la línea de datos y la memoria de datos, o bien, entre el grupo constructivo de operación y la línea de datos, dispositivos para codificar y decodificar el tránsito de datos sobre la línea de datos. Este tipo de dispositivos se denominan en lo sucesivo como "grupo constructivo codificador" , no limitándose expresamente esta expresión a dispositivos que sólo llevan a cabo una codificación. Según el concepto principal de la invención, con esta expresión también se abarcan dispositivos que realizan tanto una codificación como también una decodificación, o bien, únicamente una de estas dos operaciones. Mediante la configuración de conformidad con la invención del circuito electrónico de procesamiento de datos se garantiza que, incluso en caso de un seguimiento con éxito del tránsito de datos en la línea de datos, no se puedan sacar conclusiones directas sobre los datos almacenados en la memoria de datos. Además, no es fácilmente posible descubrir el curso del programa a partir de la información obtenida por el seguimiento del tránsito de datos en la línea de datos. Pues incluso en caso de una lectura con éxito de los datos almacenados en la memoria de datos, no se puede descubrir fácilmente su significado, pues aquéllos no tienen sentido para un observador no autorizado. De conformidad con la invención es particularmente ventajoso que la codificación y decodificación según la invención se realice distribuida, o bien, dislocada en todo el chip, pues para una manipulación exitosa, sería necesaria una observación simultánea de varios puntos del circuito electrónico de procesamiento de datos, lo cual, técnicamente, es difícil de realizar. En los circuitos electrónicos de procesamiento de datos provistos de memorias intermedias Latch para almacenar provisionalmente los accesos a la memoria de datos, es esencial que el grupo constructivo de codificación esté dispuesto de tal manera, que el contenido de la memoria intermedia Latch siempre esté codificado. Pues el contenido del Latch se puede observar con relativa facilidad, de modo que su contenido, por razones de seguridad, debe presentarse de manera codificada en la operación del circuito de procesamiento de datos de conformidad con la invención. La codificación y decodificación, de conformidad con la invención, puede extenderse hasta un CPU de un circuito de procesamiento de datos conforme a la invención. Además, la codificación y decodificación también puede desarrollarse independientemente entre sí en varios grupos constructivos de codificación. De conformidad con la invención, también se incluyen soluciones en las cuales sólo se prevé un grupo constructivo de codificación. Finalmente, resulta todavía una ventaja en los circuitos de procesamiento de datos que, en un procesamiento Multitasking, llevan a cabo varias aplicaciones simultáneamente. Mediante la codificación adecuada se pueden asignar diversas aplicaciones, o bien, tareas a diversas memorias de datos, acordándose para cada tarea una clave diferente. De esta manera, una tarea no puede accesar datos de otra tarea.
Resumiendo se puede decir que, de conformidad con la invención, ya no es suficiente inspeccionar físicamente el circuito de procesamiento de datos. Adicionalmente, en particular observando simultáneamente varios componentes, se debe reconocer también la clave almacenada en el grupo constructivo de codificación, o bien, en los grupos constructivos de codificación, y, eventualmente, la activación de aquélla. En el desarrollo de la invención, el grupo constructivo de codificación está diseñado de tal manera, que el tránsito de datos en una línea de datos se puede codificar mediante un algoritmo de codificación. Un grupo constructivo de codificación diseñado de esta manera ofrece la ventaja de poderse fabricar de manera particularmente económica en el caso de una producción en serie. Sin embargo, una codificación con un algoritmo tarda mucho, pues se requieren amplios cálculos en el grupo constructivo de operación. Por ello, una operación en tiempo real de este circuito de procesamiento de datos de conformidad con la invención aún no es posible actualmente. En otro desarrollo de la invención, el grupo constructivo de codificación está diseñado de tal modo, que el tránsito de datos en la línea de datos se puede codificar mediante codificación por hardware. Justamente en el caso de codificación por hardware, una operación de los circuitos de procesamiento de datos de conformidad con la invención se puede lograr de manera muy sencilla, tanto en el caso de acceso de lectura como de escritura a la memoria de datos. De conformidad con la invención, una codificación por hardware se puede realizar con un grupo constructivo de codificación que esté diseñado de tal manera, que los valores de determinados bits del tránsito de datos se puedan modificar selectivamente. Así, bits que en la memoria aparecen, por ejemplo, como "LOW", en el tránsito de datos sobre la línea de datos aparecen como "HIGH" . Lo anterior se puede llevar a cabo, por ejemplo, con un grupo constructivo de codificación que presente cuando menos un miembro EXOR. En otro desarrollo de la invención, el grupo constructivo codificador puede estar configurado de tal manera, que la secuencia de conexión de líneas de datos del bus de datos se pueda modificar selectivamente. Lo anterior se refleja hacia afuera como si determinadas líneas de bits del bus de datos se hubieran intercambiado. Finalmente, la codificación por hardware en el circuito de procesamiento de datos de conformidad con la invención, se puede realizar también mediante un grupo constructivo codificador que esté configurado de tal modo, que el tránsito de datos entre la línea de datos y el grupo constructivo de operación y/o entre la línea de datos y la memoria de datos se pueda retrasar selectivamente al menos parcialmente. De esta manera se puede fingir en la línea de datos un tránsito de datos que no guarda ninguna relación con el estado de operación momentáneo del circuito electrónico de procesamiento de datos de conformidad con la invención. Una característica esencial del circuito de procesamiento de datos de conformidad con la invención consiste en que el grupo constructivo codificador está configurado de tal manera, que la codificación trabaja selectivamente. Lo anterior no sólo significa que una codificación puede ya sea efectuarse o no. Además, de conformidad con la invención lo anterior incluye que se pueda cambiar entre diferentes claves para la codificación del tránsito de datos. En este caso, la utilización del grupo constructivo codificador de conformidad con la invención recibe un comportamiento dinámico. Justamente en el circuito de procesamiento de datos de conformidad con la invención con claves cambiantes, se prevé que los circuitos de procesamiento de datos de un lote de fabricación reciban respectivamente claves diferentes e individuales. De esta manera se garantiza que, incluso si se conoce la clave de un circuito de procesamiento de datos, no se puedan sacar conclusiones sobre las claves de otros circuitos de procesamiento de datos. En un desarrollo de la idea fundamental de la invención, el grupo constructivo codificador presenta cuando menos una entrada para ingresar cuando menos una clave. Esta entrada en el grupo constructivo codificador, sin embargo, también se puede utilizar para conmutar entre determinadas claves almacenadas en el grupo constructivo codificador mismo, e incluso, entre los procedimientos de codificación utilizados en el grupo constructivo codificador. También es posible de manera muy sencilla activar, o bien, desactivar un solo proceso de codificación. A diferencia de lo anterior, a través de la entrada también se puede ingresar una clave almacenada fuera del grupo constructivo codificador. Para ello, la clave se deposita ventajosamente en una célula FLASH o en una célula EEPROM. Las células anteriores se consideran relativamente seguras, pues las informaciones están almacenadas en una compuerta flotante con sólo "pocos" electrones. La mayoría de los intentos por leer su contenido destruye la información almacenada. De esto resulta de conformidad con esta modalidad de la invención, una codificación particularmente segura del tránsito de datos. Además, todas las células FLASH tienen la ventaja de la posibilidad de programación. Así, de manera sencilla, en la entrega del circuito de procesamiento de datos de conformidad con la invención, en cada circuito se pueden programar claves individuales y bloquear para otras modificaciones. Otra mejora de la seguridad resulta cuando la clave se deposita en una estructura enterrada de un componente integrado, recibiendo éste ventajosamente también el circuito de procesamiento de datos. Las estructuras enterradas ofrecen la ventaja de que se pueden realizar descentralizadamente en diversos lugares del componente integrado. Esto aumento considerablemente la seguridad, pues es muy difícil observar simultáneamente diversos puntos de un circuito de procesamiento de datos dispuesto en un componente integrado. Además se pueden prever también sensores, los cuales registran las manipulaciones del lugar en el que se encuentra la clave, y, para este caso, desactivan o hacen de otra manera inutilizable el circuito de procesamiento de datos de conformidad con la invención. Alternativamente a las claves almacenadas al momento de la fabricación del circuito de procesamiento de datos de conformidad con la invención, se puede prever también un generador aleatorio, con el cual se puede elegir aleatoriamente una clave. Según una modalidad particularmente ventajosa de la invención, la elección de la clave que se emplea en el grupo constructivo codificador la lleva a cabo el grupo constructivo de operación en particular durante el curso del programa. Para ello, el circuito de procesamiento de datos de conformidad con la invención está diseñado de tal manera, que cuando el grupo constructivo de operación realiza operaciones predeterminadas se puede ingresar una clave al grupo constructivo codificador. Puesto que el código de programa del grupo constructivo de operación puede ser eventualmente conocido, la selección de la clave se lleva a cabo ventajosamente de manera oculta en el código de programa normal. Así, el grupo constructivo de operación podría estar configurado, por ejemplo, de tal manera, que al ejecutar un comando no realizable, como por ejemplo, CLR C ("CLEAR CARRY"), se cambie la clave del grupo constructivo codificador, o bien, de los grupos constructivos codificadores. Además, se puede prever un cronómetro, el cual vigila un cambio de la clave y dispara dicho cambio, cuando la clave no se cambia con la suficiente frecuencia. Finalmente, en lo que respecta a las claves que se utilizan en los grupos constructivos codificadores, se prevé que las claves sean generadas por el grupo constructivo de operación, o bien, por el CPU. Lo anterior se efectúa, por ejemplo, derivando una clave con un proceso de conversión, a partir de una dirección generada por el CPU. La ventaja de este procedimiento consiste en que le clave se modifica continuamente, es decir, con cada dirección. Mediante la elección de diversos procedimientos de conversión, el programador del grupo constructivo de operación puede tener influencia sobre la codificación. Resumiendo se debe decir que el tránsito de datos en el circuito de procesamiento de datos de conformidad con la invención, sólo puede ser entendido por un manipulador, cuando se conoce la clave que se utiliza respectivamente en el grupo constructivo codificador. También los datos depositados en la memoria de datos se pueden comprender únicamente conociendo la clave que corresponde a la memoria de datos. Esto aumenta considerablemente la seguridad contra manipulaciones . Naturalmente, un programador que programa el grupo constructivo de operación del circuito de procesamiento de datos, debe llevar una lista confidencial sobre qué datos correspondientes a la clave depositó en qué direcciones de la memoria de datos, o bien, del circuito de procesamiento de datos. Según el tipo de la clave, el programador también puede prever determinadas condiciones por cumplir, las cuales se muestran, por ejemplo, cuando siempre se deben leer pares de valores . En una modalidad particularmente ventajosa del circuito electrónico de procesamiento de datos, en la zona de cuando menos una línea de datos del bus de datos que une el grupo constructivo de operación y cuando menos una memoria de datos, se prevén cuando menos dos grupos constructivos codificadores, que están configurados de tal manera, que una codificación, o bien, decodificación completa sólo se puede realizar con la colaboración de ambos grupos constructivos codificadores. Ventajosamente, ambos grupos constructivos codificadores están dispuestos en diferentes lugares del circuito electrónico de procesamiento de datos. Con esta configuración se garantiza que una codificación del tránsito de datos tenga lugar en dos diferentes lugares. Un manipulador típico encontrará posiblemente sólo una codificación en un solo lugar, a saber, en un solo grupo constructivo codificador, y, al utilizar la codificación, no obtendrá ningún resultado utilizable. Pues precisamente en una realización con dos grupos constructivos codificadores, que están alojados en lugares diferentes, es especialmente difícil encontrar una codificación, pues dos diferentes lugares de una microestructura sólo se pueden observar simultáneamente de manera particularmente difícil. Los grupos constructivos codificadores realizados de esta manera se pueden diseñar, por ejemplo, de tal manera, que un grupo constructivo codificador en un lugar codifica, o bien, decodifica los cuatro bits inferiores de una línea de datos, mientras que el otro grupo constructivo codificador codifica, o bien, decodifica los demás bits de la línea de datos. Otra ventaja del procedimiento de conformidad con la invención resulta en aquellos circuitos de procesamiento de datos del tipo, en los que, por razones de seguridad, se desea lograr que no todos los componentes del circuito de procesamiento de datos se puedan comunicar entre sí. Así, mediante una configuración adecuada de la clave, por ejemplo, con un número definido de unidades de codificación, sólo se puede comunicar los caminos de unión previstos para ello de la línea de datos. Todas las otras conexiones con codificaciones inadecuadas no pueden funcionar correctamente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La invención se ilustra más detalladamente en el dibujo con la ayuda de dos ejemplos de realización sencillos así como uno más complejo, en tres figuras. Muestran: La Figura 1, un circuito electrónico de procesamiento de datos de conformidad con la invención, con sólo un dispositivo codificador en el CPU. La Figura 2, una variante del circuito electrónico de procesamiento de datos de la Figura 1. Y la Figura 3, otro circuito electrónico de procesamiento de datos con dispositivo codificadores en el CPU, así como en la zona de las memorias de datos.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La Figura 1 muestra un circuito de procesamiento de datos de conformidad con la invención, el cual presenta un CPU 101 como grupo constructivo de operación, así como varias memorias de datos. En detalle, éstas son una ROM 102, una EEPROM 103, una memoria FLASH 104, así como una memoria RAM 105. Las memorias de datos 102, 103, 104, 105 y el CPU 101 están comunicadas entre sí a través de una línea de datos 106. En el CPU 101 se prevé un grupo constructivo codificador 107, el cual codifica, o bien, decodifica el tránsito de datos entre el CPU 1 y las memorias de datos 102, 103, 104 y 105. Se vuelve a hacer notar que el dispositivo de este tipo se denominará en lo sucesivo como "grupo constructivo codificador", aunque no se limita expresamente a un dispositivo que sólo lleve a cabo una codificación. Según la idea fundamental de la invención, con esta denominación se incluye también un dispositivo que realiza tanto una codificación como una decodificación, o bien, sólo una de estas dos operaciones. La codificación, o bien, decodificación se puede realizar con un atraso adecuado, intercambiando determinadas líneas de bits de la línea de datos o modificando los valores de determinados bits de datos. También se puede efectuar una codificación por software . Además, el circuito de procesamiento de datos de conformidad con la invención presenta un multiplexor 108, el cual está conectado a través de una línea de datos 109 con la memoria FLASH 104. El multiplexor 108 está conectado a través de una línea de datos 110 con un cronómetro 111, al cual se puede alimentar a través de una línea de datos 112, desde un generador aleatorio 113, un número aleatorio. El multiplexor 108 presenta también una línea de control 114, a través de la cual está conectado a la memoria ROM 102. Finalmente, se prevé todavía una línea de RESET 115 hacia el multiplexor 108, a través de la cual éste, al reinicializar el circuito de procesamiento de datos se puede regresar a un estado básico. La salida del multiplexor 108 está conectada a través de una línea de control 116 con el grupo constructivo codificador 107, recibiendo éste a una señal de salida del multiplexor 108 una nueva clave. De conformidad con la invención, se prevé también que en el grupo constructivo codificador 107, a una señal de salida del multiplexor 108, a través de la línea de control 116, se conmute el proceso de codificación utilizado en el grupo constructivo codificador 107. En operación, el circuito electrónico de procesamiento de datos de conformidad con la invención se comporta de la siguiente manera. Al iniciar el programa (RESET), a una señal en la línea de RESET 115, en el multiplexor se ajuste una clave inicial. Posteriormente se codifica, o bien, decodifica en el grupo constructivo codificador 107 el tránsito de datos entre la línea de datos 106 y el CPU 101, realizándose a cada paso de datos por el grupo constructivo codificador 107 una operación correspondiente según la dirección del flujo de datos. Con cada ejecución del comando "CLR C", la ROM 102 transmite a través de la línea de control 114 un impulso de control al multiplexor 108. Éste recoge a continuación a través de la línea de datos 109 una de las tres claves KEY 3, KEY 2, KEY 1 de la memoria FLASH 104 y la transmite al grupo constructivo codificador 107. Posteriormente, ya sea se intercambia la clave utilizada en el grupo constructivo codificador 107 o, según el valor de la señal que se encuentra en la línea de control 116, se realiza una conmutación a un proceso de codificación utilizado en el grupo constructivo codificador 107. Si se excede un determinado tiempo de operación del circuito de procesamiento de datos sin que la ROM 102 active el multiplexor 108, entra en acción el cronómetro 111. Al accionarse éste, el multiplexor 108 recibe a través de la línea de datos 110 un número aleatorio del generador aleatorio 113. El multiplexor 108 transmite entonces el número aleatorio al grupo constructivo codificador 107. Los datos en las memorias de datos 102, 103, 104 y 105 están depositados de manera codificada. Por ello, los datos en la línea de datos 106 se transportan codificados al CPU 101, en donde el grupo constructivo codificador 107 los vuelve a decodificar. Sólo después están listos los datos decodificados para su procesamiento en el CPU. La Figura 2 muestra una variante del circuito de procesamiento de datos de la Figura 1, la cual también presenta un CPU 101 como grupo constructivo de operación, así como varias memorias de datos. En detalle, éstas son una ROM 102, una EEPROM 103, una memoria FLASH 104, así como una RAM 105. Las memorias de datos 102, 103, 104,-105 y el CPU 101 están conectados entre sí a través de una línea de datos 106. En el CPU 101 se prevé un grupo constructivo codificador 107, el cual codifica, o bien, decodifica el tránsito de datos entre CPU 1 y las memorias de datos 102, 103, 104 y 105. El circuito de procesamiento de datos de la Figura 2, a diferencia de aquél de la Figura 1, no presenta ningún multiplexor para el suministro del grupo constructivo codificador 107 con una nueva clave. En su lugar, el circuito de procesamiento de datos de la Figura 2 está conectado a través de una línea de control 122 con un grupo constructivo de conversión 120, que por su parte está conectado a través de una línea de direcciones 121 con el CPU 101. Al grupo constructivo conversión 120 lleva otra línea de control 123, con la cual se puede elegir una determinada conversión de una selección de diversas conversiones de "dirección" a "clave" almacenadas en el grupo constructivo de conversión 120. Así, a través del grupo constructivo de conversión 120 se deriva una clave de una dirección que existe en el CPU 101. En operación, el circuito electrónico de procesamiento de datos de la Figura 2 se comporta esencialmente como aquél de la Figura 1. Al inicio del programa (RESET) , a una señal en la línea de control 123 se ajusta una clave inicial en el grupo constructivo codificador 107. A continuación, todo tránsito de datos entre la línea de datos 106 y el CPU 101 se codifica, o bien, decodifica en el grupo constructivo codificador 107, realizándose a cada paso de datos por el grupo constructivo codificador 107 una correspondiente operación según la dirección del flujo de datos. Con cada activación de la línea de control 123, el grupo constructivo de conversión 120, con base en una nueva conversión, deriva una clave a partir de una dirección existente en el CPU 101. Los datos en las memorias de datos 102, 103, 104 y 105 siempre están depositados de manera codificada. Por ello, los datos en la línea de datos 106 se transportan codificados al CPU 101, en donde el grupo constructivo codificador 107 los vuelve a decodificar. Sólo entonces están los datos decodificados para ser procesados por el CPU. El circuito de procesamiento de datos de conformidad con la invención de la Figura 3, tiene un CPU 1 como grupo constructivo de operación, así como varias memorias de datos. En detalle, éstas son una ROM 2, una EEPROM 3, una memoria FLASH 4, así como una RAM 5. Las memorias de datos 2, 3, 4, 5 y el CPU 1 están conectados entre sí a través de un bus de datos que no se ve desde esta perspectiva. En lugar del bus de datos se muestran las líneas de datos 6, 7, 8, 9, 10, 11, 12, 13, 14 y 15, a través de las cuales el CPU 1 intercambia datos con las memorias de datos 2, 3, 4, 5. Entre el CPU 1 y la ROM 2, la EEPROM 3, la memoria FLASH 4 y la RAM 5 se dispone todavía respectivamente una memoria intermedia Latch 16, 17, 18, 19. En la zona entre la ROM 2 y la Latch 16, en la zona entre la Latch 17 y el CPU 1, en la zona entre las Latches 18, 19 y el CPU 1, así como en el CPU 1 mismo, se prevén grupos constructivos codificadores 20, 21, 22 y 35, los cuales codifican, o bien, decodifican el tránsito de datos en las líneas de datos que les corresponden. Se vuelve a hacer notar que el dispositivo de este tipo se denominará en lo sucesivo como "grupo constructivo codificador" , aunque no se limita expresamente a un dispositivo que sólo lleve a cabo una codificación. Según la idea fundamental de la invención, con esta denominación se incluye también un dispositivo que realiza tanto una codificación como una decodificación, o bien, sólo una de estas dos operaciones. La codificación, o bien, decodificación se puede realizar con un atraso adecuado, intercambiando determinadas líneas de bits de la línea de datos o modificando los valores de determinados bits de datos. También se puede efectuar una codificación por software.
Los grupos constructivos codificadores 20, 21, 22 y 35 están configurados de tal manera, que el tránsito de datos en las líneas que les corresponden sólo se codifica, o bien, decodifica parcialmente. Una codificación, o bien, decodificación resulta apenas cuando colaboran respectivamente uno de los grupos constructivos codificadores 20, 21, 22 con el grupo constructivo codificador 35. Además, el circuito de procesamiento de datos de conformidad con la invención presenta un multiplexor 23, el cual está conectado a través de una línea de datos 24 con la memoria FLASH 4. El multiplexor 23 está conectado a través de una línea de datos 25 con un cronómetro 26, al cual se puede alimentar a través de una línea de datos 27, desde un generador aleatorio 28, un número aleatorio. El multiplexor 23 presenta también una línea de control 29, a través de la cual está conectado a la memoria ROM 2. La salida del multiplexor 23 está conectada a través de las líneas de control 30, 31, 32, 33, 34 con los grupos constructivos codificadores 20, 21, 22, 35, recibiendo éstos a una señal de salida del multiplexor 23 una nueva clave . En operación, el circuito electrónico de procesamiento de datos de conformidad con la invención se comporta de la siguiente manera. Con cada ejecución del comando "CLR C" , la ROM 2 transmite a través de la línea de control 29 un impulso de control al multiplexor 23. Éste recoge a continuación a través de la línea de datos 24 una de las tres claves KEY 3, KEY 2, KEY 1 de la memoria FLASH 4 y la transmite a los grupos constructivos codificadores 20, 21, 22 y 35. Si se excede un determinado tiempo de operación del circuito de procesamiento de datos sin que la ROM 2 active el multiplexor 23, entra en acción el cronómetro 26. Al accionarse éste, el multiplexor 23 recibe a través de la línea de datos 25 un número aleatorio del generador aleatorio 28. El multiplexor 23 transmite entonces el número aleatorio a los grupos constructivos codificadores 20, 21, 22, 35. Los datos en la ROM 2 están depositados de manera codificada y, al leerse en el Latch 16 son decodificados sólo parcialmente por el dispositivo codificador 20. Por ello, los datos de la ROM 2 en la línea de datos 8 se transportan todavía parcialmente codificados hasta el CPU 1, en donde el grupo constructivo codificador 35 los decodifica por completo. Sólo después están listos los datos decodificados para su procesamiento en el CPU 1. Los datos codificados previstos en la EEPROM 3 se transmiten codificados a través de la línea de datos 9 a la Latch 17, y de ahí, al grupo constructivo codificador 21, en donde se decodifican parcialmente. Desde ahí llegan los datos todavía parcialmente codificados, a través de la línea de datos 11, al CPU 1, en donde son decodificados por completo por el grupo constructivo codificador 35 y, después, están listos para su procesamiento. Los datos para la memoria FLASH 4 y RAM 5 son primero codificados respectivamente de manera parcial por el grupo constructivo codificador 35 y por el grupo constructivo codificador 22, antes de que se almacenen completamente codificados en la memoria FLASH 4 o RAM 5. Para ello, los datos parcialmente codificados en el grupo constructivo codificador 35 del CPU 1, se transmiten a través de la línea de datos 11 al grupo constructivo codificador 22, en donde se decodifican por completo, antes de ser enviados a través de las líneas de datos 13 y 14 a las Latches 18, 19 asignadas a la memoria FLASH 4 y RAM 5. Desde ahí, los datos codificados llegan a través de las líneas de datos 12, 15 a la memoria FLASH 4, o bien, RAM 5. Al leer los datos de la memoria FLASH 4 y RAM 5, éstos primero se decodifican respectivamente de manera parcial por el grupo constructivo codificador 22 y por el grupo constructivo codificador 35, antes de que se tengan a disposición completamente decodificados para su procesamiento en el CPU.

Claims (16)

NOVEDAD DE LA INVENCIÓN Habiendo descrito la invención que antecede, se considera como una novedad, y por lo tanto, se reclama como propiedad lo contenido en las siguientes: REIVINDICACIONES
1. Un circuito electrónico de procesamiento de datos con un grupo constructivo de operación, como un microprocesador, con cuando menos una memoria de datos y con una línea de datos que se extiende entre la memoria de datos y el grupo constructivo de operación, caracterizado porque, en la zona de cuando menos una línea de datos del bus de datos que une el grupo constructivo de operación y cuando menos una memoria de datos, se prevén cuando menos dos grupos constructivos codificadores, estando éstos configurados de tal manera, que se puede efectuar una codificación, o bien, decodificación completa mediante la colaboración de los grupos constructivos codificadores.
2. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en la reivindicación 1, caracterizado porque los grupos constructivos codificadores están dispuestos en diversos lugares del circuito electrónico de procesamiento de datos.
3. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en la reivindicación 1 o en la reivindicación 2, caracterizado porque el grupo constructivo codificador está configurado de tal manera, que el tránsito de datos se puede codificar mediante un algoritmo de codificación.
4. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones 1 a 3, caracterizado porque el grupo constructivo codificador está configurado de tal manera, que el tránsito de datos se puede codificar mediante una codificación por hardware.
5. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones anteriores, caracterizado porque el grupo constructivo codificador está configurado de tal manera, que el valor de determinados bits del tránsito de datos se puede modificar selectivamente.
6. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en la reivindicación 5, caracterizado porque el grupo constructivo codificador presenta cuando menos un miembro EXOR.
7. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones anteriores, caracterizado porque el grupo constructivo codificador está configurado de tal manera, que la secuencia de conexión de las líneas de datos del bus de datos se puede modificar selectivamente.
8. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones anteriores, caracterizado porque el grupo constructivo codificador está configurado de tal manera, que el tránsito de datos se puede retrasar selectivamente al menos parcialmente.
9. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones anteriores, caracterizado porque el grupo constructivo codificador presenta cuando menos una entrada para ingresar cuando menos una clave.
10. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en la reivindicación 9, caracterizado porque la, o bien, las clave (s) está(n) depositada (s) en una célula Flash del circuito de procesamiento de datos.
11. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en la reivindicación 9 ó 10, caracterizado porque la clave está depositada en una estructura enterrada de un componente integrado para la recepción del circuito de procesamiento de datos.
12. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en la reivindicación 9 ó 10, caracterizado porque presenta sensores para detectar manipulaciones del lugar en el que está depositada la clave.
13. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones 9 a 12, caracterizado porque el circuito de procesamiento de datos está configurado de tal manera, que al realizar operaciones predeterminadas se puede ingresar a través del grupo constructivo de operación una clave al grupo constructivo codificador.
14. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones 9 a 13, caracterizado porque se prevé un generador aleatorio, con el cual se puede seleccionar aleatoriamente una clave.
15. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones 9 a 14, caracterizado porque se prevé un dispositivo para derivar una clave a partir de una dirección utilizada en el grupo constructivo de operación.
16. Un circuito electrónico de procesamiento de datos de conformidad con lo reclamado en una de las reivindicaciones 9 a 14, caracterizado porque se prevé un cronómetro, mediante el cual se puede efectuar un cambio de clave. RESUMEN DE LA INVENCIÓN La invención se refiere a un circuito electrónico de procesamiento electrónico de datos, con un grupo constructivo operativo (1, 101) , como por ejemplo, un microprocesador, con cuando menos una memoria de datos (2, 3, 4, 5, 102, 103, 104, 105) y con una línea de datos (106) que se extiende entre la memoria de datos (2, 3, 4, 5, 102, 103, 104, 105) y el grupo constructivo de operación (1, 101). En los circuitos electrónicos de procesamiento de datos del tipo, la memoria contiene a menudo informaciones a las que, de ser posible, no se debe tener acceso. Por ello, es necesario tomar medidas de seguridad contra la manipulación del circuito electrónico de procesamiento de datos . Por ello, es objetivo de la invención proporcionar un circuito electrónico de procesamiento de datos del tipo, el cual presente una mejor protección contra modificaciones no deseadas. Este objetivo se logra de conformidad con la invención mediante un circuito electrónico de procesamiento de datos del tipo, en el cual en la zona entre la memoria de datos (2, 3, 4, 5, 102, 103, 104, 105) y la línea de datos y/o en la zona entre el grupo constructivo de operación (1, 101) y la línea de datos se prevé cuando menos un grupo constructivo codificador (20, 21, 22, 35, 107), estando éste conformado de tal manera, que el tránsito de datos entre el grupo constructivo de operación (1, 101) y la línea de datos, o bien, entre la memoria de datos (2, 3, 4, 5, 102, 103, 104, 105) y la línea de datos (106) se puede codificar y/o decodificar.
MXPA/A/1999/003465A 1996-10-15 1999-04-14 Circuito electronico de procesamiento de datos MXPA99003465A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19642560.3 1996-10-15

Publications (1)

Publication Number Publication Date
MXPA99003465A true MXPA99003465A (es) 2000-04-24

Family

ID=

Similar Documents

Publication Publication Date Title
US6195752B1 (en) Electronic data processing circuit
US5469557A (en) Code protection in microcontroller with EEPROM fuses
RU2188447C2 (ru) Электронное устройство и система обработки данных
US4120030A (en) Computer software security system
US6324628B1 (en) Programming flash in a closed system
US5826007A (en) Memory data protection circuit
EP0932124B1 (en) Integrated circuit and smart card comprising such a circuit
US4598170A (en) Secure microprocessor
CA1180130A (en) Rom security circuit
US4583196A (en) Secure read only memory
CN101398872B (zh) 保护口令免受未授权访问的方法和数据处理单元
US8867746B2 (en) Method for protecting a control device against manipulation
JP3891539B2 (ja) 半導体装置およびその制御装置
CN1292109A (zh) 智能集成电路
CA2158264A1 (en) A Secure Memory Card with Programmed Controlled Security Access Control
CN100397284C (zh) 具有非易失存储器模块的电路装置以及对非易失存储器模块中的数据进行加密/解密的方法
US20100132047A1 (en) Systems and methods for tamper resistant memory devices
US20090089861A1 (en) Programmable data protection device, secure programming manager system and process for controlling access to an interconnect network for an integrated circuit
EP0602867A1 (en) An apparatus for securing a system platform
US7512813B2 (en) Method for system level protection of field programmable logic devices
JPH02230443A (ja) メモリに蓄積されたデータの変更が阻止される安全確保集積回路チップ
US7353403B2 (en) Computer systems such as smart cards having memory architectures that can protect security information, and methods of using same
CN1239973C (zh) 不可预测的集成电路
EP0062438A2 (en) Microcomputer having memory content protecting means
MXPA99003465A (es) Circuito electronico de procesamiento de datos