Security expert reveals surprising way to make your password stronger: use emojis

Salamendacious@lemmy.world to Technology@lemmy.world – 300 points –
Security expert reveals surprising way to make your password stronger: use emojis
nypost.com
278

Emojis are known to break systems in certain circumstances due to the way they're interpreted in certain character sets.

I guarantee people doing this will not only lock out their own accounts, but may even freeze some authentication servers.

https://www.pcmag.com/news/want-to-brick-an-iphone-send-some-emojis

https://www.itechpost.com/articles/75762/20170119/brick-iphone-using-emojis-plus-tricks-dont-know.htm

The website should feed your password straight into a well known hashing algorithm or key derivation function that has undergone a decade or more of careful scrutiny, without any other processing. The output will usually be a fixed length base64 or hex string.

There's a short list of about three options that are currently considered acceptable, and a few more are probably fine but are a little too easy to crack these days (e.g. anything that shares the same math as bitcoin... what if someone throws a mining datacentre at your password?)

If the site breaks, maybe you don't to be a customer of that service.

Can you still log in to wellsfargo accounts using the T9 translation of your password?

make one account with emoji password to test their system, if it break, good, go create hour account somewhere else

It's not the processing on the server that's the problem. To reach the server the password needs to go through several layers of character encoding, if any of them fails the server will receive something different from what you meant. And when you try to login from another device and the layers will be different you'll effectively be sending a different password.

The same character encoding that would break emoji would break a significant portion of the words names, so if your system can't handle it, then you deserve all the trouble that you run into.

Unicode isn't that hard.

You're not wrong, but some systems, especially smaller ones are intended for English-only situations (or originally were) so non-English language situations might not be as well tested and/or may cause things to break.

Remember there are some sites that still refuse service if you put a " in your password. I'm not saying it's right, but it's a definite possibility.

It's not the 90s anymore.

That is very much not a 90s problem. Especially if the company has a website and an app or is a small company not thinking about these things.

In theory this shouldn't be an issue but it definitely could be an issue on certain services.

auth servers breaking from emojis would be hilarious, pretty sure that's why older auth servers only allow certain symbols in passwords

"Your password '🤣umådbrø⁉️' is breaking our server. Please change it."

"Of course. What is the server's root password?"

If some auth server breaks because I put emojis in my password then that's right and deserved

Sounds like a crappy implementation of the authentication server then, and the sysadmin deserves a paddlin' for not stripping non-UTF characters (or making sure they work).

My problem with using emojis as part of the password would rather be that while I might be able to enter them on my personal Android phone using the exact keyboard app I have installed right now, I might find myself struggling on a desktop computer or any other phone that doesn't have this exact keyboard installed. After all, the graphical representation of the same emoji might look different there, and there is a chance I couldn't even recognize it.

So if anything, I'd say use a non-UTF keyboard like Thai or Chinese, but then a standard character in that specific type. Keyboards layout can be installed across devices and are fully standardized, even if the same character looks slightly different.

Stripping characters from passwords, great idea! Right up there with truncating passwords that are too long.

5 more...

also some OSKs put whitespaces after inserting an emoji, some doesn't. there's no unified emoji input method yet.

There's no such thing as a non-UTF8 character. You mean non-UTF8 bytes? If a system sees those, it should reject the entire input, not try to patch it up.

5 more...

and there are many trash implementations that dont recognise something like :emoticon: as shortcut and turn it into emoji, no no you have to use emoji keyboard to type them

1 more...

OTOH, there is only one character set that matters, and any system using a different one is, by that fact alone, broken.

I said only one that matters. So I already did pick one. It's called Unicode.

UTF-8 and UTF-16 pretty much do everything, but if you have a UTF-16 emoji in a UTF-8 system, you'll have a bad day. :(

Those are encodings, not character sets.

IANA calls them character sets, it's literally in the URL twice, that's good enough for me!

No need to tell us how you feel every day

That only applies to iphones that came out 2016 or earlier and we're never updated right?

Hahaha, I wish.

You would be amazed at how ancient and poorly maintained many web servers are on the modern internet. SQL injection still consistently make the top 3 web app vulnerabilities as of 2021. If that isn't being sanitized properly I don't expect emojis would be handled much better.

For that particular bug, yes, but there have been many other variations on that theme and not limited to Apple tech. I've seen it nuke an email send for example because the SMTP server choked on emojis placed in a subject, to, or from line.

6 more...

💯🐴🔋(umm, staple)

Jeez, you're right. We got pens, pencils, stock charts, even those folders with the colored label tabs, but no stapler, the most basic of office equipment.

When it's added, I expect most implementations will make it red.

Hopefully it's compatible with skin tone modifier.

Good luck logging in a Smart TV.

Security Experts probably don't log into smart tvs all that often. Just a guess.

Sorta how car designers never have to actually fix cars.

But why wouldn't it make sense to need to pull the cab off of a pickup truck to change the spark plugs?

That's true for all car designers. You're referring to the shitty designers, though.

Architects don't get involved in the actual construction of a building either.

Oh they do. They come to tell you that the safety protocols you've implemented are interfering with their design.

