Когда агенты начинают перешёптываться
Вы развернули локального агента на трёх 3090, подключили его к быстрому поиску, настроили суб-агентов - и тут возникает вопрос: а как они общаются между собой? Не по открытому тексту же?
Вот типичная картина 2026 года: агент аналитики передаёт финансовые отчёты агенту-отчётчику, тот отправляет данные агенту-визуализатору. Каждый шаг - потенциальная утечка. Особенно если учесть новые атаки вроде ZombieAgent.
ML-KEM: шифрование, которое не сломает даже квантовый компьютер
Пока все обсуждают, какой Gemini лучше для агентов, в NoChat используют ML-KEM (ранее известный как Kyber-1024). Это не маркетинговая фишка - это стандарт NIST для постквантовой криптографии, принятый в 2024 и актуальный на 2026 год.
Ключевая особенность: даже если завтра появится работающий квантовый компьютер (а к 2026 это уже не фантастика), ваши зашифрованные сегодня переговоры агентов останутся закрытыми. RSA и ECC он сломает за минуты, а ML-KEM - нет.
| Алгоритм | Безопасность против классических атак | Безопасность против квантовых атак | Размер ключа (2026) |
|---|---|---|---|
| RSA-2048 | ~112 бит | ~0 бит | 256 байт |
| ECC P-256 | 128 бит | ~0 бит | 32 байта |
| ML-KEM-1024 | >192 бит | >192 бит | 1568 байт |
Пять шагов к приватному каналу
Настройка занимает 15 минут. Если, конечно, не считать время на осознание того, что вы теперь можете передавать между агентами что угодно - от паролей до коммерческой тайны.
1 Установка NoChat API
Берём официальный Go-клиент (версия 2.4.1 на февраль 2026) - он уже содержит реализацию ML-KEM через библиотеку CIRCL от Cloudflare.
go get github.com/nchat-io/nchat-go@v2.4.1
# Или для Python (если ваши агенты на нём)
pip install nchat-python==3.2.0
2 Генерация ключевой пары для каждого агента
Каждый агент получает свою пару ключей. Публичный - для всех, приватный - только для себя. В NoChat это выглядит так:
from nchat import AgentCrypto
# Агент аналитики генерирует ключи
analyst_crypto = AgentCrypto()
public_key_analyst = analyst_crypto.public_key # Отдаём всем
private_key_analyst = analyst_crypto.private_key # Храним в тайне
# Агент отчётчика делает то же самое
reporter_crypto = AgentCrypto()
public_key_reporter = reporter_crypto.public_key
Не храните приватные ключи рядом с кодом агента. Особенно если агент работает в песочнице с доступом к shell. Используйте аппаратные модули безопасности или как минимум - отдельный vault.
3 Обмен публичными ключами
Звучит просто, но здесь главная ловушка. Как агент аналитики узнает, что публичный ключ агента отчётчика - действительно его, а не подменённый?
Вариант для параноиков: предварительный обмен ключами через доверенный канал. Вариант для реалистов: использовать встроенную в NoChat систему сертификатов агентов (работает по принципу Web of Trust).
# Агент аналитики "знакомится" с агентом отчётчика
analyst_agent.register_peer(
agent_id="financial_reporter_001",
public_key=public_key_reporter,
trust_level="verified" # Ключ проверен через цепочку доверия
)
4 Шифрование сообщения
Теперь аналитик может отправить отчётчику зашифрованные данные. Под капотом происходит магия ML-KEM: генерируется одноразовый сессионный ключ, им шифруется сообщение (AES-GCM), а сам ключ шифруется публичным ключом получателя.
# Агент аналитики готовит отчёт
financial_report = {
"company": "Startup XYZ",
"revenue": 2450000,
"growth": 34.7,
"confidential": True
}
# Шифруем для агента отчётчика
encrypted_message = analyst_crypto.encrypt_for_peer(
peer_public_key=public_key_reporter,
message=json.dumps(financial_report),
algorithm="ML-KEM-1024+AES-256-GCM" # Стандарт 2026
)
5 Расшифровка и ответ
Агент отчётчик получает шифртекст. Только его приватный ключ может извлечь сессионный ключ и прочитать сообщение.
# Агент отчётчика расшифровывает
plaintext = reporter_crypto.decrypt_from_peer(
encrypted_message=encrypted_message,
sender_id="financial_analyst_001"
)
report_data = json.loads(plaintext)
# Теперь можно готовить визуализацию...
А если не NoChat? Альтернативы, которые вас разочаруют
Давайте честно: большинство фреймворков для агентов в 2026 году либо вообще не думают о шифровании, либо используют устаревшие схемы.
- Прямые HTTP-вызовы между агентами - данные летят открытым текстом. Любой человек на том же хосте (или провайдер) видит всё. Как в типичных чат-ботах.
- TLS между контейнерами - лучше, но сертификаты нужно обновлять, а квантовые атаки всё равно добьют RSA в сертификатах.
- Самописное шифрование - почти гарантированная уязвимость. Вы действительно хотите писать криптографию в 3 утра?
Реальный кейс: три агента, одна тайна
Представьте систему для бизнес-аналитики:
- Агент-сборщик получает сырые данные из CRM (конфиденциальные клиентские записи)
- Агент-аналитик обрабатывает данные, вычисляет метрики
- Агент-визуализатор готовит дашборды для руководства
Без шифрования данные клиентов проходят через три системы в открытом виде. С NoChat каждый шаг зашифрован уникальным ключом. Даже если злоумышленник перехватит сообщение между сборщиком и аналитиком, он увидит только шум (1568 байт случайных на вид данных).
Шифрование - не панацея. Если агент скомпрометирован (например, через уязвимость в рабочем процессе n8n), он может расшифровать всё, что получил. Но хотя бы данные не утекут по пути.
Кому это нужно прямо сейчас?
Если вы делаете хоть что-то из этого списка - NoChat с ML-KEM не роскошь, а необходимость:
- Агенты обрабатывают персональные данные (GDPR/152-ФЗ)
- Финансовая или медицинская аналитика
- Промышленные секреты передаются между цехами/отделами
- Агенты работают в разных дата-центрах или у разных провайдеров
- Вы планируете, что система проработает 5+ лет (квантовые компьютеры уже на горизонте)
Особенно актуально для тех, кто разворачивает локальных агентов без облачных API - здесь вся ответственность за безопасность на вас.
Цена приватности
ML-KEM-1024 не бесплатен в вычислительном смысле. По сравнению с RSA-2048:
- Шифрование: в 2-3 раза медленнее
- Расшифровка: в 10-15 раз медленнее (да, это больное место)
- Размер шифртекста: в 6 раз больше
Но вот что интересно: для большинства агентных систем это не критично. Агенты редко обмениваются гигабайтами данных в реальном времени. Типичное сообщение - несколько килобайт JSON. Лишние 50 мс на шифрование - ничто по сравнению с временем генерации ответа моделью.
Что будет дальше? ML-KEM-2048 и квантовые сети
На февраль 2026 NIST уже обсуждает ML-KEM-2048 - версию с ещё большим запасом прочности. В NoChat обещают поддержку в течение квартала после стандартизации.
Но главный тренд - квантовые распределённые ключи (QKD). Когда (не если, а когда) квантовые сети станут доступны, NoChat планирует интегрировать их для генерации ключей с абсолютной безопасностью, основанной на законах физики, а не математики.
А пока - начните с ML-KEM-1024. Через пять лет, когда первый квантовый компьютер взломает ваш старый RSA-ключ, вы скажете себе спасибо.
P.S. Если кажется, что это overkill для вашего pet-проекта - возможно, так и есть. Но если ваш агент когда-нибудь узнает что-то, что не должен знать никто кроме вас, лучше перешёптываться через ML-KEM, чем кричать об этом на весь интернет.