Microsoft zpřísnil podmínky podepisování pro Windows

8. 8. 2016 | Jindřich Zechmeister

Microsoft v červenci zpřísnil podmínky pro podepisování driverů pro systém Windows. Buďte na pozoru před novými požadavky, protože běžný Code Signing certifikát na jejich podepisování a používání Dev portalu nebude stačit. Pro Windows Hardware Dev Center Dashboard a publikování ovladačů potřebujete EV Code Signing certifikát.

Pro nové drivery v kernel módu potřebujete EV podpis

Microsoft požaduje pro Windows Hardware Dev Center Dashboard a podpis driverů pro kernel mód certifikát s rozšířeným ověřením (EV). Hlavní změna přichází s Windows 10 a buildem 1607. Nová instalace systému (a se zapnutým Secure bootem) odmítne použít kernel mode driver bez podpisu z Windows Hardware Developer Center Dashboard portálu.

Microsoft vlastně nyní začíná vynucovat pravidla známá od vydání Windows 10, kdy oznámil nutnost podepsat nové drivery v Dev portálu. Dřívější instalace systému EV podpis driverů vyžadovat nebudou, nicméně pro zmíněný portál je EV certifikát potřeba stejně a Microsoft nerozlišuje, pro který operační systém budete drivery vydávat. Aby to bylo ještě komplikovanější, tak slibuje, že u driverů podepsaných certifikátem vydaným před 29.7.2015 nebude EV podpis nutný. Současné drivery tedy není podle Microsoft nutné znovu podepisovat.

Stručně řečeno všechny nové drivery musí být zveřejňovány přes Windows Hardware Developer Center Dashboard portal a ovladače musí být před nahráním do portálu podepsány EV certifikátem.

Oznámení o vynucování EV podpisu najdete na Windows Hardware Certification blogu. Pro kompletní vysvětlení problematiky doporučuji též navštívit FAQ určené pro podepisování certifikátů. Užitečné je i přečtení Driver Signing Policy.

Proč Microsoft požaduje EV podpis?

Požadavky na podpis kódu byly zvýšeny kvůli bezpečnosti samotných vývojářů a uživatelů systému Windows. V běžné praxi jsou Code Signing certifikáty uloženy v systému i s privátním klíčem, v horším případě někde na ploše ve formátu PFX. Krádež takto uloženého certifikátu je poměrně snadná a útočník pak může podepisovat jakýkoliv svůj kód jménem okradené firmy.

Certifikát s rozšířeným ověřením je oproti tomu uložen na tokenu, kde je i jeho privátní klíč. Při použití certifikátu je v obslužné aplikaci nutné pokaždé zadat heslo. To je možné opakovat jen několikrát, takže případný útočník ho slovníkovým útokem neprolomí. Bezpečnost použití je pro vlastníka certifikátu na daleko vyšší úrovni než v případě běžného Code Signing certifikátu.

Pro majitele EV Code Signing certifikátu je kromě bezpečnosti a kompatibility s výše zmíněnými požadavky výhoda i v naprosté důvěryhodnosti podepsané aplikace ve Windows SmartScreen filteru. Ten často blokuje i aplikace podepsané běžným (či čerstvě obnoveným) Code Signing certifikátem, což je pro vývojáře velice nepříjemné. Spuštění je ve Windows zablokováno a uživatel je upozorněn na potencionálně škodlivou aplikaci.

SmartScreen ve Windows blokuje spuštění aplikace

Důvěryhodnost aplikací ve SmartScreen se odvíjí od vlastního pochybného hodnocení důvěryhodnosti Microsoftem, nikoliv od reputace použité certifikační autority. Mnoha vývojářům tak SmartScreen způsobuje bolesti hlavy, kterým se však s EV certifikátem mohou vyhnout.

Kde získat EV Code Signing certifikát?

EV certifikát pro podpis kódu získáte na SSLmarket.cz. Byť je token pro certifikát poslán ze Symantecu kurýrem, tak je doba dodání okolo přijatelných 10 dní. Poté si na dodaný token sami stáhnete EV certifikát a můžete začít podepisovat aplikace a drivery. 

EV Code Signing certifikát v naší nabídce je vystaven přímo Symantecem, tedy největší CA na světě. Nemusíte mít obavy o jeho důvěryhodnost a odpadnou vám starosti se SmartScreen filtrem.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz