⚡ Windows Hardware Compatibility Program

SBOM-vereisten voor Windows-drivers bij WHCP-indieningen

Vanaf de Windows-release van 2027 ondertekent Microsoft geen driver meer zonder een SPDX 3-SBOM voor elk driverpakket. lynkctl genereert die direct uit je MSBuild- en WDK-build.

Vertrouwd door gereguleerde productteams ter voorbereiding op

WHCP
WHCP

Vertrouwd door gereguleerde productteams ter voorbereiding op

WHCP
WHCP

Vertrouwd door gereguleerde productteams ter voorbereiding op

WHCP
WHCP

IN HET KORT

Vanaf de Windows-client- en -serverrelease van 2027 ondertekent Microsoft geen driver via het Hardware Dev Center (HDC), tenzij elk driverpakket een geldige SPDX 3-SBOM bevat.

Elk pakket krijgt een eigen SBOM, genoemd naar het INF-bestand, met elke component inclusief SHA-512-hash, licentie en afhankelijkheden. Zonder SBOM maakt HLK het indieningspakket niet aan. Ontbreekt de SBOM of slaagt die niet voor de validatie, dan ondertekent HDC niet.

Microsoft voegt begin 2027 een eigen SBOM-tool toe aan de WDK. Daar hoef je niet op te wachten. Elke generator die een conform SPDX 3-bestand maakt, wordt geaccepteerd.

Vanaf de Windows-client- en -serverrelease van 2027 ondertekent Microsoft geen driver via het Hardware Dev Center (HDC), tenzij elk driverpakket een geldige SPDX 3-SBOM bevat.

Elk pakket krijgt een eigen SBOM, genoemd naar het INF-bestand, met elke component inclusief SHA-512-hash, licentie en afhankelijkheden. Zonder SBOM maakt HLK het indieningspakket niet aan. Ontbreekt de SBOM of slaagt die niet voor de validatie, dan ondertekent HDC niet.

Microsoft voegt begin 2027 een eigen SBOM-tool toe aan de WDK. Daar hoef je niet op te wachten. Elke generator die een conform SPDX 3-bestand maakt, wordt geaccepteerd.

OVERZICHT

OVERZICHT

OVERZICHT

Wat is de WHCP-SBOM-vereiste voor drivers?

Wat is de WHCP-SBOM-vereiste voor drivers?

Via het Windows Hardware Compatibility Program (WHCP) laten hardwarepartners hun drivers door Microsoft ondertekenen. Vanaf de Windows-client- en -serverrelease van 2027 moet elke betrokken driverindiening een Software Bill of Materials bevatten: een lijst van wat er in het driverpakket zit, met bestandshashes en licenties. De veldenlijst van Microsoft komt uit de Duitse richtlijn BSI TR-03183-2, die veel fabrikanten al gebruiken voor de EU Cyber Resilience Act.

Via het Windows Hardware Compatibility Program (WHCP) laten hardwarepartners hun drivers door Microsoft ondertekenen. Vanaf de Windows-client- en -serverrelease van 2027 moet elke betrokken driverindiening een Software Bill of Materials bevatten: een lijst van wat er in het driverpakket zit, met bestandshashes en licenties. De veldenlijst van Microsoft komt uit de Duitse richtlijn BSI TR-03183-2, die veel fabrikanten al gebruiken voor de EU Cyber Resilience Act.

SPDX 3

Het enige geaccepteerde SBOM-formaat

1 per pakket

Eén SBOM per INF-bestand en de bijbehorende binaries

Eén SBOM per INF-bestand en de bijbehorende binaries

SHA-512

Hash verplicht voor elke component

Hash verplicht voor elke component

2027

Eerste Windows-release waarvoor het geldt

Eerste Windows-release waarvoor het geldt

TIJDLIJN

TIJDLIJN

TIJDLIJN

WHCP-SBOM-tijdlijn en belangrijke data

WHCP-SBOM-tijdlijn en belangrijke data

Datum

Mijlpaal

Wat dit betekent

September 2026

Eerste aankondiging

Microsoft kondigt aan dat WHCP-driverindieningen een SBOM en een VEX-verklaring nodig hebben. Vervangen door het bericht van oktober.

21 oktober 2026

Vereisten herzien

