Live data from Hacker News

Ask HN: If the Internet were redesigned today, what changes would you make?

news.ycombinator.com

311–320 of 327 posts

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#311
post #192

Earlier quoted context omitted.

NAT without port forwarding done by router facing the ISP, the default kind of NAT which the subscriber does not have to worry about configuring, has very great security aspect. Connect your home network devices to the router doing that kind of NAT,and this automatically protects all devices in your local network from incoming connections.

Yes, but that's an unintended consequence and cannot be relied upon. Any default-configuration firewall would achieve the same, but in a more reliable manner.

> that's an unintended consequence Even granted that, so what? It does protect home devices' ports by default, no?

> any default-configuration firewall would achieve the same

OK, but default NAT does achieve it as well, right?

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#312
post #200

Earlier quoted context omitted.

if your PC only consumes 50w (somewhat low for a desktop). and your power is 20c a KWH (a little high on average, but not crazy high, though perhaps 0 in a dorm room). you'll be spending $7-$8 a month just on electricity. So it's not "free" to run it on your PC. now, if you view that your PC runs 24/7 anyways, perhaps (much like the dorm room case) the marginal cost is 0. I'm simply making the case that it might not…

But it feels basically free which is the important thing vs having to set up billing. $20 a month is a lot if you're a teenager with limited or no income.

[deleted]

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#313
post #126
post #88

Earlier quoted context omitted.

> the fact that they had such an excess of addresses that Zuck could bind to a public IP address VPS providers such as Linode were around at the time, and they weren't that expensive. $20/mo would have got you enough to get started. Or you just get shared PHP hosting which would have been cheaper or even free (with ads injected). And much simpler to deploy than today, just FTP the files and boom it's live. If you wer…

> $20/mo would have got you enough to get started. What? Have you forgotten what your first time was like? There is a huge difference between thinking: > "I build my first shitty website, if i leave my PC on everybody in the world can use it. Who knows what will happen?" And instead being required to go: > "I'll spend 20$ a month to maybe entertain a couple of people for a couple of minutes by using someone else's ha…

Well the first site I hosted was on shared hosting for free. I had dial up, so hosting it on my own PC was not very practical. I didn't know about server administration, but knew how to write PHP, so this was perfect for me.

When I got a job in a supermarket at 16 earning £4/hr I was able to afford a VPS, so bought that and learnt how to administer servers. To me it was a worth-while expense as a fun hobby and education. Today you can get a more powerful VPS for $5/mo, of even free with things like AWS free tier.

