Код доступа: правильно создаем и храним пароли

Содержание
  1. Создание регистрации на сайте на PHP + MySQL. Часть IV
  2. Пароли
  3. Изменение пароля
  4. Забыли пароль?
  5. Сброс пароля с помощью основного адреса электронной почты
  6. Сброс пароля с помощью номера телефона для отправки SMS
  7. Помощь при восстановлении учётной записи
  8. Безопасность
  9. Выход из системы
  10. Выбор и использование правильных паролей
  11. Настройка службы «Связки ключей iCloud»
  12. Как надо хешировать пароли и как не надо
  13. Матчасть (короткая)
  14. Используйте локальный параметр!
  15. Заключение
  16. Проект SAFE » Принципы парольной защиты
  17. 1. Светлана использует длинные пароли
  18. 2. Она не использует в паролях личную информацию
  19. 3. Светлана избегает паролей-слов и коротких паролей-фраз
  20. 4. Она не делится паролями с другими людьми
  21. 5. Светлана не сообщает пароли в ответ на сомнительные запросы
  22. 6. Светлана осторожно использует пароли в “чужих” сетях wi-fi
  23. 7. Светлана не пересылает пароли по открытым каналам
  24. 8. И меняет пароль сразу после регистрации
  25. 9. Разные пароли для разных ресурсов
  26. 10. Регулярная смена паролей
  27. 11. Светлана не использует пароли повторно
  28. 12. Если пароль скомпрометирован, Светлана его быстро меняет
  29. 13. Светлана не позволяет браузеру сохранять пароли
  30. 14. У Светланы включена двухфакторная аутентификация
  31. 15. Светлана избегает схем восстановления паролей
  32. 16. Она хранит пароли в надежном месте
  33. 17. И не забывает о резервных копиях
  34. Как создать и запомнить надежный пароль
  35. Способ 1
  36. Способ 2
  37. Первый цупис: легальные интерактивные ставки
  38. Защитите свою банковскую карту
  39. Защитите своё устройство
  40. Защитите себя и свои персональные данные
  41. Стандарты безопасности ПЕРВОГО ЦУПИС

Создание регистрации на сайте на PHP + MySQL. Часть IV

Код доступа: правильно создаем и храним пароли
sh: 1: –format=html: not found

Здравствуйте! Это уже 4-я часть статьи, а вот первая, вторая и третья.

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

Прежде чем приступать к выполнению урока, убедитесь, что у Вас на сервере работает функция mail().

Начнем с добавления полей в таблицу «users». Нам нужно поле для хранения e-mail адреса, поле для состояния пользователя (0 – неактивирован, 1 – активирован) и поле с датой регистрации.

Далее нам необходимо вывести поле, в которое пользователь будет вписывать свой e-mail. Откроем reg.php и после ввода пароля добавим следующий код:

 

    Ваш E-mail *:
     

Затем нужно подправить save_user.php, добавив проверку на корректность e-mail адреса и отправку письма для подтверждения регистрации.

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

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

if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} } //заносим введенный пользователем e-mail, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)or empty($code) or empty($email))

//добавим переменную с emailадресом

//если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт {

exit (“Вы ввели не всю информацию, вернитесь назад и заполните все поля!”); //останавливаем выполнение сценариев

}

if (!preg_match(“/[0-9a-z_]+@[0-9a-z_\.]+\.[a-z]{2,3}/i”, $email)) //проверка е-mail адреса регулярными выражениями на корректность

{exit (“Неверно введен е-mail!”);}

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

// если такого нет, то сохраняем данные $result2 = mysql_query (“INSERT INTO users (login,password,avatar,email,date) VALUES('$login','$password','$avatar','$email',NOW())”);

// Проверяем, есть ли ошибки

if ($result2=='TRUE') {

$result3 = mysql_query (“SELECT id FROM users WHERE login='$login'”,$db);//извлекаем идентификатор пользователя. Благодаря ему у нас и будет уникальный код активации, ведь двух одинаковых идентификаторов быть не может.

$myrow3 = mysql_fetch_array($result3);

$activation = md5($myrow3['id']).md5($login);//кодактивацииаккаунта. Зашифруем через функцию md5 идентификатор и логин. Такое сочетание пользователь вряд ли сможет подобрать вручную через адресную строку.

$subject = “Подтверждение регистрации”;//тема сообщения $message = “Здравствуйте! Спасибо за регистрацию на citename.ruВаш логин: “.$login.” Перейдите по ссылке, чтобы активировать ваш аккаунт:http://localhost/test3/activation.php?login=”.$login.”&code=”.$activation.”С уважением,

Администрация citename.ru”;//содержание сообщение

mail($email, $subject, $message, “Content-type:text/plane; Charset=windows-1251\r”);//отправляем сообщение          echo “Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации. Внимание! Ссылка действительна 1 час. страница”; //говорим о отправленном письме пользователю

}

