Vés al contingut

Shamir’s Secret Sharing (SSS) i el seu paper en la compartició segura de secrets

Què és el Shamir’s Secret Sharing (SSS)?

Shamir’s Secret Sharing (SSS) és un algoritme criptogràfic desenvolupat per Adi Shamir l’any 1979, dissenyat per dividir un secret en múltiples parts i establir un llindar de recuperació. Aquest llindar, representat pel nombre mínim de fragments (m) d’un total de n generats, és essencial per reconstruir el secret original; disposar de menys de m parts no revela cap informació sobre el contingut del secret.

A diferència dels esquemes multifirma, que s’implementen en cadena (on-chain), el SSS opera fora de la cadena (off-chain), distribuint una única clau privada en diversos fragments.

Aquest enfocament és especialment útil per a usuaris que busquen un equilibri entre seguretat i accessibilitat en la custòdia, i és habitual entre particulars que volen evitar punts únics de fallada i la complexitat associada a les configuracions multifirma.

Funcionament i aplicacions

Tal com ja s’ha comentat, el Shamir’s Secret Sharing és un mètode criptogràfic que divideix un secret en múltiples parts o comparticions, de manera que cap fragment no té valor per si sol. Per recuperar el secret original, cal combinar un nombre mínim d’aquestes parts, conegut com el llindar. Aquest llindar pot ser igual o superior a 2, segons els requisits de seguretat establerts.

Per exemple, si un secret es divideix en 10 fragments amb un llindar de 3, és possible reconstruir-lo amb qualsevol combinació de 3 de les 10 parts. Però si només se’n tenen 2, el secret no es pot recuperar.

La tècnica es basa en el teorema de Lagrange, que estableix que un polinomi de grau k−1 (on k és el llindar) es pot determinar a partir de t punts del pla.

Aplicacions del SSS

  • Còpies de seguretat de distribuïdes: Permet distribuir secrets de manera segura, reduint el risc de pèrdua total en exigir múltiples parts per a la seva recuperació.
  • Gestió de claus: Millora la seguretat en distribuir les claus entre diferents parts, minimitzant el risc de comprometre una clau única.
  • Votació electrònica: Facilita sistemes de votació segurs i anònims, sense comprometre la identitat dels votants.
  • Distribució de software: Garanteix que les actualitzacions només puguin ser verificades i aplicades per un quòrum d’usuaris autoritzats, evitant instal·lacions malicioses.
  • Protecció d’actius físics: Requereix l’autorització d’un grup per accedir a informació sensible o a instal·lacions, incrementant la seguretat en entorns crítics.

Amb l’ús del SSS, les organitzacions poden reforçar les seves pràctiques de seguretat i garantir que la protecció dels secrets i actius crítics sigui alhora flexible i robusta.

Avantatges i desavantatges de l’esquema Shamir’s Secret Sharing

L’esquema Shamir’s Secret Sharing (SSS) ofereix una manera avançada de protegir i gestionar secrets, però també presenta algunes limitacions que cal tenir en compte abans d’implementar-lo, especialment en entorns de custòdia d’alt risc.

Avantatges

  • No calen signatures des de múltiples dispositius: A diferència d’un esquema multifirma (multisig), el SSS no requereix la participació activa de diversos dispositius per realitzar una transacció. Això permet mantenir els actius al dispositiu principal, mentre les còpies de seguretat dels fragments del secret es poden distribuir entre dispositius o persones de confiança. Si perds o danyes el dispositiu, pots recuperar la frase de recuperació i els teus fons utilitzant les parts de la còpia de seguretat, sense necessitat de múltiples signatures.
  • Esquemes de compartició avançada: El Shamir’s Secret Sharing es basa en principis matemàtics polinòmics i no imposa restriccions estrictes sobre el nombre total de parts (n) ni sobre el llindar de recuperació (m). Això permet configurar esquemes amb fins a 51 fragments, que poden ser emmagatzemats en ubicacions segures com búnquers o caixes fortes. Tot i que pot semblar excessiu, aquesta capacitat ofereix una gran flexibilitat en la gestió de secrets.
  • Compatibilitat amb múltiples criptomonedes: Aquest esquema pot aplicar-se a qualsevol tipus de dada, permetent protegir tant Bitcoin com altcoins com Ethereum o Monero. A més, només cal una frase mnemotècnica (BIP39) per generar les claus privades de tots els actius digitals utilitzats.
  • Major seguretat davant pèrdues i robatoris: En comparació amb una clau única, el SSS proporciona més protecció davant la pèrdua, el robatori o l’accés no autoritzat. Com que cal recombinar diversos fragments per recuperar la clau, s’afegeix una capa addicional de seguretat contra atacs interns o externs.
  • Privacitat dels saldos: Cap participant que posseeixi una part del secret pot accedir als saldos ni als detalls de les transaccions. Això permet mantenir la privacitat dels actius mentre s’aprofiten els avantatges d’una seguretat distribuïda.
  • Sense augment de comissions de transacció: Com que el SSS no està vinculat directament a la blockchain i funciona off-chain, no genera sobrecostos en comissions de transacció.

