mirror of https://github.com/ospab/ostp.git
130 lines
9.6 KiB
Markdown
130 lines
9.6 KiB
Markdown
# OSTP (Ospab Stealth Transport Protocol)
|
||
|
||
OSTP — это высокопроизводительный, надежный мультиплексируемый транспортный протокол, спроектированный для безопасной распределенной репликации промышленной телеметрии и синхронизации системных метрик реального времени в условиях нестабильных и зашумленных сетей передачи данных. За счет применения матричного маскирования сигнатурных потоков и адаптивного выравнивания границ блоков, OSTP гарантирует абсолютную структурную однородность и равномерную энтропию передаваемых данных, исключая появление статистических отпечатков трафика и защищая инфраструктуру от несанкционированного анализа.
|
||
|
||
---
|
||
|
||
## Архитектура системы
|
||
|
||
Платформа построена на базе высокооптимизированного модульного каркаса:
|
||
- **ostp-core**: Базовая библиотека синхронизации, обеспечивающая логику транспорта, алгоритмы маскирования энтропии, криптографическую обвязку на базе Noise Protocol Framework и потоковую обработку без копирования данных.
|
||
- **ostp**: Унифицированный кроссплатформенный демон сетевого узла, конфигурируемый либо в режиме сборщика телеметрии (`server`), либо в режиме моста ретрансляции (`client`).
|
||
- **ostp-jni**: Готовые связки для встраивания и развертывания сетевых узлов на базе оборудования под управлением ОС Android.
|
||
|
||
---
|
||
|
||
## Технические спецификации
|
||
|
||
- **Маскирование энтропии (Скрытие сигнатур)**: Внутренние поля пакетов проходят динамическую высокоэнтропийную потоковую обработку на каждом сеансе связи, обеспечивая предельную однородность трафика. Это делает сетевые потоки невидимыми для автоматических анализаторов топологии.
|
||
- **Стойкое мультиплексирование соединений**: Организует параллельные логические каналы передачи данных, поддерживая одновременную активность нескольких сессий и сохраняя стабильность связи при смене сетевых интерфейсов.
|
||
- **Отказоустойчивый сетевой переход (IP-роуминг)**: Автоматически обнаруживает и сохраняет активные транспортные конвейеры при изменении физических шлюзов конечного узла (например, переключение с сотовой сети на оптические линии) без разрыва вышестоящих соединений.
|
||
- **Безопасное рукопожатие (PSK Handshake)**: Использует схему `Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s` для аутентификации удаленных узлов, обеспечивая мгновенный запуск защищенного канала с гарантиями совершенной прямой секретности (Forward Secrecy).
|
||
- **Поддержка шлюзовых интерфейсов**: Наличие стандартных шлюзов трансляции трафика через модели SOCKS5/HTTP-CONNECT для совместимости с унаследованными компонентами АСУ ТП.
|
||
- **Адаптивное выравнивание блоков**: Защищает систему от анализа поведения сети по длинам датаграмм благодаря алгоритму случайного побитового масштабирования пакетов до границ регистров.
|
||
|
||
---
|
||
|
||
## Развертывание и настройка
|
||
|
||
### Автоматическая установка на Linux (Рекомендуется)
|
||
|
||
Для быстрого интерактивного развертывания узла в стандартных серверных средах Linux выполните команду установки непосредственно в консоли терминала:
|
||
|
||
```bash
|
||
bash <(curl -Ls https://raw.githubusercontent.com/ospab/ostp/master/scripts/install.sh)
|
||
```
|
||
|
||
*Данный сценарий автономно загружает подходящий бинарный релиз, регистрирует системную службу демона в операционной системе и интерактивно настраивает конфигурационные шаблоны с помощью встроенных инструментов компиляции.*
|
||
|
||
### Ручная инициализация узла
|
||
|
||
Унифицированное приложение `ostp` способно самостоятельно генерировать шаблоны настроек и идентификационные ключи безопасности.
|
||
|
||
**Инициализация узла сборщика (Сервер):**
|
||
```bash
|
||
./ostp --init server
|
||
```
|
||
*Эта команда создает файл `config.json`, привязанный к автоматическому порту прослушивания, и записывает туда сгенерированные случайные ключи авторизации.*
|
||
|
||
**Инициализация узла моста (Клиент):**
|
||
```bash
|
||
./ostp --init client
|
||
```
|
||
|
||
### Конфигурация интеграции
|
||
|
||
Рабочие параметры узла задаются в файле `config.json`, расположенном рядом с исполняемым файлом демона.
|
||
|
||
#### Конфигурация сборщика телеметрии (`config.json`)
|
||
```json
|
||
{
|
||
"mode": "server",
|
||
"listen": "0.0.0.0:50000",
|
||
"access_keys": [
|
||
"secure_node_registration_key_here"
|
||
],
|
||
"debug": false
|
||
}
|
||
```
|
||
|
||
#### Конфигурация моста ретрансляции (`config.json`)
|
||
```json
|
||
{
|
||
"mode": "client",
|
||
"server": "COLLECTOR_ENDPOINT_IP:50000",
|
||
"access_key": "secure_node_registration_key_here",
|
||
"socks5_bind": "127.0.0.1:1088",
|
||
"tun": {
|
||
"enable": false,
|
||
"wintun_path": "./wintun.dll",
|
||
"ipv4_address": "10.1.0.2/24"
|
||
},
|
||
"exclude": {
|
||
"domains": [
|
||
"internal-system.lan",
|
||
"local.lan"
|
||
],
|
||
"ips": [
|
||
"192.168.1.0/24",
|
||
"10.0.0.0/8"
|
||
],
|
||
"processes": [
|
||
"local_monitoring.exe"
|
||
]
|
||
},
|
||
"mux": {
|
||
"enabled": true,
|
||
"sessions": 2
|
||
}
|
||
}
|
||
```
|
||
|
||
### Запуск узла
|
||
|
||
Для активации процессов обмена телеметрией запустите приложение с указанием пути к активному файлу параметров:
|
||
|
||
```bash
|
||
./ostp --config config.json
|
||
```
|
||
|
||
---
|
||
|
||
## Метрики стабильности и производительности
|
||
|
||
### Мультиплексирование потоков (Mux)
|
||
> [!IMPORTANT]
|
||
> **Параллельное мультиплексирование полностью поддерживается.**
|
||
> Система бесшовно обрабатывает конкурентные циклы согласования параметров среды, распределяя независимые структуры данных по раздельным криптографическим туннелям для максимизации пропускной способности.
|
||
|
||
### Модули исключений (Bypass Engines)
|
||
> [!NOTE]
|
||
> Механизмы маршрутизации в обход шины передачи полностью готовы к эксплуатации. Указанные в конфигурации IP-подсети, локальные доменные зоны и процессы корректно направляются напрямую через штатный сетевой стек ОС, исключая дополнительные задержки маршрутов.
|
||
|
||
---
|
||
|
||
## Лицензия
|
||
|
||
OSTP публикуется на условиях лицензии Business Source License 1.1 (BSL), которая разрешает неограниченное личное, некоммерческое и частное использование протокола. С 14 мая 2030 года лицензия автоматически переходит в категорию открытого ПО с разрешительной лицензией MIT.
|
||
|
||
С полным текстом лицензионного соглашения можно ознакомиться в приложенном файле [LICENSE](LICENSE) или в официальном репозитории проекта по адресу [https://github.com/ospab/ostp](https://github.com/ospab/ostp).
|