ClaimChain: decentralized public key infrastructure

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

Description

Title: ClaimChain: decentralized public key infrastructure
Author/s:
  • Kulynych, Bogdan
Contributor/s:
Item Type: Thesis (Master thesis)
Masters title: Software y Sistemas
Date: July 2017
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of TFM_ BOGDAN_KULYNYCH.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

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.

More information

Item ID: 47156
DC Identifier: https://oa.upm.es/47156/
OAI Identifier: oai:oa.upm.es:47156
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 09 Jul 2017 06:16
Last Modified: 09 Jul 2017 06:16
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM