Файлы Arma 3 не подписаны ключом, который принимается сервером

Обновлено: 01.07.2024

Реализация Addon Signature во всех версиях ArmA до 1.08 содержит серьезные ошибки, из-за которых даже пользователи без модифицированных или неподписанных дополнений помечаются как использующие измененные данные. Эта ошибка не затрагивает любые новые продукты, включая Arma 2.

Содержание

Обзор

Подписи аддонов — это способ снизить уровень читерства в Armed Assault. Они используются для обнаружения файлов данных, измененных кем-либо, кроме создателя дополнения. Они основаны на сильных криптографических принципах (пары закрытый/открытый ключи), поэтому взломать их очень сложно.

Дополнение подписывается его создателем с помощью закрытого ключа, а открытый ключ используется игрой для проверки того, что дополнение не было изменено.

Терминология

Что проверяется

Игроку, подключающемуся к проверенному серверу, разрешено иметь только дополнения, подписанные принятой подписью. Любой игрок, не соответствующий этому, обнаруживается, и в зависимости от конфигурации сервера может отображаться сообщение в этом смысле, или он может быть исключен, или может быть выполнено другое действие, определенное администратором сервера.

Игрок не может выполнять следующие действия, если он хочет пройти проверку подписи:

  • изменить подписанные дополнения
  • использовать неподписанные дополнения
  • использовать надстройки, которые подписаны, но не принятой подписью

Если игрок хочет использовать неподписанные дополнения при игре в одиночном режиме или при игре на других серверах, которые не проверяются на это, он должен убедиться, что такие дополнения не загружены, прежде чем подключаться к проверенному серверу. Это можно сделать с помощью Arma: Mod Folders или с помощью некоторых сторонних утилит управления надстройками.

Управление проверкой подписи дополнений на сервере

Если администратор сервера решает, что подписи дополнений должны быть проверены, он должен добавить следующую строку в файл server.cfg:

Администратор сервера может решить, каких производителей надстроек он считает заслуживающими доверия, поместив их открытые ключи в каталог «keys». Обычно (ванильная установка) в этом каталоге есть только подпись Bohemia Interactive, называемая bi.bikey. Вы можете получить другие подписи в OFPEC.

заменяет устаревшую версию 1 (начиная с ARMA 2 версии 1.10 и ARMA 2: OA версии 1.59), версия 1 устарела как небезопасная

Природа сообщества

Не существует центрального органа, который решает, какие подписи заслуживают доверия, а какие нет. Каждый администратор сервера может решить это. Конечно, администраторы серверов могут свободно делиться своим опытом использования различных подписей или создавать общедоступные черные списки подписей, которые, по их мнению, больше не заслуживают доверия, например, когда они узнают, что их взломали из-за утечки закрытого ключа.

Подписание дополнений

Подписание дополнений осуществляется с помощью утилиты DSSignFile. Для этого нужен закрытый ключ, который может создать любой с помощью DSCreateKey.

Как подписать дополнение

Создайте собственные ключи

Используйте DSCreateKey для создания ключа, передав уникальный идентификатор (часто ваш тег или название проекта) в качестве параметра, например:

В этом примере создаются 2 файла: ключ myName.bikey и privateKey myName.biprivatekey.

Правильное название ключа

Правильное название важно для упрощения связи ключа с надстройкой для администраторов серверов и пользователей модов

  • TAG_modName.bikey
  • TAG: Должно быть имя, которое вы используете в сообществе, или что-то подобное
  • modName: Это должно каким-либо образом относиться к вашему моду, предпочтительно название мода

Вы можете включить ключ в свой распространяемый аддон или отдельно, так как он не зависит от фактического аддона. Он используется только сервером, а не клиентом. Не распространяйте закрытый ключ.

Вам не нужен новый ключ для каждого дополнения — в обычных обстоятельствах вы должны использовать один и тот же ключ снова и снова для нескольких дополнений. (Это также важно с точки зрения администратора — установка нового дополнения, подписанного уже доверенным ключом, является простой операцией, в то время как установка нового ключа — это шаг, который следует рассматривать гораздо реже и требует большего внимания со стороны. администратора).

Вариант 1. Подпишите уже упакованные дополнения

Используйте DSSignFile для создания подписи для надстройки pbo, которая уже используется.

В этом примере создается файл подписи: 'filename.ext.myName.bisign'. Включите эту подпись вместе с распространяемыми файлами дополнений.

Вариант 2. Подпишите свои дополнения во время их упаковки

Передайте свой ключ BinPBO, чтобы ваши дополнения были подписаны во время упаковки.

Расширенный сценарий использования: бета-ключи

Если вы хотите, чтобы надстройка прошла еще несколько тестов, прежде чем вы будете уверены, что сможете ее подписать, не подписывайте ее своим основным ключом. Вместо этого создайте новый ключ, назовите его, например, myKeyBeta15, и используйте этот ключ для его подписи.Распространите аддон с этим ключом как пользователям, так и администраторам сервера. Когда вы будете достаточно уверены в том, что тестирование выполнено, используйте вариант 1, чтобы создать новую (окончательную) подпись с вашим основным ключом и распространить ее. Если во время тестирования что-то пойдет не так, и вы увидите, что надстройка может быть использована для мошенничества или получения несправедливого преимущества, сообщите администраторам сервера, чтобы они удалили надстройку и бета-ключ. Таким образом, ваши старые надстройки, подписанные вашим основным ключом, продолжат работать.

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

Расширенный сценарий использования: ключи сервера

Одно дополнение может сопровождаться несколькими подписями, каждая из которых подписана своим ключом. Одним из приложений для этого может быть администратор сервера, который может создать свой собственный ключ для своего сервера и использовать его для подписи всех надстроек на сервере, который он считает безопасным.

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

Соображения безопасности

Следующие способы могут поставить под угрозу безопасность этой системы из-за человеческого фактора:

Читайте также: