El sector de la criptografía ha sido testigo de una amplia variedad de esquemas de firmas digitales, cada uno con características y fortalezas específicas para abordar problemas de seguridad en diversas aplicaciones. Entre estos esquemas, las firmas BLS (Boneh–Lynn–Shacham) han ganado relevancia como una solución avanzada, especialmente en escenarios que requieren tanto alta eficiencia como seguridad.
A diferencia de otros esquemas, como ECDSA, Schnorr, multifirma, firmas por umbral (TSS) y firmas de anillo, las firmas BLS se basan en un enfoque matemático único: el uso de emparejamientos bilineales sobre curvas elípticas.
En el artículo de hoy, exploraremos las complejidades y beneficios de las firmas BLS, desglosando su funcionamiento, aplicaciones y desafíos criptográficos, además de comparar su rendimiento con los esquemas mencionados anteriormente.
Introducción a los esquemas de firma digital
Los esquemas de firma digital son elementos fundamentales en la criptografía moderna, empleados para proteger la autenticidad e integridad de las comunicaciones. En este contexto, las firmas BLS destacan por su simplicidad y su eficiencia, principalmente en aplicaciones que requieren optimización de recursos.
A diferencia de esquemas como RSA o ECDSA, que dependen de la dificultad del problema del logaritmo discreto o la factorización, BLS aprovecha los emparejamientos bilineales sobre curvas elípticas para proporcionar seguridad y autenticidad. Esta técnica garantiza, además, la implementación de características avanzadas como la agregación de firmas y el soporte para firmas de umbral (TSS) y multifirma, que tienen aplicaciones indispensables en sistemas distribuidos.
¿Qué son las firmas BLS?
El esquema de firma digital BLS utiliza emparejamientos bilineales en curvas elípticas, lo que le proporciona capacidades únicas. Entre ellas, una de las más destacadas es la agregación de firmas, lo que permite combinar múltiples firmas generadas por diferentes mensajes o claves en una sola firma compacta.
Esta capacidad es especialmente útil en sistemas distribuidos y redes de alto rendimiento, donde la reducción del coste computacional y de almacenamiento es importante.
Propiedades de las firmas BLS
- Determinista y única: Para una clave privada y un mensaje, solo existe una firma válida. Esta propiedad diferencia a BLS de esquemas como ECDSA o Schnorr, que dependen de números aleatorios (nonces) para generar firmas, lo que puede resultar en distintas firmas para el mismo mensaje.
- Agregación de firmas: Tiene la capacidad de combinar múltiples firmas en una sola, por lo que es de utilidad en sistemas de alta concurrencia, como en validación de transacciones en redes distribuidas. La verificación de firmas agregadas con BLS es más eficiente que la verificación individual en esquemas como multifirma, donde cada firma debe ser almacenada y verificada de manera independiente.
- No maleable: BLS previene la maleabilidad de las firmas, es decir, la modificación maliciosa de una firma sin que esta sea detectada. Esto mejora la resistencia contra ataques como los de reutilización de nonces, un riesgo presente en ECDSA.
- Eficiencia: Las firmas BLS son mucho más cortas en comparación con otros esquemas, lo que es beneficioso en sistemas donde el espacio de almacenamiento y ancho de banda son limitados.
Componentes criptográficos
El núcleo de las firmas BLS radica en el uso de emparejamientos bilineales sobre curvas elípticas. Estas curvas facilitan operaciones altamente eficientes que no solo refuerzan la seguridad criptográfica, sino que permiten la agregación de firmas múltiples en una sola, optimizando así tanto el rendimiento como la verificación en sistemas distribuidos.
- Curva elíptica: BLS utiliza una curva elíptica especial que admite emparejamientos bilineales, lo cual permite verificar múltiples firmas agregadas de manera eficiente.
- Emparejamiento bilineal: Esta es la función matemática que permite combinar dos puntos en una curva elíptica y transformarlos en un tercero en un campo finito. Esto es crucial para la verificación de firmas y su agregación.
- Hash a curva: Antes de firmar un mensaje, este se transforma en un punto en la curva elíptica mediante una función hash. Este paso garantiza la seguridad y la integridad del esquema BLS.
Proceso de firma y verificación
El proceso de firma y verificación sigue estos tres pasos:
- Generación de claves: La clave privada es un número aleatorio generado dentro de un campo finito. A partir de esta clave privada, se calcula la clave pública, que corresponde a un punto específico en la curva elíptica.
- Firma: Para firmar un mensaje, primero se aplica un proceso llamado hash a la curva, que convierte el mensaje en un punto sobre la curva elíptica. Una vez convertido, la clave privada se utiliza para generar la firma aplicando una operación sobre este punto.
- Verificación: Para verificar la firma, se comparan dos valores: uno es la combinación de la firma con un punto predeterminado de la curva, y el otro es la combinación del hash del mensaje y la clave pública. Si ambos valores coinciden, la firma se considera válida.
Comparación con otros esquemas de firma digital
Firmas Schnorr
Ambos esquemas permiten la agregación de firmas, pero Schnorr no utiliza emparejamientos bilineales, lo que le confiere mayor simplicidad. Sin embargo, BLS tiene una ventaja significativa en la verificación de firmas agregadas y su eficiencia en sistemas distribuidos.
Multifirma
En esquemas multifirma, múltiples firmantes deben generar y verificar sus firmas por separado. Con BLS, las firmas pueden agregarse en una sola, reduciendo costes computacionales y espacio de almacenamiento.
Threshold Signature Schemes (TSS)
BLS puede integrarse en esquemas de firma por umbral (TSS) de manera eficiente, permitiendo que solo un subconjunto de firmantes genere una firma válida.
ECDSA
A pesar de su popularidad, ECDSA no soporta agregación de firmas de manera nativa y es más susceptible a ataques de reutilización de nonces. En contraste, BLS ofrece un diseño determinista que mejora la seguridad.
Ring Signatures (firmas de anillo)
Aunque BLS no está diseñado para preservar el anonimato, como las firmas de anillo, su enfoque en la eficiencia lo hace más adecuado para sistemas donde la escalabilidad es una prioridad.
Aplicaciones de las firmas BLS en sistemas distribuidos
Las firmas BLS son especialmente valiosas en la infraestructura de clave pública (PKI), ya que permiten la verificación eficiente de múltiples certificados. Su capacidad para optimizar la escalabilidad en algoritmos de consenso facilita que varios nodos firmen bloques de transacciones de manera conjunta y rápida, lo cual es esencial en sistemas distribuidos de gran envergadura.
Su integración en esquemas de firma por umbral (TSS) potencia aún más su utilidad, permitiendo la colaboración entre múltiples partes para generar firmas válidas. Esta característica no solo mejora la eficiencia, sino que también añade una capa adicional de seguridad en entornos descentralizados.
Aplicaciones de las firmas BLS en criptomonedas
Aunque las firmas BLS no son ampliamente utilizadas en criptomonedas como Bitcoin, su adopción en Ethereum 2.0 marca un hito importante al optimizar su sistema de consenso Proof-of-Stake (PoS). La capacidad de BLS para agregar firmas de manera eficiente contribuye a una validación más rápida de transacciones por múltiples nodos, lo que reduce significativamente los costos computacionales y de almacenamiento.
Aplicaciones de las firmas BLS en sistemas de identidad descentralizados
Las firmas BLS también presentan ventajas en sistemas de identidad descentralizada (DIDs). Su habilidad para agregar firmas permite validar múltiples identificaciones o credenciales de manera eficiente, evitando la necesidad de verificar cada firma de forma individual. Esto reduce la sobrecarga computacional, resultando especialmente útil en dispositivos con recursos limitados, donde la eficiencia es crucial para la escalabilidad del sistema.
Desafíos criptográficos y limitaciones
A pesar de sus ventajas significativas, las firmas BLS no están exentas de desafíos y limitaciones. Entre los principales desafíos se encuentran los siguientes:
Seguridad ante computación cuántica
Aunque BLS es seguro bajo los paradigmas criptográficos actuales (como la seguridad basada en el problema del logaritmo discreto en curvas elípticas), la aparición de la computación cuántica podría representar una amenaza significativa.
Las firmas basadas en emparejamientos bilineales, como BLS, podrían volverse vulnerables frente a algoritmos cuánticos avanzados, como el algoritmo de Shor, que permitirían resolver problemas complejos en curvas elípticas de manera eficiente. Este es un reto compartido por muchos otros esquemas de firma basados en criptografía de clave pública, aunque ya se están investigando esquemas post-cuánticos que podrían ofrecer soluciones más seguras a largo plazo.
Ataques de tipo “rogue key”
Un desafío común es la posibilidad de un ataque de tipo “rogue key“, donde un atacante puede generar una clave pública maliciosa y luego manipular la verificación de las firmas agregadas. Aunque este tipo de ataques puede mitigarse con ciertas técnicas criptográficas, como la introducción de mecanismos de validación adicionales en las claves públicas, sigue siendo un aspecto importante a tener en cuenta al diseñar sistemas que utilicen BLS.
Coste de los emparejamientos bilineales
A pesar de la eficiencia de BLS en la agregación de firmas y la verificación, el cálculo de emparejamientos bilineales sigue siendo una operación costosa desde el punto de vista computacional. Aunque este coste puede verse compensado por las ventajas de la agregación de firmas en entornos de gran escala, continua siendo una barrera en aplicaciones de baja potencia o con recursos computacionales limitados.
Conclusión
Las firmas BLS representan un avance importante en la criptografía moderna, destacando por su capacidad de agregación, lo que maximiza la eficiencia en sistemas distribuidos y de alta concurrencia. Su habilidad para fusionar múltiples firmas en una única verificación las sitúa por encima de otros esquemas de firma digital, como Schnorr y ECDSA, especialmente en aplicaciones donde la optimización de recursos y la seguridad avanzada son esenciales.
A pesar de estas ventajas, las firmas BLS también presentan desafíos, como su vulnerabilidad ante la computación cuántica y el alto coste computacional de los emparejamientos bilineales. Esto hace fundamental seguir investigando y desarrollando soluciones que mejoren su implementación en diversas áreas, desde la infraestructura de clave pública hasta los sistemas de consenso en DLTs.
A continuación, incluimos un video en el que Vitalik Buterin y Justin Drake analizan el esquema de firmas BLS, adoptado para Ethereum 2.0, y ofrecen una perspectiva sobre su relevancia y aplicaciones en el ecosistema actual.
Recursos:
[1] Eth2book.info – BLS signatures
[2] Wikipedia – BLS digital signature
[3] Gist.github.com – BLS Signature for Busy People
[4] Boneh, Lynn, Shacham – Short signatures from the Weil pairing
[5] BLS Signature for Busy People
En Block&Capital, nos esforzamos por crear un entorno donde el crecimiento y el éxito sean accesibles para todos. Si estás listo para impulsar tu carrera profesional, te animamos a unirte a nosotros.
Últimos posts