А.С. Перченко
Перченко А.С.
Обеспечение безопасности соединения с помощью SSL в ИС «е-Нотариат»
(Евразийский национальный университет им Л.Н. Гумилева, г. Астана, Казахстан)
ИС «е-Нотариат» - это информационная система, разработанная в рамках электронного правительства. Согласно закону "О нотариате"в этой системе нотариусы должны вести электронный реестр нотариальных действий. Также
«е-Нотариат» предоставляет для нотариусов ряд преимуществ, таких как получение достоверной информации из государственных баз данных, а также защита от мошеннических действий в частности фактов подделки документов и
незаконного отчуждения имущества. Целью данной статьи является анализ реализованной системы безопасности на соответствие поставленным при разработке требованиям.
Безопасность использования ИС «е-Нотариат» - ключевой вопрос, волнующий нотариусов.
Для большинства нотариусов регистрация нотариальных действий через интернет по-прежнему ассоциируется с риском и страхом раскрытия данных, фигурирующих в нотариальном действии. Разработчики системы хорошо понимают, какой непоправимый урон
репутации может нанести сообщение о компрометации системы, и приложили максимум усилий, чтобы предотвратить попытки взлома. В частности, для обмена данными между
компьютером пользователя и серверами «е-Нотариат» используется защищенное шифрованное соединение, нотариусам выдаются цифровые сертификаты и
электронно-цифровые подписи, а наиболее продвинутые пользователи используют е-токены (USB-ключи, внешним видом похожие на флешку и обеспечивающие безопасное хранение
сертификатов).
В качестве концептуального решения, при проектировании ИС «е-Нотариат», нужно было создать систему, не требующую установки дополнительного ПО на компьютер, что позволило
бы повысить доступность и простоту использования системы. Вместе с тем, уровень безопасности должен предусматривать то, что даже если злоумышленник физически сможет
перехватить канал связи от нотариуса к системе, расшифровка полученных данных была невозможна. По этой причине была выбрана архитектура системы на основе Web-приложения
(доступ осуществляется через любой интернет-браузер) с использованием SSL-соединения.
SSL (англ. Secure Sockets Layer - уровень защищённых сокетов) - криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером. SSL изначально разработан компанией Netscape Communications. Впоследствии на основании протокола SSL 3.0 был разработан и принят стандарт RFC, получивший имя TLS.
Протокол обеспечивает конфиденциальность обмена данными между клиентом и сервером, использующими TCP/IP, причём для шифрования используется асимметричный алгоритм с
открытым ключом. В ИС «е-Нотариат» для шифрования используется алгоритм RSA.
Протокол SSL состоит из двух подпротоколов: протокол записи и рукопожатия. Протокол SSL записи определяет формат, используемый для передачи данных. Протокол SSL включает
рукопожатие с использованием протокола SSL записи для обмена сериями сообщений между сервером и клиентом, во время установления первого соединения. Для работы SSL, национальный удостоверяющий центр РК специально для системы «е-Нотариат» выпустил
серверный сертификат, без которого установление защищенного доверенного соединения было бы невозможно. ИС «е-Нотариат» предоставляет SSL канал, имеющий три основных
свойства:
• Аутентификация. Сервер аутентифицируется для клиента, в то время как клиент предоставляет свой электронный сертификат, обозначая этим, что он является нотариусом и имеет необходимые права для доступа в свой личный кабинет;
• Целостность. Обмен сообщениями включает в себя проверку целостности;
• Частность канала. Шифрование используется после установления соединения и используется для всех последующих сообщений.
В протоколе SSL все данные передаются в виде записей-объектов, состоящих из заголовка и передаваемых данных. Передача начинается с заголовка. Заголовок содержит либо два, либо
157
Л.Н. Гумилев атындағы ЕҰУ Хабаршысы - Вестник ЕНУ им. Л.Н. Гумилева, 2011, №6
три байта кода длины. Причём, если старший бит в первом байте кода равен единице, то запись не имеет заполнителя и полная длина заголовка равна двум байтам, иначе запись содержит заполнитель и полная длина заголовка равна трём байтам. Код длины записи не
включает в себя число байт заголовка. Длина записи 2-байтового заголовка:
RecLength = ((byte[ 0 ] & 0x7F) < < 8) | byte[ 1 ];
Здесь byte[0] и byte[1] - первый и второй полученные байты. Длина записи 3-байтового заголовка:
RecLength = ((byte[ 0 ] & 0x3F) < < 8) | byte[ 1 ]; Escape = (byte[ 0 ] & 0x40) != 0; Padding = byte[ 2 ];
Здесь Padding определяет число байтов, добавленных отправителем к исходному тексту, для того, чтобы сделать длину записи кратной размеру блока шифра, при использовании
блочного шифра.
Теперь отправитель «заполненной» записи добавляет заполнитель после имеющихся данных и шифрует всё это. Причем, содержимое заполнителя никакой роли не играет. Из-за того, что известен объём передаваемых данных, заголовок может быть сформирован с учетом Padding.
В свою очередь получатель записи дешифрует всё поле данных и получает полную исходную информацию. Затем производится вычисление значения RecLength по известному Padding, и
заполнитель из поля данных удаляется. Данные записи SSL состоят из трех компонентов:
• MAC_Data[ Mac_Size ] - (Message Authentication Code) - код аутентификации сообщения
• Padding_Data [ Padding ] - данные заполнителя
• Actual_Data [ N ] - реальные данные
Когда записи посылаются открытым текстом, очевидно, что никакие шифры не используются. Тогда длина Padding_Data и MAC_Data равны нулю. При использовании
шифрования Padding_Data зависит от размера блока шифра, а MAC_Data зависит от выбора шифра. Пример вычисления MAC_Data:
MacData = Hash(Secret, Actual_Data, Padding_Data, Sequence_Number);
Значение Secret зависит от того, кто (клиент или сервер) посылает сообщение.
Sequence_Number - счётчик, который инкрементируется как сервером, так и клиентом. Здесь Sequence_Number представляет собой 32-битовый код, передаваемый хэш-функции в виде 4 байт, причём, первым передаётся старший байт. Для MD2, MD5 MAC_Size равен 16 байтам (128 битам). Для 2-байтового заголовка максимальная длина записи равна 32767 байтов, а
для 3-байтного заголовка - 16383 байтов.
Протокол SSL был изначально разработан компанией Netscape. Версия протокола 1.0 публично не выпускалась. Версия 2.0 была выпущена в феврале 1995 года, но «содержала много недостатков по безопасности, которые, в конечном счёте, привели к созданию версии 3.0», которая была выпущена в 1996 году. Тем самым версия SSL 3.0 послужила основой для
создания протокола TLS 1.0, стандарт протокола Internet Engineering Task Force (IETF) впервые был определен в RFC 2246 в январе 1999 года. Visa, Master Card, American Express и
многие другие организации, работающие с интернет деньгами, имеют лицензию на использование протокола SSL для коммерческих целей в сети Интернет.
Посредством упаковки данных в криптографический протокол SSL, между нотариусом и сервером устанавливается HTTPS соединение. HTTPS (Hypertext Transfer Protocol Secure) - обычное расширение протокола HTTP, поддерживающее шифрование. Этот вид соединения позволяет установить доверие между сторонами при проведении любых видов транзакций.
158
А.С. Перченко
Из публикаций в СМИ можно сделать вывод о том, что нотариальное сообщество очень обеспокоено конфиденциальностью данных в ИС «е-Нотариат», в то время как гораздо большую опасность представляют атаки на компьютеры самих нотариусов (где зачастую
хранятся проекты всех совершаемых действий), а не взлом системы «е-Нотариат».
Незащищенность компьютеров нотариусов и отсутствие культуры безопасного поведения в сети, а также неготовность к фишинговым уловкам может послужить угрозой для
безопасности хранящихся на компьютере данных.
К числу средств обеспечения надежности протокола HTTPS, использующим ИС
«е-Нотариат» относится защита от следующих явлений:
• «Спуфинг» (имитация соединения). Защита от нелегальных web-сайтов, которые будут выглядить как система «е-Нотариат» и с виду представлять организацию, но реально служащими для кражи сведений, представляющими нотариальную тайну. Защита обеспечивается серверным сертификатом, выпущенным национальным удостоверяющим центром РК, который невозможно подделать.
• Несанкционированные действия. Защита от злоумышленников, которые не смогут изменить систему так, чтобы она давала ложную информацию или отказывалась обслуживать настоящих пользователей.
• Неправомочное разглашение информации. Обеспечивается шифрование транзакций, и если хакер сможет их перехватывать, то расшифровать данные, представляющие нотариальную тайну, будет невозможно.
• Фальсификация данных. Содержание транзакции не сможет быть перехвачено и злонамеренно либо случайно в процессе передачи изменено. Поступающая в систему от нотариусов информация не будет уязвима для вмешательства со стороны.
Таким образом, SSL соединение предоставляет необходимый уровень безопасности и соответствует поставленным при разработке ИС «е-Нотариат» требованиям. Утечка данных,
представляющих нотариальную тайну, на уровне каналов связи является невозможной.
Также немаловажным фактором является то, что системой можно пользоваться с любого компьютера, в безопасности которого нотариус уверен, без установки особого программного
обеспечения. HTTPS и SSL поддерживаются всеми популярными браузерами.
ЛИТЕРАТУРА
1. The Internet Standards Process – Revision 3. http://tools.ietf.org/html/rfc2026 2. The Secure HyperText Transfer Protocol. http://tools.ietf.org/html/rfc2660
3. The Transport Layer Security (TLS) Protocol-Version 1.2. http://tools.ietf.org/html/rfc5246
Перченко А.С.
«е-Нотариат» АЖ-де SSL көмегiмен қосылу қауiпсiздiгiн қамтамасыздандыру
«е-Нотариат» АЖ - бұл электрондық үкiмет шеңберiнде шығарылған ақпараттық жүйе. «Нотариат туралы» Заңы бойынша нотариустар нотариалдық әрекеттер электрондық реестр жүргiзуге мiндеттi. Сонымен қатар «е-Нотариат»
нотариустарға мемлекеттiк деректер базаларынан сенiмдi ақпараттар алу, алдамшылық әрекеттерден, атап айтқанда құжаттарды қолдан жасау және заңсыз мүлiктi иелiктен айырудан, қорғау сияқты бiрқатар артықшылықтар бередi.
Осы мақаланың мақсаты - iске асырылған қауiпсiздiк жүйенi әзiрлеу кезiнде қойылған талаптарына үйлесуiн саралау.
Perchenko A.S.
Securing connections using SSL in IS «e-Notary»
IS «e-Notary» - an information system developed in the framework of e-government. According to the Law "About Notary"in this system all notaries must keep an electronic register of notarial acts. Also, «e-Notary» provides a number of notaries public benefits, such as obtaining reliable information from government databases, as well as protection against fraud in particular
facts of falsification of documents and illegal appropriation of property. The purpuse of this article is the analysis of the implemented security system according to security requirements.
Поступила в редакцию 11.10.2011 Рекомендована к печати 18.10.2011
159