ES2619635T3 - Método y sistema para personalización de chip de tarjeta inteligente - Google Patents
Método y sistema para personalización de chip de tarjeta inteligente Download PDFInfo
- Publication number
- ES2619635T3 ES2619635T3 ES13773769.8T ES13773769T ES2619635T3 ES 2619635 T3 ES2619635 T3 ES 2619635T3 ES 13773769 T ES13773769 T ES 13773769T ES 2619635 T3 ES2619635 T3 ES 2619635T3
- Authority
- ES
- Spain
- Prior art keywords
- chip
- fpga device
- secret code
- cryptogram
- tester
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Semiconductor Integrated Circuits (AREA)
- Storage Device Security (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
Método para la personalización de al menos un chip (IC), destinado a ser integrado en una tarjeta inteligente, que comprende un probador (T) asociado a un dispositivo FPGA (WB) conectado al chip (IC), el chip (IC) es parte de una oblea (W) que incluye una disposición de una pluralidad de chips, que comprende los siguientes pasos: envío por medio del probador (T) de un primer código secreto (S1) al dispositivo FPGA (WB), dicho primer código secreto (S1) se almacena permanentemente en una memoria del probador (T), envío por medio del dispositivo FPGA (WB) de un comando (C) al chip (IC) para iniciar una secuencia de una activación de modo de prueba, envío por medio del chip (IC) de una señal (s) a un módulo de hardware desechable (HM) dispuesto en la oblea, dicho módulo de hardware (HM) devuelve una respuesta (r) que indica la presencia del chip (IC) en la oblea (W), generación y envío por medio el chip (IC) de un número aleatorio (R) al dispositivo FPGA (WB), encriptación por medio del dispositivo FPGA (WB) de un segundo código secreto (S2) usando un algoritmo de encriptación secreto (E) parametrizado con el número aleatorio (R) y el primer código secreto (S1) y obtención de un primer criptograma M1>=ER,S1(S2), envío por medio del dispositivo FPGA (WB) del primer criptograma M1>=ER, S1(S2) al chip (IC), determinación por medio del chip (IC) de un segundo criptograma M2 >= F(E-1 R,S1(M1)) realizando una función booleana F mediante un resultado E-1 R,S(M1) obtenido desencriptando el primer criptograma (M1), utilizando el inverso (E-1) del algoritmo de encriptación secreto (E) parametrizado con el número aleatorio (R) y el primer código secreto (S1), comparación por medio del chip (IC) del segundo criptograma (M2) con un resultado F(S2) obtenido, transportando la función de booleana F al segundo código secreto (S2) temporalmente almacenado en el chip (IC), si el segundo criptograma (M2) corresponde con el resultado F(S2) obtenido por el transporte de la función booleana F al segundo código secreto (S2), liberación del modo de prueba, envío por medio del chip (IC) de un mensaje de respuesta (Res) al dispositivo FPGA (WB), realización, por medio del dispositivo FPGA (WB), de la personalización del chip (IC) si el mensaje (Res) incluye una respuesta positiva (OK).
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
Metodo y sistema para personalizacion de chip de tarjeta inteligente Campo de la invencion
[0001] La invencion se refiere al dominio de la personalizacion de chip de tarjeta inteligente durante la que se introducen codigos secretos unicos y de aplicacion.
En particular, los pasos de personalizacion se realizan bajo condiciones controladas para prevenir la clonacion y reprogramacion de tarjetas inteligentes en el campo.
Antecedentes tecnicos
[0002] Los chips protegidos se usan en su mayorfa en la fabricacion de tarjetas inteligentes, modulos de seguridad, dispositivos de identificacion y otros circuitos integrados usados en aplicaciones que requieren un alto nivel de seguridad.
[0003] El documento WO2010/130709A1 divulga un metodo para la autenticacion de acceso a un chip protegido por un dispositivo de prueba.
Una vez el dispositivo de prueba se autentifica con el chip, es decir, se han realizado verificaciones exitosas por intercambios de datos de control entre el dispositivo de prueba y el chip, las diferentes pruebas operativas o simulaciones se realizan en funciones de hardware y software y/o programas implementadas en el chip.
El dispositivo de prueba puede comprender tambien funcionalidades de configuracion o personalizacion del chip permitiendo, deshabilitando o programando caracterfsticas segun los requisitos de aplicacion previstos para el chip. Segun una implementacion preferida, una ventaja de este metodo es minimizar la transferencia de datos entre el dispositivo de prueba y el chip protegido.
En respuesta a un desaffo producido por el chip, el dispositivo de prueba envfa un criptograma que sera analizado y verificado por el chip antes de autorizar al dispositivo de prueba a ejecutar pruebas en dicho chip.
[0004] El documento EP1441313 se maneja en un metodo criptografico asimetrico de proteccion de un chip de logica electronica por cable contra el fraude en transacciones entre el chip electronico y una aplicacion que incluye el calculo del valor de autenticacion de parametros de entrada en el chip electronico.
El metodo comprende los pasos de: produccion por el chip de un numero aleatorio especffico a la transaccion; envfo a la aplicacion de un primer parametro calculado por la aplicacion antes de la transaccion, enlazado al numero aleatorio por una relacion matematica y almacenado en una memoria de datos del chip; calculo por el chip de un segundo parametro que constituye un valor de autentificacion por medios de una funcion en serie, cuyos parametros de entrada son al menos el numero aleatorio especffico para la transaccion y una clave privada que pertenece a un par de claves asimetricas; envfo del valor de autenticacion a la aplicacion, y verificacion de dicho valor de autenticacion mediante una funcion de verificacion cuyos parametros de entrada consisten exclusivamente en parametros publicos que incluyen al menos la clave publica.
[0005] El documento EP1983466 describe el metodo y equipo de autentificacion segura para el sistema en un chip (SoC).
El SoC puede permitir la autentificacion de una entidad externa intentando ganar acceso a una funcion o sistema.
El SoC y una entidad externa autorizada pueden tener cada uno conocimientos de datos ocultos antes de un intento de autentificacion y tambien pueden comunicar datos durante el proceso de autentificacion.
Utilizar como datos, el SoC y una entidad externa puede ser capaz de generar la misma contrasena y conseguir acceso al sistema.
Las contrasenas pueden ser unicas en dos vfas, por ejemplo: por operacion y por dispositivo SoC.
Un generador de numero aleatorio a bordo del SoC puede permitir las contrasenas para variar para cada iteracion del proceso de autentificacion.
Cada caso de un SoC tiene su propia palabra secreta que permite que las contrasenas sean unicas para cada dispositivo.
[0006] Despues de la fabricacion, los circuitos integrados de tarjeta inteligente o chips necesitan personalizarse para insertar secretos unicos y para cargar el codigo de aplicacion en una via muy segura para prevenir la clonacion o reprogramacion de tarjetas inteligentes hechas con estos chips.
Las soluciones tradicionales se basan en una estacion informatica dedicada que permite al personal instruido programar las tarjetas en la instalacion de personalizacion (interna o externa).
Este metodo tiene muchos aspectos debiles y para superar estos aspectos se consideran los requisitos siguientes:
a) Hacer posible la personalizacion solo a nivel de oblea y extremadamente diffcil para reactivar con medios ffsicos una vez la oblea se corte y los chip se empaqueten.
b) La activacion de personalizacion no deberfa basarse solo en un secreto unico o en el embalaje de software que puede poseer (y colar) el personal en la instalacion de personalizacion.
c) Hacer imposible la repeticion de secuencias de personalizacion para clonar chips destinados a ser implementados en tarjetas inteligentes.
d) Prevenir la ingenierfa inversa completa del chip de tarjeta inteligente y asf permitir que un atacante
5
10
15
20
25
30
35
40
45
50
55
60
65
Resumen de la invencion
[0007] Los objetivos de la invencion son cumplir mejor con los requisitos anteriormente mencionados sobre la personalizacion de chips de tarjeta inteligente y superar los inconvenientes de las soluciones de la tecnica anterior.
[0008] El objetivo se consigue por un metodo de personalizacion de al menos un chip, destinado a ser integrado en una tarjeta inteligente, de forma que implica a un probador asociado a un dispositivo FPGA (matriz de puertas programable in situ) conectado al chip, el chip es parte de una oblea que incluye una disposicion de una pluralidad de chips, que comprende los pasos de:
- envfo por el probador de un primer codigo secreto al dispositivo FPGA dicho primer codigo secreto se almacena permanentemente en una memoria del probador,
- envfo de por el dispositivo FPGA de un comando al chip para iniciar una secuencia de una activacion de modo de prueba
- envfo por medio del chip de una senal a un modulo de hardware desechable dispuesto en la oblea, dicho modulo de hardware retorna una respuesta que indica la presencia del chip en la oblea,
- generacion y envfo por medio del chip de un numero aleatorio al dispositivo FPGA
- encriptacion por el dispositivo FPGA de un segundo codigo secreto usando un algoritmo de encriptacion secreto parametrizado con el numero aleatorio y el primer codigo secreto, obteniendo un primer criptograma,
- envfo por el dispositivo FPGA del primer criptograma al chip,
- determinacion por medio del chip de un segundo criptograma, realizando una funcion booleana sobre un resultado obtenido por la desencriptacion del primer criptograma utilizando el inverso del algoritmo de encriptacion secreto parametrizado con el numero aleatorio y el primer codigo secreto,
- comparacion por medio del chip del segundo criptograma con un resultado obtenido por la realizacion de la funcion booleana sobre el segundo codigo secreto temporalmente almacenado en el chip,
- si el segundo criptograma corresponde con el resultado obtenido por la realizacion de la funcion booleana sobre el segundo codigo secreto, permite a la secuencia de modo de prueba,
- el envfo por medio del chip un mensaje de respuesta al dispositivo FPGA
- realizacion por medio del dispositivo FPGA de la personalizacion del chip si el mensaje incluye una respuesta positiva.
[0009] La invencion se refiere ademas a un sistema configurado para la personalizacion de al menos un chip, destinado a ser integrado en una tarjeta inteligente, que comprende un probador asociado a un dispositivo FPGA (matriz de puertas programable in situ) conectado al chip, el chip es parte de una oblea que incluye una disposicion de una pluralidad de chips y un modulo de hardware desechable, caracterizado por el hecho de que:
- el probador se configura para enviar un primer codigo secreto al dispositivo FPGA dicha primera cifra de seguridad se almacena permanentemente en una memoria del probador,
- el dispositivo FPGA se configura para enviar un comando al chip para iniciar una secuencia de una activacion de modo de prueba, para encriptar un segundo codigo secreto usando un algoritmo de encriptacion secreto parametrizado con un numero aleatorio recibido desde el chip y el primer codigo seccreto, para obtener y enviar un primer criptograma al chip,
- el modulo de hardware desechable se configura para recibir una senal del chip y para devolver una respuesta que indica la presencia del chip en la oblea,
- el chip se configura para determinar un segundo criptograma por la realizacion de una funcion booleana sobre un resultado obtenido por desencriptacion del primer criptograma utilizando el inverso del algoritmo de encriptacion secreto parametrizado con el numero aleatorio y el primer codigo secreto, y para comparar el segundo criptograma con un resultado calculado obtenido realizando la funcion booleana sobre el segundo codigo secreto temporalmente almacenado en el chip,
- el dispositivo FPGA esta configurado ademas para ejecutar la personalizacion del chip solo si el modo del chip esta permitido por una comparacion exitosa entre el segundo criptograma y el resultado calculado.
[0010] Como de costumbre, la personalizacion es posible solo cuando el chip de tarjeta inteligente esta en un estado especial, llamado "modo de prueba".
Por lo tanto, la solucion se focaliza principalmente, pero no solo, en la prestacion de la activacion del modo de prueba muy seguro.
[0011] La proteccion de activacion de modo de prueba se basa en diferentes caracterfsticas de seguridad, es decir:
- La utilizacion de un protocolo de desaffo-respuesta anti-inverso basado en el metodo descrito en el documento WO2010/130709A1.
- La utilizacion de un modulo de hardware para verificar presencia del chip en la oblea.
Este modulo de hardware se destruye despues del corte de la oblea,
- La utilizacion de una plaza electronica que incorpora un dispositivo FPGA llamado "caja de oblea" que se integra mecanicamente y electricamente en el equipo de probador,
- La implementacion de un generador de numero aleatorio real (TRNG) en el chip de tarjeta inteligente que hace unica estadfsticamente la transaccion de personalizacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0012] La invencion se entendera mejor con la siguiente descripcion detallada, que se refiere a la figura adjunta dada como un ejemplo no limitativo.
[0013] La Figura 1 muestra un bloque esquematico que representa el sistema de la invencion que comprende un probador asociado a un dispositivo FPGA conectado a al menos un chip de una oblea.
Antes de la personalizacion, el chip se monta en un modo de prueba por intercambios de datos de seguridad y verificaciones realizadas por el probador y el dispositivo FPGA
Descripcion detallada de la invencion
[0014] El sistema ilustrado por la figura 1 comprende un probador T asociado a un dispositivo FPGA WB tambien llamado "caja de oblea" cuyo fichero de configuracion es seguro con metodos conocidos para prevenir la clonacion. La activacion de modo de prueba al igual que el proceso de personalizacion se realizan preferiblemente a nivel de oblea, es decir, los chips estan dispuestos en una oblea usada para su fabricacion.
Un modulo de hardware HM preferiblemente implementado en la oblea juega un papel de interfaz entre el dispositivo FPGA WB y los circuitos integrados de chips en la oblea W y esta encargado de verificar la presencia de circuitos integrados de chip (s) en la oblea W despues de la inicializacion del modo de prueba.
Esta verificacion previene manipulaciones o intenta modificar parametros de personalizacion cuando un chip se corta fuera de la oblea o se integra en una tarjeta inteligente en servicio en el campo.
El modulo de hardware HM se destruye al final de proceso de personalizacion durante el corte de la oblea para separar todos los chips.
Ademas de estos medios de seguridad ffsicos, el software y los medios de seguridad de comunicacion se usan tambien para proteger el proceso de personalizacion sensible.
La combinacion de medios ffsicos y de software previene la personalizacion por terceras personas que poseen solo los programas software necesarios sin ningun enlace con un conjunto de circuitos de hardware ffsico desechable.
[0015] Al principio del proceso de personalizacion, el probador T se potencia al igual que el dispositivo FPGA y el chip IC.
El probador T lee y envfa al dispositivo FPGA WB un primer codigo secreto S1 que se recupera de una memoria permanente del probador T.
Para comenzar introduciendo el chip en un modo de prueba, el dispositivo FPGA envfa un comando C al chip IC que manda una senal s al modulo de hardware HM dispuesto en la oblea W.
El modulo de hardware HM devuelve una respuesta r al chip indicando su presencia en la oblea, es decir, no independiente o integrado en un dispositivo conectado al dispositivo FPGA WB.
[0016] En el caso del chip IC no recibe una respuesta r desde el modulo de hardware HM, la conexion con el modulo de hardware HM puede ser defectuosa o el chip IC se separa de la oblea W.
El probador T respectivamente al dispositivo FPGA WB para el procesamiento en comunicacion con el modulo de hardware HM y se visualiza un mensaje de error.
Preferiblemente, un indicador de estado ST (chip en la oblea/chip fuera de la oblea) se puede proporcionar al dispositivo FPGA WB antes de la continuacion de la activacion de secuencia de modo de prueba.
Este indicador de estado ST se puede incluir en respuesta al comando de inicializacion C.
[0017] Despues de la comunicacion exitosa con el modulo de hardware HM, el chip IC genera un numero aleatorio R y lo reenvfa al dispositivo FPGA WB.
Preferiblemente, el numero aleatorio R es realmente aleatorio, es decir, producido con un generador de numero aleatorio real de hardware (TRNG) para mejorar la singularidad estadfstica del resultado.
[0018] Hay dos metodos principales usados para generar numeros aleatorios: un primer metodo se basa en alguna medicion de fenomeno ffsico (ruido en elementos semiconductores, por ejemplo) que se espera que sea aleatorio y luego compensa posibles perjuicios en el proceso de medicion.
El segundo metodo usa algoritmos computacionales que pueden producir secuencias largas de resultados aparentemente aleatorios, que de hecho estan completamente determinados por un valor inicial mas corto, conocido como una semilla o clave.
El ultimo tipo de generador se llama frecuentemente generador de numero pseudo-aleatorio.
Un "generador de numero pseudo-aleatorio" basado solamente en la computacion determinista no se puede considerar como un generador de numero aleatorio "real", ya que su emision es previsible intrfnsecamente.
[0019] El dispositivo FPGA WB encripta un segundo codigo secreto S2 usando un algoritmo de encriptacion secreto E parametrizado con el numero aleatorio R y el primer codigo secreto S1 para obtener un primer criptograma M1 = er,s1(S2) que se envfa al chip IC.
[0020] El chip IC calcula un segundo criptograma M2 = F(E"1r,s1(M1)) aplicando una funcion booleana F sobre un resultado obtenido desencriptando el primer criptograma recibido M1 con el inverso del algoritmo de encriptacion
5
10
15
20
25
30
35
40
45
secreto E"1 parametrizado con el numero aleatorio R y el primer codigo secreto S1.
Luego, este segundo criptograma M2 se compara por el chip IC con un resultado obtenido aplicando la funcion booleana F sobre el segundo codigo secreto S2 que se almacena temporalmente en el chip IC.
Si la comparacion es exitosa, es decir, M2 = F(S2), la secuencia de modo de prueba se habilita de modo que el chip IC se prepara para ser personalizado.
De otro modo, los pasos precedentes que se inician por una nueva generacion de numero aleatorio R se puede repetir o el proceso se detiene debido a fallos de seguridad u otros defectos.
Cada intercambio de datos entre el dispositivo FPGA WB es unico estadfsticamente gracias al numero aleatorio real R usado en la encriptacion/desencriptacion de algoritmo E para calcular los criptogramas M1 y M2.
[0021] La funcion booleana F puede ser preferiblemente una funcion unidireccional criptografica tal como una funcion de control de tipo SHA256, por ejemplo, como se describe en el documento WO2010/130709A1.
Incluso se conoce la funcion F, es bastante imposible recuperar el valor original E"1r,s1(M1) del criptograma resultante M2.
[0022] El dispositivo FPGA WB recibe el mensaje de respuesta RES como OK o KO desde el chip IC que indica que los pasos de personalizacion se pueden ejecutar o no.
[0023] Segun una configuracion preferida, el primer codigo secreto S1 y el segundo codigo secreto S2 constituyen partes de un codigo secreto global S. El primer codigo secreto S1 se almacena en una memoria permanente del probador T y en una memoria permanente del chip IC y se almacena en una memoria RAM de acceso aleatorio permanente del dispositivo FPGA WB.
El segundo codigo secreto S2 se almacena en una memoria permanente del dispositivo FPGA WB y se almacena en una memoria de acceso aleatorio permanente RAM del chip IC.
Se puede compartir el codigo secreto S por el almacenamiento de los codigos secretos S1 y S2 en las memorias respectivas del dispositivo FPGA y del chip IC al inicio del probador T cuando se inician las conexiones de los elementos del sistema.
[0024] Posteriormente, el dispositivo FPGA WB se configura para tener acceso a la memoria no volatil encriptada para cargar el codigo de aplicacion en el chip IC durante el paso de personalizacion.
Esta memoria puede contener diferentes versiones del codigo de aplicadon de modo que el probador T, respectivamente, el dispositivo FPGA WB selecciona una version predefinida de un codigo de aplicacion almacenado en la memoria del chip (IC).
Segun una forma de realizacion, el codigo de aplicaaon se envfa por medio del dispositivo FPGA WB al chip (IC) de forma segura por encriptadon utilizando un algoritmo que depende de un numero aleatorio real de una manera similar al proceso de activacion de modo de prueba anteriormente descrito.
[0025] Segun otra forma de realizacion, el dispositivo FPGA WB esta mecanicamente y electricamente conectado al probador T, de tal manera que es inaccesible ffsicamente por los usuarios del probador T durante el paso de personalizacion del chip.
Ademas, los modulos electronicos que componen el dispositivo FPGA WB estan hechos a prueba de manipulaciones o resistentes a manipulaciones.
[0026] El dispositivo FPGA WB transmite al probador T informacion que comprende sus datos de estado actuales y datos del chip personalizado IC para fines de trazabilidad.
Claims (13)
- 51015202530354045505560651. Metodo para la personalizacion de al menos un chip (IC), destinado a ser integrado en una tarjeta inteligente, que comprende un probador (T) asociado a un dispositivo FPGA (WB) conectado al chip (IC), el chip (IC) es parte de una oblea (W) que incluye una disposicion de una pluralidad de chips, que comprende los siguientes pasos:envfo por medio del probador (T) de un primer codigo secreto (S1) al dispositivo FPGA (WB), dicho primer codigo secreto (S1) se almacena permanentemente en una memoria del probador (T),envfo por medio del dispositivo FPGA (WB) de un comando (C) al chip (IC) para iniciar una secuencia de una activacion de modo de prueba,envfo por medio del chip (IC) de una senal (s) a un modulo de hardware desechable (HM) dispuesto en la oblea, dicho modulo de hardware (Hm) devuelve una respuesta (r) que indica la presencia del chip (IC) en la oblea (W), generacion y envfo por medio el chip (IC) de un numero aleatorio (R) al dispositivo FPGA (WB), encriptacion por medio del dispositivo FPGA (WB) de un segundo codigo secreto (S2) usando un algoritmo de encriptacion secreto (E) parametrizado con el numero aleatorio (R) y el primer codigo secreto (S1) y obtencion de un primer criptograma M1=Er,s1(S2),envfo por medio del dispositivo FPGa (WB) del primer criptograma M1=Er, s1(S2) al chip (IC), determinacion por medio del chip (IC) de un segundo criptograma M2 = F(E'1r,s1(M1 )) realizando una funcion booleana F mediante un resultado Er,s(M1) obtenido desencriptando el primer criptograma (M1), utilizando el inverso (E-1) del algoritmo de encriptacion secreto (E) parametrizado con el numero aleatorio (R) y el primer codigo secreto (S1),comparacion por medio del chip (IC) del segundo criptograma (M2) con un resultado F(S2) obtenido, transportando la funcion de booleana F al segundo codigo secreto (S2) temporalmente almacenado en el chip (IC),si el segundo criptograma (M2) corresponde con el resultado F(S2) obtenido por el transporte de la funcion booleana F al segundo codigo secreto (S2), liberacion del modo de prueba, envfo por medio del chip (IC) de un mensaje de respuesta (Res) al dispositivo FPGA (WB),realizacion, por medio del dispositivo FPGA (WB), de la personalizacion del chip (IC) si el mensaje (Res) incluye una respuesta positiva (OK).
- 2. Metodo, segun la reivindicacion 1, caracterizado por el hecho de que el primer codigo secreto (S1) y el segundo codigo secreto (S2) constituyen partes de un codigo secreto global (S), el primer codigo secreto (S1) se almacena una memoria permanente del probador (T) y en una memoria permanente del chip (IC) y se almacena en una memoria de acceso aleatorio no permanente del dispositivo FPGA (WB), el segundo codigo secreto (S2) se almacena en una memoria permanente del dispositivo FPGA (WB) y se almacena en una memoria de acceso aleatoro no permanente del chip (IC).
- 3. Metodo, segun la reivindicacion 1 o 2, caracterizado por el hecho de que la funcion booleana (F) es una funcion de control unidireccional criptografica de tipo SHA256.
- 4. Metodo, segun cualquiera de las reivindicaciones 1 a 3, caracterizado por el hecho de que el numero aleatorio (R) es un numero aleatorio real producido con un generador de numero aleatorio real (TRNG) de hardware.
- 5. Metodo, segun cualquiera de las reivindicaciones 1 a 4, caracterizado por el hecho de que un indicador de estado (ST) que indica la presencia del chip en la oblea se proporciona al dispositivo FPGA (WB) por el modulo de hardware (HM) antes de continuar la activacion de secuencia de modo de prueba, dicho indicador de estado (ST) esta incluido en una respuesta al comando de inicializacion (C).
- 6. Metodo, segun cualquiera de las reivindicaciones 1 a 5 caracterizado por el hecho de que el modulo de hardware (HM) se destruye al final del proceso de personalizacion durante el corte de la oblea para separar los chips.
- 7. Metodo, segun cualquiera de las reivindicaciones 1 a 6, caracterizado por el hecho de que la activacion del modo de prueba se realiza en una pluralidad de chips (IC) en la oblea (W) en paralelo.
- 8. Sistema configurado para la personalizacion de al menos un chip (IC), destinado a ser integrado en una tarjeta inteligente, que comprende un probador (T) asociado a un dispositivo FPGA (matriz de puertas programable in situ) (WB) conectado al chip (IC), el chip (IC) es parte de una oblea (W) que incluye una disposicion de una pluralidad de chips y un modulo de hardware desechable (HM), caracterizado por el hecho de que:- el probador (T) se configura para enviar un primer codigo secreto (S1) al dispositivo FPGA (WB), dicho primer codigo secreto (S1) se almacena permanentemente en una memoria del probador (T),- el dispositivo FPGa (WB) se configura para enviar un comando (C) al chip que inicia una secuencia de una activacion de modo de prueba, para encriptar un segundo codigo secreto (S2), usando un algoritmo de encriptacion secreto (E) parametrizado con un numero aleatorio (R) recibido del chip (IC) y el primer codigo secreto (S1), para obtener un primer criptograma (M1) y enviarlo al chip (IC),- el modulo de hardware desechable (HM) se configura para recibir una senal (s) del chip (IC) y para devolver una respuesta (r) que indica la presencia del chip (IC) en la oblea (W),- el chip (IC) se configura para determinar un segundo criptograma (M2) por el transporte de una funcion510152025booleana (F) mediante un resultado obtenido por desencriptacion del primer criptograma (M1) utilizando el inverso del algoritmo de encriptacion secreto (E-1) parametrizado con el numero aleatorio (R) y el primer codigo secreto (S1) y para comparar el segundo criptograma (M2) con un resultado calculado F(S2) obtenido realizando la funcion booleana (F) mediante el segundo codigo secreto (S2) temporalmente almacenado en el chip (IC),- posteriormente, el dispositivo FPGA (WB) esta configurado para ejecutar la personalizacion del chip (IC) solo si el modo de prueba del chip (IC) se libera por una comparacion exitosa entre el segundo criptograma (M2) y el resultado calculado F(S2).
- 9. Sistema, segun la reivindicacion 8, caracterizado por el hecho de que el dispositivo FPGA (WB) se configura posteriormente para acceder a la memoria no volatil encriptada del chip (IC) y para cargar el codigo de aplicacion en el chip IC durante el paso de personalizacion.
- 10. Sistema, segun la reivindicacion 9, caracterizado por el hecho de que el dispositivo FPGA (WB) se configura para seleccionar una version predefinida de un codigo de aplicacion cargado en la memoria no volatil encriptada bajo una pluralidad de versiones del codigo de aplicacion almacenado en dicha memoria del dispositivo FPGA (WB).
- 11. Sistema, segun la reivindicacion 9, caracterizado por el hecho de que el dispositivo FPGA (WB) se configura para enviar el codigo de aplicacion al chip (IC) de modo seguro por encriptacion utilizando un algoritmo que depende de un numero aleatorio real (R) producido previamente por el chip (IC).
- 12. Sistema, segun la reivindicacion 8 a 11, caracterizado por el hecho de que el dispositivo FPGA (WB) dispone de modulos a prueba de manipulaciones o resistentes a manipulaciones y conectados mecanicamente y electricamente al probador (T), de tal manera que sea inaccesible ffsicamente para los usuarios del probador (T) durante el paso de personalizacion del chip (IC).
- 13. Sistema, segun cualquiera de las reivindicaciones 8 a 12, caracterizado por el hecho de que el dispositivo FPGA (WB) se configura para transmitir al probador (T) informacion que comprende los datos de estado actual de dicho dispositivo FPGA (WB) y los datos de historial del chip personalizado (IC) para fines de trazabilidad.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261712274P | 2012-10-11 | 2012-10-11 | |
US201261712274P | 2012-10-11 | ||
EP12188097.5A EP2720167A1 (en) | 2012-10-11 | 2012-10-11 | Method and system for smart card chip personalization |
EP12188097 | 2012-10-11 | ||
PCT/EP2013/070889 WO2014056876A1 (en) | 2012-10-11 | 2013-10-08 | Method and system for smart card chip personalization |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2619635T3 true ES2619635T3 (es) | 2017-06-26 |
Family
ID=47010388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES13773769.8T Active ES2619635T3 (es) | 2012-10-11 | 2013-10-08 | Método y sistema para personalización de chip de tarjeta inteligente |
Country Status (8)
Country | Link |
---|---|
US (2) | US9338004B2 (es) |
EP (2) | EP2720167A1 (es) |
CN (1) | CN104756123B (es) |
DK (1) | DK2907067T3 (es) |
ES (1) | ES2619635T3 (es) |
PT (1) | PT2907067T (es) |
SG (1) | SG11201500972QA (es) |
WO (1) | WO2014056876A1 (es) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9900307B2 (en) * | 2014-02-27 | 2018-02-20 | Pinsheng Sun | Portable electronic card system and verifying method thereof |
US9003109B1 (en) * | 2014-05-29 | 2015-04-07 | SanDisk Technologies, Inc. | System and method for distributed computing in non-volatile memory |
EP3119031A1 (en) * | 2015-07-16 | 2017-01-18 | ABB Schweiz AG | Encryption scheme using multiple parties |
CN105045695B (zh) * | 2015-08-17 | 2018-08-10 | 大唐微电子技术有限公司 | 一种芯片进入测试模式的保护方法和系统 |
CN106203066A (zh) * | 2016-08-03 | 2016-12-07 | 深圳中电长城信息安全系统有限公司 | 开机密码保护方法、终端及服务器 |
EP3407181A1 (de) * | 2017-05-23 | 2018-11-28 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zum rechnergestützten verarbeiten eines zufälligen bitmusters |
US20190197525A1 (en) * | 2017-12-21 | 2019-06-27 | Entrust Datacard Corporation | Secure end-to-end personalization of smart cards |
CN108280372A (zh) * | 2018-02-23 | 2018-07-13 | 深圳国微技术有限公司 | 一种安全芯片 |
CN109714163B (zh) * | 2019-01-30 | 2021-12-14 | 江永林 | 一种芯片序列号编码方法及系统、存储介质及终端 |
JP6921222B2 (ja) | 2019-03-29 | 2021-08-18 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | Id情報に基づく暗号鍵管理 |
WO2019120322A2 (en) | 2019-03-29 | 2019-06-27 | Alibaba Group Holding Limited | Managing cryptographic keys based on identity information |
WO2019120324A2 (en) * | 2019-03-29 | 2019-06-27 | Alibaba Group Holding Limited | Cryptography chip with identity verification |
WO2019120323A2 (en) | 2019-03-29 | 2019-06-27 | Alibaba Group Holding Limited | Securely performing cryptographic operations |
CN110740306B (zh) * | 2019-10-24 | 2021-05-11 | 深圳市视特易智能科技有限公司 | 彩色白平衡统计校正方法 |
CN111262697A (zh) * | 2020-01-16 | 2020-06-09 | 大唐微电子技术有限公司 | 一种芯片晶圆测试控制方法及装置、芯片 |
US11416639B2 (en) * | 2020-06-29 | 2022-08-16 | Nuvoton Technology Corporation | PQA unlock |
CN111669865B (zh) * | 2020-07-03 | 2021-08-13 | 深圳爱克莱特科技股份有限公司 | 一种led智能控制系统硬件加密方法 |
CN117056897B (zh) * | 2023-10-13 | 2023-12-26 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2850479B1 (fr) | 2003-01-24 | 2005-04-29 | France Telecom | Procede cryptographique a cle publique pour la protection d'une puce contre la fraude |
US7613915B2 (en) | 2006-11-09 | 2009-11-03 | BroadOn Communications Corp | Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed |
US9767319B2 (en) | 2007-04-17 | 2017-09-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and apparatus of secure authentication for system on chip (SoC) |
EP2251813A1 (en) | 2009-05-13 | 2010-11-17 | Nagravision S.A. | Method for authenticating access to a secured chip by a test device |
CN101620656B (zh) * | 2009-07-29 | 2012-11-28 | 深圳国微技术有限公司 | 安全jtag电路及保护芯片内部信息安全的方法 |
CN102332066B (zh) * | 2011-05-31 | 2014-09-24 | 贾松仁 | 跳码芯片识别码的认证管理系统及方法 |
-
2012
- 2012-10-11 EP EP12188097.5A patent/EP2720167A1/en not_active Withdrawn
-
2013
- 2013-10-08 US US14/432,426 patent/US9338004B2/en not_active Expired - Fee Related
- 2013-10-08 PT PT137737698T patent/PT2907067T/pt unknown
- 2013-10-08 DK DK13773769.8T patent/DK2907067T3/en active
- 2013-10-08 CN CN201380049538.5A patent/CN104756123B/zh active Active
- 2013-10-08 EP EP13773769.8A patent/EP2907067B1/en active Active
- 2013-10-08 SG SG11201500972QA patent/SG11201500972QA/en unknown
- 2013-10-08 WO PCT/EP2013/070889 patent/WO2014056876A1/en active Application Filing
- 2013-10-08 ES ES13773769.8T patent/ES2619635T3/es active Active
-
2016
- 2016-04-07 US US15/093,044 patent/US9729322B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104756123B (zh) | 2017-05-10 |
US9729322B2 (en) | 2017-08-08 |
US9338004B2 (en) | 2016-05-10 |
EP2720167A1 (en) | 2014-04-16 |
SG11201500972QA (en) | 2015-04-29 |
CN104756123A (zh) | 2015-07-01 |
US20150270962A1 (en) | 2015-09-24 |
EP2907067A1 (en) | 2015-08-19 |
WO2014056876A1 (en) | 2014-04-17 |
EP2907067B1 (en) | 2017-01-11 |
PT2907067T (pt) | 2017-03-31 |
US20160226662A1 (en) | 2016-08-04 |
DK2907067T3 (en) | 2017-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2619635T3 (es) | Método y sistema para personalización de chip de tarjeta inteligente | |
CN107004083B (zh) | 设备密钥保护 | |
JP7232816B2 (ja) | 資産を認証する認証システム及び認証方法 | |
TWI503688B (zh) | 用以藉由測試裝置對安全晶片認證存取之方法 | |
US8700916B2 (en) | Utilizing physically unclonable functions to derive device specific keying material for protection of information | |
CN105144626B (zh) | 提供安全性的方法和设备 | |
EP3457310B1 (en) | Method for protecting the confidentiality and integrity of firmware for an internet of things device | |
US20100250936A1 (en) | Integrated circuit, encryption communication apparatus, encryption communication system, information processing method and encryption communication method | |
CN103562922A (zh) | 在芯片制造期间建立唯一秘钥 | |
CN106778205A (zh) | 运用物理不可克隆函数的无数据库验证 | |
CN104657630A (zh) | 利用物理不可克隆功能的集成电路供应 | |
CN103415855A (zh) | 大容量存储设备存储器加密方法、系统及装置 | |
CN102084313A (zh) | 用于数据安全的系统和方法 | |
JP7087172B2 (ja) | Pqaロック解除 | |
CN110046489B (zh) | 一种基于国产龙芯处理器的可信访问验证系统,计算机及可读存储介质 | |
CN105138870A (zh) | 一种芯片合法性鉴别方法及装置 | |
TWI809900B (zh) | 用於設置電子裝置的方法、系統及積體電路晶片 | |
EP3933648B1 (en) | Flexible cryptographic device | |
CN102236754B (zh) | 数据保密方法以及使用此数据保密方法的电子装置 | |
CN112307438A (zh) | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 | |
CN107667501A (zh) | 一种私钥保护方法和系统 |