ClaimChain: decentralized public key infrastructure

Kulynych, Bogdan (2017). ClaimChain: decentralized public key infrastructure. Tesis (Master), E.T.S. de Ingenieros Informáticos (UPM).

Descripción

Título: ClaimChain: decentralized public key infrastructure
Autor/es:
  • Kulynych, Bogdan
Director/es:
  • Carro Liñares, Manuel
  • Troncoso, Carmela
Tipo de Documento: Tesis (Master)
Título del máster: Software y Sistemas
Fecha: Julio 2017
Materias:
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

La infraestructura de clave pública (PKI) es un componente necesario para el funcionamiento de las comunicaciones seguras modernas. Esta infraestructura permite a los miembros participantes establecer claves criptográficas para sus destinatarios, manteniendo relaciones de alta integridad entre usuarios (nombres, direcciones u otros identificadores) y las claves públicas utilizadas para cifrar y verificar los mensajes. Los sistemas PKI existentes presentan diferentes concesiones con respecto a propiedades de seguridad. La mayoría de diseños más exibles suelen ser centralizados, lo que facilita la actualización de claves y proporciona una buena disponibilidad. Dichos diseños, sin embargo, requieren que los usuarios confien en una fuente de autoridad centralizada, poniendo a ésta autoridad en una posición privilegiada para vigilarlos. Por otro lado, los enfoques actuales que alivian problemas de seguridad derivados de la centralización están limitados en términos de exibilidad y capacidad para revocar y actualizar rápidamente las claves. Por lo tanto, no son adecuados para aplicaciones modernas que requieran cambios frecuentes de claves por razones de seguridad. En este thesis proponemos un diseño de PKI descentralizado, que llamamos ClaimChain, donde cada usuario o dispositivo mantiene repositorios de afirmaciones acerca de sus propias claves públicas y las de sus contactos. La alta integridad de los repositorios almacenando dichas afirmaciones se mantene mediante el uso de estructuras autenticadas, cadenas de hash y árboles Merkle; y su autenticidad y no repudio gracias a el uso de firmas digitales. Introducimos el concepto de referencias cruzadas sobre cadenas de hash como una manera de verificable de atestiguar sobre los estados de otros usuarios. ClaimChain permite detectar el compromiso de claves, que se manifiestan como bifurcaciones de las cadenas de hash, e implementar diversas políticas sociales para derivar decisiones sobre el estado más reciente de los usuarios en el sistema. La realizaction de afirmaciones sobre las claves de otras personas introduce una problema de privacidad inexistente en diseños centralizados de PKI. Esta información puede revelar el grafo social, y a veces incluso patrones de comunicación. Para resolver este problema, usamos funciones aleatorias verificables criptográficamente para obtener identificadores privados, que son realeatorizados en cada actualización de las cadenas de los usuarios. Esto permite publicar de manera abierta y verificada afirmaciones que solo pueden ser leídas por usuarios autorizados, garantizando la privacidad del grafo social. Además, la construcción específica de los árboles Merkle en ClaimChain, junto a el uso de funciones aleatorias verificables, asegura que los usuarios no pueden engañar acerca de los estados de otras personas. ClaimChain es exible con respecto a las opciones de despliegue, permitiendo despliegues totalmente descentralizados, así como modos de operación centralizados, federados e híbridos. Hemos evaluado los requisitos computacionales y de memoria de ClaimChain usando una implementación prototipo. También hemos simulado el flujo del sistema utilizando el conjunto de datos de Enron, compuesto del historial de correos electrónicos reales en el contexto de una organización, con el fin de evaluar la eficacia de la propagación de material clave en un entorno totalmente descentralizado.---ABSTRACT---Public key infrastructure (PKI) is a necessary component for the functioning of modern secure communications. It allows communicating parties to establish cryptographic keys for their correspondents by maintaining high-integrity bindings between users (names, addresses, or other identifiers) and public keys used to encrypt and verify messages. Existing PKI systems provide different trade-offs between security properties. Most designs tend to be centralized, which eases the update of keys and provides good availability. A centralized design, however, requires users to trust the centralized source of authority for honestly providing correct public keys for requested identities, and puts such authority in a privileged position to perform surveillance on users. On the other hand, current approaches that alleviate these issues are limited in terms of exibility and capability to rapidly revoke and update keys. Thus, they are not suitable for modern applications that require frequent key changes for security reasons. We envision a decentralized PKI design, that we call ClaimChain, where each user or device maintains repositories of claims regarding their own key material, and their beliefs about public keys and, generally, state of other users of the system. High integrity of the repositories is maintained by virtue of storing claims on authenticated data structures, namely hash chains and Merkle trees, and their authenticity and non-repudiation by the use of digital signatures. We introduce the concept of crossreferencing of hash chains as a way of efficient and verifiable vouching about states of other users. ClaimChain allows to detect chain compromises, manifested as forks of hash chains, and to implement various social policies for deriving decisions about the latest state of users in the system. The claims about keys of other people introduces a privacy problem that does not exist in the centralized PKI design. Such information can reveal the social graph, and sometimes even communication patterns. To solve this, we use cryptographic verifiable random functions to derive private identifiers that are re-randomized on each chain update. This allows to openly and verifiably publish claims that can only be read by the authorized users, ensuring privacy of the social graph. Moreover, the specific construction of Merkle trees in ClaimChain, along with the usage of verifiable random functions, ensures users can not equivocate about the state of other people. ClaimChain is exible with respect to deployment options, supporting fully decentralized deployments, as well as centralized, federated, and hybrid modes of operation. We have evaluated the ClaimChain's computation and memory requirements using a prototype implementation. We also simulated the ow of the system using Enron dataset, comprising real-world email communication history within an organization, in order to evaluate the effectiveness of propagation of key material in a fully decentralized setting.

Más información

ID de Registro: 47156
Identificador DC: http://oa.upm.es/47156/
Identificador OAI: oai:oa.upm.es:47156
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 09 Jul 2017 06:16
Ultima Modificación: 09 Jul 2017 06:16
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM