Двойна автентикация с парола и електронен подпис

vassy

Active Member
Работя по проект, в който се изисква двойна автентикация с парола и електронен подпис. На ясно съм за начина на логване с парола и цифров клиентски сертификат. Предполагам, че начина за логване с парола и електронен подпис е подобен.
Моля, ако някой има опит да сподели!

Не намерих по-подходящ раздел за въпроса ми.
 
От: Двойна автентикация с парола и електронен подпис

Никой ли не е писал/ползвал скриптове за ползване на електронен подпис?
 
От: Двойна автентикация с парола и електронен подпис

В общи линии ми се изясни начина на взаимодействие. Нужен е Java аплет, който да чете от токена и да иска пина. След това е като при клиентския сертификат. Намерих и opensource аплет в http://sourceforge.net/projects/j4sign/, че все на платени попадам.
Все пак някой да сподели практически за интеграцията с аплета, да не откривам топлата вода! Не мога да повярвам, че никой от форума не се е занимавал с това.
 
От: Двойна автентикация с парола и електронен подпис

Това с Java-та ми изглежда грозно. Не може ли да се ползват вградените в браузъра възможности?

Аз примерно се логвам в някои банки и ePay.bg като ползвам сертификат, който съм инсталирал на браузъра. Никакви джави не се налага да ползвам.
 
От: Двойна автентикация с парола и електронен подпис

Java-та е блокирана отвсякъде, тъй като прекалено много информация spoof-ва към отсрещната страна, та чак и хардуерни данни. Не, че flash-а не го прави, но е сравнително „по-малко“, но пък и той дава др. пикантна информация.
 
От: Двойна автентикация с парола и електронен подпис

За някои банки и Epay се работи с цифрови сертификати, които се импортват в броузера. Това е чисто софтуерно импортване на файл със сертификата. При електронния подпис Java аплета комуникира с хардуера през USB или както казва шерифа, може и с флаш. Та няма как да мина без хардуерно четене.
 
От: Двойна автентикация с парола и електронен подпис

За капак, след ъпгрейд на Firefox до 33, броузера започна да дава странни проблеми с някои самоподписани SSL сертификати (въобще не отваря страниците). Оказа се, че има проблем и с електронните подписи. Свалих версията до 32.
Ето още по втория проблем - https://www.b-trust.org/bg/novini/problem-s-mozilla-firefox-versija-33-0
 
Re: От: Двойна автентикация с парола и електронен подпис

Има ли специфична причина да е с ел подписи?
Ако не, прочети малко за pin safe.

http://www.swivelsecure.com/

При нас се ползва това за автентификация при логване от вън и дава достъп до абсолютно цялата система. Работя в нефтена компания където парите не са проблем т.е. наели са най-скъпите (добри?) специалисти по кибер сигурност и мигрираха от хардуерни токени към това. Идеята ми изглежда 100% сигурна.
 
От: Re: От: Двойна автентикация с парола и електронен подпис

Да, има специфична причина. Всички потребители на системата вече имат електронен подпис така или иначе.
 
От: Двойна автентикация с парола и електронен подпис

Нужен е Java аплет, който да чете от токена и да иска пина.

Бягай далеч от джава аплетите - едно че почти навсякаде джавата е забранена, второ че е адски грозни и трето - при вдигане на JVM клиентската машина замръзва за неопределено време.

Сега зависи за какво точно искаш да ползваш клиентския сертификат. Примерно в epay.bg след логване с потребител и парола ти иска сертификат (ако си добавил) за да удостовери, че ти си човека (authorization). Уеб сървъра се конфигурира така, че да изисква клиентски сертификат - примерно конфигурация за nginx тук: http://nategood.com/client-side-certificate-authentication-in-ngi . Сега доколкото знам има някаква регулация за българските универсални ел. подписи - мисля че ако ти е пъблик сайта, трябва да тръстваш на всичките фирми дето издават подписи: Инфонотари, Банк Сервиз, и т.н.

