@VtzzzZZ

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
28 февр. 2020, в 16:33
450 руб./за проект
28 февр. 2020, в 16:23
20000 руб./за проект
28 февр. 2020, в 16:20
300 руб./за проект