@VtzzzZZ

Возможно ли сделать пароль приходящий на мой сервер невидимыми для меня же?

Делаю простенькую игру со скрытой информацией :
Игрок заходит на сайт под своим именем и паролем , вносит изменения (получает секретную карту)
Сервер на Node JS получает изменения , меняет состояние игры

Есть ли возможность обеспечить секретность и от меня , как админа сервера ? Это может быть любая информация - пароль, изменение в игре и т.д.
Игроки должны быть уверены , что я ( также участвующий в игре ) не смогу узнать их секретную информацию
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Karpion
Постановка задачи непонятная. ПО идее - чтобы менять состояние игры, сервер должен знать действия игрока. А значит, админ может настроить всё так, чтобы узнать сведения, нужные для получения жульнического преимущества в игре.

Более того: Даже если реализовать то, что Вы хотите - игрок не имеет никакой гарантии того, что админ сделал всё честно.

По идее, Вам надо изучить шифрование с открытым ключом. Он позволяет много интересных вещей - например, "авторизация SSh по ключу", когда сервер проверяет истинность юзера (точнее, наличие у него секретного ключа), но сервер не может залогиниться на другой сервер, куда юзер ходит с тем же ключом. Т.е. это как использовать один пароль на разные серверах - но серверы не знают этого пароля никогда, в т.ч. даже при смене пароля на новый.

Есть такой вариант:
Юзер присылает на сервер свои действия в виде "архива с контрольной суммой под паролем". Не зная пароля - сервер не может раскрыть файл. Однако, когда юзер пришлёт пароль - сервер может раскрыть архив и убедиться, что юзер принял решение о действиях именно в то время, т.е. до присылки архива.
Такой метод актуален для проведения "слепого аукциона", когда участники предлагают свою цену один раз, не зная, какие цены предложили другие. При таком аукционе - организатор может сообщить своему племяннику, какие ставки сделали другие - и тот перебьёт остальные ставки с минимальным перевесом (ведь невозможно организовать так, чтобы все прислали свои заявки одновременно).

Вывод:
1) Пароль засекретить от админа - можно.
2) Действия игрока в игре и выдачу игроку секретной карты - скорее всего, невозможно. Ну, я могу предложить вариант, когда секретится и это. Но я боюсь - играбельность при этом обнулится. Я готов обсудить подробнее - но для этого мне надо знать, в чём состоит игра; а я не уверен, что Вы готовы это рассказать публично или мне лично, да и не настаиваю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы