» »

Prijava z certifikatorm sigen-ca, custom

Prijava z certifikatorm sigen-ca, custom

smash ::

zanima me naslednje

1.) mi lahko nekdo na kratko opiše kako narediti prijavo z certifikatom sigen-ca na neko spletno stran

2.) kako narediti prijavo z nekim custom izdanim certifikatom na neko spletno stran

zanima me predvsem kaj je treba narediti na serverju v primeru točke 1. in 2., na kak nacin izdati certifikat v primeru tocke 2., in predvsem kako na serverju preko teh certifikatov identificirati uporabnika...verjetno bi moral podatke iz certifikata nekako prebrati in jih primerjati z podatki v svoji bazi al kako?

hvala za odgovore

jkreuztzfeld ::

Povsem vseeno (iz tehničnega vidika) je kater CA je izdal certifikate.
Strežniški mora imeti namen Server Authentication, uporabniški Client Authentication

Na primer Apache...
Za client cert minimalac:
<Directory /var/www/SSL/Certneeded>
	SSLVerifyClient require
	SSLVerifyDepth 1
</Directory>


Spremenljivke, ki jih vlečeš iz certifikatov in vse ostalo kar te lahko zanima pa tule: http://httpd.apache.org/docs/2.2/mod/mo...
--
Great minds run in great circles.

smash ::

če te prav razumem..

1.) da bi server sprejemal od sigen-ca certifikate, mora imet inštaliran nek poseben CA, ali je CA za sigen že naložen v brskalnike?

2.) jaz po prijavi z sigen-ca client certifikatom preberem iz njega podatke in ugotovim, da gre za Janeza Novaka, to potem primerjam z šifrantom uporabnikom v moji bazi, kjer najdem janeza novaka in to potem pomeni, da se lahko janez novak avtenticira? ali je bolje da namesto imena in priimka v bazo shranjujem nek ID, ki je na certifikatu?

3.) verjetno je poleg prijave z certifikatom treba se pokazati okno z geslom? zaradi varnosti?

zhorzh ::

smash je izjavil:

če te prav razumem..

1.) da bi server sprejemal od sigen-ca certifikate, mora imet inštaliran nek poseben CA, ali je CA za sigen že naložen v brskalnike?

Vseeno je kateri CA, moraš imeti javni certifikat od CA-ja po izbiri označen kot "trusted authority" (če želiš sam štancat testne certifikate priporočam uporabo CACert.org namesto da greš sam delat svoj CA)

2.) jaz po prijavi z sigen-ca client certifikatom preberem iz njega podatke in ugotovim, da gre za Janeza Novaka, to potem primerjam z šifrantom uporabnikom v moji bazi, kjer najdem janeza novaka in to potem pomeni, da se lahko janez novak avtenticira? ali je bolje da namesto imena in priimka v bazo shranjujem nek ID, ki je na certifikatu?

Če hočeš samo avtentikacijo, je dovolj če certifikat povežeš z obstoječim uporabnikom (V Windows AD je opcija "Name mappings" pri userju)

3.) verjetno je poleg prijave z certifikatom treba se pokazati okno z geslom? zaradi varnosti?


To je stvar aplikacije. Lahko, ni pa nujno...je pa seveda še ena dodatna stopnja varnosti

smash ::

ok..kaj pa glede prvih dveh točk...??? je treba met na serverju inštaliran nek CA, ki odobri sigen-ca certifikate? ima kdo kaj pojma o tem, da malo bolj obširno razloži celo komunikacijo med clientom in serverjem

jkreuztzfeld ::

smash je izjavil:

če te prav razumem..

1.) da bi server sprejemal od sigen-ca certifikate, mora imet inštaliran nek poseben CA, ali je CA za sigen že naložen v brskalnike?

Da lahko preverja sigen-ca uporabniške certifikate, server potrebuje od sigen-ca javni ključ - http://www.sigen-ca.si/identiteta.php

smash je izjavil:


2.) jaz po prijavi z sigen-ca client certifikatom preberem iz njega podatke in ugotovim, da gre za Janeza Novaka, to potem primerjam z šifrantom uporabnikom v moji bazi, kjer najdem janeza novaka in to potem pomeni, da se lahko janez novak avtenticira? ali je bolje da namesto imena in priimka v bazo shranjujem nek ID, ki je na certifikatu?

Tako je. Najbolje je preverjat nekaj iz SSL_CLIENT_S_DN_x509 (glej navodila za mod_ssl). Ti podatki se ponavadi ne spreminjajo tudi ko se uporabniški certifikat obnovi/zamenja.
S podatki iz zgoraj omenjene spremenljivke (in drugih) lahko zganjaš tuti avtorizacijo, npr.

smash je izjavil:


3.) verjetno je poleg prijave z certifikatom treba se pokazati okno z geslom? zaradi varnosti?

Odvisno. Če preverjaš še geslo imaš de facto dvofaktorsko avtentikacijo.


Če boš uporabljal client certifikate nujno tudi preverjaj CRL.
--
Great minds run in great circles.

Zgodovina sprememb…

smash ::

jkreuztzfeld je izjavil:

smash je izjavil:

če te prav razumem..

1.) da bi server sprejemal od sigen-ca certifikate, mora imet inštaliran nek poseben CA, ali je CA za sigen že naložen v brskalnike?

Da lahko preverja sigen-ca uporabniške certifikate, server potrebuje od sigen-ca javni ključ - http://www.sigen-ca.si/identiteta.php

smash je izjavil:


2.) jaz po prijavi z sigen-ca client certifikatom preberem iz njega podatke in ugotovim, da gre za Janeza Novaka, to potem primerjam z šifrantom uporabnikom v moji bazi, kjer najdem janeza novaka in to potem pomeni, da se lahko janez novak avtenticira? ali je bolje da namesto imena in priimka v bazo shranjujem nek ID, ki je na certifikatu?

Tako je. Najbolje je preverjat nekaj iz SSL_CLIENT_S_DN_x509 (glej navodila za mod_ssl). Ti podatki se ponavadi ne spreminjajo tudi ko se uporabniški certifikat obnovi/zamenja.
S podatki iz zgoraj omenjene spremenljivke (in drugih) lahko zganjaš tuti avtorizacijo, npr.

smash je izjavil:


3.) verjetno je poleg prijave z certifikatom treba se pokazati okno z geslom? zaradi varnosti?

Odvisno. Če preverjaš še geslo imaš de facto dvofaktorsko avtentikacijo.


Če boš uporabljal client certifikate nujno tudi preverjaj CRL.


1.) ok če prav razumem, sigen-CA javni ključ je treba namestiti na server, drugače ne prepozna sigen-ca certifikatov..to pomeni da se ga doda v certification store verjetno, je tako? lahko poveš v kateri store, mislim da so trije?

2.) ko se recimo z mojim certifikatom prijavim na ABANET spletno banko, me poleg certifikata vpraša tudi za geslo...je kak poseben razlog v tem, da sprašuje še za dodatno geslo? domnevam, da je to dodatni varnosti razlog v primeru, če se nekdo drug vsede za tvoj računalnik in se hoče prijaviti na stra...certifikat gre avtomatično skozi, ustavi se mu torej pri tem geslu..je tako?

3.) kaj je CRL? :) certificate revocation list? to pomeni, da se na nek način preveri veljavnost certifikatov? client ali server? ali tudi javnega ključa os sigen-ca-ja? verjetno je veljavnost client certifikata zapisana v samem certifikatu? si to mislil s tem preverjanjem?

jkreuztzfeld ::

Heh. Takole je - če se želiš zadeve naučiti, sedaj počasi prihajaš do točke, ko se bo treba zakopat v čtivo. Če nameravaš zadeve delati enkrat in osnovno je Van's Apache SSL/TLS mini-HOWTO lep cookbook. (in ostali).

smash je izjavil:



1.) ok če prav razumem, sigen-CA javni ključ je treba namestiti na server, drugače ne prepozna sigen-ca certifikatov..to pomeni da se ga doda v certification store verjetno, je tako? lahko poveš v kateri store, mislim da so trije?

2.) ko se recimo z mojim certifikatom prijavim na ABANET spletno banko, me poleg certifikata vpraša tudi za geslo...je kak poseben razlog v tem, da sprašuje še za dodatno geslo? domnevam, da je to dodatni varnosti razlog v primeru, če se nekdo drug vsede za tvoj računalnik in se hoče prijaviti na stra...certifikat gre avtomatično skozi, ustavi se mu torej pri tem geslu..je tako?

3.) kaj je CRL? :) certificate revocation list? to pomeni, da se na nek način preveri veljavnost certifikatov? client ali server? ali tudi javnega ključa os sigen-ca-ja? verjetno je veljavnost client certifikata zapisana v samem certifikatu? si to mislil s tem preverjanjem?


ad 1. Prvi stavek - nekako prav razumeš, CA certifikat potrbuješ za preverjanje ali so client certifikati res izdani od tega CA. Če si mislil windows certificate store, obstajata User in Machine - in ne, nimata veze z zadevo.

ad 2. Recimo. Če certifikata nimaš dodatno zaščitenega. Al kako naj na to odgovorim.

ad 3. Ja. CRL. / Ja. / zakaj zaboga bi server preverjal svoj cert / huh? / kajpak / najbrž.

Resno... Čitaj. Veliko. Začni tule
(ponavljaj ad nauseum :)), potem se loti external linkov članka. Se splača.
--
Great minds run in great circles.

Zgodovina sprememb…

HardFu ::

Da ne bo pomote, ce kupis certifikat, ta nima nobene povisane varnosti, kot tisti ki ga na serverju kreiras sam.
http://codeable.io

smash ::

jkreuztzfeld je izjavil:

Heh. Takole je - če se želiš zadeve naučiti, sedaj počasi prihajaš do točke, ko se bo treba zakopat v čtivo. Če nameravaš zadeve delati enkrat in osnovno je Van's Apache SSL/TLS mini-HOWTO lep cookbook. (in ostali).

smash je izjavil:



1.) ok če prav razumem, sigen-CA javni ključ je treba namestiti na server, drugače ne prepozna sigen-ca certifikatov..to pomeni da se ga doda v certification store verjetno, je tako? lahko poveš v kateri store, mislim da so trije?

2.) ko se recimo z mojim certifikatom prijavim na ABANET spletno banko, me poleg certifikata vpraša tudi za geslo...je kak poseben razlog v tem, da sprašuje še za dodatno geslo? domnevam, da je to dodatni varnosti razlog v primeru, če se nekdo drug vsede za tvoj računalnik in se hoče prijaviti na stra...certifikat gre avtomatično skozi, ustavi se mu torej pri tem geslu..je tako?

3.) kaj je CRL? :) certificate revocation list? to pomeni, da se na nek način preveri veljavnost certifikatov? client ali server? ali tudi javnega ključa os sigen-ca-ja? verjetno je veljavnost client certifikata zapisana v samem certifikatu? si to mislil s tem preverjanjem?


ad 1. Prvi stavek - nekako prav razumeš, CA certifikat potrbuješ za preverjanje ali so client certifikati res izdani od tega CA. Če si mislil windows certificate store, obstajata User in Machine - in ne, nimata veze z zadevo.

ad 2. Recimo. Če certifikata nimaš dodatno zaščitenega. Al kako naj na to odgovorim.

ad 3. Ja. CRL. / Ja. / zakaj zaboga bi server preverjal svoj cert / huh? / kajpak / najbrž.

Resno... Čitaj. Veliko. Začni tule
(ponavljaj ad nauseum :)), potem se loti external linkov članka. Se splača.



ok hvala za linke, bom prebral :)

drugače pa:

ad 1. kam torej namestiti javni ključ od sigen-ca (če ne v tem crtificate store na serverju), da bo pravilno prepoznal client certifikate?

ad 2. aha to verjetno misliš, ko certifikat sam ni zaščiten z geslom? torej bi se nekdo lahko enostavno vsedel za tvoj comp in prijavil notri..ok

ad 3. je preverjanje CRL-ja mišljeno iz moje aplikacije na strežniku, ali je to del strežnika? v aplikaciji namreč brez težav preverim veljavnost certifikata..je to to?

jkreuztzfeld ::

smash je izjavil:


(snip, snip)
drugače pa:

ad 1. kam torej namestiti javni ključ od sigen-ca (če ne v tem crtificate store na serverju), da bo pravilno prepoznal client certifikate?

Kamorkoli od koder ga bo lahko strežnik prebral. Če uporabljaš IIS ga boš najbrž moral dati v Computer Store, med zaupanja vredne CA.

smash je izjavil:


ad 2. aha to verjetno misliš, ko certifikat sam ni zaščiten z geslom? torej bi se nekdo lahko enostavno vsedel za tvoj comp in prijavil notri..ok

Tako je.

smash je izjavil:


ad 3. je preverjanje CRL-ja mišljeno iz moje aplikacije na strežniku, ali je to del strežnika? v aplikaciji namreč brez težav preverim veljavnost certifikata..je to to?


CRL ni pomemben zaradi datumov. CRL se uporablja za preklic datumsko veljavnih certifikatov. CRL lahko seveda preverjaš tudi preko LDAP, OCSP, ...
--
Great minds run in great circles.

smash ::

ok..večina stvari mi je jasnih..tud za crl sem najdu kako se preverja..z certifikatom od sigen-ca se sedaj uspešno prijavim na strežnik in dostopma do aplikacije

zdaj imam dilemo samo še pri tem, pod čem voditi uporabnika v moji bazi

napisal si (ticko551): "Tako je. Najbolje je preverjat nekaj iz SSL_CLIENT_S_DN_x509 (glej navodila za mod_ssl). Ti podatki se ponavadi ne spreminjajo tudi ko se uporabniški certifikat obnovi/zamenja.
S podatki iz zgoraj omenjene spremenljivke (in drugih) lahko zganjaš tuti avtorizacijo, "

ok to mi ni cisto jasno...moj streznik je IIS in ko pride uporabnik v aplikacijo (asp.net) imam tam nek objekt HttpClientCertificate, ker imam določene variable od certifikata....tega SSL_CLIENT_S_DN_x509 tam ni,

zato me zanima, kaj oz. kje je to...sicer sem na brzino našel, da je ta mod_ssl nekaj povezan z apachejem, ampak se mi zdi, da mi boš ti hitreje dal nek bolj ajsen odgovor

imam nek serialnumber, pa znotraj polja subject še nek drug serialnumber, poleg seveda imena in priimka...misliš da se ti serialnumberji ob novem certifikatu spremenijo?

hvala

jkreuztzfeld ::

Žal nimam pojma kako in katere spremenljivke IIS ponudi aplikaciji. IIS sicer že sam po sebi omogoča preverjanja na podlagi parametrov v certifikatu - išči na temo iis client certificate mapping.

Serial number se ob menjavi certifikata seveda menja. Ponavadi je ime subjekta v CN atributu.
--
Great minds run in great circles.

smash ::

bom pogledal ...

še to me zanima...v čem se razlikujeta certifikata, kjer imata dve osebi enako ime in priimek...je kak tak specifičen parameter enoličen za neko osebo razen ter serialnumberjev?

veš kaj o tem? kako ju razlikovati torej?

jype ::

smash> je kak tak specifičen parameter enoličen za neko osebo razen ter serialnumberjev?

Object Identifier (2 5 4 5) =

smash ::

jype je izjavil:

smash> je kak tak specifičen parameter enoličen za neko osebo razen ter serialnumberjev?

Object Identifier (2 5 4 5) =


1. kje najdem ta object identifier?

