(Virtual Private Networks - VPN) на основе сетей общего пользования, для защиты коммуникаций между сайтами или удаленного доступа (клиент-сервер). Заверение цифровой подписью программных кодов и файлов дает возможность пользователям подтвердить источник получаемых по Интернету программ и файлов и целостность их содержания, это важно и для контроля вирусного заражения.
Клиентское программное обеспечение
Как известно, технология "клиент-сервер" предполагает обслуживание клиента только по его запросу, тот же самый принцип справедлив и для PKI. Клиентское программное обеспечение (ПО) пользователя должно запрашивать сервисы сертификации и обрабатывать информацию об аннулированных сертификатах, понимать истории ключей и отслеживать своевременное обновление или восстановление ключей, анализировать необходимость проставления меток времени. Клиентскому ПО необходимо распознавать идентификаторы политики применения сертификатов, вовремя определять статус сертификата и правильно выполнять обработку пути сертификации (см. лекцию 11).
Клиентское ПО - существенный компонент полнофункциональной PKI. Важно отметить, что клиентское ПО не является ни программным обеспечением приложения, ни PKI-совместимым кодом, который размещается внутри приложения, подобного браузеру или приложению электронной почты. Такая архитектура фундаментально нарушала бы концепцию PKI как инфраструктуры, согласованно обеспечивающей безопасность всем использующим ее приложениям и платформам. Наоборот, клиентское ПО - это код, который существует вне любых приложений и реализует необходимую клиентскую сторону PKI. Приложения связываются с клиентским ПО через стандартные точки входа, им не приходится самостоятельно взаимодействовать с разными серверами PKI. Таким образом, приложения используют инфраструктуру, а не являются частью инфраструктуры [44].
Компонент клиентской стороны PKI может быть:
* относительно большим ("толстый" клиент), выполняющим большую часть операционной работы PKI, в том числе обработку путей сертификации и валидацию;
* относительно небольшим ("тонкий" клиент), просто вызывающим внешние серверы для выполнения PKI-функций;
* Java-апплетом или аналогичным мобильным кодом, при необходимости загружаемым в режиме реального времени, а затем удаляемым после завершения работы вызывающего приложения (подобного web-браузеру);
* динамически подключаемой библиотекой (Dynamically Linked Library - DLL) или аналогичной, которая размещается резидентно на клиентской платформе.
Существует много возможностей реализации и вызова клиентского ПО, но главным требованием является независимость этого компонента от приложений, использующих PKI.