ARQUITECTURA DE REFERENCIA DE SEGURIDAD PARA BLOCKCHAIN

Página creada Nicolas Biescas
 
SEGUIR LEYENDO
ARQUITECTURA DE REFERENCIA DE SEGURIDAD
           PARA BLOCKCHAIN

María I Ortega1, Julio Moreno2, Manuel A. Serrano3 and Eduardo Fernández-Medina4
                                 1
                                  Telefónica, Madrid, España
                                 2
                                  NTT Data, Madrid, España
                           3
                             Alarcos, UCLM, Ciudad Real, España
                            4
                              GSyA, UCLM, Ciudad Real, España

                mariaisabel.ortegacanalejo@telefonica.com

       Resumen. La seguridad de la tecnología blockchain está más que nunca en el
       punto de mira. Constantemente se identifican ataques a DLTs (Distributed Led-
       ger Technology), incluyendo blockchain, que ponen de manifiesto la necesidad
       de reforzar la seguridad de éstas. El uso de arquitecturas de seguridad de refe-
       rencia (SRA) ha demostrado ser útil para abordar la seguridad en las primeras
       fases del desarrollo facilitando la definición de requisitos de seguridad y ayu-
       dando a implementar políticas de seguridad que nos permitan proteger un sistema
       durante todo el ciclo de vida. En este artículo se presenta una SRA para la tecno-
       logía blockchain definida mediante modelos y comprobando su aplicación me-
       diante un ejemplo de uso.

       Keywords: Blockchain, arquitectura de referencia, SRA, seguridad por diseño.

1      Introducción

Desde la aparición en 2008 de Bitcoin [1], la tecnología blockchain no ha dejado de
sumar adeptos. Prueba de este interés, es la creciente inversión que se está realizando
en blockchain tanto en la industria como en el mundo académico. Esta creciente inver-
sión puede verse reflejada en el estudio de MarketsandMarkets [2], en el que se estima
que el uso de blockchain pasará de 258 millones de dólares en 2020 a 2.409 millones
de dólares en 2026, con una tasa de crecimiento anual media del 45,1%. Además, los
resultados de la encuesta anual global de 2020 sobre blockchain realizada por Deloitte
[3], revelaron que el 53% de las organizaciones consideran que blockchain es una de
sus cinco prioridades estratégicas. Así mismo, la tendencia de los resultados indica que
se trata de una tendencia creciente, ya que el año anterior sólo el 43% de los encuestados
contaban con esta opinión.
   A pesar de que la tecnología blockchain se presenta como una tecnología de registro
de transacciones a prueba de manipulaciones, es una realidad que las redes blockchain
no son inmunes a los ciberataques y al fraude. De hecho, se estima que durante el primer
trimestre de 2019 se produjo la pérdida de más de 356 millones de dólares en redes
2

blockchain por problemas relacionados con la seguridad [4]. Algunos ejemplos concre-
tos de estas acciones son la pérdida de 13 millones de dólares de EOS y 6 millones de
dólares en Ripple sólo durante el mes de marzo de 2019 [5]. Además, un nuevo informe
de la firma de inteligencia de amenazas de criptocurrency forensics y blockchain Cip-
hertrace [6] muestra que han sido sustraídos 100 millones de dólares de redes distribui-
das sólo en 2020, lo que refuerza la importancia de que la seguridad esté presente en
cualquier solución blockchain.
   Hay muchas variables a tener en cuenta a la hora de diseñar una solución de seguri-
dad. En general, las amenazas de seguridad se dividen en tres categorías principales [7]:
vulnerabilidades en el endpoint, código no comprobado y riesgo en el ecosistema pro-
pio o de terceros.
   En primer lugar, las vulnerabilidades endpoint se presentan como el método más
directo y potencialmente más fácil de atacar sobre cualquier solución tecnológica [7]
como pueden ser carteras digitales, dispositivos o aplicaciones. Si uno de estos puntos
se ve comprometido y un actor malintencionado obtiene acceso a una cuenta, a menos
que se establezcan protecciones de seguridad adicionales, es posible que se realice una
acción fraudulenta sin que se produzca ninguna alarma externa o señal de comporta-
miento anormal.
   En segundo lugar, el código no comprobado es un reflejo de cómo a medida que las
nuevas tecnologías entran en el mercado, los desarrolladores se ven incentivados a ser
los primeros en presentar una solución, a menudo con el riesgo de desplegar un código
insuficientemente probado en blockchains activas. Un ejemplo muy conocido es el ata-
que a la organización autónoma descentralizada (DAO) de la red Ethereum en 2016,
dónde se desarrollaron códigos y contratos inteligentes en los que existían vulnerabili-
dades en el código. Esto provocó la explotación de una vulnerabilidad que tenía la ca-
pacidad de manipular los contratos inteligentes para extraer el dinero debido a un error
en una llamada recursiva con la que se consiguió desviar cerca de 60 millones de dóla-
res.
   Como última amenaza, destaca el riesgo inherente en el ecosistema de las aplicacio-
