Форум программистов, компьютерный форум, киберфорум
JavaScript: Node.js
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
1

Работа с сертификатами для авторизации

10.05.2019, 23:46. Просмотров 1067. Ответов 9
Метки нет (Все метки)


Доброе время суток.

Подскажите есть у кого то пример механизма авторизации на сайте по средством сертификата, речь непросто ssl а именно замена логина и пароля на веб морде
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2019, 23:46
Ответы с готовыми решениями:

Работа с сертификатами
товарищи, обращаюсь к вам ибо гугл к сожалению не помог, нужна помощь в скрипте удаляющем...

Электронная подпись+работа с сертификатами
Здравствуйте!дали задание,саму суть понял,не могу разобраться,как начать писать программу.помогите...

Работа с QWebView, OpenSSL для авторизации vk
Собственно, установил OpenSSL, кинул два файла в папку с комплиятором, как описано в этом...

Нужно написать программу для работы с сертификатами
Нужно разработать программу с web-интерфейсом, которая хранит, информацию о сертификатах, при чем...

9
184 / 121 / 24
Регистрация: 16.03.2017
Сообщений: 1,399
12.05.2019, 08:43 2
Уточни ТЗ. (мне тоже интересно)

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

Но "сертификаты", увы, еще не изучал... можем вместе изучить (вдруг и мне пригодится)... уточните задачу!
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
12.05.2019, 12:52  [ТС] 3
andyj, Смотри есть криптодрайвер, допустим КриптоПро (используется при работе с ЭЦП на госуслугах и тд) или тот же пресловутый OpenSSL (открытый протокол в основном для серверов и клиентов, без передачи шифрованных доков) не суть это только алгоритм работы с открытыми и закрытиями ключами. У пользователя есть закрытый ключ (user.key) есть только у него, если утекает то считается что ключ не валидный больше. На сервере есть открытый ключ (user.csr) если коротко с помощью его можно зашифровать, но не расшифровать инфу. И так ТЗ серв шифрует любую строку с помощью открытого ключа, потом юзер когда нажимает авторизовать, получает эту строку расшифровывает ее и отправляет на серв. Серв принимает сравнивает если все ок выдает токен на вход.

Добавлено через 15 минут
Какое профит. Серты выдаются персонально с проверкой паспорта ИНН и все в этом духе. Контролируются ФЗ и удостоверяющими центрами. Сери можно использовать и при регистрации там (в открытом ключе) есть все данный и почта и телефон и фио. Так что в разы упрощается процесс авторизации/регистрации. Подсунул открытый ключ. Серв проверил его через УЦ (около 15 секунд) зашифровал строку, отправил, получил ответ, занес в базу узоров и все. Весь процесс занимает порядка 30 секунд и не каких вводов данных и прочего.
0
184 / 121 / 24
Регистрация: 16.03.2017
Сообщений: 1,399
12.05.2019, 13:02 4
Планируешь все это в браузере реализовать? Технически реально, но боюсь есть сложности...

Есть опенсорсный браузерный генератор RSA ключей и шифратор/дешифратор для сайта (гуглится или могу прямую ссылку поискать). Глубоко не копал, но внешне похожи на SSL-пары. Надо проверить его совместимость с нодой. В браузере все кодит/докодит. Сложность ключа можно задавать.

В ноде вроде с SSL тоже полная поддержка.

Где клиент будет хранить свои ключи? В браузере? на флешке? на СД (нам в налоговой так дают) ?

Если я правильно понял, есть 3 "участника": клиент с ключем, служба поддержки ключа и ваш сервер? тогда кто будет подтверждать надежность ключа? или закрытый ключ клиенту вы будете от своего сервера выдавать?
0
MrOnlineCoder
12.05.2019, 14:21
  #5

Не по теме:

Mesteriis, вставлю только свои 5 копеек: сталкивался с похожим на сайте одного гос. реестра, для входа нужно было отправить секретный ключ (отправляется файл) и пароль к нему, вся проверка происходила в браузере. Алгоритм мне неизвестен. Дальше, они сменили способ работы, ключи передавалась на специальных флешках, которые просто так проводником не открыть. Для входа в систему нужно было установить прогу, которая считывает собственным драйвером эту флешку. Еще в браузер нужно было установить расширение, которое бы принимало данные от этого драйвера. Много возни для пользователя, но один раз настроил и все. Т.е. по идеи это возможно, нужно только иметь возможность работать с ключами этой вашей службы.

0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
12.05.2019, 17:43  [ТС] 6
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
на специальных флешках,
Называется токен, да по требуется
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Для входа в систему нужно было установить прогу,
это как раз криптодрайвер
Цитата Сообщение от andyj Посмотреть сообщение
служба поддержки ключа
Не совсем УЦ только генерирует ключ сроком от 3х до 15 месяцев, закрытые ключи только у клиента. Нам они без надобности и без специальной лицензии ФСБ их хранить у себя запрещено, по шапке прилетит так что не обрадуешься.
Цитата Сообщение от andyj Посмотреть сообщение
но внешне похожи на SSL-пары.
Именно только устойчивость, если мне не изменяет память, ssl 254 бита а КЭП от 2048 до 16384 бит в зависимости от OID
Цитата Сообщение от andyj Посмотреть сообщение
закрытый ключ клиенту вы будете от своего сервера выдавать
Нет весь смысал что бы пользователь сам покупал себе ЭЦП, так как они все идет в соответсвии с ГОСТ проблем быть не должно в работе

Добавлено через 1 минуту
Таким образом анонимный вход не возможен, регистрация занимает 20 секунд, и пользователь 100% идентифицирован
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
12.05.2019, 17:45  [ТС] 7
Что бы было проще пример закрытого и открытого ключа
PS ключи уже отозваны))))
0
Вложения
Тип файла: 7z Key.000.7z (1.8 Кб, 6 просмотров)
184 / 121 / 24
Регистрация: 16.03.2017
Сообщений: 1,399
13.05.2019, 13:50 8

