Что такое ключ auth
что такое Auth_key.
AUTH, аутх, auth_key – это ключ, необходимый для авторизации пользователя на стороннем сервере приложения. Грубо говоря это «логин: пароль» от конкретного приложения. Для каждого приложения у пользователя различный Auth.
Вычисляется по формуле:
auth_key = md5(api_id + ‘_’ + viewer_id + ‘_’ + api_secret)
Сейчас многие боты и программы не требуют Вашего пароля от ВКонтакте. Необходимо лишь указать Auth от приложения и Ваш ID.
Как отыскать Auth-key?
Существует несколько способов. Вот самый простой:
На примере браузера GoogleCrome.
Запускаем необходимое приложение и жмем в любом пустом месте страницы Правую кнопку мыши и выбираем пункт Просмотр кода страницы.
PS: Для других браузеров ищем нечто похожее на «исходный код страницы»
PPS: Так же в некоторых браузерах достаточно войти на страницу с приложением и нажать Ctrl+U.
После проделанного выше появитс страница с исходным кодом. теперь в ней необходимо найти Auth.
Нажимаем Ctrl+F что бы упростить поиск.
Вконтакте
Ищем auth_key.
Среди множества непонятных символов найдется волшебная строчка вида «auth_key»:»e6b84623c311f08f15e8263dd2f3a48a» где e6b84623c311f08f15e8263dd2f3a48a и есть Ваш Auth-key.
MailRu
Ищем authentication_key.
Среди множества непонятных символов найдется волшебная строчка вида «authentication_key»:»e6b84623c311f08f15e8263dd2f3a48a» где e6b84623c311f08f15e8263dd2f3a48a и есть Ваш Auth-key.
Auth Key. Что такое auth key?
Auth Key. Что такое auth key?
Auth key, как правило, используется для авторизации пользователя на сторонних серверах. К примеру, социальная сеть «Вконтакте» запустила игру «Тюряга». Эта игрушка работает на ресурсе, который не имеет отношение к сайту «Вконтакте». Однако ресурс предоставил свои услуги и место для размещения приложения «Тюряга». В итоге получается, что Вы, войдя в социальную сеть с помощью своих данных, при переходе в игру остаётесь неизвестным гостем для сервера этого приложения. Поэтому, чтобы начать играть, необходимо также авторизоваться на сайте, где расположена сама игра.
В силу этого и был создан auth key. Простыми словами, можно сказать, что данный ключ – это логин и пароль стороннего приложения. Следовательно, для разных приложений конкретному пользователю присваиваются персональные ключи auth key. При этом во время авторизации на стороннем ресурсе, как правило, требуется указать не только персональный ключ, но и ID номер. Это и является главным отличием auth key от привычных для нас логина и пароля.
С назначением ключа разобрались. Оказывается не такой уж он загадочный. Теперь неплохо было бы понять: «А где, вообще, хранится этот auth key? И можно ли его найти?» Найти можно. Всё очень просто. Также как и все элементы сайта, ключ авторизации спрятан непосредственно в коде страницы ресурса, на котором размещено стороннее приложение. Чтобы понять, как его найти, обратимся к популярному браузеру «Chrome». С помощью этого WEB-обозревателя запускаем интересующее нас приложение и однократным кликом правой кнопки мыши в любом месте страницы вызываем всплывающее меню. В нём следует выбрать пункт под названием «Просмотр кода страницы». Нашему вниманию будет представлена страница с множеством непонятных символов. Естественно, во всём этом разбираться не надо. Достаточно нажать клавиши Ctrl+F, и ввести в появившемся поле начальные буквы интересующего элемента. В нашем случае вводим «auth». После этого на странице кода выделится ярким цветом слово, введённое в поле. Примерный вид нужной строки будет таким: «auth_key»: «e6b84623c311f08f15e8263dd2f3a48a». Здесь e6b84623c311f08f15e8263dd2f3a48a и есть тот самый Auth-key.
Во всех браузерах, отличных от Chrome, процедура поиска auth key почти одинаковая. Основное отличие в том, что при нажатии правой кнопки мыши во всплывающем меню вместо пункта «Просмотр кода страницы» может быть, что-то другое, но по смыслу похожее. В некоторых WEB-обозревателях код страницы можно просмотреть, нажав одновременно клавиши Ctrl+U. В остальном, последовательность действий та же, что описана в приведённом выше примере.
Требования аутентификации и авторизации API
Прежде чем пользователи смогут отправлять запросы с помощью API, им обычно необходимо зарегистрироваться для получения ключа API или изучить другие способы аутентификации запросов. API-интерфейсы различаются по способу аутентификации пользователей. Некоторые API требуют включения ключа API в заголовок запроса, в то время как другие API требуют тщательной защиты из-за необходимости защиты конфиденциальных данных, подтверждения личности и обеспечения того, чтобы запросы не были подделаны. В этом разделе мы изучим аутентификацию и авторизацию, а также то, на чем следует сосредоточиться в документации.
Определяем термины
Во-первых, давайте определимся с некоторыми ключевыми терминами:
API может аутентифицировать, но не разрешит делать определенный запрос.
аутентификация и авторизация
Последствия нехватки безопасности API
Почему даже API-интерфейсы нуждаются в аутентификации? Для API, которые предназначены только для чтения, иногда пользователям не нужны ключи. Но большинство коммерческих API требуют авторизации в виде ключей API или других методов. Если нет никакой защиты API, пользователи могут совершать неограниченное количество запросов API без какой-либо регистрации. Разрешение неограниченных запросов усложнит модель дохода для вашего API.
Вдобавок, без аутентификации не было бы простого способа связать запросы с конкретными данными пользователя. И не было бы способа защиты от запросов от злонамеренных пользователей, которые могут удалить данные другого пользователя (например, путем удаления запросов DELETE для учетной записи другого пользователя).
Наконец, не получится отследить, кто использует API или какие конечные точки используются чаще всего. Очевидно, что разработчики API должны подумать о способах аутентификации и авторизации запросов к своим API.
В целом, аутентификация и авторизация с помощью API служат следующим целям:
Разные виды авторизации
Существует несколько методов авторизации. Ниже рассмотрим несколько вариантов авторизации, которые встречаются чаще всего:
API ключ
Большинство API требуют авторизации ключом API, чтобы использовать API. Ключ API представляет собой длинную строку, которую обычно включают либо в URL запроса, либо в заголовок запроса. Ключ API в основном служит способом идентификации лица, выполняющего запрос API (аутентифицируя для использования API). Ключ API также может быть связан с конкретным приложением, которое регистрируется.
Ключи APK используют строку в свойстве заголовка для авторизации запросов
API могут дать как открытый, так и закрытый ключ. Открытый ключ обычно включается в запрос, в то время как закрытый ключ рассматривается скорее как пароль и используется только при обмене данными между серверами. На некоторых сайтах документации API, при заходе на сайт, ключ API автоматически заполняется в примере кода и API Explorer.
Basic Auth
Другой тип авторизации называется Basic Auth. С помощью этого метода отправитель помещает пару имя пользователя:пароль в заголовок запроса. Имя пользователя и пароль кодируются с помощью Base64, который представляет собой метод кодирования, который преобразует имя пользователя и пароль в набор из 64 символов для обеспечения безопасной передачи. Вот пример Basic Auth в заголовке запроса:
API, использующие Basic Auth, также будут использовать HTTPS, что означает, что содержимое сообщения будет зашифровано в транспортном протоколе HTTP. (Без HTTPS людям было бы легко расшифровать зашифрованные данные)
Когда сервер API получает сообщение, он дешифрует сообщение и проверяет заголовок. После декодирования строки и анализа имени пользователя и пароля он решает, принять или отклонить запрос.
В Postman можно настроить базовую авторизацию, щелкнув вкладку Authorization, выбрав Basic Auth в раскрывающемся списке и введя имя пользователя и пароль справа от двоеточия в каждой строке. На вкладке Заголовки будет показана пара ключ-значение, выглядящая следующим образом:
Postman обрабатывает кодировку Base64 автоматически, при вводе имени пользователя и пароля с выбранным Basic Auth.
HMAC (код авторизации сообщений на основе хэша)
Сервер API (получатель), получая запрос, принимает те же системные свойства (отметка времени запроса плюс идентификатор учетной записи) и использует секретный ключ (который известен только запрашивающей стороне и серверу API) и SHA для генерации одной и той же строки. Если строка соответствует подписи в заголовке запроса, запрос принимается. Если строки не совпадают, запрос отклоняется.
Вот диаграмма, отображающая процесс авторизации HMAC:
Важным моментом является то, что секретный ключ (критический для восстановления хэша) известен только отправителю и получателю. Секретный ключ не включается в запрос. Безопасность HMAC используется, когда нужно убедиться, что запрос является подлинным и не может быть подделан.
OAuth 2.0
Одним из популярных методов аутентификации и авторизации пользователей является OAuth 2.0. Такой подход опирается на сервер аутентификации для связи с сервером API для предоставления доступа. Понять, что используется метод OAuth 2.0, можно когда предлагается войти в систему при помощи сторонних сервисов, как Twitter, Google или Facebook.
окно входа в систему, использующую Oauth2.0
Существует несколько разновидностей OAuth, а именно «one-legged OAuth» и «three-legged OAuth». One-legged OAuth используется, когда нет конфиденциальных данных для защиты. Например, в том случае, если просто получаем общую информацию только для чтения.
Three-legged OAuth используется, когда нужно защитить конфиденциальные данные. В этом сценарии взаимодействуют три группы:
Вот базовый процесс Oauth2.0:
Сначала пользовательское приложение отправляет ключ приложения и секретные данные на страницу входа в систему на сервере аутентификации. Если аутентификация пройдена, сервер аутентификации возвращает пользователю токен доступа (авторизации).
Токен доступа (авторизации) упакован в параметр запроса в перенаправлении ответа (302) на запрос. Перенаправление направляет запрос пользователя обратно на сервер ресурсов (сервер API).
Токены доступа (авторизации) не только обеспечивают аутентификацию для запрашивающей стороны, но и определяют права пользователя на использование API. Кроме того, токены доступа (авторизации) обычно истекают через некоторое время и требуют от пользователя повторного входа в систему. Для получения дополнительной информации об OAuth 2.0 можно посмотреть ресурсы:
Что документируется в разделе аутентификации
В документации API не нужно подробно объяснять внешним пользователям, как работает аутентификация. Отсутствие объяснений внутренних процессов аутентификации, является лучшей практикой, поскольку хакерам будет сложнее злоупотреблять API.
Тем не менее нужно объяснить необходимую информацию:
Если есть открытый и закрытый ключи, нужно объяснить, где следует использовать каждый ключ, и отметить, что закрытые ключи не должны использоваться совместно. Если разные уровни лицензий предоставляют разный доступ к вызовам API, эти уровни лицензирования должны быть явно указаны в разделе авторизации или в другом месте.
Поскольку раздел API ключей важен, и нужен разработчикам до того, как они начнут использовать API, этот раздел должен быть в начале руководства.
Образцы разделов авторизации
Ниже приведены несколько примеров разделов авторизации в документации API.
SendGrid
SendGrid предлагает подробное объяснение ключей API, начиная с основ, поясняя: «Что такое ключи API?». Контекстно раздел ключей API появляется вместе с другими разделами по управлению учетными записями.
В Twitter подробный пример оправдан и предоставлен, поскольку требования к авторизации OAuth 2.0 немного сложнее.
Amazon Web Services
Amazon использует HMAC. Процесс достаточно сложный, чтобы включить полноценную диаграмму, показать шаги, которые должны выполнить пользователи.
Dropbox
Как и Twitter, Dropbox также использует OAuth 2.0. Их документация включает в себя не одну, а две диаграммы и подробное объяснение процесса.
👨💻 Практическое занятие: Авторизация
В своем найденном опен-сорс проекте найдем информацию об авторизации для запросов к API. Ответьте на следующие вопросы:
Инструкция по перевыпуску ЭЦП для сотрудников юридических лиц Версия для печати
Руководство для сотрудников юридического лица по работе в личном кабинете
Содержание
ПОНЯТИЯ И СОКРАЩЕНИЯ. 3
2. ВХОД В ЛИЧНЫЙ КАБИНЕТ. 4
3.2 МЕНЮ «МОИ КЛЮЧИ ЭЦП». 8
3.2.4 Раздел «Проверка статуса заявки». 14
4. ЛИЧНЫЙ КАБИНЕТ СОТРУДНИКА С ПРАВОМ ПОДПИСИ И СОТРУДНИКА ОТДЕЛА КАДРОВ 16
4.1. РАЗДЕЛ «ЗАЯВКИ НА ПОЛУЧЕНИЯ КЛЮЧЕЙ ЭЦП». 17
4.2 РАЗДЕЛ «СПИСОК КЛЮЧЕЙ ЭЦП». 19
Понятия и сокращения
Национальный удостоверяющий центр Республики Казахстан, обслуживающий участников «электронного правительства», государственных и негосударственных информационных систем
Электронная цифровая подпись – набор электронных цифровых символов, созданный средствами электронной цифровой подписи и подтверждающий достоверность электронного документа, его принадлежность и неизменность содержания
Индивидуальный идентификационный номер формируемый для физического лица, в том числе индивидуального предпринимателя, осуществляющего деятельность в виде личного предпринимательства
Бизнес-идентификационный номер, формируемый для юридического лица (филиала и представительства) и индивидуального предпринимателя, осуществляющего
деятельность в виде совместного предпринимательства
Документ на бумажном носителе или электронный документ, выдаваемый НУЦ РК для подтверждения соответствия электронной цифровой подписи требованиям, установленным нормативно-правовыми актами Республики Казахстан
Последовательность электронных цифровых символов, известная подписчику НУЦ РК и предназначенная для создания электронной цифровой подписи с использованием средств ЭЦП
Устройство безопасного хранения информации, шифрование данных для которого выполняется непосредственно при записи информации на накопитель с использованием специализированного контроллера. Для доступа к информации пользователь должен указать персональный пароль.
Операционная система – комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем
1. Минимальные требования к компьютеру пользователя
2. Вход в личный кабинет
Запустите браузер и наберите в адресной строке: http://pki.gov.kz. Появится следующая
В поле «Путь к хранилищу ключей» необходимо указать путь, где расположены Ваши регистрационные свидетельства (Рис. 3). Выберите ключ аутентификации (AUTH_RSA) и нажмите кнопку «Открыть».
Нажмите кнопку «Войти» (Рис. 4).
В появившемся диалоговом окне введите Ваш пароль на хранилище ключей (Рис. 5).
Внимание: Пароль по умолчанию на Казтокен: 12345678, eToken PRO (Java, 72K), JaCarta: 1234567890.
Нажмите кнопку «Обновить список ключей». При корректном вводе пароля, будет отображен ключ аутентификации (Рис. 6).
Нажмите кнопку «Подписать».
Добро пожаловать в личный кабинет пользователя (Рис. 7).
Вход в личный кабинет сотрудника осуществлен.
3. Работа в личном кабинете
3.1 Меню «Фамилия»
Меню «Фамилия» пользователя содержит информацию о профайле регистрационных свидетельств пользователя НУЦ РК (Рис. 8).
Данные профайла содержат личную информацию пользователя. В настройках Вы можете выбрать язык интерфейса, а также отключить рассылку уведомлений на электронную почту (Рис. 9).
3.2 Меню «Мои ключи ЭЦП»
Для работы с ключами ЭЦП перейдите на вкладку «Мои ключи ЭЦП» (Рис. 10).
В выпадающем меню выберите один из подпунктов:
Смена пароля на ключ ЭЦП – предоставляет возможность сменить пароль на ключи ЭЦП.
3.2.1 Раздел «Перевыпуск ключей ЭЦП»
В данном разделе можно подать заявку в режиме онлайн (при условии наличия действующих ключей ЭЦП), без подтверждения заявки в Центре регистрации.
Важно! Для активации данной заявки, необходимо подтверждение первого руководителя.
Основные поля автоматически будут заполнены, согласно уже имеющемуся регистрационному свидетельству.
Укажите e-mail (при необходимости), населенный пункт, хранилище ключей и путь к хранилищу.
Нажмите кнопку «Подать заявку» (Рис. 11).
Внимание! Хранилище «Персональный компьютер» является небезопасным. Рекомендуем использовать защищенный носитель ключевой информации для снижения риска компрометации ключей ЭЦП.
Поставьте галочку подтверждения корректности подаваемой заявки и нажмите кнопку «Подтвердить» (Рис. 12).
Введите пароль и нажмите кнопку «Подписать» (Рис. 13).
Запомните номер заявки (Рис. 14). После подтверждения заявки первым руководителем, установите регистрационные свидетельства согласно разделу «Проверка статуса заявки».
3.2.2 Раздел «Отзыв ключей ЭЦП»
Для того что бы отозвать регистрационное свидетельство, выберите из списка необходимое регистрационное свидетельства и нажмите кнопку «Редактировать».
Внимание! Для отзыва регистрационных свидетельств необходимо иметь действующий ключ подписи (GOSTKNCA). В связи с чем, для отзыва регистрационных свидетельств, вначале рекомендуем произвести отзыв ключа аутентификации (AUTH_RSA), после чего произвести отзыв ключа подписи (GOSTKNCA).
Укажите хранилище ключей (Рис. 15).
Рис. 15 Укажите путь к регистрационному свидетельству для подписи (GOSTNCA) и нажмите кнопку «Открыть» (Рис. 16).
Нажмите кнопку «Сохранить» (Рис. 17).
Введите пароль (Рис. 18).
Для отзыва регистрационного свидетельства требуется указать причину отзыва. Пожалуйста, выберите в появившемся окне, подходящую для вас причину отзыва (Рис. 19).
Поставьте галочку о согласии предпринимаемых действий, и нажмите кнопку отозвать (Рис.20).
Укажите путь к регистрационному свидетельству для подписи (GOSTNCA) и введите пароль. Процедура отзыва регистрационного свидетельства завершена.
3.2.3 Раздел «Список ключей ЭЦП»
Выберите из выпадающего списка меню, раздел «Список ключей ЭЦП».
В разделе «Список ключей ЭЦП» (Рис. 21) отображается список всех регистрационных свидетельств и их текущий статус. Также есть функция отдельного отображения списка ключей ЭЦП по следующим статусам: действующие, отозванные и срок действия которых истек.
3.2.4 Раздел «Проверка статуса заявки»
Для проверки статуса заявки, пройдите по вкладке «Мои ключи ЭЦП» – раздел «Проверка статуса заявки». В поле «Номер заявки», введите полученный Вами уникальный номер заявки и нажмите на кнопку «Искать» (Рис. 22).
Для установки регистрационных свидетельств, укажите папку, где были сохранены Ваши закрытые ключи, и нажмите на значок поиска. Укажите место хранения Ваших закрытых ключей, сформированных при подаче заявки. И нажмите кнопку «Открыть» (Рис. 23)
Внимание! В случае если генерация ключей была осуществлена на один из поддерживаемых защищенных носителей: eToken 72K, JaCarta, Kaztoken, при установке регистрационных свидетельств, предварительно подключите устройство к компьютеру.
Внимание! Пароль должен содержать латинские буквы нижнего и верхнего регистров, а также цифры. Минимальная длина пароля: 6 символов.
Обязательно запомните указанный пароль!
Пароль восстановлению не подлежит! НУЦ РК не хранит Ваши пароли, и в случае утери пароля данные ключи ЭЦП необходимо отозвать.
Нажмите кнопку «Загрузить сертификаты».
Появится окно, сообщающее об успешной установке регистрационных свидетельств (Рис.25).
Перевыпуск ключей ЭЦП завершен.
3.2.5 Раздел «Смена пароля на ключ ЭЦП»
Для смены пароля на ключи ЭЦП, необходимо зайти в пункт меню «Мои ключи ЭЦП», далее в раздел «Смена пароля на ключ ЭЦП». В открывшемся окне укажите местоположение Ваших ключей ЭЦП в поле «Хранилище ключей».
Важно! При указании защищенного носителя в поле «Хранилище ключей», пароль устанавливается непосредственно на защищенный носитель. В случае указания персонального компьютера в поле «Хранилище ключей», пароль устанавливается непосредственно на ключи ЭЦП.
Укажите «Путь к хранилищу ключей». Заполните поле ввода пароля и нажмите кнопку
«Изменить» (Рис. 26). В случае выбора хранилища – Персональный компьютер, укажите ключ ЭЦП для смены пароля. Процедуру смены пароля необходимо выполнять для каждого ключа ЭЦП отдельно.
Внимание! В случае если вы изменили пароль, но по стечению обстоятельств забыли его, вам необходимо пройти процедуру получения ключей ЭЦП заново. Так как НУЦ РК не хранит ваши пароли.
Пароль успешно изменен.
4. Личный кабинет сотрудника с правом подписи и сотрудника отдела кадров
Сотрудника с правом подписи и сотрудника отдела кадров от обычных сотрудников юридического лица отличает наличие дополнительного раздела «ЭЦП сотрудников» в личном кабинете (Рис. 27).
В разделе «ЭЦП сотрудников» предоставляется выбор подразделов «Заявки на получения ключей ЭЦП» и «Список ключей ЭЦП» (Рис.28).
4.1. Раздел «Заявки на получения ключей ЭЦП»
В разделе «Заявки на получения ключей ЭЦП» предоставляется информация касательно поданных заявок на получение регистрационных свидетельств НУЦ РК от Вашей компании (Рис.29).
В случае предоставления права подтверждения заявок Сотруднику с правом подписи или сотруднику отдела кадров, Первым руководителем, будет доступна возможность подтверждения или отказа заявок, поданных от организации.
После поиска определенной заявки и при выборе пункта «Редактировать», в поле «Хранилище ключей» необходимо указать хранилище для регистрационных свидетельств, в поле «Путь к хранилищу ключей» необходимо указать расположение регистрационного свидетельства, предназначенного для подписи, после чего ввести пароль (Рис. 30).
В открывшемся окне отобразится информация о поданной заявке.
Для смены статуса данной заявки, необходимо выбрать статус заявки в пункте «Выберите статус заявки» (Рис.31).
После выбора статуса заявки, необходимо поставить галочку о подтверждении корректности указанных данных в заявке, после чего указать расположение регистрационного свидетельства, предназначенного для подписи и ввести пароль (Рис. 32).
После смены статуса, заявка выглядит следующим образом (Рис.33).
Процедура подтверждения/отказа в выпуске регистрационных свидетельств осуществлена.
4.2 Раздел «Список ключей ЭЦП»
В разделе «Список ключей ЭЦП» Сотруднику с правом подписи и сотруднику отдела кадров, наделенных соответствующими правами Первым руководителем, предоставляется возможность поиска регистрационных свидетельств сотрудников организации и их отзыв.
Для отзыва регистрационных свидетельств сотрудников компании, необходимо произвести поиск регистрационных свидетельств, после чего нажать на кнопку «Редактировать» (Рис. 34).
На следующей странице необходимо убедится в корректности выбора заявки для отзыва, и в поле «Причина отзыва» указать причину отзыва данной заявки (Рис.35).
После выбора статуса заявки, необходимо поставить галочку о том, что Вы подтверждаете корректность указанных данных в заявке, после чего указать расположение регистрационного свидетельства, предназначенного для подписи и после чего ввести пароль.
После успешного отзыва, заявка выглядит следующим образом (Рис.36).
Отзыв регистрационного свидетельства завершен.