this post was submitted on 12 Aug 2023
777 points (98.9% liked)

Technology

70916 readers
3362 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
 

DEF CON Infosec super-band the Cult of the Dead Cow has released Veilid (pronounced vay-lid), an open source project applications can use to connect up clients and transfer information in a peer-to-peer decentralized manner.

The idea being here that apps – mobile, desktop, web, and headless – can find and talk to each other across the internet privately and securely without having to go through centralized and often corporate-owned systems. Veilid provides code for app developers to drop into their software so that their clients can join and communicate in a peer-to-peer community.

In a DEF CON presentation today, Katelyn "medus4" Bowden and Christien "DilDog" Rioux ran through the technical details of the project, which has apparently taken three years to develop.

The system, written primarily in Rust with some Dart and Python, takes aspects of the Tor anonymizing service and the peer-to-peer InterPlanetary File System (IPFS). If an app on one device connects to an app on another via Veilid, it shouldn't be possible for either client to know the other's IP address or location from that connectivity, which is good for privacy, for instance. The app makers can't get that info, either.

Veilid's design is documented here, and its source code is here, available under the Mozilla Public License Version 2.0.

"IPFS was not designed with privacy in mind," Rioux told the DEF CON crowd. "Tor was, but it wasn't built with performance in mind. And when the NSA runs 100 [Tor] exit nodes, it can fail."

Unlike Tor, Veilid doesn't run exit nodes. Each node in the Veilid network is equal, and if the NSA wanted to snoop on Veilid users like it does on Tor users, the Feds would have to monitor the entire network, which hopefully won't be feasible, even for the No Such Agency. Rioux described it as "like Tor and IPFS had sex and produced this thing."

"The possibilities here are endless," added Bowden. "All apps are equal, we're only as strong as the weakest node and every node is equal. We hope everyone will build on it."

Each copy of an app using the core Veilid library acts as a network node, it can communicate with other nodes, and uses a 256-bit public key as an ID number. There are no special nodes, and there's no single point of failure. The project supports Linux, macOS, Windows, Android, iOS, and web apps.

Veilid can talk over UDP and TCP, and connections are authenticated, timestamped, strongly end-to-end encrypted, and digitally signed to prevent eavesdropping, tampering, and impersonation. The cryptography involved has been dubbed VLD0, and uses established algorithms since the project didn't want to risk introducing weaknesses from "rolling its own," Rioux said.

This means XChaCha20-Poly1305 for encryption, Elliptic curve25519 for public-private-key authentication and signing, x25519 for DH key exchange, BLAKE3 for cryptographic hashing, and Argon2 for password hash generation. These could be switched out for stronger mechanisms if necessary in future.

Files written to local storage by Veilid are fully encrypted, and encrypted table store APIs are available for developers. Keys for encrypting device data can be password protected.

"The system means there's no IP address, no tracking, no data collection, and no tracking – that's the biggest way that people are monetizing your internet use," Bowden said.

"Billionaires are trying to monetize those connections, and a lot of people are falling for that. We have to make sure this is available," Bowden continued. The hope is that applications will include Veilid and use it to communicate, so that users can benefit from the network without knowing all the above technical stuff: it should just work for them.

To demonstrate the capabilities of the system, the team built a Veilid-based secure instant-messaging app along the lines of Signal called VeilidChat, using the Flutter framework. Many more apps are needed.

If it takes off in a big way, Veilid could put a big hole in the surveillance capitalism economy. It's been tried before with mixed or poor results, though the Cult has a reputation for getting stuff done right. ®

top 50 comments
sorted by: hot top controversial new old
[–] PottedPlant@lemm.ee 90 points 2 years ago (1 children)

Impressive design.

Implicit in the description is the weakness would be monitoring the entire network, somehow, if possible.

The more apps and nodes that run Veilid, the more private the system.

I look forward to adoption being vast and wide. The bigger the better.

But queue the 'but we need to protect the children ' crowd and outlaw these protocols.

[–] PeleSpirit@lemmy.world 3 points 2 years ago (8 children)

What I don't understand about these projects is why can't we both have them and protect the children (child porn, child trafficking, etc.)? Is there a way to self police like the fediverse is starting to do by kicking those people out of the instance or no one will connect with them? I would love the privacy from corporations, not places where really shitty people can do really shitty things.

