MADARAT TOLLÁRÓL, ELEKTRONIKUS ALÁÍRÁST HITELESÍTŐJÉRŐL

Baján Péter, Bajan.Peter@synergon.hu

Synergon Rt.

Abstract

Security is a baseline requirement for network computing. Privacy, authentication, authorization, and integrity are all important elements of any security strategy and work to defend against the threats of eavesdropping, manipulation, and impersonation. These attacking methods can be defeated by use of the SSL protocol and digital certificates. Certificates are digital documents that are provided by a Certificate Authority to give assurances of a person's or other entity's identity. They verify that a given public key belongs to a given individual or entity. By using some publicly available packages, everyone can implement a secure WEB server and a CA for studying how they work. Considering the limitations one can even use it for limited purposes.

Az elektronikus szolgáltatások elterjedése világszerte sok kényelmet jelent a felhasználóknak. Azonban a biztonsággal és az információ sértetlenségével kapcsolatos kérdések sokakban jogos aggodalmat keltenek a szolgáltatásokkal kapcsolatban. A titkosítas magában nem ad választ a felvetett kérdésekre, hiszen a titkosított információ cseréjében részt vevő felek azonosságának kérdését nem kezeli. Megfelelő óvintézkedések nélkül bárkivel előfordulhat, hogy "megszemélyesítik". A probléma megoldását a digitális aláírások alkalmazasa jelenti. Ez lehetővé teszi, hogy a digitális aláírást használó fél azonossága ellenőrizhető legyen. A digitális aláírások és a titkosítás együttes alkalmazása biztonságos tranzakciókat tesz lehetőve az Interneten.

A digitális aláírás kulcsszóval védett, titkosított állomány, amely tartalmazza a tulajdonos megfelelő adatait (pl. e-mail cím, név, stb.), a tulajdonos nyilvános kulcsát, a hitelesítő nevét, digitális aláírását, a hitelesség időtartamát, stb.

A hitelesítő hatóság szerepe hasonló pl. a személyi igazolványt, vagy vezetői engedélyt kibocsátó hatóságokéhoz, mert az általa kibocsátott információ a személyazonosság elfogadott bizonyítéka lehet.

A nyilvános CA-k mellett megvan a létjogosultsága egy-egy nagyobb közösség, vállalat esetében saját CA létrehozásának is, hogy a közösség tagjai, valamint a szolgáltatások egyértelműen azonosíthatók legyenek.

Mire van szükség tehát a saját CA "összekotyvasztásához"? A rendszer legfontosabb eleme az SSLeay programcsomag, ezen kívül kell egy WEB szerver a megfelelő SSL kiegészítésekkel, egy böngésző, egy kis HTML szerkesztési ismeret, CGI programozási tudomány és ha komolyra akarjuk fordítani a dolgot, akkor például egy adatbáziskezelő sem árt. A dolog szépsége abban rejlik, hogy ezeknek nagy része szabadon hozzáférhető és használható. Természetesen operációs és fejlesztő rendszerre (C fordító) is szükség van, de ma már több PC alapú - komoly környezetben is bevált - Unix operációs rendszer is hozzáférhető. Ha mindez együtt van akkor kezdődhet a rendszer összeállítása.

Első lépésként az SSLeay csomagot kell lefordítanunk és installálnunk. (Ehhez szükségünk van a C fordítóra és root jogokra.) WEB szerverként az Apache szervert ajánlatos használni, annál is inkább, mert ehhez már hozzáférhető az SSLeay csomaghoz szükséges kiegészítés. Alkalmazni kell a módosításokat és ezt a programcsomagot is installálni kell.

Ezután kezdődik a munka dereka, amely tulajdonképpen a rendszer konfigurálását jelenti. Elsőként az újonnan létrejövő CA-nak kell saját maga számára egy certificate-t kibocsátania, majd a certificate-k terjesztésében részt vevő szerver számára, illetve a bizalmas jellegű információkat tároló szerver számára kell egy-egy certificate-t kibocsátani. A rendszer ekkor már képes SSL használatával kommunikálni, azonban ez még csak egyoldalú azonosítást tartalmaz, hiszen még csak a szerver rendelkezik certificate-tel.

A további lépések során először azt biztosítjuk, hogy a böngészőnk (esetünkben Netscape) CA-ként hajlandó legyen elfogadni bennünket és ne kérjen felhasználói beavatkozást minden kapcsolatfelvétel esetében. Miután ezt is megoldottuk, rátérhetünk az utolsó feladatra. Meg kell oldanunk, hogy valamilyen módon certificate igényeket fogadhassunk. Ennek első lépéseként fogadnunk kell a kliens böngésző által generált nyilvános kulcsot, valamint az ún. Subject Distinguished Name elemeket például egy form segítségével. A beérkező igényeket ellenőrizni kell, majd, ha megfelelnek kritériumainknak akkor hitelesíthetjük őket. A rendszer elég egyszerű módon tárolja az igényeket is a hitelesített és visszavont certificate-ket is. (Akinek van kedve hackelni, az ezen a ponton egy adatbáziskezelőt is bevonhat.) A hitelesített certificate-t megfelelő helyre elhelyezve és azt az ügyféllel tudatva a certificate letölthető a böngészőbe.

Ha így összeállított rendszerünket komoly körülmények között is használni akarjuk (akár csak házon belül is) érdemes a biztonságról elgondolkoznunk. A CA hitelesítő gépét ekkor fizikailag mindenképpen el kell különíteni és a hálózatra is csak komoly felügyelet mellett szabad elhelyezni. Nagyon át kell gondolni, milyen módon érik el a kliensek a hitelesített certificate-jeiket és az alkalmazott eljárás elég biztonságos-e. Egyáltalán azt is meg kell gondolnunk, hogy az SSLeay csomag SSL 2 kompatibilis biztonsági funkciói elégségesek-e a feladatunk megoldásához.

A fenti megoldásnak létezik kereskedelmi változata is, ezt stronghold-nak hívják. Miután ezt a szervert nem az USA-ban hozták létre, nem vonatkoznak rá az USA-ban szokásos export korlátozási jogok

Az említett csomagok az alábbi helyekről tölthetők le:

SSLeay:

- ftp://ftp.cert.dfn.de/pub/tools/crypt/ssleay

Apache:

- http://www.apache.org/

Apache-SSL:

- http://www.algroup.co.uk/Apache/SSL