Можно ли надежно хранить пароли для других сайтов? - PullRequest
4 голосов
/ 10 октября 2009

В моем университете есть портал, который студенты используют для регистрации на занятия. Если вы хотите попасть в полный класс, вы должны продолжать проверять портал и регистрироваться, когда у класса есть открытие.

Я написал инструмент, который может проверять открытия и регистрироваться автоматически, но для этого нужны имя пользователя и пароль университета. Эти пароли привязаны к учетным записям электронной почты, сетевым ресурсам, логинам сервера и большинству других услуг университета.

Есть ли способ сделать это безопасно?

Ответы [ 5 ]

3 голосов
/ 10 октября 2009

В сфере безопасности наиболее важная вещь - это " модель угрозы ". Какой атаки ты боишься?

  • кто-то может украсть компьютер, на котором запущена эта программа: поставить компьютер в запертую комнату.
  • кто-то может взломать компьютер и прочитать его из памяти: использовать брандмауэры и другие средства защиты от удаленных атак
  • другие пользователи могут читать жесткий диск, на котором хранится пароль: хранить только пароль в памяти (для этого потребуется вводить его каждый раз при запуске программы)
  • суперпользователь может прочитать пароль, даже если он находится в памяти: запускать программу только на компьютере, на котором вы доверяете суперпользователю.

и т.д.

1 голос
/ 10 октября 2009

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

На самом деле, есть один способ сделать это через Интернет без сохранения паролей - вы можете использовать приложение Java или Flash. К сожалению, ваши пользователи должны будут оставить браузер открытым, пока приложение работает, но таким образом вам не нужно будет хранить информацию.

0 голосов
/ 10 октября 2009

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

Я думаю, чтобы это действительно работало, вам нужно изменить дизайн: найти способ сделать регистрацию без пароля пользователя, т.е. поговорить с владельцами приложения, если они дадут вам учетную запись, с помощью которой вы сможете сделать регистрацию от имени кого-то другого

0 голосов
/ 10 октября 2009

Вы не можете хранить их в полной безопасности, потому что вам нужно было бы иметь возможность шифровать и дешифровать, чтобы односторонних алгоритмов хеширования, таких как MD5, SHA-1, SHA-2, было недостаточно. Вы можете посмотреть что-то вроде шифрования DES или Triple-DES.

0 голосов
/ 10 октября 2009

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

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