nes que utilizan blockchain que puede incluir la asociación con proveedores o terceros.
Una seguridad deficiente del ecosistema o un código defectuoso pueden exponer las
credenciales de los usuarios y los datos de la cadena de bloques a personas no autori-
zadas.
   Para hacer frente a las amenazas de seguridad, la seguridad debe abordarse a partir
de políticas de alto nivel que puedan ser trasladadas a niveles inferiores [8]. Las Arqui-
tecturas de Referencia (RA) proporcionan un modelo abstracto que soporta uno o más
dominios y no tiene características de implementación [9] permitiendo así, que sean
reutilizables, escalables y configurables [10]. Al incorporar un conjunto de elementos
que facilitan la definición de los requisitos de seguridad y permiten una mejor com-
prensión de la seguridad, las políticas, las amenazas y las vulnerabilidades, obtenemos
una Arquitectura de Referencia de Seguridad (SRA), es decir, una arquitectura de alto
nivel que puede utilizarse para describir un modelo conceptual de seguridad de un sis-
tema.
   En este trabajo hemos definido una SRA para blockchain, basándonos en las dife-
rentes propuestas de la comunidad científica, las diferentes propuestas de la industria y
3

la implementación habitual de múltiples sistemas blockchain abstrayendo sus compo-
nentes y basándonos en los principales ataques que hacen vulnerable a un sistema blo-
ckchain para identificar los elementos de la arquitectura que son más vulnerables y en
los que se debe centrar la implementación de una solución de seguridad.
   Nuestra propuesta presenta una arquitectura que sirve de base para el desarrollo de
un sistema blockchain, ya sea con fines académicos o en la industria, considerando la
seguridad desde el diseño del sistema de forma integrada en la pila de la tecnología
blockchain para evitar que se considere sólo en el momento del lanzamiento, o como
algo que rodea a una aplicación una vez desarrollada.
   Organizamos el contenido del documento de la siguiente manera: en primer lugar,
se presentan los trabajos relacionados existentes; en segundo lugar, se presenta nuestra
propuesta de SRA para blockchain; en tercer lugar, comparamos nuestra arquitectura
con un caso real de estudio mostrando cómo se pueden instanciar los diferentes com-
ponentes que intervienen en su abordaje. Por último, incluimos una sección en la que
se discuten las conclusiones y el trabajo futuro.

2      Trabajos relacionados

La normalización de la tecnología blockchain es un paso importante hacia un concepto
común, la interoperabilidad, el escalado, la auditoría y la posible regulación posterior
de la tecnología. Aunque existen varias iniciativas de definición de normas y estándares
para el desarrollo y mantenimiento de blockchain, se encuentran en una fase muy pre-
liminar, siendo esto un obstáculo para el asentamiento de la tecnología [11].
   Existen múltiples iniciativas de organizaciones que están trabajando en documentos
de estandarización. La Norma UNE 71307-1 [12] define un marco de referencia gené-
rico para la gestión de identidades de individuos u organizaciones, permitiendo contro-
lar su propia identidad digital de forma auto-gestionada en un sistema blockchain.
   El NIST publicó en 2018 NISTIR 8202 - Blockchain Technology Overview [13]. Este
documento aborda las funcionalidades y componentes fundamentales de un sistema
blockchain, así como las preocupaciones de ciberseguridad y la aplicabilidad general
de blockchain en las organizaciones. El propósito de este documento es únicamente
servir de punto de entrada a la tecnología de blockchain, ya que explica la estructura y
los modelos, los mecanismos de consenso y los ejemplos conocidos de la misma, así
como una serie de cuestiones y consideraciones específicas de blockchain sin profun-
dizar en los elementos técnicos.
   ANSI SCX9 publicó también en 2018 el informe de su grupo de estudio sobre DLT
(Distributed Ledger Technology) y blockchain [14]. En este estudio trabajaron junto
con expertos de varios campos y evaluaron qué tipos de esfuerzos de estandarización
serían tanto necesarios como beneficiosos especialmente para el sector financiero, pero
también para otras industrias, así como para aumentar la adopción de DLT. La mayor
parte del documento se centra en las necesidades y los problemas de seguridad de blo-
ckchain que aborda principalmente centrándose en el ámbito financiero. Para facilitar
la comprensión de los componentes clave de los sistemas blockchain, se incluye en el
4

apéndice una arquitectura de referencia de alto nivel para ofrecer una explicación ge-
neral del funcionamiento de un sistema DLT. La norma ISO/TR 23455:2019 [15]
ofrece un extenso debate de los contratos inteligentes dentro de un sistema de blo-
ckchain/DTL y su funcionamiento.
   Es posible además apreciar el interés en abordar la seguridad por diseño, la norma
DIN SPEC 4997 Privacy by Blockchain Design [16] describe un modelo estandarizado
para el tratamiento de datos personales mediante blockchain teniendo en cuenta el Re-
glamento General de Protección de Datos (GDPR) de la UE. De especial interés es el
Art. 25, Privacidad por diseño. El documento presenta una visión general de los riesgos
y mitigaciones de los principios de protección de datos con un claro enfoque en la pri-
vacidad por diseño, así como un proyecto de arquitectura de privacidad por diseño de
blockchain.
   Homoliak et.al. [17] propone una arquitectura basada en versión específica para blo-
ckchain de la norma de evaluación de riesgos de amenazas ISO/IEC 15408 mediante la
adaptación de una versión personalizada del modelo apilado de cuatro capas presentado
en el trabajo de Wang et al. [18]. Esta propuesta, diferencia de este trabajo, que se
centra únicamente en el riesgo sin tener en cuenta objetivos empresariales ni la orques-
tación de políticas de seguridad.
   A pesar del creciente interés en la estandarización de los sistemas blockchain, no se
han realizado estudios que hayan definido arquitecturas de seguridad en los que se
aborde la implementación de sus diferentes componentes. En este artículo se realiza
una propuesta de SRA para blockchain dónde se especifican los componentes de la
tecnología, así como, las relaciones entre los diferentes componentes y subcomponen-
tes. También se integran diferentes conceptos de seguridad para garantizar la protección
de este tipo de sistemas.

3      Arquitectura de referencia de seguridad para
       Blockchain

En este trabajo se han analizado las funcionalidades y componentes fundamentales de
un sistema blockchain que han sido propuestos por el NIST [13], así como las preocu-
paciones de ciberseguridad y la aplicabilidad general de blockchain. También se han
considerado las principales implementaciones de blockchain en el mercado centrándo-
nos en Bitcoin [1], Ethereum [19], Hyperledger [20] por ser las tecnologías más conso-
lidadas a día de hoy y se han abstraído sus principales componentes para crear nuestra
arquitectura. Hemos definido nuestra SRA a través de diagramas UML ya que encon-
tramos una carencia de propuestas en las que se definan con precisión las relaciones
entre los diferentes componentes y subcomponentes. Así mismo, se trata de un lenguaje
ampliamente aceptado que facilita la comprensión de las relaciones entre los diferentes
componentes. Se ha utilizado un modelo en capas ya que nos ofrece simplicidad en la
implementación y el mantenimiento, flexibilidad y escalabilidad. La arquitectura está
dividida en seis componentes diferentes que interactúan entre sí con diferentes objeti-
vos: capa de negocio, capa de orquestación, capa de aplicación, capa de servicio, capa
5

de plataforma y capa de red. La Fig.1 muestra la Arquitectura de Referencia de Segu-
ridad la arquitectura completa, así como todas las relaciones entre los diferentes com-
ponentes y sub-componentes.

                    Fig. 1. Arquitectura de Seguridad para Blockchain
6

3.1    Capa de negocio
La capa de negocio tiene como objetivo definir las reglas de negocio que recogen las
funcionalidades que debe ofrecer la red blockchain. Debido a las características de esta
capa, las actividades de seguridad relacionadas se centran en general en la definición
de políticas de seguridad de desde la capa de orquestación, descrita en la siguiente sec-
ción, y en cómo implementarlas y supervisarlas.
   El sistema blockchain debe satisfacer el objetivo para el que ha sido creado cum-
pliendo con los objetivos a la vez que manteniéndose alineados con los diferentes ob-
jetivos de negocio y las políticas de la empresa. En este sentido, el papel del adminis-
trador de seguridad es crucial para garantizar el cumplimiento de los requisitos de se-
guridad. Estos requisitos de seguridad deben cumplir con la normativa que afecta a cada
contexto del ecosistema y serán definidos en la siguiente capa.

3.2    Capa de orquestación
La capa de orquestación tiene como objetivo abordar los diferentes requisitos que debe
cumplir el ecosistema blockchain. Según Biktimirov et al. [21] los requisitos de la tec-
nología blockchain pueden dividirse en los siguientes grupos:
─ Requisitos estructurales sobre la disponibilidad de determinados tipos de datos en
  los enlaces de blockchain para garantizar el funcionamiento de la tecnología.
─ Requisitos empresariales relacionados con las políticas aplicadas, como las normas
  internacionales de criptografía, así como las normas nacionales o institucionales en
  los ámbitos de aplicación: fiscalidad, tecnologías de votación, flujo de trabajo de
  documentos internos, etc. Estos requisitos deben estar alineados con los objetivos
  del proceso de negocio para satisfacer la función para la que han sido definidos.
─ Requisitos tecnológicos sobre la fiabilidad del almacenamiento de bloques, utili-
  zando la tecnología propuesta por Zitsev et al. [22] para mantener los parámetros de
  fiabilidad y disponibilidad del almacenamiento de enlaces.
