( htamas | 2011. 02. 04., p – 00:44 )

Megpróbálom leírni, hogy mire jó egy domain-validated certificate (tehát ahol csak a domain név birtoklását ellenőrzik, a személyes adataidat nem), mert volt pár félreértés ezzel kapcsolatban. A startcom kapcsán jött elő a kérdés, úgyhogy róluk is írok, de az eleje a többiekre is érvényes.

Képzeld el, hogy egy nyilvános vezeték nélküli hálózatot használsz, és meglátogatod a kedvenc fórumodat, blogodat, stb. Ha ezt nem egy nagy cég üzemelteti, akkor valószínűleg nincs ssl-lel védve. Bárki, aki a közelben van, az internetről készen letölthető eszközökkel lehallgathatja a forgalmat, megszerezheti a jelszavadat, felírhat bármit a nevedben, sőt ha máshol is ugyanezt a jelszót használod, akkor pl. az e-mailjeidet is elolvashatja. Ez kellemetlen, jó volna titkosítást használni, de ettől még az oldal tulajdonosa nem szeretne (sokat) fizetni érte.

A böngészőkbe be van építve egy titkosítási protokoll, az SSL (technikailag a TLS helyesebb lenne, de ez kevésbé ismert). Ez úgy kezdődik, hogy a szerver és a kliens megállapodik egy közös kulcsban, amivel az adatforgalmat titkosítani fogják. Itt a kritikus szempont az, hogy a támadó ne tudjon beékelődni a két fél közé. Ha ugyanis el tudja hitetni a klienssel, hogy ő a szerver, a szerverrel pedig azt, hogy ő a kliens, akkor hiába titkosított a csatorna a kliens és a támadó, illetve a támadó és a szerver között, mégis rajta keresztül megy az összes adat.

A hálózat alapból nem teszi lehetővé a kliens számára, hogy egyértelműen meggyőződjön arról, hogy ki a szerver. Ő csak elküldi az adatokat, és visszakapja a választ. Az SSL esetében ez úgy van megoldva, hogy egy megbízhatónak minősített harmadik fél kiállít egy tanúsítványt arról, hogy mi az example.com domainhez tartozó ún. nyilvános kulcs, és a kulcscsere során a kliens ezt leellenőrzi. Ahhoz, hogy a támadó egy érvényes tanúsítványt szerezzen, hozzá kell férnie mondjuk a domain postmaster címéhez, ami lényegesen nehezebb, mint a kliens forgalmának a lehallgatása.

A megbízható harmadik felet hitelesítésszolgáltatónak (certification authority, CA) hívják. Ezek szinte kivétel nélkül üzleti alapon működnek és általában elég borsos árat kérnek egy tanúsítványért, ami a pénzügyi cégeknek nem gond, de egy fórum üzemeltetőjének vagy egy bloggernek már igen. Több olyan kezdeményezés is volt, ami a közösség számára elérhető ingyenes tanúsítványok kiállítását tűzte ki célul. Ezek közül talán a legismertebb a CAcert, de a böngészők ezt sem ismerik el megbízhatóként (sajnos jogosan). A Mozilla projektnél többször előkerült ez a kérdés, mert az opensource közösségnek persze nem tetszik, hogy a titkosításért fizetni kelljen.

Pár éve Eddy Nigg, aki aktív résztvevője a cacert-policy és a mozilla.dev.security.policy listáknak, létrehozott egy saját, üzleti alapon működő hitelesítésszolgáltatót, a StartSSL-t azzal a filozófiával, hogy csak azért kér pénzt, ami tényleges munkát jelent nekik. Az automatikusan kiállított Class 1 (DV, vagyis domain validated) tanusítványokat ingyen adja, vagyis tulajdonképpen elsőként megoldotta a fenti problémát a nyílt forrású közösség számára. Ezek a tanúsítványok nem tartalmaznak semmilyen személyes információt a domain néven kívül.

A Class 2 tanúsítványoknál tényleges ellenőrzés történik. Magánszemélyek esetén ez abból áll, hogy elküldesz pár okmányt szkennelve, utána pedig felhívnak telefonon és feltesznek néhány ellenőrző kérdést. Engem egész konkrétan Eddy hívott fel. A Class 2 pénzbe kerül, de többet nyújt, mint az ingyenes változat (pl. wildcard címhez is kérhetsz tanusítványt), és itt a neved is szerepel benne. A firefox alapból csak az ún. EV tanúsítványoknál mutatja a nevet, a többinél (unknown)-t ír, de pár plusz kattintással ott is meg lehet nézni. Amúgy az ingyenes tanúsítványba is bekerülhet a neved, ha két Class 2 tanúsítvánnyal rendelkező ember leellenőrzi a személyazonosságodat.

A véleményem az, hogy DV tanúsítványért nem érdemes pénzt kiadni. Ha szükséged van valami extrára, akkor persze más a helyzet.