TLS prevents me from, say, tampering with your network traffic and pretending to be Google.com if I control the network you’re on. That’s a hard attack - not unprecedented, especially for hostile governments or unethical ISPs but uncommon for most people.
FIDO2/WebAuthn prevent the more common phishing attack where I register a different host name, get a valid HTTPS certificate, etc. for a different hostname like gooogle.com and try to convince you to enter your real Google password there. These attacks are relatively easy to run since they don’t require any successful compromises to launch and things like URL shorteners and link trackers, not to mention corporate rebranding and outsourced marketing, have trained most people to see weird links as normal.
Here’s a sample flow for that:
1. I setup gooogle.com and make it look like a real Google login page.2. I send you a link, perhaps obscured, which takes you to my fake login page.3. When you enter your password, my code starts a real Google login session.4. When you’re prompted for TOTP or SMS MFA, my code submits those values to Google and now I have a valid session.5. My code returns some kind of temporary error and sends you to the real login page. 99% of users are used to stuff breaking every so often and since your second login attempt will work just fine, almost nobody questions this.
There are various things you can do to make those attacks harder such as MFA systems warning users about where the logins are geolocated but those are unreliable and attackers can often foil them by e.g. using a botnet node or compromised cloud server in the same region. The WebAuthn protocol makes this attack completely impossible so it’s not just faster and easier but absolutely more secure.
FAQs
The major difference between passkeys and ssh keys is how they are managed. You can, and should as good practice, generate separate ssh keys for each ssh service that you use, just as you should generate separate random passwords for each web service that you use.
What is the difference between SSH key and SSH host key? ›
SSH host keys serve as the default SSH server identification for connecting SSH clients. They are the default machine identity generated when an SSH server is installed. Analogous to user SSH keys, host keys represent the server's identity and are used for authentication towards the connecting client.
How are SSH keys managed? ›
On the remote server side, it is saved in a public key file. On the user's side, it is stored in SSH key management software or in a file on their computer. The private key remains only on the system being used to access the remote server and is used to decrypt messages.
What is the difference between SSH key and public key? ›
An SSH key is used to access a remote server through an SSH connection. The keys come in pairs, a public key and a private key. The public key is kept within the server and the private key is with the user or the client. The server authenticates the user by sending a message encrypted using the public key.
How is passkey different? ›
Passkeys are unique by default, while passwords are as complex as the user makes them. Passwords are stored on servers or databases, while passkeys consist of a public key stored on servers and a private key stored on a device.
What is the difference between SSH key and deploy key? ›
You can launch projects from a repository on GitHub.com to your server by using a deploy key, which is an SSH key that grants access to a single repository. GitHub attaches the public part of the key directly to your repository instead of a personal account, and the private part of the key remains on your server.
What is the difference between SSH and S? ›
SSH vs SSL: Key differences
SSH is usually used for securing remote connections to computers, while SSL is for running a website. Both SSL/TLS and SSH have connection protocols that allow machines to perform key exchange securely.
What is the difference between SSH host and user keys? ›
SSH client and host keys are used when an SFTP client attempts to connect and authenticate with an SFTP server. Client keys authenticate the user connecting to an SFTP server. Host keys ensure that the SFTP client is connected to the correct SFTP server. NOTE: Diplomat MFT always acts as the SFTP client.
What is the difference between SSH key and https key? ›
Key Differences in Architecture:
Security: SSH is considered highly secure because it involves private and public keys, making it challenging for unauthorized users to gain access. HTTPS is secure but relies on traditional username-password or token-based authentication.
How are keys managed? ›
Key management involves separating keys from data for increased flexibility and security. You can have multiple keys for the same data, the same key for multiple files, key backup and recovery, and many more choices.
SSH key pairs can be used to authenticate a client to a server. The client creates a key pair and then uploads the public key to any remote server it wishes to access. This is placed in a file called authorized_keys within the ~/. ssh directory in the user account's home directory on the remote server.
How to manage SSH keys on Linux? ›
Set up personal SSH keys on Linux
- Install OpenSSH on your device.
- Start the SSH Agent.
- Create an SSH key pair.
- Add your key to the SSH agent.
- Provide Bitbucket Cloud with your public key.
- Check that your SSH authentication works.
What is the difference between SSH public key and password? ›
Why authenticate using SSH key instead of password? Undeniably, the main advantage of authentication using SSH public key over authentication using password would be security. No matter how long or complex a password is, it can never equate with the cryptographic strength that SSH public key offers.
What are the different types of SSH keys? ›
In general, there are four widespread key types by algorithm:
- Digital Signature Algorithm (DSA)
- Rivest-Shamir-Adleman (RSA)
- Elliptic Curve DSA (ECDSA)
- EdDSA and Ed25519.
What is the difference between SSH key and SSH certificate? ›
Some SSH keys are also shared between multiple servers making it difficult for IT teams to identify their owners. SSH certificates facilitate robust compliance and auditing practices by embedding metadata such as user names, expiration dates, and usage permissions.
Why use SSH key instead of password? ›
From a security standpoint, using SSH-keys to authenticate a user's identity leads to greater protection of your data. Username/password authentication can often lead to security compromises, in particular, brute force attacks by hackers.
Is passkey safer than two-step verification? ›
Passkeys aren't vulnerable to being intercepted, some 2FA methods are. Another key difference between passkeys and 2FA is that because passkeys are automatic (they don't require the user to manually type anything), they're not vulnerable to being intercepted, whereas some 2FA methods are vulnerable.
Are passkeys actually more secure? ›
They can't be guessed, leaked, or stolen, and they stop phishing attacks in their tracks, according to those behind the technology. Passkeys are widely considered to be more secure than passwords.
Can passkeys be hacked? ›
Passkeys, by design, are significantly more secure than traditional passwords and are much harder to hack due to their cryptographic nature. However, like any technology, they are not entirely immune to certain vulnerabilities. Passkeys are more secure than passwords due to their cryptographic basis.