Digitale inhoud wordt voortdurend online verspreid. Elke dag downloaden we uitvoerbare scripts, applicaties en bestanden voor een verscheidenheid aan zakelijke en persoonlijke activiteiten. Zowel eindgebruikers als ontwikkelaars hebben een veilige manier nodig om te weten dat de software die wordt gedistribueerd betrouwbaar is en beveiligd tegen manipulatie.
Dit is waar code ondertekening komt binnen. De meeste computerplatforms, zoals Windows, hebben strikte regels over welke inhoud via hun kanalen kan worden gedistribueerd of op hun systemen kan worden uitgevoerd. Er zijn verschillende oplossingen voor softwareontwikkelaars om aan deze regels te voldoen en ervoor te zorgen dat de code die ze naar de wereld sturen niet wordt aangetast.
Ook integreert de moderne werkruimteomgeving werken op afstand, asynchrone samenwerking en een toenemende behoefte aan gedistribueerde opties voor het delen van teams. Een van de meest robuuste en handige oplossingen voor het ondertekenen van codes en documenten waarin deze moderne trends zijn verwerkt, is die van SSL.com eSigner cloud-ondertekeningsservice.
Benodigdheden voor het ondertekenen van codes
Code ondertekening is de procedure voor het toepassen van een digitale handtekening op een stuk software zoals een toepassing of een stuurprogramma. Deze handtekening heeft een dubbel doel, namelijk ervoor zorgen dat zowel de echtheid en integriteit van de code:
- Het levert cryptografisch bewijs van de identiteit van de ontwikkelaar (authenticiteit).
- Het zorgt ervoor dat er niet met de inhoud van de software is geknoeid vanaf het moment dat deze is gemaakt tot het moment dat deze wordt gebruikt (integriteit).
De geldigheid van het certificaat en de identiteit van de ondertekenaar wordt zelf bevestigd door de digitale handtekening van een gerenommeerde, publiekelijk vertrouwde certificeringsinstantie (CA), zoals SSL.com, waarmee een keten van vertrouwen naar het rootcertificaat van de CA in de trust store van het platform. Met deze vertrouwensketen kunnen besturingssystemen en eindgebruikers er zeker van zijn dat u een vertrouwde ontwikkelaar bent en dat het veilig is om uw software op hun systeem te installeren.
Het niet gebruiken van een code-ondertekeningscertificaat leidt tot waarschuwingsberichten en fouten wanneer een gebruiker uw software probeert te installeren, zoals "Windows kan de uitgever van deze stuurprogrammasoftware niet verifiëren". Niemand wil aan de ontvangende kant van een dergelijke situatie zijn, vooral een ontwikkelaar. In feite vereist naleving van een aantal platformstandaarden code-ondertekening; u kunt bijvoorbeeld helemaal geen Windows-stuurprogramma's voor de kernelmodus publiceren zonder een Certificaat voor ondertekenen van EV-code.
Bescherming tegen manipulatie
Digitale handtekeningen beschermen de integriteit van een bericht (in dit geval een stukje code) door: cryptografische hashfuncties. Dit zijn wiskundige algoritmen die gegevens toewijzen aan een bit-array van vooraf afgesproken grootte, genaamd a hash-waarde or berichtsamenvatting. Cryptografische hashfuncties zijn eenrichtingsfuncties en zelfs een kleine wijziging in het oorspronkelijke bericht resulteert in significante wijzigingen in de hashwaarde. Dus wanneer een gebruiker het bericht ontvangt met zijn hash-waarde opgenomen in de digitale handtekening, zal zijn besturingssysteem dezelfde hash-functie toepassen op het ontvangen bericht en de twee samenvattingen vergelijken. Als ze identiek zijn, kunnen ze erop vertrouwen dat het ontvangen bericht niet is te onderscheiden van het origineel. Zo niet, dan zal het systeem hen waarschuwen dat het bestand op de een of andere manier corrupt is.
Opties voor code-ondertekening
Er zijn een aantal technische opties voor het ondertekenen van codes, elk met zijn eigen voor- en nadelen wat betreft het geboden beveiligingsniveau, prijsstelling, toepasbaarheid en gebruiksgemak. Hieronder gaan we kijken naar deze opties en wat ze bieden.
Lokaal geïnstalleerde OV/IV-certificaten
De eerste en eenvoudigste optie is om een lokaal geïnstalleerde organisatie te laten valideren (OV) of individueel gevalideerd (IV) certificaat voor codeondertekening en privésleutel op uw machine. Dit soort certificaten wordt gedistribueerd door SSL.com in de PKCS#12/PFX-bestandsindeling en kan worden geïnstalleerd in het certificaatarchief van uw computer of op sommige cloudservices zoals Azure Key Vault. Voor meer informatie over het bestellen van OV/IV code-ondertekeningscertificaten van SSL.com, lees a.u.b deze how-to.
Het voordeel van dit type code-ondertekening is de relatief eenvoudige implementatie en het is ook de goedkoopste van de beschikbare opties. Het biedt echter niet het beveiligingsniveau van een USB-token, HSM of cloud-ondertekeningsservice (zie hieronder), en dit type installatie is niet acceptabel voor Extended Validation (EV)-codeondertekening. Dit laatste stukje informatie is vooral belangrijk omdat sommige toepassingen (met name Windows 10-stuurprogramma's ondertekenen) een EV-certificaat vereisen.
USB-tokens
Een veiligere optie voor het ondertekenen van code is het gebruik van een Hardware Security Module (HSM) met een fysieke vorm. De meest gebruikte HSM voor het ondertekenen van codes is een USB-token, zoals deFIPS 140-2 gevalideerde beveiligingssleutel USB-tokens SSL.com gebruikt om EV-certificaten voor het ondertekenen van codes te distribueren. Dit token is verantwoordelijk voor het opslaan van de certificaten en sleutels van een gebruiker en is ook veilig tegen manipulatie en sleutelcompromis, dankzij de hardware-architectuur en de verpakking. De USB-token wordt gebruikt als een sleutel die fysiek in een computer moet worden gestoken om een stukje software digitaal te ondertekenen. Het token vereist bovendien een pincode om toegang te krijgen voor extra veiligheid.
Deze methode is momenteel de meest gebruikelijke voor EV-codecertificaten, omdat deze een hoge mate van beveiliging biedt en gemakkelijk door gebruikers kan worden geïmplementeerd. Deze kleine hardware-tokens zijn ook gemakkelijk draagbaar en je kunt overal ondertekenen.
Deze methode heeft echter zijn tekortkomingen. Allereerst kan het voor een organisatie behoorlijk duur zijn om deze tokens aan te schaffen en te vervangen. Vooral in de huidige externe werkomgeving kan het distribueren en verzorgen van hardwaretokens een behoorlijke logistieke uitdaging zijn voor een IT-afdeling, die zowel financiële als personele middelen kost. Bovendien kunnen deze tokens worden gestolen of verloren gaan, waardoor er gaten in de beveiliging ontstaan met een mogelijk hoog risico op compromittering, samen met de hoge vervangingskosten. Ten slotte zijn ze onhandig in vergelijking met cloudgebaseerde opties voor delen tussen ontwikkelaars.
Genetwerkte HSM
Als we nog een stap verder gaan, is een andere optie het gebruik van a genetwerkte HSM in de cloud om certificaten en sleutels voor het ondertekenen van code te hosten. Voorbeelden van dergelijke opties zijn: cloud-diensten zoals Azure, AWS en Google Cloud. In dit geval bevindt de HSM zich in de cloud in plaats van in de zak van de ontwikkelaar.
Deze methode biedt beveiligingsstandaarden van hetzelfde hoge niveau als de fysieke apparaten, aangezien de privésleutels niet kunnen worden geëxporteerd vanuit de HSM en voor toegang tot digitale ondertekening gebruikersauthenticatie met de bovengenoemde services is vereist. De digitale handtekening kan overal worden toegepast en EV-codeondertekening is beschikbaar met deze optie. Deze methode is ook eenvoudig schaalbaar om nieuwe leden van een organisatie op te nemen en/of digitale certificaten te vervangen in geval van verloren inloggegevens.
Aan de andere kant kan het implementeren van deze methode extra kosten en expertise vereisen, omdat het een bepaald niveau van bekendheid met de technologie vereist. Lees dit voor meer informatie gids voor de verschillende manieren waarop SSL.com cloud HSM-services ondersteunt.
eSigner: Codeondertekening in de cloud als een service
Ten slotte is het een moderne en zeer handige benadering om code-ondertekening als een service te gebruiken. SSL.com's eSigner cloud-ondertekeningsservice is een voorbeeld van deze benadering van code-ondertekening.
Met eSigner behandelt SSL.com zowel de openbare sleutelinfrastructuur (PKI) en HSM's voor het ondertekenen van codes. De niet-exporteerbare ondertekeningssleutels worden opgeslagen in de HSM's van eSigner, waar noch de klant, noch SSL.com ze kunnen bekijken. Op deze manier is de beveiligingsstandaard even hoog als bij tokens en cloud HSM's, maar hoeft de klant er niet direct mee om te gaan.
eSigner gebruikt OAUTH TOTP voor veilige tweefactorauthenticatie, waardoor code-ondertekening mogelijk is vanaf elk apparaat met internetverbinding, ongeacht de locatie. eSigner ondersteunt EV-codeondertekening, zodat ontwikkelaars het kunnen gebruiken om Windows 10-stuurprogramma's voor de kernelmodus te ondertekenen.
eSigner maakt ook certificaten voor code-ondertekening delen tussen teamgenoten gemakkelijk en veilig. Door het SSL.com-dashboard te gebruiken, is het gemakkelijk om een certificaat voor codeondertekening te delen en heeft elk lid zijn eigen pincode. Met deze functie van eSigner kunnen wereldwijd verspreide teams snel en asynchroon werken, zonder de beveiliging van de organisatie in gevaar te brengen. Raadpleeg deze voor meer informatie over deze optie hoe.
eSigner-opties
De eSigner-omgeving omvat een aantal ondertekeningsopties voor ondernemingen om tegemoet te komen aan de behoeften van een verscheidenheid aan klanten, van individuele ontwikkelaars tot complexe organisaties.
- eSigner Express: Zoals de naam al aangeeft, is deze optie handig voor die momenten dat een bestand snel en gemakkelijk op afstand moet worden ondertekend. eSigner Express is een webgebaseerde GUI-app en maakt het ondertekenen van code extreem En het is heel gemakkelijk door het slepen en neerzetten van codebestanden.
- CodeSignTool: CodeSignTool is een opdrachtregelprogramma voor EV-code ondertekenen certificaten die op verschillende platforms kunnen worden gebruikt, waaronder Windows, macOS en Linux. Het is vooral handig voor het ondertekenen van gevoelige bestanden, omdat alleen de hashes van de bestanden voor ondertekening naar SSL.com worden verzonden, in plaats van de code zelf. CodeSignTool is ook ideaal voor het maken van geautomatiseerde processen, zoals de ondertekening van meerdere bestanden in batches of pijplijnworkflows voor continue integratie/continue levering (CI/CD). Raadpleeg deze voor meer informatie over het gebruik van CodeSignTool: gids.
- API's: De zakelijke klanten van SSL.com hebben toegang tot hetzelfde Cloud Signing Consortium (CSC) en Code Signing API's die eSigner Express en CodeSignTool aandrijven voor de ontwikkeling van hun eigen front-end apps voor het ondertekenen van code.
Conclusie
Het ondertekenen van EV-codes is voor veel ontwikkelaars een noodzaak geworden. Met de huidige toegenomen afhankelijkheid van werken op afstand en asynchrone samenwerking, is een snelle, betrouwbare en veilige tool voor het op afstand ondertekenen van EV-codes, waarbij ook de nadruk wordt gelegd op het delen van teams, een essentiële aanvulling op het arsenaal van elke ontwikkelaar en software-uitgever. eSigner vervult deze behoeften op de meest handige, veelzijdige, schaalbare en krachtige manier, terwijl het voldoet aan de hoogste beveiligingsnormen van de branche.
Hoe kan ik eSigner proberen?
eSigner is momenteel beschikbaar voor alle klanten van SSL.com EV-codeondertekening en documentondertekening als een abonnementsservice met serviceniveaus om organisaties en ondernemingen van elke omvang te ondersteunen. Controleer de hoofdpagina eSigner voor prijsdetails. Voor veel meer informatie over het ondertekenen van cloudcodes met eSigner, bekijk deze SSL.com-handleidingen en -instructies, of gebruik het onderstaande informatieformulier om contact op te nemen met het zakelijke verkoopteam van SSL.com.
Handleidingen en procedures voor het ondertekenen van eSigner-codes
- EV-codeondertekening op afstand met eSigner
- eSigner CodeSignTool-opdrachtgids
- Teamdeling voor eSigner-documenten en EV Code Signing-certificaten
Aanvraagformulier voor eSigner-informatie