Skip to content

Commit d6a9e5b

Browse files
[Article] WebAuthn (#238)
* add author * add article * fix yarn lock * review Brecht * update publish date --------- Co-authored-by: Sander de Jong <sanderdejong88@users.noreply.github.com>
1 parent 9b44487 commit d6a9e5b

File tree

7 files changed

+151
-1
lines changed

7 files changed

+151
-1
lines changed

data/authors/jelle-biesemans.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
name: Jelle Biesemans
3+
avatar: /authors/jelle-biesemans.jpg
4+
occupation: JavaScript Developer
5+
linkedin: https://www.linkedin.com/in/jelle-biesemans-6906871b1/
6+
---
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
title: "WebAuthn: it's time to forget your passwords"
3+
date: '2024-05-28'
4+
tags: ['cybersecurity', 'authentication', 'web auth']
5+
images: ['/articles/its-time-to-forget-your-passwords/heading.png']
6+
summary: 'Dive into the browser standard of securing login and authentication using the WebAuthn browser API'
7+
authors: ['jelle-biesemans']
8+
theme: 'turquoise'
9+
---
10+
11+
# WebAuthn: it's time to forget your passwords
12+
13+
Imagine a world where the hassle of remembering and resetting passwords is a thing of the past.
14+
In this article, we'll dive into WebAuthn, a web standard that eliminates passwords,
15+
replacing them with a more secure and convenient login experience.
16+
17+
With WebAuthn, accessing your favorite websites becomes effortless, allowing you to focus on what truly matters.
18+
Step into a future where authentication is seamless and secure, liberating you from the burden of passwords.
19+
20+
## What is WebAuthn
21+
22+
Since March 2019,
23+
the [W3C](https://venturebeat.com/security/w3c-approves-webauthn-as-the-web-standard-for-password-free-logins/) announced
24+
that WebAuthn is the official web standard for password-free login.
25+
26+
It is a browser-based API that allows web applications to simplify and secure user authentication.
27+
This is done by using registered devices (such as phones and laptops) or biometrics (such as fingerprints) as factors.
28+
WebAuthn uses public key cryptography to protect users from advanced phishing attacks.
29+
30+
### Why do the current methods fail us?
31+
32+
#### Usernames and passwords
33+
34+
We're all familiar with the original way of authentication: using usernames and passwords.
35+
Although this system is easy to understand for the common users, it certainly has its flaws.
36+
37+
Credentials are easily forgotten,
38+
people would write down their password somewhere if they didn't use a password manager, ...
39+
40+
It was found that this way of authentication was not the safest way and the need for a more secure authentication system
41+
rose.
42+
43+
#### 2FA
44+
45+
An extra authentication step was introduced with two-factor authentication (2FA).
46+
This extra step makes it harder for people with malicious intent to steal your password data and take over your
47+
accounts.
48+
49+
However, popular, low-assurance second factors like SMS and email are vulnerable to phishing attacks.
50+
51+
### Benefits of using WebAuthn
52+
53+
Now, some benefits will be addressed.
54+
These will be split up by customers (web application users), product owners, and security teams
55+
(web application owners).
56+
57+
Let's see how WebAuthn provides both parties with its benefits.
58+
59+
#### Web-application users
60+
61+
1. WebAuthn completely removes the need for passwords.
62+
For users, this means not having to remember their login credentials, or requesting an OTP (one-time password) when
63+
using that as a second factor.
64+
The authentication flow is simplified to just use the registered device.
65+
66+
2. Customers are giving you their information. They want to know their data is safe when they share it.
67+
WebAuthn subverts associated with passwords and therefore is a much more secure authentication method.
68+
69+
#### Web-application owners
70+
71+
1. Product owners care about the use of their applications, and removing customer-facing barriers, such as complex
72+
authentication, is one of their highest priorities.
73+
WebAuthn contributes to a better login experience.
74+
75+
2. Security teams need to be less involved. Since the private key never leaves the user's device,
76+
the risk of [spoofing](https://usa.kaspersky.com/resource-center/definitions/spoofing) authentication is lower.
77+
The only way to get access to an account is by physically stealing the registered device.
78+
79+
### How does it work?
80+
81+
So when WebAuthn removes the need for actual passwords, how does it go about authenticating the user?
82+
How does it do the things it is doing?
83+
84+
WebAuthn has three main components that make all the magic happen:
85+
86+
- the authenticator
87+
- the browser
88+
- and the web server
89+
90+
#### Authentication process
91+
92+
Using those three components, the authentication process can be explained as follows:
93+
94+
1. The user goes to the browser to initiate the login
95+
2. The web server receives this login request, then creates a unique challenge and sends it to the authenticator
96+
3. The authenticator receives this challenge, including the domain name for the challenge
97+
4. The Authenticator receives biometric consent/passkey from the user
98+
5. The Authenticator generates a cryptographic signature (public-private keypair) which is sent back to the web server
99+
6. The web server verifies the signature to the unique challenge and logs the user in when verified
100+
101+
<img src="/articles/its-time-to-forget-your-passwords/authentication-process.png" alt="authentication process"></img>
102+
103+
More information about the technical specs can be found [here](https://www.w3.org/TR/webauthn/)
104+
105+
### Drawbacks
106+
107+
I can already hear you think:
108+
"WebAuthn, okay, all nice.
109+
But what if I lose my device on which my private key is stored?"
110+
The answer is simple: **you will be locked out of your account, with no way to recover it.**
111+
112+
That is why it is important to have some fallbacks.
113+
Here are some ways that might just prevent you from getting locked out of your account:
114+
115+
- register multiple devices
116+
- use a password manager like 1Password to store your private key (this can also be used with multiple devices)
117+
118+
### Browser support?
119+
120+
WebAuthn is [supported in all major browsers](https://caniuse.com/?search=webauthn), except for
121+
122+
- Firefox: partial support because TouchID is not yet being supported.
123+
124+
Some smaller browsers
125+
126+
- Firefox for Android: not supported when a PIN is set
127+
- Opera mini: no support at all
128+
- IE: no support at all, but it's IE after all 🙈
129+
130+
### What does the future bring?
131+
132+
Authentication is shifting more and more towards passwordless.
133+
Accounts will be more secure and the risk of account takeovers and limited user experience will be problems of the past.
134+
135+
That's why it is time to forget about your passwords and start using passwordless logins!
136+
137+
<img src="/articles/its-time-to-forget-your-passwords/authentication-timeline.png" alt="authentication timeline"></img>
138+
139+
### Useful links
140+
141+
- https://www.okta.com/blog/2019/03/what-is-webauthn/
142+
- https://dev.to/dagnelies/webauthn-what-if-i-loose-my-device-1lbh
143+
- https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API
144+
- https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Loading
Loading
Loading

public/authors/jelle-biesemans.jpg

108 KB
Loading

0 commit comments

Comments
 (0)