Wat is beveiliging door obscuriteit?

Veiligheid is een cruciaal kenmerk van ons moderne leven. Met het aantal dingen dat afhankelijk is van digitale communicatie, is beveiliging nu in wezen fundamenteel. Neem het voorbeeld van gewoon verbinding maken met een website. Als de verbinding veilig is versleuteld, kunt u erop vertrouwen dat de gegevens die tussen u en de webserver worden verzonden, ongewijzigd en onbekend zijn voor alle anderen. Als u een onveilige verbinding maakt, kan elk apparaat dat verzendt of de overdracht van uw verbinding kan zien, precies zien welke gegevens worden verzonden. In dat scenario kan elk apparaat dat deel uitmaakt van de transmissieketen tussen u en de server ook de verzonden gegevens bewerken.

Het ding met al deze geheimhouding is dat het meeste helemaal niet geheim is. In feite is het volledige versleutelingsalgoritme openbaar. Slechts een enkel deel van het systeem hoeft geheim te zijn om de versleutelde berichten veilig te houden. Dat is de coderingssleutel. Moderne cryptografie volgt het Principe van Kerckhoffs uit 1883: “een cryptosysteem moet veilig zijn, zelfs als alles over de systeem, behalve de sleutel, is publieke kennis.” Systemen in die tijd vertrouwden meestal op een ander principe: beveiliging door onduidelijkheid.

Beveiliging door onduidelijkheid

Het concept van veiligheid door obscuriteit lijkt in eerste instantie logischer. Als het hele versleutelingssysteem geheim is, hoe kan iemand dan het bericht ontsleutelen? Helaas, hoewel dit logisch is, zijn er verschillende belangrijke problemen waarmee het geen rekening houdt. Het belangrijkste probleem is simpelweg dat u het systeem niet kunt gebruiken zonder het open te stellen met het risico dat het wordt blootgesteld. Als u het op een computer implementeert, kan het worden gehackt. Een fysieke machine kan worden gestolen. Als je alleen vertrouwde mensen lesgeeft, kunnen ze worden misleid of gevangengenomen en gemarteld.

Een klassiek voorbeeld van zo'n systeem is het Caesar-verschuivingscijfer. Het is eigenlijk vernoemd naar Julius Caesar, die het gebruikte voor gevoelige correspondentie. Caesarcijfers passen de omzetting van de ene letter voor de andere op een cyclische manier aan. Caesar gebruikte een linkerverschuiving van drie, waardoor D A werd. Dit is bekend uit "Het leven van Julius Caesar", geschreven door Suetonius in het jaar 56 n.Chr. Het is onduidelijk hoe veilig dat cijfer op dat moment was. Een dergelijk schema zou nu in wezen geen zekerheid bieden. De reden hiervoor is dat het systeem erop vertrouwt dat het systeem geheim blijft. Technisch gezien gebruikt het wel een sleutel, die sleutel is het aantal verschoven plaatsen in het alfabet. Het aantal mogelijke toetsen is echter zo klein dat alle mogelijke opties eenvoudig kunnen worden getest, zelfs met de hand. Hierdoor blijft alleen een gebrek aan kennis van het systeem over als beschermingsfactor.

De vijand kent het systeem

Op een gegeven moment zal de vijand, wie dat ook mag zijn, waarschijnlijk uw systeem volledig kunnen begrijpen alsof het openbaar is. Als uw systeem alleen veilig is als het systeem geheim is, moet u het vervangen wanneer het systeem wordt begrepen. Dit is kostbaar en kost tijd. Als uw systeem in plaats daarvan alleen vertrouwt op de geheimhouding van een sleutel, is dat niet alleen een stuk eenvoudiger om geheim te houden, maar het is ook gemakkelijker om te veranderen.

Complexe en slecht gedocumenteerde systemen zijn vaak moeilijk goed te implementeren. Ze zijn ook moeilijk te onderhouden, vooral als ze niet door de maker worden onderhouden. Er moet voldoende documentatie zijn zodat legitieme gebruikers het systeem kunnen gebruiken. Deze documentatie kan vervolgens worden verkregen door een tegenstander die vervolgens een gedeeltelijk of volledig begrip van het systeem kan krijgen.

Bovendien is goede cryptografie ongelooflijk moeilijk om goed te doen, zelfs voor mensen die bekend zijn met de concepten. Als een systeem is ontworpen door een niet-expert, is de kans groot dat er op zijn minst kleine, zo niet grote fouten in zitten. Een openbaar systeem kan over een periode van tientallen jaren door alle experts worden beoordeeld. Dit geeft een solide reden om aan te nemen dat een bekend systeem daadwerkelijk veilig is.

Conclusie

Security through obscurity is het concept van een systeem dat veilig is omdat het mechanisme van het systeem niet wordt begrepen. Helaas is het relatief eenvoudig om inzicht te krijgen in het systeem en vervolgens moeilijk om een ​​voldoende nieuw systeem te ontwikkelen. Moderne beveiligingssystemen, zoals cryptografie, zijn meestal openbaar en vertrouwen op de veiligheid van een geheime sleutel om de gegevens die het beveiligt te beschermen. De sleutel kan naar believen worden gewijzigd. Veel verschillende sleutels kunnen tegelijkertijd door verschillende mensen worden gebruikt zonder nadelige gevolgen. Het is veel gemakkelijker om een ​​kleine sleutel te beveiligen dan een heel systeem. Het is ook veel gemakkelijker om te veranderen als het gecompromitteerd is.