How HTTPS works – Explained in layman terms
medium.com
medium.com
A more realistic case is an enterprise network or an ISP.
Of course, now you need to trust your VPS provider but I'd trust someone Digital Ocean before I'd trust a cheap VPN provider.
The proper name for certificates is TLS certificates, even though many people still use the word SSL for it (which refers to a deprecated protocol that’s not used anymore). It’s fine to use SSL, but omitting TLS isn’t a good idea.
It's TLS certificate now. In the next article, I'll be adding a small note on the history of SSL to TLS.
Eg. Contradicts with wikipedia article: https://en.wikipedia.org/wiki/Public-key_cryptography
For a modern HTTPS connection what happens is that two participants use a Key Agreement process which results in them both knowing a random secret that nobody else knows. This secret is ephemeral which means once the connection closes they'll both forget what it was.
They both use this shared secret to choose the same several symmetric keys and use those keys to encrypt (and decrypt) the actual HTTP traffic.
For HTTPS in particular the main asymmetric cryptography is used for signatures, proof that this is really news.ycombinator.com for example. Your web browser doesn't encrypt messages to news.ycombinator.com but after Key Agreement happens the server will send a message proving it participated in this agreement you've just done, signed using its private key, and your browser uses the public key to check that this is a genuine signature.
What you describe is used that way when you want to send, say encrypted emails to someone else when you have their public key.
"When you are sending a message over HTTP, anyone on the network can see what message is being sent. Further, anyone can intercept the message, modify it and send it to the server."
To me a network is a graph of clients and servers and peers. Ie. Nodes on your graph that your message doesn't visit. The above sentence suggests that those peer nodes can somehow grab your message on its way and modify it, even if your message isn't routing through that node.
Or maybe that is actually the case?
In particular the statement "They confirm the identity of the certificate owner & provide proof that a certificate is valid. " is dangerously misleading for the "layman" as the basic HTTPS certificate issuance does not involve any sort of owner identity confirmation, just that whoever requested the certificate had control of the DNS record for that domain at the time of the request.