Trendande ämnen
#
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.
Okej, efter 2 månaders gedigen ansträngning knackar jag ut.
Projektet "gör Groth16 betrodd installation i en TEE och få ett fjärrintyg om att det giftiga avfallet förstördes" har misslyckats. Kommer TLDR nedan.
Nämner här bara för att jag inte vill att någon ska avskräckas från att arbeta med det för att de tror att jag fortfarande arbetar med det när jag i själva verket inte gör det.
TLDR:
- Den enda TEE som för närvarande kan göra detta (AFAICT) är TDX, eftersom den har de nödvändiga krypterade RAM-garantierna. (Kom ihåg att för det här projektet räcker det inte att veta att rätt kod körs i TEE, du MÅSTE OCKSÅ veta att en fysisk angripare på datorn inte kan dumpa RAM-minnet under ceremonin och lära sig det giftiga avfallet).
- TDX-fjärrattesteringen loggar över "MRTD", vilket är en hash som ändras om någon byte av VM-avbildningen ändras.
- För att en framtida granskare/användare ska kunna verifiera att TDX körde rätt kod under den betrodda installationen (särskilt på någon form av automatiserat sätt) måste de kunna reproducera MRTD-hashen, vilket i sin tur kräver att VM-avbildningen byggs om från den läsbara källkoden på ett bit-för-bit-reproducerbart sätt.
- Jag har inte kunnat skapa en GCP-bild på ett bit-för-bit reproducerbart sätt. (Till och med en superminimal, som bara startar och öppnar en SSH-port och bokstavligen inget annat).
Jag är inte säker på att detta är möjligt med befintliga standardverktyg. Det kan kräva att du justerar befintliga verktyg.
StageX var till stor hjälp, så jag rekommenderar att du använder det så mycket som möjligt. Problemen uppstår när du behöver något som för närvarande inte är tillgängligt via ett StageX-lager. För då måste du bygga vad du behöver från källan (eftersom det är en risk i leveranskedjan att ladda ner tarbollar utan att bygga dem själv).
Och jag har upptäckt att det är utomordentligt tidskrävande, svårt och sprött att bygga/kompilera _de flesta program från källan på ett bit-för-bit reproducerbart sätt. Och i många fall har jag inte kunnat göra det *alls*.
Jag rekommenderar att du gör alla byggen av all programvara du behöver i en Docker-behållare som endast består av hash-fästa StageX-lager. Den tekniken har gett mig mest körsträcka.
3,32K
Topp
Rankning
Favoriter