Desavantatges

  • Fons centralitzats en un sol dispositiu: Tot i la seguretat que ofereix la compartició, els fons continuen sent gestionats des d’un dispositiu únic. Les altres parts actuen només com a còpies de seguretat i no són necessàries per signar transaccions. Això crea un punt únic de fallada: si es compromet el dispositiu principal, els fons poden ser robats abans no es puguin reubicar.
  • Risc en la configuració inicial: La seguretat del SSS depèn del fet que la clau privada sigui generada i dividida de manera segura. Si un atacant interfereix durant la generació inicial, podria capturar la clau abans que es reparteixi. Aquesta vulnerabilitat és inherent a la fase inicial del procés.
  • Ús limitat després de la recuperació: Un cop la clau privada ha estat reconstruïda a partir del llindar de fragments, ja no es considera segura per a un ús futur. Cada vegada que es restaura, s’hauria de regenerar una nova clau, cosa que pot resultar poc pràctica per a l’ús quotidià.
  • No auditable: No hi ha cap mecanisme que permeti verificar si les parts del secret són realment imprescindibles per accedir als fons. Això significa que algú podria haver creat una còpia completa de la clau privada i conservar-la sense el coneixement de la resta de participants.
  • Requereix coneixements tècnics: Configurar i gestionar un esquema SSS pot ser més complex que utilitzar una solució multifirma. Encara que eines com Trezor en simplifiquin el procés, és necessari tenir coneixements bàsics de criptografia i gestió de claus per implementar-lo correctament.
  • Exposició a firmware maliciós: Si es fa servir un sol proveïdor de software per gestionar el SSS, es corre el risc de patir actualitzacions de firmware malicioses o amb errors, que podrien comprometre la clau privada.

Shamir’s Secret Sharing vs multifirma

Shamir’s Secret Sharing (SSS) i la multifirma són dos enfocaments dissenyats per millorar la seguretat en la custòdia d’actius digitals, tot i que difereixen notablement en la seva implementació i en els riscos que aborden. El SSS se centra en la recuperació i distribució segura de secrets, mentre que les wallets multifirma posen l’accent en el control distribuït de les transaccions. L’elecció entre un i altre dependrà del context específic i dels requisits de seguretat de cada usuari.

La multifirma no només redueix el risc d’un punt únic de fallada, sinó que també elimina la necessitat d’unificar totes les claus en un sol lloc. Això augmenta la seguretat i redueix l’exposició a atacs. Ara bé, cal considerar que operar dins la blockchain pot augmentar els costos per les comissions associades a múltiples signatures.

En canvi, el SSS divideix una clau privada en diverses parts, i requereix un llindar mínim per reconstruir-la. En funcionar off-chain, evita aquests costos addicionals, però la seva vulnerabilitat principal és que les parts s’han de reunir en un sol dispositiu per signar. Aquest pas pot exposar la clau a malware o a actors maliciosos, fet que pot fer del SSS una opció més arriscada que la multifirma.

Conclusions

El Shamir’s Secret Sharing (SSS) representa un avenç notable en la gestió segura de claus i secrets digitals. Dividint una clau en múltiples fragments i requerint un llindar per a la seva recuperació, ofereix un equilibri entre seguretat i flexibilitat, convertint-se en una opció interessant per a aquells que prioritzen la protecció dels seus actius digitals. A més, com que és un esquema off-chain, les seves aplicacions van més enllà de les wallets que funcionen amb solucions on-chain, permetent-ne l’ús en contextos molt diversos.

Tot i això, la seva correcta implementació requereix coneixements tècnics sòlids i una anàlisi acurada de les seves limitacions. Els riscos associats a la recombinació de les parts en un únic dispositiu podrien esdevenir vulnerabilitats, per la qual cosa és fonamental que els usuaris entenguin tant els avantatges com els punts febles del SSS abans d’adoptar-lo.

Si vols aprofundir-hi més i t’has perdut els nostres articles anteriors, al final de la pàgina trobaràs enllaços als nostres continguts sobre custòdia digital, on oferim recomanacions i analitzem esquemes com la signatura única, la multifirma i la multiparty computation (MPC). Aquests articles ofereixen una visió més completa sobre la protecció d’actius digitals.

En el proper article, parlarem sobre l’esquema Blakley’s Secret Sharing (BSS), una altra proposta innovadora per a la gestió segura de secrets.

Andrew Poelstra, director de Recerca de Blockstream, analitza el Shamir’s Secret Sharing i com pot ser útil a l’hora d’emmagatzemar secrets en Bitcoin.


Recursos:
[1] Thebitcoinmanual – Shamir’s secret sharing
[2] Unchained – mpc vs multisig vs sss
[3] Wikipedia – Shamir’s secret_sharing
[4] Trezor.io – what is shamir backup
[5] Blockandcapital – Wallets multifirma


FAQs

Què passa si es perden o roben comparticions?

Les comparticions individuals no revelen informació si no s’assoleix el llindar necessari. En un esquema 7-de-10, un atacant no pot accedir a la teva wallet si només compromet 5 comparticions.

Què passa si perdo massa comparticions?

Si no s’arriba al llindar de recuperació, els fons seran inaccessibles. Per exemple, en un esquema 3-de-4, perdre 2 comparticions significa que no podràs recuperar el secret.

És el SSS compatible amb hardware wallets?

Shamir’s Secret Sharing (SSS) és compatible amb algunes hardware wallets, com ara Trezor, que n’admeten la implementació. Tanmateix, és recomanable investigar altres opcions abans de fer una compra.

Puc combinar el SSS amb altres mètodes de protecció?

Sí, pots utilitzar el SSS conjuntament amb altres mètodes de seguretat, com ara la multifirma, per augmentar encara més la protecció dels teus actius digitals.



Vols continuar llegint sobre custòdia d’actius digitals? No et perdis aquests recursos!



A Block&Capital, especialistes en selecció de personal, treballem per crear oportunitats on el creixement i l’èxit siguin a l’abast de tothom. Si estàs preparat per fer un pas endavant en la teva carrera professional, no dubtis a contactar amb nosaltres.