Diseño e Implementación de una Autoridad Certificadora en Plataformas Móviles"

136 

Loading....

Loading....

Loading....

Loading....

Loading....

Texto completo

(1)

SUPERIORES DE MONTERREY

Escuela de Graduados de Ingenieria y Arquitectura

Maestr´ıa en Ciencias Computacionales

“Dise˜

no e Implementaci´

on de una Autoridad

Certificadora en Plataformas M´

oviles”

Tesis presentada por

Guillermo Mart´ınez Silva

para obtener el grado de Maestro

en Ciencias Computacionales

Director de tesis:

Dr. Francisco Rodr´ıguez Henr´ıquez

(2)

SUPERIORES DE MONTERREY

Escuela de Graduados de Ingenieria y Arquitectura

Maestr´ıa en Ciencias Computacionales

“Dise˜

no e Implementaci´

on de una Autoridad

Certificadora en Plataformas M´

oviles”

Tesis presentada por

Guillermo Mart´ınez Silva para obtener el grado de Maestro

en Ciencias Computacionales

Comisi´on de tesis:

Nombre del Presidente Presidente

Nombre Sinodal I Sinodal

Nombre Sinodal II Sinodal

(3)

Guillermo Mart´ınez Silva

para obtener el grado de

Maestro en Ciencias Computacionales.

Dr. Nombre del Presidente Presidente

Dr. Nombre Sinodal I Sinodal

Dr. Nombre Sinodal II Sinodal

Dr. Francisco Rodr´ıguez Henr´ıquez

Titular de la Materia

Dra. Patricia Ray´on Villela Director del Programa de

Maestr´ıa

3 de junio de 2005

(4)
(5)
(6)

El presente trabajo implementa una Autoridad Certificadora en un dispositivo m´ovil PDA(Asistente Personal Digital)con la particularidad de incluir informaci´on biom´etri-ca de huella digital en los biom´etri-campos de extensi´on de un certifibiom´etri-cado digital basado en el est´andar X.509 V3. Los criptosistemas empleados para la generaci´on de certificados son RSA (1024 bits) y ECC (criptograf´ıa de curva el´ıptica) utilizando las curvas 163k, 192p, 224p, 233k.

(7)

Agradecimientos II

Dedicatoria III

Resumen IV

Introducci´on 1

1. Criptograf´ıa de llave p´ublica y funciones hash 3

1.1. Principios de criptosistemas basados en llave p´ublica . . . 6

1.2. Intercambio de llaves Diffie-Hellman. . . 9

1.3. Criptosistema RSA . . . 10

1.4. Criptograf´ıa de curva el´ıptica ECC . . . 11

1.4.1. Grupos de curva el´ıptica sobreR . . . 12

1.4.2. Grupos de curva el´ıptica sobreFp . . . 15

1.4.3. Grupos de curva el´ıptica sobreF2m . . . 18

1.4.4. Criptosistema basado en ECC . . . 20

1.5. Funciones hash . . . 22

1.6. Aplicaciones de criptosistemas de llave p´ublica . . . 23

1.6.1. Autenticaci´on . . . 24

1.6.2. Intercambio de llaves . . . 24

(8)

1.6.3. Confidencialidad . . . 25

1.6.4. No-repudio y firmas digitales. . . 25

1.6.5. Integridad de datos . . . 27

2. Servicio de autenticaci´on 28 2.1. Servicios de seguridad inform´atica en ambientes inal´ambricos . . . 30

2.2. Ataques a la autenticaci´on de entidades . . . 32

2.2.1. Ataque del intruso de en medio . . . 32

2.2.2. Usurpaci´on de identidad . . . 32

2.3. M´etodos de autenticaci´on . . . 33

2.3.1. Autenticaci´on mediante entidades de confianza . . . 33

2.3.2. Autenticaci´on biom´etrica . . . 36

3. PKI (Infraestructura de llave p´ublica) 39 3.1. Introducci´on a PKI . . . 40

3.2. Componentes PKI . . . 42

3.2.1. Autoridades Certificadoras (ACs) . . . 44

3.2.2. Autoridad de Registro (AR) . . . 46

3.2.3. Repositorio . . . 46

3.2.4. Emisor CRL . . . 47

3.2.5. Entidades Finales . . . 47

3.3. Arquitecturas PKI . . . 48

3.4. Estructuras de datos PKI . . . 50

3.4.1. Certificados X.509 . . . 50

3.4.2. Listas de revocaci´on de certificados . . . 53

(9)

4. Implementaci´on del sistema 58

4.1. Descripci´on del sistema . . . 59

4.2. Arquitectura de la aplicaci´on. . . 60

4.2.1. Dispositivo m´ovil . . . 60

4.2.2. Biblioteca criptograf´ıca RCT. . . 61

4.2.3. Biblioteca biom´etrica BioAPI . . . 63

4.2.4. Biblioteca ASN.1 y est´andar X.509v3 . . . 66

4.3. Proceso de generaci´on de un certificado digital . . . 68

4.4. Proceso de verificaci´on de un certificado digital . . . 69

5. An´alisis de desempe˜no 72 5.1. Resultados obtenidos . . . 73

5.1.1. Generaci´on de llaves . . . 73

5.1.2. Firma digital . . . 73

5.1.3. Verificaci´on de firma digital . . . 74

5.1.4. Tama˜no de certificados digitales . . . 74

5.2. An´alisis de resultados . . . 75

5.2.1. Generaci´on de llaves . . . 76

5.2.2. Firma digital . . . 76

5.2.3. Verificaci´on de firma digital . . . 77

5.2.4. Tama˜no de certificados digitales . . . 77

Conclusiones 80 A. ASN.1 (Abstract Syntax Notation One) 83 A.1. Tipos de datos b´asicos en ASN.1 . . . 85

(10)

A.1.2. Tipo INTEGER. . . 86

A.1.3. Tipo ENUMERATED . . . 86

A.1.4. Tipo OCTET STRING. . . 86

A.1.5. Tipo BIT STRING . . . 87

A.1.6. Tipo IA5String . . . 87

A.1.7. Tipo PrintableString . . . 87

A.1.8. Tipo UTCTime . . . 88

A.1.9. Tipo OID (OBJECT IDENTIFIER) . . . 88

A.2. Estructura de datos construidos . . . 89

A.2.1. Tipo SEQUENCE . . . 89

A.2.2. Tipo SEQUENCE OF . . . 89

A.2.3. Tipo SET . . . 89

A.2.4. Tipo CHOICE . . . 90

A.3. Descripci´on de la sintaxis ASN.1 de un certificado X.509 V3 . . . 90

A.3.1. Tipo tbsCertificate . . . 90

A.3.2. Tipo signatureAlgorithm . . . 92

A.3.3. Tipo signatureValue . . . 92

B. Ejemplos de certificados X.509v3 93 B.1. Certificado RSA sin datos biom´etricos . . . 93

B.2. Certificado ECC con datos biom´etricos . . . 99

C. Funcionamiento del sistema 108 C.1. Descripci´on de la interfaz gr´afica . . . 109

C.1.1. Pantalla de Datos . . . 110

C.1.2. Pantalla de Biometric. . . 110

(11)

C.1.4. Pantalla de ECC . . . 113 C.1.5. Pantalla de Verificaci´on . . . 113 C.2. Generaci´on de certificados X.509 v3 . . . 115

Referencias 116

(12)

2.1. Diferentes tipos de autenticaci´on y sus propiedades . . . 29

4.1. iPAQ Pocket PC - Tasa de Falsos Positivos y Falsos Negativos . . . 66

5.1. Tiempo de generaci´on de llaves. . . 73 5.2. Tiempos requeridos para firma digital de un mensaje aleatorio de 1KB. 74 5.3. Verificaci´on de la fima digital de un mensaje de 1KB. . . 74 5.4. Comparaci´on de tama˜no en bytes de los certificados X.509 v3 . . . 75

B.1. Explicaci´on de la sintaxis ASN.1 de un certificado RSA sin informaci´on biom´etrica . . . 98 B.2. Explicaci´on de la sintaxis ASN.1 de un certificado ECC con informaci´on

biom´etrica . . . 107

C.1. Caracter´ısticas principales del dispositivo m´ovil iPAQ h5550. . . 108

(13)

1.1. Confidencialidad en sistemas de llave secreta . . . 5

1.2. Primitivas de los criptosistemas de llave p´ublica . . . 7

1.3. Confidencialidad en criptosistemas de llave p´ublica . . . 8

1.4. Adici´on de puntos sobre R . . . 14

1.5. Doblado de puntos sobre R. . . 15

1.6. Curva el´ıptica y2 =x3+x sobre F23. . . 16

1.7. Esquema de firma y veriificaci´on digital . . . 26

2.1. Ataque del “intruso de en medio” al protocolo Diffie-Hellman . . . 32

2.2. Autenticaci´on a trav´es de una tercera parte de confianza . . . 34

3.1. Componentes PKI . . . 43

3.2. Arquitecturas PKI . . . 49

3.3. Certificado digital X.509 versi´on 3 . . . 54

3.4. Estructura de una CRL. . . 56

4.1. Diagrama a bloques de la aplicaci´on . . . 60

4.2. M´odulos ECDSA . . . 61

4.3. Obtenci´on de llave privada . . . 62

4.4. Obtenci´on de par´ametros de generaci´on del certificado digital. . . 69

(14)

4.5. Firma digital del certificado . . . 69

4.6. Generaci´on del certificado digital X.509 . . . 70

