Procedimiento para almacenamiento seguro de datos en una memoria de un soporte de datos portátil.
Procedimiento para almacenamiento seguro de datos en una memoria de niveles múltiples de un soporte de datos portátil,
incluyendo la memoria de niveles múltiples una o más celdas de memoria de niveles múltiples (SZ) que pueden adoptar respectivamente al menos tres niveles (E, NE) que representan un contenido de datos diferente, en el que los respectivos niveles (E, NE) de una celda de memoria (SZ) se predefinen como válidos o no válidos, caracterizado porque, los niveles (E, NE) de una respectiva celda de memoria (SZ) se predefinen selectivamente como válidos o no válidos en función de un nivel de seguridad requerido.
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2009/006049.
Solicitante: GIESECKE & DEVRIENT GMBH.
Nacionalidad solicitante: Alemania.
Dirección: PRINZREGENTENSTRASSE 159 81677 MUNCHEN ALEMANIA.
Inventor/es: RANKL, WOLFGANG.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F21/00 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Disposiciones de seguridad para la protección de computadores, sus componentes, programas o datos contra actividades no autorizadas.
PDF original: ES-2407644_T3.pdf
Fragmento de la descripción:
Procedimiento para almacenamiento seguro de datos en una memoria de un soporte de datos portátil.
La invención se refiere a un procedimiento para el almacenamiento seguro de datos en una memoria de niveles múltiples de un soporte de datos portátil, incluyendo la memoria de niveles múltiples una o más celdas de memoria de niveles múltiples que pueden adoptar respectivamente, al menos, tres niveles que representan un contenido de datos diferente. Cada nivel de una celda de memoria se puede predefinir como válido o no válido.
En el marco de la presente descripción, por un soporte de datos portátil se entiende por ejemplo una tarjeta chip, una tarjeta SIM (Subscriber Identity Module - módulo de identificación de abonado) , un llavero provisto de un microcontrolador (Fob) , un testigo o similares. Un microcontrolador de un soporte de datos portátil incluye una memoria no volátil, por ejemplo en forma de celdas de memoria EEPROM o flash. El funcionamiento de este tipo de memorias se basa en la medición de la presencia o ausencia de una carga eléctrica en una celda de memoria. Más concretamente se determina la carga contenida en una, así llamada, puerta flotante (floating gate) de la celda de memoria. En el caso de las celdas de memoria de niveles múltiples no solo se determina la presencia de una carga, sino también la magnitud de la misma.
Ya se conocen procedimientos que permiten modificar o borrar el contenido de celdas de memoria EEPROM/flash. Por ejemplo, la puerta flotante de una celda de memoria se puede borrar mediante radiación de alta energía. La modificación de los contenidos de datos de una celda de memoria se puede lleva a cabo tanto en toda la memoria como selectivamente en determinadas celdas de memoria. Por ello existe la posibilidad de que un atacante pueda manipular grandes áreas de la memoria no volátil.
Para asegurar el contenido de datos de una memoria no volátil contra ataques de manipulación se emplean sumas de control para los datos y/o programas a proteger. Como sumas de control se utilizan, por ejemplo valores de CRC (Cyclic Redundancy Check -prueba de redundancia cíclica) o valores de troceo (hash) (comprobación aleatoria) . Dado que los contenidos de datos son variables, las sumas de control correspondientes han de ser calculadas y almacenadas de nuevo a intervalos regulares. Sin embargo, este procedimiento implica varias desventajas. Por un lado, el cálculo y almacenamiento de las sumas de control requiere tiempo. Por otro lado, no basta con determinar una única suma de control para toda la memoria, ya que ésta no es necesaria en muchos accesos de escritura. Por consiguiente, la memoria no volátil se protege con numerosas sumas de control para diferentes áreas de memoria que presentan respectivamente una cantidad de celdas de memoria. Además, también existe el peligro de que, en el marco de un ataque, además de los propios datos útiles también se manipule la suma de control correspondiente, con lo que un sistema operativo que gestiona la memoria ya no puede reconocer los datos modificados por el ataque.
Por ello, en el documento US 6.331.946 B1 se propone utilizar una memoria de niveles múltiples para el almacenamiento seguro de información sensible, en la que los dos niveles exteriores (llamados levels) se declaran como no válidos con respecto a un contenido de datos almacenado. Para el almacenamiento de información se utilizan únicamente los niveles situados entre los dos niveles exteriores. Este procedimiento se basa en la consideración de que en caso de un intento de manipulación del contenido de datos de una celda de memoria se produce uno de los estados no válidos de la celda de memoria de niveles múltiples, lo que se puede detectar y reconocer fácilmente como manipulación.
El objetivo de la presente invención consiste en proponer un procedimiento para el almacenamiento de datos en una memoria de niveles múltiples de un soporte de datos portátil, que posibilite una seguridad aún mayor contra manipulaciones.
Este objetivo se resuelve mediante un procedimiento con las características indicadas en la reivindicación 1. En las reivindicaciones subordinadas se indican configuraciones ventajosas.
El procedimiento según la invención parte del procedimiento descrito en el estado actual de la técnica para el almacenamiento seguro de datos en una memoria de niveles múltiples de un soporte de datos portátil. Correspondientemente, la memoria de niveles múltiples incluye una o más celdas de memoria de niveles múltiples que pueden adoptar respectivamente, al menos, tres niveles (llamados levels) que representan un contenido de datos diferente, predefiniéndose cada uno de los niveles de una celda de memoria como válido o no válido. De acuerdo con la invención está previsto predefinir los niveles de cada celda de memoria como válidos o no válidos en función de un nivel de seguridad requerido.
Por consiguiente, la invención se basa en la idea (conocida en el estado actual de la técnica) de no utilizar toda la capacidad de memoria posible de una memoria no volátil en tecnología de niveles múltiples. Más bien, los niveles de cada celda de memoria se predefinen selectivamente como válidos o no válidos en función de un nivel de seguridad requerido, es decir, de un nivel de seguridad predefinido correspondientemente a la protección necesaria para el contenido de datos respectivo. De este modo, la seguridad de la memoria no volátil puede presentar una configuración escalable.
En particular se varía la relación entre el número de niveles válidos y de niveles no válidos de cada celda de memoria en función del nivel de seguridad requerido. En este contexto se puede prever que, si se requiere un nivel de seguridad máximo, la celda de memoria solo presente un nivel válido para el almacenamiento de un contenido de datos, mientras que todos los demás niveles que pueden ser adoptados por la celda de memoria son no válidos. En otra configuración, si se requiere un nivel de seguridad mínimo, todos los niveles de la celda de memoria son válidos para el almacenamiento de contenidos de datos, de modo que se puede aprovechar toda la capacidad de memoria posible de la celda de memoria.
Por consiguiente, el procedimiento según la invención permite variar la relación entre niveles o contenidos de datos de las celdas de memoria de la memoria del soporte de datos portátil autorizados o prohibidos, pudiendo variarse dicha relación en función de la seguridad necesaria. En este contexto, la variación puede tener lugar en particular dentro de la memoria de tal modo que, por ejemplo, se protejan especialmente claves secretas en celdas de memoria definidas, mientras que en otras celdas de memoria se prevén datos que presentan muy poca o ninguna protección y que pueden ser leídos libremente desde fuera del soporte de datos portátil.
De acuerdo con otra forma de realización, la predefinición de niveles válidos y no válidos para la celda o las celdas de la memoria de niveles múltiples tiene lugar de forma dinámica o en el marco de su fabricación. Esto tiene la ventaja de que, incluso cuando un ataque manipula celdas de memoria de tal modo que éstas contienen una carga determinada y en consecuencia un contenido de datos determinado, no se sabe qué niveles, y por consiguiente que contenidos de datos, están autorizados o prohibidos en las celdas de memoria correspondientes.
En una configuración concreta, la predefinición dinámica de niveles válidos y no válidos para la celda o las celdas de memoria se lleva a cabo recurriendo a una tabla, una función o un generador de números pseudoaleatorios cuya salida es determinista, es decir, reproducible a voluntad. En particular, para la lectura de datos de una celda de memoria se comprueba cuáles son los niveles autorizados a través de la tabla, función o generador de números pseudoaleatorios para la celda de memoria en cuestión. Solo después de este proceso es posible leer datos de una dirección determinada. De este modo se logra un aumento de la seguridad en el almacenamiento de datos en una memoria de niveles múltiples de un soporte de datos portátil.
De acuerdo con otra configuración, durante la lectura de una celda de la memoria de niveles múltiples se comprueba si ésta representa un contenido de datos autorizado o no autorizado conforme a los niveles válidos o no válidos predefinidos. Si el contenido de datos está autorizado, éste se facilita para su posterior procesamiento, y si el contenido de datos no está autorizado, se deduce que se ha producido una manipulación de la celda de memoria. De este modo se puede evitar la utilización involuntaria de contenidos de datos manipulados.
En un perfeccionamiento ventajoso del procedimiento... [Seguir leyendo]
Reivindicaciones:
1. Procedimiento para almacenamiento seguro de datos en una memoria de niveles múltiples de un soporte de datos portátil, incluyendo la memoria de niveles múltiples una o más celdas de memoria de niveles múltiples (SZ) que pueden adoptar respectivamente al menos tres niveles (E, NE) que representan un contenido de datos diferente, en el que los respectivos niveles (E, NE) de una celda de memoria (SZ) se predefinen como válidos o no válidos, caracterizado porque, los niveles (E, NE) de una respectiva celda de memoria (SZ) se predefinen selectivamente como válidos o no válidos en función de un nivel de seguridad requerido.
2. Procedimiento según la reivindicación 1, caracterizado porque la relación entre el número de niveles válidos y el número de niveles no válidos de una respectiva celda de memoria (SZ) varía en función del nivel de seguridad requerido.
3. Procedimiento según la reivindicación 1 o 2, caracterizado porque, si se requiere un nivel de seguridad máximo, la celda de memoria solo presenta un nivel válido (E, NE) .
4. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque, si se requiere un nivel de seguridad mínimo, todos los niveles (E, NE) de la celda de memoria (SZ) son válidos.
5. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque la predefinición de niveles válidos y no válidos para la celda o las celdas de memoria (SZ) de la memoria de niveles múltiples tiene lugar de forma dinámica o en el marco de su fabricación.
6. Procedimiento según la reivindicación 5, caracterizado porque la predefinición dinámica de niveles válidos y no válidos para la celda o las celdas de memoria (SZ) se lleva a cabo recurriendo a una tabla, una función o un generador de números pseudoaleatorios cuya salida es determinista.
7. Procedimiento según la reivindicación 6, caracterizado porque durante la lectura de datos de una celda de memoria (SZ) se determinan los niveles autorizados (E, NE) a través de la tabla, función o generador de números pseudoaleatorios para la celda de memoria (SZ) correspondiente.
8. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque durante la lectura de una celda de memoria (SZ) de la memoria de niveles múltiples se comprueba si ésta representa un contenido de datos autorizado o no autorizado conforme a los niveles (E, NE) válidos o no válidos predefinidos; si el contenido de datos está autorizado, éste se facilita para su posterior procesamiento, y si el contenido de datos no está autorizado, se deduce que se ha producido una manipulación de la celda de memoria (SZ) .
9. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque, si se ha detectado un cambio en una celda de memoria (SZ) debido al paso del tiempo o a influencias ambientales, en caso de presencia de un nivel no válido (NE) en dicha celda de memoria se considera que el siguiente nivel autorizado (E) más alto es el nivel real.
REFERENCIAS CITADAS EN LA DESCRIPCIÓN
La lista de referencias citada por el solicitante lo es solamente para utilidad del lector, no formando parte de los documentos de patente europeos. Aún cuando las referencias han sido cuidadosamente recopiladas, no pueden excluirse errores u omisiones y la OEP rechaza toda responsabilidad a este respecto.
Documentos de patente citados en la descripción • US 6331946 B1 [0005]
Patentes similares o relacionadas:
Funcionamiento de red de frecuencia única (SFN) para mejoras de cobertura de comunicaciones de tipo máquina (MTC), del 17 de Junio de 2020, de QUALCOMM INCORPORATED: Un procedimiento para comunicaciones de tipo máquina, MTC, inalámbricas realizado por un dispositivo remoto caracterizado por: detectar […]
Método y aparato de procesamiento de servicio, del 3 de Junio de 2020, de Advanced New Technologies Co., Ltd: Un método para el procesamiento de servicios, el método que comprende: después de recibir una solicitud de procesamiento de servicios de un usuario, […]
Dispositivo de a bordo para un vehículo, del 20 de Mayo de 2020, de AUTOSTRADE TECH S.p.A: Dispositivo de a bordo (100, 100', 100") para un vehículo, siendo adecuado dicho dispositivo de a bordo (100, 100', 100") para su uso en un sistema […]
Método para detectar software clonado, del 29 de Abril de 2020, de NAGRAVISION S.A.: Método para detectar un software clonado para ser usado en una unidad de usuario cliente que se comunica con un servidor para solicitar un servicio enviando una solicitud […]
Dispositivo multimedia y procedimiento de transmisión de datos por un dispositivo multimedia, del 18 de Marzo de 2020, de FM Marketing GmbH: Un dispositivo multimedia con un control remoto , que comprende: - un primer microprocesador , - un primer dispositivo de hardware para identificar el control […]
Proceso para asegurar la comunicación de un archivo digital a través de una red de comunicación, del 26 de Febrero de 2020, de AMADEUS S.A.S.: Proceso para comunicar un archivo digital (D1) desde un servidor a un Sistema de Manejo de Información (IHS), comprendiendo el IHS un conjunto […]
Método y aparato para proporcionar entorno virtual personalizado, del 15 de Enero de 2020, de Beijing Xiaomi Mobile Software Co., Ltd: Un método realizado por una plataforma de servicios para proporcionar acceso a una comunidad de servicios que comprende: comparar la información de identificación […]
Procedimiento y dispositivo para controlar la pantalla de seguridad en un dispositivo electrónico, del 28 de Agosto de 2019, de SAMSUNG ELECTRONICS CO., LTD.: Un dispositivo electrónico que comprende: un módulo de representación; una primera memoria que tiene datos de representación almacenados en […]