Introduzione
Per prevenire attacchi esterni da utenti non autorizzati con lo scopo di raccogliere informazioni sul dispositivo per poi violarlo, Intel nel 2013 ha introdotto “Intel Software Guard eXtension” o “SGX”, un insieme di istruzioni che nel complesso proteggono dati sensibili grazie ad una
crittografia specifica.
Per riuscire ad archiviare determinate informazioni devono essere rispettati 4 requisiti:
• La CPU deve supportare SGX
• Il BIOS deve supportare SGX
• SGX deve essere abilitato nel BIOS
• SGX Platform Software deve essere installato sul dispositivo
È quindi l’hardware il protagonista di questa tecnologia in grado, con l’aiuto di altre parti del computer, di creare sezioni di memoria in cui i dati e i codici possono essere caricati ed eseguiti in modo sicuro perché protetti da una Cryphtographic Intestation. Queste sezioni si chiamano enclave, e sono delle aree di memoria protette presenti nel processore intel che si difendono da sole in quanto criptate.
Come si crea un’enclave
Una enclave è il risultato di 4 passaggi abilitati dalle componenti della macchina quali Firmware, CPU e OS.
Per iniziare, il firmware crea il PRM (processed reserved memory) ovvero la parte di memoria riservata dove l’enclave risiederà. Successivamente la CPU crea multiple EPC(enclave pages caches) che sono delle pagine vuote di cache che verranno posizionate nel PRM. L’OS può ora inserire i dati ritenuti segreti in questa area. Per concludere, la CPU contrassegna l’enclave come inizializzata per poi crittografarla.
I dati raccolti all’interno dell’enclave possono essere letti e modificati ma ad ogni azione l’utente viene prima rilevato. Questo significa che se non supera con l’apposita chiave il controllo, non può accedere alle informazioni al suo interno. Persino parti come il sistema operativo, il BIOS e altri software autorizzati non possono accedervi, a meno che non ne risiedano all’interno.
Alcuni vantaggi
SGX può essere utilizzato in svariati occasioni come:
- Difesa da virus indesiderati. L’enclave infatti tra gli svariati attacchi informatici è inoltre al sicuro dai virus. Sarà anche il grande protagonista che riuscirà a ripristinare il computer.
- Una protezione da utenti online. Il network TOR, famoso per il suo anonimato, è sotto il controllo di chi ne fa uso. Se infatti l’utente non ha buone intenzioni può irrompere nei dati altrui e impossessarsene. Ovviamente, grazie a SGX, ciò non può avvenire perché l’utente esterno non è autorizzato ad accedere ai dati.
- Una protezione per i dati archiviati altrove. Quando ai cloud vengono affidati informazioni non si sa realmente se l’azienda alle spalle li protegge in modo rigoroso, bisogna quindi fidarsi di terze parti. Con SGX, l’unica cosa di cui ci si deve fidare è l’hardware dove i calcoli vengono fatti.
PHALA NETWORK
Phala Network è una rete decentralizzata sviluppata tramite l’utilizzo del framework Substrate (Polkadot,Kusama) e mira a costruire una piattaforma per la tutela della privacy avvalendosi del TEE (Trusted execution environment).
I requisti base che la piattaforma dovrebbe seguire sono:
- Riservatezza → a differenza delle blockchain esistenti per gli smart contract, Phala Network evita la fuoriuscita di qualsiasi input, output o stato intermedio del contratto riservato. Riceveranno risposta solo le richieste autorizzate al contratto.
- Integrità del codice → chiunque può verificare che un output è prodotto da uno specifico smart contract pubblicato sulla blockchain.
- Coerenza di Stato → chiunque può verificare che un’esecuzione sia avvenuta ad una certa altezza nella blockchain, il che implica che l’output dell’esecuzione è soggetto ad un certo stato della catena.
- Disponibilità → non ci deve essere un singolo punto di errore come la disconnessione del minatore.
- Interoperabilità→ i contratti possono interagire tra loro esternamente alla blockchain.
Il Protocollo
Utenti
Invocano, interrogano e distribuiscono smart contract. Gli utenti interagiscono con i contratti intelligenti tramite blockchain e i full node. Possono verificare lo stato della blockchain e in modo indipendente eseguendo un client leggero o un nodo completo.
Nessun hardware speciale, ad esempio TEE, è necessario agli utenti per utilizzare i contratti riservati.
Workers
Parliamo di nodi che possono essere a sua volta suddivisi in 3 categorie. Questi nodi eseguono contratti riservati in totale compatibilità TEE hardware. Sono fuori dalla catena ed ogni nodo possiede un esecuzione speciale chiamata pRuntime per la crittazione dei dati.
Le tre tipologie di workers sono:
- Nodi Genesi: viene utilizzato per lo start della chain a supporto della configurazione di rete e della crittografia. Questo nodo viene distrutto dopo il lancio.
- Gatekeepers (i guardiani): hanno il il compito di gestire e verificare le transazioni. Vengono eletti dinamicamente dalla blockchain ricevendo premi per essere sempre online o penalizzazioni in caso di comportamento scorretto.
- Miners : i minatori eseguono i contratti riservati. Ricevono premi per la fornitura delle proprie risorse informatiche agli utenti. A differenza dei gatekeeper i miners non hanno vincoli di continuità potendo entrare ed uscire dalla rete senza rischi. Connettono tramite il servizio pHost il nodo al pRuntime ottendendo uno score e un punteggio per prestazione ed affidabilità.
Test SGX Nuc7pjyh
Sistema attestazione remota: questo servizio pubblico ha il compito di convalidare se un worker ha distribuito correttamente il pRuntime. Le prove crittografiche prodotte da questo servizio possono dimostrare che un determinato output è stato prodotto da un determinato pRuntime in esecuzione all’interno di un TEE.
Blockchain: è la spina dorsale di Phala Network. Memorizza l’identità dei workers, i contratti riservati che vengono pubblicati, lo stato del contratto crittografato e le transazioni di chiamata da utenti e altre
blockchain. Quando è collegato a uno slot per paracatena Polkadot/Kusama, è in grado di interagire con altre blockchain attraverso la catena di relè.
Conclusione
Phala Network attualmente è alla versione Poc4 e si sta preparando con **Khala (**più di 40k KSM a supporto) all’assegnazione di uno slot tramite asta. Appena Phala si aggiudicherà lo slot si potranno avere informazioni in merito alla pre-mainnet incentivata dove verranno testati tutti i ruoli compreso lo stake per core.
Per poter minare Phala in mainnet infatti saranno necessari indicativamente 1620 PHA/core. I proprietari dei miners non saranno costretti a possedere tutti i token per i core messi a disposizione ma potranno richiedere agli utenti di mettere in stake i propri per ottenere rewards.
Ci sono premi attivi per il test hardware e code bug bounties.
Questo il documento ufficiale rilasciato dal team riportante tutti gli hardware testati ad oggi. Google Docs Link Phala Hardware.