ЗАПАРАЛЛЕЛЕННАЯ СИСТЕМА И СПОСОБ ОБРАБОТКИ
SYSTEM AND DEVICE FOR PARALLELISED PROCESSING

Объектом настоящего изобретения являются запараллеленная система и способ ее обработки, то есть где несколько элементарных звеньев, содержащих блок маршрутизации и блок обработки, выполнены параллельно, что позволяет одновременно обеспечивать функции безопасности в устройстве и надежное разграничение, разделяющее два разных уровня безопасности.
Изобретение применяют, например, в области безопасности информационных систем. В частности, изобретение касается параллельного выполнения или «запараллеливания» функций безопасности, позволяющих гарантировать разграничение чувствительной информации. Таким образом, функции безопасности могут применяться с высокой пропускной способностью или могут достигать большой производительности, тогда как используемые аппаратные и/или программные ресурсы имеют невысокую пропускную способность или небольшую производительность. При этом строго соблюдаются важные свойства безопасности, такие как разграничение. Изобретение можно применять, например, для следующих устройств: высокоскоростных IP-шифраторов, шифраторов высокоскоростных магистральных линий связи (в частности, Ethernet), высокоскоростных брандмауэров.
В области обеспечения безопасности информационных систем необходимо гарантировать, чтобы информация подвергалась определенному количеству обработок, прежде чем пройти границу (или разграничение), расположенную между двумя зонами, имеющими разные уровни безопасности.
Например, на фиг.1 схематично показана передача информации А, находящейся в области с высоким уровнем чувствительности, к более низкому уровню В чувствительности, во время которой информация А была трансформирована. В частности, необходимо иметь возможность убедиться, что информация с высоким уровнем заданной чувствительности не оказывается неизмененной, проходя в область с низким уровнем чувствительности.
Среди видов трансформации безопасности, которые позволяют переходить из одной области в другую, наиболее распространенными являются:
- криптографическая обработка передаваемых данных для обеспечения конфиденциальности и/или целостности,
- фильтрационная обработка для отсечения информации, не разрешенной к прохождению из одной области в другую,
- обработка журнализации, чтобы сохранять след выполненных действий и позволить последующий анализ.
Некоторые из этих видов трансформации являются очень дорогими с точки зрения обработки и трудновыполнимыми с соблюдением высокого уровня пропускной способности. Действительно, их осуществляют аппаратными или программными средствами, мощность которых ограничена.
Поскольку трансформации безопасности, соответствующие длительной обработке, требуют большого объема ресурсов, одним из решений является запараллеливание обработки безопасности с использованием быстрой маршрутизации данных в направлении свободного ресурса. Чтобы это решение работало, маршрутизация должна быть, в частности, более скоростной, чем трансформация безопасности (соответствующая нескольким обработкам, производимым на данных, проходящих из одной области повышенного уровня безопасности к области с менее высоким уровнем безопасности).
В патенте FR 2863076 раскрыта криптографическая система с модульной архитектурой, позволяющая при помощи материальных средств применять протоколы безопасности с высокой пропускной способностью и с высоким уровнем безопасности. Решение по обеспечению безопасности, раскрытое в этом патенте, касается продуктов высокоскоростного шифрования, интегрированных в коммуникационные сети или в информационные системы.
Из предшествующего уровня техники известны также устройства безопасности типа брандмауэров и шифраторов, позволяющих гарантировать высокий уровень безопасности.
Кроме того, существуют механизмы параллельного выполнения обработок в области эксплуатационных систем. Например, на фиг.2 схематично показана параллельная архитектура типа сетки. Однако эта архитектура не обеспечивает надежного разграничения.
На фиг.3 представлен механизм параллельного выполнения, применяемый в такой архитектуре. В сетке все линии связи потенциально могут передавать прямую «красную» и «черную» информацию, как ее обычно называют в технической области.
Несмотря на свою эффективность, известные устройства имеют следующие недостатки:
- Они не позволяют выполнять параллельно обработки безопасности. Следовательно, их производительность ограничена производительностью блоков, осуществляющих обработку безопасности.
- Архитектура этого типа не позволяет развивать и адаптировать решения по безопасности (например, устройство шифрования) к новым условиям сетей, таких как новое использование, новый стандарт, новые протоколы и т.д.
- Кроме того, существующие механизмы параллельного выполнения или «запараллеливание» просто-напросто несовместимы со строгим разграничением между областями разной чувствительности.
Настоящим изобретением предлагается новый подход с использованием модульного устройства, выполненного с возможностью параллельного выполнения этих обработок при одновременном обеспечении разграничения чувствительной информации. Модульное устройство содержит несколько элементарных звеньев обработки данных, при этом каждое звено содержит блок маршрутизации и блок обработки. Таким образом, трансформации безопасности можно производить с высокой скоростью, продолжая при этом использовать аппаратные или программные средства, обычно используемые специалистом в данной области.
Объектом настоящего изобретения является система для обработки данных, которые можно обменивать между, по меньшей мере, первой областью, имеющей уровень безопасности А, и второй областью, имеющей уровень безопасности В, при этом А отличается от В, система, отличающаяся тем, что содержит, по меньшей мере, одно элементарное звено EEi, содержащее модуль маршрутизации URi и устройство UTi обработки данных, при этом модуль маршрутизации URi содержит, по меньшей мере, один вход li в область с уровнем безопасности А для предназначенных для обработки данных и, по меньшей мере, один первый выход Pi для данных, которые не были обработаны и которые остаются в области с уровнем безопасности А, и второй выход Li, соединенный с устройством обработки UTi, для обработанных данных, которые проходят в область с уровнем безопасности В через выход Oi.
Например, она содержит несколько элементарных звеньев, выполненных параллельно друг с другом таким образом, чтобы выход Pi блока маршрутизации URi для необработанных данных был соединен с входом lj блока маршрутизации URj другого элементарного звена EEj.
Элементарные звенья могут быть расположены согласно древовидной топологии.
Элементарные звенья соответствуют, например, кольцевидной топологии, при этом область А образует внешнее кольцо, в котором находятся несколько элементарных звеньев, при этом каждое элементарное звено EEi содержит второй вход input2, при этом выход Pi элементарного звена EEi соединен со вторым входом li+1 следующего элементарного звена EEi+1, при этом каждое элементарное звено соединено выходом Oi с областью В.
Объектом изобретения является также способ обработки данных в системе, содержащей, по меньшей мере, две области, имеющие разные уровни безопасности, при этом первая область имеет уровень безопасности А, а вторая область - уровень безопасности В, отличающийся тем, что содержит, по меньшей мере, следующие этапы:
- в области с уровнем безопасности А принимают предназначенные для обработки данные,
- предназначенные для обработки данные передают на вход первого модуля маршрутизации URi,
- проверяют, свободен ли для обработки данных блок обработки UTi, связанный с этим модулем маршрутизации,
- если блок обработки UTi свободен, обрабатывают данные, которые проходят в область с уровнем безопасности В,
- если блок обработки UTi не свободен, данные остаются в области с уровнем безопасности А и:
- либо передаются, по меньшей мере, в один блок маршрутизации другого элементарного звена через выход PASS,
- либо удаляются из системы, оставаясь при этом в области с уровнем безопасности А.
Элементарные звенья располагают согласно топологии типа векторной (которая соответствует открытой кольцевой топологии) или матричной (которая соответствует совокупности векторов).
Другие отличительные признаки и преимущества настоящего изобретения будут более очевидны из нижеследующего описания, представленного в качестве иллюстративного и не ограничительного примера, со ссылками на прилагаемые фигуры, на которых:
Фиг.1 - пример обработки данных между разными уровнями безопасности.
Фиг.2 и 3 - пример параллельной архитектуры типа сетки и применяемых механизмов (предшествующий уровень техники).
Фиг.4 - функциональная схема элементарного звена в соответствии с настоящим изобретением.
Фиг.5 - пример внутренней архитектуры элементарного звена, содержащего блок маршрутизации и блок обработки, соединенные внутренней линией связи. Элементарные звенья выполнены с возможностью соединения друг с другом.
Фиг.6А - упрощенный пример соединения между элементарными звеньями согласно векторной топологии (соединения PASS - вход) и
Фиг.6В - более детальный вид соединения между элементарными звеньями и, в частности, между образующими их блоками маршрутизации и обработки.
Фиг.7 - блок-схема работы устройства в соответствии с настоящим изобретением.
Фиг.8 и 9 - примеры различных вариантов выполнения согласно кольцевидной топологии.
Фиг.10-12 - примеры различных вариантов выполнения согласно древовидной топологии.
Фиг.13 и 14 - примеры различных вариантов выполнения согласно топологии типа матричной.
Архитектура в соответствии с настоящим изобретением обеспечивает, в частности, две функциональные возможности:
- Использование комбинаций элементарных звеньев EEi, выполненных, каждое, с возможностью осуществления необходимых трансформаций безопасности,
- Маршрутизация предназначенных для обработки данных в свободное элементарное звено EEi.
На фиг.4 показана эта архитектура, где вход «l», соответствующий предназначенным для трансформации данным, находится на входе элементарного звена EEi.
При этом возможны два выхода:
- выход «O», где происходит шифровка и дешифровка единицы данных. Эта единица данных после обработки выходит из системы и направляется, например, в сеть или в любое другое устройство,
- выход «PASS» или Р, соответствующий единице данных, которая не была обработана (шифровка, дешифровка или любая другая обработка). Поэтому она не выходит из запараллеленной шифрующей системы в соответствии с настоящим изобретением.
На фиг.2 схематично и функционально показано элементарное звено в соответствии с настоящим изобретением, позволяющее увеличить возможности обработки системы. В частности, это звено должно обеспечивать параллельное выполнение или «запараллеливание» обработок, соответствующих трансформациям безопасности, необходимым для перехода из одной области безопасности в другую, например, из области А в область В, как показано на фиг.1. Эти трансформации осуществляют блоки обработки UT, мощность которых, как правило, ограничена.
На фиг.4 показана функциональная схема элементарного звена EEi в соответствии с настоящим изобретением, предназначенного для шифровки информации и содержащего два уровня:
- Уровень маршрутизации, реализуемый блоком маршрутизации URi, где i является индексом, соответствующим месту блока в системе обработки,
- Уровень обработки безопасности, реализуемый блоком обработки UTj, где j является местом блока обработки в системе.
Чтобы данный механизм действовал, блок маршрутизации должен быть более реактивным (короткое время обработки), чем блок обработки безопасности (продолжительное время обработки).
Выполнение параллельными или «запараллеливание» элементарных звеньев тем полезнее и эффективнее, чем короче время обработки маршрутизации по сравнению с трансформациями безопасности.
Оба блока могут быть связаны между собой, в частности, информацией о состоянии занятости или незанятости блока обработки.
На фиг.5 показан пример архитектуры запараллеленной системы в соответствии с настоящим изобретением.
На этой фигуре показаны первая область с уровнем чувствительности А и вторая область с уровнем чувствительности В. В этом примере уровень чувствительности А выше, чем уровень чувствительности В, то есть, прежде чем покинуть первую область А в направлении области В, информация должна быть обработана.
Линия разграничения двух областей показана линией L. В этом примере выполнения система содержит блок маршрутизации UR, содержащий несколько входов l1, …, lN, несколько выходов типа PASS Р1, …, PN, внутреннюю линию связи LI, соединяющую блок маршрутизации UR с блоком обработки UT, при этом блок обработки содержит выход О для обработанных данных, то есть для зашифрованных или дешифрованных данных в зависимости от требуемого применения.
На фиг.6А показана система в соответствии с настоящим изобретением, содержащая N элементарных звеньев, каждое из которых содержит блок маршрутизации URi и блок обработки UTi. Блок маршрутизации UR1 содержит первый вход l1, принимающий предназначенные для обработки данные из области А (например, с высоким уровнем чувствительности), первый выход «Ri1», через который предназначенная для обработки единица данных направляется на вход Ti1 соответствующего блока обработки UT1, второй выход Р1, через который проходят данные, которые не были направлены в соответствующий блок обработки UT1.
После того как блок обработки UT1 завершил обработку кадра данных, этот кадр будучи защищенным или трансформированным направляется в область В (низкий уровень чувствительности) через выход О1.
Второй выход Р1 связан, например, с первым входом l2 блока маршрутизации UR2, входящего в состав второго элементарного звена ЕЕ2.
Блок обработки UTi регулярно или непрерывно передает в соответствующий блок маршрутизации URi индикацию незанятости. Блок UTi может принять поток предназначенных для обработки данных или может быть занятым. В этом последнем случае блок обработки UTi не должен принимать предназначенную для обработки информацию, потому что он занят. Предназначенные для обработки данные, идущие из выхода «PASS» блока маршрутизации, передаются в другое элементарное звено.
Последовательность обработки данных осуществляется, например, следующим образом: для каждого элементарного звена EEi по поступлению предназначенных для обработки данных на вход «li» соответствующий блок маршрутизации URi проверяет незанятость связанного с ним блока обработки UTi.
Если этот блок свободен, блок маршрутизации URi передает данные в блок обработки UTi. Блок обработки UTi производит трансформации безопасности и обеспечивает разграничение между различными уровнями безопасности (А и В).
Если связанный с ним блок обработки UTi занят и не может принимать предназначенную для обработки информацию, в этом случае блок маршрутизации URi ищет выход «PASSi», который можно использовать для передачи предназначенных для обработки данных в другое элементарное звено EEk:
- Если выход «PASS» позволяет попасть в свободное элементарное звено или, точнее, в его свободный блок обработки, то данные передаются через него,
- Если ни один блок обработки не свободен, данные исключаются или проходят другую обработку.
На фиг.6В детально показано соединение между элементарными звеньями или, точнее, линии связи между образующими их блоками маршрутизации и обработки.
Корневое звено, в данном примере EEi, может только обрабатывать при помощи своего UTi весь трафик, поэтому часть необработанных кадров данных переправляется в элементарное звено «лист EEj» (так как его способность маршрутизации URi больше, чем его способность обработки UTi).
В данном случае показан пример с двумя EEs, однако можно добавить и другие «листы или EEs»: необходимо соединить их между собой согласно описанному выше принципу: соединить порт lz листа EEz с портом Рх корня EEx.
Чтобы упростить чертеж, каждое EEs содержит только один коммуникационный порт «Pi». Но это всего лишь пример, можно было бы использовать 2 порта «Pi» (см. фиг.12) или больше: это зависит от потребностей трафика (от плотности трафика и от мощности блоков Utx). Чем больше добавляют портов Py, тем сложнее становится дерево.
Поток, показанный на фиг.6В, является однонаправленным, чтобы упростить чертеж. Разумеется, он может быть двунаправленным: например, речь может идти о потоке, который сразу шифруется или дешифруется, если EEs имеют IP-шифраторы.
Uri (или Urj) является вспомогательным блоком маршрутизации, который находится после блока обработки для выходящего потока. Направление стрелок указывает поток, который выходит из области А и который направляется в область В. Это направление может также быть противоположным, так как элементарные звенья могут обрабатывать двунаправленные потоки (например, в случае шифраторов, которые могут производить шифровку и дешифровку). Конструктивно блок маршрутизации устанавливают перед блоком обработки, но в случае двунаправленного трафика внутренняя структура элементарного звена, естественно, является симметричной с блоком обработки, окруженным с двух сторон двумя блоками маршрутизации.
Связь L1 используют, если блок обработки UTi свободен. В этом случае поток после обработки направляется на Oj.
Связь L2 используют после того, как блок обработки UTi завершил обработку кадров, принятых на Li; в этом случае он свободен для обработки других данных.
Связь L3 используют, если блок обработки UTi занят, так как его мощность обработки ограничена по отношению к входящему (на Li) потоку.
Связь L4 используют, если блок обработки UTj свободен. В этом случае после обработки поток направляют на Oj.
Связь L5 используют, если блок обработки UTj занят, так как его мощность обработки ограничена по отношению к входящему на lj потоку. Эту связь соединяют с другим входом lh другого звена EEh.
Пример последовательности этапов показан на фиг.7. Вкратце их можно представить следующим образом:
I - поступление новой единицы данных, предназначенной для обработки путем трансформации безопасности, 1;
II - блок обработки UTi элементарного звена EEi свободен?, 2;
- Если «да», то данные проходят обработку и направляются на выход «Oi», они проходят в область, имеющую другой уровень чувствительности, 3;
- Если «нет», данные не проходят обработку в этом элементарном звене EEi, 4, блок маршрутизации URi старается перенаправить эти данные в другое элементарное звено EEk. При этом проверяют или не проверяют, - что зависит от применяемых правил маршрутизации, - указывает ли выход типа «PASS» на незанятость другого элементарного звена, 5. Если «да», блок маршрутизации передает через выход «PASS» предназначенные для обработки данные в другое элементарное звено, 6. Во время этой операции все происходит в одной и той же области чувствительности. Если нет ни одного свободного элементарного звена, единицу данных исключают или повторно обрабатывают, 7. Данные не выходят из первоначальной области чувствительности.
Таким образом, соблюдается разграничение данных в области безопасности, которая им присуща.
Элементарные звенья соединены между собой путем подключения выходов типа «PASS» одного элементарного звена, точнее, блока маршрутизации URi элементарного звена EEi к входам типа «lk» другого элементарного звена EEk, как правило, к входам блока маршрутизации URk звена EEk.
Согласно варианту выполнения изобретения процедуру, позволяющую доставить предназначенные для обработки данные в свободное элементарное звено, можно описать следующим образом.
Распространение информации о незанятости
Если блок обработки UTi элементарного звена EEi свободен, он сигнализирует об этом своему блоку маршрутизации URi через внутреннюю линию связи «Lli», показанную на фиг.6.
Когда блок маршрутизации URi принимает информацию о незанятости связанного с ним блока обработки UTi, он сигнализирует об этом всем элементарным звеньям, подсоединенным ко всем его входам «INPUT».
Когда блок маршрутизации URi принимает на одном из своих входов/выходов «PASS» информацию о том, что блок обработки UTi свободен:
- Он сигнализирует об этом всем элементарным звеньям, подключенным ко всем его входам «li»;
- Он сохраняет информацию о незанятости блока обработки UTi, используя вход/выход «PASS», на который поступила информация о незанятости.
Передача предназначенных для обработки данных в свободное элементарное звено
Когда блок маршрутизации URi принимает предназначенные для обработки данные, блок маршрутизации:
- смотрит, свободен ли его соответствующий блок обработки UT:
- Если он свободен, направляет в него предназначенные для обработки данные.
- Если он не свободен, ищет среди своих входов/выходов «PASS» тот вход/выход, который содержит указание о незанятости.
- Если он находит такой вход/выход, передает предназначенные для обработки данные на этот вход/выход «PASS».
- Если он не находит такого входа/выхода, уничтожает предназначенные для обработки данные или производит другую обработку (например, перевод во временное состояние ожидания).
Существует несколько вариантов применения описанных выше способа и системы в зависимости от уровня реализации, предусмотренного пользователем.
Блоки маршрутизации UR и обработки UT могут быть программными компонентами. В этом случае систему можно выполнить в виде программных модулей, работающих в среде, обеспечивающей разграничение между модулями, например, защищенных эксплуатационных систем.
Блоки маршрутизации UR и обработки UT могут быть аппаратными компонентами типа ASIC (…) FPGA (Field Programmable Gate Array), микропроцессоров и т.д. В этом случае систему выполняют в виде платы, архитектурно расположенной вокруг системы электронных компонентов.
Блоки маршрутизации UR и обработки UT могут быть модулями безопасности типа электронных плат. В этом случае систему можно выполнить в виде корпуса, архитектурно расположенного вокруг параллельной системы плат или модулей безопасности.
Элементарное звено является оборудованием безопасности, например шифратором IP (Internet Protocol). В этом случае система в соответствии с настоящим изобретением является совокупностью мини-звеньев безопасности, которые могут быть мини-шифраторами, совместно образующими шифратор большей производительности.
В рамках последнего описанного выше варианта можно в дальнейшем производить подключение и, следовательно, добавление любого дополнительного звена, соединив выход «PASS» с входом другого звена. При этом возможны любые сетевые топологии, некоторые из которых представлены ниже.
Примеры возможных топологий
На фиг.6 показан пример векторного выполнения, где элементарные звенья ЕЕ соединены друг с другом (так, как они могли бы быть соединены в виде открытого кольца):
1
2
На фиг.8 и 9 показан пример выполнения в виде кольца, где элементарные звенья распределены в виде кольца. Вход input соответствует предназначенной для дешифровки единице данных, которая может проходить через несколько элементарных звеньев ЕЕ, ЕЕ… в зависимости от незанятости соответствующих блоков обработки UT.
На этой схеме хорошо показано, что «запараллеленная» шифрующая схема является отсечной системой: то есть, она прекрасно разграничивает области А и В, отделяя входы «l» от выходов «О».
Действительно, чтобы перейти из области В в область А, то есть от входа «lc» к выходу «Ос», необходимо пересечь кольцо безопасности, образованное элементарными звеньями EEi.
Стрелки в нижней части фигуры соответствуют входящим предназначенным для шифровки данным. Они проходят в первое элементарное звено ЕЕ8, затем во второе звено ЕЕ7, в котором данные шифруются и проходят в область А через выход О7 звена ЕЕ7.
Чтобы перейти из области А в область В, то есть от входа «ld» на выход «Od», необходимо также пересечь систему, причем независимо от внутреннего пути (переход через одно или несколько элементарных звеньев, то есть через один или несколько выходов PASS).
Стрелки в верхней части фигуры соответствуют входящим предназначенным для дешифровки данным. Они проходят в первое элементарное звено ЕЕ1, затем во второе звено ЕЕ2, в котором данные дешифруются и проходят в область В через выход О2 звена ЕЕ2.
На фиг.9 схематично показан пример выполнения, в котором область А представлена внешним кольцом, внутри которого расположены несколько элементарных звеньев ЕЕ1, ЕЕ2, ЕЕ3, ЕЕ4, которые принимают предназначенные для обработки данные на первом входе Е1 и которые после трансформации направляют их в область В.
i
2+1
i+1
Элементарные звенья EEi соединены между собой путем подключения выходов «PASS» P одного элементарного звена к входу «l» другого элементарного звена EE. Это не влечет за собой никаких ограничений по отношению к создаваемым топологиям. Предназначенные для обработки данные направляются на входы элементарных звеньев. Обработанные данные передаются, например, из области А в область В через выходы О каждого из элементарных звеньев.
Не выходя за рамки настоящего изобретения, можно поменять направление обработки данных на противоположное, чтобы переходить из области В в область А. В этом случае выходы О играют роль входа, и входы I1 соответствуют обработанным данным.
На фиг.10, 11 и 12 показаны примеры выполнения согласно древовидной топологии.
Обозначим I вход в глобальную систему; в случае, если блок обработки UT занят, в этой схеме существует три возможных выхода pass.
К дереву можно также добавить новый лист, при этом лист соответствует элементарному звену.
На фиг.13 и 14 показана топология в виде матрицы, называемая обычно mesh или сеткой или ячеистой топологией.
На фиг.13 показан пример, содержащий две защищенные зоны с уровнями N1 и N2 и незащищенную зону IP (уровень N3). В нижней части фигуры детально показана обработка информации, поступающей в защищенную систему. Квадратом показано элементарное звено в соответствии с настоящим изобретением, работающее согласно принципу, показанному, например, на фиг.4-6.
Эта схема имеет следующие преимущества:
- Обеспечивает высокоскоростную работу многоуровневой системы, адаптированной к потребностям пользователей.
- Показывает эффективность принципа защищенных узловых логических схем и все возможности взаимного соединения и, следовательно, перехода информации от элементарного звена к элементарному звену (например, от шифраторов к шифраторам).
В частности, система и способ в соответствии с настоящим изобретением имеют следующие преимущества:
- Наилучшее использование элементарных звеньев для обеспечения более высокого качества обслуживания.
- Соблюдение разграничения между областями с разными уровнями безопасности.
- Простота применения функции маршрутизации, совместимой с высокой пропускной способностью, необходимой для некоторых систем.
- Распределенная и динамичная функция маршрутизации.
- Решение работает с любыми видами топологий.
- Решение остается независимым от произведенных обработок безопасности.
- Решение является простым в применении и может быть развито в зависимости от потребностей пользователя.