Сообщение отправлено! Теперь пользователь откроет его и перейдет по указанной ссылке на страницу, которая будет проверять код активации. Убедившись, что код верный, мы подтверждаем регистрацию, меняя в базе значение поля activation с «0» на «1».

Создаем файл activation.php

E-mail адрес подтвержден, теперь мы знаем, что этот адрес принадлежит данному пользователю, на него можно будет послать пароль, если пользователь его забудет, или другие уведомления.

Но в чем различие активированных пользователей, от неактивированных? И те и другие могут зайти на сайт, следовательно, нам нужно ограничить в доступе неактивированных. Откроем файл testreg.

php и допишем еще одно условие в запросе к базе:

$result = mysql_query(“SELECT * FROM users WHERE login='$login' AND password='$password' AND activation='1'”,$db); //извлекаем из базы все данные о пользователе с введенным логином
//мы дописали «ANDactivation='1'», то есть пользователь будет искаться только среди активированных. Желательно добавить это условие к другим подобным проверкам данных пользователя

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

index.php

    Автоматический вход.  

Зарегистрироваться

Забыли пароль?

Ссылка есть, а файла нет. Давайте же напишем send_pass.php. В нем мы спросим у пользователя логин и адрес почты. Если введенный e-mail и логин есть в базе, то отправим на него новый пароль, если пользователь забыл старый, ведь мы убедились при регистрации, что адрес почты действителен.

Далее мы сделаем автоматический вход. Работать он будет так: при удачном входе с нажатым чекбоксом в cookie будет вписываться auto = “yes”. Если сервер увидит, что в браузере  auto = “yes”, то запустит сессию, а переменные возьмет там же, в cookie. Затем идет проверка запущенных сессий по базе.

Откроем testreg.php и допишем после удачного входа код:

if (isset($_POST['save'])){
//Если пользователь хочет, чтобы его данные сохранились для последующего входа, то сохраняем в куках его браузера setcookie(“login”, $_POST[“login”], time()+9999999); setcookie(“password”, $_POST[“password”], time()+9999999); setcookie(“id”, $myrow['id'], time()+9999999);}if (isset($_POST['autovhod'])){

//Если пользователь хочет входить на сайт автоматически

setcookie(“auto”, “yes”, time()+9999999); setcookie(“login”, $_POST[“login”], time()+9999999); setcookie(“password”, $_POST[“password”], time()+9999999);

setcookie(“id”, $myrow['id'], time()+9999999);}

Теперь надо запустить в нужном месте сессию, если стоит автоматический вход. Откроем index.php и напишем в самом начале страницы:

Источник: https://ruseller.com/lessons.php?id=369&rub=37

Пароли

Код доступа: правильно создаем и храним пароли

Пароли исключительно важны для безопасности учётных записей пользователей. В идеале вам следует чаще менять пароли и не использовать одинаковый пароль для нескольких служб. Рано или поздно вам может потребоваться поменять пароль. Также, возможно, вы забудете ваш пароль. Что бы ни случилось, мы готовы вам помочь.

Изменение пароля

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

Войдя в учётную запись WordPress.com, откройте свой профиль, щёлкнув ваш граватар в верхнем правом углу. Затем выберите пункт Безопасность в меню боковой панели.

Введите новый пароль или получите готовый, нажав «Создать надежный пароль». (Мы не храним такие пароли и не имеем доступа к ним.)

Затем нажмите Сохранить пароль. Ваш пароль обновлён!

Забыли пароль?

Необходимо хранить пароль в надежном месте и стараться его не забывать. Хотя полностью исключить такую ситуацию невозможно. Если вам нужно сменить забытый пароль, выполните следующие действия. Они помогут вам быстро восстановить доступ к учётной записи.

1) Откройте страницу Забыли пароль? .

2) Введите в текстовое поле ваше имя пользователя WordPress.com или ваш электронный адрес и нажмите Получить новый пароль.

Форма восстановления забытого пароля

3) Мы направим электронное сообщение на ваш основной адрес электронной почты и SMS на ваш номер телефона для восстановления пароляпо SMS, если вы его указали, чтобы помочь вам восстановить работоспособность учётной записи.

Сброс пароля с помощью основного адреса электронной почты

Сообщение со ссылкой для сброса пароля будет направлено на ваш основной адрес электронной почты.

Перейдите по полученной ссылке, чтобы ввести новый пароль.

Введите новый пароль, и вы снова сможете войти в систему.

Сброс пароля с помощью номера телефона для отправки SMS

Мы направим SMS с коротким кодом на номер телефона для восстановления пароляпо SMS, который вы указали на вкладке параметров восстановления учётной записи в настройках безопасности.  Это удобно, если у вас нет доступа к основному адресу электронной почты.

Введите этот код в появившемся текстовом поле.

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

Помощь при восстановлении учётной записи

