A look into authentication: Passwords

Passwords are the guardians of our digital lives. From unlocking our phones to accessing bank accounts, they’ve become a universal mechanism for proving identity in the digital age. But where did they come from, and how do they work? In this first entry of a multipart series on authentication, we’ll explore the fascinating history of passwords, their role in modern systems, and the techniques attackers use to crack them.


A brief history of passwords

The concept of passwords is ancient. In the Roman military, guards used “watchwords” to verify the identity of those entering their camps. These verbal passwords ensured only those with proper authorisation gained access. While primitive by today’s standards, the idea of using a shared secret to establish trust has persisted through the ages.

Fast forward to the 1960s, when the first digital password was implemented at MIT in the Compatible Time-Sharing System (CTSS). Users needed passwords to access individual files on the shared system. Interestingly, even at this early stage, vulnerabilities emerged—one user famously discovered all the system passwords by exploiting a printing bug. This incident marked the beginning of a long and storied history of password security challenges.


The anatomy of a password

A password is, at its core, a shared secret between a user and a system. Its primary purpose is to prove identity. A well-designed password balances three key factors:

How passwords work

When a user enters a password, it typically undergoes several steps:

  1. Storage: A password isn’t stored in plain text. Instead, systems hash the password—a process that converts it into a fixed-length string of characters.
  2. Verification: When a user logs in, the entered password is hashed and compared to the stored hash. If the hashes match, access is granted.
  3. Transmission: Passwords are ideally transmitted securely using encryption protocols like HTTPS, ensuring they can’t be intercepted in transit.

Despite this sophistication, passwords remain vulnerable due to weaknesses in their creation and the ingenuity of attackers.


How passwords are attacked

Modern attackers employ a variety of techniques to crack passwords. Here are the most common methods:

Brute force

This is the simplest form of attack: systematically trying every possible combination of characters until the correct password is found. The time required depends on the password’s length and complexity:

Dictionary attacks

Rather than trying random combinations, attackers use precompiled lists of common words and phrases. These lists, derived from password leaks and user habits, make it easy to guess weak passwords like “password” or “iloveyou.”

Credential stuffing

When users reuse passwords across multiple sites, breaches in one system can compromise others. Attackers take leaked credentials and try them on other platforms, often with alarming success rates.

Rainbow tables

Hashes add a layer of security, but they’re not foolproof. Rainbow tables are precomputed datasets that map hashed values back to their original passwords. By using these tables, attackers can crack hashed passwords quickly—unless additional defences like salting are in place. See the blog post on hashing for more details.

Phishing and social engineering

Not all attacks rely on technical prowess. Many breaches occur because users are tricked into revealing their passwords. Phishing emails, fake login pages, or direct manipulation can compromise even the strongest passwords.


How long does it take to crack a password?

The time required to crack a password depends on its length, complexity, and the tools available to attackers. Modern hardware, like GPUs, can test billions of password combinations per second. Here’s a simple breakdown of cracking times under different conditions:

Password complexity Example Cracking time
6 characters, lowercase only abcdef Less than a second
8 characters, mixed case Abc12345 Minutes to hours
12 characters, mixed case + symbols A$3d!9zX@fP2 Hundreds of years

The role of GPUs in cracking

Graphics processing units (GPUs) have revolutionised password cracking by allowing attackers to perform massive calculations in parallel. Tools like Hashcat leverage this power, making it crucial for users to create strong, unique passwords.

What about quantum computing?

While still theoretical, quantum computers have the potential to crack traditional cryptographic systems—including passwords—at unprecedented speeds. This possibility underscores the need for forward-looking security practices.

Passwords transmitted over the network

You may think oh yes but passwords are surely no longer transmitted, or they are transmitted in a very secure way, but unfortunately that is NOT the case. Many software systems still transmit the password and are poorly protected. Now systems use methods to mitigate that risk like SQL uses certificates, but most people click the trust certificate button, similarly RDP uses Network Level Authentication (NLA) but again some folks turn off NLA, so even where there are mitigations they are often disabled by the user. NLA requires authentication before access to the rdp port (3389) is granted.

SQL Server


Websites and web applications

Secure Remote Password (SRP)

Definition: SRP is a cryptographic protocol that enables secure password authentication by proving knowledge of a password without directly transmitting it. It's resistant to eavesdropping and replay attacks.

Password-Authenticated Key Exchange (PAKE)

Definition: PAKE protocols allow two parties to securely establish a shared encryption key using a password, even if the communication channel is insecure.


Entra ID


Conclusion

Passwords are both a relic of the past and a vital component of today’s digital security landscape. Their simplicity belies their importance, and their weaknesses demand constant vigilance. As we’ve seen, the way passwords are created, stored, and cracked tells a story of innovation and exploitation—a story that sets the stage for the next evolution in authentication.

In the next blog of this series, we’ll dive into how passwords are stored and protected, exploring hashing algorithms, salting techniques, and the critical role of secure credential management. Stay tuned!

Comments

Add a comment
Loading...
Follow
Follow