Защита учетных данных ftpclient - PullRequest
0 голосов
/ 28 апреля 2019

Мое Java-приложение для Windows требует загрузки результатов на сервер с использованием FTP-клиента. В настоящее время у меня есть порт, URL-адрес сервера, имя пользователя и пароль в INI-файле, который установщик приложения помещает на компьютер пользователя. Я обеспокоен тем, что пользователь может легко открыть INI-файл и увидеть эти учетные данные и, таким образом, сможет войти в мою учетную запись на сервере. Я рассматриваю шифрование имени пользователя и пароля. Или просто попросите пользователя предоставить свои учетные данные, возможно, с помощью Google или другого бесплатного исходящего сервиса? Есть ли лучшие способы справиться с этим?

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

Наконец вернулись к этой проблеме, и вот что я выучил.

Во-первых, я решил предоставить FTP-доступ на своем хост-сервере с помощью «домашнего» каталога, чтобы пользователь не мог получить доступ к данным сайта, кроме его собственных. Я предоставлю имя пользователя и пароль пользователю. Во-вторых, имя пользователя будет сохранено в базе данных приложения Windows. В-третьих, ни пароль, ни SaltHash этого пароля не будут храниться в базе данных . Таким образом, пользователь должен вводить пароль при каждой загрузке по FTP.

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

Или что мне не хватает?

0 голосов
/ 29 апреля 2019

С SFTP соединение может быть аутентифицировано с использованием нескольких различных методов, один из которых включает использование пары Открытый / Частный ключ.При аутентификации на основе ключей вам необходимо заранее сгенерировать закрытый ключ SSH и открытый ключ.Если вы хотите подключиться к SFTP-серверу партнера, вам следует отправить им свой открытый ключ SSH, чтобы они могли загрузить их на свой сервер и связать с вашей учетной записью.Затем, как только вы подключитесь к их SFTP-серверу, ваше клиентское программное обеспечение передаст ваш открытый ключ на сервер для аутентификации.Если ключи совпадают с указанным именем пользователя и паролем, аутентификация будет успешной.

...