ES2283297T3 - Procedimiento para asegurar la utilizacion de un software a partir de una unidad de tratamiento y de memorizacion de un cogido secreto y sistema para realizar la aplicacion. - Google Patents
Procedimiento para asegurar la utilizacion de un software a partir de una unidad de tratamiento y de memorizacion de un cogido secreto y sistema para realizar la aplicacion. Download PDFInfo
- Publication number
- ES2283297T3 ES2283297T3 ES00922767T ES00922767T ES2283297T3 ES 2283297 T3 ES2283297 T3 ES 2283297T3 ES 00922767 T ES00922767 T ES 00922767T ES 00922767 T ES00922767 T ES 00922767T ES 2283297 T3 ES2283297 T3 ES 2283297T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- reconstitution
- generation
- vtcortauna
- modified
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Storage Device Security (AREA)
Abstract
Procedimiento para asegurar la utilización de un software (2) a partir de una unidad (11) de tratamiento y de memorización de al menos un código secreto (S), funcionando el software en un sistema de tratamiento de datos (3u), que tiene una función de generación de datos, llamado entonces sistema de tratamiento de datos de generación (3g) y que tiene una función de reconstitución de datos, llamado entonces sistema de tratamiento de datos de reconstitución (3u), caracterizado porque la fase de utilización del software (2) consiste en - una sub-fase de generación de datos modificados (D''), que permite: - para una primera categoría de usuarios que poseen una unidad de tratamiento y de memorización llamada unidad de generación (11g), comprendiendo dicha unidad de generación (11g) al menos un código secreto de generación (Sg), - establecer, a partir del software (2), unos dados, llamados originales (D), que están asociados a dicho software - generar al menos un parámetro de entrada de generación(Peg) que está constituido por al menos una parte de dichos datos originales (D).
Description
Procedimiento para asegurar la utilización de un
software a partir de una unidad de tratamiento y de memorización de
un código secreto y sistema para realizar la aplicación.
La presente invención pertenece al campo técnico
de los sistemas de tratamiento de datos en sentido general y se
refiere, más precisamente, a los medios para asegurar la utilización
de un programa o de un software que funciona en dichos sistemas de
tratamiento de datos.
El objeto de la invención se refiere, más
particularmente, a los medios para asegurar la utilización de un
software a partir de una unidad de tratamiento y de memorización de
un código secreto, designado comúnmente por tarjeta de chip.
En el campo técnico anterior, el principal
inconveniente se refiere al empleo no autorizado de software por
usuarios que no han adquirido derechos de licencia. Esta utilización
ilícita de software provoca un perjuicio manifiesto para los
editores y los distribuidores de software. Para evitar tales copias
ilícitas, se han propuesto en el estado de la técnica diversas
soluciones para proteger el software. Así, por ejemplo, se conoce
una solución de seguridad que consiste en utilizar un sistema
material de protección, tal como un elemento físico llamado clave
de protección o "dongle" en terminología
anglo-sajona. Tal clave de protección debería
garantizar al editor de un software la ejecución del software
únicamente en presencia de la clave.
Ahora bien, debe constatarse que tal solución es
ineficaz, puesto que presenta el inconveniente de ser fácilmente
eludible. Una persona mal intencionada o pirata puede suprimir, con
la ayuda de herramientas especializadas, tales como
desensambladores, las instrucciones de control. Entonces es posible
realizar copias ilícitas que corresponden a versiones modificadas
del software que no tienen ya ninguna protección. Además, esta
solución no se puede generalizar a todos los softwares, en la
medida en que es difícil conectar más de dos claves de protección en
una misma máquina.
La solicitud de patente EP 0 191 162 describe un
procedimiento para asegurar el cifrado de un software para evitar
una utilización no autorizada. Tal procedimiento consiste en cifrar
el programa con la ayuda de una clave única, registrarlo en un
soporte de distribución, utilizar para la ejecución del programa un
ordenador que comprende una memoria protegida y medios
criptográficos protegidos que incluyen una clave secreta única para
este ordenador. El procedimiento consiste en suministrar al usuario
del programa una palabra de paso secreta única que depende de la
clave del programa y de la clave del ordenador, con el fin de que el
ordenador pueda descifrar y ejecutar el programa en su memoria
protegida. De acuerdo con una segunda forma de realización, una
tarjeta de chip que posee una clave única puede ser asociada al
ordenador, de tal manera que en este caso, la palabra de paso
secreta única suministrada al usuario depende de la clave del
programa y de la clave de la tarjeta de chip.
El inconveniente principal de este procedimiento
es que se necesita para la utilización del programa un ordenador
que tiene una memoria protegida. Ahora bien, los ordenadores
convencionales no poseen tal característica, lo que limita
considerablemente el desarrollo de este procedimiento.
Otro inconveniente en su aplicación práctica que
necesita, por parte del usuario, la gestión de solicitar a un
centro de distribución de palabras de paso, la palabra de paso que
corresponde al programa y que depende del ordenador o de la tarjeta
de chip del usuario.
Otro inconveniente de este procedimiento es que
se necesitan tantos códigos secretos como tarjetas de chip existen,
y obligar al centro de distribución de las palabras de paso a
generar todos estos códigos secretos.
El objeto de la invención pretende remediar los
inconvenientes de la técnica anterior proponiendo un procedimiento
para asegurar la utilización de un software a partir de una unidad
de tratamiento y de memorización de un código secreto, concebido
para ser ejecutado en un ordenador convencional, y que no necesita
ninguna gestión por parte del usuario ante un centro de
distribución de palabras de paso.
Para conseguir tal objetivo, el procedimiento
según la invención pretende asegurar un software de utilización a
partir de una unidad de tratamiento y de memorización de al menos un
código secreto, funcionando el software en un sistema de tratamiento
de datos.
Un procedimiento de este tipo se define en la
reivindicación independiente 1.
El procedimiento según la invención no se basa
en un cifrado del software antes de su distribución, sino en una
modificación de los datos generados durante la utilización del
software. La utilización de una unidad de tratamiento y de
memorización de un código secreto permite modificar de manera no
previsible los datos y reconstituir los datos originales con vistas
a utilizarlos. Hay que indicar que la unidad de tratamiento y de
memorización es suministrada durante la adquisición del software y
que el usuario no tiene que realizar ninguna gestión ante un
organismo de distribución de las palabras de paso.
El procedimiento según la invención permite de
esta manera asegurar un software de utilización para la ejecución
de una unidad de tratamiento y de memorización de un código secreto,
que presenta la particularidad de conservar la información
confidencial incluso después de varias utilizaciones del código
secreto. De esta manera, parece que toda versión derivada del
software que trate de funcionar en la unidad de tratamiento y de
memorización correspondiente, es incapaz de generar o de servirse
de los datos producidos por el software original, en la medida en
que el código secreto contenido en la unidad de tratamiento y de
memorización de reconstitución está fuera de toda previsión. La
utilización de tal código secreto permite modificar de manera no
previsible el formato de almacenamiento de datos, de tal manera que
la utilización de los datos modificados no permite obtener un
funcionamiento correcto del software si el usuario no posee el
código secreto de reconstitución. El objeto de la invención
encuentra una aplicación particularmente ventajosa, principalmente
en el caso de software que permite el intercambio de datos, como
por ejemplo software de edición o de archivo.
Otro aspecto de la invención es un dispositivo
tal como se define en la reivindicación independiente 10. Otros
modos de realización de la invención se especifican en las
reivindicaciones dependientes alternativas.
Otras diversas características se deducen a
partir de la descripción realizada a continuación con referencia a
los dibujos anexos que muestran, a título de ejemplos no
limitativos, formas de realización y de ejecución del objeto de la
invención.
\vskip1.000000\baselineskip
La figura 1 es un esquema que ilustra un ejemplo
de realización material que permite la ejecución del objeto de la
invención.
Las figuras 2A y 2B son esquemas de principio,
respectivamente, de generación de datos modificados asociados a un
software, y de reconstitución de los datos originales, según una
primera variante de realización.
Las figuras 3A y 3B son esquemas de principio,
respectivamente, de generación de datos modificados, y de
reconstitución de los datos originales según una segunda variante
de realización.
\vskip1.000000\baselineskip
La figura 1 ilustra un ejemplo de realización de
un dispositivo 1 para asegurar la utilización de un programa o de
un software 2 en sentido general. El dispositivo de seguridad 1
comprende un sistema de tratamiento de datos 3 de todo los tipos
conocidos en sí. En el ejemplo considerado, el sistema de
tratamiento de datos 3 constituye un ordenador, pero debe
considerarse que tal sistema de tratamiento de datos 3 puede formar
parta integrante de diversas máquinas, dispositivos o vehículos en
sentido general. En el ejemplo considerado, el sistema de
tratamiento de datos 3 comprende al menos un procesador 4, al menos
una memoria de trabajo 5, al menos un soporte de memorización de
datos 6 y al menos un circuito de interfaz de entradas y salidas 7.
Clásicamente, los diversos componentes del sistema de tratamiento
de datos 3 están conectados entre sí por medio de un bus de
comunicación 8. El circuito de interfaz 7 está conectado a un lector
10 de una unidad 11 de tratamiento y de memorización de al menos un
código secreto. En el ejemplo ilustrado, la unidad de tratamiento y
de memorización de una tarjeta e chip destinada a ser escrita o
leída por el lector 10, pero debe considerarse que tal unidad de
tratamiento y de memorización 11 se puede presentar en forma de una
clave material de cualquier tipo, conectada sobre un circuito de
entrada/salida, directamente sobre el bus de comunicación 8, o por
cualquier otro medio de comunicación, tal como un enlace de radio,
por ejemplo. De una manera general, la unidad de tratamiento y de
memorización 11 comprende al menos un código secreto o un
dispositivo de memorización de una información codificada S, medios
algorítmicos de tratamiento de datos y un sistema de intercambio de
datos entre la unidad 11 y el sistema de tratamiento de datos 3.
Clásicamente, la unidad de tratamiento y de memorización 11 está
realizada por una tarjeta de chip.
El dispositivo 1 descrito anteriormente permite
la ejecución de un procedimiento para asegurar la utilización de un
software 2. Para hacerlo, la fase de utilización del software 2 será
considerada descompuesta en tres sub-fases, a
saber:
- -
- una sub-fase llamada funcional en el curso de la cual el usuario utiliza las funcionalidades del software,
- -
- una sub-fase de creación o de generación de datos modificados, correspondiendo estos datos modificados a datos originales creados o generados por el software o que deben ser protegidos,
- -
- y una sub-fase de reconstitución de los datos originales que permite la utilización del software con los datos modificados.
Así, pues, cuando el dispositivo 1 es utilizado
en una sub-fase de generación, se añade un índice g
a las referencias de los elementos constitutivos de tal
dispositivo. De la misma manera, en la fase de utilización o más
precisamente de reconstitución, se añade un índice "u" a las
referencias de los elementos constitutivos de este dispositivo 1.
Hay que indicar que los sistemas de tratamiento de datos 3_{g} y
3_{u} pueden ser idénticos o diferentes y que las unidades de
tratamiento y de memorización 11_{g} y 11_{u} pueden ser
idénticas o diferentes.
Las figuras 2A y 2B ilustran un primer ejemplo
de realización de un procedimiento de traducción o de codificación
de datos asociados a un software determinado. Más precisamente, la
figura 2A ilustra la sub-fase de generación de
datos modificados D', mientras que la figura 2B describe la
sub-fase de reconstitución de los datos
originales.
En la sub-fase de tratamiento de
datos, llamada de generación, se crean o generan por el software 2
datos llamados originales D asociados al software 2 (figura 2A).
Estos datos originales D constituyen datos que deben ser protegidos
teniendo en cuenta su interés económico. Debe considerarse que estos
datos originales D son datos de intercambio con el software, pero
no constituyen necesariamente datos indispensables para el
funcionamiento del software. Estos datos originales D pueden
constituir, por ejemplo, un fichero de intercambio de datos de un
tratamiento de texto o datos de un editor gráfico. En el curso de
esta sub-fase de generación, los datos originales D
son modificados para obtener datos modificados D' que sirven de
datos de intercambio en lugar de los datos originales D. En la
sub-fase llamada de reconstitución, estos datos
modificados D' son retraducidos para permitir reconstituir los
datos originales D. El software 2 es capaz, en la mayor parte de
los casos, de modificar y de reconstituir los datos.
Conforme a la invención, se elige un parámetro
de entrada de generación P_{eg} para la unidad de tratamiento y
de memorización llamada de generación 11g, designada por unidad de
generación 11g en la descripción siguiente. En el ejemplo de
realización ilustrado en la figura 2A, el parámetro de entrada de
generación P_{eg} está constituido por al menos una parte o la
totalidad de los datos originales D. Bien entendido, el parámetro
de entrada de generación P_{eg} puede comprender, en asociación
con los datos originales D, otros datos no asociados al software
2.
El parámetro de entrada de generación P_{eg}
es transferido desde el sistema de tratamiento de datos llamado de
generación 3_{g}, designado por sistema de generación 3_{g} en
la descripción siguiente, a la unidad de generación 11_{g}. Esta
unidad de generación 11_{g} está adaptada para asegurar la
determinación de al menos un parámetro de salida de generación
P_{sg} a partir de al menos un código secreto de generación
S_{g} y del parámetro de entrada de generación P_{eg}. La unidad
e generación 11g comprende de una manera habitual al menos un
código secreto de generación S_{g}.
Hay que indicar que el código secreto de
generación S_{g} puede estar constituido o bien por al menos una
función secreta que, a partir del parámetro de entrada de generación
P_{eg}, genera el parámetro de salida de generación P_{sg}, ya
sea por al menos una información secreta I_{sg} y al menos una
función de conversión F_{cg} conocida o no, que permite generar a
partir del parámetro de entrada de generación P_{eg} y de la
información secreta I_{sg}, el parámetro de salida de generación
P_{sg}. En los ejemplos ilustrados, el código secreto de
generación S_{g} está constituido por una información secreta
I_{sg} y una función de conversión F_{cg}. La aplicación de la
unidad de generación 11_{g} permite, cuando el secreto de
generación S_{g} no se conoce, hacer difícil, incluso imposible,
la deducción del parámetro de salida de generación P_{sg}, a
partir del parámetro de entrada de generación P_{eg}.
El parámetro de salida de generación P_{sg} es
transferido desde la unidad de generación 11_{g} hasta el sistema
de generación 3_{g}. El sistema de generación 3_{g} está
adaptado para ejecutar al menos una función de generación F_{g}
utilizando, al menos en parte, el parámetro de salida de generación
P_{sg}, con vistas a obtener datos modificados D'. En el ejemplo
de realización ilustrado en la figura 2A, la función de generación
F_{g} suministra los datos modificados D' a partir del parámetro
de salida de generación P_{sg}. En otros términos, los datos
modificados D' corresponden al parámetro de salida de generación
P_{sg}.
El parámetro de salida de generación P_{sg} es
transferido desde la unidad de regeneración 11_{g} hasta el
sistema de regeneración 3_{g}. El sistema de generación 3_{g}
está adaptado para ejecutar al menos una función de generación
F_{g} utilizando, al menos en parte, el parámetro de salida de
generación P_{sg}, con vistas a obtener datos modificados D'. En
el ejemplo de realización ilustrado en la figura 2A, la función de
generación F_{g} suministra los datos modificados D' a partir del
parámetro de salida de generación P_{sg}. En otros términos, los
datos modificados D' corresponden al parámetro de salida de
generación P_{sg}.
Hay que indicar que durante la
sub-fase de generación, existen dos categorías de
usuarios. Así, pues, permite a una primera categoría de usuarios
que poseen una unidad de generación 11_{g} que comprende el código
secreto de generación S_{g}, traducir los datos originales D para
obtener datos modificados D', mientras que una segunda categoría de
usuarios, que no poseen la unidad de generación 11_{g}, es decir,
el código secreto de generación S_{g}, puede a lo mejor generar
los datos originales D sin poder traducirlos para obtener datos
modificados D'.
La figura 2B ilustra el procedimiento que
permite traducir de manera inversa los datos D' modificados según
el principio descrito con relación a la figura 2A, con el fin de
recuperar o de reconstituir los datos originales D. Así, en tal
sub-fase de reconstitución de los datos originales,
el procedimiento de acuerdo con la invención es ejecutado con la
ayuda de un sistema de tratamiento de datos llamado de
reconstitución 3_{u} único o diferente del sistema de generación
3_{g}. El sistema de tratamiento de datos de reconstitución
3_{u} está designado por el sistema de reconstitución 3_{u} en
la descripción siguiente.
El procedimiento consiste en seleccionar un
parámetro de entrada de reconstitución P_{eu} constituido por al
menos una parte de los datos modificados D'. En el ejemplo de
realización ilustrado en la figura 2B, el parámetro de entrada de
reconstitución P_{eu} comprende al menos la totalidad de los datos
modificados D'.
El parámetro de entrada de reconstitución
P_{eu} es transferido desde el sistema de reconstitución 3_{u}
hasta una unidad de tratamiento y de memorización, llamada de
reconstitución 11_{u} designada por la unidad de reconstitución
11_{u} en la descripción siguiente. Esta unidad de reconstitución
11_{u} comprende al menos un código secreto de reconstitución
S_{u} que es idéntico o diferente del código secreto de generación
S_{g}, pero que está adaptado para permitir recuperar o
reconstituir los datos originales D a partir de los datos
modificados D'. En el ejemplo ilustrado, el código secreto de
reconstitución Su está constituido por una información secreta
I_{su} y una función conocida o no de conversión F_{cu}.
La unidad de reconstitución 11_{u} determina
al menos un parámetro de salida de reconstitución P_{su} a partir
del código secreto de reconstitución Su y del parámetro de entrada
de reconstitución P_{eu}. La unidad de reconstitución 11u
transfiere a continuación el parámetro de salida de reconstitución
P_{su} al sistema de reconstitución 3_{u}. El sistema de
reconstitución 3u ejecuta al menos una función de reconstitución Fu
utilizando, al menos en parte, el parámetro de salida de
reconstitución P_{su}, con vistas a obtener los datos originales
D. En el ejemplo de realización ilustrado en la figura 2B, la
función de reconstitución Fu suministra los datos originales D a
partir del parámetro de salida de reconstitución P_{su}. En otros
términos, según un ejemplo preferido de esta variante, los datos
originales D corresponden al parámetro de salida de reconstitución
P_{su}.
Según la realización preferida del ejemplo
ilustrado en las figuras 2A y 2B, los datos originales D son
transferidos a la unidad de generación 11_{g} que suministra los
datos modificados D'. De la misma manera, en la
sub-fase de reconstitución, los datos modificados
D' son transferidos a la unidad de reconstitución 11_{u} que
suministra los datos originales D.
De la descripción que precede se deduce que
pueden aparecer dos categorías de usuarios durante esta
sub-fase de reconstitución. Así, el usuario que
posee una unidad de reconstitución 11_{u}, que comprende el código
secreto de reconstitución S_{u} asignado a un software
determinado, puede reconstituir y utilizar los datos originales
asociados a dicho software. Por el contrario, un usuario que no
posee la unidad de reconstitución 11_{u} correspondiente, es
decir, el código secreto de reconstitución S_{u}, puede utilizar
el software sin los datos originales D y a lo mejor con los datos
modificados D'.
La eficacia del procedimiento según la invención
es real, incluso si las funciones de conversión F_{cg}, F_{cu}
son conocidas e incluso si las funciones de generación F_{g} y de
reconstitución F_{u} y los parámetros de entrada de generación
P_{eg} y de reconstitución P_{eu} y los parámetros de salida de
generación P_{sg} y de reconstitución P_{su} pueden ser
observados y modificados por una persona mal intencionada. Por el
contrario, es necesario que los códigos secretos de generación
S_{g} y de reconstitución Su sean conservados. En efecto, una
persona intencionada es incapaz de recuperar la modificación de los
datos D en D' y la modificación inversa de los datos D' en D. Está
claro que tal persona puede modificar el software 2, de manera que
no tenga necesidad de la unidad de tratamiento y de memorización. En
este caso, los datos generados por tal software pirata pueden ser
utilizados por este software pirata. A pesar de todo, es imposible
para este software pirata crear datos utilizables por el software 2
original o utilizar datos generados por el software 2 original. Los
usuarios que poseen la unidad de generación 11_{g}, la unidad de
reconstitución 11_{u} y el software 2 puede intercambiar
libremente datos. Los usuarios que poseen el software pirata pueden
intercambiar también datos entre sí libremente, pero los
intercambios de datos entre estas dos categorías de usuarios son
difíciles, si no imposibles.
En el ejemplo de realización ilustrado en las
figuras 2A - 2B, los datos originales D son transferidos totalmente
a una unidad de tratamiento y de memorización, Para mejorar la
velocidad del dispositivo, las figuras 3A - 3B describen una
variante preferida de realización del procedimiento de seguridad
conforme a la invención. Bien entendido, los elementos comunes al
ejemplo anteriormente descrito conservan referencias idénticas y no
se explican de nuevo.
Según un ejemplo de realización ilustrado en la
figura 3A, debe considerarse que los datos originales D están
descompuestos en al menos una primera parte D1 y una segunda parte
D_{2}. En el ejemplo de realización ilustrado en la figura 3A, el
parámetro de generación Peg está constituido por la primera parte
D_{1} de los datos originales D. Bien entendido, la
descomposición de los datos originales D en al menos dos partes es
totalmente arbitraria. El parámetro de entrada de generación
P_{eg}, a saber, en el ejemplo ilustrado, la primera parte Da de
los datos originales, es transferido de esta manera desde el sistema
de generación 3_{g} hasta la unidad de generación 11_{g}. La
unidad de generación 11_{g} determina el parámetro de salida de
generación P_{sg} a partir del código secreto de generación
S_{g} y de la primera parte D1 de los datos.
El parámetro de salida de generación P_{sg} es
transferido desde la unidad de generación 11_{g} hasta el sistema
de generación 3_{g}. Los datos originales D son modificados a
continuación, con vistas a obtener datos modificados D', por al
menos una función de generación F_{g} que comprende una función de
traducción T que permite traducir únicamente la segunda parte
D_{2} de los datos originales, con vistas a obtener una segunda
parte modificada D'_{2} de los datos. La función de traducción T
que puede estar constituida, por ejemplo, por una función
inversible, utiliza el parámetro de salida de generación P_{sg}
para su operación de traducción. Tal como se deduce de la figura
3A, la función de generación F_{g} está adaptada para hacer, en
salida, que los datos modificados D' comprendan también la primera
parte D_{1} de los datos originales. Así, los datos modificados
D' están compuestos por la primera parte D_{1} de los datos
originales y la segunda parte modificada D'_{2} de los datos. Los
datos modificados D'comprenden así, por un lado, una parte no
modificada D1 que es utilizada para permitir la determinación del
parámetro de salida de generación Psg a partir de un código secreto
de generación S_{g} y, por otro lado, una segunda parte D'_{2}
codificada a partir del parámetro de salida de generación
P_{sg}.
La figura 3B ilustra el procedimiento que
permite traducir de manera inversa los dato D' modificados según el
principio descrito con relación a la figura 3A. Esta figura 3B
ilustra así la sub-fase de reconstitución de los
datos originales D.
El procedimiento descompone los datos
modificados D' en una primera parte y en una segunda parte. Según el
ejemplo ilustrado en las figuras 3A y 3B, se eligen como primera y
segunda partes de los datos modificados D', respectivamente, la
primera parte D_{1} de los datos originales y la segunda parte
modificada D'_{2} de los datos. La primera parte de los datos
modificados D', a saber, D_{1}, es transferida desde el sistema
de reconstitución 3u hasta la unidad de reconstitución 11_{u}. La
unidad de reconstitución 11_{u} asegura a continuación la
determinación de al menos un parámetro de salida de reconstitución
P_{su} a partir de un código secreto de reconstitución S_{u} y
de la primera parte de los datos modificados, a saber, D_{1}.
La unidad de reconstitución 11_{u} asegura a
continuación la transferencia del parámetro de salida de
reconstitución Psu de la unidad de reconstitución 11_{u} hasta el
sistema de reconstitución 3_{u}. El sistema de reconstitución
3_{u} asegura, por una función de reconstitución F_{u}, la
modificación de los datos modificados D', con vistas a retornar a
los datos originales D. La función de reconstitución F_{u}
comprende una función de traducción inversa Ti que permite traducir
la segunda parte de los datos modificados utilizando el parámetro
de salida de reconstitución P_{su}, con vistas a retornar a los
datos originales D. Por ejemplo, la función de traducción inversa
T_{i} puede estar constituida por la función inversa de la función
de traducción T o por una combinación de funciones elementales
equivalentes. En el ejemplo de realización ilustrado en las figuras
3A y 3B, la función de traducción inversa Ti utiliza el parámetro de
salida de reconstitución P_{su} para traducir la segunda parte
modificada D'_{2} de los datos, con vistas a recuperar la segunda
parte D_{2} de los datos originales. Además, la función de
reconstitución Fu está adaptada para incorporar la primera parte D1
de los datos a los datos originales D. Así, los datos originales D
son reconstituidos por la primera parte D_{1} de los datos
originales y la segunda parte D_{2} de los datos originales.
Según una característica preferida de
realización anexa al ejemplo descrito en las figuras 3A y 3B, la
primera parte D1 de los datos originales, destinada a ser
transferida a la unidad de tratamiento y de memorización, es
tratada para disminuir el número de las operaciones de tratamiento
ejecutadas por dicha unidad. La primera parte D_{1} de los datos
originales es suministrada así en entrada al menos a una función de
traducción intermedia de generación H_{g}, tal como una función
no inversible por ejemplo del tipo "one way hash", con el fin
de obtener al menos un parámetro de entrada intermedio de generación
P_{eig}. Este parámetro de entrada intermedio de generación
P_{eig} determinado por el sistema de generación 3_{g}, es
transferido por este último a la unidad de generación 11_{g}, de
manera que esta última puede asegurar la determinación del
parámetro de salida P_{sg} a partir del código secreto de
generación S_{g} y del parámetro de entrada constituido por el
parámetro de entrada intermedio de generación P_{eig}. Bien
entendido, durante la traducción de los datos modificados D' para
volver a los datos originales D (figura 3B), el sistema de
reconstitución 3_{u} define el parámetro de entrada intermedio de
reconstitución P_{eiu} a partir de la primera parte D_{1} de
los datos originales y utilizando una función de traducción
intermedia de reconstitución H_{u}, tal como una función no
inversible, por ejemplo del tipo "one way hash". Este parámetro
de entrada intermedio de reconstitución P_{eiu} es transferido a
la unidad de reconstitución 11_{u} para permitir la determinación
del parámetro de salida de reconstitución P_{su}.
Según una característica preferida de
realización de la invención, los datos modificados D' son escritos o
registrados sobre el soporte 6 de memorización de los datos,
asociado al sistema de tratamiento de datos 3 para permitir la
reconstitución de los datos modificados D' durante la
sub-fase de reconstitución del software 2. Bien
entendido, el soporte 6 de memorización de datos puede estar
constituido de cualquier manera conocida, tal como por ejemplo un
disco duro, una banda magnética, un CD ROM, o cualquier otro
dispositivo utilizado con vistas al almacenamiento o a una
transmisión de estos datos.
En los ejemplos descritos anteriormente, se
deduce que en la sub-fase de generación, los datos
modificados se obtienen en el curso de una etapa de tratamiento que
ejecuta un parámetro de salida de generación P_{sg} y un código
secreto de generación S_{g}. Bien entendido, puede estar previsto
reiniciar n veces esta etapa de tratamiento para aumentar la
complejidad de codificación de los datos. Así, las operaciones
siguientes pueden ser reiniciadas tantas veces como sean
necesarias, a saber:
- -
- descomponer los datos modificados obtenidos anteriormente en al menos una primera y una segunda partes;
- -
- determinar al menos un parámetro de salida de generación a partir de una función de uno o de varios códigos secretos diferentes o idénticos al o a los utilizados anteriormente, y a partir de una parte de los datos;
- -
- modificar la otra parte de los datos por una función de traducción idéntica o diferente a la utilizada anteriormente;
- -
- y reconstituir datos modificados después de cada fase de tratamiento de los datos.
\newpage
Según este ejemplo de realización, durante la
sub-fase de reconstitución, las operaciones de
traducción de los datos modificados para reconstituir los datos
originales, son reiniciadas en el orden inverso, un número de veces
n idéntico al número de etapas efectuadas durante la
sub-fase de generación de los datos modificados.
Según una variante preferida de realización del
ejemplo ilustrado en las figuras 3A y 3B, la descomposición de los
datos originales D se realiza en dos partes D_{1}, D_{2} de
tamaños sensiblemente equivalentes. Después de una primera etapa de
tratamiento, se obtienen datos modificados D' constituidos por la
primera parte D_{1} de los datos originales y la segunda parte
modificada D'_{2} de los datos. En una segunda etapa de
tratamiento, el papel de las partes D_{1} y D_{2} se invierte.
Así, la segunda parte modificada D'_{2} de los datos es utilizada
como parámetro de entrada de la unidad de generación 11g, mientras
que la primera parte D_{1} de los datos originales es modificada
por una función de traducción. Se deduce que el conjunto de los
datos originales D está modificado. Bien entendido, durante la
sub-fase de reconstitución, se realizan operaciones
inversas con el fin de recuperar los datos original D.
El procedimiento según la invención descrito
anteriormente puede ser realizado con diferentes funciones de
traducción T según los objetivos deseados por el editor del software
protegido. Por ejemplo, la función de traducción T puede ser una
función de cifrado. En este caso, los datos traducidos son
manifiestamente incomprensibles. Según otro ejemplo, la función de
traducción T puede ser una función de modificación menor
pseudo-aleatoria de las cifras contenidas en los
datos originales. De esta manera, el usuario de un software parata
puede utilizar los datos generados por la versión original del
software, pero éstos son erróneos. De la misma manera, un usuario
de un software original puede utilizar los datos generados por el
software pirata y éstos son también erróneos.
Claims (11)
1. Procedimiento para asegurar la utilización de
un software (2) a partir de una unidad (11) de tratamiento y de
memorización de al menos un código secreto (S), funcionando el
software en un sistema de tratamiento de datos (3_{u}), que tiene
una función de generación de datos, llamado entonces sistema de
tratamiento de datos de generación (3_{g}) y que tiene una
función de reconstitución de datos, llamado entonces sistema de
tratamiento de datos de reconstitución (3_{u}),
caracterizado porque la fase de utilización del software (2)
consiste en
\rightarrow una
sub-fase de generación de datos modificados (D'),
que
permite:
- -
-
para una primera categoría de usuarios que poseen una unidad de tratamiento y de memorización llamada unidad de generación (11_{g}), comprendiendo dicha unidad de generación (11_{g}) al menos un código secreto de generación (S_{g}),\vtcortauna
- \bullet
-
establecer, a partir del software (2), unos dados, llamados originales (D), que están asociados a dicho software\vtcortauna
- \bullet
-
generar al menos un parámetro de entrada de generación (P_{eg}) que está constituido por al menos una parte de dichos datos originales (D),\vtcortauna
- \bullet
-
transferir el parámetro de entrada de generación (P_{eg}) de dicho sistema de tratamiento de datos de generación (3_{g}) a dicha unidad de generación (11_{g}),\vtcortauna
- \bullet
-
asegurar la determinación por dicha unidad de generación (11_{g}) de al menos un parámetro de salida de generación (P_{sg}) a partir de dicho código secreto de generación (S_{g}) y de dicho parámetro de entrada de generación (P_{eg}),\vtcortauna
- \bullet
-
transferir dicho parámetro de salida de generación (P_{sg})desde dicha unidad de generación (11_{g}) hacia el sistema de tratamiento de datos de generación (3_{g}),\vtcortauna
- \bullet
-
ejecutar al menos una función de generación (F_{g}) utilizando al menos en parte dicho parámetro de salida de generación (P_{sg}), con vistas a obtener datos modificados (D'),\vtcortauna
- -
-
para una segunda categoría de usuarios que no poseen la unidad de generación (11g), poder a lo mejor generar los datos originales (D) sin poder traducirlos para obtener los datos modificados (D')\vtcortauna
\rightarrow y una
sub-fase de reconstitución de los datos originales
(D), que
permite
- -
-
para una primera categoría de usuarios que poseen una unidad de tratamiento y de memorización dicha unidad de reconstitución (11_{u}), comprendiendo dicha unidad de reconstitución (11u) al menos un código secreto de reconstitución (S_{u}), modificar de manera inversa, los datos modificados (D') para volver a los datos originales (D):\vtcortauna
- \bullet
-
generar un parámetro de entrada de reconstitución (P_{eu}) constituido por al menos una parte de los datos modificados (D'),\vtcortauna
- \bullet
-
transferir dicho parámetro de entrada de reconstitución (P_{eu}) de dicho sistema de tratamiento de datos de reconstitución (3u) a dicha unidad de reconstitución (11_{u}),\vtcortauna
- \bullet
-
asegurar la determinación por dicha unidad de reconstitución (11_{u}) de al menos un parámetro de salida de reconstitución (P_{su}) a partir de dicho código secreto de reconstitución (S_{u}) y de dicho parámetro de entrada de reconstitución (P_{eu}),\vtcortauna
- \bullet
-
transferir dicho parámetro de salida de reconstitución (P_{su}) de dicha unidad de reconstitución (11_{u}) a dicho sistema de tratamiento de datos de reconstitución (3_{u}),\vtcortauna
- \bullet
-
y ejecutar al menos una función de reconstitución (F_{u}) utilizando al menos en parte el parámetro de salida de reconstitución (P_{su}), con vistas a obtener los datos originales (D),\vtcortauna
- -
-
para una segunda categoría de usuarios que no poseen la unidad de reconstitución (11u), poder utilizar a lo mejor los datos modificados (D').\vtcortauna
\newpage
2. Procedimiento según la reivindicación 1,
caracterizado porque consiste:
\rightarrow en la
sub-fase de generación de datos modificados
(D'):
- -
-
en seleccionar un parámetro de entrada de generación (P_{eg}) que comprende al menos la totalidad de los datos originales (D),\vtcortauna
- -
-
y en ejecutar una función de generación (F_{g}) que suministra los datos modificados (D') a partir del parámetro de salida de generación (P_{sg}),\vtcortauna
\rightarrow y en la
sub-fase de reconstitución de los datos originales
(D):
- -
-
en seleccionar un parámetro de entrada de utilización (P_{eu}) que comprende al menos en parte los datos modificados (D'),\vtcortauna
- -
-
y en ejecutar una función de utilización (F_{u}) que suministra los datos originales (D) a partir del parámetro de salida de utilización (P_{su}),\vtcortauna
3. Procedimiento según la reivindicación 1,
caracterizado porque consiste:
\rightarrow en la
sub-fase de generación de datos modificados
(D'):
- -
-
en descomponer los datos originales (D) en al menos una primera parte (D_{1}) y una segunda parte (D_{2}),\vtcortauna
- -
-
en asegurar la determinación del parámetro de salida de generación (P_{sg}) a partir del código secreto de generación (S_{g}) y del parámetro de entrada de generación (P_{cg}) constituido, al menos en parte, por la primera parte (D_{1}) de los datos originales,\vtcortauna
- -
-
en modificar por una función de traducción (T) que forma parte de la función de generación (F_{g}), únicamente la segunda parte (D_{2}) de los datos originales, utilizando el parámetro de salida de generación (P_{sg}) con vistas a obtener una segunda parte modificada (D'_{2}) de los datos,\vtcortauna
- -
-
y en constituir los datos modificados (D') compuestos por la primera parte (D_{1}) de los datos originales y la segunda parte modificada (D'_{2}) de los datos.\vtcortauna
4. Procedimiento según la reivindicación 3,
caracterizado porque consiste:
\rightarrow en la
sub-fase de reconstitución de los datos originales
(D):
- -
-
en descomponer los datos modificados (D') en una primera parte y una segunda parte, que corresponde, respectivamente, a la primera parte (D_{1}) de los datos originales y a la segunda parte modificada (D'_{2}) de los datos,\vtcortauna
- -
-
en transferir, como parámetro de entada de reconstitución (P_{eu}), la primera parte de los datos modificados (D')del sistema de tratamiento de datos y de reconstitución (3_{u}) a la unidad de reconstitución (11_{u}),\vtcortauna
- -
-
en modificar la segunda parte modificada (D'_{2}) de los datos por una función de traducción inversa (T_{i}) que forma parte de la función de reconstitución (F_{u}), utilizando el parámetro de salida de reconstitución (P_{su}) con el fin de recuperar la segunda parte (D_{2}) de los datos originales,\vtcortauna
- -
-
y en reconstituir los datos originales (D) a partir de la primera parte (D1) de los datos originales y de dicha segunda parte (D2) de los datos originales.\vtcortauna
5. Procedimiento según las reivindicaciones 3 y
4, caracterizado porque consiste:
- -
-
en seleccionar como parámetros de entrada de generación (P_{eg}) y de reconstitución (P_{eu}) parámetros de entradas intermedias, respectivamente, de generación (P_{eig}) y de reconstitución (P_{eiu}) definidos a partir de una función de traducción intermedia, respectivamente, de generación (H_{g}) y de reconstitución (H_{u}) utilizando, al menos en parte, la primera parte (D_{1}) de los datos originales,\vtcortauna
- -
-
y en asegurar la determinación de los parámetros de salida de generación (P_{sg}) y de reconstitución (P_{su}) a partir, respectivamente, por una parte, del código secreto de generación (S_{g}) y del parámetro de entrada intermedio de generación (P_{eig}) y, por otra parte, del código secreto de reconstitución (S_{u}) y del parámetro de entrada intermedio de reconstitución (P_{eiu}).\vtcortauna
\global\parskip0.950000\baselineskip
6. Procedimiento según la reivindicación 1,
caracterizado porque consiste en escribir los datos
modificados (D') sobre un soporte (56) de memorización permanente
de datos, asociado al sistema de tratamiento de datos (3) para
permitir la utilización de los datos modificados (D') durante la
sub-fase de reconstitución de los datos originales
(D).
7. Procedimiento según la reivindicación 3,
caracterizado porque consiste en reiniciar, en la
sub-fase de generación de datos modificados (D'),
n veces, con n \geq 1, las operaciones:
- -
-
de descomposición de los datos modificados anteriormente obtenidos en al menos una primera y segunda partes,\vtcortauna
- -
-
de determinación de al menos un parámetro de salida de generación a partir de una función de uno o de varios códigos secretos de generación diferentes o idénticos a los utilizados anteriormente, y de una parte de los datos,\vtcortauna
- -
-
de modificación de la otra parte de los datos por una función de traducción idéntica o diferente a la utilizada anteriormente,\vtcortauna
- -
-
y de constitución de los datos modificados después de cada fase de modificación de los datos.\vtcortauna
8. Procedimiento según la reivindicación 7,
caracterizado porque consiste, en la sub-fase
de generación de datos modificados (D'):
- -
-
en una primera etapa de tratamiento.\vtcortauna
- \bullet
-
en descomponer los datos originales (D) en una primera parte (D_{1}) y una segunda parte (D_{2}),\vtcortauna
- \bullet
-
y en constituir datos modificados compuestos por la primera parte (D_{1}) de los datos originales y la segunda parte modificada (D'_{2}) de los datos,\vtcortauna
- -
-
y en una segunda etapa de tratamiento:\vtcortauna
- \bullet
-
en utilizar la segunda parte modificada (D'_{2}) de los datos, como parámetro de entrada de la unidad de generación (11g), mientras que la primera parte (D1) de los datos originales es modificada por una función de traducción, de tal manera que el conjunto de los datos originales es modificado.\vtcortauna
9. Procedimiento según las reivindicaciones 4 y
7 í 4 y 8, caracterizado porque consiste en reiniciar
n veces en el orden inverso, con n \geq 1, las operaciones
de traducción de los datos modificados para volver a los datos
originales.
10. Dispositivo para asegurar la utilización de
un software (2) que comprende al menos un sistema de tratamiento de
datos (3) al que está asociada una unidad (11) de tratamiento y de
memorización de al menos un código secreto, caracterizado
porque comprende durante la utilización de dicho software:
- -
-
en una sub-fase de generación de datos modificados (D'):\vtcortauna
- \bullet
-
un sistema de tratamiento de datos llamado de generación de datos (3_{g}) que comprende:\vtcortauna
- \ding{226}
- medios que permiten establecer a partir del software (2) los datos llamados originales (D) asociados a dicho software,
- \ding{226}
- medios para generar al menos un parámetro de entrada de generación (P_{eg}) constituido por al menos una parte de los datos originales,
- \ding{226}
- medios de transferencia del parámetro de entrada de generación (P_{eg}) del sistema de generación (3_{g}) a la unidad de tratamiento y de memorización asociada a dicha unidad de generación (11_{g}),
- \ding{226}
- medios que ejecutan al menos una función de generación (F_{gs})
- \bullet
-
comprendiendo dicha unidad de generación (11_{g}):\vtcortauna
- \ding{226}
- medios que aseguran la determinación de al menos un parámetro de salida de generación (P_{sg}) a partir del código secreto de generación (S_{g}) y del parámetro de entrada de generación (P_{eg}),
- \ding{226}
- medios de transferencia del parámetro de salida de generación (P_{sg}) de la unidad de generación (11g) al sistema de generación (3g) que utiliza al menos la función de generación (F_{g}) por el desvío de dichos medios que la ejecutan, y al menos en parte el parámetro de salida de generación (P_{sg}), con vistas a obtener datos modificados (D'),
\global\parskip1.000000\baselineskip
\newpage
- -
-
y en una sub-fase de reconstitución de los datos originales (D):\vtcortauna
- \bullet
-
un sistema de tratamiento de datos llamado de reconstitución de datos (3_{u}) que, en presencia de una unidad de tratamiento y de memorización asociada a dicha unidad de reconstitución (11_{u}) que comprende al menos un código secreto de reconstitución (S_{u}), permite volver a los datos originales (D) a partir delos datos modificados (D').\vtcortauna
11. Dispositivo según la reivindicación 10,
caracterizado porque, en la sub-fase de
reconstitución de los datos originales (D):
- -
-
el sistema de reconstitución (3_{u}) comprende:\vtcortauna
- \bullet
-
medios para determinar un parámetro de entrada de reconstitución (P_{eu}) constituido por al menos una parte de los datos modificados (D'),\vtcortauna
- \bullet
-
medios de transferencia del parámetro de entrada de reconstitución (P_{eu}) del sistema de reconstitución (3_{u}) a la unidad de reconstitución (11_{u}),\vtcortauna
- \bullet
-
medios que ejecutan al menos una función de reconstitución (F_{u})\vtcortauna
- -
-
dicha unidad de reconstitución (11_{u}) comprende:\vtcortauna
- \bullet
-
medios que aseguran la determinación de al menos un parámetro de salida de reconstitución (P_{su}) a partir del código secreto de reconstitución (S_{u}) y del parámetro de entrada de reconstitución (P_{eu}),\vtcortauna
- \ding{226}
- medios de transferencia del parámetro de salida de reconstitución (P_{su}) de la unidad de reconstitución (11u) al sistema de reconstitución (3_{u}) que utiliza al menos la función de reconstitución (F_{u}) por el desvío de los medios que la ejecutan y al menos en parte el parámetro de salida de generación (P_{sg}), con vistas a obtener datos modificados (D').
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9905569A FR2793049B1 (fr) | 1999-04-28 | 1999-04-28 | Procede pour securiser l'utilisation d'un logiciel a partir d'une unite de traitement et de memorisation d'un secret et systeme en faisant application |
| FR9905569 | 1999-04-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2283297T3 true ES2283297T3 (es) | 2007-11-01 |
Family
ID=9545129
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES00922767T Expired - Lifetime ES2283297T3 (es) | 1999-04-28 | 2000-04-27 | Procedimiento para asegurar la utilizacion de un software a partir de una unidad de tratamiento y de memorizacion de un cogido secreto y sistema para realizar la aplicacion. |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7231527B1 (es) |
| EP (1) | EP1185913B1 (es) |
| AT (1) | ATE356387T1 (es) |
| AU (1) | AU4305700A (es) |
| DE (1) | DE60033808T2 (es) |
| ES (1) | ES2283297T3 (es) |
| FR (1) | FR2793049B1 (es) |
| WO (1) | WO2000067093A1 (es) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1238427A (en) * | 1984-12-18 | 1988-06-21 | Jonathan Oseas | Code protection using cryptography |
| JPH08305558A (ja) * | 1995-04-27 | 1996-11-22 | Casio Comput Co Ltd | 暗号化プログラム演算装置 |
| JP3486043B2 (ja) * | 1996-03-11 | 2004-01-13 | 株式会社東芝 | ソフトウエア流通システムの動作方法及びソフトウエアシステム |
-
1999
- 1999-04-28 FR FR9905569A patent/FR2793049B1/fr not_active Expired - Fee Related
-
2000
- 2000-04-27 AT AT00922767T patent/ATE356387T1/de not_active IP Right Cessation
- 2000-04-27 ES ES00922767T patent/ES2283297T3/es not_active Expired - Lifetime
- 2000-04-27 EP EP00922767A patent/EP1185913B1/fr not_active Expired - Lifetime
- 2000-04-27 AU AU43057/00A patent/AU4305700A/en not_active Abandoned
- 2000-04-27 WO PCT/FR2000/001120 patent/WO2000067093A1/fr not_active Ceased
- 2000-04-27 DE DE60033808T patent/DE60033808T2/de not_active Expired - Lifetime
- 2000-04-27 US US09/959,413 patent/US7231527B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP1185913B1 (fr) | 2007-03-07 |
| FR2793049A1 (fr) | 2000-11-03 |
| WO2000067093A1 (fr) | 2000-11-09 |
| AU4305700A (en) | 2000-11-17 |
| ATE356387T1 (de) | 2007-03-15 |
| US7231527B1 (en) | 2007-06-12 |
| FR2793049B1 (fr) | 2001-08-17 |
| DE60033808T2 (de) | 2007-11-08 |
| EP1185913A1 (fr) | 2002-03-13 |
| DE60033808D1 (de) | 2007-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5643318B2 (ja) | 一時的な機密のセキュアストレージ方法 | |
| EP2264639B1 (en) | Securing executable code integrity using auto-derivative key | |
| EP2006792A2 (en) | Encryption and decryption methods and a PLC system using said methods | |
| US20050108532A1 (en) | Method and system to provide a trusted channel within a computer system for a SIM device | |
| JPH08305558A (ja) | 暗号化プログラム演算装置 | |
| EP2264640B1 (en) | Feature specific keys for executable code | |
| JP2007013433A (ja) | 暗号化データを送受信する方法及び情報処理システム | |
| TW200947202A (en) | System and method for providing secure access to system memory | |
| CN102362280A (zh) | 在电子设备中安全地存储数据的系统和方法 | |
| US20200204339A1 (en) | Portable electronic device and ic module | |
| KR100693874B1 (ko) | 판독을 제어하는 마이크로프로세서를 포함한 컴퓨터 판독매체 및 이러한 매체와 통신하도록 설정된 컴퓨터 | |
| ES2720077T3 (es) | Método y sistema para realizar una transacción y para realizar una verificación de acceso legítimo o uso de datos digitales | |
| CN102782695A (zh) | 硬件装置 | |
| ES2283297T3 (es) | Procedimiento para asegurar la utilizacion de un software a partir de una unidad de tratamiento y de memorizacion de un cogido secreto y sistema para realizar la aplicacion. | |
| ES2282104T3 (es) | Procedimiento para asegurar un software de utilizacion a partir de una unidad de tratamiento y de memorizacion de un secreto y sistema para su aplicacion. | |
| JP4592337B2 (ja) | データ記憶装置 | |
| JPH10228374A (ja) | 複製防止を施した計算機カード | |
| CN103870769A (zh) | 一种对磁盘进行保护的方法及系统 | |
| JP2002538566A5 (es) | ||
| JP2000047866A (ja) | プログラム実行プロテクト方法およびicカード、並びに記録媒体 | |
| CN102129535A (zh) | 基于硬件的非易失性计算机系统的加密方法及计算机 | |
| JP4832926B2 (ja) | 持ち運び可能なデータストレージデバイスおよびデータの読み出し制御方法 | |
| McGregor et al. | Braving the cold: New methods for preventing cold boot attacks on encryption keys | |
| JPH043224A (ja) | Icカードによるソフトモジュールの管理方法 | |
| JPS6358538A (ja) | ソフトウエア保護方式 |