Ключ к безопасности
Любому пользователю Интернета хорошо известна аббревиатура HTTP. Она обозначает один из основных Интернет-протоколов обмена информацией и используется для передачи тех самых данных, с помощью которых построена Сеть. Использование протокола SSL добавляет этой аббревиатуре всего лишь одну букву (https), однако превращает обычный не защищенный канал передачи данных в зашифрованный, делая информацию пользователей недосягаемой для злоумышленников.
С развитием сетевых технологий возросла потребность в средствах, обеспечивающих защищенный удаленный доступ. Протокол HTTP был признан недостаточно надежным, так как передавал информацию в открытом, незашифрованном виде. Многие компании делали попытки разработать универсальный сетевой протокол, способный обеспечить надлежащий уровень безопасности при использовании Интернета. Одним из плодов этой деятельности стал протокол SSL (Secure Sockets Layer), созданный в 1994 году компанией Netscape Communications.
SSL обеспечивает защиту данных между сервисными протоколами (такими, как HTTP, NNTP, FTP и т.д.) и транспортными протоколами (TCP/IP) и предоставляет приватный и надежный способ обмена информацией между двумя удаленно взаимодействующими приложениями. Он применяется прежде всего для взаимной аутентификации сервера и клиента и для создания шифрованного канала для передачи данных. Аутентификация пользователей базируется не на открытых паролях, как в протоколе HTTP, а на инфраструктуре открытых ключей PKI (Public Key Infrastructure). Принцип работы PKI основан на использовании цифровых сертификатов и ассиметричного шифрования, при котором фигурирует открытый ключ шифрования, доступный для всех, и закрытый, имеющийся только у своего владельца. Каждому открытому ключу соответствует свой закрытый, благодаря чему становится возможной аутентификация пользователя – владельца закрытого ключа и происходит процедура шифрования и расшифрования информации. Никто посторонний не может получить доступ к личной информации, не обладая закрытым ключом, и наоборот: один закрытый ключ сможет взаимодействовать только с парным ему открытым.
Распространение открытых ключей происходит с помощью специальных доверенных центров сертификации (Certificate Authority – CA), выдающих пользователям сертификаты. Сертификат подписывается закрытым ключом центра сертификации. С помощью сертификатов производится строгая аутентификация как клиента, так и сервера. Это процесс достаточно сложный, при этом проверяется, каким центром сертификации был выдан сертификат, не был ли он поврежден или отозван (т.е. действителен ли он). Наиболее известные организации, имеющие центры сертификации – VeriSign и Baltimore. В России также существуют центры сертификации – например, РБК (сертификаты Thawte).
Обычно SSL применяется в двух случаях: когда необходимо произвести аутентификацию сервера, к которому подключается клиент, и самого клиента, и когда необходимо обеспечить шифрование канала при передаче данных с помощью TCP/IP. Кроме того, соединение под управлением SSL-протокола гарантирует целостность данных (т.е. что они не были подменены или изменены «в пути»).
Суть работы SSL заключается во взаимной идентификации между сервером и клиентом, после прохождения которой согласовываются криптографические алгоритмы и ключи, необходимые для процесса обмена защищенными данными. Для обеспечения еще более «углубленной» защиты конфиденциальной информации SSL позволяет применять функцию шифрования, однако она используется реже, т.к. это ресурсоемкий процесс, требующий значительной мощности сервера. Важно отметить, что при шифровании обычно используется алгоритм RSA, но может применяться и ГОСТ 28147-89. Сеансовые ключи для шифрования канала генерируются после успешного завершения процесса аутентификации между авторизованным (имеющим соответствующий сертификат) сервером и клиентом. Каждые несколько минут они меняются, что увеличивает криптостойкость.
Один из самых больших плюсов протокола SSL состоит в том, что пользователь может использовать для работы с ним стандартный Интернет-браузер, такой как Microsoft Internet Explorer, Netscape Navigator или Opera. С помощью протокола SSL решаются задачи обеспечения безопасного подключения к web-страницам. Этот протокол является базой для большинства ресурсов, имеющих отношение к личным и финансовым данным посещающих его пользователей. На практике это означает безопасность при использовании в электронной коммерции (системы «Клиент-Банк» или «Домашний Банк», применение в Интернет-магазинах, обеспечение защищенного канала при проведении любой электронной транзакции), при удаленной работе с почтой, при обращении к web-страницам, требующим авторизованного доступа (например, содержащим конфиденциальную информацию, доступную определенному кругу лиц), при удаленном доступе к корпоративным ресурсам, при доступе к закрытым базам данных и прочее.
SSL удовлетворяет потребности в защите любых операций, связанных с передачей паспортных данных, PIN-кодов, паролей. Кроме того, протокол SSL становится все более популярным за счет того, что при его использовании осуществляется строгая аутентификация и клиента, и сервера, что делает практически невозможным перехват информации.
К сожалению, несмотря на всю стройность и надежность механизма защиты, в SSL есть и недостатки. Сам протокол не может использоваться отдельно от программных средств, однако программы, так или иначе использующие протокол SSL, являются порой самым уязвимым местом этой технологии. Ошибки в интернет-браузерах, например, способны стать причиной серьезных информационных потерь. Но даже в этом случае «вина» за потерю информации лежит не на самом протоколе, а на независимых от него ресурсах.
Два самых серьезных недостатка SSL, выделяемые специалистами, заключаются в отсутствии мобильности пользователя и опасности хищения того самого закрытого ключа, при помощи которого производится аутентификация. Этих проблем можно избежать, применяя для хранения цифровых ключей и сертификатов аппаратные средства – электронные ключи и смарт-карты.
Смарт-карты и электронные ключи на сегодняшний день признаны самым надежным средством аутентификации. Однако последние обладают рядом преимуществ – значительным удобством использования при относительно меньшей стоимости. Электронные ключи представляют собой миниатюрные устройства, исполняющие роль средств аутентификации и способные хранить в себе некоторое количество секретных данных. Примером может служить USB-ключ eToken, разработанный компанией Aladdin.
eToken представляет собой небольшой, размером с брелок, электронный ключ, который подсоединяется напрямую к USB-порту. Главные его функции – обеспечение аутентификации пользователей при доступе к защищенным ресурсам, а также безопасное хранение ключей шифрования, цифровых сертификатов и прочей секретной информации. Обычно сертификаты хранятся в защищенных хранилищах, быть которыми могут, например, некие файлы или программы на компьютере пользователя, доступ к которым защищен паролем. Идентификация при помощи пароля не обеспечивает надежного уровня защиты данных, аппаратные же средства достойно с этим справляются. Защищенная память eToken объемом до 64 КБ позволяет хранить в ней довольно большое количество данных. Закрытый ключ не покидает памяти eToken, что гарантирует пользователя от его хищения или подмены.
Особенность eToken состоит в том, что, в отличие от смарт-карты, он не требует никаких дополнительных устройств для считывания информации. Таким образом, достигается мобильность, т.к. пользователь может воспользоваться ключом на чужой рабочей станции или ноутбуке, просто скачав из Интернета и установив на компьютер компактный драйвер. В случае же, если на этой сетевой станции установлена операционная система Windows XP, не потребуется даже скачивать драйвер: при подключении eToken к USB-порту система сама загрузит необходимое программное обеспечение и установит его. В отличие от хранения сертификатов и ключей непосредственно на рабочей станции или на дискете, eToken позволяет использовать защищенные соединения и вне ее, не подвергая риску конфиденциальные данные.
Одним из достоинств eToken является интеграция его со многими приложениями. eToken работает со всеми основными системами сертификации (RSA, Baltimore, Verisign, Entrust), построенными на технологии PKI. С помощью одного электронного ключа можно обезопасить самые разные участки работы системы – от доступа к домену (продукты «eToken – Безопасность в сети», «eToken – Network Logon») до шифрования личных документов («Secret Disk NG»). eToken может использоваться для усиленной аутентификации при доступе к корпоративным базам Lotus Notes/Domino, и этот перечень можно продолжить.
В технологии SSL есть как плюсы, так и минусы, но в целом этот протокол можно назвать одним из наиболее удачных решений проблемы защиты пользовательских данных при распространении их по «открытым» каналам. Идеи, реализованные в SSL, могли бы стать некоей сетевой панацеей, но, как показывает практика, от хорошей идеи до комплексного решения проблемы – путь не близкий. Однако электронные ключи решают основную проблему, возникающие в процессе защиты данных посредством SSL – защищают идентификационную информацию.