4.7. Separaci´on de las estructuras b´asicas de un certificado digital . . . 70

4.8. Verificaci´on del certificado digital . . . 71

5.1. Tiempos requeridos para la generaci´on de llaves en Curva El´ıptica. . . . 76

5.2. Generaci´on de firma digital de un mensaje de 1KB. . . 77

5.3. Comparaci´on en verificaci´on de firma digital . . . 78

5.4. Comparaci´on de certificados con y sin informaci´on biom´etrica . . . 79

C.1. Pantalla principal de la aplicaci´on . . . 109

C.2. Llenado de datos de la entidad final . . . 110

C.3. Selecci´on del peri´odo de validez del certificado . . . 111

C.4. Opciones de la pantalla de Datos . . . 111

C.5. Captura de huella digital . . . 112

C.6. Generaci´on del certificados RSA . . . 113

C.7. Generaci´on de certificados ECDSA . . . 114

C.8. Selecci´on de certificados almacenados en la PDA . . . 114

(15)

La utilizaci´on masiva de las computadoras y redes como medios para almacenar, transferir y procesar informaci´on se ha incrementado espectacularmente en los ´ultimos a˜nos, al grado de convertirse en un elemento indispensable para el funcionamiento de la sociedad actual. Como consecuencia, la informaci´on en todas sus formas y estados se ha convertido en un activo de considerable valor, el cual se debe proteger y asegurar para garantizar su integridad, confidencialidad y disponibilidad, entre otros servicios de seguridad.

Actualmente se ha incrementado en nuestro pa´ıs el uso de aplicaciones electr´onicas que abarcan: correo, comercio, transacciones, acceso seguro a bancos de informaci´on, comunicaciones seguras, entre otras. Por tal motivo, los requerimientos de seguridad son cada vez mayores, present´andose as´ı un problema que la Seguridad Inform´atica, haciendo uso fundamentalmente de t´ecnicas criptogr´aficas, trata de resolver implemen-tando diversas servicios de seguridad.

Desgraciadamente los avances tecnol´ogicos tambi´en han propiciado la proliferaci´on de fraudes y robo de informaci´on v´ıa electr´onica. Debido a esto es necesario ofrecer tecno-log´ıas para asegurar la informaci´on que viaja electr´onicamente en Internet. Actualmente los certificados digitales ofrecen autenticaci´on con cierto grado de confiabilidad, ya que se basan en dos caracter´ısticas muy importantes:

(16)

Algo que el usuario sabe (una contrase˜na)

Algo que el usuario tiene (su llave p´ublica)

(17)

Criptograf´ıa de llave p´

ublica y

funciones

hash

El comercio electr´onico es un campo de r´apido crecimiento en la Internet. Existen varias difierencias entre el comercio en el mundo real y el comercio en l´ınea, y quiz´as el aspecto m´as fundamental es la confianza y la seguridad. Un consumidor camina a la tienda y compra bienes, se presenta f´ısicamente, se identifica y elige la forma de pago. Pero en el comercio electr´onico ambas partes, el comprador y el vendedor tienen dificultades para probar la identidad de su contraparte. ¿C´omo puede un comprador estar seguro de transmitir informaci´on de manera confidencial al vendedor? ¿C´omo sabe un vendedor si una orden de compra es leg´ıtima? ¿C´omo pueden saber ambas partes si una tercera entidad copia o modifica la informaci´on de la transacci´on? Estas preguntas y muchas otras describen los aspectos que afectan las transacciones electr´onicas en las redes de datos.

Para construir aplicaciones seguras de comercio electr´onico, es necesario establecer varios requerimientos de seguridad. A continuaci´on se listan los requerimientos funda-mentales para la seguridad de la informaci´on en los sistemas de comercio electr´onico.

1. Confidencialidad. Las entidades no autorizadas no podr´an tener acceso a la informaci´on protegida del sistema.

(18)

2. Integridad de datos. La informaci´on no podr´a ser alterada por entidades o medios desconocidos.

3. Autenticaci´on.Permite la verificaci´on de la identidad de las partes involucradas en la transacci´on.1

4. No-repudio. Este servicio previene el incumplimiento o desmentido de acciones realizadas en la informaci´on por cualquier entidad en sistema.

Un sistema que implementa estos servicios de seguridad es considerado como seguro. La herramienta computacional que estudia la implementaci´on de los requerimientos anteriores es laCriptograf´ıa, la cual puede ser definida como sigue:

Definici´on 1.1. La Criptograf´ıa es el estudio de t´ecnicas matem´aticas relacionadas a los aspectos de seguridad de la informaci´on tales como confidencialidad, integridad de datos, autenticaci´on y no-repudio.

Los criptosistemas convencionales basados en criptograf´ıa sim´etrica o sistemas de llave secreta requieren que el remitente y el destinatario compartan una llave la cual solamente ellos deben de conocer. El conocimiento de esta llave permite el decifrado del texto, de ah´ı la raz´on de que la llave permanezca en secreto. La figura §1.1 muestra el proceso de cifrado y descifrado en un sistema sim´etrico.

El algoritmo m´as comunmente utilizado en sistemas de llave secreta es DEA (Data Encryption Algorithm) definido en el est´andar DES2(Data Encryption Standar). Otros

1Este servicio contempla diferentes variantes (autenticaci´on de entidad, de mensaje, de llave, etc.)

las cuales ser´an explicadas en detalle en el cap´ıtulo§2.

2 El est´andar DES tiene una longitud de llave de 56 bits. A pesar de ser considerado muy seguro en el

tiempo de su creaci´on a mediados de 1970, los avances tecnol´ogicos han asistido al desarrollo de t´ecnicas

para romper las llaves en tiempos relativamente cortos. En 1999 un proyecto de c´omputo distribuido

rompi´o DES en 22 horas y 15 minutos. En la actualidad DES no es considerado suficientemente robusto

para llaves de alta seguridad. Por esta raz´on se ide´o Triple DES el cual ofrece el doble de seguridad

(19)

abcdefghijklmno pqrstuvwxyz012 3456789abcdefg hijklmnopqrstuv wxyz012345678 9abcdefghijklmn opqrstuvwxyz01 Mensaje en claro

Algoritmo de Cifrado (AES, DES, IDEA, etc.)

Algoritmo de Descifrado (AES, DES, IDEA, etc.)

abcdefghijklmno pqrstuvwxyz012 3456789abcdefg hijklmnopqrstuv wxyz012345678 9abcdefghijklmn opqrstuvwxyz01 Mensaje en claro Mensaje cifrado Llave

secreta secretaLlave

!"#$%¨*][Ñ[]_:@! "#$*][Ñ[]_:@!"#$ %&()=¨*][Ñ[]_:@! "#$%&()=¨*][Ñ[]_ :_,;[~!3432:@[Ñ[ ]_:@![Ñ[]_:@![Ñ[ ]_:@![Ñ[]_:@![Ñ[ ]_:@![Ñ[]_:@! x3

Figura 1.1: Confidencialidad en sistemas de llave secreta

esquemas incluyen Triple DES, AES3 , IDEA, RC4, RC5, Blowfish y Twofish. A pesar

que estos sistemas brindan una alta seguridad y eficiencia computacional, sufren de muchas desventajas:

Distribuci´on e intercambio de llaves.La llave debe de permanecer en secreto y debe ser conocida por el remitente y el destinatario. Las dos partes involucradas deben de tener gran cuidado en el intercambio para prevenir que la llave pueda ser interceptada por una entidad no autorizada.4

Manejo de llaves. En el intercambio de informaci´on entre varias entidades, existen muchas llaves a ser administradas. Para garantizar la seguridad, las llaves deben ser cambiadas frecuentemente y preferentemente en cada sesi´on.

Debido a esto, los sistemas cl´asicos de llave secreta tienen grandes debilidades. M´as a´un, los requerimientos de autenticaci´on y no-repudio discutidos anteriormente son

3 Las llaves de AES pueden ser de 128, 192 ´o 256 bits de longitud. A partir del a˜no 2000 AES

ha venido sustituyendo paulatinamente a DES. Si existiera un generador de llaves que fuera capaz

de descubrir 1 llave DES cada segundo, este tardar´ıa aproximadamente 149 mil billones de a˜nos en

encontrar una sola llave AES de 128 bits.

4 En un sistema de llave secreta conn usuarios se necesita un intercambio de n(n−1)

2 llaves para

(20)

imposibles de lograr en estos criptosistemas [Sch96]. Un parteaguas en la Criptograf´ıa ocurri´o en 1976 con la invenci´on de la Criptograf´ıa de llave p´ublica por parte de Diffie y Hellman5 [DH76]. Esta invenci´on resolvi´o no s´olo el problema de la distribuci´on y

manejo de llaves, tambi´en proporcion´o las herramientas necesarias para los servicios de autenticaci´on y no-repudio.

1.1.

Principios de criptosistemas basados en llave

ublica

Los algoritmos de llave p´ublica est´an basados en funciones matem´aticas en lugar de sustituciones o permutaciones. Y lo m´as importante, la Criptograf´ıa de llave p´ublica es asim´etrica lo cual implica que existan dos llaves separadas, a diferencia de los algoritmos de llave secreta en los cuales s´olo existe una llave. El uso de las llaves tiene consecuencias considerables en lo referente a los servicios de confidencialidad, no-repudio y autentica-ci´on.

Los sistemas de llave p´ublica requieren que cada usuario A tenga un par de llaves: una llave p´ublica, Kpub(A) la cual es publicada, y una llave privada Kprv(A) la cual es