─ Requisitos de fiabilidad con una estructura clara de la cadena de bloques, tecnologías
  reguladas de procesamiento de enlaces y una interfaz para las operaciones de enlace.
  Todas las interfaces aplicadas deben estar disponibles con código fuente para garan-
  tizar un alto nivel de confianza.
   Los requisitos de seguridad pueden ser satisfechos por diferentes soluciones de se-
guridad que siguen las políticas de seguridad de la empresa y tienen como objetivo
principal hacer frente a las amenazas para controlar las vulnerabilidades. La definición
de estas soluciones de seguridad puede ser guiada por el uso de patrones de seguridad,
los cuales, se puede definir como una solución a problemas recurrentes que indican
cómo defenderse de una amenaza, o de un conjunto de amenazas, de forma concisa y
reutilizable [35].
7

3.3    Capa de aplicación
La capa de aplicación contiene soluciones para el usuario final y aplicaciones que se
construyen sobre la red blockchain; por lo tanto, las amenazas a la seguridad son espe-
cíficas para cada aplicación. Esta capa puede existir total o parcialmente fuera de la
red [19]. Uno de los elementos centrales de la capa de aplicación son las Aplicaciones
Descentralizadas o DApps. Se trata de aplicaciones software que se ejecutan en una red
descentralizada peer-to-peer, normalmente una red blockchain. Las DApps suelen in-
cluir una interfaz de usuario que se ejecuta en otro sistema (centralizado o descentrali-
zado). Las DApps también incluyen exploradores de blockchain, herramientas de mon-
itorización y otras herramientas de inteligencia empresarial.
   Los exploradores implementados en una red blockchain son la forma más habitual
de recuperar información, estando habitualmente las partes de confianza centralizadas.
En el caso de las herramientas de monitorización facilitan la gestión de múltiples redes,
la identificación de problemas y el mantenimiento general de la salud de la red de la
cadena de bloques. Las herramientas de inteligencia empresarial proporcionan, además,
una plataforma para el seguimiento de los registros mantenidos en su base de datos
cifrada basada en el libro mayor.
   Dado que se permite a los desarrolladores desarrollar sus propias DApps con con-
tratos inteligentes personalizados, son aplicaciones muy vulnerables a ataques. Un caso
común es que se produzca un ataque en la fase de transferencia de la información del
nodo. Aplicar una solución de seguridad específica según el funcionamiento de la apli-
cación permitirá disminuir el impacto de estos.

3.4    Capa de servicio

La capa de servicio permite hacer más accesible la cadena de bloques, en particular
para las empresas, reduciendo los costes y los gastos generales de adopción de la tec-
nología. La naturaleza precisa de una implementación de SaaS (Software as a Service)
dependerá del proveedor de servicios, las especificaciones de la aplicación y los ob-
jetivos del cliente [23]. Esta capa integra los gestores de activos, eventos del block-
chain.
    La gestión de activos tiene como objetivo garantizar la gestión de los activos de la
capa de la plataforma, siendo los activos almacenados en la cadena de bloques la razón
principal de la existencia de la cadena. El activo digital puede ser unidades monetarias
o de otro tipo, sobre los que una organización quiere interactuar.
    La gestión de los activos puede ser integrada con los sistemas de gestión empresarial
a través de interfaces externas mediante APIs, bibliotecas y técnicas comunes. Una co-
nexión directa con el núcleo de blockchain permite el correcto funcionamiento de estas
herramientas [19]. Además de las capacidades de despliegue y configuración, es im-
portante que existan posibilidades para gestionar eventos como la notificación de fallos
del software, la gestión del rendimiento, la gestión de la seguridad, la integración con
otro software empresarial y las herramientas de análisis histórico. Estos eventos pueden
ser generados través de estas APIs, bibliotecas y técnicas comunes.
8

   En el caso de blockchain destaca el uso de offchains y oráculos para la gestión de
eventos. Las transacciones offchain, que se producen fuera de la cadena, están ganado
popularidad debido a su coste cero/bajo. Las transacciones fuera de la cadena ofrecen
muchas ventajas: pueden ser ejecutadas instantáneamente, no suelen tener una comisión
por transacción, ya que nada ocurre dentro de la blockchain, y ofrecen más seguridad y
anonimato a los participantes, ya que los detalles no se transmiten públicamente, lo que
hace imposible averiguar parcialmente la identidad de un participante estudiando los
patrones de las transacciones. Los oráculos ofrecen un servicio externo a la cadena que
es llamado para proporcionar información de una fuente externa, por ejemplo, una tasa
de cambio o el resultado de un cálculo matemático. Los oráculos son un puente seguro
entre los contratos inteligentes y las fuentes de información del mundo real.
   La gestión de la identidad es primordial para la gestión de las claves privadas crip-
