How to transmit network data securely
As we have seen, keeping data sensitive on your machine is hard. But things get even more complicated once we leave the safe haven of the machine we control and venture into the wasteland of networks.
I probably do not have to remind you that you should never use a public website that uses an HTTP connection instead of an HTTPS connection. The “S,” after all, stands for “Secure.” That is what we want – we want our data to be encrypted, and we want to be confident that the server we talk to is secure and belongs to the party we think it belongs to.
The same applies to our code – if we talk to an outside system, we want to ensure that our data is not being tampered with or intercepted. That also applies to other systems when they connect to us – we want to give those users the same sense of security. How do we achieve that? The answer is simple – we do the same as those HTTPS servers....