За последние 24 часа нас посетили 26455 программистов и 1545 роботов. Сейчас ищут 818 программистов ...

Уникализация пользователя

Тема в разделе "Прочие вопросы по PHP", создана пользователем R22, 16 дек 2013.

  1. R22

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Всем доброго дня
    Есть проект (внутренняя crm). Вход в нее по логину и паролю. В зависимости от логина присваивается роль и т.д. - Это неинтересно.

    Возник интересный вопрос. Руководство хочет обезопасить систему путем введения помимо логинов и паролей некоего уникально идентификатора пользователя. Т.е. помимо логина и пароля нужно проверять еще кое-что. Будучи сутра не выспавшимся я и ляпнул "помимо авторизации проверять железо пользователя" - видел на какой-то платежной системе. Как мне тогда казалось perfect pay. Сейчас сижу (уже день) и понимаю какой накуренный я был предложив эту идею. Перепутал perfect pay и webmoney (декстопным приложением), забыв что java апплеты практически везде отключены (особенно на телефонах и планшетах).

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

    Из прочитанного имею это:
    http://samy.pl/evercookie/
    http://yro.slashdot.org/story/08/10/14/1656251/flash-cookie ... acy-threat и на закуску это (от чего сам афанарел (см. последнюю вкладку))
    http://www.macromedia.com/support/documentation/en/flashpla ... ger06.html
    ну и это
    https://panopticlick.eff.org/

    Прошу помощи!!! Есть ли еще кое-что, что поможет обезопасить систему помимо логина и пароля пользователя.
    Отзовитесь!!! ;)
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    двухфазная (двухфакторная) аутентификация. например с подтверждением кода из смс или с помощью локального генератора ответов - типа Google Auth в андроиде.

    http://habrahabr.ru/post/150106/
     
  3. R22

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Спасибо за ответ. В системе работает около 500 человек. Штука классная, но ее применение в наших условиях проблематично. Пользователи - порядка 30% стационарные ПК, 35-40% нотики на винде, остальные телефон или планшеты с разными операционками. Брелки носить никто не будет, платить за брелки - никто не будет. Видел лет 5 назад у знакомого в дойчланде - у них vpn так поднят был.

    Как вы смотрите на отпечаток браузера (https://panopticlick.eff.org/), который складывать в куку (evercookie или флешкуку)? Это дело также писать в БД. При вводе логина и пароля сверять и делать выводы. Если кука пуста или не равна значению в БД отсылать на почту пользователю уникальный хеш. Если этот хеш правильно введен - ставим куку заново и обновляем запись в БД . Разрешаем пользователю войти.

    Также не помню в какой платежке встречал, смена ip также влияет на обновление куки. IP поменял - проверяешь почту, и начинаешь все заново.

    Можете раскритиковать данный алгоритм!?
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Фингерпринт он и в африке фингерпринт. Главное чтобы малейший чих не означал, что надо заново лезть на почту за новым кодом, а то иначе в день люди будут хватать по десятку таких писем счаться, и каждое будет бесить больше предыдущего. А так - снимайте хеш с IP+юзерагент+логин, вам за глаза хватит. Если еще ajax-ом соберете инфу, идентифицирующую как-нибудь устройство, например, разрешение экрана, то еще забавнее.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Может домен тогда уж? А брелки стоят дешево, если по многу брать. И не обязательно USB, бывают просто с числом.
     
  6. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
  7. R22

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Это получается тот же самый fingerprint?
     
  8. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    да, это он самый, дополнительно можно его разбавить чем-нибудь,
    например при регистрации пользователь картинку выбирает какую-то из предложенных, а потом если вдруг отпечатки не сходются, но юзер/пароль верны, попросить его тыкнуть в пикчу.
     
  9. R22

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Спасибо, такое в принципе рассмотреть можно и нужно наверное. Самое легкое и в пределах одной страницы. Вчера еще посоветовали карты изображений (типа 30 картинок и в случае проблемы надпись "Выберите седьмую и нажмите ОК") - это тяжеловато мне кажется.

    А так просто ради любопытства. Почему производители браузеров не могут хранить хеш слепка железа системы в переменной js, которая будет тупо для чтения (как user agent и пр.). Это избавит разработчиков от такого онанизма как fingerprint, позволит сделать безопасные авторизации. Из минусов как я вижу - это типа privacy policy, но блин пускай хранят его в не расшифровываемом хеше. Какие проблемы?
     
  10. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Еще можно придумать такой вариант: ты на сервере генерируешь по одному тебе известному алгоритму хэш, и js сует его в localStorage.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    такие, что расшифруют. Это же будет стандартом. У всех браузеров один алгоритм. Один метод сборки. Одна строка на хеширование. Ведь все браузеры на одном компе должны давать единый хеш. Длина строки известна, ее структура известна, возможные фрагменты известны, алгоритмы шифрования известны. Тут даже не радугой, а просто брутфорсом можно будет управиться. Это раз.

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

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Я имел ввиду что-то типа imei для телефона (но не так строго).
    Т.е. сделать уникальный индентификатор - не проблема.
    Опрашивать железо каждый раз не нужно. Нужно это сделать один раз при установке браузера и на основании этого сгенерировать уникальный код, который не пихать в папку профиля, а куда-то выше.
    Но это к теме не относиться это так мысли вслух.
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Все уже украдено до нас. Называется - mac_adress.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    eToken PASS
     
  15. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    В симфоневском Sonata User Bundle есть готовая двухфазная аутентификация. Бесплатно :)
    Один раз считываешь QR-код своим телефоном чтобы создать учетку в приложении
    [​IMG]

    Затем, когда надо авторизоваться, после логина/пароля запрашивается код. Подсматриваешь его в телефоне
    (здесь у меня две учетки - родная гуглевая и для тестового сайта)
    [​IMG]

    и вводишь:
    [​IMG]

    магия! :D
     
  16. R22

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Спасибо гляну.
    Насчет уникального идентификатора в браузере - сам себя подправлю.
    Народ сказал что типа такого в IOS было. Там эти св...лочи для показа рекламы предусматривали. Так вот выпилили эту функцию быстро.
    Причины выпиливания не озвучивают, но видать их много.
     
  17. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    artoodetoo, но тут подразумевается, что у пользователей обязаны быть смартфоны, а это таки минус :)
     
  18. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    правда? ))) сравни %% пользователей, скажем, с USB токеном и со смартфоном.