mantenida en secreto. Un mensaje cifrado (con el conjunto de reglasE) usando una llave p´ublica, s´olo puede ser descifrado (con el conjunto de reglasD) con su correspondiente llave privada. Esto elimina la necesidad de compartir una llave secreta.

Las primitivas en criptosistemas de llave p´ublica son las siguientes:

1. Generaci´on de llaves. Esta primitiva crea las llaves publicas y privadas de los usuarios.

5 Diffie y Hellman fueron los primeros en publicar los conceptos de criptograf´ıa de llave p´ublica.

Sin embargo, en 1997 una agencia de seguirdad brit´anica (CESG, National Technical Authority for

Information Assurance) di´o a conocer documentos en los cuales se demuestra que en 1970, James Ellis

(21)

Criptografía de llave pública

Generación de llaves

Verificación/Cifrado (operación pública) Firma/Descifrado

(operación privada)

Figura 1.2: Primitivas de los criptosistemas de llave p´ublica

2. Operaci´on p´ublica. Utilizada para cifrar o verificar mensajes. 3. Operaci´on privada. Utilizada para firmar o descifrar mensajes.

La Criptograf´ıa de llave p´ublica permite la implementaci´on de las tres primitivas (figura §1.2); las cuales a su vez, permiten satisfacer los servicios fundamentales de la seguridad inform´atica (confidencialidad, integridad, autenticaci´on, y no-repudio).

Supongamos que Alicia quiere enviar un mensaje m a Benito. Alicia usa la lla-ve p´ublica de Benito para cifrar el mensaje (operaci´on p´ublica, denotada como c =

EKpub(Benito)(m)) obteniendo como resultado c. Benito, una vez recibido el mensaje cifrado c utiliza su llave privada para descifrar (operaci´on privada, denotada como

m=EKprv(Benito)(c)), lo cual le permite recuperar el mensaje en claro m.

Para entender el concepto, se puede usar la analog´ıa del sistema de correo. Nosotros podemos enviar un correo a cualquier persona conociendo ´unicamente su direcci´on. Una vez que el correo est´a en el buz´on s´olo el destinatario puede leerlo (asumiendo que ´

unicamente el destinatario puede abrir el buz´on). La figura§1.3muestra el esquema de confidencialidad en sistemas de llave p´ublica.

(22)

abcdefghijklmno pqrstuvwxyz012 3456789abcdefg hijklmnopqrstuv wxyz012345678 9abcdefghijklmn opqrstuvwxyz01 Mensaje en claro abcdefghijklmno pqrstuvwxyz012 3456789abcdefg hijklmnopqrstuv wxyz012345678 9abcdefghijklmn opqrstuvwxyz01 Mensaje en claro Mensaje cifrado Anillo de llaves publicas

Algoritmo de Cifrado (RSA, ECC) Llave pública de Alicia Benito Carlos Operación Pública

Algoritmo de Descifrado (RSA, ECC) Llave privada de Alicia Operación Privada !"#$%¨*][Ñ[]_:@! "#$*][Ñ[]_:@!"#$ %&()=¨*][Ñ[]_:@! "#$%&()=¨*][Ñ[]_ :_,;[~!3432:@[Ñ[ ]_:@![Ñ[]_:@![Ñ[ ]_:@![Ñ[]_:@![Ñ[ ]_:@![Ñ[]_:@! x3

Figura 1.3: Confidencialidad en criptosistemas de llave p´ublica

Matem´aticamente, una funcion f de s´olo ida o en un sentido es aquella en la cual

f(x) es f´acil de calcular para cualquier entrada x, pero el c´alculo de f−1(x) es

extre-madamente complicado. Una funci´on de s´olo ida con pasadizo secreto es en la cual la funci´on f−1(x) es f´acilmente calculable si se tiene cierta informaci´on adicional (una

puerta oculta“trapdoor”). Los siguientes dos problemas son considerados los candidatos m´as comunes para la creaci´on de funciones trapdoor one-way.

Problema de factorizaci´on de enteros: Dado un n´umero entero n. Encon-trar sus factores primos. Es decir, obtenern =p1e1p

2e2p3e3· · ·pkek, dondepi es un

n´umero primo y ei ≥1.

Encontrar n´umeros primos grandes6 es una tarea relativamente f´acil, pero el

pro-blema de factorizar el producto de esos n´umeros primos es considerado compu-tacionalmente no realizable para el estado del arte actual [RSA05].

Problema del logaritmo discreto: Dado un n´umero primo p, un generador g

deZp∗, y un elementoa ∈Zp∗. Encuentre el n´umero entero ´unicoi, 0≤i < p−1,

(23)

tal que a ≡ gi(mod p). La utilidad del problema del logaritmo discreto en la

Criptograf´ıa es que encontrar logaritmos discretos es dif´ıcil. El m´etodo de fuerza bruta para calculargj(mod p) para 1< j p1 no es computacionalmente viable

para valores grandes de p. Sin embargo, la operaci´on inversa de exponenciaci´on puede ser calculada eficientemente. De tal formagi(mod p) es una funci´onde s´olo

ida con pasadizo secreto para valores convenientemente elegidos de p.

La mayor´ıa de los criptosistemas de llave p´ublica est´an basados en la dificultad de resolver los problemas anteriores. En las siguientes secciones se describen imple-mentaciones de criptosistemas de llave p´ublica que son basados en los problemas de factorizaci´on y logaritmo discreto.

1.2.

Intercambio de llaves Diffie-Hellman

El prop´osito del algoritmo es permitir que dos usuarios intercambien llaves de una manera segura con el objetivo de que la llave sea usada para un subsecuente cifrado de mensajes. El algoritmo fundamenta su efectividad en la dificultad de calcular los logaritmos discretos en el grupoZp∗.

Supongamos que A y B desean establecer una secreto compartido en un canal no seguro. Los pasos necesarios en el protocolo Diffie-Hellman son los siguientes:

1. Los par´ametros py α son seleccionados y publicados . donde p, es n´umero primo y α, es un elemento generador7 de Zp∗ (2≥α ≥p−2).

2. A elige un n´umero aleatorio a, 0≤a < p−1.

7 El orden de un elementogen un grupoGes definido como el entero positivo m´as peque˜nomtal

quegm= 1. Un elementog Gcuyo orden nes igual al n´umero de elementos no cero en Gse dice

(24)

3. B elige un n´umero aleatorio b, 0≤b < p−1.

4. A calculau=gamod p, se env´ıa u a B

5. B calculav =gbmod p, se env´ıa v a A

6. A calculaK = (gb)amod p

7. B calculaK = (ga)bmod p

El resultado de este proceso es queA y B intercambiaron su llave secreta K de una forma segura y manteniendo en secreto a y b.

1.3.

Criptosistema RSA

El esquema RSA inventado por Ron Rivest, Adi Shamir, y Len Adleman fue de-sarrollado en 1977 y publicado en 1978. RSA est´a basado en la idea de que factorizar enteros en sus factores primos es un problema de alta complejidad. A continuaci´on se resume el algoritmo RSA.

La generaci´on de llaves en RSA8 :

1. Se seleccionan dos n´umeros primos p, q

2. Se calcula el producto n= (p)(q) ,n es llamado m´odulo

3. Se calcula φ(n) = (p−1)(q−1)

4. Se selecciona un entero e(1< e < φ(n)), tal quee sea primo relativo9 de φ.

5. Se calcula d ,d=e−1mod φ(n)

8 La implementaci´on del criptosistema RSA en el presente trabajo de tesis utiliza llaves de 1024

bits. Lo cual garantiza hoy d´ıa un margen de seguridad aceptable.

(25)

6. La llave p´ublica es Kpub = (e, n)

7. La llave privada es Kprv = (d, e)

Cifrado en RSA

El texto en claro es cifrado en bloques, cada bloque debe detener un valor binario menor que n.

1. Texto claro: M < n

2. Texto cifrado: C =Me(mod n)

Descifrado en RSA

1. Texto cifrado: C

2. Texto claro: M =Cd(mod n)

1.4.

Criptograf´ıa de curva el´ıptica ECC

El fundamento b´asico de los sistemas de llave p´ublica es la gran dificultad de resol-ver computacionalmente problemas como el del logaritmo discreto y la factorizaci´on. Estos problemas est´an definidos sobre un grupo finito, principalmente en Zn y Zp∗.

(26)

Como resultado se obtienen tama˜nos de llave m´as peque˜nos y/o implementaciones m´as eficientes.

Las curvas el´ıpticas [KC98, V.86, Sti95] definidas sobre campos finitos producen un grupo tal que el problema del logaritmo discreto es intratable. Estas curvas fueron propuestas por primera vez en aplicaciones criptogr´aficas por Neal Koblitz y Victor Miller [V.86] en 1985.

En las siguientes secciones se explica la aritm´etica b´asica necesaria para la utiliza-ci´on de las curvas el´ıpticas en aplicaciones criptogr´aficas. La primera secutiliza-ci´on aborda la aritm´etica de curvas el´ıpticas definidas sobre los n´umeros reales de forma geom´etri-ca para as´ı poder expligeom´etri-car de una manera mucho m´as intuitiva la adici´on y doblado de puntos. Las secciones posteriores explican la definici´on de curvas sobre los campos finitos Fp y F2m.

1.4.1.

Grupos de curva el´ıptica sobre

R

Una curva el´ıptica sobre R es definida como el conjunto de puntos (x, y) que satis-facen la ecuaci´on §(1.1)