tográficas, que están asociadas a la cuenta de un usuario. Los clientes de blockchain
suelen optar por ofrecer una gestión local de las credenciales de los usuarios, como las
claves del sistema y de la cartera. Estas facilidades también pueden aplicarse fuera del
ámbito de un cliente.
   La solución de seguridad en esta capa adquiere relevancia al estar compuesto por
elementos sensibles. Se deben implementar políticas que eviten una explotación inde-
bida protegiendo que todas las transacciones sean legítimas y que la gestión de activos
e identidades no se explote adulterando los activos.

3.5    Capa de plataforma
Es el núcleo de la arquitectura y se encarga de la ejecución de la lógica de la red, con-
tiene los elementos necesarios para la publicación de cada bloque. En función de la
implementación de este componente existe la posibilidad de la creación y gestión por
parte de terceros de redes basadas en la nube para empresas dedicadas a la construcción
de blockchain.
   La solución de seguridad en la capa de la plataforma tiene como objetivo mitigar el
daño que se puede causar a una red blockchain mediante la explotación de las vulnera-
bilidades identificadas, protegiendo los activos digitales contenidos en la cadena. Toda
la infraestructura de la plataforma blockchain puede entenderse como un Blockchain-
as-a-Service (BaaS) que permite la creación y gestión por parte de terceros de redes
basadas en la nube para empresas dedicadas a la construcción de aplicaciones blo-
ckchain. Esta empieza a ser una tendencia creciente y es una de las principales razones
para separar la capa de plataforma de la capa de servicio. La idea subyacente es con-
seguir un funcionamiento similar al de un host web. Es decir, que ejecute el funciona-
miento del backend de una aplicación.
   La tecnología blockchain funciona de forma que cada bloque almacena un número
de registros o transacciones válidas, información relativa a ese bloque, su vínculo con
el bloque anterior y el siguiente a través del hash de cada bloque. Cada bloque está
vinculado al bloque anterior mediante un hash criptográfico [24].
   Todas las transacciones deben ser cifradas con conceptos de Infraestructura de Clave
Pública (PKI) para evitar que se vea comprometido con partes no deseadas. Es impor-
tante que la identidad y la autorización de la creación de la transacción estén protegidas.
9

La mayoría de las veces esto se hace a través de la dirección, la clave pública y la clave
privada de cada usuario en la cadena de bloques. La función de multifirma estará dis-
ponible para las transacciones sensibles en la blockchain [25]. Los bloques además con-
tienen información relativa a los contratos inteligentes en los que se recogen las cláu-
sulas e información de cualquier contrato físico en forma de código y que deberán cum-
plirse para publicar un nuevo bloque. La comunidad de SmartContractSecurity [26] ha
clasificado en 25 categorías las principales amenazas que afectan a los contratos inteli-
gentes y que deben ser tenidos en cuenta en el momento de la modificación o imple-
mentación de nuevos contratos como son el consumo incontrolado de recursos, la veri-
ficación insuficiente de la autenticidad de datos, accesos a punteros no inicializados o
la verificación inadecuada de la firma criptográfica entre otros.

3.6    Capa de red
La capa de red es la base sobre la que se sustenta la tecnología blockchain. Básicamente,
las redes blockchain son redes que se superponen a otras redes; por lo tanto, heredan
los problemas de seguridad y privacidad de las redes subyacentes. La capa de red es,
por tanto, una de las bases sobre las que se asienta esta arquitectura siendo crucial contar
con soluciones de seguridad que puedan cubrir los problemas de la red.
   Los principales servicios proporcionados por la capa de red en la tecnología blo-
ckchain son la gestión y el descubrimiento peer-to-peer, que se basan en el funciona-
miento de la red subyacente, como la resolución de nombres de dominio (DNS) o el
enrutamiento de la red (por ejemplo, el enrutamiento LAN para IP, el enrutamiento
WAN como BGP).
   Los problemas de seguridad de la capa de red es uno de los temas de investigación
más populares en el campo de la seguridad blockchain [27]. Entre los diferentes ata-
ques, los ataques de denegación de servicio distribuidos (DDoS). Así mismo, los ata-
ques eclipse son también muy populares. Estos ataques deshabilitan la conexión de un
nodo de la red con el resto de los nodos que son utilizados por el atacante [28].

4      Aplicación de la SRA

Se ha utilizado un caso real para analizar la aplicabilidad de la arquitectura propuesta.
Nos hemos servido del caso propuesto por Sladic et al. [29] donde presentan la imple-
mentación de una notaría sobre la red blockchain que soporta las transacciones realiza-
das en el catastro de Serbia. El sistema almacena el vínculo legal entre las propiedades
y sus propietarios [30], así como el mapa catastral que contiene los datos geométricos
y los atributos topográficos del suelo [31]. La Fig 2. detalla la correlación del caso de
estudio con la arquitectura propuesta. Para un mejor entendimiento del caso propuesto,
se han destacado los elementos que se correlacionan con nuestra arquitectura dejando
en gris aquellos de los que no se hace uso en la propuesta.
10

   En la capa de negocio se propone utilizar una cadena de bloques híbrida que permita
