Secure Network Programming (SNP) est un prototype de la première couche de sockets sécurisée , conçu et construit en 1993 par le Networking Research Laboratory de l'Université du Texas à Austin , dirigé par Simon S. Lam . Ce travail a été publié lors de la conférence technique d'été USENIX de 1994. prix ACM Software System Award 2004 .
Simon S. Lam a été intronisé au Temple de la renommée de l'Internet (2023) pour « avoir inventé les sockets sécurisés en 1991 et mis en œuvre la première couche de sockets sécurisés, appelée SNP, en 1993. »
Ce travail a débuté en 1991 sous la forme d'une étude théorique menée par le Networking Research Laboratory sur la signification formelle d'une couche de protocole satisfaisant une spécification d'interface supérieure en tant que fournisseur de services et une spécification d'interface inférieure en tant que consommateur de services. Une étude de cas sur l'ajout d'une couche de sécurité entre les couches application et réseau a été présentée.
En juin 1991, le Networking Research Laboratory a reçu une subvention de la National Security Agency pour étudier comment appliquer sa théorie des modules et des interfaces à la vérification de sécurité. À cette époque, trois systèmes d'authentification bien connus étaient en cours de construction ( Kerberos du MIT ) ou de développement (SPX de DEC et KryptoKnight d'IBM). Tous ces systèmes souffraient d'un inconvénient commun : ils ne proposaient pas d'interface claire et facile à utiliser, qui puisse être facilement utilisée par les applications Internet. Par exemple, il faudrait un effort considérable pour « kerberiser » une application distribuée existante.
Dans le but de « sécuriser la programmation réseau pour le grand public », les inventeurs du SNP ont conçu les sockets sécurisés comme une abstraction de haut niveau adaptée à la sécurisation des applications Internet. En 1993, ils ont conçu et construit un prototype de SNP. Conçu comme une sous-couche d'application au-dessus des sockets, le SNP fournit une interface utilisateur ressemblant étroitement aux sockets. Cette ressemblance était voulue pour que la sécurité puisse être intégrée ultérieurement dans les programmes de socket existants avec seulement des modifications mineures. De plus, avec une telle sous-couche soigneusement conçue et son implémentation minutieusement déboguée, elle peut être facilement utilisée par n'importe quelle application Internet qui utilise des sockets pour les communications de bout en bout. C'est une idée naturelle avec le recul, mais, en 1993, c'était une nouveauté et un écart majeur par rapport à la recherche traditionnelle sur la sécurité des réseaux à l'époque.
Les sockets sécurisés de SNP prennent en charge à la fois la sémantique des flux et des datagrammes avec des garanties de sécurité (c'est-à-dire l'authenticité de l'origine des données , l'authenticité de la destination des données, l'intégrité des données et la confidentialité des données). De nombreuses idées et choix de conception de SNP peuvent être trouvés dans les couches de sockets sécurisés ultérieures, notamment : le placement de points de terminaison de communication authentifiés dans la couche application , l'utilisation de la cryptographie à clé publique pour l'authentification, un protocole de négociation pour établir l'état de session incluant un secret partagé , l'utilisation de la cryptographie à clé symétrique pour la confidentialité des données et la gestion des contextes et des informations d'identification dans la couche de sockets sécurisés.
Le document présenté le 8 juin 1994 lors de la conférence technique d'été USENIX comprend la conception du système ainsi que les résultats de mesure des performances de la mise en œuvre du prototype pour démontrer clairement la praticité d'une couche de sockets sécurisée.
SNP a été le pionnier des sockets sécurisés pour les applications Internet en général, indépendamment et en même temps que la conception et le développement du protocole HTTP pour le World Wide Web qui en était encore à ses balbutiements en 1993. Les couches de sockets sécurisées ultérieures (SSL par Netscape et TLS par IETF ), mises en œuvre plusieurs années plus tard en utilisant l'architecture et les idées clés présentées pour la première fois dans SNP, ont permis le commerce électronique sécurisé entre les navigateurs et les serveurs. Aujourd'hui, de nombreuses autres applications Internet (y compris la messagerie électronique ) utilisent HTTPS , qui consiste à exécuter HTTP sur une couche de sockets sécurisée.

En date du 10/05/2023, cet article est tiré en tout ou en partie de Networking Research Laboratory . Le détenteur des droits d'auteur a autorisé le contenu d'une manière qui permet sa réutilisation sous CC BY-SA 3.0 et GFDL . Toutes les conditions pertinentes doivent être respectées. Le texte original se trouvait à l'adresse "Une brève histoire de la première couche de sockets sécurisés"