[–] Beryl@lemmy.world 63 points 2 years ago

It's simple, really : if you have a built-in back door to prevent child porn circulation, then you can use it for anything else, and it WILL eventually be used in other ways.

[–] nickwitha_k@lemmy.sdf.org 46 points 2 years ago (8 children)

What I don't understand about these projects is why can't we both have them and protect the children (child porn, child trafficking, etc.)?

The reason is that the "protect the children" thing is and always has been a bad faith excuse to expand or establish control over others. That's not to say that places like TOR don't have a problem with CSAM but if that were the actual target, it would be addressed in the proposed laws and vigorously pursued. It never is.

Protecting children is always, at most, a token gesture in these laws, which exand censorship and surveillance of the population, while demonstrating complete disregard for harms and unnecessary risks that they introduce, while generally also exempting those in power from being impacted.

[–] PeleSpirit@lemmy.world 5 points 2 years ago (2 children)
[–] elscallr@lemmy.world 9 points 2 years ago

And in a private network there's nothing to be done for it. A sad but simple fact. If you put any ability to censor the content into the application you've effectively built a backdoor.

load more comments (1 replies)
load more comments (7 replies)
[–] raspberriesareyummy@lemmy.world 31 points 2 years ago* (last edited 2 years ago) (2 children)

I would argue it could be more efficient to protect children (and all victims) in our daily lives - show empathy towards others, and improve empathy in societies where necessary (yes, sadly, this is a lengthy process), to the point where no country will seem to be turning a blind eye towards abusers, and where people care & check on the kids they see in the neighborhood. This won't eliminate all the abuse, but online policing of contents is only fighting the symptoms, so the "offline approach" seems preferable. And surprise - if people are vigilant offline, the excuse for global surveillance goes away & ugly corporate capitalistic assholes need to find a new excuse.

[–] thisbenzingring@lemmy.sdf.org 17 points 2 years ago

The way they caught that horrible serial abuser in Australia recently is a good example of a detective using localized skills to find the needle in the haystack and identify a blanket in an abuse video.

[–] milkjug@lemmy.wildfyre.dev 4 points 2 years ago

Actually protecting people? Showing empathy?! Who do you think we are, demoncrats?

[–] echo64@lemmy.world 30 points 2 years ago* (last edited 2 years ago) (2 children)

For the same reason, we don't allow government cameras in every public and private bathroom, even though it could stop really shitty people doing really shitty things.

Humans demand personal privacy, and need avenues for that. The quite literal big brother is generally not felt to be something any society wants, even if it could illimate the shitty people doing really shitty things.

It's not a tech problem. It's a societal one.

load more comments (2 replies)
[–] Loulou@lemmy.mindoki.com 29 points 2 years ago

It was never about the children or fighting terrorism, to get pedophiles or twart attacks you have to have people "on the ground", not by snooping everything.

[–] guyrocket@kbin.social 8 points 2 years ago (5 children)

I think this is a great question, but I would ask it a little differently.

Is it possible for a p2p system to self police for things like cp?

Maybe no one knows how now. But maybe someone can figure it out eventually. Seems like a bit of a logical contradiction but I continue to be amazed at human creativity.

[–] treadful@lemmy.zip 7 points 2 years ago (1 children)

Yeah, they are contradictory concepts to an extent. Making an uncensorable and untraceable protocol means exactly that. Things like the Fediverse are not that and censorship can come through things like defederation and blocking.

That said, they exist on different layers. You could probably run a federated system on top of this protocol and still be able to filter out the illegal and offensive content. It doesn't mean that content just disappears, it just means you don't have to subject yourself to it.

load more comments (1 replies)
load more comments (4 replies)
[–] boatswain 7 points 2 years ago (7 children)

What I don't understand about these projects is why can't we both have them and protect the children

Think of this as closer to Signal than to a social media platform. It's a protocol, so there's no saying that you couldn't build a social media site with it, bit for now the demo app that I saw today is just chat. The parties involved share public keys with each other, and from then on, everything is encrypted so that only those people in the chat can read it.

