07.08.2023, 12:14

Minecraft: через год после запуска системы сообщений в чате

Minecraft: через год после запуска системы сообщений в чате для Майнкрафт

 

Год назад в обновлении 1.19.1 Minecraft представила систему сообщений в чате и процедуру глобального бана . Это дополнение напомнило фанатам шумиху вокруг неоднозначного запуска Minecraft 1.9 , где боевая механика была радикально переработана, разделив сообщество.

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

Почему этот спор?

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

В статье на Github также рассказывается, как управляются сеансы чата и как создаются и проверяются отчеты о чате, что добавляет дополнительный уровень технической сложности.

Проблемы общения

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

Техническое отступление от того, что такое «сообщение»

Что именно представляет собой «сообщение» в этой системе? Хотите верьте, хотите нет, но это больше, чем просто текст, набранный игроком. Давайте посмотрим на JSON, который представляет один:

{
 "index": 3.0,
 "profileId": "bfa45411874a4ee0b3bd00c716059d95",
 "sessionId": "79930ef9b869476db5c5d297884432f5",
 "timestamp": "2022-10-30T17:32:44.160Z",
 "salt": 5.1050580637282796E18,
 "lastSeen": [ "RSA Signature 1", "RSA Signature 2", "RSA Signature 3" ],
 "message": "How are you",
 "signature": "RSA Signature"
}

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

  • indexэто число, которое увеличивается на 1 каждый раз, когда игрок отправляет сообщение в том же сеансе чата.
  • profileIdUUID игрока.
  • sessionIdуникальный идентификатор сеанса чата. Он генерируется клиентом, когда игрок присоединяется к серверу. Мы рассмотрим сеансы чата более подробно в следующем разделе.
  • timestampэто время, когда сообщение было отправлено. Он генерируется клиентом.
  • saltэто случайное число, сгенерированное клиентом. В более ранних версиях системы он использовался для предотвращения повторных атак, но это больше невозможно из-за текущей работы системы. Его текущая полезность остается неизвестной.
  • lastSeenпредставляет собой массив подписей RSA из 20 последних сообщений, которые видел игрок, включая его собственные.
  • messageэто текст сообщения.
  • signatureявляется RSA-подписью сообщения. Он генерируется на основе всех данных в указанных выше полях с использованием закрытого ключа игрока.

Сообщение о чате в Minecraft Bedrock

Версия Minecraft Bedrock уже приветствовала эту систему в предварительном просмотре, и не обошлось без глюков. Забаненные игроки столкнулись с общими сообщениями, что сделало процесс апелляции практически невозможным. Некоторые даже сообщают о «заглушении тени» — ситуации, когда игрок не понимает, что его сообщения не видны другим.

Эти проблемы частично были связаны с тем, как система была разработана и реализована.

Текущее состояние системы сообщений о чате

Сегодня большинство общедоступных серверов решили не использовать эту систему отчетности, ограничив ее использование серверами Vanilla и Realms. По иронии судьбы, даже в этих контролируемых пространствах поступали сообщения о противоречивых запретах.

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

Технические подробности о том, как работают сеансы чата

 
На этой диаграмме показан процесс аутентификации и управления ключами для сеансов чата Mojang. Когда клиент пытается пройти аутентификацию, он генерирует пару ключей: закрытый ключ, хранящийся в секрете, и открытый ключ, совместно используемый службой Mojang. После подключения клиент начинает сеанс чата, идентифицируемый уникальным UUID. Mojang использует собственный открытый ключ для проверки подписей клиентов. Таким образом, каждое сообщение, отправленное во время сеанса, должно быть подписано закрытым ключом клиента. Затем другие участники могут проверить подлинность сообщений, используя общий открытый ключ. Любая попытка отправить неподписанное сообщение приводит к исключению клиента из сеанса.

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

Технические эксплойты и уязвимости

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

Потенциальные эксплойты

Несмотря на заверения Mojang в надежности своей системы, было обнаружено несколько эксплойтов. Некоторые из них позволяют злоумышленникам обходить механизмы отчетности, что делает попытки регулирования неэффективными. В статье «Абсолютное состояние отчетов о чате» подробно описаны эти уязвимости, подчеркивая необходимость для Mojang постоянно усиливать безопасность перед лицом все более находчивых пользователей.

Злонамеренное сотрудничество

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

Моджанг Ответы

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


Спустя год после запуска оценка системы Chat Reporting неоднозначна. Его реализации, хотя и амбициозной, препятствуют разногласия, технические недостатки и ограниченное внедрение. Игрокам рекомендуется быть осторожными, особенно в мирах Realms и LAN. В истории Minecraft эта система войдет в историю как благонамеренная, но плохо реализованная инициатива.

 

Рейтинг: 0.0 (0 голосов) Жанр: Новости Майнкрафт

avatar

 

ДАННЫЙ САЙТ НЕ ЯВЛЯЕТСЯ ПРОДУКТОМ MINECRAFT И НЕ СВЯЗАН С MOJANG. Minecraft принадлежит Mojang Studios и не связан с этим сайтом.