Populaire onderwerpen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Oké, na 2 maanden van solide inspanning, geef ik het op.
Het project "do Groth16 trusted setup in een TEE en krijg een remote attestation dat het giftige afval is vernietigd" is onsuccesvol geweest. Ik zal het hieronder samenvatten.
Ik noem het hier alleen omdat ik niet wil dat iemand wordt ontmoedigd om eraan te werken omdat ze denken dat ik er nog steeds aan werk, terwijl ik dat in feite niet doe.
TLDR:
- De enige TEE die dit momenteel kan doen (voor zover ik kan zien) is TDX, omdat het de vereiste garanties voor versleuteld RAM heeft. (Vergeet niet, voor dit project is het niet genoeg om te weten dat de juiste code draait in de TEE, je MOET ook weten dat een fysieke aanvaller bij de machine het RAM niet kan dumpen tijdens de ceremonie en de giftige afvalstoffen kan leren).
- De TDX remote attestation ondertekent "MRTD", wat een hash is die verandert als er ook maar één byte van de VM-afbeelding verandert.
- Dus voor een toekomstige auditor/gebruiker om te verifiëren dat de TDX de juiste code draaide tijdens de vertrouwde setup (vooral op een geautomatiseerde manier), moeten ze in staat zijn om die MRTD-hash te reproduceren, wat op zijn beurt vereist dat de VM-afbeelding opnieuw wordt opgebouwd vanuit de mens leesbare broncode op een bit-voor-bit reproduceerbare manier.
- Ik ben er niet in geslaagd om een GCP-afbeelding op een bit-voor-bit reproduceerbare manier te maken. (Zelfs een super minimale, die gewoon opstart en een SSH-poort opent en letterlijk niets anders).
Ik weet niet zeker of dit mogelijk is met de bestaande kant-en-klare tools. Het kan nodig zijn om bestaande tools aan te passen.
StageX was enorm behulpzaam, dus ik raad aan om dat zoveel mogelijk te gebruiken. De problemen ontstaan wanneer je iets nodig hebt dat momenteel niet beschikbaar is via een StageX-laag. Want dan moet je alles wat je nodig hebt vanaf de bron bouwen (aangezien het downloaden van tarballs zonder ze zelf te bouwen een risico voor de toeleveringsketen met zich meebrengt).
En ik heb ontdekt dat het bouwen/compileren van _de meeste_ software vanaf de bron op een bit-voor-bit reproduceerbare manier buitengewoon tijdrovend, moeilijk en kwetsbaar is. En in veel gevallen is het me niet gelukt om het *helemaal* te doen.
Ik raad aan om alle builds van software die je nodig hebt binnen een Docker-container te doen die alleen bestaat uit hash-gepinde StageX-lagen. Die techniek heeft me de meeste voordelen opgeleverd.
3,26K
Boven
Positie
Favorieten