Tanúsítványtároló

Nem értem. Van ilyenje a Win-nek, és ide be lehet importálni mindenféle tanúsítványokat - pl. olyat, amit aztán Acrobattal PDF-ek aláírására lehet használni. Egy (nem publikus) leírás szerint amikor az aláírásra használt tanúsítványt beimportálom, akkor állítsak be ehhez valami "kulcseléréshez használatos jelszót", és jelezzem, hogy nem exportálható ki a privát kulcs. No most, ebből a tanúsítványtárolóból a Reader valahogyan mégis csak ki kell szedje a privát kulcsomat, hisz e nélkül elég nehéz lenne neki digitálisan aláírni *ezzel a kulccsal*. Node ha kiszedi a szignózáshoz, akkor mi biztosítja, hogy nem menti el máshova - és máris exportál.

Hozzászólások

https://github.com/FreeRDP/FreeRDP/wiki/Jailbreak

"Jailbreak is a tool for exporting certificates with their private keys, even if the private key was marked as non-exportable in the first place."

Ha beállítasz neki a kulcseléréshez jelszót, akkor gondolom csak akkor tud aláírni az Acrobat, ha megadod a jelszót. Vagy nem?

Igen. De miután sikerült kigyökölni, hogy hogyan lehetne Linux (vagy akár BSD :-) ) alatt digitálisan aláírt PDF-et csinálni (nem, nem az Acrobat-tal) - szóval most azt találta ki valaki nekem, hogy oldjam meg, hogy Linux alatt se lehessen exportálni a privát kulcsot. Mindezt úgy, hogy alapul fent hivatkozott wines leírást vesszük (amely szerint ugye beállíthatok egy non-exportable tanúsítványt). Nekem meg áll az agyam, mert nem tudom elképzelni, hogy egy ilyet hogy lehet megcsinálni. (Azon túlmenően, hogy hazugság az egész ez a non-exportable izé.)

A linket nagyon köszönöm, talán jó lesz a harcban.

A soft token az soft token. A non-exportable nem hazugság, hanem azt csinálja, amit mond: letiltja a user interface-en az exportot. Aki elolvashatja a private keyt, mondjuk aláírás céljából, az persze nyilván azt csinál vele, amit nem szégyell.
Ha valakinek ez nem megfelelő, az ne soft tokenben tárolja a tanusítványát, hanem SmartCard-ban vagy hardware tokenben.
Akkor az bizony nem lesz kinyerhető sem Linux, sem Windows alatt.

Üdv,
Marci

Hatalmas +1
Szívemből szóltál :)

Mellesleg, elvileg ha jól tudom a soft tokennél sem kapja meg semelyik app közvetlenül a privát kulcsot. Legalábbis win-en. Hanem valami interfacen küldi be az adatot, majd a visszakapja annak alamilyen változatát (encryptelt, aláírt, stb)

De ettől még softtokennél kinyerhető marad a kulcs.

Miért mondod ezt? Az egyiknél a tanusítványt a számítógépeden tartod (amin akár admin lehetsz és bármit megtehetsz) (mégha a Crypto API védi is), a másik esetben pedig egy másik számítógépen, amelyiken nem lehetsz admin és ami kulcsot nem ad Neked, hanem titkosít/felold Neked.
Mondanál példát arra, miképp is nyered ki a tanusítványt egy SmartCard-ból? Esetleg a kulcs kinyerhetőséggel kapcsolatos pro érveket a soft tokenhez és kontra érveket a SmartCardhoz/HW tokenhez?

Üdv,
Marci

Az első részét nem igazán értem, mindenképpen lokálisan tárolod a privát kulcsodat, ugyanakkor nem tudok róla, hogy a tároló védelmi mechanizmusát sikerült feltörni (Windows esetén).

Kontra a SC ellen: a tanúsítványt egyszerű PIN-el véded (legalábbis azoknál a megoldásoknál, amivel találkoztam), aminek a hosszúsága is limitált, nem alkalmazhatsz policy-t a változtatás kikényszerítésére (a blokkolhatóság a soft tokenre is érvényes, ezért ezt pro érvként nem hozom ide).

A privát kulcs hozzáférhetőségre jobban érdekelne, de erről igazán nem találtam általános dokumentációt.

Java kell hozzá, de megy. Csináltam vele hivatalos GOVCA-s tanúsítvánnyal aláírt PDF-et, amit a túloldal hivatalosnak minősített. http://jsignpdf.sourceforge.org (Nálunk magyarítás is van hozzá, kollega most mondta, h hivatalosan nem tolta be a peccset a repóba. De lehet, hogy ha ki lesz rendesen pofozva, akkor megteszi.)

Én ilyesmit úgy oldanék meg, hogy a tanúsítványtárolónak lenne egy aláírás funkciója.
Ha én egy program vagyok és egy pdf-et akarok aláírni, akkor megkérhetem a tenúsítványtárolót, hogy légyszi, írd alá, de az nem adja nekem ide a kulcsot, hogy én írjak alá.

A te problémádat is így közelíteném meg, legfeljebb linux/BSD alatt lenne egy általad készített, megbízható aláíró szolgáltatás, ami csak használja de nem adja ki a kulcsot.

Persze nem tudom, hogy megy a pdf aláírása, ha ezt csak az a program végezheti (pl. az Acrobat), és ehhez kell neki a kulcs, akkor ez bizonyára nem működik.

"Valószínűleg pont annyira lenne bonyolult, mint a smard card-ról lelopni."

Valoszinuleg nem. Soft tokennel az egyetlen kovetelmeny, hogy kodot tudj futtatni local system-kent, ami ha admin vagy, mar adott, innentol megvannak a megfelelo toolok.
Smartcard-bol ha valami hulladekot fogtal ki, akkor van eselyed glitching-el, vagy side channel tamadassal (RF vagy differential power analysis), de ha egy normalisat, akkor kb. ez az egyetlen lehetoseg, ami honapokat jelent egy FIB elott.

--
"You're NOT paranoid, we really are out to get you!"