How Do Computers Know Which Sites to Trust

Featured image

We are all aware of the padlock in address bar of our web browser means that this site is secure, but have you ever wondered how the computer knows that it is secure? The answer lies in the intricate world of TLS (Transport Layer Security) trust. Let’s dive in and explore how this crucial process works.

How Transport Layer Security works

Before we delve deeper into trust, let’s briefly touch upon TLS itself. TLS, or Transport Layer Security, is a cryptographic protocol that provides secure communication over a computer network. It’s the successor to SSL (Secure Sockets Layer) and is what enables the “https://” in your browser’s address bar, signifying a secure connection.

TLS uses a combination of symmetric and asymmetric encryption to protect data in transit. The process starts with a “handshake” where the client and server exchange information and agree on encryption keys. Once the secure connection is established, all subsequent communication is encrypted, ensuring confidentiality and integrity.

The cornerstone of TLS’s security is its reliance on digital certificates, which we’ll explore in more detail in the next sections. These certificates are crucial for establishing trust and verifying the authenticity of the websites we interact with.

Trusted Root Store

Now that we know that TLS certificates provide security, how do we know with certificates we can trust? The answer lies in the Trusted Root Store. The Trusted Root Store is a collection of digital certificates from Certificate Authorities (CAs) that are pre-installed on your operating system. These CAs are organizations that issue digital certificates to websites, vouching for their authenticity.

  • Windows : On Windows, the Trusted Root Store is managed by the operating system itself. When you visit a website using HTTPS, your browser checks if the website’s certificate is signed by one of the trusted CAs in the store. If it is, the connection is considered secure.
  • macOS : Similar to Windows, macOS maintains its own Trusted Root Store, which is integrated into the Keychain Access application. It automatically checks website certificates against this store to ensure their validity.
  • Linux : Linux distributions also have their own Trusted Root Stores, but they often rely on external projects like Mozilla’s NSS (Network Security Services) to manage the list of trusted CAs.

Updating the Trusted Root Store

As with most things, Certificates do not last forever, when generated they have a Start and end date, as well as a revocation link where the issuer can revoke them if they have become compromised. Because of this the Trusted Root Store needs to be updated regularly to ensure that your computer is always up to date with what is safe and what is not.

  • Windows : Windows typically updates the Trusted Root Store automatically through Windows Update.
  • macOS : macOS updates its Trusted Root Store automatically through software updates.
  • Linux : Updates to the Trusted Root Store on Linux depend on the specific distribution and package manager. Some distributions might include updates as part of their regular system updates, while others might require you to manually install updates for NSS or other certificate management tools.

The IoT Exception: Trusting All

While most modern operating systems maintain a Trusted Root Store to verify website certificates, some IoT (Internet of Things) devices take a different approach. Due to limited resources or ease of setup, these devices might be configured to trust all certificates. This means they don’t verify the authenticity of the websites they connect to, making them more vulnerable to attacks. It’s crucial to be aware of this limitation when using IoT devices and take extra precautions to protect your data.

There have been several documented cases that highlight the vulnerability:

  1. Medical Devices : In 2015, researchers discovered that several medical devices, including insulin pumps and pacemakers, had vulnerabilities related to weak or absent certificate validation. This meant they could potentially be tricked into communicating with unauthorized servers, leading to serious health risks.
  2. Industrial Control Systems (ICS) : A study by Forescout in 2020 revealed that many ICS devices, critical for infrastructure operations like power plants and manufacturing facilities, had weak or nonexistent certificate validation mechanisms. This exposed them to potential man-in-the-middle attacks, where attackers could disrupt or manipulate industrial processes.
  3. Smart Home Devices : Numerous smart home devices, including cameras, thermostats, and even baby monitors, have been found to have inadequate certificate validation. This could allow attackers to eavesdrop on communications, gain control of the devices, or use them as a stepping stone to access other devices on the home network.

These examples demonstrate that the issue of IoT devices blindly trusting all certificates is not just a theoretical concern but a real-world risk with serious implications. It underscores the urgent need for improved security practices in the IoT ecosystem, from device manufacturers to end-users.

Conclusion

The padlock in our browser’s address bar represents a complex system of trust built upon TLS certificates and Trusted Root Stores. While modern operating systems effectively manage this trust, the IoT landscape remains a concern with its prevalent practice of blindly trusting all certificates. This vulnerability poses real-world risks, as seen in various breaches. It’s imperative that manufacturers prioritize security and users stay informed, fostering a collective effort to ensure genuine digital trust.