y2 =x3+ax+b (1.1)

Las variables a, bpertenecen a Ry la modificaci´on de los valores de a y b producen diferentes curvas el´ıpticas.

Six3+ax+bno tiene factores repetidos; es decir, si el determinante ∆ = 4a3+27b2 6= 010, entonces la curva el´ıptica definida en§(1.1) puede ser usada para formar un grupo.

Un grupo de curva el´ıptica sobre los n´umeros reales esta conformado por los puntos que

10La condicion de que ∆6= 0 asegura que la curva el´ıptica seasuave; es decir, que no existan puntos

en los cuales la curva tenga dos o m´as l´ıneas tangentes. Esta propiedad es muy importante, ya que la

(27)

satisfacen la curva, junto con un punto especial O denomidado punto al infinito. Los grupos formados por curvas el´ıpticas son grupos aditivos; es decir, su funci´on b´asica es la adici´on. La adici´on de dos puntos en una curva el´ıptica puede ser definida geom´etricamente.

El negativo de un punto P = (xp, yp) es su reflexi´on sobre el eje x, de tal forma −P = (xp,−yp). Debido a la simetr´ıa de la curva respecto al eje x, el punto −P

tambi´en forma parte de la curva.

Adici´on de puntos en curva el´ıptica sobre R

Suponga queP yQson puntos distintos de la curva el´ıptica, y que el puntoP 6=−Q. Para sumar los puntosP y Q, se traza una l´ınea a trav´es de los dos puntos. Esta l´ınea intersecta la curva el´ıptica en exactamente otro punto, denotado −R. El punto −R es reflejado con respecto al ejex para obtenerR. Un ejemplo de adici´on de puntos en una curva el´ıptica definida sobre R se muestra en la figura §1.4 [HMV03].

En el caso particular P = −Q la l´ınea a trav´es de P y −P es vertical, la cual no produce intersecci´on con otro punto de la curva el´ıptica; consecuentemente los puntos

P y−P no pueden ser sumados de la forma anteriormente definida. Debido a esta raz´on la curva el´ıptica incluye un punto al infinito O. Por definici´on, P + (−P) = O. Como resultado de esta ecuaci´on se obtiene P +O = P. O es llamado elemento neutro del grupo.

Doblado de puntos en curva el´ıptica sobre R

Para sumar un puntoP a s´ı mismo, se traza una l´ınea tangente a la curva en el punto

P. SiPy 6= 0 , entonces la l´ınea tangente intersecta a la curva el´ıptica en exactamente

(28)

Suma: P + Q = R

R (x3, y3) -R (x3 , -y3)

y^2 = x^3 - 7x

Q (x2 , y2)

P (x1 , y1)

–8 –6 –4 –2 2 4 6 8

y

–4 –2 2 4 6

x

Figura 1.4: Adici´on de puntos sobre R

operaci´on de doblado de punto en una curva el´ıptica definida sobre los n´umeros reales

R se muestra en la figura §1.5 [HMV03].

Si el puntoP es tal quePy = 0, la l´ınea tangente a la curva el´ıptica en el puntoP es

vertical por lo cual no intersecta la curva el´ıtpica en ning´un otro punto. Por definici´on, 2P = O para un punto P con Py = 0. Si se requiere calcular 3P, se puede sumar

(29)

Doblado: P + P = R

y^2 = x^3 - 7x

R(x3,y3) -R

P(x1,y1)

–8 –6 –4 –2 2 4 6 8

y

–4 –2 2 4 6

x

Figura 1.5: Doblado de puntos sobre R

Multiplicaci´on escalar de puntos

La operaci´on de exponenciaci´on de un punto P, es denotada por la multipicaci´on escalar del punto definida comokP =P +P +P +· · ·+P (k veces), esto es debido a que la operaci´on b´asica del grupo es la adici´on.

1.4.2.

Grupos de curva el´ıptica sobre

F

p

(30)

r´apida y precisa; debido a esto los grupos usados en la pr´actica sonFp 11 y F2m. Una curva el´ıptica definida sobre Fp puede ser obtenida mediante la asignaci´on de

valores de las variablesa yb que est´en dentro del campo Fp. El grupo de curva el´ıptica

incluye todos los puntos (x, y) que satisfacen la ecuaci´on §(1.2) sobre Fp junto con el

punto al infinito O.

y2(mod p)≡x3+ax+b(mod p) (1.2)

Un ejemplo de una curva el´ıptica sobre Fp se muestra en la figura §1.6.

y^2 (mod 23) = x^3 + x (mod 23)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

x

Figura 1.6: Curva el´ıptica y2 =x3+x sobre F23

11El campoF

pusa n´umeros de 0 ap−1, y los c´alculos de sus operaciones son realizadas enm´odulo

(31)

Aritm´etica en grupos de curva el´ıptica sobre Fp

Existen grandes diferencias entre los grupos Fp y los reales R. Los grupos sobre

Fp son finitos debido a que las curvas consisten de una serie de puntos discretos de

la curva. Geom´etricamente las operaciones no son claras como en R. Sin embargo, las reglas algebraicas para la aritm´etica pueden ser adaptadas para curvas el´ıpticas sobre

Fp.

Adici´on de puntos

Si P(xP, yP) yQ(xQ, yQ) son puntos diferentes tal que,P 6=−Q, la suma P +Q=

R(xR, yR) est´a definida de la siguiente forma:

s= (yP−yQ)

(xP−xQ)mod p

xR =s2−xP −xQmod p

yR=−yP +s(xP −xR)mod p

N´otese que s es la pendiente de los puntos P y Q.

Doblado de puntos

Si yP 6= 0, el doblado deP es 2P =R donde

s= (3xP2+a)

(2yP) mod p

xR =s2−2xP mod p

yR=−yP +s(xP −xR)mod p

Multiplicaci´on escalar de puntos

(32)

Multiplicaci´on de puntos para curvas sobreFp

Entrada: k = (kt−1, . . . , k1, k0)2, P ∈E(Fq)

Salida: kP

1.Q← O

2. De i= 0 hasta t−1 haz

2.1 Si ki = 1 entonces Q←Q+P

2.2 P ←2P

3. Regresa (Q)

1.4.3.

Grupos de curva el´ıptica sobre

F

2m

Los elementos del campo F2m son cadenas de m-bits. Las reglas para la aritm´etica sobre F2m pueden ser definidas ya sea por representaci´on polinomial12 o por represen-taci´on de base normal ´optima (ONB)13. Debido a queF

2m opera sobre cadenas de bits, los c´alculos aritm´eticos pueden realizarse muy eficientemente [ECC04].

Una curva el´ıptica sobreF2mesta definida por la ecuaci´on§(1.3), donde los elementos

a y b pertenecen a F2m y b6= 0.

y2+xy=x3+ax2 +b (1.3)

El grupo de curva el´ıptica incluye todos los puntos (x, y) los cuales satisfacen la ecuaci´on §(1.3) sobre F2m junto con el punto al infinito O.

Aritm´etica en grupos de curva el´ıptica sobre F2m

Los grupos de curva el´ıptica sobreF2mson grupos finitos y su aritm´etica no involucra errores por redondeo al igual queFp. Esto en combinaci´on con la naturaleza binaria del

12 Los elementos deF2m son polinomios de grados menores que m, con coeficientes enF2; es decir,

am−1x

m−1+a

m−2x

m−2+· · ·+a

2x2+a1x+a0. Estos elementos pueden ser escritos en forma de

vectores de la forma (am−1· · ·a1a0). El n´umero de elementos deF2

m es 2m.

13 Una base ´optima proporciona una alternativa para la definici´on de la multiplicaci´on de los

(33)

campo, permite que la aritm´etica pueda ser implementada muy eficientemente por una computadora [ECC04].

Adici´on de puntos

El negativo del puntoP = (xP, yP) es el punto −P = (xP, xP +yP). SiP(xP, yP) y

Q(xQ, yQ) son puntos diferentes tal que, P =6 −Q, entoncesP +Q=R donde

s= (yP−yQ)

(xP+xQ)

xR =s2+s+xP +xQ+a

yR=s(xP +xR) +xR+yP

Al igual que las curvas el´ıpticas sobreR,P+(−P) = O, el punto al infinito. Adem´as,

P +O =P para todos los puntos P.

Doblado de puntos

Si xP = 0, entonces 2P =O. Si xP 6= 0 el doblado deP es 2P =R donde

s=xP +yxP

P

xR =s2+s+a

yR=xP2+ (s+ 1)xR

Multiplicaci´on escalar de puntos

(34)

Multiplicaci´on de puntos para curvas sobreF2m

Entrada: k = (kt−1, . . . , k1, k0)2, P ∈E(F2m)

Salida: kP

1.Q← O

2. De i= 0 hasta t−1 haz

2.1 Si ki = 1 entonces Q←Q+P

2.2 P ←2P

3. Regresa (Q)

1.4.4.

Criptosistema basado en ECC

El siguiente es un ejemplo de un criptosistema basado en curva el´ıptica sobre el campo finito Fp.

Definici´on 1.2. Sea un n´umerop > 3. La curva el´ıptica enFp (denotada como E(Fp))

es el conjunto de soluciones (x, y) en Fp × Fp que satisfacen:

y2(mod p)≡x3+ax+b(mod p) (1.4)

donde a, b estan en Fp y el discriminante ∆ = 4a3+ 27b2 6= 0 mod(p). Entonces,

el grupo de cuva el´ıptica esta definido por los puntos (Px, Py) ∈ Fp que satisfacen la

