En l'àmbit de la ciberseguretat, especialment pel que fa a la seguretat de l'emmagatzematge en servidors d'emmagatzematge no fiables, el manteniment d'un registre d'operacions coherent i verificable és primordial. Aquest requisit sorgeix de la necessitat de garantir la integritat, la disponibilitat i la confidencialitat de les dades en entorns on no es pot confiar plenament en la infraestructura d'emmagatzematge. Els servidors d'emmagatzematge no fiables comporten riscos importants, com ara la modificació, la supressió i l'accés no autoritzat de dades. Per tant, un registre d'operacions coherent i verificable juga un paper important per mitigar aquests riscos.
Un registre coherent d'operacions fa referència a un registre seqüencial i cronològic de totes les accions realitzades sobre les dades emmagatzemades al servidor. Aquest registre ha de ser immutable i inviïable, assegurant que es pugui detectar qualsevol alteració no autoritzada. La importància d'aquest registre rau en la seva capacitat de proporcionar un historial precís i fiable de totes les interaccions amb les dades, que és essencial per a l'auditoria, l'anàlisi forense i el compliment dels requisits reglamentaris.
Per aconseguir un registre d'operacions coherent i verificable, es poden utilitzar diverses tècniques i tecnologies. Aquests inclouen mètodes criptogràfics, mecanismes de registre segurs i protocols de consens. A continuació, considerem aquests mètodes en detall:
Mètodes criptogràfics
1. Cadenes Hash: Una cadena hash és una seqüència de valors hash on cada valor hash depèn de l'anterior. Això crea un enllaç entre cada entrada de registre, assegurant que qualsevol modificació a una entrada trencarà la cadena. Per exemple, si les entrades de registre estan representades per , la cadena hash es pot construir de la següent manera:
where denota una funció hash criptogràfica, i
representa la concatenació. Aquesta estructura assegura que qualsevol manipulació d'una entrada de registre
donarà lloc a un desajust en els valors hash posteriors, revelant així la manipulació.
2. Signatures digitals: cada entrada de registre pot ser signada digitalment per una part de confiança mitjançant criptografia asimètrica. Una signatura digital proporciona autenticitat i integritat, ja que es pot verificar mitjançant la clau pública del signant. Per exemple, si una entrada de registre està signat amb una clau privada
, la signatura
pot ser verificat per qualsevol persona amb accés a la clau pública corresponent
. Aquest mètode garanteix que qualsevol alteració
invalidarà la signatura.
3. Arbres Merkle: Un arbre Merkle és un arbre binari on cada node fulla representa un hash d'una entrada de registre, i cada node intern representa el hash dels seus nodes fill. L'arrel de l'arbre Merkle, coneguda com l'arrel Merkle, proporciona un únic valor hash que representa el conjunt complet d'entrades de registre. L'estructura d'arbre de Merkle permet una prova d'inclusió eficient i verificable, el que significa que es pot demostrar si una entrada de registre particular forma part del registre sense revelar tot el registre. Això és especialment útil per mantenir la privadesa alhora que garanteix la integritat.
Mecanismes de registre segurs
1. Registres només per adjuntar: un registre només per adjuntar és una estructura de registre on només es poden afegir entrades i no modificar-se ni suprimir-se. Aquesta immutabilitat garanteix que un cop registrada una entrada, romangui al registre de manera permanent. La implementació de registres només per adjuntar implica normalment l'ús de mitjans d'emmagatzematge d'escriptura una vegada-llegit-moltes (WORM) o l'ús de mecanismes basats en programari que impedeixen modificacions a les entrades de registre existents.
2. Blockchain Technology: Blockchain és una tecnologia de registre descentralitzada i distribuïda que proporciona de manera inherent un registre d'operacions coherent i verificable. Cada bloc de la cadena de blocs conté una llista de transaccions (entrades de registre), una marca de temps i un hash criptogràfic del bloc anterior. Aquest encadenament de blocs assegura que qualsevol manipulació d'un bloc invalidarà els blocs posteriors. La tecnologia Blockchain també utilitza protocols de consens per aconseguir un acord entre nodes distribuïts, millorant encara més la seguretat i la fiabilitat del registre.
3. Entorns d'execució de confiança (TEE): Els TEE, com Intel SGX o ARM TrustZone, proporcionen un enclavament segur dins d'un processador on el codi i les dades es poden executar i emmagatzemar de manera segura. Aprofitant els TEE, es pot assegurar que les entrades de registre es registren i es mantenen en un entorn segur i aïllat, protegit de la manipulació del servidor d'emmagatzematge no fiable. Els TEE també es poden utilitzar per generar i emmagatzemar de manera segura les claus criptogràfiques utilitzades per signar entrades de registre.
Protocols de consens
En els sistemes distribuïts, aconseguir la coherència i la verificabilitat dels registres sovint requereix protocols de consens per garantir que tots els nodes del sistema estiguin d'acord en l'ordre i el contingut de les entrades de registre. Alguns protocols de consens utilitzats habitualment inclouen:
1. Paxos: Paxos és una família de protocols de consens dissenyats per aconseguir un acord entre nodes distribuïts en presència de fallades. Paxos assegura que tots els nodes no defectuosos coincideixen en la mateixa seqüència d'entrades de registre, proporcionant coherència i tolerància a errors.
2. Bassa: Raft és un altre algorisme de consens dissenyat per ser més entenedor i més fàcil d'implementar que Paxos. Raft divideix el procés de consens en elecció de líders, replicació de registres i seguretat, assegurant que el registre distribuït segueixi sent coherent i verificable.
3. Tolerància a les falles bizantines (BFT): Els protocols BFT, com ara Practical Byzantine Fault Tolerance (PBFT), estan dissenyats per aconseguir consens en sistemes on els nodes poden mostrar falles arbitràries (bizantines), inclòs un comportament maliciós. Els protocols BFT garanteixen que el registre segueixi sent coherent i verificable fins i tot en presència de nodes maliciosos.
Exemple pràctic
Penseu en un escenari en què una entitat financera utilitza un servei d'emmagatzematge al núvol no fiable per emmagatzemar els registres de transaccions. Per garantir la integritat i la verificabilitat d'aquests registres, la institució pot implementar les mesures següents:
1. Cadenes Hash: Cada entrada del registre de transaccions s'enllaça a l'entrada anterior mitjançant una cadena hash. Això assegura que qualsevol manipulació d'una entrada de registre serà detectable.
2. Signatures digitals: Cada entrada de registre està signada digitalment per la clau privada de la institució. Això proporciona autenticitat i no repudi, ja que la signatura es pot verificar mitjançant la clau pública de la institució.
3. Arbres Merkle: la institució construeix periòdicament un arbre Merkle de les entrades de registre i publica l'arrel Merkle en un tauler d'anuncis públic o blockchain. Això permet a qualsevol persona verificar la integritat de les entrades del registre sense accedir a tot el registre.
4. Blockchain: La institució també pot registrar els registres de transaccions en una cadena de blocs privada. La naturalesa descentralitzada de la cadena de blocs garanteix que el registre segueixi sent coherent i verificable, fins i tot en presència de servidors d'emmagatzematge no fiables.
5. TEE: La institució pot aprofitar els TEE per registrar i emmagatzemar de manera segura les entrades de registre dins d'un enclavament segur, protegint-les de la manipulació del servidor d'emmagatzematge no fiable.
6. Protocols de consens: Si la institució utilitza un sistema d'emmagatzematge distribuït, pot utilitzar protocols de consens com Raft o PBFT per garantir que tots els nodes estiguin d'acord en l'ordre i el contingut dels registres de transaccions.
Mitjançant la implementació d'aquestes mesures, la institució financera pot mantenir un registre d'operacions coherent i verificable, assegurant la integritat, la disponibilitat i la confidencialitat dels seus registres de transaccions, fins i tot quan s'utilitzen servidors d'emmagatzematge no fiables.
Altres preguntes i respostes recents sobre EITC/IS/ACSS Seguretat de sistemes informàtics avançats:
- Quins són alguns dels reptes i inconvenients que implica la implementació de mitigacions de maquinari i programari contra els atacs de temps mentre es manté el rendiment del sistema?
- Quin paper juga el predictor de branques en els atacs de temporització de la CPU i com poden els atacants manipular-lo per filtrar informació sensible?
- Com pot ajudar la programació en temps constant a mitigar el risc d'atacs de cronometratge en algorismes criptogràfics?
- Què és l'execució especulativa i com contribueix a la vulnerabilitat dels processadors moderns a atacs de temporització com Spectre?
- Com els atacs de temporització exploten les variacions en el temps d'execució per inferir informació sensible d'un sistema?
- En què difereix el concepte de consistència de bifurcació de la consistència de recuperació i modificació i per què es considera que la consistència de bifurcació és la més sòlida que es pot aconseguir en sistemes amb servidors d'emmagatzematge no fiables?
- Quins són els reptes i les solucions potencials per implementar mecanismes de control d'accés sòlids per evitar modificacions no autoritzades en un sistema de fitxers compartit en un servidor no fiable?
- Com poden les tècniques criptogràfiques com les signatures digitals i el xifratge ajudar a garantir la integritat i la confidencialitat de les dades emmagatzemades en servidors no fiables?
- Què són els servidors bizantins i com representen una amenaça per a la seguretat dels sistemes d'emmagatzematge?
- Com contribueixen protocols com STARTTLS, DKIM i DMARC a la seguretat del correu electrònic i quins són els seus respectius papers en la protecció de les comunicacions per correu electrònic?
Vegeu més preguntes i respostes a EITC/IS/ACSS Advanced Computer Systems Security