EV Cert to be Required for EVERY sysdev submission...

As most of you are doubtless aware, drivers will need to be signed by Microsoft’s SYSDEV portal in order to be installed on new Win 10 V1607 systems (and later) that have secure boot enabled.

There are a narrow group of exceptions, but as time passes these exceptions will rapidly become irrelevant.

You’re probably also aware that in order to get your driver signed by SYSDEV, you need an Extended Validation Certificate (EV Cert) on file with SYSDEV.

While we’re not enthusiastic about this idea here at OSR, we don’t think requiring sysdev users to have an EV Cert is by itself a terrible thing. Microsoft tells us this provides additional security. An EV Cert certainly provides an extra level of scrutiny about the holding organization. We can live with it.

The issue that we think is a big problem for the Community is the fact that soon, every submission to SYSDEV will be required to be signed with the EV Cert.

Currently, you do not need to use this EV Cert to sign your SYSDEV submissions. You can sign your submissions with a “regular” Class 3 Code Signing Cert, so long as it is registered with SYSDEV for the submitting company, and the submitting company also has an EV Cert on file with sysdev. To us here at OSR, this makes sense.

However, Microsoft has made it clear that SOON any submission to SYSDEV will need to be signed with the EV Cert to be considered valid. No other cert will be accepted.

If you’ve used EV Certs, you know they’re a PITA. They’re restricted to residing on hardware tokens on similar “secure key storage” devices.

It is our observation that requiring every submission to be signed with the EV Cert creates significant problems for IHVs and OEMs. This is particularly true for IHVs and OEMs that have external teams do their HLK testing and SYSDEV submissions. How would a company located in, for example, Taiwan manage a SYSDEV submission performed by a team in the US?

Would they have somebody fly from Taiwan to the US with the EV Cert on a token every time a new submission needs to be done? Or, alternatively, does somebody in Taiwan need to install the HLK, learn how to use it, and import, sign, and upload the submission? Or would someone from the team that does the testing fly somebody to Taiwan to install the HLK and do the testing, and then use the EV Cert to sign the submission?

None of these alternatives are realistic. And this is a big problem.

If you think the requirement that every sysdev submission be signed with a company’s EV Cert is going to be a problem for your company, now is the time to speak up.

If you’re an OEM, IHV, or 3rd party specialist firm that does sysdev submissions, you CAN voice your opinion and be heard. In the past, working together, we have been successful in pointing out to Microsoft how certain plans were not in the best interests of the eco-system, and we have gotten those plans changed.

Here at OSR, we’ve filed a bug with SYSDEV on this topic. We’re working the topic with our colleagues. But without additional support, I expect our issue to be closed with “Yes, we know you don’t like this idea. Thanks for the feedback. Sorry. Have a nice day.”

So… What can you do?

At every opportunity, you can voice to Microsoft your concern over the practicality of having to use an EV Cert to sign *every* SYSDEV submission.

Work the issue through all the channels you have, both formal and informal.

If you’re an IHV or OEM, make sure your reps to MSFT are aware of this problem. Ask them to raise this issue as a specific topic at their regular review meetings.

File a bug at SYSDEV, with the letters “EVCERT:” at the beginning of the bug title.

If you have Premier Support, talk to your TAM about this issue and *specifically request* that they “raise the issue with the product team.” Regularly ask for status about what the product team says about this issue.

We’re bringing this issue to the attention of the community because we think requiring every submission to be signed with an EV Cert will create serious practical problems for OEMs and IHVs world wide. To avoid having this issue dismissed as purely being one of self-interest, let me be clear: OSR does (perhaps) one or two sysdev submissions a year on behalf of clients. We derive approximately zero percent of our revenue from sysdev submissions. While requiring sysdev submissions to be signed with an EV Cert will negatively impact OSR and our clients, it will impact other firms far more than it will impact us.

So… if you didn’t know before, now you know.

Peter
OSR
@OSRDrivers

Peter,

Thanks for the heads up. We have driver development in several places around the world with builds being done in several places around the world and, of course, testing being done in several places. Eventually all systems are brought together for Integration testing.

I have passed this along to our SCM Groups for them to check out our process impact.

Larry C

This is a very interesting problem. Our EV is stored in our HSM. We’ve built services for signing using the HSM, but are currently unable to sign a .hlkx file as our signing service uses signtool. The tools required to sign an HLK package appear to be embedded in the HLK Studio. This is an issue for us because we can’t point HLK studio to our EV cert because it’s stuffed away in our HSM. Our HSM service allows us to avoid the fly from Taiwan to sign a file problem.

Would signing where your EV cert is in the chain of trust be sufficient? As soon as you get your EV cert from the CA, use it to create a new cert, then lock your EV cert away. Sign your files with the new cert. Does that work?

[quote]
Our EV is stored in our HSM.

[quote]
Nice. I’ve always wanted one of those. Too bad the least expensive one I could find was $10K, and it was shite.

Correct.

Correct. A really good, workable, compromise with MSFT would be to allow submission packages to be signed with signtool.

This would allow the team running the HLKs to do the tests, collect the data, and create the package. They could then securely transfer the package to the folks who have The EV Cert. Teaching these folks to install and use signtool is something that, while annoying, could be reasonably accomplished. Then, with the submission package signed with The EV Cert, the signers could return the now-signed package to the team that ran the HLKs for upload to SYSDEV.

I have no idea, but I would expect this to not work. I admit that most of this cert stuff is way over my head, however.

Peter
OSR
@OSRDrivers

My guess is it doesn’t work like this because there would not be anything to prevent someone from adjusting non-passing HLK result to be passing. Putting the digital signature on the package from within HLK reduces the ability to tamper with the results. I would not put it past some companies to cheat on the HLK tests if they could.