ecuaci´on §(1.4) junto el punto especial O denominado punto al infinito.

De tal forma, el problema del logaritmo discreto en curvas el´ıpticas se reduce a lo siguiente:

Dada una curva el´ıptica E definida enFp, un punto P ∈E(Fp) de ordenn 14 y un

punto Q∈E(Fp), determine el entero k,0< k < n−1, tal que Q=kP, sabiendo que

tal entero existe.

14 El orden de una curva el´ıpticaE sobre F

p es definido como el n´umero de puntos (x, y)∈E(Fp),

(35)

De tal forma, las primitivas de un criptosistema basado en curva el´ıptica son defi-nidas de la siguiente forma:

Generaci´

on de llaves

Una vez seleccionada la curva el´ıptica sobre un campo finito Fp, la generaci´on de

llaves en curva el´ıptica consta de los siguientes pasos:

1. Selecci´on de un punto conveniente P ∈E(Fp) de orden n.

2. Selecci´on de un entero ´unico e impredecible k,0< k≤n−1.

3. Se calcula Q=kP

4. La llave p´ublica es conformada por (E, P, n, Q)

5. Se mantiene en secreto la llave privada k 15

Operaci´

on privada

Dado un mensaje m, los par´ametros de la curva (E, P, n), y la llave privada k, el procedimiento de firma digital es el siguiente:

1. Selecci´on de un entero ´unico e impredecible i, 0< i≤n−1.

2. Calcular iP = (x1, y1)

3. Calcular r=x1mod n

4. Calcular s=i−1(m+kr)mod n

5. La firma de m esta formada por la pareja (r, s)

15Como comparaci´on, un sistema basado en curva el´ıptica con un punto P cuyo orden es un n´umero

primo de 160 bits ofrece aproximadamente el mismo nivel de seguiridad que el sistema RSA con un

(36)

Operaci´

on p´

ublica

Dado un mensaje m, los par´ametros de la curva (E, P, n, Q), el procedimiento de verificaci´on de firma digital es el siguiente:

1. Calcular s−1mod n

2. Calcular u1 =ms−1mod n

3. Calcular u2 =rs−1mod n

4. Calcular u1P +u2Q= (x1, y1)

5. Calcular v =x1mod n

6. La firma es aceptada si v =r

En el cap´ıtulo §4 se abordar´a otros aspectos de la Criptograf´ıa de Curva El´ıptica como por ejemplo: los tipos de curva utilizadas en la implementaci´on de la Autori-dad Certificadora, el esquema de firma y la verificaci´on digital de acuerdo al estandar ECDSA.

1.5.

Funciones

hash

Una funcionhash en Criptograf´ıa, toma como entrada un mensaje de longitud arbi-traria y produce como salida unadigesti´on del mensaje de longitud fija. Las propiedades que debe cumplir este tipo de funciones son:

(37)

Dado una digestion del mensaje y, computacionalmente no es posible encontrar un mensaje m tal que h(m) = y.

Es computacionalmente imposible encontrarcolisiones entre mensajes (m1 6=m2, tal que h(m1) = h(m2)).

La implementaci´on de la Autoridad Certificadora en esta tesis utiliza los algoritmos hash MD5 (Message Digest Algorithm) y SHA-1(Secure Hash Algorithm).

El algoritmo hash MD516 fue desarrollado por Ron Rivest. Recibe de entrada un mensaje de tama˜no arbitrario y produce una salida de 128 bits. La entrada es procesada en bloques de 512 bits.

El algormitmohash SHA fue desarrollado por NIST17 y publicado como FIPS PUB

18018 en 1993. Posteriormente se revis´o en 1995 generando la especificaci´on FIPS PUB

180-2 conocida como SHA-1. El algoritmo es alimentado con un mensaje de longitud m´axima de 264 bits y produce una salida de 160 bits 19 . La entrada al igual que MD5

es procesada en bloques de 512 bits.

1.6.

Aplicaciones de criptosistemas de llave p´

ublica

Actualmente la seguridad de navegaci´on y compra de bienes y servicios en Internet es soportada por protocolos como SSL (Secure Sockets Layer) desarrollado por Netscape, y TLS(Transport Layer Security)propuesto por IETF20, en lo referente a transacciones

seguras con tarjetas de cr´edito el protocolo SET (Secure Electronic Protocol) dise˜nado

16El algoritmo MD5 es descrito a detalle en el RFC 1321,http://www.ietf.org/rfc/rfc1321.txt

17 National Institute of Standards and Technology,http://www.nist.org

18 Federal Information Processing Standards Publications,http://www.itl.nist.gov/fipspubs/

19En febrero de 2005 se dio a conocer un nuevo ataque sobre el algoritmo SHA-1. Los autores afirman

que su an´alisis muestra que las coalisiones de SHA-1 pueden ser encontradas con una complejidad

menor a 269operacioneshash. Este es el primer ataque al algoritmo completo de SHA-1 con complejidad

menor a 280 [WYY05].

(38)

por VISA y MasterCard, sustenta este tipo de transferencias bancarias. Por supuesto, estos protocolos est´an fundamentados en criptosistemas de llave p´ublica.

A continuaci´on se mencionan los servicios fundamentales de la seguridad inform´atica y las ideas b´asicas de la Criptograf´ıa de llave p´ublica y las funcioneshash que permiten su implementaci´on en aplicaciones reales.

1.6.1.

Autenticaci´

on

La autenticaci´on es el proceso de verificar la identidad de alguien o algo (usuario, servidor, comporaci´on, etc.). La autenticaci´on es muy importante en transacciones de comercio electr´onico que involucren a un cliente y a un servidor, ya que los clientes desean confirmar la identidad del servidor antes de enviar informaci´on confidencial como su n´umero de tarjeta de cr´edito. El siguiente ejemplo es la forma en la cual el protocolo SSL utiliza t´ecnicas de criptograf´ıa de llave p´ublica para la autenticaci´on.

Supongamos que A quiere autenticar a B:

A env´ıa un mensaje aleatorio r a B

B cifrar usando su llave privada y env´ıa el resultado aA

A descifra el dato enviado por B usando la llave p´ublica deB y lo compara con el original

Debido a que la llave privada de B solo es conocida por ´el mismo, B es la ´unica entidad que pudo haber cifirado el mensajer si es que la comparaci´on fue exitosa.

1.6.2.

Intercambio de llaves

(39)

la pr´actica como llave de sesi´on), la cual pueda ser usada posteriormente para cifrar y descifrar mensajes mediante un sistema de llave secreta como DES. Los siguientes son los pasos a realizar:

A genera un n´umero alearoriok para ser usado como llave secreta (llave de sesi´on)

A cifrak usando la llave p´ublica de B y env´ıa el resultado a B

Despu´es de recibir, B descifra el mensaje usando su llave privada

Debido a que la llave privada deBunicamente es conocida por´ B, cualquier atacante que obtenga de alguna forma los mensajes no podr´a conocer el secreto compartido21 .

1.6.3.

Confidencialidad

Un criptosistema de llave p´ublica puede ser utilizado para mantener y asegurar la confidencialidad de los datos, pero en la pr´actica, este tipo de esquema no es utilizado debido a que los sistemas de llave secreta son aproximadamente 100 a 200 veces m´as r´apidos [Moh04]. De tal forma, los criptosistemas de llave p´ublica son usados como una herramienta para que los sistemas de cifrado sim´etrico puedan establecer su llave secreta.

1.6.4.

No-repudio y firmas digitales

Los sistemas de llave p´ublica proporcionan firmas digitales las cuales no pueden ser repudiadas. El concepto es muy similar al proceso del mundo real donde se firma un documento para legalizarlo y para especificar a la persona o entidad responsable

21Para que este esquema de intercambio de llaves tenga ´exito es necesario asegurar la autenticaci´on

de las entidades, ya que de otra forma el esquema puede ser v´ıctima de alguna entidad maliciosa

mediante ataques como“el intruso de en medio ”, “usurpaci´on de identidad ” entre otros. Este tipo

(40)

Llave privada de Alicia Hash h(m) M E N S A J E M E N S A J E M E N S A J E Hash h(m) h´(m) ¿iguales? Firma Verificada si Anillo de llaves publicas Llave pública de Alicia

Operación Privada Operación Pública

Firma Digital

Firma NO Válida

no

Alicia Benito

Figura 1.7: Esquema de firma y veriificaci´on digital

por el documento; pero es m´as poderoso pues tambi´en protege contra alteraciones del documento original. El esquema de firma digital se basa en dos algoritmos, uno de firma y otro de verificaci´on. Este proceso es muy similar al de autenticaci´on.

A cifra el mensaje m con su llave privada (EKprv(A)(m))

A cifra el resultado utilizando la llave p´ublica de B y env´ıa el resultado a B

(c=EKpub(B)(EKprv(A)(m)))

B recupera m mediantem =DKpub(A)(DKprv(B)(c))

Debido a que B es capaz de recuperar m usando la llave p´ublica de A, B puede verificar queA firm´o el mensaje con su llave privada. Y debido a que la firma depende del contenido del mensaje, nadie m´as puede usar la fima con otro mensaje.

(41)

1.6.5.

Integridad de datos

Las firmas digitales tambi´en pueden ser usadas para validar la integridad de datos firmados. Por ejemplo, el protocolo SSL utiliza funcioneshash para procesar el mensaje de tal forma que el algorimo firma ´unicamente el valor hash del mensaje, en lugar de firmar el mensaje completo.

A calcula el hash del mensaje y lo cifra con su llave privada

A env´ıa el mensaje m y el hash cifrado a B

Despu´es de recibir, B extrae el mensaje m y calcula el valor hash del mensaje. Tambi´en extrae el valorhash cifrado y lo descifra utilizando la llave p´ublica de A

B compara el valor hash calculado con el valor que recibi´o. Si son id´enticos, entonces se ha validado la integridad de los datos.

(42)

Servicio de autenticaci´

on

La Autenticaci´on es un proceso que tiene como finalidad verificar la informaci´on referente a un determinado objeto, como la identidad del remitente (ya sea un disposi-tivo electr´onico y/o un usuario), la integridad de la informaci´on enviada, el momento de env´ıo de la informaci´on, la validez de la firma, etc.

La Autenticaci´on es uno de los objetivos m´as importantes en la seguridad de la informaci´on. A mediados de 1970 se cre´ıa que la autenticaci´on y la confidencialidad estaban ligadas intr´ınsecamente, pero con el descubrimiento de las funciones hash, las firmas digitales y los adelantos en reconocimiento de patrones biom´etricos se ha logrado una separaci´on de estos servicios de seguridad.

En la Seguridad Inform´atica existen diversos tipos de autenticaci´on [MOV01]:

Autenticaci´on del mensaje. Este t´ermino es usado an´alogamente con autenti-caci´on del origen de datos y consiste en la verificaci´on de que una de las partes es la fuente original del mensaje, es decir, autentica la procedencia de un men-saje creado en un determinado momento. Este tipo de autenticaci´on asegura la integridad del mensaje.

Autenticaci´on de entidad. Consiste en el proceso donde una parte se asegura de la identidad de la segunda parte involucrada en el protocolo de comunicaci´on.

(43)

La identidad es asegurada en base a la corroboraci´on de informaci´on especifica obtenida en el protocolo.

Autenticaci´on de llave. Este tipo de autenticaci´on permite que una parte se asegure que ninguna otraentidad no confiablepueda tener acceso a la llave privada correspondiente.

Autenticaci´on de transacci´on. Este tipo de autenticaci´on proveeautenticaci´on de mensajey adicionalmente garantiza la existencia ´unica y temporal de los datos. La existencia ´unica y temporal se logra a trav´es del uso de par´ametros variantes en el tiempo TVPs1

La tabla §2.1 resume las propiedades de los diferentes tipos de autenticaci´on

[MOV01].

⇒ Propiedad

⇓ Tipo de autenticaci´on Identificaci´del origen on Integridadde datos Tiempoo unicidad

autenticaci´on de mensaje si si

-autenticaci´on de transacci´on si si si

autenticaci´on de entidad si - si

autenticaci´on de llave si si deseable

Tabla 2.1: Diferentes tipos de autenticaci´on y sus propiedades

La autenticaci´on es un proceso activo el cual utiliza herramientas criptogr´aficas y protocolos de comunicaci´on para llevar a cabo su objetivo. La autenticaci´on proporciona un servicio de protecci´on de sistemas de informaci´on contra ataques tanto pasivos como activos.

Las primitivas criptogr´aficas necesarias para poder ofrecer el servicio de autenticaci´on son las siguientes:

1 TVPs (Time-Variant Parameters), estos par´ametros incluyen n´umeros aleatorios, estampas de

(44)

1. Funciones hash (SHA1, MD5)

2. Cifradores sim´etricos (AES, DES, TDES)

3. Firma digital (RSA, ECDSA)

Una de las aplicaciones m´as comunes e importantes en la Seguridad Inform´atica es el Control de Acceso, el cual se otorga en base a la autenticaci´on de de la entidad que quiere acceder a la informaci´on.

La autenticaci´on de un usuario puede ser lograda en base a uno o varios de los siguientes aspectos:

Algo que el usuarioconozca(una palabra clave, un NIP, nombre de usuario, etc.) Algo que el usuario posea (una tarjeta inteligente, un certificado digital)

Algo que el usuario sea (huella digital, reconocimiento de voz, la anatom´ıa del rostro, an´alisis de DNA, etc.)

El trabajo de ´esta tesis se enfoca principalmente a la creaci´on de una infraestructu-ra la cual permita realizarautenticaci´on de entidad; es decir, identificaci´on de usuarios involucrados en una transferencia de informaci´on electr´onica a trav´es de algo que el usuarioconozca, algo que posea y algo quesea.

2.1.

Servicios de seguridad inform´

atica en ambientes

inal´

ambricos

(45)

viajan por el medio ambiente utilizando un determinado espectro electromagn´etico el cual est´a regulado por las autoridades correspondientes.

Dispositivos inal´ambricos como asistentes digitales personales (PDAs), tel´efonos ce-lulares, pagers son l´ogicamente menos seguros que sus contrapartes al´ambricos. Esto es debido en parte a las limitaciones tanto en capacidad de procesamiento, memoria y el ancho de banda restringido para transmisi´on. Otra raz´on de gran importancia es que estos dispositivos env´ıan informaci´on a trav´es del medio ambiente donde cualquier entidad con la tecnolog´ıa apropiada puede interceptarla.

La tecnolog´ıa inal´ambrica, por su misma naturaleza, viola los principios fundamenta-les de la seguridad informatica. Esta no asegura la identidad del usuario (autenticaci´on), tampoco previene que el remitente del mensaje refute que ha enviado el mensaje (no-repudio). La tecnolog´ıa inal´ambrica no es nueva, pero sus aplicaciones contemporaneas son a´un inmaduras.

(46)

2.2.

Ataques a la autenticaci´

on de entidades

La presente secci´on brinda un panorama de los principales ataques que comprometen el servicos de autenticaci´on de entidades.

2.2.1.

Ataque del intruso de en medio

Supongamos que Ana quiere establecer una sesi´on segura con Beto para el env´ıo de informaci´on confidencial. Para esto, utiliza un protocolo de llave p´ublica para el intercambio de llaves. Si un atacante, Carlos, se hace pasar por Beto sin que Ana

lo advierta, entonces podr´a descifrar la informaci´on confidencial sin problema alguno. Existen varias formas en las cualesCarlospuede llevar a cabo el ataque. La figura§2.1 ilustra este tipo de ataque al protocolo Diffie-Hellman.

Ana Carlos Beto

ga (mod p) gx (mod p)

gb (mod p)

gx (mod p)

KAC = (ga)x (mod p) K

CB = (g

b)x (mod p)

Figura 2.1: Ataque del “intruso de en medio” al protocolo Diffie-Hellman

N´otese que en ning´un momento se rompi´o el criptosistema de llave p´ublica,Carlos

´

unicamente hiz´o creer a Anaque realmente es Beto y viceversa.

2.2.2.

Usurpaci´

on de identidad

(47)

mediante una red de datos. El atacante Carlos puede interceptarla y reemplazarla con su propia llave p´ublica. De igual forma Carlos puede tambi´en lograr la misma meta si Ana descarga la llave p´ublica de Beto de alg´un servidor en la red mediante la sustituci´on previa de las llaves. En resumen,Carlospuede intentar distribuir su propia llave p´ublica como si perteneciera realmente aBeto.

2.3.

etodos de autenticaci´

on

Debido al tipo de ataques presentados en la secci´on anterior, es nesesario contar con una infraestructura adicional a la criptograf´ıa de llave p´ublica, la cual permita resolver estos problemas. Esta secci´on explica diferentes m´etodos para lograr brindar eficientemente el servicio de autenticaci´on.

2.3.1.

Autenticaci´

on mediante

entidades de confianza

AnayBetonecesitan intercambiar informaci´on de una manera segura y confidencial. Con el objetivo de no ser propensos a ataques como el intruso de en medio y usurpaci´on de entidad, deciden que una tercera parte en la cual ambos confian,“certifique” que las llaves p´ublicas usadas para el cifrado y firma digital de la informaci´on correspondan a los usuarios que afirman ser los legitimos due˜nos. De esta forma una nueva entidad aparece en el esquema de autenticaci´on, la cual tiene la tarea de verificar que que el v´ınculo entre la persona posedora de la llave p´ublica y su identidad sean correctos. A trav´es de esta nueva entidad tanto Ana como Beto est´an seguros que estan intercambiando informaci´on con la persona adecuada. La figura §2.2 muestra la relaci´on de confianza entreAna, Beto y latercera entidad de confianza.

(48)

Ana Beto Entidad

de Confianza

Figura 2.2: Autenticaci´on a trav´es de una tercera parte de confianza

elctr´onico denominado“certificado digital ” el cual contiene informaci´on de la identidad del usuario y su llave p´ublica respectiva. De esta forma, si tantoAnacomoBetoconfian en laentidad de confianza, no existe duda de la autenticidad de las partes en el proceso de comunicaci´on.

La Criptograf´ıa de Llave P´ublica es una herramienta que permite la implementa-ci´on de servicios de seguridad como autenticaimplementa-ci´on, confidencialidad, integridad de datos y no-repudio. En estas aplicaciones, la llave p´ublica se hace de conocimiento general, pero cuando una parte utiliza la llave p´ublica de la contraparte, no se tiene certeza real de que la llave pertenezca a quien dice ser. Debido a esto, se requiere una sistema el cual contenga el registro de las llaves p´ublicas y sus respectivos propietarios entre otros servicios. Este sistema es conocido en la Internet c´omo Infraestructura de Llave P´ublica (PKI, Public Key Infraestructure) y su principal tarea es permitir la autenti-caci´on confiable de entidades mediante el uso de Certificados Digitales basados en el est´andar X.509. En este contexto, laentidad de confianza es denominada“Autoridad Certificadora” y es el m´odulo principal de la infraestructura PKI.