2. med podatki znotraj svojega certifikata sem našel celo email (seveda star in napačen)..sicer nima neke zveze s to temo pa vendar me zanima, če je kak poseben razlog, da se v certifikat spravlja email naslov

smash ::

zanima me še nekaj..

recimo da bom imel svojo bazo uporabnikov, kjer bom notri poenostavljeno imel polja (serialnumber_odcertifikata, ime, priimek,..)

zanima me, na kak način bi vi polnili to tabelo...verjetno prepolnjenje ni mogoče saj bi moral od vsakega uporabnika dobiti client certifikat, da bi ven pobral serialnumber , ime, priimek itd...ali se motim? tukaj neka naknadna avtorizacija admina nebi bila potrebna

druga rešitev je verjetno ta, da se ob prvi prijavi uporabniku odpre forma z prijavnimi podatki, in se potem po odobritvi admina, te podatki, skupaj z podatki iz certifikata, napolnijo v mojo tabelo...tukaj torej rabimo avtorizacijo admina

kako se te reči torej počne..je prva opcija sploh možna? ali obstaja kakšna tretja?

jkreuztzfeld ::

smash je izjavil:


(snip, snip)

1. kje najdem ta object identifier?

2. med podatki znotraj svojega certifikata sem našel celo email (seveda star in napačen)..sicer nima neke zveze s to temo pa vendar me zanima, če je kak poseben razlog, da se v certifikat spravlja email naslov


ad 1. OIDji ki jih je uporabil CA te v bistvu prav dosti ne zanimajo. Sicer imaš politike od sigen-ca tule.
Pri sigen-ca imaš v polju Subject naslednje atribute

SERIALNUMBER = 2463532715118
CN = JANEZ KOVAC
OU = FIRMA - 93855262
OU = companies-web
OU = sigen-ca
O = state-institutions
C = si


V polju SubjectAlternativeName imaš

RFC822 Name = janez.kovac@firma.si


Enoličen je žal samo serial number (in najbrž e-mail). Problem vezave uporabnika na serial # se ti seveda pojavi ob menjavi/obnovi certifikata.

ad 2. Taka je politika CA-ja.
--
Great minds run in great circles.

Zgodovina sprememb…

smash ::

na sige-ca sem prebral naslednje...

------------
Strežnik Apache(z mod_ssl): zaenkrat ne podpira iskanja CRL po protokolu LDAP, zato mora vzdrževalec sam poskrbeti za osveževanje CRL. CRL v pem obliki najlaže snamemo s spletnega strežnika prek http, n.pr. z uporabo programa WGET. Če se odločimo za osveževanje CRL iz imenika x500.gov.si, moramo pripraviti posebno skripto, n.pr. v Perlu z uporabo modula LDAP.

Strežnik MS IIS poišče CRL po naslovih "CRL distribution points" v digitalnem potrdilu in sicer v binarni obliki. Če ne
dobi ustreznega odgovora od imenika x500.gov.si, potegne CRL s spletnega strežnika.
------------

Ali to pomeni da IIS sam preverja poteklost certifikata in mi zato v aplikaciji ni treba skrbeti?

jkreuztzfeld ::

Preverjanje CRL je naloga strežnika. Najbrž IIS to dela avtomagično.
--
Great minds run in great circles.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

NLB ukinitev certifikatov ? (strani: 1 2 3 411 12 13 14 )

Oddelek: Loža
697124157 (31166) WizzardOfOZ
»

Certifikat !

Oddelek: Informacijska varnost
278978 (3782) SeMiNeSanja
»

Država: Kakšna zasebnost in varnost na internetih, samo plačajte že davke!!! (strani: 1 2 3 4 5 )

Oddelek: Novice / NWO
20181425 (55620) MrStein
»

Sigen-ca za strežnik

Oddelek: Informacijska varnost
234534 (3864) Tomas 33
»

Kateri SSL certifikat

Oddelek: Izdelava spletišč
234000 (3760) Poldi112

Več podobnih tem