BLOG

Validación blockchain con HSM

by | Nov 13, 2017 | Blockchain

[wtr-time]

Los validadores son un componente central de una cadena de bloques y son responsables de validar nuevas transacciones y acordar un pedido canónico para el siguiente bloque. Este proceso se conoce como consenso.

¿Por qué proteger los validadores blockchain con HSM?

Las cadenas de bloque públicas grandes, como Bitcoin o Ethereum, disfrutan de propiedades de seguridad robustas debido a su gran escala. Poner en peligro una de estas redes requiere el control de más del 50% de la potencia minera en el planeta. No es una opción realista para los atacantes.

Por el contrario, las cadenas más pequeñas deben confiar en los medios tradicionales de seguridad para evitar que los malos actores subviertan los contenidos del libro mayor. Cuando tiene solo 5 o 10 nodos, subvertir el necesario 1/3 de participantes se convierte en un prospecto realista si se emplean protecciones insuficientes para proteger las claves de firma y la lógica de consenso.

 

HSM Thales

HSM Thales

 

Thales Tendermint HSM Validator

Tendermint es un popular motor de consenso utilizado por muchos proyectos de código abierto.

Junto con los desarrolladores de Tendermint, Thales eSecurity ha introducido la capacidad de proteger las claves de firma del validador y la lógica de consenso mediante un módulo de seguridad de hardware (HSM).

En el proyecto de codigo abierto GitHub tendermint-hsm-validator se muestran las partes en lenguaje de programación Go de la implementación de un validador HSM, las cuales se comunican con el software que se ejecuta internamente en forma segura dentro de un HSM Thales nShield.

Thales HSM PrivValidator

En Thales eSecurity han ayudado a diseñar la interfaz Tendermint PrivValidator (enlace), que implementamos en dicho proyecto GitHub. La implementación de PrivValidator es responsable de proteger una clave privada y decidir si se firman los votos, las propuestas y los heartbeats (consulte esta página para obtener una descripción general del protocolo de consenso).

La implementación protege la clave privada dentro del módulo de seguridad HSM y garantiza que los votos y las propuestas no se puedan firmar por duplicado (al evitar las denominadas regresiones de altura).

La implementación completa incluye el código Go presentado en este proyecto, más un código que se ejecuta dentro del nShield HSM. Los módulos Thales nShield que se utilizan incluyen una tecnología denominada Secure Execution Environment (SEE), la cual permite cargar en el HSM un tipo de componente denominado SEE Codesafe machine con el código que implementa las funciones que se deben ejecutar internamente en el HSM, utilizando su memoria protegida para el procesamiento del código dentro del perímetro físico y lógico de seguridad del HSM. El componente CodeSafe machine cargado en el HSM asegura que las claves privadas (también alojadas en el mismo HSM) solo se usen si el consenso se ejecuta correctamente.

Conocer más

Contáctenos para desea obtener más información sobre este proyecto.