У вас нет доступа к основному адресу электронной почты или не указан номер SMS для восстановления? Нет проблем! Если вам не удаётся вспомнить свой адрес электронной почты или имя пользователя или вам нужна помощь, заполните форму восстановления учётной записи. У вас будет запрошена следующая информация:

  • Информация об учётной записи: Если вы помните ваше имя пользователя WordPress.com или адрес электронной почты, укажите их. Если нет, установите флажок Я не помню мой зарегистрированный адрес электронной почты и мое имя пользователя и введите веб-адрес своего блога.
  • Адрес электронной почты для связи: Нам потребуется связаться с вами, чтобы помочь восстановить доступ к вашему блогу. Введите здесь свой адрес электронной почты для связи. Внимательно проверьте, нет ли ошибки в адресе!
  • Подтверждение владельца учётной записи: Мы используем различную информацию, чтобы проверить, что вы — владелец учётной записи. Поэтому предоставьте нам все возможные данные.
    • Идентификатор транзакции Paypal: Если вы приобретали блог или дополнительные возможности, для восстановления доступа к учётной записи можно использовать числовой идентификатор транзакции Paypal по оплате платных услуг. В этом руководстве рассказано, как узнать идентификатор транзакции PayPal.
    • URL-адрес или ключ активации: При регистрации мы направляем вам по электронной почте уникальную ссылку или ключ активации, чтобы проверить достоверность учётной записи.
    • Коды двухфакторной аутентификации:Если в вашей учётной записи включена двухфакторная аутентификация, то для подтверждения ваших прав можно ввести действующий код из приложения Authenticator.
  • Дополнительные сведения: Укажите любую другую информацию, которую вы считаете важной.

Мы автоматически свяжемся со специалистами службы поддержки, чтобы помочь вам восстановить доступ к учётной записи. Они проверят вашу учётную запись, свяжутся с вами (по указанному вами контактному адресу электронной почты) и предложат варианты восстановления.

Безопасность

Ваша безопасность очень важна для WordPress.com. Вы потратили много времени и сил, чтобы создать свой сайт, и надёжный пароль защитит вашу работу.

Несмотря на то, что мы создаём необходимые резервные копии вашего содержимого, храните в секрете свою информацию для входа в систему, чтобы ваши учётные записи в Интернете всегда были под контролем.

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

Следует отметить, что для подтверждения вашего статуса владельца учётной записи мы используем ваш адрес электронной почты учётной записи или информацию о транзакции.

Если вы потеряете доступ к своей учётной записи, нам потребуется адрес или информация о транзакции, чтобы сбросить ваш пароль и подтвердить право собственности на учётную запись.

Поэтому настоятельно рекомендуется указывать в вашей учётной записи актуальный адрес электронной почты. Вы можете обновить адрес электронной почты в разделе Настроек учётной записи.

Выход из системы

Для защиты своей учётной записи WordPress.com выходите каждый раз по окончании работы.

Для выхода из учётной записи WordPress.com щёлкните ваш граватар в правом верхнем углу консоли. Затем слева под граватаром нажмите Выйти.

Это важная мера предосторожности на случай, если вы работаете на совместно используемом или общедоступном компьютере. Если вы не выполните операцию выхода, любой посторонний пользователь сможет получить доступ к вашей учётной записи путём просмотра истории браузера на компьютере и доступа к страницам WordPress.com.

Выбор и использование правильных паролей

Лучший способ создать надежный пароль — сформировать длинный произвольный набор букв, чисел и символов в менеджере паролей. Вы также можете использовать кодовую фразу, которая аналогична паролю, но состоит не из одного, а из нескольких слов. Оба варианта подробнее описаны в статье «Как выбрать надежный пароль».

Источник: https://ru.support.wordpress.com/passwords/

Настройка службы «Связки ключей iCloud»

Код доступа: правильно создаем и храним пароли

С помощью службы «Связка ключей iCloud» можно синхронизировать пароли и другую защищенную информацию между устройствами.

  1. Перейдите в меню «Настройки», коснитесь [вашего имени], а затем выберите «iCloud».
  2. Нажмите «Связка ключей».
  3. Передвиньте ползунок, чтобы включить службу «Связка ключей iCloud».
  4. Если вы выберете вариант «Подтвердить позже» при входе в свою учетную запись с идентификатором Apple ID, вам потребуется выполнить подтверждение с использованием старого пароля или другого устройства, когда появится соответствующий запрос. Если вы не можете выполнить подтверждение, сбросьте данные со сквозным шифрованием, когда появится соответствующий запрос.  
  1. Откройте меню Apple () > «Системные настройки». 
  2. В macOS Catalina щелкните идентификатор Apple ID, затем щелкните «iCloud» на боковой панели. В macOS Mojave или более ранних версий щелкните «iCloud».
  3. Установите флажок «Связка ключей».
  4. Если вы выберете вариант «Подтвердить позже» при входе в свою учетную запись с идентификатором Apple ID, вам потребуется выполнить подтверждение с использованием старого пароля или другого устройства, когда появится соответствующий запрос. Если вы не можете выполнить подтверждение, сбросьте данные со сквозным шифрованием, когда появится соответствующий запрос.  

