Implementación en tarjetas inteligentes Java Card de protocolos de cifrado y descifrado basados en curvas elípticas
- Gayoso Martínez, Víctor
- Carmen Sánchez Avila Director
- Luis Hernández Encinas Director
Defence university: Universidad Politécnica de Madrid
Fecha de defensa: 14 December 2010
- Lorenzo Javier Martín García Chair
- Ángel Luis Sanz Sáez Secretary
- Alberto Peinado Domínguez Committee member
- José Raúl Durán Díaz Committee member
- Gerardo Rodríguez Sánchez Committee member
Type: Thesis
Abstract
El objetivo general de la presente Tesis Doctoral consiste en implementar el protocolo de cifrado ECIES (Elliptic Curve Integrated Encryption Scheme), tanto en plataforma PC como en tarjetas inteligentes Java Card, a fin de: Analizar la viabilidad de diferentes implementaciones para determinadas combinaciones de parámetros. Comparar el rendimiento de las implementaciones en PC y Java Card, tanto por separado como de forma conjunta. Recomendar combinaciones específicas para su utilización en distintos tipos de dispositivos, en función de las características de los dispositivos y del nivel de seguridad deseado. Para conseguir este objetivo general, se pretenden alcanzar los siguientes objetivos particulares: 1. Analizar el protocolo de cifrado y descifrado ECIES con el fin de determinar hasta qué punto las diferentes propuestas hechas para el mismo conforman un estándar coherente y homogéneo. 2. Proponer un conjunto (o conjuntos) de parámetros que sean compatibles con todos los estándares analizados. Introducción 11 3. Desarrollar una implementación de ECIES utilizando el lenguaje de programación Java sobre una plataforma PC que permita trabajar con los conjuntos de parámetros propuestos y curvas definidas sobre cuerpos finitos primos y binarios. 4. Estudiar la eficiencia en términos de tiempo de computación y de factor de expansión de la implementación para PC. 5. Implementar el protocolo ECIES en tarjetas inteligentes de tipo Java Card, según la oferta y disponibilidad de tarjetas existentes en el mercado, con curvas definidas tanto sobre cuerpos finitos primos como binarios. 6. Caracterizar en términos de eficiencia la implementación realizada en las tarjetas Java Card utilizando curvas definidas sobre los dos cuerpos finitos anteriormente mencionados. 7. Comparar la implementación de ECIES llevada a cabo sobre la plataforma PC con la desarrollada en Java Card, teniendo presentes las diferencias existentes en sus respectivas arquitecturas, así como las características de programación de cada una de las plataformas. 8. Recomendar una configuración de ECIES que asegure su resistencia a los diferentes tipos de ataques conocidos, comprobando si dicha configuración es aplicable tanto a la plataforma PC como a Java Card. Es importante aclarar que queda fuera del ámbito de la presente Tesis el estudio de la seguridad de las implementaciones ECC en Java Card para evitar ataques de canal lateral. La existencia de este tipo de ataques es bien conocida en la comunidad académica tanto en sus aspectos más generales [103, 145, 150, 151, 152], como de manera específica para implementaciones de curvas elípticas [30, 92, 142, 181]. Sin embargo, puesto que la implementación Java Card desarrollada en esta Tesis utiliza tarjetas inteligentes comerciales de las que no se ha podido obtener información sobre las soluciones implementadas para evitar este tipo de ataques, y dado que el equipamiento necesario (equipos láser y de implantación iónica, laboratorio de tratamientos químicos, etc.) para realizar este tipo de ataques es extremadamente costoso, los análisis de ataques de canal lateral para las tarjetas empleadas quedan reservados para organismos o instituciones dedicadas de forma preeminente a este tipo de actividades.