СПОСОБ И СИСТЕМА ОБМЕНА ИНФОРМАЦИОННЫМИ СООБЩЕНИЯМИ

1. Система обмена информационными сообщениями, содержащая серверы комплекса информационного обмена (КИО1, КИО2, КИО3, КИО4) и модули сопряжения (МС1, МС2, МС3) с прикладными информационными системами, соединенные каналами передачи данных, отличающаяся тем, что каждый сервер (КИО1, КИО2, КИО1, КИО4) непосредственно соединен каналом передачи данных с другим сервером (КИО1, КИО2, КИО3, КИО4), а каждый модуль сопряжения (МС1, МС2, МС3) с прикладными информационными системами непосредственно соединен каналом передачи данных с по меньшей мере двумя серверами (КИО1, КИО2, КИО3, КИО4), причем каждый сервер (КИО1-КИО4) и каждый модуль сопряжения (МС1-МС3) выполнен с возможностью:
рассылки непосредственно соединенным с ним серверам и модулям сопряжения служебных сообщений о своем статусе,
протоколирования в электронном виде на сервере или модуле отправителе и сервере или модуле получателе факта передачи и принятия служебного сообщения,
отсылки серверу или модулю отправителю подтверждения принятия либо дальнейшей передачи служебного сообщения,
причем модули сопряжения (МС1, МС2, МС3) содержат динамическую таблицу доступных им серверов (КИО1, КИО2, КИО3, КИО4), периодически обновляемой на основании служебных сообщений полученных непосредственно от серверов (КИО1, КИО2, КИО3, КИО4),
причем серверы (КИО1, КИО2, КИО3, КИО4) и модули сопряжения (МС1, МС2, МС3) выполнены с возможностью осуществлять взаимную проверку представленных авторизационных данных.
2. Система согласно п. 1, в которой каждая запись динамической таблицы содержит уникальный идентификатор и сетевой адрес серверов (КИО1, КИО2, КИО3, КИО4), а также время получения последнего служебного сообщения от данного сервера (КИО1, КИО2, КИО3, КИО4), записи о серверах (КИО1, КИО2, КИО3, КИО4), не отправляющих служебные сообщения в течение определенного периода времени, считаются устаревшими и удаляются, после чего данный сервер (КИО1, КИО2, КИО3, КИО4) не считается доступным для передачи сообщений, кроме того, запись динамической таблицы содержит: информацию о маршруте, который состоит из цепочки идентификаторов серверов (КИО1, КИО2, КИО3, КИО4), через которую можно передать сообщение для указанного получателя; приоритет маршрута, который вычисляется на основании длины цепочки серверов (КИО1, КИО2, КИО3, КИО4) меньше длина - выше приоритет, а также среднего времени обработки сообщения при использовании этого маршрута.
3. Способ обмена информационными сообщениями в системе обмена сообщениями по п. 1-2 формулы изобретения, содержащий следующие шаги:
(1) формирование идентификации сообщения и отправителя информационной системой отправителя;
(2) установление сетевого соединения информационной системой отправителя с назначенным ей модулем сопряжения (МС1, МС2, МС3);
(3) при успешном соединении - формирование запроса на установку защищенного соединения, и ожидание подтверждения от модуля сопряжения (МС1, МС2, МС3);
(4) обмен актуальными открытыми ключами между модулем сопряжения (МС1, МС2, МС3) и информационной системой отправителя,
(5) проверка модулем сопряжения (МС1, МС2, МС3) полученных ключей на соответствие узлу-отправителю и валидность с применением таблиц скомпрометированных ключей и вычисляемых хеш-функций;
(6) передача сформированного в информационной системе отправителя сообщения в модуль сопряжения (МС1, МС2, МС3);
(7) расшифровка полученного сообщения в защищенную область памяти модуля сопряжения (МС1, МС2, МС3), проверка целостности и соответствия отправителя переданного сообщения: вычисление и сравнение с хранящимся в сообщении значением хэш-функции, в качестве параметра для которой использовано двоичное представление тела сообщения; расшифровка цифровой подписи с использованием открытого ключа отправителя и сравнение с двоичным значением хэш-функции; при успешном прохождении проверок сообщение считается успешно принятым от установленного оправителя, вне зависимости от результатов, факт приема протоколируется в памяти модуля сопряжения (МС1, МС2, МС3);
(8) рассылка серверами (КИО1, КИО2, КИО3, КИО4) соединенным с ними модулям сопряжения (МС1, МС2, МС3) служебных сообщений с информацией о доступных через него маршрутах доставки информационных сообщений,
(9) вычисление модулем сопряжения (МС1, МС2, МС3) оптимального маршрута пересылки сообщения на основании информации, полученной на шаге (8) и пересылка сообщения модулем сопряжения (МС1, МС2, МС3) серверу комплекса информационного обмена (КИО1, КИО2, КИО3, КИО4), а от сервера (КИО1, КИО2, КИО3, КИО4) модулю сопряжения (МС1, МС2, МС3) и информационной системе получателя сообщения, либо непосредственно, либо последовательно через один или несколько других серверов (КИО1, КИО2, КИО3, КИО4), причем, процесс передачи сообщения между модулем сопряжения (МС1, МС2, МС3) отправителя сообщения, сервером или серверами (КИО1, КИО2, КИО3, КИО4), модулем сопряжения (МС1, МС2, МС3) получателя сообщения и информационной системой получателя сообщения аналогичен вышеуказанному процессу передачи сообщения между информационной системой отправителя и модулем сопряжения (МС1, МС2, МС3), где в процессе передачи сообщения используются секретные ключи непосредственно участвующих узлов; заголовок сообщения не формируется, а дополняется, в частности, фактом использования промежуточных узлов; при использовании преобразования заголовок сообщения дополняется записью о произведенных изменениях, тело сообщения дополняют исходным значением хэш-функции.
4. Способ по п. 3, где шаг (5) осуществляется следующим образом:
(а) информационная система отправителя формирует случайный набор симметричных ключей, зашифровывает его с использованием своего секретного ключа и передает в виде пакета соответствующему модулю сопряжения (МС1, МС2, МС3);
(б) модуль сопряжения (МС1, МС2, МС3) расшифровывает полученный пакет с использованием открытого ключа информационной системы отправителя, полученный результат зашифровывает своим секретным ключом и передает в виде пакета информационной системе отправителя;
(в) информационная система отправителя расшифровывает пакет с использованием открытого ключа модуля сопряжения (МС1, МС2, МС3);
(г) информационная система отправителя производит сравнение исходного набора и результата расшифровки, в случае их идентичности из набора выбирается один случайный симметричный ключ, известный теперь обеим сторонам, который используется для шифрования любых данных, передаваемых через данное соединение;
(д) через соединение, зашифрованное симметричным ключом, передается сообщение, ответом на него является подтверждение получения,
причем процедура проверки полученных ключей завершается с ошибкой в случае, если на любом из шагов не выполняется требуемое условие; вне зависимости от результатов, каждый шаг протоколируется в информационной системе отправителя и модуле сопряжения (МС1, МС2, МС3).
5. Способ по п. 3 или 4, где при возникновении ошибок, вызванных процедурами шифрования с использованием секретного ключа, процедура повторяется с использованием резервной пары ключей по согласованию между модулем сопряжения (МС1, МС2, МС3) и информационной системой отправителя; в случае успешного прохождения процедуры с использованием резервной пары ключей, первоначальный ключ считается скомпрометированным; если повторная процедура также прошла неуспешно, резервный ключ также считается скомпрометированным и обмен с данным узлом приостанавливается до получения новых ключей; о скомпрометированных ключах делается запись в таблице скомпрометированных ключей в памяти модуля сопряжения (МС1, МС2, МС3), а также рассылается служебное сообщение для соседних узлов с информацией о факте компрометации.
6. Способ по любому из п. 3-5, где формирование идентификации сообщения и отправителя информационной системой отправителя осуществляется следующим образом:
(а) формирование заголовка сообщения в информационной системе отправителя, содержащего идентификаторы отправителя и конечного получателя;
(б) вычисление и занесение информационной системой отправителя в тело сообщения значения хэш-функции, в качестве параметра для которой использовано двоичное представление тела сообщения;
(с) формирование информационной системой отправителя электронной подписи отправителя, на основе секретного ключа отправителя и двоичного представления значения хэш-функции.
7. Способ по п. 3, где на шаге (8) модуль сопряжения (МС1, МС2, МС3) рассылает доступным серверам (КИО1, КИО2, КИО3, КИО4) информацию о списке идентификаторов информационных систем, для которых он принимает сообщения, причем модули сопряжения (МС1, МС2, МС3) хранят таблицу скомпрометированных
ключей, таблицу, содержащую записи, протоколирующие прохождение сообщений, а также динамическую таблицу доступных соответствующему модулю сопряжения (МС1, МС2, МС3) серверов (КИО1, КИО2, КИО3, КИО4), периодически обновляемую на основании служебных сообщений полученных от серверов (КИО1, КИО2, КИО3, КИО4), причем каждая запись этой таблицы содержит уникальный идентификатор и сетевой адрес сервера (КИО1, КИО2, КИО3, КИО4), используемый в среде передачи данных, а также время получения последнего служебного сообщения от данного сервера (КИО1, КИО2, КИО3, КИО4), где записи о сервере (КИО1, КИО2, КИО3, КИО4), не отправляющего служебные сообщения в течение определенного периода времени, считаются устаревшими и удаляются, после чего данный сервер (КИО1, КИО2, КИО3, КИО4) не считается доступным для передачи сообщений.
8. Способ по п. 3, где на шаге (9), в случае, если в момент передачи сообщения доступен более, чем один сервер (КИО1, КИО2, КИО3, КИО4), модуль сопряжения (МС1, МС2, МС3) назначает приоритет маршрута пересылки в зависимости от времени получения служебного сообщения, чем меньше время получения - тем выше приоритет.
9. Способ по п. 3, где на шаге (8), в случае если доставка получателю сообщения через конкретный узел по каким-либо причинам невозможна, сообщение об этом передается узлу, стоящему предыдущим в маршруте; на основании чего, узел, получивший соответствующее сообщение определяет альтернативный маршрут передачи информационного сообщения, либо, при невозможности реализации такого шага формирует и отправляет соответствующее информационное сообщение отправителю.
10. Способ по п. 3, где после шага (7), модуль сопряжения (МС1, МС2, МС3) преобразует полученное сообщение в универсальный в пределах комплекса информационного обмена формат, сохраняя или не сохраняя оригинальное сообщение.