Если после выполнения этих действий включить службу «Связка ключей iCloud» не удается, возможно, у вас не настроена двухфакторная аутентификация. Убедитесь, что соблюдены минимальные системные требования для службы «Связка ключей iCloud», и попробуйте совершить следующие действия:

На iPhone, iPad или iPod touch: 

  1. Перейдите в меню «Настройки», коснитесь [вашего имени], а затем коснитесь «iCloud».
  2. Нажмите «Связка ключей» и передвиньте ползунок, чтобы включить службу.*
  3. Следуйте инструкциям на экране.

На компьютере Mac

  1. В меню Apple () выберите «Системные настройки».
  2. В macOS Catalina щелкните идентификатор Apple ID, затем щелкните «iCloud» на боковой панели. В macOS Mojave или более ранних версий щелкните «iCloud».
  3. Выберите пункт «Связка ключей». *

Может появиться сообщение с просьбой создать или сгенерировать случайным образом шестизначный код безопасности iCloud из цифр и (или) букв для авторизации дополнительных устройств и подтверждения своей личности. Если вы забыли свой код, его можно сбросить.

* Если на iPhone, iPad или iPod touch с ОС iOS 13 или на компьютере Mac с ОС macOS Catalina не настроена двухфакторная аутентификация, появляется сообщение с просьбой настроить ее.

  1. Перейдите в меню «Настройки», выберите «Пароли и учетные записи» или «Учетные записи и пароли», затем коснитесь «Пароли сайтов и приложений» или «Пароли сайтов и ПО».
  2. При появлении запроса используйте Face ID или Touch ID.
  3. Для просмотра пароля коснитесь названия веб-сайта.

Чтобы удалить пароль, коснитесь «Изменить». Затем выберите веб-сайт и коснитесь «Удалить».

  1. Откройте браузер Safari. В меню Safari выберите «Настройки», а затем щелкните «Пароли».
  2. Введите пароль учетной записи пользователя.
  3. Для просмотра пароля выберите веб-сайт. Также можно добавлять или удалять пароли в службе «Связка ключей iCloud». Чтобы изменить пароль, выберите веб-сайт, щелкните «Подробнее», измените пароль и нажмите кнопку «Готово».

Ответы на некоторые из наиболее часто задаваемых вопросов о службе «Связка ключей iCloud».

Служба «Связка ключей iCloud» хранит номера и сроки действия кредитных карт (код безопасности не сохраняется и не заполняется автоматически), а также пароли и имена пользователей, пароли Wi-Fi, учетных записей Интернета и т. д. Разработчики также могут обновлять свои программы для использования связки ключей на устройствах с iOS 7.0.3 и более поздних версий или OS X Mavericks 10.9 и более поздних версий.

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

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

Никто другой не сможет получить или прочесть эти данные ни при их передаче, ни в хранилище. Дополнительная информация.

При выключении функции «Связка ключей iCloud» на устройстве появляется запрос выбора действия: сохранить или удалить хранимые пароли и данные кредитных карт.

При выборе первого варианта информация не удаляется и не синхронизируется при внесении изменений на других устройствах.

Если вы не выберете вариант с сохранением информации хотя бы на одном устройстве, информация из службы связки ключей будет удалена с вашего устройства и с серверов iCloud. 

Да.* При настройке функции «Связка ключей iCloud» можно пропустить шаг создания кода безопасности iCloud. Тогда соответствующие данные будут храниться локально и обновляться только на одобренных вами устройствах. Если вы не создадите код безопасности iCloud, Apple не сможет помочь в восстановлении связки ключей iCloud.

* Если для учетной записи настроена двухфакторная аутентификация, этот пункт не применяется.

Нет. Если число неправильных вводов кода безопасности iCloud превысит допустимый порог, вы потеряете доступ к функции «Связка ключей iCloud». Вы можете обратиться в службу поддержки Apple для подтверждения своей личности и повторить попытку. После определенного числа неправильных вводов ваша связка ключей будет удалена с серверов Apple и ее придется настроить повторно.

Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера.

Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей.

Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.

Эта страница полезна?

Благодарим вас за отзыв.

Источник: https://support.apple.com/ru-ru/HT204085

Как надо хешировать пароли и как не надо

Код доступа: правильно создаем и храним пароли

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

Сразу определю какую задачу применения хешей буду рассматривать — аутентификация пользователей. Не токены восстановления паролей, не аутентификация запросов, не что-то еще.

Это также не статья про защиту канала передачи данных, так что комментарии по challenge-response и SSL неуместны!

Матчасть (короткая)

Hash = хеш функция — (свертка) функция однозначного отображения строки (любой длины) на конечное множество (строку заданной длины). Само число (строка) хеш — результат вычисления хеш-функции над данными. Существуют криптографические и некриптографические (классифицируются отдельно, к ним относятся, например, контрольные суммы) хеш-функции.

