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 Directeur/trice
- Luis Hernández Encinas Directeur/trice
Université de défendre: Universidad Politécnica de Madrid
Fecha de defensa: 14 décembre 2010
- Lorenzo Javier Martín García President
- Ángel Luis Sanz Sáez Secrétaire
- Alberto Peinado Domínguez Rapporteur
- José Raúl Durán Díaz Rapporteur
- Gerardo Rodríguez Sánchez Rapporteur
Type: Thèses
Résumé
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.