4 ms·
As I always say, the biggest issue I have with Gemini is TLS and encryption in general, for several reasons. The first one is obvious: Gemini is supposed to be
by GuB-42 4y ago
As I always say, the biggest issue I have with Gemini is TLS and encryption in general, for several reasons.
The first one is obvious: Gemini is supposed to be simple and not evolutive. TLS fits neither points.
The second one is more philosophical
From the article: "The big deal is that the modern internet sucks. It started as something to share knowledge, and quickly became a platform for survielance and exploitation". Gemini was created in reaction to that.
Now, think of what https really is for, what drove its adoption, and why the modern web needs it. And that's e-commerce! The biggest use case by far is so that you can safely send your credit card number to pay for stuff. In the early days, that's almost exclusively what it was used for. Google for instance strongly pushes for https everywhere, what do you think it is for? Your privacy or for commercial transactions?
Now, think about how to keep the commercial activity that lead to the modern web out of your little community. Ban encryption, do not mandate it! No encryption means no credit card numbers, no passwords, no accounts, no access control, you will get something that it hardly exploitable, and therefore less likely to be tainted by the "modern web". If you just want to share knowledge, there is no point hiding it with encryption.
But what about privacy? Well, you achieve that simply by not putting private information on a public network. And if you really want privacy, for example because you are about to share or browse sensitive or illegal data, then TLS is quite limited. There are networks that are explicitly designed for that use case, such as FreeNet, these are a much better option than using an encryption scheme that was primarily designed to facilitate e-commerce.
- hughw 4y ago> But what about privacy? Well, you achieve that simply by not putting private information on a public network. But what about shielding my behavior from snooping? Like my DNS queries, the web sites I visit. I would also like to be able to identify myself and have others do so, with some assurance that nobody is impersonating me or them. These are cases where I do want to, and must, put private (meta-)information on the public network.
- GuB-42 4y agoAs I already mentioned, TLS is a poor choice for snooping prevention. It does offer some protection since you don't know the exact resource you are requesting, but the domain is clear. If you really need that kind of privacy, I think there are more appropriate options. And also, why would you want to identify yourself? AFAIK, Gemini is very limited in term of uploading: there are no forms or PUT requests. The only reason I can think of would be access control, but that's something I would rather not have. On the server side, TLS only guarantees you that you are on the right server, but not that it is the right content, that part would be better served by something like a PGP block. Another advantage of using these kinds of digital signatures is that it wouldn't force additional complexity. It is just text: the server don't have to care about that, verification can be made client-side.
- msla 4y ago> Now, think of what https really is for, what drove its adoption, and why the modern web needs it. And that's e-commerce! No, it's keeping the ISPs from spying on, blocking, and adding advertising to any and all data they can get into. > Well, you achieve that simply by not putting private information on a public network. You have no idea what information will become sensitive in a few years. "If you're not doing anything wrong, you have nothing to hide" fails because I don't know what I'll eventually need to hide.
- GuB-42 4y agoTLS doesn't prevent blocking by ISPs, it is limited in term of spying prevention (metadata are still available), it does prevent tampering by ISPs, but I think that part would be more effectively achieved with digital signatures (ex: PGP blocks) that not only prevents tampering by ISPs, but also by someone who controls the server or by forgers. As for information you share that will become sensitive, yes sure, but if you think that, don't publish anything at all on public networks. But if you want a technical solution to still be able to post what you think is or may be sensitive in the future, then, TLS is probably not the right solution. Hacker News uses TLS for instance, and it won't help me at all if one of my comments gets me some unwanted attention, I am sure my username alone is enough to get back to me for someone with enough motivation.
- msla 4y ago> TLS doesn't prevent blocking by ISPs They can block it or they can let it through unmodified. They can't keyword-filter it and add advertisements to it. > it is limited in term of spying prevention (metadata are still available) Granted. However, "Your customer connected to this IP address" is much less marketable than "Your customer is reading information about stew recipes" and much less actionable than "Your customer is reading information about encryption and is therefore a traitor" and so on. > it does prevent tampering by ISPs, but I think that part would be more effectively achieved with digital signatures (ex: PGP blocks) that not only prevents tampering by ISPs, but also by someone who controls the server or by forgers. Digital signatures only guarantee that the data is from who it says it's from (which Gemini doesn't enforce because it specifies TOFU) and that hasn't been modified. They don't protect against spying, for advertising or any other reason. They also still rely on a cryptographic library, which undermines your point about how Gemini shouldn't be burdened with the complexity of TLS or SSL. > As for information you share that will become sensitive, yes sure, but if you think that, don't publish anything at all on public networks. Here, I'm not talking about what I post but what I access and read. It seems like you want to give everyone the ability to snoop on who uses the library and for what, and I have a hard time not attributing nasty motives to something like that.
- tenebrisalietum 4y ago> and quickly became a platform for survielance I think what the author meant by this is that there can be code embedded on an HTML/JS page that sends data to third parties, tracking you. HTML/JS also has cookies and numerous other features that can be used to track you. Gemini has none of this - you ask a server for a Gemini document, you get a document, there are no cookies or JS-style embedded code involved. > But what about privacy? Well, you achieve that simply by not putting private information on a public network. Gemini supports client-side certificates - so you can "privatize" your capsule or a portion thereof if you want.
- cpsns 4y agoMy issue with the TLS requirement is the artificial limit it places on systems which can access Gemini. It's blocks small systems, anything really DIY, vintage computers, etc. Gemini could have a really cool niche as a protocol which supports a lot of weird and wonderful systems, allowing them to be more useful and fostering a community interested in that stuff, but the TLS requirement completely prevents that. I'd love to write a Gemini client for System 6 for example, but that just isn't feasible. I guess my problem is partly that Gemini isn't useful to me, but even more broadly I don't understand who it's really useful for at all.
- nicolaslem 4y ago> Gemini could have a really cool niche as a protocol which supports a lot of weird and wonderful systems. To give an example, thanks to its simplicity the IRC protocol was used for a lot of weird and creative things besides chatting. On the top of my head: bootstrapping P2P networks, controlling botnets or as a generic pubsub broker.
- zzo38computer 4y agoI also think that it is problematic that TLS is mandatory in Gemini. (I think it would be good to make it optional.) There are some other problems with Gemini as well, such as the lack of any equivalent of a (optional) "Content-Length" header like HTTP has, and that it uses Unicode, and a few other things. I suggested using "insecure-gemini" as the URI scheme name for the non-TLS variant of Gemini. You could have TLS and non-TLS service on the same port number, since I think that it can be distinguished from the first byte received from the client. However, TLS service programs that I have checked do not seem to have this capability.
- gerikson 4y agoCheck out Spartan, it's apparently a protocol that is inspired by Gemini but doesn't have TLS. Sorry no links, I just read about it when I was semi-active in Gemini but never bothered to follow up.