5 ms·
Mojo-V: Secret Computation for RISC-V
- pjmlp 11mo agoAnd the relationship to Mojo programming language is?
- shakna 11mo agoThis could be: Great for security - Being able to safely compute secrets is a very difficult problem. Fucking awful for security - More OEM secret controls and "analytics" that devolve into backdoors after someone yet again post keys online.
- Manfred 11mo agoThe platform owner can manage keys and data contracts in the processor, that should enable them to rotate secrets constantly. In other hardware there is an OEM secret because the manufacturer is trying to keep users out of "their hardware", in this case we're trying to keep everyone except the data owner out.
- todd_austin 11mo agoI created Mojo-V. There's no back doors, but there's no integrity checking either, so a Mojo-V voting machine could take an encrypted vote and throw it away and add +1 to the attacker's favorite candidate. A computational integrity checking mechanism will appear soon that will add a concise proof to every encrypted Mojo-V value, that will prove to the data owner that their requested computation was faithfully performed. And the mechanism also supports safe disclosures, too. This should give data owners strong controls over what can be done with their data
- shakna 11mo agoBy backdoor, I meant the capability to implement one. The OEM looking for greater controls on their platform, would be considered the "data owner", here. There's no real way to prevent that.
- snvzz 11mo agoRISC-V is inevitable.
- LarsDu88 11mo agoWas it really wise to name this Mojo when Chris Lattner, former Head 9f Engineering at SiFive also called his well funded programming language Mojo?
- left-struck 11mo agoIt’s called Mojo-V not just Mojo
- craftkiller 11mo agoSo close to Mojave, I feel like they could have done something with that.
- NooneAtAll3 11mo agowas it really wise to name both Mojo when Mr.Evil stole it from Austin Powers back in 1999?
- hyperhello 11mo agoDoctor Evil. He didn’t spend six years in evil medical school to be called Mister, thank you very much.
- Manfred 11mo agoAfter skimming through the documentation this seems like a nice solution, but I'm not sure if this is a problem we want to solve. Consumers are finding out the issue with cloud computing when their heating system can't turn on because Cloudflare is down. A cheaper and more reliable solution is still on-premises computing. Large social network and content platforms don't have any incentive to keep your data safe because they want to monitor and own everything. Maybe this is for something like a government running a public service?
- throawayonthe 11mo agoi want good confidential compute for cases where e2ee is impractical, like an email server or immich with server-side ml/processing etc
- Manfred 11mo agoWho are you protecting data access from in those cases? My suggestion was that it's probably more practical to run those kinds of solutions on a hardware stack you trust; in our basement or in a small box on the wall in your living room. Besides, the specific extension we're talking about protect registers and computation and not shared memory.
- tonetegeatinst 11mo agoIssue is, unless you can be 100% sure you hardware has not been built with a vulnerability or backdoor, or subject to an evil maid attack....then you can't be sure its trustworthy.
- nl 11mo ago> I'm not sure if this is a problem we want to solve Who is this we you speak of? I for one much prefer my cloud services and would love TEE I can control. > A cheaper and more reliable solution is still on-premises computing. I assure you that my use of Cloudflare services ($0 in nearly 10 years) is much more reliable and much cheaper than hardware I run.
- tromp 11mo agoThis should not (so much) be compared with Fully Homomorphic Encryption (FHE) but with a Trusted Execution Environment (TEE). It is a very elegant and minimal way to implement TEEs, but suffers from the same drawbacks: a data owner has to trust the service provider to publish the public keys of actual properly constructed Mojo-V hardware rather than arbitrary public keys or public keys of maliciously constructed Mojo-V hardware. [1] https://en.wikipedia.org/wiki/Trusted_execution_environment https://en.wikipedia.org/wiki/Trusted_execution_environment
- api 11mo agoYou could have the keys signed by a chip maker, which cuts the hosting provider out and reduces the trust surface to the manufacturer only. Unless your adversary is someone sophisticated enough to do surgery on chips. It’s still not FHE but it’s about as good as you can get otherwise.
- childintime 11mo agoCouldn't the keys be loaded once, in private write-only flash memory, by the user of the chip?
- tromp 11mo agoThe intended use case is for remote execution where the user (data owner) pays a service provider to run services on their hardware. It could still work if the user somehow prepares the chip herself and ships it to the service provider to be used on their future data, but most users would not want to bother with that first step.
- todd_austin 11mo agoI created Mojo-V. IMHO, the service provider is the last one that should ever be able to see the keys :-). It's them we want to keep sensitive data away from Keys are injected into the HW with public-key encryption. This requires that the HW have keys that only the HW knows (it's secret key). This key is made by a weak PUF circuit, which is basically a circuit that measures silicon process variation. So the keys are born in the silicon fab, through the natural variability of the silicon fabrication process. I didn't invent this, it is an old idea. Intel SGX uses the same approach.
- deleted 11mo ago[deleted]