Windows-releaseartefacten ondertekenen (Authenticode) #1013
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1013
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Voortgekomen uit de ENISA Secure-by-Design-afbeelding (
assurance/enisa-sbd-mapping.md, open punt O1 — playbook 14, "release artefacts signed"). Eén issue per onbehandeld platform; dit is Windows.Stand nu
Artefactondertekening is asymmetrisch:
scripts/notarize_macos.sh,make notarize-macos).SHA256SUMS— inSECURITY.mduitdrukkelijk "geen handtekening". SmartScreen waarschuwt daardoor bij uitvoeren.Doel
Authenticode-ondertekening van het Windows-artefact, zodat het herkomst heeft en SmartScreen niet meer waarschuwt.
Te wegen
Verwant
Onderdeel van de veilige-distributievraag #520.
Besluit: geen Authenticode-ondertekening — bewust aanvaard als grens. Na afweging van de drie routes (niets doen / OV-cert handmatig-lokaal / Azure Trusted Signing in CI) valt de keuze op aanvaarden en documenteren.
Waarom
Het kantelpunt zit in de drie "te wegen"-punten:
EV vs. OV. Sinds maart 2024 heeft Microsoft de aparte SmartScreen-status van EV geschrapt: EV én OV bouwen nu identiek reputatie op via downloadvolume. Een EV-certificaat kopen om SmartScreen meteen te laten zwijgen is niet meer zinvol (EV telt nog voor kernel-drivers/enterprise-inkoop — niet voor ons). En sinds juni 2023 moet elke private sleutel op hardware/HSM staan. Gevolg: geen enkel certtype laat SmartScreen direct zwijgen. Het doel "SmartScreen niet meer waarschuwt" is nu alleen geleidelijk en downloadvolume-afhankelijk haalbaar — bij een niche-tool traag. De baten van tekenen zijn daarmee veel kleiner dan het doel suggereerde.
Waar de sleutel woont. Elke betaalde route brengt óf jaarlijkse kosten + org-validatie + een hardware-token (OV, lokaal-handmatig), óf een clouddienst met credentials als secret in de release-runner (Azure Trusted Signing). Dat laatste botst frontaal met het least-privilege-uitgangspunt uit dit issue en brengt bovendien een cloudafhankelijkheid in de release-keten.
Kernwaarde "bouw uit de bron". Ondertekening is een toevoeging voor wie het binaire artefact gebruikt, geen vervanging van de bronroute — en de bronroute blijft de echte herkomstgarantie. Bij het huidige batenbeeld (geen directe SmartScreen-winst) wegen de terugkerende kosten en/of de afhankelijkheid daar niet tegenop.
Wat blijft gelden
Het Windows-artefact leunt op
SHA256SUMS, met een expliciete "More info → Run anyway"-uitleg. Dat staat al correct in.forgejo/release-body.md,docs/BUILD.md,docs/FAQ.mdendocs/KNOWN_LIMITATIONS.md— geen documentatiewijziging nodig.Heroverweging
Groeit het downloadvolume ooit, of wordt de SmartScreen-waarschuwing een reëel bezwaar, dan is Route B de aangewezen weg: een OV-certificaat op naam van Stichting LibreKAT, op een hardware-token, met een handmatige signeerstap — precies het model van de macOS-notarisatie (
scripts/notarize_macos.sh), zonder secret in enige runner. Azure Trusted Signing blijft afgeraden vanwege de cloudafhankelijkheid en het runner-secret.Relatie
assurance/enisa-sbd-mapping.md, playbook 14): de Windows-tak is hiermee "bewust aanvaard"; O1 als geheel blijft open zolang #1014 loopt.