Microsoft legt het formaat vast op SPDX 3.0.1 en koppelt de reikwijdte aan de Windows-release van 2027. VEX maakt geen deel meer uit van de indiening.

Begin 2027

SBOM-tool van Microsoft in de WDK

De generator van Microsoft komt in de Windows Driver Kit. Andere tools blijven toegestaan.

Windows-release 2027 (RTM)

Handhaving begint

HLK en HDC gaan betrokken indieningen controleren. Microsoft maakt de definitieve datum nog bekend.

TOEPASSINGSGEBIED

TOEPASSINGSGEBIED

TOEPASSINGSGEBIED

Voor wie geldt de WHCP-SBOM-vereiste?

Voor wie geldt de WHCP-SBOM-vereiste?

Ze geldt voor betrokken driverpakketten die via HDC worden ingediend voor de Windows-client- of -serverrelease van 2027 of later. In de praktijk gaat het om IHV's, OEM's, ODM's en iedereen die een ondertekende driver voor zijn hardware levert.

De aankondiging van Microsoft noemt drie rollen.

Ze geldt voor betrokken driverpakketten die via HDC worden ingediend voor de Windows-client- of -serverrelease van 2027 of later. In de praktijk gaat het om IHV's, OEM's, ODM's en iedereen die een ondertekende driver voor zijn hardware levert.

De aankondiging van Microsoft noemt drie rollen.

Ontwikkelaars

Teams die het driverpakket en de binaries bouwen, inclusief code van chipleveranciers en andere toeleveranciers.

Ondertekenaars

Partners die de driver via WHCP laten ondertekenen, via HLK-certificering of via attestatie.

Indieners

Iedereen die namens een bedrijf driverpakketten uploadt naar het Hardware Dev Center.

Let op: oudere doelversies vallen buiten de reikwijdte. Een driver voor Windows 25H2, 24H2 of Windows 10 heeft geen SBOM nodig, ook niet als je hem indient nadat de handhaving is begonnen.

VERPLICHTE VELDEN

VERPLICHTE VELDEN

VERPLICHTE VELDEN

Verplichte SBOM-velden

Verplichte SBOM-velden

Over de SBOM

Over de SBOM

E-mailadres of URL van de maker en een aanmaaktijdstempel.

E-mailadres of URL van de maker en een aanmaaktijdstempel.

E-mailadres of URL van de maker en een aanmaaktijdstempel.

Elke component

Elke component

Maker, naam, versie, bestandsnaam, licentie als SPDX-identifier, SHA-512-hash en of het een uitvoerbaar bestand, archief of gestructureerd bestand is.

Maker, naam, versie, bestandsnaam, licentie als SPDX-identifier, SHA-512-hash en of het een uitvoerbaar bestand, archief of gestructureerd bestand is.

Maker, naam, versie, bestandsnaam, licentie als SPDX-identifier, SHA-512-hash en of het een uitvoerbaar bestand, archief of gestructureerd bestand is.

Relaties en diepte

Relaties en diepte

Directe afhankelijkheden of ingesloten componenten, plus een volledigheidsstatus. Elk pad wordt minstens opgelost tot de eerste component die je niet zelf levert.

Directe afhankelijkheden of ingesloten componenten, plus een volledigheidsstatus. Elk pad wordt minstens opgelost tot de eerste component die je niet zelf levert.

Directe afhankelijkheden of ingesloten componenten, plus een volledigheidsstatus. Elk pad wordt minstens opgelost tot de eerste component die je niet zelf levert.

Indien beschikbaar

Indien beschikbaar

SBOM-URI, broncode-URI, PURL of CPE en oorspronkelijke licenties. Een nieuwe SBOM voor elke versie.

SBOM-URI, broncode-URI, PURL of CPE en oorspronkelijke licenties. Een nieuwe SBOM voor elke versie.

SBOM-URI, broncode-URI, PURL of CPE en oorspronkelijke licenties. Een nieuwe SBOM voor elke versie.

HET LASTIGE DEEL

HET LASTIGE DEEL

HET LASTIGE DEEL

Waarom zijn driver-SBOM's moeilijk te genereren?

Waarom zijn driver-SBOM's moeilijk te genereren?

