UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS DE LA INGENIERIA ESCUELA DE INGENIERIA CIVIL EN INFORMATICA DISEÑO DE UNA PKI PARA EL DESARROLLO DE APLICACIONES BANCARIAS SEGURAS SOBRE INTERNET MEDIANTE FIRMA DIGITAL TESIS DE GRADO PARA OPTAR AL TITULO PROFESIONAL DE INGENIERO CIVIL EN INFORMATICA PATROCINANTE: CHRISTIAN HAGEDORN HITSCHFELD INGENIERO CIVIL EN INFORMATICA CO-PATROCINANTE: MARTIN SOLAR MONSALVES DOCENTE CARLOS ALBERTO VALLEJOS ARCOS VALDIVIA - CHILE 2002 Santiago, 27 de Febrero de 2003 Sra. Miguelina Vega Directora Escuela de Ingeniería Civil en Informática Universidad Austral de Chile Valdivia Presente De mi consideración: El proyecto de tesis del Sr. Carlos Vallejos "Diseño de una PKI para el desarrollo de aplicaciones bancarias seguras sobre Internet mediante firma Digital" es un aporte al conocimiento de sistemas seguros que faciliten el uso masivo de aplicaciones Internet. Se destaca un esfuerzo personal del estudiante en la comprensión de la tecnología, desarrollo de una metodología para la implementación de estos sistemas, así como el entendimiento de la problemática asociada. Destaca también el desarrollo de un prototipo funcional que complementó el estudio teórico. El Sr. Carlos Vallejos demostró una actitud altamente profesional, cumpliendo cabalmente los objetivos planteados durante el desarrollo del proyecto. Por lo anterior expuesto califico la tesis con nota 7,0 (siete). Sin otro particular, le saluda cordialmente Valdivia, 09 de Enero de 2003 De : Martín Gonzalo Solar Monsalves A : Directora Escuela Ingeniería Civil en Informática Ref. : Informe Calificación Trabajo de Titulación Nombre Trabajo de Titulación: "DISEÑO DE UNA PKI PARA EL DESARROLLO DE APLICACIONES BANCARIAS SEGURAS SOBRE INTERNET MEDIANTE FIRMA DIGITAL". Nombre Alumno: Carlos Alberto Vallejos Arcos Evaluación: Cumplimiento del objetivo propuesto 7.0 Satisfacción de alguna necesidad 6.0 Aplicación del método científico 6.0 Interpretación de los datos y obtención de conclusiones 7.0 Originalidad 7.0 Aplicación de criterios de análisis y diseño 6.5 Perspectivas del trabajo Coherencia y 7.0 rigurosidad lógica 7.0 Precisión del lenguaje técnico en la exposición, composición, 7.0 redacción e ilustración Nota Final 6.7 Sin otro particular, atte.: Universidad Austral de Chile Instituto de Informática Valdivia. 13 de marzo de 2003 Sra. Comunicación Interna N° 027/03 Miguelina Vega R. Directora Escuela Ingeniería Civil en Informática De mi consideración: Se me ha solicitado la revisión y evaluación como profesor informante, del Trabajo de Titulación del Sr. Carlos Vallejos Arcos, titulado -DISEÑO DE UNA PKI PARA EL DESARROLLO DE APLICACIONES BANCARIAS SEGURAS SOBRE INTERNET MEDIANTE FIRMA DIGITAL" Estimo que el trabajo de titulación de la Sr. Carlos Vallejos cumple los objetivos propuestos, al plantear rigurosamente tanto los fundamentos conceptuales asociados a las transacciones mediante Internet bajo firma digital, como el desarrollo de un prototipo con perspectivas claras de aplicación. El trabajo del Sr. Vallejos tiene a mi juicio un doble mérito, ya que además del diseño y desarrollo del prototipo, contiene fundamentación teórica de muy buena calidad, asociada a los conceptos relativos a la firma digital, como la criptografía, el comercio electrónico y su marco jurídico. Sugiero mejorar algunos aspectos formales de la tesis, de modo de no restar calidad al trabajo realizado. Por todo lo anteriormente expuesto, califico el trabajo de titulación del Sr. Carlos Vallejos con nota 7.0 (siete coma cero). AGRADECIMIENTOS Al momento de finalizar este documento, no quiero dejar de agradecer a todas las personas que de alguna u otra manera me han ayudado durante mi vida, mi carrera y más concretamente a quienes han hecho posible la conclusión de este proyecto En primer lugar quisiera dar gracias a Dios por todas sus bendiciones y por su infinita misericordia para con mi persona, dar gracias especialmente por la bendición de tener junto a mí a mis padres, Pedro y Amelia, quienes han sido el pilar sobre el que se cimentó mi formación como persona y profesional, y en los cuales encontré siempre la motivación y la fuerza para no desfallecer ante las dificultades y alcanzar continuamente mis metas. Gracias finalmente Señor por permitirme disfrutar la vida con toda la gente que quiero. Gracias también a ustedes, mis queridos viejitos por soportar todas mis mañas, que no son pocas, y procurarme todo cuanto pudieron y tuvieron a su alcance. Gracias por el ejemplo de esfuerzo y constancia que toda la vida me han dado, y por demostrarme que las cosas son difíciles sólo hasta cuando se comienza a hacerlas. Quisiera dar gracias también a mis tías, Margarita y Ester por todo su incondicional apoyo y cariño, y gracias también a todos mis otros familiares que de distintas formas me ayudaron y acogieron en el instante que los necesité. Gracias también a mis amigos y compañeros de universidad junto a los cuales compartí muchas cosas. Gracias también a EFT Banca por haber patrocinado este proyecto, y gracias a todos mis compañeros de trabajo. 1 TABLA DE CONTENIDOS INDICE DE FIGURAS .........................................................................................................................................6 INDICE DE TABLAS ...........................................................................................................................................8 RESUMEN .............................................................................................................................................................9 SUMMARY..........................................................................................................................................................11 INTRODUCCION ...............................................................................................................................................13 1.1 Preámbulo ..............................................................................................................................................13 1.2 Antecedentes Generales .........................................................................................................................15 1.3 Justificación ...........................................................................................................................................18 1.4 Definición de objetivos ..........................................................................................................................20 1.4.1 Objetivos Generales .......................................................................................................................20 1.4.2 Objetivos Específicos.....................................................................................................................20 COMERCIO ELECTRONICO..........................................................................................................................22 2.1 Preámbulo ..............................................................................................................................................22 2.2 Introducción ...........................................................................................................................................22 2.3 Internet ...................................................................................................................................................24 2.3.1 Funcionamiento..............................................................................................................................26 2.4 El E-Comercio .......................................................................................................................................26 2.4.1 Proyecciones del e-Comercio.........................................................................................................29 2.5 Seguridad del Entorno Virtual ...............................................................................................................32 2.5.1 Amenazas.......................................................................................................................................34 2.5.2 Estadísticas de Seguridad...............................................................................................................37 2.6 Herramientas y Protocolos de Seguridad ...............................................................................................43 2.6.1 Métodos de Control de Acceso ......................................................................................................44 2.6.2 Kerberos.........................................................................................................................................46 2.6.3 SET ................................................................................................................................................49 2.6.4 SSL ................................................................................................................................................53 2.6.5 S-HTTP..........................................................................................................................................57 2.6.6 S/MIME .........................................................................................................................................58 2.6.7 PGP ................................................................................................................................................59 2.6.8 WTLS.............................................................................................................................................61 2.6.9 IPSec ..............................................................................................................................................63 CRIPTOGRAFIA ................................................................................................................................................66 3.1 Preámbulo ..............................................................................................................................................66 3.2 Introducción ...........................................................................................................................................66 3.3 Historia ..................................................................................................................................................68 3.4 Criptología .............................................................................................................................................70 3.5 Importancia Estratégica y Legal ............................................................................................................73 3.6 Criptosistemas........................................................................................................................................74 3.7 Clasificación de Métodos Criptográficos...............................................................................................76 3.7.1 Criptografía Clásica .......................................................................................................................77 3.7.1.1 Sustitución .................................................................................................................................77 3.7.1.2 Transposición.............................................................................................................................80 3.7.2 Criptografía Moderna.....................................................................................................................81 3.7.2.1 Números Aleatorios ...................................................................................................................82 3.7.2.2 Cifradores de Bloque y de Flujo ................................................................................................83 3.7.2.3 Sistemas de Cifrado Simétrico ...................................................................................................83 3.7.2.3.1 DES .....................................................................................................................................84 3.7.2.3.2 TDES...................................................................................................................................88 3.7.2.3.3 AES .....................................................................................................................................88 2 3.7.2.3.4 IDEA ...................................................................................................................................90 3.7.2.3.5 BLOWFISH ........................................................................................................................91 3.7.2.3.6 RC .......................................................................................................................................92 3.7.2.4 Sistemas de Cifrado Asimétrico.................................................................................................93 3.7.2.4.1 RSA.....................................................................................................................................95 3.7.2.4.2 DSA.....................................................................................................................................98 3.7.2.4.3 ECC...................................................................................................................................101 3.8 Funciones Hash....................................................................................................................................102 3.8.1 MD5.............................................................................................................................................104 3.8.2 SHA-1 ..........................................................................................................................................105 3.8.3 RIPE-MD160 ...............................................................................................................................105 PKI ......................................................................................................................................................................107 4.1 Preámbulo ............................................................................................................................................107 4.2 Introducción .........................................................................................................................................107 4.3 Firma Digital........................................................................................................................................109 4.4 Infraestructura de Claves Públicas .......................................................................................................114 4.4.1 Políticas de Certificación .............................................................................................................116 4.4.2 Autoridad de Certificación...........................................................................................................117 4.4.2.1 Certificados Digitales...............................................................................................................119 4.4.2.1.1 Tipos de certificados .........................................................................................................121 4.4.2.1.1.1 Certificados de Identificación.....................................................................................122 4.4.2.1.1.2 Certificados de Autorización......................................................................................123 4.4.2.1.1.3 Certificados de Transacciones....................................................................................124 4.4.2.1.1.4 Certificados de Tiempo ..............................................................................................124 4.4.2.2 Listas de Revocación ...............................................................................................................125 4.4.2.3 Declaración de Practicas de Certificación................................................................................128 4.4.3 Autoridad de Registro ..................................................................................................................130 4.4.4 Repositorio de Certificados..........................................................................................................131 4.4.5 Jerarquías de Certificación...........................................................................................................132 4.4.6 Estándares PKI.............................................................................................................................136 4.4.6.1 X.500........................................................................................................................................137 4.4.6.2 LDAP.......................................................................................................................................137 4.4.6.3 X.509........................................................................................................................................138 4.4.6.4 PKCS .......................................................................................................................................144 4.4.6.5 PKIX ........................................................................................................................................148 4.4.6.6 OCSP .......................................................................................................................................148 4.5 Aplicaciones.....................................................................................................................................149 4.6 Problemas de PKI ............................................................................................................................151 MARCO JURIDICO .........................................................................................................................................154 5.1 Preámbulo ............................................................................................................................................154 5.2 Introducción .........................................................................................................................................155 5.3 ¿Qué es un Documento y Firma Electrónica?......................................................................................156 5.4 Aspectos esenciales de una Ley de Firma Digital................................................................................159 5.5 Características de las Legislaciones .....................................................................................................160 5.5.1 Modelo UNCITRAL....................................................................................................................162 5.5.2 Unión Europea .............................................................................................................................165 5.5.3 EE.UU..........................................................................................................................................168 5.5.4 España..........................................................................................................................................172 5.5.5 Argentina .....................................................................................................................................179 5.6 La Normativa Legal en Chile...............................................................................................................183 METODOLOGIA..............................................................................................................................................189 6.1 Preámbulo ............................................................................................................................................189 6.2 Introducción .........................................................................................................................................189 6.3 Planificación de la PKI ........................................................................................................................190 6.4 Requerimientos ....................................................................................................................................193 6.4.1 Directivas del Negocio.................................................................................................................194 6.4.2 Aplicaciones.................................................................................................................................195 6.4.3 Usuarios .......................................................................................................................................197 6.4.4 Niveles de Seguridad ...................................................................................................................198 6.5 Arquitectura .........................................................................................................................................199 3 6.5.1 Planificación ................................................................................................................................200 6.5.1.1 CA raíz.....................................................................................................................................201 6.5.1.2 CA interna v/s de terceros........................................................................................................201 6.5.1.3 Rendimiento y Número de CA.................................................................................................204 6.5.1.4 Estructura del Repositorio........................................................................................................207 6.5.1.5 Roles de Administración..........................................................................................................208 6.5.1.6 Proveedores Criptográficos......................................................................................................210 6.5.2 Modelo de Confianza...................................................................................................................210 6.5.2.1 Modelo Enraizado....................................................................................................................211 6.5.2.2 Modelo en Red.........................................................................................................................213 6.5.2.3 Modelo Híbrido........................................................................................................................214 6.5.3 Diseño Estructural........................................................................................................................214 6.5.3.1 Basada en Uso de Certificados.................................................................................................214 6.5.3.2 Basada en la Estructura Organizacional...................................................................................215 6.5.3.3 Basada en la Localización........................................................................................................216 6.5.4 Consideraciones de Seguridad .....................................................................................................217 6.5.5 Localización de Bases de Datos...................................................................................................218 6.5.6 Nombres.......................................................................................................................................218 6.6 Configuración Certificados..................................................................................................................219 6.6.1 Plantillas de Certificados .............................................................................................................220 6.6.2 Algoritmos y Largo de Claves .....................................................................................................221 6.6.3 Ciclo de Vida ...............................................................................................................................223 6.7 Operaciones .........................................................................................................................................225 6.7.1 Seguridad .....................................................................................................................................226 6.7.2 Plan de Administración de Certificados.......................................................................................227 6.7.2.1 Enrolamiento y Emisión...........................................................................................................227 6.7.2.2 Revocación...............................................................................................................................229 6.7.2.3 Recuperación de claves............................................................................................................231 6.7.2.4 Publicación...............................................................................................................................232 6.7.2.5 Renovación ..............................................................................................................................233 6.7.3 Planificación de CPS....................................................................................................................233 6.8 Despliegue ...........................................................................................................................................242 6.8.1 Instalación....................................................................................................................................242 6.8.2 Revisión .......................................................................................................................................243 6.8.3 Actualización ...............................................................................................................................244 DISEÑO PROTOTIPOS PKI...........................................................................................................................246 7.1 Preámbulo ............................................................................................................................................246 7.2 Diseño Prototipo Autoridad Certificadora ...........................................................................................246 7.2.1 Ámbito .........................................................................................................................................246 7.2.2 Requerimientos ............................................................................................................................247 7.2.3 Restricciones ................................................................................................................................249 7.2.4 Modelo Estático ...........................................................................................................................251 7.2.5 Modelo Funcional ........................................................................................................................253 7.3 Diseño Prototipo Autentificador de Documentos Electrónicos............................................................259 7.3.1 Ámbito .........................................................................................................................................259 7.3.2 Requerimientos ............................................................................................................................259 7.3.3 Restricciones ................................................................................................................................260 7.3.4 Modelo Estático ...........................................................................................................................261 7.3.5 Modelo Funcional ........................................................................................................................262 7.4 Diseño Prototipo Portal Web Bancario ................................................................................................266 7.4.1 Ámbito .........................................................................................................................................266 7.4.2 Requerimientos ............................................................................................................................267 7.4.3 Restricciones ................................................................................................................................268 7.4.4 Modelo Estático ...........................................................................................................................268 7.4.5 Modelo de Datos ..........................................................................................................................270 7.4.6 Modelo Funcional ........................................................................................................................271 PRESENTACION PROTOTIPOS...................................................................................................................275 8.1 Preámbulo ............................................................................................................................................275 8.2 Desarrollo.............................................................................................................................................275 8.3 Recursos utilizados ..............................................................................................................................276 8.4 Presentación Prototipo CA...................................................................................................................276 4 8.5 Presentación Prototipo Autentificador de Documentos Electrónicos ..................................................286 8.6 Presentación Prototipo Portal Web Bancario .......................................................................................298 CONCLUSIONES .............................................................................................................................................306 9.1 Preámbulo ............................................................................................................................................306 9.2 Conclusiones........................................................................................................................................306 9.3 Mejoras ................................................................................................................................................309 9.4 Investigaciones futuras.........................................................................................................................310 BIBLIOGRAFIA ...............................................................................................................................................313 10.1 Libros y Publicaciones.........................................................................................................................313 10.2 Direcciones Internet .............................................................................................................................317 GLOSARIO........................................................................................................................................................320 LEY 19799 ..........................................................................................................................................................326 CERTIFICACION DE PERSONA ..................................................................................................................336 CERTIFICACION SERVIDOR.......................................................................................................................340 CRYPTLIB.........................................................................................................................................................347 MICROSOFT CRYPTOAPI ............................................................................................................................349 CODIGOS FUENTE .........................................................................................................................................351 5 INDICE DE FIGURAS Figura 1: Costo transacciones bancarias en Europa Fuente: Booz Allen & Hamilton. ........................................29 Figura 2: Proyección transacciones B2B Fuente: CCS. ........................................................................................32 Figura 3: Uso no autorizado de Sistemas últimos 12 meses Fuente: CSI. .............................................................38 Figura 4: Tecnologías de seguridad utilizadas Fuente: CSI. .................................................................................39 Figura 5: Orígenes más frecuentes de ataques Fuente: CSI. .................................................................................39 Figura 6: Dólares perdidos en el 2002 por tipo de ataque Fuente: CSI. ...............................................................40 Figura 7: Organizaciones que han detectado ataques a su sitio Web Fuente: CSI................................................42 Figura 8: Mensaje firmado mediante PGP.............................................................................................................60 Figura 9: Esquema Criptosistema. .........................................................................................................................75 Figura 10: Diagrama funcionamiento DES............................................................................................................86 Figura 11: Esquema de generación de firma digital. ...........................................................................................111 Figura 12: Esquema de verificación de firma digital. ..........................................................................................112 Figura 13: Esquema PKI. .....................................................................................................................................116 Figura 14: Certificado Digital almacenado en IExplorer. ...................................................................................120 Figura 15: Detalle contenido de un certificado digital. .......................................................................................121 Figura 16: Lista de certificado revocados............................................................................................................126 Figura 17: Detalle lista de certificados revocados...............................................................................................127 Figura 18: Jerarquía de certificación compuesta. ...............................................................................................135 Figura 19: Formato ASN.1 certificado X.509. .....................................................................................................139 Figura 20: Propiedades campos de certificado....................................................................................................141 Figura 21: Formato ASN.1 CRL...........................................................................................................................142 Figura 22: Características legislaciones Latinoamericanas Fuente: CCS. .........................................................161 Figura 23: Visión general metodología implantación PKI. ................................................................................193 Figura 24: Principales pasos para definir requerimientos. .................................................................................193 Figura 25: Principales pasos para definir la arquitectura...................................................................................200 Figura 26: Modelo de confianza jerárquica enraizada. .......................................................................................212 Figura 27: Modelo de confianza jerárquico en red..............................................................................................213 Figura 28: Estructura basada en el uso de certificados.......................................................................................215 Figura 29: Jerarquía basada en la estructura organizacional.............................................................................216 Figura 30: Jerarquía basada en la localización...................................................................................................217 Figura 31: Principales pasos para configurar certificados. ................................................................................220 Figura 32: Principales pasos para definir las operaciones. ................................................................................226 Figura 33: Principales pasos para el despliegue. ................................................................................................242 Figura 34: Funcionalidades prototipo CA. ..........................................................................................................249 Figura 35: Modelo estático prototipo CA.............................................................................................................251 Figura 36: Modelo funcional prototipo CA..........................................................................................................254 Figura 37: Descomposicion funcionalidades prototipo CA. ................................................................................255 Figura 38: Proceso Generar Claves CA...............................................................................................................255 Figura 39. Proceso Emitir Certificado CA...........................................................................................................256 Figura 40: Proceso Generar Claves Usuario.......................................................................................................256 Figura 41: Proceso Emitir Certificado Usuario...................................................................................................257 Figura 42: Proceso Publicar Certificado.............................................................................................................257 Figura 43: Proceso Exportar Certificado. ...........................................................................................................258 Figura 44: Proceso Revocar Certificado..............................................................................................................258 Figura 45: Proceso Publicar CRL........................................................................................................................259 Figura 46: Funcionalidades prototipo Autentificador documentos electrónicos. ................................................260 Figura 47: Modelo estático prototipo Autentificador documentos electrónicos. .................................................262 Figura 48: Modelo funcional prototipo Autentificador documentos electrónicos................................................262 Figura 49: Descomposición funcionalidades prototipo Autentificador................................................................263 Figura 50: Descomposición firma documento......................................................................................................264 Figura 51: Descomposición verificación firma documento..................................................................................264 Figura 52: Descomposicion cifrado de documento. .............................................................................................265 Figura 53: Descomposición descifrado de documento.........................................................................................266 Figura 54: Funcionalidades prototipo Portal Web Bancario. .............................................................................268 Figura 55: Modelo estático prototipo Portal Web Bancario................................................................................269 Figura 56: Modelo funcional prototipo Portal Web Bancario. ............................................................................271 Figura 57: Descomposición funcionalidades Portal Web Bancario. ...................................................................272 6