Можно ли получить одноразовый пароль
Содержание статьи
Как получить одноразовые пароли в Сбербанке
В этом материале мы разъясним читателям, для чего нужны и как запросить одноразовые пароли для сервиса Сбербанк Онлайн. Данный инструмент очень важен при использовании удаленных сервисов самообслуживания. Подробную инструкцию по их получению вы узнаете из текста этой статьи.
Способы получения одноразовых паролей
Пароль одноразового применения необходим как идентификатор пользователя, когда идет авторизация в личном кабинете. В его состав входят разнообразные комбинации из 5 цифровых символов.
Еще несколько лет назад разовые сбербанковские пароли для сервиса «Сбербанк Онлайн» можно было получить 2-мя способами:
- через устройство самообслуживания;
- путем sms-информирования на телефон.
Способ выдачи паролей через банкомат несколько лет назад стал недоступен. Однако рассказать о нем стоит – вполне возможно, что Сбербанк пересмотрит свое решение и начнет снова генерировать подтверждающие коды через банкомат.
Чтобы пользоваться единственным способом получения паролей, необходимо активировать услугу sms-рассылки и мобильный банкинг. Сделать это можно в банковском офисе у консультанта или операциониста, через
сайт Сбербанка
или корпоративный банкомат.к содержанию ↑
Настройка паролей через интернет
Наши читатели часто спрашивают, как получить сбербанковский пароль через интернет. Для начала необходимо:
- Активировать «Мобильный банк» и привязать ваш телефонный номер к конкретной карте Сбербанка. Именно на этот телефон поступит sms-уведомление с кодом доступа, подтверждающего доступ на платформу.
- Зарегистрировать Личный кабинет пользователя. Эту операцию можно выполнить через банкомат. Запросите логин и пароль со своей карты и подождите сутки, пока аккаунт появится в системе. Со временем если логин от онлайн-сервиса утратится, его можно будет узнать при помощи одноразового кода на официальном ресурсе банка.
На заметку. Получать код и вводить ее в форму на сайте необходимо каждый раз, когда проводится финансовая операция или авторизация пользователя. Отключить пароли в «Сбербанк Онлайн» невозможно. Единственная опция, которая доступна пользователю – выключение кода подтверждения при входе в систему.
к содержанию ↑
Получение паролей через банкомат
Этот вариант считается одним из самых удобных, так как не требует личного визита в отделение. Держателю пластиковой карты необходимо найти ближайший сбербанковский банкомат и вставить пластик в считывающее устройство.
Порядок действий:
- Введите главный код и войдите в основное меню.
- На следующем этапе выберите пункт подключения онлайн-сервиса и мобильного банка, загрузите страницу. В открывшемся окне выберите опцию печати паролей, после чего устройство выведет 20 сгенерированных кодов на чеке. Каждый одноразовый пароль будет состоять из бессистемного набора цифр и английских букв, в том числе заглавных.
- Если ранее вы не подключились к «Сбербанк Онлайн», система пароли не выдаст, а попросит пройти регистрацию. Для этого сначала распечатайте идентификатор и основной пароль для доступа к системе, после чего вставьте карту повторно и запросите 20 одноразовых кодов.
Теперь вы легко сможете получить разовые пароли самостоятельно, если Сбербанк разблокирует эту функцию. Пока же единственный доступный способ — это sms-рассылка на телефонный номер, привязанный к Личному кабинету.
Источник
Как получить одноразовые пароли в Сбербанке?
Содержание статьи:
- Способы получения одноразовых паролей
- Настройка паролей через интернет
- Получение паролей через банкомат
Способы получения одноразовых паролей
Пароль одноразового применения необходим как идентификатор пользователя, когда идет авторизация в личном кабинете. В его состав входят разнообразные комбинации из 5 цифровых символов.
Еще несколько лет назад разовые сбербанковские пароли для сервиса «Сбербанк Онлайн» можно было получить 2-мя способами:
- через устройство самообслуживания;
- путем sms-информирования на телефон.
Способ выдачи паролей через банкомат несколько лет назад стал недоступен. Однако рассказать о нем стоит – вполне возможно, что Сбербанк пересмотрит свое решение и начнет снова генерировать подтверждающие коды через банкомат.
Чтобы пользоваться единственным способом получения паролей, необходимо активировать услугу sms-рассылки и мобильный банкинг. Сделать это можно в банковском офисе у консультанта или операциониста, через сайт Сбербанка или корпоративный банкомат.
Настройка паролей через интернет
Наши читатели часто спрашивают, как получить сбербанковский пароль через интернет. Для начала необходимо:
- Активировать «Мобильный банк» и привязать ваш телефонный номер к конкретной карте Сбербанка. Именно на этот телефон поступит sms-уведомление с кодом доступа, подтверждающего доступ на платформу.
- Зарегистрировать Личный кабинет пользователя. Эту операцию можно выполнить через банкомат. Запросите логин и пароль со своей карты и подождите сутки, пока аккаунт появится в системе. Со временем если логин от онлайн-сервиса утратится, его можно будет узнать при помощи одноразового кода на официальном ресурсе банка.
На заметку. Получать код и вводить ее в форму на сайте необходимо каждый раз, когда проводится финансовая операция или авторизация пользователя. Отключить пароли в «Сбербанк Онлайн» невозможно. Единственная опция, которая доступна пользователю – выключение кода подтверждения при входе в систему.
Получение паролей через банкомат
Этот вариант считается одним из самых удобных, так как не требует личного визита в отделение. Держателю пластиковой карты необходимо найти ближайший сбербанковский банкомат и вставить пластик в считывающее устройство.
Порядок действий:
- Введите главный код и войдите в основное меню.
- На следующем этапе выберите пункт подключения онлайн-сервиса и мобильного банка, загрузите страницу. В открывшемся окне выберите опцию печати паролей, после чего устройство выведет 20 сгенерированных кодов на чеке. Каждый одноразовый пароль будет состоять из бессистемного набора цифр и английских букв, в том числе заглавных.
- Если ранее вы не подключились к «Сбербанк Онлайн», система пароли не выдаст, а попросит пройти регистрацию. Для этого сначала распечатайте идентификатор и основной пароль для доступа к системе, после чего вставьте карту повторно и запросите 20 одноразовых кодов.
Теперь вы легко сможете получить разовые пароли самостоятельно, если Сбербанк разблокирует эту функцию. Пока же единственный доступный способ — это sms-рассылка на телефонный номер, привязанный к Личному кабинету.
????Дополнительно к прочтению:
Подключение Мобильного банка Сбербанка на телефоне
Как подключить бонусы Спасибо от Сбербанка через телефонПрограмма «Спасибо» от Сбербанка — это одна из многочисленных акций, про
Источник
Как работают одноразовые пароли
Вступление
Как показывает практика, существует определенное непонимание принципов работы одноразовых паролей (это те самые, которые используются в GMail, в спец. токенах платежных систем и так далее).
Прочитав эту небольшую статью, Вы разберетесь в принципе работы одноразовых паролей на основе хэшей, а заодно напишете на Python небольшую программу, которая умеет вычислять пароли для двухэтапной аутентификации Google.
Хэш-функция
Хэш-функция позволяет взять любые данные любой длины и построить по ним короткий «цифровой отпечаток пальца». Длина значения хэш-функции не зависит от длины исходного текста; например, в случае популярного алгоритма SHA-1 длина этого отпечатка составляет 160 бит.
Чтобы понять, почему значение всегда имеет одинаковую длину и не зависит от исходного текста, можно упрощенно представить хэш-функцию в виде кодового замка с колесиками. Вначале мы выставляем все колесики в «ноль», затем идем по тексту и для каждой буквы прокручиваем колесики в соответствии с некоторыми правилами. То число, которое окажется на замке в конце, и есть значение хэш-функции. Примерами таких функций являются MD5, SHA-1, ГОСТ_Р_34.11-94.
Не придумывайте свои хэш-функции, используйте стандартные реализации (например, в случае Python):
import hashlib
print hashlib.sha1(«Hello, Bob!»).hexdigest()
Результат: 88192e3e2e83243887410897efd90287b8e453a7
Идея хэш-функции в том, что она работает только в одном направлении: ее очень легко подсчитать для «Войны и мира», но практически невозможно по уже готовому значению хэш-функции найти документ, который даст такое же значение. Даже если изменить в документе всего одну букву, хэш изменится полностью:
import hashlib
print hashlib.sha1(«Hello, Bob?»).hexdigest()
Результат: cbad4b0e05703acf2e8572be7438830fe7f8ddf5
В связи с этим возникает естественное желание использовать хэш-функцию для контроля целостности сообщений, которые Алиса посылает Бобу: Алиса подсчитывает для каждого своего сообщения значение SHA-1 и вкладывает его в конверт; Боб, самостоятельно подсчитав SHA-1 текста, может сравнить свой результат с Алисиным и удостовериться, что сообщение не было изменено где-то по дороге.
Однако мы забыли о Меллори, который находится где-то между Алисой и Бобом, перехватывает их переписку и вскрывает конверты! Он вполне может изменить сообщение, после чего подсчитать для него SHA-1 и приложить к письму; Боб сверит значения и ничего не заметит.
Проверка подлинности
Подумав, Алиса и Боб при встрече договариваются, что при подсчете SHA-1 они будут временно дописывать к тексту секретное слово, например, «Secret» (конечно, в реальности Алиса и Боб решили использовать куда более длинное слово, чтобы его было сложно подобрать). Меллори не знает это слово, а следовательно, даже если изменит сообщение, то не сможет скорректировать его хэш, не так ли?
Пример:
import hashlib
print hashlib.sha1(«Secret» + «Hello, Bob»).hexdigest()
Результат: 99beeff3ef1971d2cb1be129f986739f6bcba8cc
К сожалению, тут есть проблемы. Да, Меллори не может изменить тело сообщения, но (раз он знает хэш от текущего текста) он всегда может дописать в конце «P.S. На самом деле все это чушь, нам пора расстаться, Боб» и просто досчитать хэш от остатка (вспомним аналогию с кодовым замком).
Чтобы защититься от этого, мы немного усложним нашу функцию:
print hashlib.sha1(«Secret» + hashlib.sha1(«Hello, Bob»).hexdigest()).hexdigest()
Результат: 3f51e9fc540676bc3ce54367fd3e467f3299c743
Теперь дописывание чего-либо в конец сообщения полностью изменит исходные данные для «внешнего» вызова SHA-1 и Меллори остается вне игры.
Алиса и Боб только что придумали то, что называется HMAC (или hash-based message authentication code): основанный на хэш-функции код проверки подлинности сообщений. В реальности HMAC, принятый как стандарт RFC2104 выглядит чуть-чуть сложнее за счет выравнивания длины ключа, пары XOR’ов внутри, участия ключа во «внутреннем» хэше, но суть не меняется.
Не придумывайте свои реализации HMAC, используйте стандартные реализации, например, HMAC-SHA1:
import hmac
import hashlib
print hmac.new(key=»Secret», msg=»Hello, Bob», digestmod=hashlib.sha1).hexdigest()
Одноразовые пароли
Что такое «одноразовый пароль»? Это пароль, который бесполезно перехватывать с помощью кейлоггера, подглядывания через плечо или прослушивания телефонной линии — т.к. этот пароль используется ровно один раз.
Как можно было бы реализовать эту схему? Например, Алиса может сгененировать сотню случайных паролей и отдать копию Бобу. Когда Боб позвонит в следующий раз, он продиктует самый верхний пароль в списке, Алиса сверит его со своим, после чего оба вычеркнут его. При следующем звонке они используют очередной пароль и так далее, пока они не закончатся. Это не очень удобно: хранение списков, генерация новых паролей и так далее.
Лучше реализовать эту схему в виде алгоритма. Например, паролем является его номер по порядку, умноженный на секретное число. Пусть Алиса и Боб договорились, что секретным числом является 42; тогда первым паролем будет 42, вторым 84, третьим 126 и так далее. Меллори, не знающий алгоритма и секретного числа, никогда не догадается, какой пароль будет следующим!
Конечно, алгоритм лучше выбрать посложнее. Алиса вспоминает про HMAC и предлагает Бобу считать пароль номер N по формуле: HMAC(«Secret», номер-пароля). После этого им нужно договориться о ключе (в данном случае это «Secret»), зато потом Бобу нужно только помнить, какой по счету пароль он генерирует (например, двадцатый):
import hmac
import hashlib
print hmac.new(key=»Secret», msg=»20″, digestmod=hashlib.sha1).hexdigest()
Результат: 393e9efaae1a687bc2dcc257c8e9e2a61f26fe4b
Впрочем, Бобу совсем не улыбается каждый раз диктовать такой длинный пароль. Они с Алисой договариваются, что будут использовать только его часть, например, последние 6 символов.
Некоторое время все идет хорошо. До момента, пока Бобу и Алисе не надоедает вести подсчет, какой по счету пароль они используют. Кто-то подсказывает им, что в качестве аргумента HMAC() вместо номера можно использовать все, к чему Алиса и Боб имеют одновременный доступ… например, текущее время!
Наши герои синхронизируют свои часы и договариваются, что будут в качестве аргумента HMAC() использовать unix time — количество секунд, прошедших с момента наступления эпохи UNIX (в UTC). Чтобы вводить пароль не торопясь, они решают разделить время на 30 секундные «окна»; таким образом, на протяжении 30 секунд действует один и тот же пароль. Естественно, Алиса, проверяющая пароли, в течение 30 секунд не позволяет использовать пароль повторно (просто запоминая его) и тем самым оставляет его по-настоящему «одноразовым».
Теперь пароль вычисляется по следующей формуле: HMAC(«Secret», unix_timestamp / 30).
Мы получили одноразовые пароли на основе текущего времени. Сгенерировать и проверить эти пароли может только тот, кто обладает ключом («Secret» в примере выше); иначе говоря, сервер и пользователь.
Следует отметить, что одноразовые пароли могут считаться и по другим алгоритмам; главное, чтобы алгоритм и секрет были известны обеим сторонам. Но т.к. у нас есть стандарт, дальше мы будем говорить именно о нем
OATH, TOTP, HOTP, RFC… WTF?
Итак, мы только что описали основные идеи, лежащие в основе:
1) HMAC, hash-based message authentication code: RFC2104
2) HOTP, hash-based one-time password: RFC4226
3) TOTP, time-based one-time password: RFC6238
Эти идеи — один из краеугольных камней инициативы Initiative For Open Authentication (OATH), направленной на стандартизацию методов аутентификации.
Двухэтапная аутентификация Google
Одноразовые пароли, основанные на времени (и подсчитываемые на основе алгоритма TOTP RFC 6238) используются также компанией Google в приложении Google Authenticator, которое можно установить на iOS, Android, BlackBerry. Это приложение автоматически генерирует одноразовые пароли раз в 30 секунд (в дополнение к основному паролю на Google Account). Это означает, что даже если Ваш основной пароль кто-то подглядит или перехватит, без очередного одноразового пароля в систему войти будет невозможно. Удобно.
ВНИМАНИЕ: Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ВАШИ ДЕЙСТВИЯ С ВКЛЮЧЕНИЕМ И ВЫКЛЮЧЕНИЕМ ДВУХЭТАПНОЙ АУТЕНТИФИКАЦИИ GOOGLE; ВЫ СОГЛАСНЫ, ЧТО ВЫ ВЫПОЛНЯЕТЕ ИХ НА СВОЙ СТРАХ И РИСК.
На самом деле там нет ничего страшного (есть инструкции, есть trusted-компьютеры, есть резервные коды и т.д.), но если от души постараться, бездумно нажимая на кнопки, то вполне можно лишиться доступа к своему аккаунту. И все же: если не готовы экспериментировать, не трогайте Gmail; просто скачайте приложение Google Authenticator на телефон, вручную добавьте «ключ по времени» (например, «a abc def abc def abc» или просто отсканируйте QR-код ниже).
Для начала нам нужно получить секретный ключ, который используется для создания одноразового пароля. Его можно посмотреть на странице добавления Google Authenticator’а в настройках аккаунта, он находится под QR-кодом:
Обратите внимание, что если двухэтапная аутентификация уже включена, то старый ключ узнать нельзя: придется удалить старый и сгенерировать новый. Это несложно; главное, не забыть сразу обновить ключ и в Google Authenticator, если Вы им пользуетесь.
Ключ закодирован в Base32 (для удобства уберите пробелы и переведите буквы в верхний регистр).
Программа, которая подсчитывает текущий одноразовый пароль:
import time
import hmac
import hashlib
import base64
### TOTP-key (get it from Google)
secret = base64.b32decode(«AABCDEFABCDEFABC»)
### Calc counter from UNIX time (see RFC6238)
counter = long(time.time() / 30)
### Use counter as 8 byte array
bytes=bytearray()
for i in reversed(range(0, 8)):
bytes.insert(0, counter & 0xff)
counter >>= 8
### Calculate HMAC-SHA1(secret, counter)
hs = bytearray(hmac.new(secret, bytes, hashlib.sha1).digest())
### Truncate result (see RFC4226)
n = hs[-1] & 0xF
result = (hs[n] << 24 | hs[n+1] << 16 | hs[n+2] << 8 | hs[n+3]) & 0x7fffffff
### Print last 6 digits
print str(result)[-6:]
Теперь можно положить рядом запущенный Google Authenticator и сравнить значения.
upd: пример реализации на JavaScript (спасибо roman_pro)
upd #2: если хотите поиграть с 2-step verification от dropbox, в конце секрета допишите «======» (это необходимо для паддинга и корректной работы base32-декодера).
Выводы
- Одноразовые пароли — это несложно.
- Стандарты — это хорошо.
- При желании их можно встроить и в свое приложение (используйте готовые библиотеки; например, из исходников того же Google Authenticator’a).
Источник
Одноразовые пароли. Где? Зачем? Как?
Когда я впервые услышал фразу «одноразовый пароль» я был в недоумении. Как это одноразовый? Кто будет использовать пароли, которые действуют только один раз? это сколько же надо паролей помнить, чтобы после первого же использования его выбросить? Да и вообще кому это нужно, ведь есть же нормальные долгоживущие пароли.
Если Вы так же как и я впадаете в некоторое недоумение при словосочетании «одноразовый пароль», то я постараюсь рассказать что это такое, для чего их можно использовать и как они работают.
Представьте себе, что Вы оказались в командировке в чужом городе, и у Вас сломался ноутбук, или у Вас его вообще не было, а Вам срочно понадобилось зайти в корпоративную почту или получить доступ на корпоративный портал. Что Вы будете делать? Правильно, большинство из нас пойдёт в место общего пользования интернетом: интернет кафе/игровой клуб/почтовое отделение. Вот Вы пришли, сели за компьютер, открыли браузер, ввели адрес, появилась страничка аутентификации и… СТОП! Это же компьютер общего пользования, и если Вы сейчас введёте логин и пароль, то где гарантия того, что они тут же не попадут в руки третьих лиц? Что же делать? Вот такую задачу и помогут решить одноразовые пароли. Вы вводите логин, вводите одноразовый пароль, и получаете доступ к необходимому Вам ресурсу. Почему это более безопасно чем обычные пароль? Да потому что в следующий раз, для доступа к корпоративным ресурсам, Вам придётся ввести совершенно другой пароль.
Всё вышеописанное звучит красиво, но остаётся вопросик: от куда Вы получите следующий пароль? Может Вам необходимо будет поменять его перед выходом из системы? Может администратор отследив, что Вы уже воспользовались один раз паролем, изменит его и пришлёт Вам SMS? Или может у Вас есть список этих самый одноразовых паролей? Нет, всё гораздо проще — есть генератор одноразовых паролей, который может выглядеть как брелок, флешка, кредитная карта или небольшой калькулятор. Для того, чтобы сгенерировать одноразовый пароль, достаточно нажать одну(или несколько, в случае «калькулятора») кнопочек и новый пароль высветиться на экране. Вводим этот пароль и получаем доступ к нужной информации, и не боимся, что пароль украли или посмотрели, ведь в следующий раз сгенериться совершенно другой пароль.
Ну и самое интересное, а как это это всё работает? Всё очень просто. Есть две составляющих данного решения клиент (это тот самый генератор одноразовых паролей, в виде брелка/флешки/калькулятора который выдаётся пользователю) и сервер (программная часть, которая проверяет, а правильный ли пароль ввёл пользователь). В момент инициализации генератора одноразовых паролей в него записывается два значения: некоторое случайное число (понятно, что чем больше это число, тем лучше), которое называется вектором инициализации, и счётчик. Эти же данные сохраняются и на сервере. Когда на генераторе одноразовых паролей нажимается кнопка, вектор инициализации и счётчик подаются преобразуются с помощью хэш функции в некоторое значение, которое и будет одноразовым паролем (на самом деле происходит несколько сложнее, но для понимания принципа работы этого достаточно). Так как функция хэширования необратима, то восстановить из полученного значения начальные практически невозможно. Так как при каждой генерации счётчик увеличивается, то каждый раз значение одноразового пароля будет различным. На сервере происходит такая же ситуация, получив логин пользователя, сервер выясняет какой вектор инициализации и какое значение счётчика необходимо использовать для расчётов, используя ту же самую функцию хэширования сервер получает одноразовый пароль. Если пароли совпадают, то пользователь аутентифицирован и может получить доступ к ресурсам.
В случае, если Вы случайно несколько раз нажали на кнопочку, и произошла расссинхронизация, то существуют методы синхронизации генератора и сервера.
Описанная схема работы сильно упрощена, существуют более сложные схемы, например когда сервер присылает нам значение, мы вводим его в крипто-калькулятор, получаем другое «ответное значение» и вводим его в форму аутентификации в качестве пароля.
Описанные схемы работы завязаны на события, то есть на нажатия кнопки, так же существуют схемы работы завязанные на время.
Вышеописанная схема работы одноразовых паролей несколько упрощена, но на мой взгляд раскрывает основные принципы работы. Более подробно про реализацию одноразовых паролей можно почитать в RFC 4226.
P.S. Это моя первая статья на Хабре, но надеюсь не последняя…
Когда генератор одноразовых паролей выдаётся пользователю, то его серийный номер привязывается к логину пользователя, таким образом, получив логин пользователя, сервер точно знает какие значения вектора инициализации и счётчика необходимо использовать. Что же происходит с этими
Источник