In een tijd waarin de beveiliging van data en gebruikers op internet zo belangrijk is, worden digitale certificaten voor diverse doeleinden gebruikt. Digitale certificaten worden ingezet voor authenticatie, beveiligde internetverbindingen, codeondertekening en meer. Hierdoor kunnen data die onderweg is of data die is opgeslagen, worden beschermd tegen aanvallen van buitenaf. Er bestaan ​​verschillende soorten certificaten, maar vandaag kijken we naar zelfondertekende certificaten . De eerste vraag die we moeten beantwoorden is: wat is een zelfondertekend certificaat precies?
Wat is een zelfondertekend certificaat?
Afhankelijk van waarvoor het certificaat wordt gebruikt, is een zelfondertekend certificaat een certificaat dat is ondertekend door dezelfde gebruiker of hetzelfde apparaat dat dat certificaat gebruikt. Dit werkt voor code die wordt ondertekend voor intern gebruik, of voor een applicatie die door de maker wordt gebruikt, maar niet voor software die door externe gebruikers wordt gebruikt. Als een applicatie of software naar externe klanten wordt verzonden, moet een ander type certificaat worden gebruikt. De reden hiervoor is dat een zelfondertekend certificaat niet kan worden geverifieerd wanneer een externe gebruiker de software probeert te gebruiken die aan dat certificaat is gekoppeld.
Wanneer een gebruiker een applicatie of softwareprogramma uitvoert, wordt het certificaat dat de code heeft ondertekend, geverifieerd door het besturingssysteem. U hebt waarschijnlijk wel eens een pop-up gezien wanneer een nieuwe software of applicatie wordt gedownload en uitgevoerd op uw computer. Deze pop-up controleert de identiteit van de uitgever van het certificaat dat aan de software is gekoppeld. Daarnaast wordt het certificeringspad in het certificaat gecontroleerd. Al deze gegevens worden gecontroleerd om de uitgever van de software te verifiëren. Als de identiteit van de uitgever niet correct kan worden geverifieerd, wordt de software waarschijnlijk als onveilig beschouwd voor de gebruiker.
Bij het gebruik van een zelfondertekend certificaat voor het ondertekenen van software en applicaties, kan alleen het apparaat dat het certificaat heeft ondertekend, de authenticatie ervan uitvoeren. Daarom worden zelfondertekende certificaten over het algemeen niet gebruikt voor externe software of applicaties. Softwareontwikkelaars gebruiken in plaats daarvan een Public Key Infrastructure ( PKI) met een externe, bekende rootcertificaatinstantie (RCA) die door de CA gegenereerde certificaten aanmaakt . Hierdoor kan de ontwikkelaar codeondertekeningscertificaten genereren die door elk besturingssysteem worden herkend, waardoor de software die naar een klant wordt verzonden, wordt geauthenticeerd en de klant de software of applicatie voldoende kan vertrouwen om deze te downloaden en op zijn of haar apparaat te gebruiken.
Voors en tegens
Bij het werken met zelfondertekende certificaten zijn er veel voor- en nadelen die u moet overwegen voordat u dit type certificaten aanmaakt. Sommige hiervan hebben we al besproken, andere zullen we nu bekijken.
VOORDELEN
- Zelfondertekende certificaten zijn zeer eenvoudig aan te maken in vergelijking met andere methoden voor het aanmaken van certificaten. Er is geen diepgaand proces; het gaat alleen om het aanmaken van een sleutelpaar en vervolgens het aanmaken van het certificaat zelf. Andere processen vereisen mogelijk meerdere stappen en toegang tot een Public Key Infrastructure (PKI) om certificaten aan te maken.
- Zelfondertekende certificaten worden het best gebruikt in testomgevingen of voor applicaties die alleen privé herkend hoeven te worden. Applicaties die alleen binnen de organisatie worden gebruikt, maken voornamelijk gebruik van zelfondertekende certificaten.
- Een andere reden waarom een ​​organisatie zelfondertekende certificaten kan gebruiken, is dat er geen afhankelijkheid is van een andere organisatie voor de uitgifte van de certificaten of de bescherming van sleutels. Het aanmaken van openbaar verifieerbare certificaten met een bekende PKI kan veel tijd kosten, wat kan leiden tot vertragingen bij het publiceren en distribueren van software.
NADELEN
- Het meest voor de hand liggende probleem met het gebruik van een zelfondertekend certificaat voor codeondertekeningsapplicaties en -software is dat het certificaat niet buiten de organisatie wordt herkend. Een zelfondertekende handtekening wordt alleen herkend door het apparaat waarop de handtekening is geplaatst, of binnen de organisatie waarin deze is gegenereerd.
- Zelfondertekende certificaten zijn binnen een organisatie niet eenvoudig te traceren. Dit veroorzaakt een veelheid aan problemen, vooral in het geval van een inbreuk op een zelfondertekend certificaat. Omdat zelfondertekende certificaten op elk moment en vanaf elk apparaat kunnen worden aangemaakt, kan het certificaat lange tijd onopgemerkt blijven. Dit stelt de kwaadwillende partij in staat het certificaat naar eigen inzicht te misbruiken.
- Zelfondertekende certificaten kunnen niet worden ingetrokken. Bij door een CA gegenereerde certificaten is het eenvoudig om het bijbehorende privésleutelpaar op te zoeken, maar dat is niet mogelijk bij zelfondertekende certificaten.
Conclusie
Er zijn verschillende soorten certificaten beschikbaar voor gebruikers, voor uiteenlopende doeleinden, van authenticatie en communicatie tot het ondertekenen van code. Deze certificaten vallen doorgaans in twee categorieën: zelfondertekende certificaten en door een certificeringsinstantie (CA) gegenereerde certificaten. Zoals eerder vermeld, worden zelfondertekende certificaten voornamelijk gebruikt in testomgevingen of voor software en applicaties die uitsluitend binnen een organisatie worden gebruikt. Om die reden adviseren wij bij Encryption Consulting organisaties die certificaten willen gebruiken voor het ondertekenen van code, om een ​​PKI ( Public Key Infrastructure) op te zetten of samen te werken met een openbare PKI voor het ondertekenen van certificaten. Bezoek onze website www.encryptionconsulting.com om te ontdekken hoe Encryption Consulting uw organisatie kan helpen bij het creëren van een sterke en veilige Public Key Infrastructure voor intern gebruik.