Друг момент за който може да ти трябва подписа е authorization - примерно банките изискват да се подпише платежното нареждане когато превеждаш пари към чужди сметки. Това става САМО на клиентската машина чрез private ключа на сертификата, който не се праща в рикуеста. За IE браузърите се използва CAPICOM (http://en.wikipedia.org/wiki/CAPICOM), не знам дали в по-новите версии няма вече Javascript функции, а при останалите браузъри - https://developer.mozilla.org/en-US/docs/Web/API/Window.crypto (което си е по стандарт на W3C).
 
От: Двойна автентикация с парола и електронен подпис

Не знам какъв е този проблем с версия 33, но сега съм с нея и безпроблемно се логнах в ePay.bg и една банка, където се ползват сертификати, при които CA е отсрещната страна (ePay.bg и банката, съответно).

Може би проблемът се отнася за подписването с хардуерен електронен подпис?
 
От: Двойна автентикация с парола и електронен подпис

Не знам ама за мен от смс по лесно и сигурно няма.
 
От: Двойна автентикация с парола и електронен подпис

Не знам ама за мен от смс по лесно и сигурно няма.

Само така ти се струва, че е по-лесно. Ако тръгнеш да имплементираш Two-Factor Authentication подобно на Гугъл да речем и то да го направиш както трябва, това със сертификатите ще ти се стори детска играчка :)
 
От: Двойна автентикация с парола и електронен подпис

@uphero SMS автентификацията е втори задължителен вариант за логин по избор. С този вариант нямам технически проблем, общо взето елементарно е като интеграция. За сигурно не е, но е част от условията по избор.
@ happyslacker Дадох линк за проблема при B-Trust. Да, за хардуерен подпис става дума.
@ Georgi Не става въпрос за софтуерен сертификат импортнат през броузера, а за четене от токена и логване. Иначе благодаря за линка http://nategood.com/client-side-certificate-authentication-in-ngi , форкнах го, полезно скриптче - https://github.com/nategood/sleep-tight . Иначе Java аплета от Github от по предния ми пост си работи прекрасно, но щом в купом казвате, че не става със Java, как да чета токена, търся техническо решение, без значение с какви средства. По тази причина пуснах и темата. Не съм технически неграмотен, просто търся насоки, сламка. Не съм се занимавал с подобен проблем, а информацията е оскъдна в нета по разбираеми причини.
 
От: От: Двойна автентикация с парола и електронен подпис

@ Georgi Не става въпрос за софтуерен сертификат импортнат през броузера, а за четене от токена и логване.

Сертификатите импортнати в браузъра и тези от USB донгъла са принципно еднавки. Единствената разлика е че за донгъла трябва да напишеш ПИН за да се изчете сертификата и другото е, че не можеш да експортнеш private ключа оттам. Иначе механизма и в двата случая е еднакъв.
 
От: Двойна автентикация с парола и електронен подпис

От първия ми пост в темата:
На ясно съм за начина на логване с парола и цифров клиентски сертификат. Предполагам, че начина за логване с парола и електронен подпис е подобен.
Иначе механизма и в двата случая е еднакъв.
Искаш да кажеш, че не е нужно да пращам нищо на клиентския броузер, а софтуера на донгъла сам ще си зареди сертификата, като го поискам от сървъра?
 
От: От: Двойна автентикация с парола и електронен подпис

Искаш да кажеш, че не е нужно да пращам нищо на клиентския броузер, а софтуера на донгъла сам ще си зареди сертификата, като го поискам от сървъра?

- искаш клиентски сертификат от сървъра (ето примерна конфигурация и за Apache: http://cweiske.de/tagebuch/ssl-client-certificates.htm)
- браузъра пита кой сертификат ще пратиш ако са повече, ако избереш този от дънгъла иска ПИН
- след това на сървъра имаш вече сертификата - ако ползваш PHP е някаде в $_SERVER['SSL_CLIENT_*'], ако ползваш C# е Request.ClientCertificate - трябва да провериш дали сертификата е валиден и дали е от Certificate Authority-тата на които се доверяваш. Допълнително трябва да видиш дали не в revocation листа на някое от authority-тата.
- ако си стигнал до тук, вече имаш юзър, парола и валиден сертификат - трябва да видиш дали само това е сертификата на въпросния юзър който той е регистрирал.
 
От: Двойна автентикация с парола и електронен подпис

Ясно, значи е същата процедура. Това ми трябваше. Благодаря много, имаш реп от мен!
 

Горе