De meeste SBOM-generatoren lezen eerst een pakketmanifest. Een Windows-driver heeft dat meestal niet. Het is C of C++, gebouwd met MSBuild en de WDK, vaak met broncode uit de SDK van een chipleverancier en statische bibliotheken die tijdens de build worden gelinkt.

De meeste SBOM-generatoren lezen eerst een pakketmanifest. Een Windows-driver heeft dat meestal niet. Het is C of C++, gebouwd met MSBuild en de WDK, vaak met broncode uit de SDK van een chipleverancier en statische bibliotheken die tijdens de build worden gelinkt.

☑️ Geen package manager, dus de afhankelijkheden moeten uit de build zelf komen
☑️ Overgenomen en aangepaste broncode zonder versie-informatie
☑️ Statische bibliotheken die geen spoor achterlaten in de imports van de uiteindelijke binary
☑️ Een SHA-512-hash voor elk bestand dat echt wordt geleverd
☑️ Licenties als SPDX-identifiers, niet als vrije tekst
☑️ Een aparte SBOM voor elk INF-bestand in een indiening met meerdere drivers

  • ☑️ Geen package manager, dus de afhankelijkheden moeten uit de build zelf komen
    ☑️ Overgenomen en aangepaste broncode zonder versie-informatie
    ☑️ Statische bibliotheken die geen spoor achterlaten in de imports van de uiteindelijke binary
    ☑️ Een SHA-512-hash voor elk bestand dat echt wordt geleverd
    ☑️ Licenties als SPDX-identifiers, niet als vrije tekst
    ☑️ Een aparte SBOM voor elk INF-bestand in een indiening met meerdere drivers

{
"@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
"@graph": [
{
"type": "software_File",
"spdxId": "urn:contoso:file:contoso.sys",
"creationInfo": "_:creationinfo",
"name": "contoso.sys",
"software_primaryPurpose": "executable",
"verifiedUsing": [{
"type": "Hash",
"algorithm": "sha512",
"hashValue": "9f2c4e…"
}]
},
…
]
}

Pakketscanners voor npm- of PyPI-projecten missen het meeste hiervan. Wil een driver-SBOM door de HDC-validatie komen, dan moet hij uit de build zelf worden gegenereerd.

Pakketscanners voor npm- of PyPI-projecten missen het meeste hiervan. Wil een driver-SBOM door de HDC-validatie komen, dan moet hij uit de build zelf worden gegenereerd.

CONTROLE BIJ INDIENING

CONTROLE BIJ INDIENING

CONTROLE BIJ INDIENING

Wat controleren HLK en HDC?

Wat controleren HLK en HDC?

Je SBOM wordt twee keer gecontroleerd. Het Hardware Lab Kit (HLK) zoekt ernaar wanneer je een indiening verpakt. Daarna valideert het Hardware Dev Center (HDC) hem vóór het ondertekenen tegen het schema en de verplichte velden van Microsoft.

Je SBOM wordt twee keer gecontroleerd. Het Hardware Lab Kit (HLK) zoekt ernaar wanneer je een indiening verpakt. Daarna valideert het Hardware Dev Center (HDC) hem vóór het ondertekenen tegen het schema en de verplichte velden van Microsoft.

1 per INF

Eén SBOM per driverpakket, nooit één voor de hele indiening

.spdx.json

Genoemd naar het INF-bestand: <inf_name>.spdx.json

Genoemd naar het INF-bestand

HLK

Blokkeert het verpakken als de SBOM ontbreekt

HDC

Weigert te ondertekenen als die ontbreekt of ongeldig is

DOEL

BINNEN REIKWIJDTE

WAAROM

Windows-client- of -serverrelease van 2027 en later

Ja

Binnen reikwijdte: Ja

De vereiste is voor deze releases geschreven

Windows 11 25H2, 24H2 en Windows 10

Nee

Binnen reikwijdte: Nee

Oudere doelen vallen er niet onder, ook niet bij indiening na de start van de handhaving

Indiening met meerdere drivers

Ja, per pakket

Binnen reikwijdte: Ja, per pakket

Elk driverpakket heeft een eigen SBOM nodig

