Steve Syfuhs

Steve Syfuhs

@syfuhs.net

Noted idiot. Principal something or other. Runs the Windows Authentication team at Microsoft. It's my fault your password doesn't work. Mostly dog pictures. Might actually be two dogs in a trench coat. 🇺🇸 / 🇨🇦 https://syfuhs.net/

3.8K followers577 following14.7K posts

Steve Syfuhs reposted

Oh I almost forgot, I hung out with Steve on my last day in Finland. Did you know he likes coffee too? He’s not allowed to have any, of course, it stunts your growth & they want him to be even heavier (oof)

Steve Syfuhs reposted

No one is Assigned Marine at Birth. Marines are made, and they get really mad if you tell them someone who is a Marine isn't a Marine.

Sky Marchini@sky.skymarchini.net

The other thing here is heggles is an army guy and (it is my understanding) the marines generally do not like army people telling them what to do (and in particular saying who gets to be a marine)

Steve Syfuhs reposted

Replying to @gregdoucette.bsky.social

If you have an iPhone w/ the current OS, go into Settings, scroll to the bottom to click on Apps, scroll down to M & go into the Messages app, and flick this switch “screen unknown senders”. This dumps 99% political text messages into a folder you can separately check.

Steve Syfuhs reposted

Replying to @syfuhs.net

And the fact that physical security keys were around for a long time before there was a passkey standard is like, wow never has the history of computing included proprietary approaches before a common open standard was developed!

Every once in a while you get a painfully bland view of the earth that turns into something wonderful once the image processors do their thing.

They've never had a nine pound chihuahua figure out it's possible to take up the entire bed

NBC News@nbcnews.com

A surprising new study finds that people who sleep near their dogs don’t experience disrupted sleep. If anything, the University of Toronto researchers discovered, we humans are the ones disturbing our dogs’ sleep.

Kate: did you have fun at the zoo? Toddler: uh huh Kate: what did you do there? Toddler: ... Kate: did you see your friend? Toddler: ... Kate: play in the zoomasium? Toddler: ... Me: did you...extort a billion dollars from a small Caribbean country? Toddler: YES!

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

I think it was in the Win 10 era where we provided an ability to sync your credman database across machines. Incidentally, once upon a time, that used OneDrive to do the heavy lifting.

Credential Guard also has protections for Credential Manager too. We do our darndest to prevent the release of those secrets by letting Cred Guard do the authy bits instead of normal world.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

So anyway, we now have a way to protect your passwords by using your logon credential. When you log on you unlock the database and when the machine is off the key isn't on disk so grabbing the hard drive yields nothing. Actually that's not bad for the turn of the millenium.

Over the years a bunch of functionality was added to DPAPI and Credman for reliability and roaming. The interesting side effect of having a key derived from your password is as long as you know your password you can derive that key wherever you want, so credential roaming just works.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

And so we must make sure the database is accessible on first use and also protected from attackers walking off with hard drives, so what do? Aha! What if we use the users password they logged into the computer with?! Congratulations you've invented DPAPI: Data Protection API.

Your password is used as a key to unlock a wrapping key, which wraps more keys, which rotate every few months, and those keys are used to protect whatever arbitrary thing you want to protect. Good in theory. I will save it for another story, but DPAPI is nevertheless a cursed technology.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

WELL what if we just prompt for a password to unprotect your passwords every time you need to use your passwords? You want to prompt for a ...password... to unlock your database of ...passwords... in lieu of a ...prompt... from a resource asking for said... password? Which, uh, password?

That's actually the lesser of two evil user experiences. What happens when you want to SAVE a password before the database is open? Prompt > Save > Prompt > what, I just entered my password?? > WRONG PASSWORD TRY AGAIN, IDIOT.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

In Windows we have isolation promises. Kernel mode from user mode, user A from user B, etc. Therefore it's pretty straightforward that user B shouldn't be able to grab user A's passwords off the disk. We can do that through ACLs. But what if I'm an admin or I walk off with the hard drive?

Okay, not great. We need to protect the credentials such that only the user can touch them even if an attacker has the raw bytes. Oh, hello cryptography. We encrypt the passwords! To what? Which key? How do you protect /that/ key? Dammit.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

Lets just rip the bandaid off: how the hell do you protect the long term storage of those passwords such that they're accessible when you need them and cannot be stolen? The answer to this question is the first step to destroying your soul: it depends; define 'stolen'.

In the 90s and 2000s our general philosophy was, in a muchly distilled way, that the user is the security boundary and other users cannot steal your passwords. We still live by that rule, but more on that in a minute. Goal: We protect passwords such that other users on the machine can't steal them.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

That's fine, once, I guess, but what if you access this thing five times a day every day? It gets tedious. What if we put in a magical "Remember My Password" checkbox? Now you can connect those 25 times a week and never get prompted again. Obviously brillant!

And thus is born the Credential Manager. Now, if you've ever considered building a password manager, first, my condolences for the braincells you lost, and second, it starts destroying your soul once you get into the weeds. It's just CRUD over a database, right? How hard can it be?

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

And so we had an explosion of security stuff. It wasn't good, but it was transformational. And that security stuff meant logging in to...stuff. Passwords. Now in Windows world we had NT and soon Active Directory. A central place to orchestrate access to...stuff. One password to rule the world.

Except not everything was Windows (how dare) and not everything was ruled by Active Directory (sacrilege), or maybe you had two Active Directory's (acceptable). When you connected to that thing you couldn't automatically auth to it so it prompted Ye Olde Cred Prompt and away you go.

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

View full thread

In typical Windows fashion it's more than that and all the gooey bits are hidden for simplicity. There are multiple dimensions to the Credential Manager. 1. How do we protect the credentials? 2. Who uses the credentials? 3. Can I roam the credentials? Hot topics today, but we had it in XP!

Lets go back in time to the 90s and consider the average business user: buncha computers in an office, one on every desk even (!), and users log into those beige boxes and get irradiated by the glow of an electron gun for hours and hours a day. Wait! Networks! Security! We must protect our widgets!

I suppose I should explain. Credential Manager, aka CredMan, aka cmdkey, is this thing.

Steve Syfuhs@syfuhs.net

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

The UI has existed for decades and it really hasn't gotten a whole lot of love over the years. The last major overhaul was in the Windows 8 era when we built out Integrity Level-aware WinRT APIs that lived on top of the underlying Cred APIs.

Dang it. @scott.hanselman.com shamed our team on the credential manager [UI] in Windows. He built a better version of it. We should ship it. github.com/shanselman/C... Remind me to tell the story of our Garage project to ship a full password manager a few years back.

github.comGitHub - shanselman/CredentialExplorer: A modern WinUI 3 metadata-only explorer for Windows credentials and Credential Locker.A modern WinUI 3 metadata-only explorer for Windows credentials and Credential Locker. - shanselman/CredentialExplorer