la consulta del catastro por la población, pero que garantice que los registros de propie-
dad sean realizados siempre por un notario. En este caso, capa de negocio mapea com-
pletamente con la arquitectura propuesta en este estudio.

                Fig. 2. Arquitectura del caso propuesto por Sladic et al. [29]
11

   A través de la capa de orquestación aseguramos el cumplimiento de uno de los prin-
cipales requisitos de seguridad del sistema que consiste en que todos los usuarios pue-
dan consultar los datos del catastro, pero únicamente puedan ser modificados por la
figura de un notario. Con este fin, se propone que los usuarios únicamente puedan ac-
ceder utilizando sus certificados digitales, documentos digitales que vinculan la clave
pública del usuario con la identidad de este y la autoridad de certificación que verificó
el contenido del certificado. El uso de certificados digitales permite controlar los ries-
gos de accesos no deseados siendo un patrón de seguridad de identificación amplia-
mente extendido. Por otro lado, los requisitos de la cadena deben cumplir con la regu-
lación existente. En este sentido, debe regirse por la Ley de documento electrónico,
identificación electrónica y servicios de confianza en el comercio electrónico [32]. A
este nivel de la arquitectura todos los componentes de la capa de orquestación coinciden
completamente con la arquitectura propuesta.
   Así mismo, en la capa de aplicación la información del catastro se mantiene accesi-
ble para todos los usuarios a través de una DApp consistente en un frontal que web
permite el acceso a los datos almacenados en la cadena. El frontend de la DApp utiliza
una web estándar para el desarrollo de la interfaz, es decir, HTML, CSS y JavaScript
para renderizar una página y recuperar detalles directamente desde el backend. Por otro
lado, se presenta una segunda DApp que permite a los notarios almacenar las claves
hash de los documentos durante las actividades de transferencia de derechos. A pesar
de que no se concretan medidas de seguridad para ambas DApps, deben ser considera-
das teniendo en cuenta la tecnología utilizada.
    La capa de servicio está orientada a hacer más accesible la cadena de bloques que
difiere con el objetivo de la arquitectura propuesta. La incorporación de elementos de
esta capa dependerá de si se pretende realizar una implementación orientada a obtener
servicios compartidos multiusuario que permitan ahorrar recursos sociales y lograr una
mayor escala. El componente de gestión de identidad ofrece la posibilidad de centrali-
zar la gestión de identidades dado que no se espera que cualquiera pueda generar
transacciones, sino sólo un grupo seleccionado de usuarios. El gestor de identidad con-
tiene la información relativa al usuario dado que en los controles de acceso incluyen la
verificación de que el usuario puede realizar modificaciones. La gestión de la identidad
del grupo seleccionado de usuarios que tienen permiso para generar transacciones en el
sistema se realiza mediante criptografía de clave pública. El usuario que realice un cam-
bio firmará con su certificado electrónico para demostrar su identidad.
    La plataforma del sistema propuesto comprende datos alfanuméricos sobre los de-
rechos de propiedad, los titulares de los derechos y los atributos de las propiedades,
como la superficie; y datos geoespaciales (mapa catastral) como resultado de las acti-
vidades topográficas. Estos datos comprenden nuestros activos y pueden ser objeto de
una transacción en blockchain. La transacción constituye una entrada de datos que son
almacenadas en un bloque, perteneciente al libro mayor distribuido, y que contiene la
información de la transacción, es decir, userId, identificación única de una propiedad
(municipio administrativo, municipio catastral, número y subnúmero de la parcela, nú-
mero de un edificio en la parcela/número de la parte de la parcela, número de una uni-
dad de construcción), número del cambio, tipo del cambio y la descripción del cambio.
Además, la transacción se completa con los detalles de la transacción sobre el cambio
12

que se ha producido (número del cambio, tipo de cambio, descripción, fecha, etc.). Se
utilizan los Smart contracts [33] para proporcionar seguridad y ejecutar el código de un
contrato inteligente mediante ordenadores en la red de Ethereum. El resultado de la
ejecución también es almacenado en el bloque al realizar una transacción. Por último,
la cadena de bloques contiene la información de los usuarios que han realizado la
transacción. Los usuarios tienen dos claves: una clave privada que sólo conoce el usua-
rio y una clave pública compartida con toda la red. El usuario que ha realizado el cam-
bio firma digitalmente la transacción con su clave privada. Una vez creada, la transac-
ción se inserta en un bloque recién creado (junto con otras transacciones válidas que se
crean al mismo tiempo) y, tras ser verificada por la red, el bloque se añade a la cadena.
    La arquitectura de este caso de estudio hace uso de la red P2P para soportar el resto