With that model, censorship is not really feasible. If you're one of the perks in the conversation, you can say "guys, that's gross, stop" or send screenshots to the cops or whatever, but that's about it.

Ultimately, if the only way the Authorities have of acting against terrorism/pedophiles/etc is by infringing everyone in the county's right to privacy, they're doing a shit job and need to be replaced.

load more comments (7 replies)
[–] yiliu@informis.land 6 points 2 years ago

That would require that users have access to other users' traffic, compromising security. After all, there's no reason the government or corporations couldn't operate many 'users'.

[–] Loulou@lemmy.mindoki.com 58 points 2 years ago (1 children)

I love this.

We need more security, more control over our own activities.

To people who plead we give up our anonymity to catch burglars, we already did that and we got mass surveillance by state, nation and the private sector. Seems like the burglars are still out there though.

I'm working on a similarish protocol (up, working) basically IPFS but better ;-) anyone know where I could get some feedback or show it to people interested in those kind of things?

Cheers

[–] dszp@artemis.camp 16 points 2 years ago (2 children)

Submitting and getting a talk about it accepted at DEF CON seems like a good way that worked here. Of course having name recognition like CDC going back to my childhood also helps :-)

load more comments (2 replies)
[–] Mikina@programming.dev 35 points 2 years ago (1 children)

So, if I get it right, it's basically a TOR network where every user is both an entry node, exit node and middle nodes, so the more users you get, the more private it is.

However, wouldn't this also mean that just by using any of the apps, you are basically running an exit node - and now have to deal with everything that makes running a TOR exit node really dangerous and can get you into serious trouble, swatted or even ending up in jail?

From a quick google search, jail sentences for people operating TOR exit nodes are not as common as I though, but it still can mean that you will have to explain at a court why was your computer trasmitting highly illegal data to someone they caught. And courts are expensive, they will take all of your electronics and it's generally a really risky endeavor.

[–] sturmblast@lemmy.world 12 points 2 years ago (1 children)

what you are missing here is that they have to be able to prove that there's illegal data going through your computer in the first place

[–] RaivoKulli@sopuli.xyz 7 points 2 years ago (1 children)

If it's the exit node for the illegal stuff, then would that point to you?

[–] DavyJones@lemmy.dbzer0.com 13 points 2 years ago (4 children)

Veilid doesn't have exit nodes

[–] nilloc@discuss.tchncs.de 4 points 2 years ago

That’s how I read it too. More like a fully encrypted anonymized trackerless BitTorrent client (or even more like Hotline (a pair of sort of FTP/chat/bbs client and server apps) for the older pirates in the audience.

load more comments (3 replies)
[–] darkstar@lemmy.dbzer0.com 34 points 2 years ago (7 children)

While the pirate in me says "hell yeah!", the system administrator in me says "Fuuuuuuuck". I was once part of an IRC network, and one of the biggest issue we had was with Brazilians who would break our rules and get banned. Just a minute or two later, they were back. It got so bad that we just said "Fuck it. We're banning all of Brazil." Not an ideal solution, but it beats spending our time chasing the majority offenders. It's the 80/20 rule, where 80% of your problems are caused by 20% of your users.

Now let's pretend somebody builds their new app around this new tech. I love the concept, but how do you keep order? How do you ensure people follow the rules? The only thing keeping users in line would be the fear of losing their "brand" (their username, their reputation). If the new app is something like a chatroom, there's no "brand" to be had, and you can simply use a new name. It would, obviosly be very different if the app were based around file hosting like Google Drive, because you don't want to lose your files, but anything with low retention will likely be rife with misconduct due to anonymity.

On the other hand, it would allow for a completely open internet, that no single government can shut down, which we're seeing happening more and more, with China, Iran, Russia, and Myanmar all shutting down the Internet, or portions of it, when those in power feel there's a threat to the status quo.

[–] Sekoia@lemmy.blahaj.zone 12 points 2 years ago

One possibility is to allow users to join a controlled allowlist (or a blocklist, though that runs more into that problem), where some actor acts as a trust authority (which the user picks). This keeps the P2P model while still allowing for large networks since every individual doesn't have to be a "server admin". A user could also pick several trust authorities.

Essentially, the network would act as a framework for "centralized" groups, while identity remains completely its own.

[–] jecxjo@midwest.social 10 points 2 years ago* (last edited 2 years ago)

The only thing keeping users in line would be the fear of losing their “brand”

This is solving a non-problem. Yeah stupid script kiddies and trolls might care but that is noise easily blocked. The actual people causing harm, committing massive crimes that flood the system with government, or causing massive DoS attacks, none of them care or even want to have something they could lose on a system like this. Its better to be anonymous and not have a brand.

Look at what happens here in the Fediverse. People take time to exclude the havens of the problematic and that resolves enough of the issue to make the services work. But that means that someone is making decisions, and that someone can be targeted to take down a site or to not defederate even when the community thinks its best. There is still a human involved that can be bought or beaten.

The only way to make a system where people follow the rules is to make a place where people dont care to break them. Rules give those who follow them justification for punishing those who don't. They don't actually stop people from breaking them.

I think if this system can be hardened against attacks and its easy to deal with spam then we all just coexist with the shit that happens in the background we don't see.

[–] ShittyBeatlesFCPres@lemmy.world 8 points 2 years ago

I can’t imagine a successful, open social network based on this. The entire value of social networks is the moderation (in the same way any bar or club keeps certain people out, via rules, signals, or obscurity, and allows likeminded people to relax and socialize).

I love that this project exists for other use cases. And I could see invite-only, small social networks forming. I just don’t think you’d want to build a Twitter or Reddit clone using it.

[–] yiliu@informis.land 7 points 2 years ago

I mean, people can already use VPNs or whatever to circumvent protocol-level blocks. You prevent that with usernames or email verification or some equivalent, and there's no reason you wouldn't just keep doing that in these new apps.

[–] eager_eagle@lemmy.world 6 points 2 years ago

True. Regardless of nationality, background, or interests, moderation will always be a "problem" in these platforms. Sadly the same tool that can target these obvious spammers can be used to silence honest minorities, and the boundary between these groups is also not set in stone.

[–] Twashe@lemmy.ml 4 points 2 years ago (2 children)

I believe financial consequences can be very useful to make it expensive to spam or be abusive.

For example, for a user to access an app:

  • The user is required to put up X amount of money as colatoral
  • The user can retrieve the funds if they choose to discontinue use of the app
  • If a user is reported for abuse, a small fine is deducted from their colatoral

The user Reputation and distribution of fines:

  • if a user, has multiple accounts in good standing, the initial collateral to access new apps is discounted for good reputation.
  • The proceeds from fines can be distributed to the app's treasury or to users with good rep.
load more comments (2 replies)
load more comments (1 replies)
[–] vin@lemmynsfw.com 21 points 2 years ago

Just in time for lemmychat :D

[–] guyrocket@kbin.social 18 points 2 years ago* (last edited 2 years ago) (1 children)

I thought I recognized that name: Cult of the Dead Cow. They created Back Orifice which was a great parody of MS's Back Office.

(Learning how to do url links here...sorry if that doesn't work)

load more comments (1 replies)
[–] chesterjazz@lemmy.dbzer0.com 16 points 2 years ago (1 children)

Imagine BitTorrent where you don't know the seeder's IP address.

[–] 0v0@lemmy.world 5 points 2 years ago
[–] TeamDman@lemmy.world 16 points 2 years ago

I'm hyped AF, can't wait till the documentation is a little more mature

[–] EskimoY0yO@lemmy.world 9 points 2 years ago (1 children)

Holy cow, haven’t been to that bbs in like 30 years, awesome to see 👍🏽

[–] dhorse@lemmy.world 8 points 2 years ago (2 children)

I used to collect the Cult of The Dead Cow text files. Hacking, phreaking, and weird stories. Looks like someone gathered bunch of them here.

[–] scottywh@lemmy.world 4 points 2 years ago

Same... Pleasantly surprised to learn that they're still around

[–] edgarallenpwn@lemmy.world 3 points 2 years ago

Fun fact, textfiles is Jason Scott's site. He's the head archivist at internet archive. Always doing cool stuff if youre bored and have some time to blow this morning.

load more comments
view more: next ›