Sichere Netzwerkprogrammierung - Secure Network Programming

Secure Network Programming (SNP) ist ein Prototyp des ersten Secure Sockets Layer , der vom Networking Research Laboratory der University of Texas in Austin unter der Leitung von Simon S. Lam entwickelt und gebaut wurde . Diese Arbeit wurde auf der USENIX Summer Technical Conference 1994 veröffentlicht. Für dieses Projekt gewannen die Autoren 2004 den ACM Software System Award .

Diese Arbeit begann 1991 als theoretische Untersuchung des Networking Research Laboratory zur formalen Bedeutung einer Protokollschicht, die einer oberen Schnittstellenspezifikation als Dienstanbieter und einer unteren Schnittstellenspezifikation als Dienstnutzer genügt. Das Netzwerkforschungslabor erhielt im Juni 1991 von der Nationalen Sicherheitsagentur einen Zuschuss, um zu untersuchen, wie ihre Theorie der Module und Schnittstellen auf die Sicherheitsüberprüfung angewendet werden kann. Zu dieser Zeit wurden drei bekannte Authentifizierungssysteme gebaut ( Kerberos von MIT ) oder entwickelt (SPX von DEC und KryptoKnight von IBM). Alle diese Systeme hatten einen gemeinsamen Nachteil: Sie exportierten keine saubere und benutzerfreundliche Oberfläche, die von Internetanwendungen problemlos verwendet werden konnte. Es würde beispielsweise einen enormen Aufwand erfordern, eine vorhandene verteilte Anwendung zu „kerberisieren“.

Mit dem Ziel der "sicheren Netzwerkprogrammierung für die Massen" konzipierten die Erfinder von SNP Secure Sockets als eine Abstraktion auf hoher Ebene, die sich zur Absicherung von Internetanwendungen eignet. 1993 entwarfen und bauten sie einen Prototyp von SNP. SNP wurde als Anwendungs-Sublayer über den Sockets entwickelt und bietet eine Benutzeroberfläche, die Sockets sehr ähnlich ist. Diese Ähnlichkeit war so konzipiert, dass die Sicherheit mit nur geringfügigen Änderungen in bestehende Steckdosenprogramme nachgerüstet werden konnte. Außerdem kann sie mit einer solchen sorgfältig entworfenen Unterschicht und einer gründlichen Debugging-Implementierung leicht von jeder Internetanwendung verwendet werden, die Sockets für die Ende-zu-Ende-Kommunikation verwendet. Dies ist im Nachhinein eine natürliche Idee, aber 1993 war sie neuartig und eine wesentliche Abkehr von der damaligen Mainstream-Netzwerksicherheitsforschung.

Die sicheren Sockets von SNP unterstützen sowohl die Stream- als auch die Datagrammsemantik mit Sicherheitsgarantien (dh Datenursprungsauthentizität, Datenzielauthentizität, Datenintegrität und Datenvertraulichkeit). Viele der Ideen und Entwurfsoptionen in SNP finden Sie in nachfolgenden sicheren Sockets-Schichten, einschließlich : Platzieren authentifizierter Kommunikationsendpunkte in der Anwendungsschicht , Verwendung der Kryptografie mit öffentlichem Schlüssel zur Authentifizierung, eines Handshake-Protokolls zum Einrichten des Sitzungsstatus einschließlich eines gemeinsamen Geheimnisses, Verwendung der Kryptografie mit symmetrischem Schlüssel zur Vertraulichkeit von Daten und Verwalten von Kontexten und Anmeldeinformationen in der Schicht für sichere Sockets.

Das am 8. Juni 1994 auf der USENIX Summer Technical Conference vorgestellte Papier enthält das Systemdesign sowie die Ergebnisse der Leistungsmessung aus der Implementierung des Prototyps, um die Praktikabilität einer sicheren Socket-Schicht klar zu demonstrieren.

SNP erfand Secure Sockets für Internetanwendungen im Allgemeinen, unabhängig und zeitgleich mit dem Design und der Entwicklung des HTTP- Protokolls für das World Wide Web, das 1993 noch in den Kinderschuhen steckte. Nachfolgende Secure Socket Layers ( SSL von Netscape und TLS von IETF ) , das einige Jahre später unter Verwendung von Schlüsselideen, die erstmals in SNP vorgestellt wurden, erneut implementiert wurde, ermöglichte einen sicheren E-Commerce zwischen Browsern und Servern. Heutzutage verwenden viele Internetanwendungen (einschließlich E-Mail ) HTTPS, das aus HTTP besteht, das über eine sichere Sockets-Schicht ausgeführt wird.

Verweise