(49)

Nombre de la entidad certificada

Nombre de la autoridad certificadora

Periodos de validez y expiraci´on

Informaci´on de los algoritmos criptogr´aficos utilizados

Llave p´ublica de la entidad certificada

Firma digital de la autoridad certificadora

Si un usuario verifica la v´alidez del certificado mediante la verificaci´on de la firma digital de la autoridad certificadora, entonces tendr´a certeza de la identidad de su contraparte.

Los certificados digitales ofrecen autenticaci´on con cierto grado de confiabilidad, ya que se basan en dos caracter´ısticas muy importantes:

Algo que la entidad conoce (la palabra clave que le permite recuperar su llave privada)

Algo que la entidad tiene (la contraparte de la llave p´ublica certificada, es decir, su llave privada)

El presente trabajo de tesis trata de extender la seguridad de la autenticaci´on de los certificados digitales mediante la adici´on de la propidedad algo que la entidad

sea. Para lograr esta meta se require m´etodos de autenticaci´on biom´etrica, los cuales son tratados en la siguiente secci´on.

(50)

2.3.2.

Autenticaci´

on biom´

etrica

Los sistemas de autenticaci´on biom´etrica identifican usuarios mediante las medicio-nes de sus caracter´ısticas humanas [JBP99] ya sea fisiol´ogicas como por ejemplo: huella digital, iris, retina, rostro, etc., o de conducta como la forma en la que escribe, su firma manuscrita, como teclea en su computadora, etc.

Una apropiada identificaci´on de usuarios es esencial para un control de acceso con-fiable. Los sistemas de computo generalmente usan tres m´etodos de identificaci´on. La autenticaci´on tradicionalmente se ha basado en algo que el usuario tiene (como su llave privada, una tarjeta magn´etica o un chip), algo que el usuario sabe (como su palabra clave). Estos sistemas tradicionales no identifican al usuario como tal. Los objetos o secretos que se usan pueden ser perdidos, difundidos u olvidados.

El tercer m´etodo de autenticaci´on es el biom´etrico el cual identifica a un usuario como tal. La Biometr´ıa es un conjunto de m´etodos automatizados de autenticaci´on basados en la medici´on de caracter´ısticas f´ısicas o psicol´ogicas de los humanos. Las caracter´ısticas biom´etricas deben de ser ´unicas, no copiables y no transferibles.

Debido a que muchas caracater´ısticas fisiol´ogicas o de conducta son distintivas en cada persona, los identificadores biom´etricos son l´ogicamente m´as confiables y capaces que los sitemas knowledge-based2 y token-based3 en la diferenciaci´on de una

perso-na autorizada y de un presunto impostor. Actualmente, existen uperso-na gran variedad de t´ecnicas biom´etricas en uso. Estas incluyen, imagenes faciales (´opticas e infrarojas), geometr´ıa de manos, m´etodos basados en reconocimiento de ojos (iris y retina), firma manuscrita, voz, geometr´ıa de venas, huellas digitales, entre otros.

El reconocimiento de huellas digitales es uno de los m´etodos m´as estudiados e imple-mentados en aplicaciones reales, es reconocido como un prueba legitima de identidad

(51)

en asuntos legales en todo el mundo.

El esta tesis se utiliza autenticaci´on biom´etrica de huellas digitales para poder ofrecer el servicio de autenticaci´on de usuarios en los tres niveles de seguridad.

Consorcio BioAPI

El Consorcio BioAPI4 (Biometric Application Program Interface) fue fundado en

abril de 1998 y su principal objetivo consiste en desarrollar una biblioteca de progra-maci´on biom´etrica (API, por sus siglas en ingl´es) la cual permita tener independencia para los programadores de aplicaciones y proveedores de servicios biom´etricos.

El consorcio BioAPI est´a conformado por un grupo de aproximadamente 90 com-pa˜n´ıas y organizaciones 5 , las cuales tienen en comu´un el inter´es de promocionar el

crecimiento del mercado biom´etrico.

BioAPI ha desarrollado una especificaci´on y una implementaci´on de referencia de la biblioteca est´andar (API), la cual es compatible con una amplia gama de programas y aplicaciones biom´etricas.

La implementaci´on del est´andar BioAPI permite:

R´apido desarrollo de aplicaciones biom´etricas

Desarrollo flexible en lo referente a plataformas biom´etricas y sistemas operativos.

Permite la implementaci´on de diferentes alternativas biom´etricas (huella digital, iris, voz, rostro, etc.)

Los beneficios que otorga el est´andar 6 en lo referente a negocios son:

4 El sitio oficial del consorcio eswww.bioapi.org.

5 Entre estas organizaciones se pueden mencionar Hewlett-Packard, NIST, Intel, Microsoft, NSA,

Atmel, ST Microelectronics, entre otras.

6 Muchas caracter´ısticas dependen de la implementaci´on comercial del est´andar BioAPI. En este

caso particular se usa la implementaci´on por HP de biometr´ıa de huella digital en el dispositivo m´ovil

(52)

Interfaces de aplicaci´on simples y sencillas

Acceso modular y est´andar para funciones, algoritmos y dispositivos biom´etricos.

Sistema seguro y robousto para el manejo y almacenamiento de lecturas biom´etri-cas.

Soporte para identificaci´on biom´etrica en ambientes de computo distribuido.

En la implementaci´on de este trabajo de tesis se utilizo la biblioteca biom´etrica BioAPI desarrollada por Hewllet-Packard para la serie de dispositivos m´oviles PDAs (serie h5400). En el cap´ıtulo de la implementaci´on §4 se explica con m´as detalle las caracter´ısticas y funciones de la biblioteca.

(53)

PKI (Infraestructura de llave

ublica)

Los algoritmos asim´etricos comoDiffie-Hellman, RSA, ECC han sido un parteaguas en la Criptograf´ıa, han permitido resolver los problemas de no-repudio y autenticaci´on, los cuales no podr´ıan ser implementados usando criptosistemas sim´etricos1 . Pero por

s´ı mismos, los algoritmos de llave p´ublica no garantizan seguridad absoluta. Por ejem-plo, en el cap´ıtulo anterior se menciono que el intercambio de llaves Diffie-Hellman es propenso a varios ataques. Si no se tiene la seguridad en el intercambio de llaves no importa que todo lo dem´as sea seguro; el sistema est´a comprometido.

Para permitir que la Criptograf´ıa de llave p´ublica pueda ayudar a cumplir los servi-cios fundamentales de la Seguridad Inform´atica es necesario crear una infraestructura la cual permita cubrir los huecos de los criptosistemas. A esta infraestructura se le cono-ce como PKI 2 (Infraestructura de Llave P´ublica). Actualmente la construcci´on de la

infraestrucutura de llave p´ublica es uno de los aspectos m´as importantes en las

aplica-1El problema de intercambio de llaves en un criptosistema sim´etrico ha sido resuelto con ayuda de la

Criptograf´ıa Cu´antica. Esta tecnolog´ıa hace uso de un principio fundamental de laF´ısica Cu´antica --la observaci´on causa perturbaci´on --as´ı que el intercambio de llaves a trav´es de redes de fibra ´optica puede realizarze con absoluta seguridad ya que el medio de intercambio es un canal seguro. Para

m´as informaci´on v´ease el sitio oficial deID Quantique,http://www.idquantique.com/qkd.html

2 Public Key Infraestructure,http://www.pki-page.org/

(54)

ciones criptogr´aficas, especialmente en la interconexi´on de la Internet y los dispositivos m´oviles.

Para comprender la necesidad de la PKI y como funciona a continuaci´on se exponen algunos de los problemas m´as importantes que surgen a causa de la implementaci´on de criptosistemas de llave p´ublica sin uso de infraestructuras adicionales.

3.1.

Introducci´

on a PKI

Los problemas que surgen del uso de algoritmos asim´etricos sin el respaldo de in-fraestructuras adicionales pueden dividirse en cuatro ´areas [Sch03]:

1. Autenticidad de llave. El objetivo primario de la autentificaci´on de la llave p´ublica de una entidad es fundamentalmente evitar ataques como intruso de en medio y usurpaci´on de identidad discutidos en el cap´ıtulo anterior §2.2.

2. Revocaci´on de llaves. C ha robado la llave privada de la computadora de A. Esto significa que C es capaz de usarla para leer todos los mensajes que fueron cifrados con la llave p´ublica de A. Adem´as C puede generar firmas digitales a nombre de A. La ´unica forma que tiene A para protegerse es generar un nuevo par de llaves y no continuar utilizando las anteriores (esta acci´on es llamada revocaci´on de llaves). Pero a´un existe un problema, ¿C´omo saben las personas que env´ıan correo electr´onico aA, que su par de llaves han sido revocado?

3. No-repudio. El prop´osito de una firma digital es asegurar el no-repudio. Si A

(55)

El problema es que no hay forma de probar que la llave particular que gener´o la firma digital pertenece realmente a A.

4. Aplicaci´on de pol´ıticas. Supongamos que una compa˜n´ıa quiere utilizar las ventajas de la Criptograf´ıa de llave p´ublica. Quiere asignar un par de llaves a cada empleado, de manera tal que cada empleado podr´a cifrar y firmar informaci´on. Los requerimientos necesarios son los siguientes:

Cada empleado debe de tener ´unicamente un par de llaves.