Не по теме:

я не из РФ - мне ваши запреты ФСБ мало понятны. У нас тоже есть система ключей для подписей, но обычно она используется в спец-программах для "подшития/подписи" документа для электронной отчетности. Поставляются обычно (в налоговых) на CD, но (вроде) потом можно скопировать на флешку или просто на комп бухгалтера



Цитата Сообщение от Mesteriis Посмотреть сообщение
это как раз криптодрайвер
Что из себя представляет "криптопровайдер" и как он подключен к браузеру? Плагин к хрому? "общедоступная" программа к которой у любого JS кода есть доступ?

Немного запутался... Как вы представляете себе подобную авторизацию юзера? Опишите ПОШАГОВО!
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
13.05.2019, 22:51  [ТС] 9
Цитата Сообщение от andyj Посмотреть сообщение
Что из себя представляет "криптопровайдер" и как он подключен к браузеру? Плагин к хрому?
крипта да в основном это плагин если мы говорим о хроме, опере, яндексе и опере если об ие то просто софтина которая ставица. в целом она условно бесплатная, я думаю у вас ключи от налогой тожеимеют общий формат, так как требования одни и теже.
Цитата Сообщение от andyj Посмотреть сообщение
Опишите ПОШАГОВО!
как происходит у нас.
На примере ООО СКБ контур (это уц, и предоставляет софт для взаимодействия с налоговой ипрочем (пенсионный соцстрах егаис и т.д.)) Есть еще тензор но в целом одно и тоже.
1. Компания (физлицо) заключает договор с ним на какие либо услуги. (юрики естественно для налогой, тогров, егаис и тд) физики для Госуслуг
2. Юзер (юр или физ неважно, разница в реквизитах ключа) предоставляет откртый ключ на сервер. Тупо в открывшемся диалоговом окне.
3. Сервер через УЦ проверяет срок действия серта (списки открыты для общего просмотра, так сказать ридонли с ограниченным функционалом (отправляешь отпечаток ключа и получаешь true или false (с датой окончания)) и, в случае true, направляет кодированную строку, кодирует естественно на основе полученного открытого ключа.
4. браузер получив кодированную строку, декадирует ее с помошь закрытого ключа (напоминаю это можно сделать только если имеется закрытый ключ) и отправляет ее на сервер.
5. Сервер в случае идентичности генерирует токен до конца действия ключа (ну или можно дать пользователю выбор, для секьюритности) и разрешает вход.

В целом сейчас в РФ 100% юр лиц имеют по несколько ключей ну или минимум один, по ФЗ чуть хуже но тоже терпимо.

Цитата Сообщение от andyj Посмотреть сообщение
потом можно скопировать на флешку или просто на комп бухгалтера
У нас в РФ не все ключи можно копировать, есть особый вид ключа который записывается на специальный носитель и потом без нарушения целостности скопировать нельзя. (носители типа *JaCarda и ЭЦП 3,0, *используются в основном в ЕГАИС и в торгах).
Так же попутно можно принимать ключи и от домена не суть важно, алгоритм работы тот же. ТОлько в логике обязательно учесть, что УЦ и Владелец не может быть одним и тем же, иначе момент идентификации теряется, но благо богу кол во УЦ не много. В РФ это все 4 юр лица, и работают по одному и тому же алгоритму, разница только в криптодрайвере но он нас не касается. Так же для РФ, если мы не будем выдавать ключи с конкретным OID то можно в ФСБ не регистрировать, так что на крайняк можем сами их генерировать (это я про ключи)

Добавлено через 36 секунд
PS сори за орфографию, не много пьян и пишу с телефона
0
184 / 121 / 24
Регистрация: 16.03.2017
Сообщений: 1,399
14.05.2019, 14:03 10
Цитата Сообщение от Mesteriis Посмотреть сообщение
как происходит у нас.
Слишком сложно... Как ВЫ мечтаете использовать подобную технологию? Не как это работает "со стандартными сервисами"...

Допустим я клиент, которых хочет авторизироваться на ВАШЕМ сервере через ключи, которые получил (в той-же налоговой).
Что я должен сделать (порядок моих действий) для авторизации???
Ключи есть, кое-как установил даже КриптоПро.
Что дальше???
Я открываю Ваш сайт и он получает доступ к КриптоПро? Прямо в Хроме? Вы в js сайта можете что-то делать с КриптоПро? Например заставить его "подписать" файл, зашифровать строку или просто выдать в JS информацию по пользователю-владельцу ключа для отправки на сервер? Или выдать сразу токен авторизации???

Ваша задача (на сервере) к моему юзеру (AndyJ) в ВАШЕЙ базе прописать токен высылаемый мной при поключении ключа (когда я вставлю флешку, СД или нажму кнопку в КриптоПро)... Как вы можете получить этот токен? Есть АПИ?

Или вы хотите все это смоделировать/повторить на СВОИХ ключах (из OpenSSL), а не "официальных"?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2019, 14:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Управление сертификатами
Скажите пожалуйста а то что то я совсем не помню . Для чего служат сертификаты в винде ? Где я мого...

Беда с сертификатами
Господа, такое дело, встречаем второй раз за неделю. Началось все с компа на win7. Система...

Работа после авторизации
День добрый,проблема такова, что не знаю какие действия производить далее,с авторизацией разобрался...

PKI. Запутался с сертификатами
Здравствуйте! Я разворачиваю PKI и немного запутался в сертификатах. У меня в сети есть ПК с WinXP,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.