Inter-PRO Client 6.0: Руководство пользователя |
Традиционные требования к системам защиты информации состоят в обеспечении:
В контексте разработки систем защиты информационного взаимодействия в среде «клиент-сервер» эти требования интерпретируются следующим образом:
Один из вариантов решения проблемы безопасности в Интернет был предложен компанией Netscape Communications Corp., разработавшей протокол защищенного обмена информацией между клиентом и сервером - SSL (Secure Sockets Layer).
В настоящее время протокол SSL (или его более совершенная модификация TLS - Transport Layer Security) является наиболее распространенным протоколом защиты информации в Интернет, обеспечивающим конфиденциальность и целостность информационного взаимодействия между Интернет-приложениями. В многоуровневой иерархии протоколов он занимает место между надежным транспортным протоколом и протоколами прикладного уровня. Независимость от протоколов прикладного уровня предоставляет возможность использования TLS для защиты целого ряда приложений, построенных по технологии «клиент-сервер» (в частности, HTTP, FTP, Telnet и др.).
Протокол TLS позволяет серверу и клиенту перед началом информационного взаимодействия аутентифицировать друг друга, согласовать алгоритм шифрования и сформировать общие криптографические ключи.
Конфиденциальность информации, передаваемой по установленному защищенному соединению, обеспечивается путем шифрования потока данных на сформированном общем ключе с использованием симметричных криптографических алгоритмов, а контроль целостности передаваемых блоков данных - за счет использования так называемых кодов аутентификации сообщений (Message Autentification Code - MAC), вычисляемых с помощью хэш-функций.
Протокол TLS включает два этапа взаимодействия сторон защищаемого соединения:
1. На этапе установления TLS сессии осуществляется аутентификация сервера и (опционально) клиента, стороны договариваются об используемых криптографических алгоритмах и формируют общий "секрет", на основе которого создаются общие сеансовые ключи для последующей защиты соединения.
Этот этап называют также процедурой "рукопожатия".
При установлении повторных соединений между клиентом и сервером стороны могут, по взаимному соглашению, формировать новые сеансовые ключи на основе "старого" общего "секрета" (данная процедура называется "продолжением" TLS сессии).
2. На втором этапе (защита потока данных) информационные сообщения прикладного уровня нарезаются на блоки, для каждого блока вычисляется MAC, затем данные шифруются и отправляются приемной стороне. Приемная сторона производит обратные действия: дешифрование, проверку MAC, сборку сообщений, передачу на прикладной уровень.
В соответствии с процедурой аутентификации, используемой протоколом TLS, у каждой аутентифицируемой стороны (сервера или клиента) предполагается наличие пары ключей - секретного и открытого. Секретный ключ должен быть доступен только самому владельцу и храниться в тайне, а открытый ключ должен быть известен той стороне, которая выполняет процедуру аутентификации. При этом открытый ключ может распространяться только в составе сертификатов, выдаваемых Удостоверяющими центрами (УЦ).
Сертификат представляет собой набор данных, заверенных цифровой подписью УЦ:
Цифровая подпись УЦ в составе сертификата обеспечивает достоверность и однозначность соответствия открытого ключа и его владельца.
Удостоверяющий центр выполняет роль нотариуса, заверяющего подлинность открытых ключей, что позволяет их владельцам пользоваться услугами защищенного взаимодействия без предварительной личной встречи. Будучи защищены цифровой подписью Удостоверяющего центра, сертификаты пользователей могут распространяться свободно, без опасности искажения либо подмены.
Чтобы иметь возможность проверки целостности любого сертификата, каждый пользователь криптосистемы должен получить сертификат УЦ.