It does seem like a problem if your signing key is kept inside a secure device. There have been code signing keys stolen, so do support strategies to protect them.

Jan

On 8/5/16, 10:43 AM, “xxxxx@lists.osr.com on behalf of xxxxx@osr.com” wrote:

This would allow the team running the HLKs to do the tests, collect the data, and create the package. They could then securely transfer the package to the folks who have The EV Cert

EV Certificates aren’t a problem for me since that’s what I use, but I’m getting hit now by customers who can’t install software because it says the driver is not signed, but it is signed. Now I find out it has to be signed by MS ??? How can they get away with that? My customers would gladly turn off that option to use our stable drivers.

So anyway, I don’t follow what MS does, I do everything independently my way. So now I feel like we move closer and closer to dictatorships in every single aspect of everything. Now that I’m off the soapbox, what do I need to do to get this signed by MS. I don’t use Win10, I can install it in some VM or something, but it doesn’t have access to any source, only the binary driver. Is there a step by step?? Help!!

Thanks!

You haven’t been paying attention for the past several months, Mr. F, have you. If this stuff is important to you, you should at LEAST keep an eye on our blog, or join the OSRHINTS mailing list, so you won’t be caught off guard.

https:

< https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/04/01/driver-signing-changes-in-windows-10/ >

Note that this is NOT the thread for a discussion on the Win10 Driver Signing policy. We’ve had lots of threads on the topic of “how do I sign my drivers” – THIS thread is for discussing the requirement that SYSDEV portal submissions need to be signed with an EV Cert.

Thanks

Peter
OSR
@OSRDrivers</https:>

xxxxx@terabyteunlimited.com wrote:

EV Certificates aren’t a problem for me since that’s what I use, but I’m getting hit now by customers who can’t install software because it says the driver is not signed, but it is signed. Now I find out it has to be signed by MS ??? How can they get away with that? My customers would gladly turn off that option to use our stable drivers.

That’s certainly an option. The “Microsoft required” thing only applies
if “secure boot” is on in the BIOS. If your clients turn off “secure
boot”, things will go back to the way they were.

So anyway, I don’t follow what MS does, I do everything independently my way.

That is a recipe for unhappiness, as you are discovering.

So now I feel like we move closer and closer to dictatorships in every single aspect of everything.

It’s not like a dictatorship, but it is somewhat like the TSA.

Now that I’m off the soapbox, what do I need to do to get this signed by MS. I don’t use Win10, I can install it in some VM or something, but it doesn’t have access to any source, only the binary driver. Is there a step by step?? Help!!

We’ve been talking about this for 18 months. It’s a little hard to be
sympathetic. You don’t need to run Windows 10. You just need to submit
your driver package to Microsoft’s “sysdev” (WHQL) site for attestation
signing. The recipe is here:

https://msdn.microsoft.com/en-us/windows/hardware/drivers/develop/attestation-signing-a-kernel-driver-for-public-release

It takes days to set up a sysdev account, but once that’s done, the
signing process takes a few hours.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

as far as the signing with ev, i always planned on simply setting up a signing station where things can be submitted and queued and processed and sent back. Similar to online antivirus scanners.

> [quote]

Our EV is stored in our HSM.

[quote]
Nice. I’ve always wanted one of those. Too bad the least expensive one I could find was $10K, and it was shite.

The price of admission seems to be in the $25K to $30K range :frowning:

Correct.

Networked HSM’s generally come with a Windows Cryptographic Service Provider
(CSP) that you can install. This effectively integrates the HSM into the
Windows crypto system.

Microsoft actually documents using an HSM with the HLK:

https://msdn.microsoft.com/en-us/library/windows/hardware/mt674914(v=vs.85).aspx

That web page mentions that HLKX files use the Open Packaging Convention
format, the same as Office documents and AppX files. It even includes example
code showing how to sign packages. It may be quite possible sign HLKX files
outside of HLK Studio (this is an exercise left for the reader).

> So anyway, I don’t follow what MS does, I do everything independently my way. So now I feel like

we move closer and closer to dictatorships in every single aspect of everything.

Absolutely.

I can understand EV certs for security and identity purposes. But I really cannot understand why is it required to do HLK certification of each build.

This is a “good” old USSR-style paranoid bureaucratic stuff.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

> Note that this is NOT the thread for a discussion on the Win10 Driver Signing policy.

Peter, how about creating a separate forum for driver signing? NTDEV, NTFSD, NTSIGN…


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

BTW - it is probably possible to plug the EV cert token to some server, to be accessed by the workstations by RemoteFX.

And yes, having a separate signing station is also a possibility.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

On 2016-08-08 12:18, Maxim S. Shatskih wrote:

BTW - it is probably possible to plug the EV cert token to some server, to be accessed by the workstations by RemoteFX.

And yes, having a separate signing station is also a possibility.

It is, but everybody has to come up with their own infrastructure to
make it work. Or have I been missing some cool tools provided by MS
alongside signtool?

// Oliver

Well, there wouldn’t be unless we or they invented a way to do this. It’s not rocket science. If you want to be sure the submission isn’t tampered with outside of HLK Studio, have studio sign the submission (using its own cert) and store the signature internally. Then we can sign the package.

Or, ah, something like that. PKI, hand wave, hand wave…

Peter
OSR
@OSRDrivers

> If your clients turn off “secure boot”, things will go back to the way they were.

Just type “disabling secure boot” into a Google search box, and you will see that this option is not necessarily as simple as it sounds - some mobos may gray it out, some would not allow you to change the boot order,etc,etc,etc. Doing something like that may involve hours (and even days) of investigations of a particular mobo, and is normally done by those who plan a complete defenestration…

Anton Bassov