Todas las llaves publicas deben de estar registradas de manera centralizada.

Las llaves utilizadas deben de usar un tama˜no de longitud de llave adecuada.

Cada par de llave debe ser cambiado desp´ues de un determinado per´ıodo de validez.

Si un empleado deja de laborar en la compa˜n´ıa, su respectiva llave p´ublica debe de ser revocada autom´aticamente.

El problema de esta implementaci´on, es que las pol´ıticas anteriormente descritas solamente pueden ser cumplidas con ayuda de sistemas externos a la Criptograf´ıa de llave p´ublica.

Para que la Criptograf´ıa de llave p´ublica pueda ser usada con ´exito en aplicacio-nes comerciales en redes como Internet, es necesario contar una infraestructura que mantenga v´ınculos con las llaves publicas utilizadas y sus respectivas entidades que las posean.

(56)

3.2.

Componentes PKI

LaInfraestructura de Llave P´ublica (PKI)es una combinaci´on de software, tecn´olo-gias de cifrado, y servicios que permiten proteger la seguridad de las transacciones de informaci´on en un sistema distribuido. PKI integra certificados digitales, criptograf´ıa de llave p´ublica y autoridades de certificaci´on en una arquitectura de seguridad.

Un Certificado Digital es un documento que v´ıncula una llave p´ublica con una entidad final y que es firmado por unaautoridad certificadora para demostrar su validez e integridad. A continuaci´on se listan los componentes fundamentales [KHPC01] que conforman la Infrestructura de Llave P´ublica (PKI):

Entidad final. Es el t´ermino gen´erico para denotar a los usuarios finales o cual-quier entidad que pueda ser identificada (personas, servidores, compa˜n´ıas, etc.) mediante un certificado digital expedido por unaAutoridad Certificadora.

Autoridad Certificadora (AC).La AC es la entidad que expide los certificados digitales, as´ı como tambi´en la lista de revocaci´on (CRL). Adicionalmente puede soportar funciones administrativas, aunque generalmente estas son delegadas a una o varias Autoridades de Registro.

Autoridad de Registro (AR). Una AR es componente opcional que puede asumir funciones administrativas de la CA. Las funciones de la AR est´an frecuen-temente asociadas con la afiliaci´on de las entidades finales, pero adicionalmente puede asistir en otras ´areas.

(57)

Emisor CRL.El emisor CRL es un componente opcional el cual puede ser utili-zado por una AC para delegar las tareas de publicacion de las listas de revocaci´on.

La figura §3.1 muestra los componentes que integran la infraestructura de llave p´ublica. R e p o s i t o r i o d e c e r t i f i c a d o s y C R L Emisor CRL Entidad Final

Autoridad de Registro AR

Autoridad Certificadora (AC)

Autoridad Certificadora (AC)

Consulta de certificados y CRL

Publicación de certificados

Publicación de certificados y CRL

Publicación de CRLs

* Registro de usuarios * Inicio de certificación * Recuperación de llaves * Solicitudes de revocación

Certificación entre una o más ACs

(58)

3.2.1.

Autoridades Certificadoras (ACs)

Una Autoridad Certificadora, es el componenete fundamental de la infraestructura de llave p´ublica. Es una combinaci´on dehardware, software, y personas que conforman una arquitectura de seguridad. La AC es conocida por sus dos atributos m´as importan-tes: su llave p´ublica y su nombre o identificador.

La AC expide certificados de llave p´ublica para cada entidad, confirmando plena-mente la identidad del suscriptor con sus respectivos documentos de identidad. Un certificado digital incluye la llave p´ublica, informaci´on acerca de la identidad del sus-criptor que posee la llave privada, un per´ıodo de validez del certificado, y la firma digital de la propia autoridad certificadora. El certificado puede contener otros campos como por ejemplo: informaci´on adicional sobre la autoridad certifiadora o informaci´on acerca de usos recomendados para la llave p´ublica. Un suscriptor es un individuo o entidad de negocio que ha contratado a una AC para recibir un certificado digital el cual le permita verificar su identidad para transacciones firmadas digitalmente.

Una AC tambi´en debe de expedir y procesar listas de revocaci´on de certificados (CRLs), las cuales son listas de los certificados que han sido invalidados. Los certificados pueden ser revocados por distintas razones, por ejemplo, si un propietario ha perdido su llave privada; la compa˜n´ıa que posee el certificado cambia de nombre; o simplemente el propietario de la llave privada abandona la empresa para la cual trabaja. Las CRLs tambi´en deben de documentar el estado de revocaci´on de los certificados; al igual que el per´ıodo de validez de un certificado digital, la lista de revocaci´on debe de especificar la fecha exacta en la cual el certificado fue revocado.

Una Autoridad Certificadora desempe˜na cuatro funciones b´asicas en PKI:

Expedici´on de certificados digitales.

Figure

Figura 1.1: Confidencialidad en sistemas de llave secreta
Figura 1 1 Con dencialidad en sistemas de llave secreta. View in document p.19
Figura 1.4: Adici´on de puntos sobre R
Figura 1 4 Adici on de puntos sobre R. View in document p.28
Figura 1.5: Doblado de puntos sobre R
Figura 1 5 Doblado de puntos sobre R. View in document p.29
Figura 1.6: Curva el´ıptica y2 = x3 + x sobre F23
Figura 1 6 Curva el ptica y2 x3 x sobre F23. View in document p.30
Figura 1.7: Esquema de firma y veriificaci´on digital
Figura 1 7 Esquema de rma y verii caci on digital. View in document p.40
Figura 3.1: Componentes PKI
Figura 3 1 Componentes PKI. View in document p.57
Figura 3.3: Certificado digital X.509 versi´on 3
Figura 3 3 Certi cado digital X 509 versi on 3. View in document p.68
Figura 3.4: Estructura de una CRL
Figura 3 4 Estructura de una CRL. View in document p.70
Figura 4.1: Diagrama a bloques de la aplicaci´on
Figura 4 1 Diagrama a bloques de la aplicaci on. View in document p.74
Figura 4.8: Verificaci´on del certificado digital
Figura 4 8 Veri caci on del certi cado digital. View in document p.85
Tabla 5.1: Tiempo de generaci´on de llaves.
Tabla 5 1 Tiempo de generaci on de llaves . View in document p.87
Tabla 5.2: Tiempos requeridos para firma digital de un mensaje aleatorio de 1KB.
Tabla 5 2 Tiempos requeridos para rma digital de un mensaje aleatorio de 1KB . View in document p.88
Tabla 5.3: Verificaci´on de la fima digital de un mensaje de 1KB.
Tabla 5 3 Veri caci on de la ma digital de un mensaje de 1KB . View in document p.88
Tabla 5.4: Comparaci´on de tama˜no en bytes de los certificados X.509 v3
Tabla 5 4 Comparaci on de tama no en bytes de los certi cados X 509 v3. View in document p.89
Figura 5.1: Tiempos requeridos para la generaci´on de llaves en Curva El´ıptica.
Figura 5 1 Tiempos requeridos para la generaci on de llaves en Curva El ptica . View in document p.90
Figura 5.2: Generaci´on de firma digital de un mensaje de 1KB.
Figura 5 2 Generaci on de rma digital de un mensaje de 1KB . View in document p.91
Figura 5.3: Comparaci´on en verificaci´on de firma digital
Figura 5 3 Comparaci on en veri caci on de rma digital. View in document p.92
Figura 5.4: Comparaci´on de certificados con y sin informaci´on biom´etrica
Figura 5 4 Comparaci on de certi cados con y sin informaci on biom etrica. View in document p.93
Tabla B.1: Explicaci´on de la sintaxis ASN.1 de un certificado RSA sin informaci´onbiom´etrica
Tabla B 1 Explicaci on de la sintaxis ASN 1 de un certi cado RSA sin informaci onbiom etrica. View in document p.112
Tabla B.2: Explicaci´on de la sintaxis ASN.1 de un certificado ECC con informaci´onbiom´etrica
Tabla B 2 Explicaci on de la sintaxis ASN 1 de un certi cado ECC con informaci onbiom etrica. View in document p.121
Tabla C.1: Caracter´ısticas principales del dispositivo m´ovil iPAQ h5550.
Tabla C 1 Caracter sticas principales del dispositivo m ovil iPAQ h5550 . View in document p.122
Figura C.1: Pantalla principal de la aplicaci´on
Figura C 1 Pantalla principal de la aplicaci on. View in document p.123
Figura C.2: Llenado de datos de la entidad final
Figura C 2 Llenado de datos de la entidad nal. View in document p.124
Figura C.3: Selecci´on del peri´odo de validez del certificado
Figura C 3 Selecci on del peri odo de validez del certi cado. View in document p.125
Figura C.4: Opciones de la pantalla de Datos
Figura C 4 Opciones de la pantalla de Datos. View in document p.125
Figura C.5: Captura de huella digital
Figura C 5 Captura de huella digital. View in document p.126
Figura C.6: Generaci´on del certificados RSA
Figura C 6 Generaci on del certi cados RSA. View in document p.127
Figura C.8: Selecci´on de certificados almacenados en la PDA
Figura C 8 Selecci on de certi cados almacenados en la PDA. View in document p.128
Figura C.7: Generaci´on de certificados ECDSA
Figura C 7 Generaci on de certi cados ECDSA. View in document p.128
Figura C.9: Verificaci´on de certificados emitidos por la AC
Figura C 9 Veri caci on de certi cados emitidos por la AC. View in document p.129