Show simple item record

Professor Advisordc.contributor.advisorBustos Jiménez, Javier
Professor Advisordc.contributor.advisorHevia Angulo, Alejandro 
Authordc.contributor.authorCifuentes Quijada, Francisco José 
Staff editordc.contributor.editorFacultad de Ciencias Físicas y Matemáticas
Staff editordc.contributor.editorDepartamento de Ciencias de la Computación
Associate professordc.contributor.otherPoblete Olivares, Patricio 
Associate professordc.contributor.otherSymmonds Wagemann, Jocelyn
Associate professordc.contributor.otherMeza Montoya, Federico
Admission datedc.date.accessioned2016-05-12T19:08:10Z
Available datedc.date.available2016-05-12T19:08:10Z
Publication datedc.date.issued2016
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/138277
General notedc.descriptionMagíster en Ciencias, Mención Computación
General notedc.descriptionIngeniero Civil en Computación
Abstractdc.description.abstractEn un sistema distribuido, los puntos críticos de falla son aquellos nodos tales que si sólo uno de ellos falla, el sistema completo deja de funcionar. La no existencia de estos permite tener sistemas robustos y tolerantes a fallas. Threshold Cryptography Backend para DNSSEC es un sistema desarrollado previamente a este trabajo, el cual permite firmar electrónicamente una zona DNS de manera distribuida con el uso criptografía umbral. El autor de esta tesis, en un trabajo previo, desarrolló una interfaz para que el Threshold Cryptography Backend sea utilizado por otras herramientas. La interfaz consistía en dos elementos: una biblioteca que implementa la API PKCS #11, estándar para soluciones criptográficas, y un nodo capaz de escuchar a esta biblioteca y transformar las solicitudes al Threshold Cryptography Backend. La interfaz permite que el sistema sea utilizado como una virtualización de un módulo de seguridad por hardware (HSM por sus siglas en inglés), por parte de cualquier aplicación diseñada para que use estos dispositivos. Por lo cual, el nuevo sistema, que incluye tanto la nueva interfaz como el Threshold Cryptography Backend, adquiere el nombre de Threshold Cryptography HSM. Este nuevo sistema consta de varios nodos: el nodo pkcs11, el nodo maestro, y de los nodos firmadores, además de los nodos que manejan la comunicación entre cada uno de estos, por medio del software de mensajería RabbitMQ. Sin embargo, dada las características del sistema original y los requerimientos de la API, dicho sistema presenta puntos críticos de falla, lo cual deja vulnerable al sistema en su conjunto. La presente tesis, describe el trabajo realizado para rediseñar totalmente el sistema Treshold Cryptography HSM, con la finalidad de eliminar los puntos críticos de fallas. Esto se logró trasladando funcionalidad entre nodos. El primer traslado de funcionalidad consistió en los mecanismos de comunicación: se cambiaron los nodos de mensajería RabbitMQ por un protocolo de mensajería implementado por la biblioteca ZeroMQ. El segundo traslado de funcionalidad, consistió en mover varios algoritmos de criptografía umbral que corrían en el nodo maestro, hacia el nodo pkcs11. Originalmente, los algoritmos de criptografía umbral estaban implementados en el lenguaje de programación Java, sin embargo la API PKCS #11 está diseñada para ser usada por el lenguaje de programación C. Por lo tanto, el traslado de la funcionalidad criptográfica requirió reescribir los algoritmos en el lenguaje de programación C. Para enfrentar este desafío, se desarrolló una biblioteca en C que implementaba la funcionalidad criptográfica necesaria para eliminar el punto crítico de falla. De este modo, el nodo pkcs11 utiliza esta biblioteca, incorporando así parte de la funcionalidad del nodo maestro. Este desarrollo permitió, entre otras cosas, una mejora en desempeño y una simplificación del código. Adicionalmente, quedó como subproducto la implementación inédita de un protocolo criptográfico, el algoritmo de firma criptografica umbral RSA. Dicha implementación quedó disponible bajos los términos una licencia de software libre tipo MIT. Este protocolo de criptografía umbral, cumple la propiedad de no falsificabilidad aún cuando nodos no comprometidos reciben una solicitud de firmar un documento falsificado. Esta propiedad de seguridad permiten asegurar que el sistema es robusto. Como toda funcionalidad criptográfica, requiere un cuidado especial en el desarrollo y testing, por tanto se diseñó un mecanismo para realizar pruebas del sistema basado en la equivalencia entre sistemas distribuidos y sistemas concurrentes. A partir de esto, se procedió a utilizar model checking como mecanismo de verificación formal para estudiar la correctitud del sistema.en_US
Lenguagedc.language.isoesen_US
Publisherdc.publisherUniversidad de Chileen_US
Type of licensedc.rightsAtribución-NoComercial-SinDerivadas 3.0 Chile*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/*
Keywordsdc.subjectCriptografíaen_US
Keywordsdc.subjectSistemas de información - Medidad de seguridaden_US
Keywordsdc.subjectSistemas distribuídosen_US
Keywordsdc.subjectDNSen_US
Títulodc.titleEliminación de puntos críticos de falla en el sistema Threshold Cryptography HSMen_US
Document typedc.typeTesis


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Atribución-NoComercial-SinDerivadas 3.0 Chile
Except where otherwise noted, this item's license is described as Atribución-NoComercial-SinDerivadas 3.0 Chile