599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
|
|
1 | |
Работа с сертификатами для авторизации10.05.2019, 23:46. Просмотров 1067. Ответов 9
Метки нет Все метки)
(
Доброе время суток.
Подскажите есть у кого то пример механизма авторизации на сайте по средством сертификата, речь непросто ssl а именно замена логина и пароля на веб морде
0
|
|
10.05.2019, 23:46 | |
Электронная подпись+работа с сертификатами Работа с QWebView, OpenSSL для авторизации vk Нужно написать программу для работы с сертификатами |
|
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 |
Называется токен, да по требуется
это как раз криптодрайвер Не совсем УЦ только генерирует ключ сроком от 3х до 15 месяцев, закрытые ключи только у клиента. Нам они без надобности и без специальной лицензии ФСБ их хранить у себя запрещено, по шапке прилетит так что не обрадуешься. Именно только устойчивость, если мне не изменяет память, ssl 254 бита а КЭП от 2048 до 16384 бит в зависимости от OID Нет весь смысал что бы пользователь сам покупал себе ЭЦП, так как они все идет в соответсвии с ГОСТ проблем быть не должно в работе Добавлено через 1 минуту Таким образом анонимный вход не возможен, регистрация занимает 20 секунд, и пользователь 100% идентифицирован
0
|
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
|
|
12.05.2019, 17:45 [ТС] | 7 |
Что бы было проще пример закрытого и открытого ключа
PS ключи уже отозваны))))
0
|
184 / 121 / 24
Регистрация: 16.03.2017
Сообщений: 1,399
|
|
13.05.2019, 13:50 | 8 |
Не по теме: я не из РФ - мне ваши запреты ФСБ мало понятны. У нас тоже есть система ключей для подписей, но обычно она используется в спец-программах для "подшития/подписи" документа для электронной отчетности. Поставляются обычно (в налоговых) на CD, но (вроде) потом можно скопировать на флешку или просто на комп бухгалтера Что из себя представляет "криптопровайдер" и как он подключен к браузеру? Плагин к хрому? "общедоступная" программа к которой у любого JS кода есть доступ? Немного запутался... Как вы представляете себе подобную авторизацию юзера? Опишите ПОШАГОВО!
0
|
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
|
|
13.05.2019, 22:51 [ТС] | 9 |
крипта да в основном это плагин если мы говорим о хроме, опере, яндексе и опере если об ие то просто софтина которая ставица. в целом она условно бесплатная, я думаю у вас ключи от налогой тожеимеют общий формат, так как требования одни и теже.
как происходит у нас. На примере ООО СКБ контур (это уц, и предоставляет софт для взаимодействия с налоговой ипрочем (пенсионный соцстрах егаис и т.д.)) Есть еще тензор но в целом одно и тоже. 1. Компания (физлицо) заключает договор с ним на какие либо услуги. (юрики естественно для налогой, тогров, егаис и тд) физики для Госуслуг 2. Юзер (юр или физ неважно, разница в реквизитах ключа) предоставляет откртый ключ на сервер. Тупо в открывшемся диалоговом окне. 3. Сервер через УЦ проверяет срок действия серта (списки открыты для общего просмотра, так сказать ридонли с ограниченным функционалом (отправляешь отпечаток ключа и получаешь true или false (с датой окончания)) и, в случае true, направляет кодированную строку, кодирует естественно на основе полученного открытого ключа. 4. браузер получив кодированную строку, декадирует ее с помошь закрытого ключа (напоминаю это можно сделать только если имеется закрытый ключ) и отправляет ее на сервер. 5. Сервер в случае идентичности генерирует токен до конца действия ключа (ну или можно дать пользователю выбор, для секьюритности) и разрешает вход. В целом сейчас в РФ 100% юр лиц имеют по несколько ключей ну или минимум один, по ФЗ чуть хуже но тоже терпимо. У нас в РФ не все ключи можно копировать, есть особый вид ключа который записывается на специальный носитель и потом без нарушения целостности скопировать нельзя. (носители типа *JaCarda и ЭЦП 3,0, *используются в основном в ЕГАИС и в торгах). Так же попутно можно принимать ключи и от домена не суть важно, алгоритм работы тот же. ТОлько в логике обязательно учесть, что УЦ и Владелец не может быть одним и тем же, иначе момент идентификации теряется, но благо богу кол во УЦ не много. В РФ это все 4 юр лица, и работают по одному и тому же алгоритму, разница только в криптодрайвере но он нас не касается. Так же для РФ, если мы не будем выдавать ключи с конкретным OID то можно в ФСБ не регистрировать, так что на крайняк можем сами их генерировать (это я про ключи) Добавлено через 36 секунд PS сори за орфографию, не много пьян и пишу с телефона
0
|
184 / 121 / 24
Регистрация: 16.03.2017
Сообщений: 1,399
|
|
14.05.2019, 14:03 | 10 |
Слишком сложно... Как ВЫ мечтаете использовать подобную технологию? Не как это работает "со стандартными сервисами"...
Допустим я клиент, которых хочет авторизироваться на ВАШЕМ сервере через ключи, которые получил (в той-же налоговой). Что я должен сделать (порядок моих действий) для авторизации??? Ключи есть, кое-как установил даже КриптоПро. Что дальше??? Я открываю Ваш сайт и он получает доступ к КриптоПро? Прямо в Хроме? Вы в js сайта можете что-то делать с КриптоПро? Например заставить его "подписать" файл, зашифровать строку или просто выдать в JS информацию по пользователю-владельцу ключа для отправки на сервер? Или выдать сразу токен авторизации??? Ваша задача (на сервере) к моему юзеру (AndyJ) в ВАШЕЙ базе прописать токен высылаемый мной при поключении ключа (когда я вставлю флешку, СД или нажму кнопку в КриптоПро)... Как вы можете получить этот токен? Есть АПИ? Или вы хотите все это смоделировать/повторить на СВОИХ ключах (из OpenSSL), а не "официальных"?
0
|
14.05.2019, 14:03 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Управление сертификатами Беда с сертификатами Работа после авторизации
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |