Meteen naar de inhoud

webinar: Meld je aan voor ons aankomende webinar.

Aanmelden

Begrijpen hoe codeondertekening uw organisatie beïnvloedt

gebruik van een cryptografische hash

Het uitvoerbare bestand dat wordt geleverd, wordt digitaal ondertekend wanneer een ontwikkelaar zijn programma codeert. Gebruikers van het programma beschouwen de intacte handtekening als bewijs dat de code niet is gewijzigd tussen het moment van verzending en de installatie op het apparaat van de gebruiker. Deze handtekening fungeert als een soort 'lakzegel'. Codeondertekening houdt in dat digitale handtekeningen worden toegepast om bestanden te distribueren met behulp van codering met openbare sleutel

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.

Code ondertekening voorkomt dat dit scenario zich voordoet. Uw besturingssysteem voorkomt dat een programma wordt geïnstalleerd zonder eerst de aanwezigheid van een codeondertekeningscertificaat te verifiëren wanneer u het downloadt en installeert. De gebruiker wordt geïnformeerd als er op dit punt een certificaat van een vertrouwde leverancier ontbreekt, zodat hij of zij kan beslissen of hij of zij de installatie wil voortzetten.

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 encryptietechnieken die gebruikt kunnen worden voor encryptie en decryptie. Nadat het sleutelpaar is aangemaakt, wordt de publieke sleutel naar een Certificate Authority (CA), 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 bij het bewaren van sleutels, is het bewaren van de sleutels op een harde schijf, de pc van een ontwikkelaar of op servers. Deze fout kan aanvallers een ruime kans geven om uw privésleutels te bemachtigen en meerdere systemen te hacken. Zorg ervoor dat uw codeondertekeningssleutels altijd goed beveiligd zijn in cryptografische omgevingen, zoals een FIPS 140-2 level 3 hardwarebeveiligingsmodule, om dit gevaar te voorkomen (HSM). HSM's Zijn uiterst 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 zal hebben tot de codeondertekeningssleutels of deze op een onjuiste manier zal gebruiken.

  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

A Code ondertekening Een certificaat is essentieel voor het vertrouwen van de gebruiker en om ervoor te zorgen dat uw broncode intact is. Bovendien zorgt het ervoor dat uw applicatie niet kwetsbaar is voor cyberaanvallen. Toenemende cyberaanvallen en een enorme app-markt betekenen dat u voorbereid moet zijn op het gebied van beveiliging.