Лицензирование

Лицензия с асимметричной подписью: закрытый ключ выпуска не покидает сервер лицензий

В лицензии Narvelium версии 2 используется Ed25519: закрытый ключ выпуска остаётся только на сервере лицензий, а установка на собственном сервере получает открытый ключ проверки и подписанные данные о правах.

1. Схема доверия: лицензия Ed25519 версии 2

Признак формата версии 2 — префикс nv2. в ключе лицензии. Подписанные данные формируются с помощью Ed25519 на сервере лицензий, а на установке подпись проверяется открытым ключом. Клиентское приложение не принимает и не хранит закрытый ключ подписи, поэтому обычная поставка на сервер заказчика не содержит материала, с помощью которого можно выпустить новую действительную лицензию версии 2.

Сервер лицензий → закрытый ключ Ed25519 → подписанный ключ nv2.*
Narvelium на собственном сервере → только открытый ключ Ed25519 → проверка на месте

Проверяются подпись, издатель, версия и алгоритм, срок действия и привязка к конкретной установке.

2. Постоянный идентификатор установки

Основной идентификатор в лицензии версии 2 — постоянный installation_id (UUID), который создаётся один раз и хранится в файле /app/data/installation-id с ограниченными правами доступа. Он не зависит от MAC-адреса и имени узла Docker и сохраняется при обычной перезагрузке и пересоздании контейнера, если постоянные данные не удаляются.

Прежний идентификатор оборудования используется только для совместимости со старой схемой HMAC версии 1 и не является основным в публичной модели версии 2.

3. Narvelium Starter

Условия редакции Starter: бесплатно, 12 месяцев, одна организация, одна активная установка, до 5 активных пользователей. Повторную регистрацию нельзя использовать как способ получить вторую бесплатную установку для той же организации: перенос выполняется по отдельной процедуре перерегистрации установки.

4. Ограничение числа пользователей и права на модули

Подписанные данные лицензии версии 2 содержат предельное число активных пользователей и подписанный перечень прав на модули. Доступ проверяется на стороне сервера как пересечение профиля установки ∩ прав из лицензии ∩ прав пользователя; скрытие кнопки в интерфейсе не заменяет серверную проверку.

Ограничение числа активных пользователей проверяется средствами PostgreSQL, поэтому единый предел действует для всех способов создания учётных записей: по электронной почте, из каталога AD, через OIDC, из интерфейса администратора и при массовом импорте, включая одновременные запросы. При превышении предела новый активный пользователь не может незаметно обойти условия лицензии.

5. HMAC версии 1 — только для перехода с прежней схемы

Прежняя схема HMAC-SHA256 сохранена для упорядоченного перевода уже работающих установок. В публичной и коммерческой установке версии 2 её необходимо отключить:

LICENSE_V1_HMAC_ENABLED=false
LICENSE_V2_PUBLIC_KEY_PATH=/app/certs/narvelium-license-public.pem

При отключённой версии 1 приложение отклоняет старые ключи HMAC и не создаёт локальную пробную лицензию по схеме HMAC. Это исключает возврат с версии 2 к самостоятельно сформированным данным с общим секретом.

6. Срок действия и отзыв

Лицензия версии 2 определяет состояние по подписанным данным: действует, истекла или недействительна. Истёкшая лицензия не даёт доступа к рабочим местам и правам на модули. Однако мгновенный отзыв лицензии, установленной полностью без связи с сервером лицензий, не гарантируется без отдельного механизма проверки состояния: проверка подписи на месте сама по себе не узнаёт о серверном отзыве, пока установка не получит новое состояние.

Единый режим работы только для чтения после истечения срока для всех редакций в объём лицензии не входит.

7. Перенос установки

При корректном создании и восстановлении резервной копии постоянных данных data/app идентификатор установки сохраняется. Если создаётся действительно новая установка, необходим управляемый перенос: прежняя регистрация закрывается и отзывается, после чего выпускается лицензия версии 2 на новый installation_id.

8. Что не входит в объём лицензии

  • отдельный офлайн-файл лицензии .nvlic с обменом запросом и ответом;
  • TPM 2.0 как обязательный источник идентификатора установки;
  • мгновенный отзыв лицензии без связи с сервером лицензий;
  • полностью автоматизированное самостоятельное продление лицензии и перенос установки;
  • единый режим работы только для чтения после истечения срока для всех редакций.

Перечисленные возможности в текущий объём лицензии не входят. Действующая лицензия Ed25519 версии 2, постоянный идентификатор установки, подписанный перечень прав на модули и контроль числа активных пользователей уже работают в платформе — именно это определяет объём лицензии сегодня.

Нужна проверка Narvelium на вашей инфраструктуре?

Перед началом мы фиксируем точный коммит (SHA), открытый ключ доверия версии 2, редакцию с перечнем прав и обязательные приёмочные проверки.