GOED OM TE WETEN

  • Zet de SBOM op de plek die HLK of HDC aangeeft, niet in de map voor aanvullende documenten.

  • Kwetsbaarheids- en exploiteerbaarheidsgegevens horen niet in de SBOM. Microsoft wil die apart ontvangen, bijvoorbeeld als CSAF of VEX.

  • Het ondertekenen van de SBOM wordt aanbevolen, maar is niet verplicht.

  • Microsoft gebruikt de SBOM alleen intern. Hij wordt niet aan eindgebruikers geleverd.

  • Elke conforme generator is toegestaan. Je hoeft niet op de WDK-tool te wachten.

  • Zet de SBOM op de plek die HLK of HDC aangeeft, niet in de map voor aanvullende documenten.

  • Kwetsbaarheids- en exploiteerbaarheidsgegevens horen niet in de SBOM. Microsoft wil die apart ontvangen, bijvoorbeeld als CSAF of VEX.

  • Het ondertekenen van de SBOM wordt aanbevolen, maar is niet verplicht.

  • Microsoft gebruikt de SBOM alleen intern. Hij wordt niet aan eindgebruikers geleverd.

  • Elke conforme generator is toegestaan. Je hoeft niet op de WDK-tool te wachten.

VERDER DAN HET MINIMUM

Is slagen voor de HDC-validatie genoeg?

Is slagen voor de HDC-validatie genoeg?

SLAAGT VOOR HDC

HOUDT STAND

Diepte

Tot de eerste component buiten je levering

Slaagt voor HDC: Tot de eerste component buiten je levering

✓ Volledige, transitieve afhankelijkhedenboom

Actualiteit

Per indiening gegenereerd

Slaagt voor HDC: Per indiening gegenereerd

✓ Bij elke build opnieuw gegenereerd

Kwetsbaarheidsgegevens

Buiten de SBOM gehouden

Slaagt voor HDC: Buiten de SBOM gehouden

✓ Bewaakt op nieuwe CVE's, met VEX

Hergebruik

Alleen voor WHCP

Slaagt voor HDC: Alleen voor WHCP

✓ Dezelfde SBOM dient ook voor de technische documentatie onder de CRA

PLATFORM

PLATFORM

PLATFORM

Zo helpt Interlynk

Zo helpt Interlynk

lynkctl bouwt de SBOM uit je MSBuild- en WDK-projecten. Het Interlynk-platform slaat hem op en blijft de componenten volgen nadat de driver is uitgebracht.

lynkctl bouwt de SBOM uit je MSBuild- en WDK-projecten. Het Interlynk-platform slaat hem op en blijft de componenten volgen nadat de driver is uitgebracht.

01

SPDX 3 uit de build

lynkctl leest je MSBuild- en WDK-projecten rechtstreeks, zodat overgenomen code en statische bibliotheken in de SBOM terechtkomen.

02

SBOM per pakket

lynkctl splitst de uitvoer per INF-bestand en noemt die <inf_name>.spdx.json, zoals WHCP vereist.

03

Air-gapped

lynkctl werkt volledig offline, dus buildmachines hebben geen externe toegang nodig om de SBOM te maken.

04

Aparte VEX

Het platform bewaakt elke component op nieuwe CVE's en houdt VEX gescheiden van de SBOM, zoals Microsoft vereist.

FAQ

FAQ

FAQ

Veelgestelde vragen

Veelgestelde vragen

Hebben Windows-drivers een SBOM nodig?

Ja, als de driver bedoeld is voor de Windows-client- of -serverrelease van 2027 of later. Elk betrokken pakket dat je via HDC indient voor WHCP-ondertekening, heeft een geldige SPDX 3-SBOM nodig.

Wanneer gaat de WHCP-SBOM-vereiste in?

Welk SBOM-formaat vereist Microsoft voor drivers?

Kan één SBOM een indiening met meerdere drivers dekken?

Moet ik nog een VEX-verklaring indienen?

Moet ik de WDK-tool van Microsoft gebruiken?

Geldt de vereiste ook voor drivers voor Windows 11 24H2 of Windows 10?

Hoe verhoudt de WHCP-SBOM zich tot de EU Cyber Resilience Act?

Vertrouwd door beveiligings- en complianceteams bij meer dan 100 gereguleerde bedrijven

Maak je drivers klaar voor WHCP

Maak je drivers klaar voor WHCP

Maak voor elk driverpakket een SPDX 3-SBOM uit je bestaande MSBuild- en WDK-setup, ruim voordat HDC gaat controleren.