←back to thread

430 points tambourine_man | 1 comments | | HN request time: 0s | source
Show context
mr_mitm ◴[] No.41879391[source]
I'm glad someone is thinking about UX and ergonomics when it comes to passwords. Most people I interact with have by now realized that generating passwords is a good idea. But if you are already generating the password, please do not include special characters. I regularly use different keyboard layouts (sometimes it is not even clear which layout is active, like in the vSphere web console), and the fact that passwords are often not shown on the screen when typing them makes for terrible UX and causes frustration.

The usual advice about character classes is only for casual users who don't know what makes a secure password. Entropy is the deciding factor: Ten random lower case letters is much more secure than "Summer2024!", which satisfies most password rules and has more characters.

Personally I stick to lower case letters for things like my Netflix password or Wifi key, because typing with a TV remote can be a huge pain. To keep a similar entropy, just increase the length by one or two characters.

replies(10): >>41879469 #>>41879535 #>>41879556 #>>41879734 #>>41879735 #>>41880345 #>>41880499 #>>41881423 #>>41881471 #>>41883418 #
lhamil64 ◴[] No.41879535[source]
How often do people actually end up typing these random passwords though? Personally, I almost always can copy/paste or autofill. For devices like TVs, it seems like many of them let you pair via a QR code or other mechanism. And sure, there are times where you need to manually type a password, and for those specific cases you can use a different scheme (like avoiding special characters or using something like Diceware https://diceware.dmuth.org/) but I wouldn't go so far as to never include special characters. IMO if you expect to always be able to autofill, use as many character classes as possible.
replies(7): >>41879546 #>>41879604 #>>41879627 #>>41880507 #>>41880948 #>>41885651 #>>41911174 #
browningstreet ◴[] No.41879627[source]
One notable exception is the 1Password secret key. It’s long and random. I spent this summer reinstalling Linux on a laptop over and over and having to re-type this one long string was my least favorite part of it. Especially since I use multiple profiles in Chrome, and each needs to be authenticated for 1Password.
replies(2): >>41881404 #>>41882064 #
1. tzs ◴[] No.41881404[source]
If you ever have to do that again it might be worth considering some hardware assistance. An ESP32 S2 or S3, from what I've read, can act as a USB HID and emulate a keyboard from the computer's point of view. The necessary code is included in the ESP32 libraries for Arduino, with examples [1], so for software all you'd need is the Arduino IDE or command line tools, which run fine on Linux.

With that it would be easy to build a temporary "type my secret key" dongle.

An ESP32 S2 or S3 dev kit board from a reputable source along with the other necessary hardware would probably be under $20.

There are also some models of Arduino that have the necessary USB support such as the Arduino Leonardo [2], but the Leonardo is more than an EPS32 at the non-sketchy sellers I've seen.

Even if you've never played around with microcontrollers this would be a beginner level project.

[1] https://github.com/espressif/arduino-esp32/tree/master/libra...

[2] https://docs.arduino.cc/hardware/leonardo/