NSAKEY: Who Can See Your Encrypted Data?
ฝัง
- เผยแพร่เมื่อ 10 ก.ย. 2024
- Why does Windows contain the NSAKEY, what is it for, and why was it inserted into Windows during Windows NT Service Pack 5?
For information on my book, "Secrets of the Autistic Millionaire":
amzn.to/3diQILq
My other channel, join now so you're there for episode 01 of my AudioBook!
/ @davepl
Discord Chat w/ Myself and Subscribers: / discord
Primary Equipment (Amazon Affiliate Links):
* Camera: Sony FX-3 - amzn.to/3w31C0Z
* Camera Lens: 50mm F1.4 Art DG HSM - amzn.to/3kEnYk4
* Microphone: Electro Voice RE 320 - amzn.to/37gL65g
* Teleprompter: Glide Gear TMP 100 - amzn.to/3MN2nlA
* SD Cards: Sony TOUGH - amzn.to/38QZGR9
As always, all content and opinions are mine only, (c) 2022 Plummer's Software LLC. I am not now nor have I ever been a spokesperson for Microsoft, and retired from my technical role almost 20 years ago.
Portions of the content between 8:00 and 12:00 were created with OpenAI suggestions!
Here's a copy of the NSAKEY from Wikipedia:
----BEGIN PGP PUBLIC KEY BLOCK----
Version: 2.6.3i
mQCPAzfTdH0AAAEEALqOFf7jzRYPtHz5PitNhCYVryPwZZJk2B7cNaJ9OqRQiQoi
e1YdpAH/OQh3HSQ/butPnjUZdukPB/0izQmczXHoW5f1Q5rbFy0y1xy2bCbFsYij
4ReQ7QHrMb8nvGZ7OW/YKDCX2LOGnMdRGjSW6CmjK7rW0veqfoypgF1RaC0fABEB
AAG0LU5TQSdzIE1pY3Jvc29mdCBDQVBJIGtleSA8cG9zdG1hc3RlckBuc2EuZ292
PokBFQMFEDfTdJE+e8qoKLJFUQEBHnsH/ihUe7oq6DhU1dJjvXWcYw6p1iW+0euR
YfZjwpzPotQ8m5rC7FrJDUbgqQjoFDr++zN9kD9bjNPVUx/ZjCvSFTNu/5X1qn1r
it7IHU/6Aem1h4Bs6KE5MPpjKRxRkqQjbW4f0cgXg6+LV+V9cNMylZHRef3PZCQa
5DOI5crQ0IWyjQCt9br07BL9C3X5WHNNRsRIr9WiVfPK8eyxhNYl/NiH2GzXYbNe
UWjaS2KuJNVvozjxGymcnNTwJltZK4RLZxo05FW2InJbtEfMc+m823vVltm9l/f+
n2iYBAaDs6I/0v2AcVKNy19Cjncc3wQZkaiIYqfPZL19kT8vDNGi9uE=
=PhHT
----END PGP PUBLIC KEY BLOCK----
If the NSA had a backdoor key, they wouldn't be so dumb to call it `NSAKEY`. They would instead name it "definitely_NOT_NSA_KEY_keep_scrolling_nothing_to_see_here".
Assuming debug symbols were properly removed before shipping, this wouldn't be an issue
@@capn It would for anyone doing even a cursory review of the code at MS or its partners.
@@eadweard. they have the full code then and can see everything already. Pretty pointless.
@@capn Not from a mere cursory review. This is assuming not everyone at MS etc is supposed to be "in on it".
@@eadweard. There isn't one person on the planet that can fully explain how windows NT OSs work front to back.
You'd have to literally have a near mastery/very competent understanding of WAY to many aspects of coding. From UI/UX/database/cryptographic/API setup/API manipulation/Device components/ Driver intergration/ kernels/ bios\eufi/etc.. There hasn't been one developer in history that's mastered all of those, or even come close to understanding them enough to be able to casually walk through & understand a OS codebase without help of others.
I would love to see a video about 'finding stuff' in software. Like oops we shipped debug binaries, forgot to hide/encrypt/obscure files, or just interesting places to poke around.
Good suggestion 👍
Great suggestion but he always seems to keep some thing a little secret haha
@@feelincrispy7053 Dave shares a lot of juicy info, but it would be crazy if Microsoft didn't include some heavy nda's in their employee contracts with post employment stipulations
@@LongJ0hn oh I’m not saying he doesn’t share some cool info but Dave takes those nda’s very serious haha
I do recall that Windows NT SP3 Release Candidate(RC1) hit the support shelves without being a full release. It would not allow update to SP4, we have to create 80 slip installs of NT on the prod servers just to apply the sp4 update, that was rather annoying. The RC had a bunch of release notes from the test team too i believe.
I've always thought that the NSAKey by itself wouldn't be particularly useful even if it was meant as a backdoor. However, I would like to hear what your thoughts are on Snowden's statements about backdoors, which include Microsoft
Snowden has more or less been turned in to a Russian asset now sooo I'd take anything he says with a grain of salt. Spreading FUD in the Western world is a Russian specialty after all.
@@HanMoP Ya really don't need a backdoor into the property if what you care about is often being transfered out & in of said property.
@@HanMoP oof
@@HanMoP The vast majority of what they collect through prism is out onto the internet, like in emails or on OneDrive (formerly SkyDrive). And I know from working with the products on a day to day basis, breaking the encryption would be a chore at the very least. Microsoft isn't allowed to disclose their level of cooperation in the project; so it could be as simple as providing scripts for the NSA to use on their supercomputers to start bruteforce breaking of said encryption, or maybe to the level of providing the hardware resources themselves. Still would take a lot of time, and was likely used only on POI's in terror investigations. Since according to an article I brought up on The Guardian "Apple, Google and Microsoft: weakening encryption lets the bad guys in" which was back in 2015 when Congress wanted to force all encryption algorithms in production to have backdoors following a terror attack at the time. If Microsoft wanted to backdoor for the government, they wouldn't have opposed its calls to weaken its security. And as far as Prism, that's a business decision, and those who are that concerned about it are free to use an alternative like Apple products, GNU/Linux, or FreeBSD/OpenBSD (no judgement from me, software is a tool, you're free to use your own)
Another thing to point out, many government institutions (including the public university I work at) use Windows on a day to day basis at least on client machines. If they had it backdoored, knowing since the Eternal blue scandal (where governments intelligence communities found a vulnerability, kept it secret long enough to take advantage of it before the bad guys found out and started using it, which prompted them to push to have it patched), what Apple, Google, and Microsoft had said in the prior article I had mentioned in 2015 actually came to fruition. So if they're capable of learning from the past, they likely went back to the old fashioned way of bruteforcing encryption in transit, instead of intercepting it at the client machines.
And Microsoft doesn't hand us special locked down versions of Windows for our use either. We pretty much just grab the latest Windows 10/11 Enterprise media (same as many for-profit companies use with 20+ end-user machines) as we sit down to make our own customized deployment images, tweak it to fit our specific environment best, then sysprep and capture it to our deployment environment. Also the difference between editions is a few flags which can be set by the Dism utility shipped with all versions of Windows 7 and after, activating added features like the ability to domain-join, more advanced users and bitlocker disk security options, etc. If there were too major of differences, it can create multiple different support liabilities and wouldn't be too good of a business decision.
I'm currently more concerned about them sharing metadata with advertisers, which then can be sold off to governments, both domestic and foreign. This practically solely includes data that is never encrypted, such as who you're contacting and when, which can be used to assume what you're doing and often correctly. (such as if you're contacting people who are located in terror-ridden portions of the world without family there, they can assume that you are being radicalized or already are, or if you're in contact with an agent of a talk show host, they can assume that you have shared political views and can discriminate against you because of that) For that reason I'd say use a line of contact which encrypts metadata too, like Signal.
@@tripplefives1402 Some people prefer the back door
Thank you Dave. Very very interesting. I find your channel to be a real treasure and I look forward to every new video you post. I'm also glad you're doing this because IMO the history of computing, especially the PC, over the last 30 years will be of great interest to future historians. You lived it; that makes you an original, primary source. Please keep doing what you're doing.
PS: the choice of the clip from Better Call Saul was perfect!
Wow, thank you!
"primary source" fucking aye right!
I figured the NSA key was a misinterpretation of the acronym.
Tl;Dr version: NSAkey is a public key to help compliance with NSA export regulations. Not that it was a secret master key backdoor for the NSA.
Keep up the cool stories Dave.
Well it made the Exporte Versions of windows to produced easily brut force decryptable files and datastreams.
MS basically sold its clients Private data to the NSA.
thats why Microsoft cant be trusted
2nd key is to let NSA sign their own msgina modules, for multi factor biometric logins, without disclosing the modules. It could be used as a backdoor, but they wouldn't, because that would appear in the event log. Just use one of the RCE 0-days, there's a new one every Tuesday
I like the idea that they could successfully infiltrate MS, hide their backdoor in the source code and get it shipped all over the world - but couldn't figure out how to avoid it logging to Event Viewer.
@@eadweard. It's not a backdoor. I'm not saying there aren't backdoors - i.e. Prism access to Hotmail, Skype, OneDrive - I'm just saying this particular thing isn't one. It uses the same APIs that the primary key does, which write to the event log. They didn't infiltrate MS, they just asked, and their key was added so they could use their own biometric login system instead of the normal password box, without having to reveal their own source code to anyone
@@alakani Event Viewer. The incorruptible oracle that cannot lie. Maybe we should ask it who D.B. Cooper really was or the location of flight MH370.
@@eadweard. Sure you can easily modify the event logs. With RCE exploits they buy off the gray market like everyone else. Just not through a completely unrelated thing
@@alakani i would assume the NSA would know that biometrics are insecure af,
but they could code there custom provider to clear the event log right afterwards lol
"Everything is just a Grep away" I love it Dave !!! Keep up the great work man !!
Global Regular Expression... a "string" in any other meaning of the words...
It’s like watching an episode of Biography for Computers. Love it! I can’t stop watching. Your videos are interesting, funny and informative. Thanks
It would be interesting to remove, or modify, the “NSA” key from the Windows source code and then recompile/link the Windows source code and see what executes.
PS -- Great book, Dave!
There were patches to do just that. If you enjoyed messing around with CryptoAPI it was very neat since you could sign your own modules with the patched key.
It's always so comforting to hear that music at the end.🥰
I once worked on an SMS1.2 system that kept having failed jobs. This was long after the release of SMS2.0. There was a suspicion that someone was making jobs fail, so we logged a P1 call with MS and got access to a security engineer. We replaced 1 DLL with a new file and changed back the file date. It tracked and logged activity, albeit secretly, and we caught the fella red handed. He was breaking the jobs and being a contractor with a due expiry, he would break things only he could fix. I saw the pattern, and saw the shock on his face as he was frog-marched from the site. Satisfaction, but really quite creepy how this DLL created hidden files, registry hives and really really cool 😎
@@null7581 If you’re replacing a DLL, you could honestly replace any DLL you wanted (that would always be loaded) and implement that functionality.
@@null7581 unfortunately this was back in 2005, I’m good, but I’m not that good. I do not recall. My mom has all of my old notebooks in her loft in England, so I could find out. But don’t want to get my aging mom up her loft. I think it began with “C” and had 32 in it. But even that is foggy.
@@makethingsbetter what size was DLL file was big, or just 300K or something?
@@dh2032 the DLL was less thank 400k, but it was many years ago, but I think it used registry entries to do it’s logging. I do recall having to run a .reg file to generate the sub-level of the computer hive
The key splitting that Dave mentions in this case is most likely being done with Shamir Secret Sharing (information theoretic security pretty cool cryptography)
My first guess as to why it hasn't been removed is due to "don't fix what ain't broken mentality" and maybe the people who originally put it in there aren't at Microsoft anymore.
the thing is that nothing actually seems to reference it
it's just... there...
@@TorutheRedFox Well, you never know until you delete it and try to recompile. Then you find 1000 things that reference it and don't do anything with it.
@@Lil_Puppy And none of us would even know if they tried. I certainly wouldn't be bothered fixing it unless told to do so
I figured it was probably because any change to a module meant the module had to be sent to a testing team who aren't particularly thrilled to be given extra work over something so pointless. If nothing references it, the only harm in leaving it there is a dozen or so bytes wasted.
Think about how many other code dingleberries are still hanging around Window kermal code. Why would this one be any different?
once you know what you're looking for, everything is just a "grep" away. Love it lol. Great content keep it up!
talk about ms and then suddenly, a wild grep appears.... thats heresy!
@@urjuhh If you findstr, let us know. ...tee-hee!
You have a brilliant handle on here! When will you be posting some content? Puh-leeeeeeeeze!
@@pseydtonne I've thought about doing some content revolving around overclocking low end hardware when needed and which OS would get the best out of lower end pc builds but nothing as of yet lol
Thanks for including the Mike Ehrmantraut clip! Fans will immediately know the context. The whole video is entertaining. Thanks.
I was a computer science student working at a small rural Wisconsin convenience store in the summer of 1996. One of our regulars had a daughter and son-in-law who worked at Microsoft. One evening they invited me to their home and the son-in-law showed me a pre-release of NT 4 running on his laptop. There was some kind of precursor to Outlook or something running on it as well--might have been called Entourage? It was all pretty mind blowing.
I asked him how much memory the laptop had in it. He responded, a little sheepishly, "80 megabytes." That was a *lot* of memory for a *laptop* back then. But it made for a smooth NT 4 experience.
As an independent software developer in my free time, I moved to NT 4.0 as soon as it was available to me. Sucked to lose plug & play after being on Windows 95 for a year, but everything else was great.
@@gorak9000 yes, Windows 2000 was great when it rolled around a few years later, and I switched to that quickly.
I mostly run Linux now as well.
I remember deploying Entourage on some Macs quite a few years back. It was replaced by Outlook though so no longer exists under that name
I still remember the huge PR mess that was the release of Windows 2000 after a memo was leaked somehow that revealed that the source code contained 65000 known issues and bugs.
The media feasted with the revelation, which gave the product really bad reputation.
Fortunately for Microsoft, Windows ME was released during the same time period, which didn't suffer from the bad reputation, so at least there was an escape route for the consumer market.
@@_chrisr_ I would love to hear from somebody who was involved with the original development of Outlook. I could *swear* that the app he showed me called itself "Entourage," but nothing under that name was ever released for Windows.
I noticed that there was a Mac product with that name when I went looking for info. I wonder if they later borrowed the name for the Mac product for some reason.
What he showed me was definitely the product that would eventually become Outlook. Same look and feel with the accordion on the left and all of that.
@@mattj65816 It would sound plausible that the early name for Outlook might have been Entourage. Back in those days Microsoft Mail was the predecessor to Outlook.
I remember getting a version of Windows that was label Windows 96 I seem to remember it having some extra tools or programs in it! Fun times those were. I also used a hex editor to change the start button to my first name since my first name has 5 letters ! Thanks for sharing this great content/history!
i wonder was that some prototype thats not lost or can you still get it? or was it some 3rd party thing made to look official?
@@NightmareRex6 pretty sure it was a hacked version
I had NT 4.0, and liked it better than Win 95. I tried to get on the very new Linux bandwagon already back them, but I being more of a hardware guy was clueless and lost, so saw NT as a better way to go. When I heard this story, having moved up to NT 5, I tried Linux again and was still nowhere near being able to make use of it. Then I read from a few independent computer security groups, similar explanations to yours, and since they have not only dispelled other myths before, as well as exposed plenty of actual shenanigans, especially what Google was up to with collecting user information, I trusted them over the insane conspiracy theorists rantings that were all over the place. I Loved the added security, stability, and efficiency of NT, as well as the file system.
Thanks! The working theory I'd read some years ago was that NSAKEY was a secondary key for Windows Update, so something as critical as patching security flaws in (then) the world's most used OS wouldn't break if Microsoft somehow lost the private key to sign updates with.
Don't think Windows Update existed at the time.
Given the DLL restrictions, I would have expected TheKEY to be used for Microsoft signed libraries and TheNSAKEY to be used for NSA blessed libraries without need to contact Microsoft.
The idea that Microsoft was afraid of losing the original key doesn't sound reasonable. It would have been more sense to print the original key in hex on paper and distribute enough copies of it to many enough bank safes, than to add another key to the system. Especially without a method to mark the old key as revoked.
In those earlier days, key splitting wasn't a thing yet. Remember, RSA encryption was the biggie and remained unbroken, still shiny and new. Now, we use AES, as RSA was easily enough broken.
Meanwhile, under ITAR, encryption beyond 40 bits was considered a munition, right up there next to artillery rounds. At that time, opening the source math was considered the ultimate evil and RSA's being broken opened that up, as the more eyes looking at the math and source, the tighter and less easily broken things became and even better, those eyes are free.
I do disagree with one thing, that the key, once revealed would've been exploited in three days. Nope, it'd have been exploited same day.
Then or now.
The biggest part of NSAKEY was it's also part of the NSAHOOKS system, where one can insert strong crypto DLL's at will. That was done at the behest of the NSA and other strong crypto users, so that their high end crypto could be loaded in without herculean labor.
There was one other Microsoft carve out for one government agency, service pack 7 was paid for by NASA, as upgrading and ensuring that all of their custom software wasn't exactly workable at the time, so they commissioned the last service pack and paid for it. Never did manage to get a copy of it, but I can't gripe about not getting that which I didn't purchase.
Oh, China bought the source code for NT4. At one point, I did have the source code, but those systems were lost in a move. :/
NT4 was a hell of a lot better than the initial release of W2k, which issued a busted to hell and gone LDAP system initially. Of course, Microsoft just claimed that's a new standard, just as they tried with Java with the msjava, which lost in court to the owner of Java, Sun... LDAP won in the end, as it's standard and eventually, Microsoft conformed to the damned standard.
Who knows? They may yet get quality control dialed in in a reliable fashion. ;)
On second thought, hopefully not. Job security and all!
@@spvillano Um... RSA is a asymmetric encryption method (also called public key encryption) whereas AES is a symmetric encryption method. Totally different animals.
And RSA hasn't been broken but computational power has increased so much that 1024 bit keys are considered too weak nowadays, whereas 20 years ago those were still considered strong. With 4096 bit RSA keys, it still an open question if even quantum computers can break the encryption by brute force alone. Note that when the key length is 4 times longer, it's not 4 times harder to crack.
And nobody still does have an effective attack against 128 bit AES, nevermind the 256 bit AES.
I personally consider X25519 and X448 as the current state of art for the public key encryption. And 128 bit AES in GCM mode seems strong enough for the currently known mathematics but if you want to future proof it, go with 256 bit AES in GCM mode. Note that with GCM the IV must be unique for every message ever encrypted with one secret key or your encryption will fall apart.
In short: X25519 + AES-128 GCM is secure for all currently known mathematics, X448 + AES-256 GCM are good for a lot of future improvements in mathematics.
And RSA 4096 + AES-256 GCM is still secure, too, but results in much longer asymmetic keys which reduces performance in many protocols.
Yeah, I would kind of expect NSAKEY to be used to sign Suite A (classified) crypto libraries for internal US Government use. Of course, they could also abuse that functionality to sign backdoored versions of Microsoft's standard library. Given what we know of the Dual EC PRNG shenanigans and the Juniper backdoor, I could believe they used Suite A compatibility as an excuse to also be able to introduce backdoored versions at selected targets.
@@spvillano "key splitting isnt a thing yet"
nothing stopping me just taking half the bytes of the key and giving it to someone, and then giving the other half to someone else. literally nothing.,
I don't know that they would need to have a method to revoke the old key on any given system if the goal was only to be able to be able to hide something in the installed OS (ie; keystore for locally stored private keys). They only reported the Code Symbol for the key, not any other related code that might have made use of it.
Everyone knows Microsoft wouldn't be cajoled by the NSA into creating a backdoor. They'd gladly do it without being cajoled
I’ve been a subscriber for a while now. Absolutely love your content. You have been very informative and educational for me.
the key is probably still in there in case a 3rd party crypto system used it at some point and left in for backwards compatibility for those 3rd party applications.
Possible , Microsoft are pathologic to a fault about backwards compatibility.
@@andljoy you can’t blame them. Most of corporations are very frugal about spending for updated software.
@@tudalex a lot of times it's tied to hardware. I've heard of old cad machines running 95
@@tudalex Microsoft really does take it to the next level though. Linux has the whole "Don't break userspace" thing, but Microsoft made the choice of exposing a bit too much of the internals at one point. So, now they're stuck supporting things that really should be provided by optional emulation packs.
My guess, knowing systems guys and developers: It's in there because nobody has the huevos rancheros to delete it, and be The One who deleted the thing that broke that other thing.
reminds me story about PGP source, that was published by MIT Press and Zimmermann as a book in 1995 to circumvent US crypto export restrictions, then OCRed and compiled abroad :D
Yes, that was awesome. Bureaucrats can't help but create laws; so we just ignore the law. It was the elegant solution to a non-problem.
love your channel, Dave. You are the best in your class. You define that class. Thanks!
Wow, thanks!
Great explanation.
A key that opens a lock that lockdown nothing, is worth nothing.
At the university I wrote a small 4 paged note about what happens with your online assets if you suddenly dies.
LastPass has an interesting feature were you can set up a user as your next of kind.
This user can claim access to your stored usernames and passwords then you have 30 days to deny his access.
This file with site-credentials is encrypted on LastPass servers so I guess this next of kind user public key is on the authorized list for that file.
I ran into this when my best friend died unexpectedly last year. He was only in his 40s and was generally healthy other than type 2 diabetes and being a little overweight. Thankfully he stored a few passwords in his browser and didn’t have great password hygiene and reused the same password or easy variations in a few places. That wound up being enough for us to break into all of his devices and his password manager to get all the rest of the passwords for his family who needed to gather the information to figure out how to handle his estate.
Before that, it had honestly never occurred to me that you need to plan in advance for your electronic life after your real life ends. If he hadn’t been a geek and been friends with a couple of geeks in the cybersecurity field, his family never would’ve been able to get access to all of his digital life after he died. All his photos and videos, the things he worked on, his legacy, all of it would have been lost forever even though it was sitting there in perfectly good condition.
It’s a pretty serious problem that’s only going to get worse if people don’t get made aware of how things can go bad and take precautions if they want their loved ones to still have access to what they leave behind.
_"A key that opens a lock that lockdown nothing, is worth nothing."_
The key signs updates, including the the Cryptographic Security Providers DLLs themselves. Whether it can DIRECTLY access your sensitive files is utterly irrelevant, as it can allow an attacker to update the software which handles your crypto... using a regular-looking _(and properly signed)_ windows update... pushed at you from an upstream location.
This key may not lock down your data, but it DOES manage the integrity of your entire operating system, including its cryptographic routines. Routines which you happily feed your private keys into (oops!) ... along with your crypto streams... and which is responsible for giving you back the plaintext. (and, vice versa)
No... access to such a private key ain't benign... in fact, it's a hackers wet dream!
@@garychap8384 well that key you describe do actual lock down something, so it's worth something.
I meant that a key is worth what it locks down. The value is not the key itself but what it lock down.
The world most expensive key isn't worth anything if it locks down nothing. It's like having the most secure, expensive and sophisticated bank vault with nothing in it.
Thanks sir. I’ve been binge watching your Channel. Awesome stuff.
I was actually trying to look into this the other night, can't wait for the premiere!
Crytopgraphy services.
Dave ! A GG intro with early one morning in the background ! Wonderful, you made my day!
That honestly all sounds very reasonable, then again well.. if there was a backdoor like that I feel like they’d manage in such a way that knowledge of it is kept to the barest minimum of people and patched into release versions at the very last moment. Would be kinda difficult and a huge security issue to leave every operating system engineer aware of such a thing.
I think that is why it’s always fair to look at large companies, not just American but from any nation really, with a healthy amount of skepticism because it has been shown they can be forced by governments to give up data.
Which is where I do think open source offers more security. I honestly do believe it’s not inherently more secure against outside threats because everybody can look into the codebase because someone knowledgeable actually has to, so I agree with what you said there in an earlier video.
But well governments can’t really do anything to coerce free open source projects into doing something for them as they got nothing to force them with really. So in regards to protection against something that’s not criminals out for your money or viruses but the government trying to collect unreasonable amounts of data from you.
Now they managed to sneak people into important roles in open source projects that would be a whole different beast entirely of course.
My opinion is that governments don't need backdoors, we already know they use zerodays and social engineering. I would bet that's enough to get access to most things, especially if you have no legal repercussion
People also overestimate just how many people look at code, and that's even before dependency hell that many languages nowadays introduce. For example: A simple, "Hello World" GUI in Rust via eframe, a wrapper around egui pulls in 170 other packages. Who has the time to seriously vet all of those?
It's the same in Python or JS, or really any other language that uses outside packages.
And who is going to compile an open source project from the source directly just to use it? People in most cases don't even compare checksums of the precompiled binaries.
Is open source software more secure? In theory? Yes; In practice? It doesn't matter. There are other ways of getting to your target that are often also much less time intensive.
@@Ruhrpottpatriot Rust .. 170 packages ... CPUs get faster and faster, the software get bloateder and bloateder and the user experience remains about the same.
@@Ruhrpottpatriot Yeah the BSD projects got burned by that I seem to remember when it was shown that some of their crypto had been sponsored by some creepy gov outfits and massaged. Open Source means nothing if only a handful of people in the world understand and bother to read the code. All projects, even so called Open Source ones are vulnerable to rubber hoses and other forms of leverage. Whatever the NSAKEY was used for it is now long since out of date and many other vulns targeted instead. For instance on die crypto where the die manufacturer may have been coerced. Samsung may be a world leader in tech, but I suspect that some of that has to do with the cosy relationship the US has with South Korea. Samsung can no doubt be made to bend to certain demands, the Chinese, less so, though they're no doubt doing their own stuff. The US are paranoid about the Chinese because they know the Chinese will be doing exactly what they themselves do.
@@myothersoul1953 It's more a case of the "do one thing and do it good" *NIX philosophy. You won't find a parser in rust that parses json, xml, protobuf and other weird formats in one package. There exists serde, but that by itself is format agnostic and you need to get other crates for your data format.
Same with the .tar then gz compression approach.
This approach allows you to be very flexible, but it can easily introduce dependency hell.
NT4 was my favorite OS, too; it ran blazingly fast on a Dell Pentium Pro 200 with 64MB RAM (in 1996)! I was quite impressed. Bibliofind's search engine was build for almost 2 years on that lowly machine (after upgrading to 128 MB RAM; the max for that Dell machine); before being copied (nightly) to a higher-end Proliant.
Interesting that the export of crypto in the US was allowed in 1996. Even 15 years ago in the UK I had to make 2 versions of an encrypted device (one with 32 bit encryption, one with 256 bit) to avoid needing an export licence from the UK government for demo purposes.
It used to be serious business. It was like exporting machine guns, tanks, or bombs. In some countries encryption is still treated that way. France comes to mind though I'm not sure about them now.
I used to work for digital. Back in the 1980s they sold a Vax 11/785 to a company. We set it up in their building. They paid for support. Not even a hint that it was for anything other than their use. It looked like a normal deal. A few months later it was being loaded on a truck I think to go into East Germany. digital ended up being fined over that. Even though they did everything they could think of to prevent any of their machines from going to the eastern block. So the government did the pictures, had a big deal about it and said how great law enforcement was to stop this. Even back then we're wondered what the big deal is. Maybe they were going to front end it to a Cray. That would make sense though I never heard of them seizing a cray.
In 1995 one of the last things GHW Bush did was sign over the Internet from Government to public use. Something in the works for many years. In 1996 I guess they realized it was useless to even think about stopping encryption code from getting out. Up to that point all you needed was a 3.5" disk and a suitcase.
this is what happens when lawmakers are Luddites (Like the governor that accused and charged a journalist for hacking because he viewed the source of a web page and found SIN numbers of the whole department of education (I think that's what it was) and the journalist appropriately reported that security breech to the correct people)
32 bit encryption, even 15 years ago might as well not be encrypted at all having only 4.3 billion options to check, and 64 bit even at the time was still weak
@@robertthomas5906 I recall it actually being the NSA that finally made the government change its policy regarding strong encryption. They argued that the benefit to the U.S. economy of changing the policy was greater than the risk since other countries had also developed their own encryption schemes and it was likely those countries that we were afraid of would have simply stolen it anyway. With commerce finding its way to the internet, strong encyption was needed everywhere and it needed to be common standards for it to work and to enable more economic activity.
@@babybirdhome No doubt they had a very large role in that change. I should have mentioned that.
They're great guys. My undergraduate work was at the University of Maryland in College Park. We had a few days where the crypt guys came down from the Fort and talked to us about cryptography. The main take away - there is no such thing as totally secure encryption. If someone tells you that their encryption can't be broken they're either lying to you or they're not smart enough to know any better.
So far they're right. Even with the so called hack proof Quantum encryption. "Secured by the laws of physics." I thought - uh huh. I didn't buy it. It didn't take long before an IEEE engineer broke it.
@@babybirdhome I really want to believe you - but I struggle to put that much faith into the government, especially the NSA lol
I've always understood the NSAKEY as being a concession to the US government market to allow the NSA to create a custom internal-use crypto provider implementing their classified Suite A algorithms. (Any key can be split using SSS no matter how it's generated, so I don't think that explanation makes much sense.)
I think this is the most likely explanation. Of course, it could also be used to sign backdoored crypto libraries that were slipped onto target systems. It's not like the NSA hasn't hoodwinked US industry before (*cough*RSA*cough*)
@@supersat You'd have to have admin access to install any CSP, even one signed by the NSAKEY; any attacker which could could also simply load a kernel patch to bypass the signature check.
@@MrNerdHair its just a DLL somewhere right it doesnt run in kernel mode?
@@LiEnby Off the top of my head (it's been a while since I disassembled that particular file), the code does run in the kernel, but it's harmless. The NSAKEY itself only ever used by one routine, where it provides an alternative to a Microsoft signature for loading a CSP. (And the tightened signing requirements for CSPs aren't really a useful security measure; they look to me a lot more like an attempt to satisfy US export regulations of the time the system was designed. Anyone who could even try to load a CSP that might be signed by the NSAKEY would also by definition have the privileges to do a million way more evil things.)
This video was thrilling! Very enjoyable story and history lesson. Thank you!
Next conspiracy theory:
Dave got to have be coerced by the CIA/NSA/Secret Service, to tell us this with a gun pointed at his head, just to reassure us.!!!11!!!1
P.s.: Dave, if you are held for capture, just blink a SOS morse code with your eyes...
😁😄
I believe it was a boking accident.
ha ha ha, Frankly if it had happened, it is likely that most the devs on the team wouldn't know shit about it because ... they flat out didn't look for it, nor would it be habit to casually or regularly dig through the code without cause.
(which is a large part of the reason to the argument OpenSource is safe because you can browse through it).. They would think to do it.
ALso, who literally searches the words 'NSA' or other government terms in a code base for an operating system meant for the public? (Kinda interesting that we haven't seen developer claiming to do this, no matter the results) Just saying.... People know those searches, checkouts, & interactions with said database are tracked & monitored... why would someone go poking around other parts of the OS code they aren't working on, or using search terms that could come off as conspiracy minded, if they wanted to keep their jobs.
@@DePhoegonIsle what do you think about Dominion voting source code being closed source, hidden from view of the voters? Do you think Dominion has the possibility to fudge numbers?
It's in his best interest as a microsoft shareholder to help the NSA and the US government to make sure of nothing coming in the way of him getting his dividends. He doesn't need to be coerced.
no, use ascii to blink Cntrl-C
okay. the CBC reference at the end absolutely got me laughing! well done. thank you. :)
Glad you enjoyed it!
"Why is the key still in Windows?"
I mean... as always seems to be the answer with Microsoft, I've got a hunch it's backwards compatability.
Ya got a like just for having worked on the NT4 project. To this day, it's probably my favorite OS from the company. To say it was solid and reliable is an understatement.
As a programmer on a medium-sized team, I keep things around that are no longer useful all the time, just so I don't have to run around asking people if they're still using it. Out of laziness. That's probably what's happening here.
As someone with ISO's for almost any OS from NT4.0, to MAC OS 12.4, and windows 11, same.
I hate having to search for that one off time I need a piece of software. Would rather just keep my own repository on my NAS at home
Sounds like if I was the NSA and could sign a compromised crypto provider with my NSA private key, then went and installed that compromised crypto provider on a target's PC, it would be automatically accepted and compromise my target without me having to disclose any of my NSA plans to pesky Microsoft employees that might inadvertently leak those plans to my target or require some sort of legal cajoling to cooperate.
Spot on m8
Or a better non compromised crypto provider for internal use
Exactly my thought
Thanks for NT4. I ran that on my own PCs in high school and helped friends do it. I switched to 2000 when that came out. It was so much better than 9x except for some gaming. When XP came out it felt like the world was finally catching up. Then I switched to Linux 😅
That's very interesting. I always wondered why people on...let's just say FTP sites...were labeling certain versions of Windows as NSA versions.
Only just came across this now. Great video Dave!
NSA Key would be a terrible backdoor simply because its named NSA Key.
I dont think any competent surveillance group would loudly exlcaim that they have a backdoor. They would probably hide a backdoor in something far more innocuous sounding.
If the NSA made a backdoor, they would give it some whimsical all-caps name and hide it as some subtle thing that security researchers would assume is a bug in the code.
But if the NSA ordered Microsoft to create a backdoor, it could well end up as a function called "ZwActivateBackdoor", with the assumption that the debug symbols would always get stripped before release.
I like this channel a whole lot. Would like to see more mini clips from "Better Call Saul" added though.
Amazing content and definitely buying your book!
Having used Kali Linux I have always assumed back doors whether they existed or not were present.
Our devices are like a history book for those with the right knowledge.
Even if you consider your device to be secure. It may be pertinent to think about what you use your device for.
As always, an engrossing and informative video.
This key isn't a backdoor. But that doesn't mean there is no backdoor. The auto-update mechanism *IS* a backdoor. There may well be additional hidden ones.
The update mechanism is hardly hidden. Plus you assent to it in the EULA.
If people were to realise how unsecure their data really was and how vulnerable they were, they'd never use another phone or computer ever again.
When Microsoft Azure offered and recommended using their Azure key storage functionality, my first reaction was that they wanted all my keys stored in one place thus making it easy for "officials" to read encrypted data. The guise is that Azure key storage is a best practice and helps keep my keys secure. It does. But it also keeps them all in one easy to access place for "officials".
Windows 2000 was my favorite OS, still is. It was the first time I'd used the NT tech at home instead of 98x and despite the slightly higher system requirements it felt faster and more solid. Did you work on on 2000?
same here :)
he worked on all Windows, up to and including XP
Dave, je t'e remercie pour toutes les annés travaillées en NT.
Love the channel thanks for the information I remember stumbling across this when I was like 10 or so never really thought anything of it.
Love your videos, thanks man
9:18
Thats a brow frow that suggests you know more than you are letting on.
Fair enough.
Great video Dave. I like the homage of the Friendly Giant and CBC 4 the station which broadcast children show in Ottawa, Canada at the end of the video.
I would really love if you did some videos about system programing on DOS. There are some about game programing. But nothing like, how to write a file manager? How to work with a FAT, how to hook interrupts and stuff like that. Maybe even how to write a device driver.
Ralph Brown's interrupt list is probably what your looking for.
@10:55 "That's the only suspicious part. If the key has no use, why keep it around in the code? On the other hand, the fact that there are multiple keys at all is kind of reassuring. Even if the NSA key originated with the NSA, and it very well might have, even for the legitimate crypto purposes, that means the key is derived from the NSA's key-chain and not Microsoft's. I think that alone is fairly good proof that Microsoft is not willing to allow the NSA access to it's own secret key."
That's what they want you to think. 🤔
"that means the key is derived from the NSA's key-chain and not Microsoft's. I think that alone is fairly good proof that Microsoft is not willing to allow the NSA access to it's own secret key."
This part didn't exactly ease my mind. Let's assume, just for a moment, that they are DLL/EXE signing keys. Say "_KEY" was Microsoft's signing key and "NSAKEY" the NSA signing key. Say Microsoft makes Windows require just one of them to accept whatever binary is loading. Sure, the NSA doesn't have access to Microsoft's keychain, but they don't need it. They *can* just sign binaries in this case, they have a working key.
I always find these de-compilation conspiracies interesting because most of them stem from one guy who doesn't know much and made a wild assumption. Projects I've worked on have been on the receiving end of a few of these (albeit less consequential), and nearly every time it was entirely wrong, stems from one random guy who doesn't know what they're on about, and is then reported by media who don't know either.
Good news (or bad news, depends on who you are) is that AI decompiling and de-obfuscation are becoming a thing. All those compiled dlls in the past will, inevitably, become opened-source (not open-source). Currently training NN to do just this with millions of lines of source code and the corresponding compilations, including coding standards (making source predictions even better) and along with obfuscation techniques, live execution (for encrypted code that has to be decrypted on the fly), and well, you can see where this is going.
I recall, about a decade ago, a research team was able to "see" through a piece of frosted glass (with a regular pattern), that is, reconstruct the light to reveal what was behind it via training a neural net (with only a few thousand knowns) in just a few days. The final model had incredible accuracy - good enough to discern facial feature from behind the glass.
It's no different with code. Other scarier things are coming (pre-crime prediction).
nice try - and how much did the nsa pay you for this video?
Why would the “nsa key be exploited quickly after beeing discovered” - if the secret key is not known?
Had a laugh at that too. There's clearly a logical fallacy with the way its explained here.
The Friendly Giant closing ❤️
I've always wondered, how fast can you test changes when making an operating system? I'm usually never making something so big and complicated myself, and so I can run tests very fast. Do you need to set up a new virtual machine every time or can you do something faster?
Wait... If there were no separate SKUs for the US and export markets, then how was the export control actually done? Was the library that enabled strong encryption (and authenticated against the keys described) a separate download or something like that?
My two quick guesses would be either through Product IDs (of which were many AFAIK, as they did change between OEM, retail...) or through regional settings. But I'd love to hear Dave's input on this :)
EDIT: According to "ITProToday", "Initially, Microsoft released NT with a standard encryption strength of 40 bits. In SP3, Microsoft offered the first 128-bit high-encryption version, then in SP6a upgraded the standard encryption strength to 56 bits."
Also, KB article "Q176820: Differences Between 128-bit and 40-bit versions of SP3 & SP4" tells us that "no localized versions of Windows NT are currently available in 128-bit versions." It also lists the different files between the 2 different (export and non-export) versions of SP3 and SP4 and what happens when you install export SP over non-export OS or viceversa.
With that, I'd guess that Dave's memory failed a bit, and apparently NT4 only retailed as 40-bit (export), then service packs appeared with both editions. Later, with SP6a, the export version was upgraded to 56-bits.
1:26 or was it just an inside joke that ballooned out by the public.
While the conspiracy theories are fine, it's entirely possible that the reason that the NSA key is still in releases of Windows is simply that it was included in Windows. Microsoft has demonstrated a strong history of not setting things up that may break things that people are relying on. And if someone decided that a good way of verifying if the platform that the application is running on happens to be a legitimate copy of windows, they may have decided that looking for this key would be a reasonable method, and if it goes away, all their software they produce stops working the way it should. I'd treat this as part of the same logic for leaving API's functions for printing that were superseded a couple of decades ago are still in the system. "Don't break the experience for those users relying on those features being there." Whether it's a smart decision or not is a different discussion.
The only reason to remove a feature from software is if it actually poses some risk. Be it security or soundness risk.
I think Microsoft feels that way about certain bugs that can still be found in Word, Access, and Excel, decades later.
You don't need to compromise the keys, you can just compromise the system for generating Prime numbers.
I can hear it now... "That's just what they want you to believe, man."
*2012 Radio Hippie Intensifies*
Dave is playing nice, because he doesn't want the NSA to set his is_alive variable to 0.
*false
@@hrgwea 0 is false
@@nissl7742 0 is falsy, not false.
@@hrgwea It's both, youngling. Always has been.
@@interstellarsurfer Then you've been confused your whole life. False is a boolean whereas zero is a number. Data type matters.
"is_alive" is meant to be a boolean property, so assigning a number to it can result in an error depending on the language.
Do you have the habit of assigning zero to boolean variables?
If you do, please correct that bad habit.
In the late 90's the SA Air-force only used NT as (by hearsay) it was the only secure Windows.
I'm leaning towards it being related to compatibility matters - like kind of cryptography's version of a Windows 'junction', perhaps ..?
I'm more concerned about subkeys and fragmented key bits that can be low-level accessed and compiled on the fly without anyone knowing, most certainly without consent, for Mercy knows what. You know what I'm talking about. *_The Registry,_* something that only Windows gives open access to.
So a easy searchable string for the NSA cypto checks to get clearance for export outside the US. NSAKEY is for export while KEY is for domestic usage.
Great video. I loved NT 4! So solid!!!
Thank you for helping me out, by the information provided in this video
There is now a US law that compels corporations to provide or build tools to allow the NSA or other agencies to access systems for ''law enforcement' purposes. In fact, all Five Eyes countries have similar laws on the book. It is likely that these tools and any associated keys are patched into the final release package from outside the repositories that regular engineers have access to. The agencies are smart enough not to use powerful capabilities like this regularly so that the perception of Windows being somewhat secure can be maintained.
Love the Friendly Giant reference at the end.
I'd love to have a glimpse on what the "Cairo UI" would have looked like, or what were the principles that governed its UI decisions and how it affected the user interaction.
For example, I really liked Workplace Shell (which was revived in Gnome 2.4 for a while, loved that!).
It's sad that modern UI are phasing out drag and drop, both in Linux and Windows interfaces. I can't understand why, on graphical, mouse-based UIs, drag and drop is so natural and speeds up so many tasks! Maybe it's the focus on touchscreens that caused it but yet, for those using a mouse/trackpad/trakpoint, it still makes sense to drag and drop, only to be taken away little by little on each new UI revision :(
What could you drag and drop before that you can't now?
idk. am using a mouse since my first comodore 64 naver got used to use drag and drop, seams always so un precise to me on any windows i ever used i used ctrl+c and ctrl+v instead whenever possible.
that said modern UI's sucxxx big times just not because thay lack drag and drop
@@XanatosDavid But where is it lacking? I drag and drop things all the time in various forms and never get denied. In fact, sometimes I'm annoyed because it wants to drag and drop something when I want to do something else. Like if a photo is extra large in Firefox and I use the mouse to navigate it, it wants to drag the photo out to copy. Obviously once I remember that its mechanics are different I hit shift to horizontally scroll, but I would prefer it not have that weird behavior.
Drag'n'drop is being phased out of Windows?
Oh you sweet pre-22H2 child....
@@Mario583a Probably referring to the Windows 11 taskbar being complete trash. You can no longer drag and drop something into the taskbar to make the application pop back up. Amongst the other issues with the Win11 Taskbar.
When it was discovered someone showed how to overwrite the NSA key with their own, then sign the DLL with their matching private key. Basically the NSA key allows someone to provide signed DLLs that are not signed by Microsoft. Eg if NSA wished to update a windows DLL with a DLL containing a backdoor they could without asking Microsoft.
2024 : " MSFT Recall System "
How many terabytes are wasted with NSAKEY?
Did OS/2 have something similar?
Could the NSA key been to allow the NSA to use it's own crypto?
Amazing info wish grandpa was still around to finally have his answer. Though i suspect he already knew and just wanted me to come to this conclusion on my own, either way thanks Dave and i definitely subscribed.
Yes. Thanks for watching
Curious about your thoughts on TPM modules in regards to similar online speculation that the now forced inclusion with windows 11 points to a similar scenario of a forced universal backdoor.
It's not a forced backdoor into existing protections; it's a forced DRM mechanism. TPMs are highly useful and powerful tools for users to protect data against malware, but their utility is limited by your need to establish trust the TPM's root key. This isn't that hard for a user -- you've only got one TPM, and a physical inspection can give you a fair level of assurance nothing's hinkey with it -- but it's a nightmare at scale. Microsoft is trying to solve this by becoming the arbiter of what computer configurations are "trustworthy" at scale; your PC's TPM will be enrolled with MS on setup, and then developers of e.g. cloud services can specify which system configurations they trust to e.g. cache data locally.
Considering MS is probably the master of backwards compatibility in regards to their own interfaces, I would assume the reason they did not remove it is "why would we?" rather than "why not?"
I would love for some of you experts to figure out why Intel is allowed to break 4k UHD bluray playback on modern pcs. You need to have Intel software guard extensions to play these discs and the 500 series motherboards and newer dropped them, Intel 11th generation and newer CPU's don't have them either. Can we sue Intel?
Was something like this stipulation of the Blu-ray Association before they'd license to Intel?
SGX is an absolute nightmare, and they've finally realized it. Hugely exploitable model of "protected memory", not putting into account that it is also protected from the OS. Aka you could essentially have Ring -2 persistent malware that is completely undetectable by anyone, including Intel. Completely nuts.
Same goes for DRM and enforcing it at the cpu level. How this ever started in the first place is beyond me lmao. Media corporations continuing to ruin computing at the expense of the user and user's security.
@@iusegentoobtw Thanks for the info. Yes they are ruining things I just buy Blu-ray discs now no more 4k. My pc is superior for video playback over a UHD player.
@@nbrown5907 Buying a set of Blu-ray discs was the single most annoying thing I've ever experienced in my life. Why was I stuck watching unskippable ads and being forced to interface with a broken, annoying, and clunky UI built into each disc I'd paid $40 for?? Why not allow me to go in and play whichever episode I wanted straight off the disc? I ended up ripping everything I had and throwing the discs away as they were useless. Never bought another one. Nowadays I just directly pirate any video that's not available on any of the now 8 streaming services I pay for because purchasing the product legally yields a significantly worse experience. So much so that if I was forced to do things legally then I wouldn't do them at all. Video streaming is already well on its way down the same path since every single production studio wants me to pay $15/mo for their one or two shows AND they want to insert longer and longer unskippable intros advertising everything they've ever made (HBO most notably). We managed to kill the greediest product ever invented (cable) and replace it with something vastly superior only for it to become equally as greedy. When Steam came along I didn't need to pirate games ever again. Netflix came along and I quit pirating movies. Pandora came along and I quit pirating music. There were years where I didn't even have piracy software on my computer. Now that video is back on its bullsh*t and nothing is available without using VPNs etc I've gone back to it. I guess what I'm saying is, it shouldn't matter that you can't play blu-ray discs on your computer because you have options. Guilt-free mode: Buy the disc, have it delivered to your trash, and download it in 4K.
What you meant to say was, in 1996 the NSA found better ways to backdoor / crack crypto and so allowed it to be exported without restriction :)
I have bad dyslexia... love your channel!
love computers and robots
That key might be benign but this guy still glows.
look at the backround
The real crypto keys were 'Rusty' and 'Jerome'. What was the Friendly Giant really about??
Much fun good Canuck!!
Such violations of privacy DESERVE retaliation of the most extreme degree.
It's way more fun when a C-Suite executive is scanning his his hard drive on his personal laptop and comes across 4 files that he doesn't recognize. So, he deletes them believing that they are not needed. Then he reboots at some point, and later finds that he can't get into his encrypted file system. We guess no one told him that all C-Suite executives laptops have encrypted file systems, just in case he loses that laptop on a trip...or it gets stolen. Luckily, our Help Desk keeps copies of those keys, so after a couple of hours of hand-wringing our executive was back in business.
With the admonishment from the Help Desk of "We're not saying what you did was wrong sir, but what you did was not right...please don't do it again."
So, the NSAKEY as a backup makes a whole lot of sense.
It’s a severe disregard of cryptographic best practice to use a signature verification key also for encryption.
FCC part 15 "must accept interference from other sources"... Says it all...
I'm going to go with "we haven't removed the NSA key, for when we do, windows breaks, but we can't find the code the depends on it to run properly"
Thanks, it's great to here an X-dev talk about these mysteries. Please talk about refund day.
I think Micheal MJD pretty much summed it up.
@@Mario583a His video was great and I've seen it too and the stairs one, however I would to hear Dave's oponion as somone who worked for MS at the time?(or close too it)
I remember that whole "40-bit-export-encryption" thing. What utter ridiculousness it was.
Riddle me this, why are there multiple copies of everything a user does on files on the hard drive?
Hi Dave,
Thank you for your video. As always very interesting and a pleasure to watch!
I would like you to know that I’d prefer videos like these without background music. For me, it makes it just a little bit more difficult to follow what you’re saying and (again for me) it doesn’t add anything. The news in TV doesn’t have background music and I hope they’ll never will.
I’m aware that I’m just one of your 243k subscribers and I don’t know how other viewers perceive the background -noise- music. Maybe you could do a poll on it, just out of curiosity.
I think I’m fairly proficient in English but I’m not a native speaker. Perhaps that plays a role too.
Thanks again for your work!
Nah... music in the video is pretty cool. He just needs to try to be a little bit more clear and articulate when he talks. It's a natural progression of every popular youtuber to sound better than before as the time goes by (try to find very old Doug DeMuro videos and compare them to the current ones - huge difference). And Dave already sounds better than before, just look at his older videos and how fast he was talking before.
@@Im_too_old_for_this_shit
There’s never any music behind the news on TV or on talk shows. The message should be enough.
If you want to hear background music, you can turn on anything in your own confinement but if I prefer to listen to Dave without music, I can’t turn it off.
Background music will turn off some people and I doubt that it will attract people. I mean, people watch the videos because they want to hear Dave, not the music.