Для криптографических хэшей есть три дополнительных условия, которые отличают их от всех остальных:

  • Необратимость: для заданного значения хеш-функции m должно быть вычислительно неосуществимо найти блок данных X, для которого H(X)=m.
  • Стойкость к коллизиям первого рода: для заданного сообщения M должно быть вычислительно неосуществимо подобрать другое сообщение N, для которого H(N)=H(M).
  • Стойкость к коллизиям второго рода: должно быть вычислительно неосуществимо подобрать пару сообщений ~(M, M'), имеющих одинаковый хеш

Подробнее — ru.wikipedia.

org/wiki/%D0%A5%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 Вникать в тонкости криптографии прикладному разработчику не обязательно, достаточно запомнить какие хэш-функции (алгоритмы по названию) можно сейчас использовать, а какие уже нет. MD5 — уже нельзя, коллеги, — используйте bcrypt/scrypt.

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

Ниже перечислены требования, которым ваш хеш в базе должен удовлетворять:

  • стойкость к атакам перебора (прямой перебор и перебор по словарю)
  • невозможность поиска одинаковых паролей разных пользователей по хешам

Для выполнения первого требования нужно использовать стойкие в настоящее время (а не в 90х годах!) хеш-функции.

Для выполнения второго — к паролю перед хешированием добавляется случайная строка (соль). Таким образом, у двух пользователей с паролем «123456» будут разные соли «соль1» и «соль2», а соответственно и хеш-функции от «123456соль1» и «123456соль2» в базе тоже будут разные. Теперь немного про систему хранения — и соль и сам хеш хранятся в базе данных. То есть получив доступ к СУБД, злоумышленник получает и значения хешей и соли.

Используйте локальный параметр!

Чтобы усложнить жизнь при атаке перебора следует дописать соль к паролю, а не наоборот (для людей, которые пишут слева направо, конечно).

Так как хеш-функция, как правило, вычисляется последовательно по строке (требования поточности алгоритма), то злоумышленнику при переборе «соленых» хешей, будет проще, когда подхешовое выражение начинается с соли.

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

Для того чтобы еще усложнить жизнь атакующему, Solar Designer www.openwall.com/presentations/YaC2012-Password-Hashing-At-Scale/mgp00005.html предлагает ввести еще одну штуку, под названием локальный параметр.

Это по сути «вторая соль» дописывается ко всем (паролям+соль) конструкциям, и является одинаковой для всех хешей в базе. В чем же трюк? В том, что локального параметра в базе нет. Это константа системы, которая хранится в памяти приложения, куда она попадает из конфига (любым способом, только не из базы). Очень простая и действенная мера, которая позволяет практически полностью исключить атаку перебора по данным только одного хранилища хешей (без знания локального параметра). Единственный раз мы (ONsec) ломали хеши с локальным параметром, выработав при этом тактику атаки на сам локальный параметр (регистрируемся в приложении, затем ищем в базе свой хеш, соль (свой пароль мы и так знаем) и перебираем ЛП). И тщетно. На длинах 16+ байт для современных функций хеширования — это очень дорого по железу. В итоге проще оказалось скомпрометировать систему аутентификации (проставить себе role=admin в базе через UPDATE 😉 )

Очень рекомендую ознакомиться с презентацией: www.openwall.com/presentations/YaC2012-Password-Hashing-At-Scale/mgp00001.html

Защищайте свои хранилища надежно и грамотно!

Заключение

Буду реалистом — естественно, никто не станет переписывать свои проекты ради «каких-то» хешей. Но новые проекты можно писать на scrypt/bcrypt.

А также — внедряйте локальный параметр даже на слабых MD5 — он правда помогает, проверено 🙂 При переходе на другой тип хеширования, помимо трудозатрат, часто встает вопрос производительности. Действительно, более стойкие алгоритмы потребляют больше ресурсов.

Тестируйтесь перед внедрением для своих нагрузок по скорости аутентификации пользователей в секунду (для большинства крупных проектов переход на scrypt оказался безболезненным). Выбор конкретного идеального типа хеша в конкретной ситуации может сильно разнится.

Так, например, ДБО все чаще выбирают железные решения для генерации хешей с заданной скоростью.

В заключении, привожу скорости перебора хешей (единицы измерения — мегахэши в секунду, то есть количество ), полученных на карточке AMD Radeon 7990 стоимостью менее $1000 (даже по старому курсу):

  • MD5: 16000 M/s
  • SHA-1: 5900 M/s
  • SHA256: 2050 M/s
  • SHA512: 220 M/s
  • NTLM: 28400 M/s
  • bcrypt: 8,5 k/s

А по поводу эффективности перебора bcrypt рекомендую также ознакомиться с www.openwall.com/presentations/Passwords13-Energy-Efficient-Cracking/Passwords13-Energy-Efficient-Cracking.pdf

Источник: https://habr.com/ru/post/210760/

Проект SAFE » Принципы парольной защиты

Код доступа: правильно создаем и храним пароли

Мощная металлическая дверь с надежным замком не защитит от вора, если хозяин хранит ключ от квартиры под ковриком. К сожалению, такое часто встречается в компьютерном мире.

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

В двадцатку самых популярных паролей уже не первый год подряд попадают такие “шедевры”, как “12345678”, “password” и “qwerty”.

У Светланы Анатольевны больше полусотни паролей к разным аккаунтам и свои правила на этот счёт. А у вас?

1. Светлана использует длинные пароли

Длинными она считает пароли от 12 символов. Правда, некоторые системы (веб-сайты, приложения) ограничивают длину пароля, но тут уж что поделаешь.

2. Она не использует в паролях личную информацию

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

Это создает серьезную уязвимость. Если злоумышленнику удастся собрать информацию о Свете, он может попробовать подобрать пароль или добраться до аккаунта через “ответ на секретный вопрос”.

Фамилии, имена, номера машин и квартир – плохие пароли.

3. Светлана избегает паролей-слов и коротких паролей-фраз

Пароль, состоящий из одного слова – не лучший выбор. Такой пароль может оказаться в специальных словарях, используемых злоумышленниками. Немногим лучше и пароли, состоящие из коротких фраз (склеенных слов), например, “ladygaga”, “jimbeam” или “warandpeace”. О том, как эффективно применять фантазию для создания и запоминания паролей, рассказано в конце этой статьи.

4. Она не делится паролями с другими людьми

Светлана ни при каких обстоятельствах не дает коллегам или членам семьи пароль к своему компьютеру. (Даже Борису). Если очень-очень нужно пустить человека за компьютер, легко создать новую учетную запись. Уезжая в отпуск, Светлана никому не сообщает пароль к почтовому ящику.

5. Светлана не сообщает пароли в ответ на сомнительные запросы

Как и всем, Свете иногда приходят странные письма с просьбами ввести свой логин/пароль “для предотвращения блокировки”, “в рамках проведения технических работ” и пр. Это сетевое мошенничество, иначе “фишинг”.

Сегодня многие провайдеры предупреждают об угрозе фишинга.

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

6. Светлана осторожно использует пароли в “чужих” сетях wi-fi

Если нужно где-то залогиниться на компьютере, подключившись к wi-fi в гостинице, на вокзале, в аэропорту, Светлана делает это только под защитой VPN.

7. Светлана не пересылает пароли по открытым каналам

“Алё, Свет, это Наташа. Мы не можем войти в админку сайта, нужен пароль, у тебя же есть? Скинь нам быстренько по СМС!” Нет, нет, нет. Передача таких важных данных – только в зашифрованном виде.

8. И меняет пароль сразу после регистрации

Случается, что при регистрации на сайте система сама придумывает пароль. Тогда Света заходит в настройки аккаунта и меняет его на собственный, надежный.

9. Разные пароли для разных ресурсов

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

10. Регулярная смена паролей

У Светы есть правило не реже раза в год менять пароли к важным ресурсам. Даже если всё выглядит так, будто угроз нет и старый пароль может “послужить еще”. Бывает, что пароль скомпрометирован, а пользователь об этом не подозревает.

11. Светлана не использует пароли повторно

“Этот пароль был у меня раньше на Фейсбуке; хороший пароль, я его крепко запомнила; почему бы не использовать его снова, только в Google?” Нет. Света не использует старые пароли. Делать новый пароль путем добавления/изменения одного-двух символов в прежнем – тоже не её метод.

12. Если пароль скомпрометирован, Светлана его быстро меняет

Есть ощущения, что с паролем не всё в порядке? Тогда Света меняет пароль.

 Например, если она была вынуждена кому-то его сообщить; если по неосторожности записала его на бумагу и потеряла; если заметила какую-нибудь подозрительную активность в своем аккаунте (например, следы несанкционированного доступа); если только что успешно пролечила компьютер от вирусов. Смену пароля нужно производить с заведомо “здорового”,  очищенного от вредоносного кода устройства.

13. Светлана не позволяет браузеру сохранять пароли

Во всех современных браузерах эта функция включена по умолчанию. Света просто отключила её.

Удобно пользоваться приватным режимом (в Mozilla Firefox называется “приватное окно”, в Google Chrome – режим инкогнито).

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

14. У Светланы включена двухфакторная аутентификация

Это добавляет к каждому из светиных паролей еще один, дополнительный ключ. Новый уровень защиты: если злодей завладеет паролем, ему вдобавок понадобится ключ. Популярные соцсети и провайдеры услуг вроде Google поддерживают двухфакторную аутентификацию.

15. Светлана избегает схем восстановления паролей

Большинство сервисов предлагает функцию восстановления пароля, например, по привязанному адресу e-mail, по телефону (СМС), по ответу на секретный вопрос и др. Сама возможность восстановить пароль – потенциальная уязвимость.

 Лучшим решением с точки зрения безопасности было бы вообще не использовать функцию восстановления паролей.

Вместо того, чтобы терять пароли и восстанавливать их, Света хранит пароли в надежном месте и не забывает создавать резервные копии.

16. Она хранит пароли в надежном месте

Выбор Светы – защищенный, зашифрованный менеджер паролей (тот же KeePassXC). В таком менеджере можно хранить также пин-коды и важные персональные данные, к примеру, ИНН и СНИЛС.

17. И не забывает о резервных копиях

Резервные копии паролей обеспечивают надежный “тыл”. Базу паролей (из парольного менеджера) Света регулярно копирует и сохраняет в облако, а ещё на флешку, в общем, отдельно от компьютера, на котором вводит пароли каждый день.

Как создать и запомнить надежный пароль

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

Способ 1

В большинстве руководств вам предложат использовать кучу символов из разных множеств: букв (прописных и строчных), цифр, знаков препинания. Что-нибудь вроде Jd4wE#m!kK_2dOf9Mx.

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

Вот как выглядит возможный результат:

3pkm,1i3ev,K4:”P,p!”

Этот надежный пароль состоит из букв в разном регистре, цифр и знаков препинания. Кажется, что запомнить его нереально. Но это и не требуется. В основе – фраза из шекспировского “Макбета”:

Трижды пестрый кот мяукнул,Раз и трижды ежик всхлипнул,

Крикнул черт: “Пора, пора!”

Эту фразу очень легко запомнить, особенно если вы любите Шекспира. (Если нет, можно выбрать другое художественное произведение или, например, песню). Вдобавок нужно запомнить несколько придуманных нами же правил (у вас могут быть собственные правила):

  • Берем первые буквы каждого слова.
  • Меняем числительные на цифры.
  • Букву “ч” меняем на цифру “4”.

Способ 2

Этот способ в оригинале называется diceware (метод игральных костей), но мы предпочитаем называть его метод книги. Здесь ставка делается на случайность выборки слов из огромного словаря. Как получить действительно случайные, не связанные с вашей личностью слова? Возьмите книгу и раскройте её наугад на первой попавшейся странице. Какое слово попалось первым?

box (коробка)

Повторяем. Другая страница, первое слово: 

quickly (быстро)

И так далее, всего шесть раз. Получаем набор из шести случайных слов, скажем, такой:

box (коробка)quickly (быстро)hides (прячет)spruce (ель)

kangaroo (кенгуру)

Jane (Джейн)

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

Можно немножко упростить задачу: фраза “kangaroo Jane quickly hides a box under a spruce” (“кенгуру Джейн быстро прячет коробку под ёлкой”) запоминается легче.

 Для усиления стойкости пароля можете добавить какой-нибудь символ из другого множества, например:

kangarooJanequicklyhidesbox#spruce

Источник: https://safe.roskomsvoboda.org/passwords/

Первый цупис: легальные интерактивные ставки

Код доступа: правильно создаем и храним пароли

  • Придумайте сложный пароль.
  • Используйте разные пароли в ПЕРВОМ ЦУПИС и на сайте Букмекера.
  • Никому не сообщайте свой пароль, даже сотрудникам ПЕРВОГО ЦУПИС.
  • Вводите пароль только убедившись, что находитесь на сайте 1cupis.ru.
  • Меняйте пароль с периодичностью 2-3 раза в год.

А еще рекомендуем прочитать несколько советов:

Как определить, что вы находитесь на сайте ПЕРВОГО ЦУПИС

Сайт ПЕРВОГО ЦУПИС защищен EV-SSL сертификатом повышенной надежности:
Прежде чем вводить конфиденциальную информацию на сайте, пожалуйста, убедитесь, что вы видите в адресной строке браузера все 3 признака безопасности:

  1. значок закрытого замка;
  2. название организации «Mobile Card Non-banking credit organization LLC [RU]»;
  3. название сайта «https://1cupis.ru».

Пример:

Если вы заметили несоответствие в названии сайта, не совершайте никаких операций на данном сайте и незамедлительно обращайтесь в службу поддержки ПЕРВОГО ЦУПИС по телефону 8 800 600-78-78 (звонок бесплатный).

Если вы уже ввели логин и пароль на сомнительном сайте — незамедлительно поменяйте пароль и обратитесь в службу поддержки ПЕРВОГО ЦУПИС по телефону 8 800 600-78-78 (звонок бесплатный).

Защитите свою банковскую карту

Никому не сообщайте:

  • полный номер своей карты
  • код CVV2/CVC2 (три цифры с обратной стороны карты)
  • одноразовые SMS-коды для подтверждения операций

В противном случае злоумышленник сможет воспользоваться средствами на вашей карте.

Обратите внимание!

Сотрудники ПЕРВОГО ЦУПИС в целях борьбы со злоумышленниками могут спросить у вас маскированный номер карты (открытые первые 6 цифр и последние 4 цифры, остальные цифры закрытые, например, 123456******5432) и ни при каких обстоятельствах не будут спрашивать у вас полный номер и CVV2/CVC2 код.

Если кто-то под видом сотрудников ПЕРВОГО ЦУПИС запрашивает у вас полный номер карты и/или CVV2/CVC2 код с обратной стороны карты и/или одноразовый пароль в SMS — сообщите нам об этом по телефону 8 800 600-78-78 (звонок бесплатный).

Также рекомендуем прочитать:
Памятка ЦБ РФ «О мерах безопасного использования банковских карт»

Защитите своё устройство

  • Используйте лицензионное программное обеспечение, не скачивайте и не устанавливайте программы с сайтов, которым вы не доверяете.
  • Обязательно обновляйте антивирус, операционную систему и программы, которыми регулярно пользуетесь.

Так вы сохраните свое устройство в безопасности.

Старайтесь не производить операции с чужих устройств, особенно общественных, например, в интернет-кафе.

Если вам пришлось воспользоваться чужим устройством:

  • Открывайте сайты через анонимную вкладку браузера.
  • Не ставьте галочку «Запомнить меня на этом устройстве».
  • Когда закончите, обязательно нажмите на кнопку «Выход» в личном кабинете.

Почему важно полноценно «выходить» из своего кабинета на чужих устройствах

Когда вы авторизовались в личном кабинете ПЕРВОГО ЦУПИС, сформировалась сессия вашего визита. Пока вы пользуетесь кабинетом, сессия активна и ПЕРВЫЙ ЦУПИС не требует повторного ввода пароля.

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

Если устройство принадлежит вам, то можно продлить сессию, нажав на кнопку: «Запомнить меня на данном устройстве» при авторизации. Тем самым вы сообщаете нам, что это ваше персональное устройство и не нужно каждый раз требовать пароль.

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

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

Зачем нужен антивирус и почему важно его обновлять

Антивирус — это средство выявления и удаления компьютерных вирусов и других вредоносных программ.

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

Также необходимо проводить периодические полные проверки: это поможет, если вы успели подхватить вредоносную программу до того, как её начал определять ваш антивирус.

Защитите себя и свои персональные данные

  • Не оплачивайте дополнительные услуги, не отвечайте на SMS.
  • Не переходите по ссылкам, не открывайте вложения и всегда проверяйте куда ведут ссылки, указанные в сообщениях;
  • Для связи с сотрудниками ПЕРВОГО ЦУПИС используйте только те контактные данные или средства связи, которые указаны на официальном сайте ПЕРВОГО ЦУПИС.

Какие уловки могут применять злоумышленники

Это может быть:

  • сообщение о выигрыше, участии в акциях или спецпредложениях;
  • сообщение о блокировке личного кабинета;
  • сообщения о необходимости пройти повторную идентификацию;
  • и так далее.

Проверяйте все акции на официальном сайте ПЕРВОГО ЦУПИС (https://1cupis. ru) или на сайтах букмекерских контор — партнеров проекта ПЕРВОГО ЦУПИС.

В случае если вы получили подобное «сомнительное» обращение, сообщите нам об этом по телефону 8 800 600-78-78 (звонок бесплатный).

Стандарты безопасности ПЕРВОГО ЦУПИС

  • защита инфраструктуры банковских карт в соответствии со стандартом PCI DSS
  • применение технологии 3-D Secure
  • полное соответствие положению ЦБ РФ № 382-П от 09.06.2012 г.
  • защита персональных данных в соответствии с требованиями Федерального закона № 152-ФЗ «О персональных данных» от 27.07.2006 г.

Мы храним пароль в зашифрованном виде, и он не известен никому (даже сотрудникам ПЕРВОГО ЦУПИС), кроме вас. Мы дополнительно защитили переводы одноразовыми кодами по SMS, а ваши персональные данные и полный номер банковской карты не станут доступны злоумышленникам, потому что мы не отображаем их в личном кабинете.

Мы передаем данные между вами и ПЕРВЫМ ЦУПИС через зашифрованное соединение и используем современные методики защиты.

Сертификат соответствия PCI DSS

ПЕРВЫЙ ЦУПИС надежно заботится о безопасности пользовательских данных, а также сохранности денежных средств.

Вопросы защиты информации имеют для нас приоритетное значение, что подтверждено международным сертификатом соответствия стандарту PCI DSS.

Наличие такого сертификата гарантирует сохранность и безопасность данных о банковских картах и денежных средствах. 

ООО НКО «Мобильная карта» регулярно проходит сертификационный аудит безопасности на соответствие стандарту PCI DSS и подтверждает высокий уровень защиты данных всех пользователей и их операций.

Авторизованный QSA-аудитор Deiteriy на котором можно убедиться в наличии у нас данного сертификата

Рекомендации управления «К» МВД России.

Правила оферты о порядке предоставления и использования электронного средства платежа и условиях перевода электронных денежных средств в оплату Интерактивных ставок в части обеспечения защиты своих аутентификационных данных.

Источник: https://1cupis.ru/info/security

Для родителей
Добавить комментарий