SSL (Secure Sockets Layer)

botond küldte be 2018. 12. 02., v - 13:59 időpontban

Az SSL (Secure Sockets Layer) és utódja, a TLS (Transport Layer Security) olyan kriptográfiai protokollok, melyek kommunikációs biztonságot nyújtanak a számítógépes hálózaton keresztül. A protokollok több verziója széles körben elterjedt az olyan alkalmazásokban, mint a webböngészés, az email, az FTP, az azonnali üzenetküldés és a hangalapú hívás (VoIP). A weboldalak az SSL használatával biztonságossá tehetik a kommunikációt a szerver és a webböngésző között.

Az SSL/TLS protokoll elsősorban két vagy több számítógépes kommunikációs alkalmazás között biztosítja az adatvédelmet és az adatok sértetlenségét. Amikor titkosítva van a csatorna az ügyfél (pl. egy webböngésző) és a kiszolgáló (pl. egy weboldal) között, az alábbi tulajdonságok közül egynek vagy többnek meg kell lennie:

  • A kapcsolat privát (vagy biztonságos), mert a szimmetrikus kriptográfiát használják a továbbított adatok titkosítására. A szimmetrikus titkosítás kulcsait minden egyes kapcsolat esetében egyedileg állítják elő, és egy köztes titkon alapulnak, amelyet a munkamenet elején küldenek át. A kiszolgáló és az ügyfél az első elküldött adat byte előtt meghatározzák, hogy melyik titkosító algoritmust és titkosítási kulcsokat kell használniuk a munkamenet során.
  • A kommunikáló felek azonosítása nyilvános kulcsú titkosítással hitelesíthető. Ezt a hitelesítést opcionálisan lehet megadni, de általában a felek legalább egyikéhez (jellemzően a kiszolgálóhoz) szükséges.
  • A kapcsolat megbízható, mivel minden elküldött üzenet tartalmaz egy üzenet sérülési ellenőrzést egy üzenet hitelesítési kód használatával, hogy megakadályozza az észlelt veszteséget vagy az adatok átvitelének megváltozását.

 

Mivel SSL tanúsítványt bárki előállíthat, ezért a webböngészők és a különféle hálózati programok (pl. levelezőszerver, FTP, SMTP, stb...) csak a megbízható kiállító cégek (Certificate Authority) tanúsítványait fogadják el.

Egy példa a saját magunk által előállított SSL kulcspár generálásához (Self signed):

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

Ebben a példában az OpenSSL program segítségével történik a privát és nyilvános kulcsok generálása, amik 2048 bites RSA titkosítási algoritmussal készülnek és 365 napig érvényesek.

 

További részleteket lásd a HTTPS szócikkben.