de las capas de la arquitectura. En este punto no hay diferencia entre los componentes
de arquitectura y nuestra SRA.
    Como se ha mencionado anteriormente una SRA pretende ofrecer una arquitectura
con un alto nivel de abstracción que permita cubrir cualquier escenario de implementa-
ción en un sistema blockchain, aplicando la implementación de unos u otros compo-
nentes en función de la necesidad de la propia cadena blockchain. Si observan los com-
ponentes propuestos por Sladic et al. [29] se puede concluir por tanto que el caso se
encuentra alineado con la SRA propuesta en el presente documento permitiéndonos
validar la aplicabilidad de la propuesta.

5      Conclusiones y trabajo futuro

    En este trabajo se ha presentado una SRA que sirve de base para el desarrollo de un
sistema blockchain, integrando la seguridad desde las primeras fases del ciclo de vida
de esta tecnología.
    Para ello, se han analizado las funcionalidades y componentes fundamentales de
un sistema blockchain propuestos por el NIST [13], y abstraído la estructura y los com-
ponentes de las principales implementaciones de blockchain del mercado. Hemos defi-
nido nuestra SRA a través de diagramas UML, lenguaje ampliamente aceptado que
facilita la comprensión de las relaciones entre los diferentes componentes. Además, el
uso de UML nos ha permitido definir con precisión las relaciones entre los diferentes
componentes y subcomponentes.
    Por último, se ha mostrado la aplicabilidad de nuestra propuesta a través de la rea-
lización de un ejemplo real demostrando encajar de forma eficaz e incorporando todos
los elementos necesarios para la implementación del sistema. Como trabajo futuro se
pretende realizar un caso de estudio completo que nos permita validar y refinar nuestra
propuesta.

Agradecimientos

