Как: аутентифицировать зашифрованное имя пользователя / пароль в app.config от клиента к серверу.

У меня есть клиент, который общается с TCP-сервером. Я храню имя пользователя / пароль в app.config. Я хочу зашифровать имя пользователя / пароль, а также app.config будет зашифрован стандартным методом (который я знаю, как это сделать).

Я предполагаю, что мне понадобится серверная сторона провайдера, которая примет зашифрованный пользователь / пропуск и аутентифицирует его. Сервер также управляется приложением asp.net, которое будет использовать стандартного поставщика членства, если сервер использует Sql Server в качестве db, или что-то подобное для Sqlite / Oracle.

Так что вопросы есть.

  1. Каков идеальный провайдер на стороне сервера для аутентификации пользователя.
  2. Каков общепринятый способ шифрования имени пользователя / имени и пароля.
  3. Или серверу нужен пользовательский валидатор / пароль, который принимает зашифрованный пользователь / пароль.
  4. Могу ли я каким-то образом подключить провайдера пользователя / пропуска сервера к провайдеру членства asp.net.
  5. Для идеального провайдера мне нужно создавать учетные записи на сервере.

    Вероятно, будет более 500 клиентов.

    Большое спасибо. Боб.


person scope_creep    schedule 05.03.2012    source источник


Ответы (1)


У меня есть клиент, который общается с TCP-сервером. Я храню имя пользователя / пароль в app.config. Я хочу зашифровать имя пользователя / пароль, а также app.config будет зашифрован стандартным методом (который я знаю, как это сделать).

Я, конечно, надеюсь, что нет!

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

person Greg D    schedule 05.03.2012
comment
Я считаю, что OP конкретно спрашивает, как сохранить зашифрованную версию имени пользователя и пароля в App.config, а затем как получить это для использования. - person Stefan H; 06.03.2012
comment
В этом случае клиентом будет сборка C #, но в будущем он может быть собственным клиентом на linux / bsd / solaris. TCP связывается с tcp-сервером через ssl. Потерпите меня. - person scope_creep; 06.03.2012
comment
Нашел это: Создание хэшированных паролей с добавлением соли и поймите, насколько важно перемешивания и соления в этом отношении. Это подводит нас ко второй части вопроса. - person scope_creep; 06.03.2012