Теперь, чтобы провести оплату, ввод или вывод денег, нужно ввести "платёжный пароль".
Регистрация платёжного пароля - производится на панели Оплата(Платежи).
Нужно ввести пароль и его повтор, для подтверждения.
При регистрации (или смене) пароля - в браузере, на яваскрипте,
создаётся пара ключей RSA (по
этой реализации). Секретный ключ - шифруется платёжным паролем,
и, вместе с публичным, отправляется, для хранения, на сервер.
После входа посетителя, по обычному паролю( или из соцсети,
или по сессионному паролю), сервер генерирует случайную строку
и сохраняет её в сессии.
Эта случайная строка шифруется публичным ключом пользователя.
После этого, зашифрованная случайная строка и зашифрованный приватный ключ
передаются в браузер, через аякс.
После того, как они получены браузером, интерфейс приложения изменяется,
и на панели Оплата(Платежи), предлагается ввести платёжный пароль.
После ввода пароля - скрипт, в браузере, расшифровывает,
этим паролем, приватный ключ, и, затем, расшифровывает
этим приватным ключом, зашифрованную, публичным ключом(на сервере),
случайную строку. Затем, снимает с расшифрованной случайной строки
дайджест md5, и отправляет его на сервер.
Сервер получает этот дайджест, и сравнивает его,
с дайджестом md5 случайной строки, хранимой в сессии.
Если эти дайджесты совпадают - значит аутентификация,
по платёжному паролю, прошла успешно.
При таком подходе - вход в платёжный акаунт невозможен,
даже при краже, с сервера, базы данных, содержащей дайджесты паролей,
используемые, для обычного входа.
Кроме этого - пароль никогда не передаётся по сети, а значит,
на может быть, в ней, перехвачен.
Соответственно, не существует никакого способа восстановить этот пароль,
поэтому если он забыт или скомпрометирован - его можно только заменить.
Замена производится, на панели "личные данные/пароли".
Для смены платёжного пароля - нужно ввести код подтверждения,
высылаемый на емэйл пользователя.
Поэтому, для овладения платёжным акаунтом, злоумышленнику потребуется,
сначала, овладеть почтовым акаунтом, привязанным к учётной записи
webface. А это - угроза безопасности более высокого уровня.
Поскольку адрес почты, привязанной к акаунту webface , тоже можно изменять,
было, введено новое правило безопасности :
почтовый акаунт не может быть использован, для получения кода подтверждения,
для изменения платёжного пароля, в течении 7 дней, с момента его смены.
Также, при смене почтового адреса, на старый почтовый адрес, сервером,
обязательно, отправляется уведомление, о том, что этот адрес был изменён,
в учётной записи webface.