I'm not sure that's really applicable to Zuck and Co (it wasn't just him when it launched) though - someone at Harvard with wealthy parents.

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#314

Earlier quoted context omitted.

Well usually the term end-end means from you directly to the user you are talking to (if its in a chat context for example). TLS (in its normal usage) isn't end to end, putting encryption in a lower layer makes it even less likely to be end to end. In end to end encryption, preventing mitm attacks is the hardest part and often is glossed over. How many people actually verify the "safety number" when using signal? Pro…

Hmm. I think end-to-end needs to remain end-to-end, and you don't need to trust a plethora of third parties if everyone is using the same library/platform for encryption. Middle parties don't need to know anything about the encryption. The source for that library will be extremely well vetted. Maybe the most vetted code ever written. There are practicalities, such as how improved encryption gets added to the protocol…

I'm not sure how having a single code base would help anything. Sure, interopable standards are needed, but what benefit does a single code base get us?

> Also, affordances for encrypted delayed transmission, i.e. storage in the middle. For instance, email providers would need to store encrypted messages until your local reader downloads them (either to read or store locally).

So the scenario here is we add encryption transparently at either layer 3 or layer 4 and the encryption is end-to-end (the email provider cannot read it, only the intended recipient).

How would that work? At the very least the email provider would have to know the application level "to" address to route the email. If its end to end encrypted, they cannot as they are a middle party. Maybe you could say that some metadata is unencrypted, but then the encryption is clearly not happening transparently on a low layer if the application layer turns it on and off for different parts of the message.

Not to mention - who are you encrypting it to? (Aka which key are you using). If this is transparently on layer 3/4 one presumes the key is tied to the ip address (and maybe port?) as the only identifier available. If its end to end encrypted through a middle man (email provider) for an eventual destination for whom not only do you not know their ip address, they are offline right now so they literally don't have one, how can you possibly get the right key for that transparently without involving the application layer?

> There is some thought needed for the design, as with any platform. And perfection might never be achieved - but things are much less perfect today.

Personally i think TLS is pretty good all things considered. Its not without trade-offs but most of those trade offs are pretty reasonable given the technical constraints we have.

> The return on that careful work would be an insane drop in the number of disparate implementations needed, and a much safer internet without all the cracks in and between disparate implementation.

Very few security issues are caused by interoperability issues between different crypto implementations. One implementation might have a bug a different one doesn't, but settling on a single implementation wouldn't stop bugs from being a thing.

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#315
post #65

End to end encryption and tracking-resistance at a low enough protocol level that most developers or users would never know the pain of even thinking about either. Imagine how many times security and privacy have been reimplemented in different contexts. And that patchwork approach will incentivize security breaches and manipulation through dark surveillance until ... no end in sight.

Technically tls is end to end encryption. Between you and the service provider.

No, the ends in "end to end encryption" don't ever refer to the service provider.

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#316

Earlier quoted context omitted.

Hmm. I think end-to-end needs to remain end-to-end, and you don't need to trust a plethora of third parties if everyone is using the same library/platform for encryption. Middle parties don't need to know anything about the encryption. The source for that library will be extremely well vetted. Maybe the most vetted code ever written. There are practicalities, such as how improved encryption gets added to the protocol…

I'm not sure how having a single code base would help anything. Sure, interopable standards are needed, but what benefit does a single code base get us? > Also, affordances for encrypted delayed transmission, i.e. storage in the middle. For instance, email providers would need to store encrypted messages until your local reader downloads them (either to read or store locally). So the scenario here is we add encryptio…

An email provider would need a "to" code from you when you registered with them. Then with each request to download your mail, they send you a randomly generated number encoded with your "to" code, and you respond by decoding it and sending the number back encrypted with another number they give you.

They don't have to know where the mail is actually going, or what is in it. Just that they are getting a request from a person who owns that mail.

It gets more complicated than that, for the wonderful reason that there are so many more great things you can once you have standard primitives for encryption and cryptography. For instance, instead of a general email address, you can also give unique addresses to people so that only people you want can send you anything, and you can verify who its from.

You can still have a public address just by creating and publicizing an address for that purpose.

Once their is a standard library that developers can take for granted there are so many other things that can be easily done.

Today many of those things are difficult simply because there is no standard library, and everyone rolling their own implementations creates a nightmare. It is the vetting and fixing every single vulnerability from each implementation that is too difficult for most developers, even very good ones. That is one reason why everything is so insecure today.

A first draft of how the encryption works for email would probably one day's white boarding, since the primitives for this kind of thing have been around a long time. And people have done this kind of thing many times before in small contexts.

The actual implementation, to be very fast, extremely vetted (even formally verified) for correctness and after iterating many times of possible use cases and corner cases, would take some time.

There wouldn't need to be a single code base, but the point is to have very few implementations that are extremely well vet. So few implementations creates better security.

That way most applications and users can forget its even there.

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#317

Earlier quoted context omitted.

The ISP would still be untrusted. They're just running a database/discovery service for your public key. Now you might say, what stops them announcing the wrong public key to the world, and then decrypting/re-encrypting a connection when it flows inbound to that IP across its wires. And the answer is the same as with TLS/SSL: not much, so you have to do lots of double checking and pinning. Recall that nothing in toda…

I disagree, incentives would be very different imo. > Now you might say, what stops them announcing the wrong public key to the world, and then decrypting/re-encrypting a connection when it flows inbound to that IP across its wires. And the answer is the same as with TLS/SSL: not much, so you have to do lots of double checking and pinning. in WebPKI: - CA's have struct rules (CAB and individual browser vendors) and h…

WebPKI doesn't really solve these problems.

CA Audits are mostly about ensuring they're following the rules. However, the rules cannot stop an ISP or hosting provider just issuing themselves a cert and a fully audit compliant CA is not expected to stop this.

Cert transparency is mostly unused. For it to work people have to proactively search the logs to find certs they didn't issue, but in reality nobody does this outside of maybe big tech firms. Moreover, in the ISP/colo interception case, the CA wouldn't be revoked because they wouldn't have done anything wrong.

Re: pinning. You can't pin if your IP isn't stable. However you can if you're a server. Then you don't need the fragile link of DNS in the loop at all. For instance, mobile apps can just have a cached public key (of course you can do that today, but we're talking about a system that is more deeply integrated with the internet).

"there is no single attacker who is on path for all of lets encrypt's vantage points"

No? AWS isn't on path for all the websites they host?

Even in the case where the hardware isn't owned, any site that has one internet uplink (i.e. most of them) can be targeted in this way.

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#318
post #65

Earlier quoted context omitted.

Technically tls is end to end encryption. Between you and the service provider.

No, the ends in "end to end encryption" don't ever refer to the service provider.

Generally the ends are defined when you're going to say E2EE. In some places it's implied (e.g. a messaging application), elsewhere it's not and should be defined.

Re: Ask HN: If the Internet were redesigned today, what changes would you make?

#319

IPv6 dates back to 1997 and it really should have been adopted more urgently. IPv4 isn’t a huge issue but it sucks that so much of the internet is dependent on cloud providers because it’s the simplest way to get a public IP address. The decentralized web didn’t happen, in part, because of this. Facebook was famously started and hosted in a dorm room. But this was only possible due to the history of Harvard within th…

OP here. Why are 128-bit addresses necessary? 64-bits would be more than the number of devices every made several orders of magnitude.
Post reply on HN