They'd prefer it if it looked pretty and then just fell down and light breeze thank you very much

All the apps I've used recently use QR codes (or similar measures, like a sync code) that has you log in from the phone, so it should work anyway!

But not all apps, sadly, I just experimented it with Crunchyroll, and saw my dad struggling with a crappy app called Vix yesterday.

Fair enough. I'm mostly using "big ones" plus SmartTube.

In my experience the only one that works with any degree of reliability is YouTube. Even the Netflix one can be fairly intermittent.

Also a lot in the time you'll go away and the hotel you're in will have a smart TV and the software was last updated in 2011 so you have to sign in on the device.

Scan the QR code and log in on your phone. Oooh scary

I've had to manually type in passwords on a TV several times in the last few months because sometimes the login for even the biggest brand-name services is just broken.

Terrible idea, good luck logging in on desktop.

You know there's someone somewhere who would answer you with, "what's a desktop?"

1 more...

Wait, you can't type emoji on your desktop? I feel sorry for you. 🥺

I have no idea how you could either. I don't know how to create them with s keyboard

Winkey + .

Works on Windows and some Linux distros by default

Firefox has an addon that opens up an emoji panel.

For Windows 10/11, its win+; to open the emote window.

That doesn't work on the desktop last I checked.

But it's actually possible to set a password with emojis anyways (or at least for domain accounts). I successfully logged in on a VM using the Hyper-V window and pasting the emoji from the host. You can also name an account a single emoji and windows actually handles it decently. It's very likely to break a lot of programs though.

Its worked on desktops for years and works right now. As someone else pointed out "win+." works as well. Or maybe its supposed to be the only way it works and mine is bugged? Idk. I found it via trying to lock my desktop and mistyping.

It worked on my desktop

😁👍╰(°▽°)╯

Works even in notepad on Windows 11, lol

Oh I meant the lock screen, sorry. As far as I know it works everywhere except the lock screen.

oh, I never tried. There goes that option. Wonder if that was intention to prevent people from trying to use emoji passwords because they didn't trust windows to handle it.

It's probably just because the emoji panel is a program and the lock screen has very limited or any capabilities to run any programs. And trying to make it the emoji panel to function on the lock screen is pretty much a waste of time anyways.

1 more...

Security expert reveals surprising way to induce headaches

Security experts don't actually have to work on corporate IT systems.

So you've set your password to contain a 😇 have you?
Ok so how are you going to type it on this desktop computer keyboard here…
Yeah I thought not.

I'll just go reset your password shall I?

win+. (works on kde too afaik...?)

I'll let you be in charge of teaching them that. I literally had to talk someone through how to type an exclamation mark today, I don't think they're going to handle the extended Unicode character set.

No. There's only one piece of advice that should be given to users in 2023 about how to make their passwords stronger:

Use a password manager

