Если распространение вашей игры ограничено и игроки не могут выиграть реальные деньги / награды, то вашей исходной схемы, вероятно, будет достаточно.
Использование SWF Encrypt, вероятно, немного затруднит извлечение ключа, и это также может быть хорошим инструментом для использования даже в более продвинутой системе. Но если у вас есть реальная схема открытого / закрытого ключей (например, RSA), это действительно спорный вопрос, поскольку открытый ключ не является секретом, он не должен быть секретом. Тем не менее, чтобы большинство людей не редактировали код и не вмешивались в систему подсчета очков, SWF Encrypt, вероятно, является достаточно хорошим выбором.
Чтобы сделать вас немного более параноиком, я также написал следующее:
Проблема с SWF Encrypt, как и с большинством других подобных инструментов, заключается в том, что по-прежнему должна быть возможность выполнить сценарий на (возможно, взломанной) машине. Таким образом, вся информация должна быть доступна на указанной машине. Сравните это с классическим использованием криптографии, отправкой сообщений:
Когда вы отправляете зашифрованное сообщение, вы обычно доверяете источнику и получателю, поэтому оба они имеют ключ для расшифровки сообщения. Вы не доверяете курьеру, по крайней мере, тому, что ваши враги не перехватят курьера. Таким образом, у курьера нет ключа, и ваше сообщение в безопасности.
Вместо этого ваша проблема в том, что в вашем случае вы доверяете получателю (вам), но не источнику (клиенту), или наоборот. Тем не менее, вам нужен источник, чтобы иметь возможность зашифровать сообщение, поскольку вы еще меньше доверяете курьеру. Таким образом, источник должен иметь всю информацию для шифрования и дешифрования сообщений, чтобы функционировать. Ваша проблема в том, что вы не видите разницы между «хорошим» и «плохим» источником.
Я имею в виду, что, поскольку код все еще должен быть запущен на клиенте, информация для этого должна быть полностью доступна, хотя, возможно, в скрытой форме. Например, хакер может создать свой собственный компилятор ActionScript, который преобразовывает обфусцированный код ActionScript во что-то читаемое и вносит соответствующие изменения. Сложно, но определенно выполнимо.
Тем не менее, этот уровень изощренных атак, скорее всего, не будет проблемой для вас, если у вас ограниченное распространение и нет реальной награды за победу.
person
Andreas Magnusson
schedule
20.11.2008