Ср, 2015-05-20
LKM модуль для постановки и считывания меток для CIDR в kernel-space прикладными программами
Ср, 2014-12-10
Создан модуль ядра ОС Linux, обеспечивающий передачу TCP/IP трафика L2TP (2 и 3 версии) туннелей с моста на "прозрачный" прокси сервер
Втр, 2014-11-25
Разработан модуль ядра OC Linux, обеспечивающий передачу TCP/IP трафика VLAN с моста (bridge) на "прозрачный" (transparent) прокси.

Система защиты сетевого трафика

     Основное назначение программной системы (далее - Система) - выполнение прозрачной криптозащиты прикладного сетевого трафика в операционной системе (далее - ОС) Linux. Система расширяет функциональные возможности ОС Linux в следующем объеме:

  • шифрование прикладных данных (payload) протоколов udp/tcp в ядре ОС;
  • определение ключей шифрования на основе сетевых данных: ключ для сети (возможно опредение разных ключей для разных сетей), ключ для пары сетевых адресов (точка - точка, возможно определение разных ключей для разных пар);
  • управление модулем защиты по протоколу на базе Netlink.

     Составные элементы системы и их место в ОС Linux представлены на рис.

На рисунке используются следующие цветовые обозначения:

  1. зеленый – компоненты системы;
  2. синий – программы ОС Linux, являщиеся объектами сетевого взаимодействия с внешними хостами;
  3. желтый – физические устройства;
  4. серый – программные интерфейсы модулей.

     Основные преимущества системы

  1. Программы сетевого взаимодействия не требуют пересборки или какой-либо модификации для защиты сетевого трафика.
  2. Высокие скорости сетевого взаимодействия предъявляют жесткие требования к производительности операций шифрования/дешифрования. Тесты показывают, что скорость шифрования в ядре более высокая, чем в пользовательском окружении (userspace). Например, AES, реализованный в ядре, обеспечивает прирост скорости в 2,5 раза. Кроме того, дополнительно скорость можно повысить путем добавления специальных устройств, поддерживаемых криптомодулем ядра.
  3. Перечень алгоритмов шифрования расширяется путем написания LKM-модулей, данные модули для реализации своих функций могут использовать внешние устройства.

      На данный момент для ядра 2.6 поддерживаются следующие алгоритмы:

  • DES;
  • Triple DES EDE;
  • Blowfish;
  • Twofish;
  • Serpent;
  • AES;
  • CAST5 (CAST-128);
  • CAST6 (CAST-256).