Este trabajo ha sido financiado por el proyecto ECLIPSE (RTI2018-094283-B-C31 fi-
nanciado por el Ministerio de Economía y Competitividad y el Fondo Europeo de Desa-
13

rrollo Regional FEDER) y el proyecto GENESIS (SBPLY-17-180501-000202 finan-
ciado por la "Consejería de Educación, Cultura y Deportes de la Dirección General de
Universidades, Investigación e Innovación de la JCCM"), y el Programa Operativo Re-
gional FEDER 2014/2020.

Referencias
 1. S. Nakamoto, «Bitcoin: A peer-to-peer electronic cash system,” http://bitcoin. org/bitcoin.
    pdf», 2008.
 2. «Blockchain IoT Market by Component (Hardware (IoT Sensors & Crypto-Wallets), Soft-
    ware and Platform, and Services), Application (Smart Contract, Security, and Asset Track-
    ing and Management), Organization Size, Vertical, and Region - Global Forecast to 2026»,
    Disponible en: https://www.marketsandmarkets.com/Market-Reports/blockchain-iot-mar-
    ket-168941858.html
 3. Delloite, «5 Blockchain Trends for 2020». Disponible en: https://www2.deloitte.com/con-
    tent/dam/Deloitte/ie/Documents/Consulting/Blockchain-Trends-2020-report.pdf
 4. Ciphertrace, «Q1 2019 Cryptocurrency Anti-Money Laundering Report», 2019. https://then-
    extweb.com/hardfork/2019/05/01/cryptocurrency-stolen-first-quarter-2019-hack/
 5. Wolfie Zhao, «Crypto Exchange Bithumb Hacked for $13 Million in Suspected Insider Job»,
    2019. https://www.coindesk.com/crypto-exchange-bithumb-hacked-for-13-million-in-sus-
    pected-insider-job
 6. Ciphertrace, «Half of 2020 Crypto Hacks are from DeFi Protocols and Exchanges», Cipher-
    trace. https://ciphertrace.com/half-of-2020-crypto-hacks-are-from-defi-protocols-and-ex-
    changes/
 7. Accenture, «Blockchain’s potential starts with security».
 8. E. B. Fernandez, R. Monge, y K. Hashizume, «Building a security reference architecture for
    cloud systems», Requir. Eng., vol. 21, n.o 2, pp. 225-249, 2016.
 9. P. Avgeriou, «Describing, instantiating and evaluating a reference architecture: A case
    study», Enterp. Archit. J., vol. 342, pp. 1-24, 2003.
10. E. B. Fernandez, N. Yoshioka, H. Washizaki, y M. H. Syed, «Modeling and security in cloud
    ecosystems», Future Internet, vol. 8, n.o 2, p. 13, 2016.
11. A. Deshpande, K. Stewart, L. Lepetit, y S. Gunashekar, «Distributed Ledger Technolo-
    gies/Blockchain: Challenges, opportunities and the prospects for standards», Overv. Rep.
    Br. Stand. Inst. BSI, vol. 40, p. 40, 2017.
12. UNE 71307-1:2020 Digital Enabling Technologies. Decentralised Identity Management
    Model based on Blockchain and other Distributed Ledgers Technologies.
13. D. Yaga, P. Mell, N. Roby, y K. Scarfone, «NISTIR 8202 Blockchain Technology Over-
    view». oct. 2018. [En línea]. Disponible en: https://csrc.nist.gov/publications/detail/nis-
    tir/8202/final
14. Accredited Standards Committee X9, «ASC X9 Study Group Report Distributed Ledger and
    Blockchain Technology Study Group». abr. 2018. [En línea]. Disponible en:
    https://x9.org/wp-content/uploads/2018/04/Distributed-Ledger-and-Blockchain-Techno-
    logy-Study-Group-Report-FINAL.pdf
15. «ISO/TR 23455:2019 Blockchain and distributed ledger technologies — Overview of and
    interactions between smart contracts in blockchain and distributed ledger technology sys-
    tems». 2019.
16. S. Schwalm, DIN SPEC 4997 Privacy by Blockchain Design: 2020.
14

17. I. Homoliak, S. Venugopalan, Q. Hum, D. Reijsbergen, R. Schumi, y P. Szalachowski, «The
    security reference architecture for blockchains: Towards a standardized model for studying
    vulnerabilities, threats, and defenses», ArXiv Prepr. ArXiv191009775, 2019.
18. W. Wang et al., «A survey on consensus mechanisms and mining strategy management in
    blockchain networks», IEEE Access, vol. 7, pp. 22328-22370, 2019.
19. «Enterprise Ethereum Alliance Client Specification v6». https://entethalliance.github.io/cli-
    ent-spec/spec.html (accedido may 17, 2020).
20. «Hyperledger Facbric Architecture Reference». [En línea]. Disponible en: https://hyperled-
    ger-fabric.readthedocs.io/en/release-1.3/architecture.html
21. M. Biktimirov, A. Domashev, P. Cherkashin, y A. Y. Shcherbakov, «Blockchain technol-
    ogy: Universal structure and requirements», Autom. Doc. Math. Linguist., vol. 51, n.o 6, pp.
    235-238, 2017.
22. A. Zaitsev, S. Gostev, P. Cherkashin, y A. Y. Shcherbakov, «Regarding the technology of
    distributed storage of confidential information in centers of general-purpose data pro-
    cessing», Autom. Doc. Math. Linguist., vol. 51, n.o 3, pp. 117-119, 2017.
23. J. Singh y J. D. Michels, «Blockchain as a Service (BaaS): Providers and Trust», en Pro-
    ceedings - 3rd IEEE European Symposium on Security and Privacy Workshops, EURO S
    and PW 2018, 2018, pp. 67-74. doi: 10.1109/EuroSPW.2018.00015.
24. W. Meng, E. W. Tischhauser, Q. Wang, Y. Wang, y J. Han, «When intrusion detection meets
    blockchain technology: A review», IEEE Access, vol. 6, pp. 10179-10188, 2018, doi:
    10.1109/ACCESS.2018.2799854.
25. P. S. G. A. Sri y D. L. Bhaskari, «A study on blockchain technology», Int. J. Eng. Technol.,
    vol. 7, pp. 418-421, 2018.
26. «Overview · Smart Contract Weakness Classification and Test Cases». http://swcregistry.io/
    (accedido may 17, 2020).
27. H. Hasanova, U. Baek, M. Shin, K. Cho, y M.-S. Kim, «A survey on blockchain cybersecu-
    rity vulnerabilities and possible countermeasures», Int. J. Netw. Manag., vol. 29, n.o 2, p.
    e2060, 2019.
28. X. Li, P. Jiang, T. Chen, X. Luo, y Q. Wen, «A survey on the security of blockchain sys-
    tems», Future Gener. Comput. Syst., 2017.
29. G. Sladić, B. Milosavljević, S. Nikolić, D. Sladić, y A. Radulović, «A Blockchain Solution
    for Securing Real Property Transactions: A Case Study for Serbia», ISPRS Int. J. Geo-Inf.,
    vol. 10, n.o 1, p. 35, 2021.
30. A. Radulović, D. Sladić, y M. Govedarica, «Towards 3D cadastre in serbia: Development
    of serbian cadastral domain model», ISPRS Int. J. Geo-Inf., vol. 6, n.o 10, p. 312, 2017.
31. DJordje Pržulj, N. Radaković, D. Sladić, A. Radulović, y M. Govedarica, «Domain model
    for cadastral systems with land use component», Surv. Rev., vol. 51, n.o 365, pp. 135-146,
    2019.
32. Official Gazette of the Republic of Serbia, «The Law on Electronic Document, Electronic
    Identification and Trust Services in Electronic Business.» 2017.
33. N. Fotiou y G. C. Polyzos, «Smart Contracts for the Internet of Things: Opportunities and
    Challenges», en 2018 European Conference on Networks and Communications, EuCNC
    2018, 2018, pp. 256-260. doi: 10.1109/EuCNC.2018.8443212.
También puede leer