Meteen naar de inhoud

Certificaten voor 47 dagen komen eraan. Ben je er klaar voor?

Handel nu →

Begrijpen hoe codeondertekening uw organisatie beïnvloedt

gebruik van een cryptografische hash

Het uitvoerbare bestand dat wordt geleverd, is digitaal ondertekend wanneer een ontwikkelaar zijn programma codeondertekent. Gebruikers van het programma beschouwen de intacte handtekening als bewijs dat de code niet is gewijzigd tussen het moment van verzending en het moment van installatie op het apparaat van de gebruiker. Deze handtekening functioneert als een soort "zegel". Codeondertekening houdt in dat digitale handtekeningen worden toegepast om bestanden te distribueren met behulp van publieke sleutelversleuteling.

Noodzaak van codeondertekening

Tegenwoordig is internet het belangrijkste middel om software te verspreiden, te raadplegen en te gebruiken – bijna elke applicatie op uw computer is waarschijnlijk online gedownload. Het wijdverbreide gebruik van deze media heeft ook het risico op criminele activiteiten vergroot.

Hackers en internetcriminelen kunnen bijvoorbeeld de broncode van het uitvoerbare bestand stelen, er malware aan toevoegen en de software vervolgens online toegankelijk maken voor ontdekking en distributie. Uiteraard infecteert de malware elke gebruiker die dit bestand downloadt en installeert.

Codeondertekening voorkomt dit scenario. Uw besturingssysteem voorkomt dat de installatie van een programma verdergaat zonder eerst te controleren of er een codeondertekeningscertificaat aanwezig is tijdens het downloaden en installeren. De gebruiker wordt op de hoogte gesteld als er op dat moment geen certificaat van een vertrouwde leverancier aanwezig is, waarna hij of zij kan besluiten of de installatie moet worden voortgezet.

Werking van codeondertekening

  1. Voor ontwikkelaar

    De maker moet eerst een speciale privésleutel aanmaken die gebruikt kan worden om de gegevens te versleutelen. Volgens de theorie achter publieke sleutelcryptografie is een privé-publiek sleutelpaar een verzameling versleutelingstechnieken die gebruikt kunnen worden voor versleuteling en ontsleuteling. Nadat het sleutelpaar is aangemaakt, wordt de publieke sleutel naar een certificeringsinstantie (CA) gestuurd, een gerenommeerde organisatie die certificaten uitgeeft.

    De CA bevestigt de legitimiteit van de ontwikkelaar voordat deze zijn/haar publieke sleutel aan een digitaal ondertekend certificaat koppelt. Dit is het bewijs van de ontwikkelaar dat hij/zij de rechtmatige eigenaar van de sleutel is. De ontwikkelaar die het certificaat heeft aangevraagd, ontvangt de publieke sleutel en het certificaat terug van de CA.

    digitaal ondertekend certificaat
  2. Voor Consument:

    Voordat een programma wordt geïnstalleerd, zijn de meeste consumentenbesturingssystemen ingesteld om te controleren op de aanwezigheid van een code-signingcertificaat. Wanneer een installatie wordt aangevraagd, controleert het besturingssysteem eerst de geldigheid van het certificaat voordat het de digest decodeert met een openbare sleutel van de CA.

Wijzigingen aangebracht voor softwareontwikkeling

Een item (document, bestand, script, bibliotheek, enz.) dat tijdens het softwareontwikkelingsproces wordt gebruikt, wordt een tussenliggend artefact genoemd. Deze artefacten moeten gedurende de gehele ontwikkelingscyclus worden ondertekend om te voorkomen dat ze door anderen dan de geautoriseerde maker worden gewijzigd.

Ontwikkelaars kunnen een bestand of script in hun ontwikkelomgeving wijzigen, code ondertekenen en het ondertekende artefact vervolgens in hun repository bewaren voor toekomstig gebruik. De codehandtekening van deze tussenliggende artefacten helpt hackers te voorkomen dat ze ongewenste componenten introduceren tijdens het bouwproces. Er worden veel verschillende componenten gebruikt in hedendaagse softwareontwikkelingsbenaderingen.

Een ernstige inbreuk kan optreden als malware een van deze componenten infiltreert. Het is essentieel dat uw softwareontwikkelingsteams hier rekening mee houden. Uw softwareontwikkelingsteams moeten alle tussenliggende artefacten die ze gebruiken om software te creëren, voorzien van een codehandtekening.

Voordelen van codeondertekening

  • Helpt de identiteit van de ontwikkelaar te verifiëren en bevordert zo het vertrouwen aan beide kanten van de transactie.
  • Levert bewijs dat er niet met de software is geknoeid en dat deze op de bedoelde manier wordt gebruikt.
  • Hierdoor kunnen ontwikkelaars hun werk op meer platforms distribueren, aangezien grote platforms codeondertekening verplicht stellen vóór publicatie.

Oplossing voor codeondertekening voor bedrijven

Ontvang één oplossing voor al uw cryptografische behoeften op het gebied van softwarecodeondertekening met onze codeondertekeningsoplossing.

Best practices voor codeondertekening

  1. Voer code-integriteitscontroles uit

    Alle code die ontwikkelaars inchecken, moet digitaal worden ondertekend met hun ondertekeningssleutel. Om ervoor te zorgen dat de uiteindelijke gepubliceerde code ongewijzigd is, moeten alle handtekeningen van ontwikkelaars worden gecontroleerd. De definitieve build moet worden ondertekend en vrijgegeven zodra al deze controles zijn voltooid. Een cruciale stap die ervoor zorgt dat de software-update vrij is van manipulatie en veilig is voor gebruik door uw klanten, is het verifiëren van de integriteit van de broncode.

  2. Bewaar sleutels op een zeer veilige locatie

    Een van de grootste fouten die bedrijven maken als het gaat om sleutelbeheer, is het bewaren van de sleutels op een harde schijf, de persoonlijke computer van een ontwikkelaar of op servers. Deze fout biedt aanvallers een ruime kans om uw privésleutels te bemachtigen en diverse systemen te compromitteren. Bewaar uw codeondertekeningssleutels daarom altijd in zeer veilige cryptografische omgevingen, zoals een FIPS 140-2 niveau 3 hardwarebeveiligingsmodule (HSM), om dit gevaar te voorkomen. HSM's zijn buitengewoon moeilijk te kraken omdat ze bestand zijn tegen manipulatie. U kunt er zeker van zijn dat er nooit privésleutels worden geëxporteerd en dat niemand anders ooit toegang krijgt tot de codeondertekeningssleutels of deze op oneigenlijke wijze gebruikt.

  3. Draai toetsen

    Soms gebruiken organisaties dezelfde sleutel om releases voor verschillende productlijnen en bedrijven te ondertekenen. Dit is absoluut geen goed idee. Alle releases die u met de codeondertekeningssleutel hebt ondertekend, lopen het risico gehackt te worden. In plaats daarvan is het verstandig om uw sleutels regelmatig te wisselen. Gebruik daarnaast aparte en onafhankelijke sleutels om verschillende releases binnen DevOps-teams te ondertekenen.

Conclusie

Een codeondertekeningscertificaat is essentieel voor het vertrouwen van de gebruiker en om te garanderen dat uw broncode intact is. Bovendien zorgt het ervoor dat uw applicatie niet kwetsbaar is voor cyberaanvallen. De toenemende cyberaanvallen en de enorme app-markt betekenen dat u op het gebied van beveiliging goed voorbereid moet zijn.