Secure Network Programming (SNP) — прототип первого Secure Sockets Layer , разработанный и созданный в 1993 году Лабораторией сетевых исследований Техасского университета в Остине под руководством Саймона С. Лэма . Эта работа была опубликована на Летней технической конференции USENIX 1994 года. [1] [2] За этот проект авторы выиграли премию ACM Software System Award 2004 года .
Саймон С. Лэм был включен в Зал славы Интернета (2023) за «изобретение защищенных сокетов в 1991 году и реализацию первого уровня защищенных сокетов, названного SNP, в 1993 году». [3] [4]
Эта работа началась в 1991 году как теоретическое исследование Лаборатории сетевых исследований формального значения уровня протокола, удовлетворяющего спецификации верхнего интерфейса в качестве поставщика услуг и спецификации нижнего интерфейса в качестве потребителя услуг. [5] Было представлено исследование случая добавления уровня безопасности между прикладным и сетевым уровнями . [6]
Лаборатория сетевых исследований получила грант от Агентства национальной безопасности в июне 1991 года на исследование того, как применить их теорию модулей и интерфейсов к проверке безопасности. [7] В то время было создано три известных системы аутентификации ( Kerberos от MIT ) или разрабатывалось (SPX от DEC и KryptoKnight от IBM). Все эти системы страдали от общего недостатка; а именно, они не экспортировали чистый и простой в использовании интерфейс, который мог бы легко использоваться интернет-приложениями. Например, потребовалось бы огромное количество усилий, чтобы «керберизировать» существующее распределенное приложение.
В целях «безопасного сетевого программирования для масс» изобретатели SNP задумали защищенные сокеты как высокоуровневую абстракцию, подходящую для защиты интернет-приложений. В 1993 году они спроектировали и построили прототип SNP. Разработанный как прикладной подуровень поверх сокетов, SNP предоставляет пользовательский интерфейс, очень похожий на сокеты. Это сходство было задумано так, чтобы безопасность могла быть модернизирована в существующие программы сокетов с небольшими изменениями. Кроме того, с таким тщательно спроектированным подуровнем и его тщательно отлаженной реализацией, его может легко использовать любое интернет-приложение, использующее сокеты для сквозной связи. Это естественная идея в ретроспективе, но в 1993 году это было новым и серьезным отходом от основных исследований сетевой безопасности того времени.
Защищенные сокеты SNP поддерживают как потоковую, так и датаграммную семантику с гарантиями безопасности (т. е. подлинность источника данных , подлинность назначения данных, целостность данных и конфиденциальность данных). Многие идеи и проектные решения в SNP можно найти в последующих уровнях защищенных сокетов, включая: размещение аутентифицированных конечных точек связи на прикладном уровне , использование криптографии с открытым ключом для аутентификации, протокол рукопожатия для установления состояния сеанса, включая общий секрет , использование криптографии с симметричным ключом для конфиденциальности данных и управление контекстами и учетными данными на уровне защищенных сокетов.
В докладе, представленном 8 июня 1994 года на летней технической конференции USENIX [1], представлен проект системы вместе с результатами измерений производительности от реализации прототипа, что наглядно демонстрирует практичность уровня защищенных сокетов.
SNP стал пионером защищенных сокетов для интернет-приложений в целом, независимо и одновременно с проектированием и разработкой протокола HTTP для всемирной паутины , который в 1993 году все еще находился в зачаточном состоянии. Последующие уровни защищенных сокетов (SSL от Netscape и TLS от IETF ), реализованные несколько лет спустя с использованием архитектуры и ключевых идей, впервые представленных в SNP, сделали возможной безопасную электронную коммерцию между браузерами и серверами. Сегодня многие другие интернет-приложения (включая электронную почту ) используют HTTPS , который состоит из HTTP, работающего поверх уровня защищенных сокетов.
По состоянию на 2023-05-10 эта статья полностью или частично взята из Networking Research Laboratory . Владелец авторских прав лицензировал контент таким образом, что позволяет повторное использование в соответствии с CC BY-SA 3.0 и GFDL . Все соответствующие условия должны быть соблюдены. Исходный текст был на "Краткая история первого слоя защищенных сокетов"