Насколько безопасен такой способ авторизации пользователя?
Заказчик хочет авторизацию без логина/пароля или через соц сети, а при помощи небольшого файла. Таким образом, пользователь, зайдя на страницу авторизации, указывает необходимый файл (допустимый размер будет ограничен). От этого файла вычисляются несколько параметров, например SHA1, SHA256, CRC64 и сравниваются с данными в базе (вопрос регистрации в данный момент не рассматриваем), если все данные совпадают то даем пользователю доступ.
Вопрос: насколько это безопасно?
Это может быть даже секьюрнее, чем логин/пароль, ибо длина такого ключа может ощутимо выходить за границы человеческой памяти. Вопрос удобства юзера и человеческого фактора - это дело отдельного разговора.
Довольный Жизнью, всякого рода RCE не допускать (самостоятельно исполняя загруженное или динамически подтягиваемые плагины из общих директорий) и все будет так же безопасно, как и загрузка обычных картиночек.
Безопаснее чем логин-пароль/авторизация через третьих лиц. Логин+пароль = ключ длинной до сотни байт (обычно).
Файл хотя бы в килобайт будет значительно безопаснее.
Думаю расчет параметров этого файла (SHA1 и т.п.) лучше сделать на стороне сервера, загрузив туда файл, а не на клиенте, чтоб скрыть что именно для авторизации рассчитывается. Верно ли мыслю?
Довольный Жизнью, пароли лучше хешировать на стороне клиента, а вот с файлами - если в файлах нет информации, которую нужно скрыть от третьих лиц, то разницы где хешировать нет.
Андрей, как мне кажется расчет на клиенте позволит осуществлять подбор отправляя несколько параметров серверу, а если все считает на сервере то только отправка файла и больше нет вариантов.
Довольный Жизнью, Странно. Например можно создать json, где прописаны роли, шифровать его асимметричным алгоритмом и у вас и аутентификация и авторизация сразу.
В терминах разберитесь, авторизация - выделение необходимых прав, а аутентификация - распознание пользователя, проверка учетных данных. И двуфакторная аутентификация сильнее.