Just use 32 character random alphanumeric passwords that are unique for each site (you can do more like 12-16 characters if you'll ever need to enter manually).

This is it. Stop trying to create clever passwords that you can remember. You aren't as uniquely creative as you think and there's been bodies of research into how the various things people do to create passwords that look secure can reduce the generation space so much that they become considerably easier to crack with an intelligent algorithm.

Test your ability to be unpredictable

I got it to a stable 54% by using an

::: spoiler algorithm typing f or d for consonants and vowels respectively in sentences I thought up, switching languages regularly, :::

and a stable 56% by just typing randomly and adjusting my patterns based on the colored output, which might have skewed my results. Certainly a very cool tool, I also liked the explanation linked on the page!

How many websites/services don't support such lengthy passwords these days?

Few, but those that don't you can just shorten the length generated.

xkcd still has the best approach to this; four random common words

I like doing entire phrases with some rhymes thrown in. Makes it easier to remember them.

"BonyTonyMoansHe'sOnlyGrownLonely" has a shitload of characters, and a full sentence (even a nonsensical one like that) is more memorable to me than a random handful of disparate words.

The more ridiculous, the better. (And, naturally, don't forget your numbers and symbols)

EDIT: Actually, no idea why I made it all one group of words. So long as spaces are in the password's character space (and they very well should be if friggin' emojis are), there's nothing stopping you from doing an entire, punctuated sentence- other than that we've been conditioned not to think of a password that way.

"Skinny Kenny's friend, Mini Ben, has 20 chins." That should be a fully-acceptable password with 46 characters (48 if you add the quotes), capital letters, numbers, and special characters.

You can't compare a 46 random character password to a password composed out of words, the entropy of each is very different. Your kind of password is vulnerable to dictionary attacks which are way more common and easy than brute forcing every possibility. A 50+ characters unique random password for each service that is stored in a password manager which is encrypted with a 20+ characters random password is the most secure and future proof (for now).

If the attacker doesn’t know that you’re using a dictionary password, then dictionary attacks probably won’t be their first choice. I want to remember these passwords across devices and on guests.

Like someone else said on this thread; that's just security by obscurity, which is bad. Dictionary attacks will be one of the first (brute force related) attacks attackers will use because word passwords are incredibly popular (though admittedly of fewer words: VeryBigDog34 etc..), and relatively easy to do. I agree that having the password across different devices is somewhat of a challenge with a password manager, but not impossible. My very long and complex password is all down to muscle memory by this point, I couldn't tell you what it is from memory.

Also you shouldn't use the same password on multiple things and if you don't use a password manager you will need to memorize a lot of different passwords.

Dictionary attacks aren’t some magic bullet. There are a lot of english words and just four of them IS comparable in cracking difficult to a standard 8-char password that is as random as you can make it. There are a lot more words than there are symbols. Four words is obviously not as good as 46 totally random chars

Dictionary attacks are definitely not a magic bullet, they require a lot of processing power, just like any other brute-force attack, but not more because of their longer length, as has been implied.

True, there are a lot of english words, but the amount of common words is relatively small. Most people aren't going to choose a password like "MachicolationRemonstranceCircumambulationSchadenfreude", even if it were generated for them (which is unlikely).

Sure, it is comparable to a standard 8 characters passward, but even that kind of password is verging on the insecure (it is the absolute minimum, which should be avoided when possible).

There are also a lot of symbols when you count emojies and the entire Unicode standard.

I love it, Bitwarden has supported generating passphrase style passwords for a while and it's basically that. It's my go-to these days.

Four words is too low these days to protect against gpu bruteforcing

Got a source on that?

Edit: plus brute forcing is just one scenario. I think the xkcd comic refers to using passwords in online services, and those usually have some sort of rate limiting.

https://thesecurityfactory.be/password-cracking-speed/

8 character a-zA-Z is 45 bits of entropy (log2(56^8), about the same as the XKCD password if you take from a 2048 word list. That's crackable in a minute on AWS.

Password hashes get frequently stolen, don't rely on rate limiting if it's something you really care about.

Here are the dice ware recommendations on the number of words: https://theworld.com/%7Ereinhold/dicewarefaq.html#howlong

Sure, but the average English speaker knows way more than 2048 words. Let's not forget about case sensitivity, made-up or "inside joke" words, names, and specific industry vocabulary.

Even if you take four words of a 30000 word list (quick Google says that's the number of words an average person knows), that's still less bits of entropy than a 5 word diceware password (7776 word list). People are also really bad at randomness, so your own string of random words is likely going to be much worse.

Thanks for the explanation. What's diceware?

It's the concept of literally using a die to choose with randomness (humans are terrible at trying to be random); a link with details is in a previous comment.

That only works if someone already has access to a system's password database.

Just be sure to throw in symbols and numbers to beef it up. Dictionary words are easier to brute force.

The whole idea is to make it easier for humans to remember and more difficult to brute force. Long passwords are much harder to brute force than complex passwords with lots of special characters. And they're a lot easier for humans to remember.

There are enough words in any language that it's virtually impossible to guess the correct four words, even if they're in the dictionary.

Even so, most password requirements will force you to add them anyway. Quick way to do it is to just pick a number on a keyboard and add it and the symbol to the end. e.g HorseBattery2# and so on.

And requirements like that are why my password strengths are completely out of whack:

  • Random websites get 24 randomly generated printable characters stored in my password manager. This is essentially unbreakable with conventional methods and can easily be adapted to fit whichever counterproductive rules the website enforces.
  • My password manager and my home computers get memorable but long phrases. A particular favorite is to start in the middle of a line from a song and continue from there. Nobody's going to guess "make you swear and curse when you′re chewing on" but it's easy to memorize of you already know the song. Even a dictionary attack is going to have trouble with that many words.
  • My work accounts get the bare minimum that complies with whichever rules the admins came up with. Numbers, special characters and mixed capitalization? No thirty letter phrase for you, then; you'll get the minimum eight characters so I have a chance of memorizing the thing. Regular password changes? Great, now the last two chargers are going to be incrementing digits, just like for everyone else.

There's a reason why experts these days argue against anything but minimum length restrictions.

You can even make a complete sentence that makes sense with symbols and numbers.

"Ronaldo doesn't grill 76 Canadian Tacos."

Or whatever

Not 4 of them in a row. Keep in mind the attacker doesn't know " look for exactly 4 words"

That's just security by obscurity. It's one other strategy of choosing passwords that a bruteforce attack is going to try if it gets popular

That's not what security by obscurity means. And going by your definition, all passwords are security by obscurity.

If your strategy is to just use dictionary words your password will have little entropy and even less so if you use grammatically correct sentences. If the attacker knows this is your strategy of choosing passwords cracking one is way easier than cracking a password that has the same length but consists of randomly chosen characters.

Your password is only safe because the attacker doesn't know your strategy of choosing the password which forces him to use inefficient methods of cracking it, while there would be a more efficient way if he knew the strategy you used. Which is security by obscurity.

I prefer picking a sentence or so that has meaning to me, using the first letters, and then adjusting for numbers/symbols. So if I wanted to make that a pw, it'd be 1ppa505thm2m,utfl,atafn/5. -looks completely unintelligible, but as long as you can remember the sentence and have some ideas of how you would have encoded it, easy enough to remember/recreate.

good luck remembering all of those for every account you create, though.

Why are you not using a password manager

If you're using a password manager you don't need phrases you can remember, you can generate even more secure passwords. Or start using passkeys.

I want cross-device

Most are cross device. Use bitwarden

Guest machines too. And I sorta prefer whichever browser/OS I’m using’s implementation because they’re usually styled similarly.

I am, and I'm not jumping through hoops of making up a password sentence for every new website. I let Bitwarden take care of that for me.

Just use these methods for the pws you either need to know (like your password manager) or don't want stored for whatever reason, like your bank. Otherwise, yeah, just let your password manager generate a password for whatever site.

It's as easy to remember a bunch of those as it is remembering 4 random words with no association, I think. And besides, just use that for the big, important, pws like your pw manager.

Until you get to a prompt that doesn't support unicode.

I'd rather staple my forehead to a telephone pole before I ever think about using an emoji in a password. Those things are abominations!

Out of curiosity, what makes you say so?

Edit: Oh. Did a "Wooosh" happen to me right now? Are you being ironic and referring to the XKCD thing about how to make a secure password using words in phrases?

I think OP is conflating the use of emojis in passwords with the use of emojis by the general public.

Yes, it's annoying to read stuff like "Hi 😃😃😃😃 I am Bob ♥️♥️♥️😎😎😎😎," but that doesn't mean that using them in passwords is a bad idea.

Or that "hi 😊 I'm Bob" doesn't express a (subtly) different meaning to "hi, I'm Bob"

Well they have to be the same on different devices, like you log in to Lemmy on your PC and then on your phone. Also sometimes it seems the icons change, or there are new ones and maybe old ones are removed ...

Emojis are standardized. They may look different in different devices, but the code of a "raised hands" emoji will always be the same, just like the code for A is always the same.

Removing old ones could be a problem, though.

What if I am using a device that doesn't support emojis? wouldn't I need to learn the code for each emoji I have used in a password?

That's a good question, and yeah, I guess you'd either avoid using emojis or accept the fact that they're not universally supported.

Having said that, some people use non-ascii characters in their passwords, such as Πwhich is a valid letter in some alphabets, and they'd run onto the same issue.

Yes

But how many modern devices don't somehow support emojis though?

And how many of those you need to enter a password in?

Just like a gun is standardized to a water gun for some and a real gun for others?

Edit: I get your point, ita just if you memorize your password with emoji icons different icons would screw up your tries to log in

If you search for "gun" in your device when selecting an emoji, just pick whatever comes up. Done.

2 more...

Because they're a major pain to type, except for the most common ones?

2 more...
2 more...

Just use a password manager, goddamn.

Two of my colleagues still use locally stored plaintext for individual work credentials, despite having been shown where the password manager is. Both have accessed their files in front of me. If it's not in those files it's saved in the browser (because convenience is a hell of a drug). Now you start to see why discrete managers have a hard time, even amongst technology workers.

Sounds great where it works but I'm sure most systems would reject an emoji or make you type out some overly complex password in addition to your emoji.

Honestly you'd be surprised how many places it just works magically. I was surprised to find that Office365 users could use emojis in names for Microsoft Teams which had no problem syncing those accounts back to an on-prem Active Directory. You can use emojis to name a whole SQL database, let alone users/passwords on it.

I keep wondering if I need to figure out how to turn that off but it hasn't caused any problems. It's definitely sketchy looking though when you see a bunch of normal usernames and then suddenly one is just ten snowman emojis in a row.

Emojis are just a string of special characters that get recognised and replaced by an image anyway. It is the same as using those special characters separately.

It's all just Unicode so in theory a password system shouldn't think that emoji or any more interesting than any other character. To a computer the letter B and the emoji ✈️ equivalent in that they're both just normal characters that one can type.

Sort of, emoji are usually treated as two or more normal characters so ✈️ might be equivalent to BB. But the basic point is the same.

It should work reasonably well in password systems that hash the password from a UTF-8 encoding... Which should be most things really. If the system is trying to process everything with ASCII, maybe not. It might even appear to work but get converted to some other character (which is kind of the worst case)... That should be rare in web applications though

What's up with all the hate for emojis lmao

People who use them tend to spam the hell out of them. Like, 8 of the same emoji. And they use them every other sentence. It's obnoxious, you only need one or two to get the point across.

💀💀💀💀💀💀💀🗿🗿🗿🗿🗿🗿🗿🚣👍👍👍👍👍👍🔥🔥🔥🔥🔥🔥🔥 sigma

the emojis and text above are a part of the reason

😠 I hate it when people do that because the emoji don't mean anything. Like I can use a single emoji to actually relay some information but just putting a bunch of them doesn't do anything.

well that just sounds like you don't like immature content/people

Back in my day we only had 95 printable characters, and that's the way we liked it! /s

Antisocial people.

It was the same on Reddit. All of the people who despised emojis were often posting in really cringe and incel related subs.

My use of emojis sky rocketed after I started dating. They are fun and convey emotion really well.

I'm convinced emojis are what has been missing from language for a long time. They are great way to portray emotions through texts, which otherwise could not be achieved.

This way there is a difference between:

"You are so amazing 😁👍"

and

"You are so amazing 🙄 "

"You are so amazing 🙄 "

Greatest put down ever.

2 more...

They didn't exist yet when I was an early teenager, all we had were emoticons that might be replaced by images by the forum software, so of course I think they're stupid /s

Without sarcasm, it is a good thing we have standardized symbols now and don't have to implement emoticon replacement into forum or chat or social media software. If only because half of such implementations replaced any occurrence of the number 8 followed by a closing parenthesis with 😎 even when that wasn't the intended meaning (one can think of many other times one would end a parenthetical statement with the number 8).

2 more...

Can you write any unicode cahracter? Gotta make passwords in cuneiform

Completely useless from many sources where I have to rely on a keyboard for entering passwords.

Most modern OSes feature emoji pickers though

Mac os and windows? I haven't seen it on my Mac but maybe on windows? Those are pretty modern. I haven't seen it in Linux either now that I think of it.

there is a "Characters" app in Gnome that lets you pick emojis

Ctrl + ; should bring up an emoji picker in Linux when you have focused a text field

What part of the word "Keyboard" did you not understand?

As it said in the document: With a little help from your OS. So I want to log into lemm.ee from another persons computer. I do have not my own keyboard, I neither have my additional drivers or extensions or whatever. Oops. No login.

As a software developer who has worked with a lot of symbols and emoji... PLEASE DON'T DO THIS.

Software doesn't all handle these symbols the same way, and without tech knowledge (or even with) , it's very possible to not be able to log in easily. I'm kinda drunk rn, but I'll try to explain as simply as I can...

For example... skintone emojis are actually two characters, a face and a skin tone modifier. I think those ones are always two characters but some of these "multi-char" characters can be normalized into a single character. But not everyone handles this the same way. For example, Safari might normalize the emoji, but Firefox might treat it as two separate characters... And this would probably make your password not match. But basically... text has lots of edge cases; I'd advise to use normal passwords please (also maybe a password manager)

Was gonna say... you're relying on the consistency of external emoji handlers that you don't control. Ascii emojis are one thing.

Is my explaintion ok? The hard kombucha was... harder than I anticipated

It was pretty normal lol. Basically everything between the visual of an emoji and what "text" is entered is not in your control. So it's great for security but not in practice as a password. What brand was the kombucha I want some.

I didn't realize NYC has a physical Juneshine location. So I got a flight... and a Juneshine cocktail....

Thanks for the feedback! I'll be sure to use non-printing characters instead of emojis for my passwords! (They can't guess it if it's invisible right?)

In all seriousness, why are people so adverse to using password managers? People are plenty willing to use the browsers built-in "remind my password" instead of a proper password solution such as bitwarden... And they come up with such "hacks" just to avoid using a proper length password.

I disagree with them.

  1. Emojis do not look the same on all platforms. Let's take white large square ⬜ for example. Emojipedia shows what that emoji looks like on 26 different vendors. Some are pure white, some are shades are grey, and then there's Microsoft who in its usual infinite wisdom decided it should be purple. large yellow square 🟨 is a tossup between actually yellow and orange. This issue is also exacerbated with different displays displaying colours differently. Factors such as color accuracy, viewing angle, brightness affect how you perceive colour.

This also extends to face emojis. grinning face with big eyes (Emojipedia link) isn't that easy to tell apart from grinning eyes (Emojipedia link)

  1. Emoji support depends on your device. I'm on Windows 11 22H2 which recently added support for shaking face 🫨. Problem is, Windows' emoji picker Win + . (period) doesn't have it. Trying to login on a friends phone that's still on iOS 15 or Android 12, before shaking face came out? Enjoy manually copy/pasting the emoji from Emojipedia.

correct horse battery staple on the other hand looks the same on all devices.

Just use longer passwords?

What's do you think is a good length? I think it has to be at least 10 but over 15 is much better.

Idk exactly how accurate this is but seems valid

The colors on that are kinda confusing. 6tn years is yellow, but 2k years is green?

I wonder if this assumes the cracker knows how long etc the password is when they start cracking.

I always make my passwords "a" because I figure they'll start cracking attempts at 5 characters 😁

Why is 1,000 years yellow in that graph?

If a password can't be broke in 1,000 years it is utterly unbreakable in any effective sense of the term. No one's going to run the program for a thousand years because even if they did it wouldn't be relevant at the end of the process.

Hell even 51 years is pushing it.

Well, the rate passwords can be tested at now may not always be the rate passwords can be tested at later. Computers were, at one point, growing exponentially faster in terms of processing power. There are still several emerging technologies out there that could cause significant speed-ups.

It's certainly better to future-proof your passwords.

3 more...

It depends on how the password is stored / KDF used (what type of hash, salting, bcrypt, etc).

Judge for yourself if it's an old website or old piece of software that might use (god forbid) MD5. Since one would not normally know that, I'd go with 20 (good, cryptographically) randomly generated upper/lower/digits if using a password manager, or 40ish characters passphrase if you need to remember and/or easily type it. Add some punctuation / special chars (spaces, commas, dots, paranthesis, etc) if it's an important masterkey (ie password manager key, encrypted container, etc) and you have decent typing skills.

Some shitty sites / routers don't accept certain special characters hence go with upper/lower/digits as standard but use longer lengths (if the shitty site allows you and doesn't limit that too). Limits to what a password should contain and/or length limits would be a sign of lazy programming and poor password management, so treat them as unsecure from the get-go (yes, even big names like Oracle have piss-poor security or lazy implementation). Good programming nowdays shouldn't have those limits, as user input sanitization / injection protection exists, and hash functions have a fixed length no matter what the input length is.

Also very important, don't reuse passwords for online accounts. Hence a password manager remembering them for you. There are still websites storing passwords in plain text. You wouldn't want your local pizza hut know or leak your email password by being hacked.

Rookie numbers. Max out the character limit.

Seriously tho: go for at least 80 bit randomized characters. If it's something you have to type, use a couple of random words. Longer passwords are exponentially more secure.

All I can picture in my head is Matthew mcconaughey telling Leonardo DiCaprio he needs to masturbate more

4 more...
4 more...

Last week or two I've been learning more about passkeys, and it makes threads like this seem ridiculously out of date. Given the choice between emojis and passwords and hard crypto, I'll take the crypto.

I'm not sure what the passkey advantage over long unique password in a password database is.

Well, KeepAssXC just got passkey support so I guess it doesn't matter much

With passkeys, your browser and the website exchange a public-private key pair then make up long random one-time "passwords" every time you login but only use them to check they each still have the right key.

I guess I'm gonna need the answer spoonfed to me. I think I understand how the tech works but I don't understand the advantage over a complex non-reused password. Maybe keyloggers, if it's one-time thing?

The advantage - from my very incomplete understanding - is that your passkeys cannot be phished or stolen from you. So only you from your device can log-in to the site. Which leaves me with the question, how cross-device passkeys work.

There are different ways.

One way is to use an encryption module on the device that, rather than storing the keys just encrypts the keys and holds an encryption key that you can't extract, and can do various crypto operations.
Now you ask the module to do a secure key exchange algorithm with the new device, meditated by a party the module trusts, like apple or something.
Now both devices share a secret key, and they trust that the other is owned by the same user because the owner verified with apple who then signed the exchange messages.
Old device decrypts with the old key, and encrypts with the new key, never letting the data leave the secure module. Send the data to the new device which can do the reverse, and both devices forget the shared password.

Overall, minor weaknesses like storing keys in the cloud encrypted by a key derived from a password that the cloud never sees, while objective weaknesses, are still significant net improvements to security over passwords.

Thank you for explaining. That's a thing most sites leave out: tell people how the keys cannot be stolen while still working on a different device.

Big reason for that is the spec for how this all works being around for a while, giving people a lot of time to write about the core of how it works, but the viable popular implementations are far newer, so articles still haven't been updated, and doing the key transfers is still one of the newest parts that the big vendors don't want to talk about yet, because they still have to get their patents fully approved and everything.

What I described above is one way to move data between two devices in a secure way with a trusted intermediary to verify identity, but I have no idea if it's how any major vendor actually does it, because they haven't made that data public. It's just what's obvious to a sufficiently informed subject matter expert.

That would be a really nice advantage but yeah, I wonder how cross-device passkeys or recovery passkeys would work

Passkeys, under the hood, use a way of proving your identity that doesn't require you to actually send your password, and also doesn't require you to send your username either.
Because of how it's implemented, the system managing the passkeys also gets to authenticate that the website is who it says it is.

So no private data actually gets sent anywhere, but you can prove your identity while also checking the identity of the site you're talking to, like the SSL lock icon but automated. It's often implemented such that the device that holds they keys can't actually have them stolen from it, and it's integrated with a biometric sensor.
This means it's possible to have a high degree of confidence that the person logging in is physically the same person who created the credential, and not just someone who had their password stolen.

The final perk, is that if you're using something like a phone with a fingerprint scanner, passkeys work as two factors of authentication, despite only feeling like one.
Because the phone verifies your identity via fingerprint (something you are), it can then unlock the key that is uniquely available to the phone (something you have).

Combine that with being generally easier to use, and it's pretty clear why most security experts are pushing them. Security that users will use is better than security they won't, and finally we have easier to use security that's also better than the more difficult options.

There are lots of advantages:

  • No need to worry about password encoding, like this emoji debacle for example. Actually there's no need to worry about passwords in general anymore, no more worries about lenghts, encoding, character space, remembering them etc.
  • It eliminates that scam where attackers set up a site on a domain that looks like the correct one, because the domain is part of the protocol.
  • It eliminates phishing for 2FA because login only works on your device anyway and there's nothing you can be tricked into giving away to an attacker.
  • If attackers break into a site and steal the public keys they can't use them for anything.
  • Since the whole process is automated between servers and browsers and also standardized, it can be upgraded seamlessly and continously, you can upgrade the protocol, the key lengths, the encryption cyphers etc. with zero impact for the user. New upgraded versions can be distributed to both servers and browsers and they'll just use the highest version they both have.
  • 2FA is a core part of the protocol, but again in a way that eliminates phishing: it's basically a way to unlock access temporarily to one specific key in your key vault. You can use a master password, or an USB key, or TOTP codes, or biometrics (fingerprint or face) etc., but NOT cellular texts (SMS) anymore because the vault stays on your devices, no need for another party to send you anything.
  • Syncing your vault online and over multiple devices, as well as backup, are also a core part of the approach and will eliminate the worry that you drop your phone and you're screwed forever.

The downside is that there's been a whole bunch of tools and apps and services built around passwords for decades and converting all that mass to passkey tools will take a bit.

There are some other tradeoffs like, right now for example I can reasonably print all my passwords and TOTP codes on a few sheets of paper and achieve an "offline" backup in case of untimely death and so on, it's going to be a bit more cumbersome with passkeys. But I expect there will be ways to optimize that as the technology evolves.

What's crypto?

Well you see there's this thing called the Blockchain, it's like a ledger......

Man, I sure wish I could get on the ground floor of this exciting new technology as an investor.

Might be too late for that, but BOY do I have a bridge to sell you!

You're kidding. A real-life bridge!? You can own those!? Name your price.

Yes!

You can even change it into a toll road and return your investment in no time!

Cryptography. As in, using encryption and encryption keys to authenticate me, rather than just a password.

Grab a sentence you know well.

Pick just the first letter of each word.

It will look like it's random - for example "I like my lemmy only with beans and bacon" becomes "ilmlowbab" - and it comes from a far vaster possibility space (ever possible sentence and it need not even make sense) than that of "words in the English language and derived words" so it's a lot harder to try to crack with a dictionary attack.

Also it works in everything that takes ASCII charactes (i.e. everything but numeric only pin codes).

Long time ago a friend of mine used a set of key press to generate a smiley face to put in his bios which ended up in a situation where he was not able to type in the same smiley face into the password prompt. I had to teach him to reset his bios battery to get back into the bios.

this feeeels like the stupidest idea ive ever heard.. its not like theres really an emojii standard applied as universally as text, across devices or applications... the transforms that happen... this seems fraught with terribleness

am i missing something?

Emojis are standardized exactly the same way as text is, both are defined by the unicode standard. They might not be rendered uniformly, the same way that text rendering depends on the font.

I thought Emojis were a set standard but how they're rendered can change. So whatever it is that identifies the heart emoji is universal but iPhone, Samsung, Google, etc might render that heart differently.

How they're rendered is a set standard now too. For example there was a bit of an issue where the gun emoji could be a water pistol pointing left or a revolver pointing right... and when it was combined with a person emoji... that could lead to... issues. It's a water pistol everywhere now.

You mean Apple changed it to a water gun and everyone followed suite as to not have an issue?

Thanks, America, and your mass shootings.

Although I agree it is risky, emoji are unicode characters, just like any other unicode character. If, and that's a big if, the programmers do their job right, it shouldn't matter if you use an emoji or a random kanji. It's all just another character. That said, I don't trust programmers enough to run the risk. Your password might work fine on the website but then fail on the mobile app.

Someone else said "good luck on the desktop", but Windows actually has an emoji picker built right in. Win+. will bring it up. Another fun fact, usernames and computer names both support the full unicode set on Windows, including emoji. Some fun can be had with that knowledge. I haven't tried it on Linux or MacOS yet.

Yes there is, Unicode (Emoji's). I would say most modern devices/systems utilize it too. The reason they may look different from device to device is because the presentation style can be modified by vendors, somewhat similar to using different fonts to make letters look styled.

I wonder how often curse words or obscure slang are included in dictionary attacks.

What about non English words, or slang? That would be interesting information to have.

Very smart idea, because everybody knows that dictionaries exist only in the English language /s

Lots of languages have local dialects and those dialects themselves can have their own slang. In Italy the local dialects can differ quite a bit. Do you think there are dictionaries for all the local slang in the Sardinian dialect? Lots of Italian maps don't bother to even include Sardinia.

What do you imagine is the most used dictionary for dictionary attack? English must be up there, meanwhile Finnish for example isn't going to be quite as popular

What do you imagine is the most used dictionary for dictionary attack?

Klingon, obviously. Every hacker who ever wants to become famous must be fluent in Klingon first, as we all know.

Anyone who takes any kind of advice from the fucking New York Post deserves what they get.

am already use:

._.

Okay now's my time to shine. The words "emoji" and "emoticon" are false cognates, as in they aren't actually related. Emoticon is a few-decade old word to describe emotion+icon, like :)

Emoji is Japanese (kanji - 絵文字) for picture-word, basically. It super outdates computers.

They just happen to sound similar; isn't that fun?

or just use special characters of languages like: ą, ę, ø, č

Do you have trouble on physical keyboards?

Programmable or modded keyboard with qmk and you can physical key some pretty wacky stuff if you really wanted to.

For petty services where you don't want to have to break out the password manager, try making your own mental salted hash.

Pick four long words at random. Assign each of these to the four quadrants of the alphabet.

A-F - Equipment

G-M - Triumphant

N-S - Sampling

U-Z - Fatigued

Pick one number:

4

Now, take the first letter of the service that the password is for, and that selects your quadrant word. Take the number of letters in the service and multiply it against your number. Take the last letter of the service, and on your querty keyboard, move all the way to the right of thst line to select the first symbol there. Thats your unique password thats salted with yo ur personal words and number.

Facebook = Equipment32:

Lemmy = Triumphant20{

Pizza Hut = Sampling36{

If you want more security for these petty services, use longer words, bigger number, or use some other metric, Tweak the algorithm to make it unique to you. Maybe capitalize a middle letter in your salt word based on the length of the service name. Maybe add the first letter of the colour of the service logo to the password, EG

Facebook = Equipment32:B

Lemmy = Triumphant20{T

Pizza Hut = Sampling36{R

Petty services I would consider to be anything that's not super critical, and is at a higher likelyhood of breaching my shit.

For banks, primary emails, or government services, use a more complex algorithm or a random string of chars from your password manager.

Just come up with one strong password (see https://xkcd.com/936/) for your password manager and use randomly generated passwords for everything else. There's no reason to manually compute a hash every time you sign up for a service.

Also, for a non-remembering solution, use a security key with your password manager, the kind that plugs into USB and you have to tap a button to authenticate. Then you can generate a true random password and store it somewhere safe as a backup, and mainly use the key for day to day.

what about when you're on your phone?

Many security keys have NFC, or if you're on a modern phone, you can use USB type C (Yubikey 5C)

Authentication app is another option. I believe some password managers can be set up to take the master password once per device and then accept authenticator codes to unlock for each subsequent time.

Or, since your phone is probably a lot more locked down than your computer, almost every modern phone since like the days of the iPhone 5S has a cryptographic TPM/secure enclave in the processor while the fact that not every computer has one was a major sore spot in Windows 11 compatibility, it might also be acceptable to just leave the password manager unlocked on your phone all the time, depending on your threat model. Assuming your phone is both encrypted and password protected and you trust the OS to implement both securely, the pin on your phone works more like the pin on your credit card than a traditional password login on a non-encrypted non-TPM computer, so even if a bad actor physically had your phone, it would be very hard to actually extract data out of it without the passcode (assuming it's just your garden variety cybercriminal and not the CIA or something), which would serve as your master password in that case. Hardware security features can also resist brute force attacks where someone clones your hard drive and hooks it up to their own computer to try and guess the encryption password without the wrong entry time delays slowing them down, a secure enclave will actually enforce the time delays with no easy bypass and can also be set to wipe the phone if you get the passcode wrong too many times.

Phone apps are also almost entirely sandboxed from each other and can't directly access other apps' data, so the risk of a malicious program reading the password manager's cache or database is also far lower than most desktop operating systems.

too short, for all that effort just use a sentence with a symbol and a number.

FacebookCanGoToHell!123 is more secure and easy to remember

Youre going to memorize a unique sentence for each service?

A method like this allows you to memorize only 4 words of arbitrary length, a number, and a simple algorthm to yield unique passwords for each service.

You can also add a standard phrase to all of them that is shared between them all just to make them more complex

Equipment32:thisismypassword

yes, it is what I do now. there was a time when people memorized 10, 15 phone numbers.

Also you can't really "forget" a password, because it's connected to the name of the site. Very clever

Yeah putting the name of the service in the passphrase is actually pretty secure, unless the rest of the password is like "thisisapasswordforFACEBOOK" cause then one password gets leaked and the rest can be inferred.

The problem with using hash schemes like this is that when your password is leaked you can't easily rotate the password.

Not to mention if you suddenly developed amnesia or dementia

This is what got me using a password manager. I didn't want to trust a password manager because it felt like they would be highly targeted and one vulnerability would reveal everything. And let's be honest they still are the same.

So I had my own scheme for generating passwords. I made myself a script that I could use on my phone and PC. It worked beautifully and effortlessly until occasionally a service would force me to choose a new password. When this started happening I made a new scheme for generating passwords and made a new script. When it first happened it was still reasonably easy because there was only one service I had to use the alternative. It started to become more difficult the more services asked for a new password.

I used my own system for several years until I had enough with trying to remember which services used the alternative scheme and wondered when I'd have to make a third scheme. And if I did then the mental complexity would significantly increase.

Interestingly only a couple of services publicly announced they had been hacked and none of my passwords have ever appeared on haveibeenpwned. So I wonder why these services asked for a new password and if they had been attacked why they chose not to announce it.

Havent read the article yet but If you have to manually input just stick to 6 or more randomly generated words (different languages if you would like to). A keyboard won't always have options for emojis. Your password manager's autofill/autotype everywhere else and 2fa where you can thats it dont overcomplicate things thats a good way to screw yourself over

Meanwhile, Android not even wanting to accept accent is painfull.

That doesn't sound right. Maybe non Google Android does that, but no such issue on Pixel.

That’s the worst idea i have ever heard

Come on seriously? There are guys out there who send pictures of their genitals to women thinking that'll impress them. I'm sure you've heard at least one idea worse than this. 😜

(psst don't tell anyone but that emoji is in my lemmy.world password... maybe)

There are guys out there who send pictures of their genitals to women thinking that’ll impress them

Good point

It’s not even the worst idea in passwords. Assuming the back end can handle it, an emoji is just another character.