Windows - SSL/TLS szolgáltatás a Windows 2003 szerverben

SSL/TLS 1. rész

Most kezdődő sorozatunk a Windows 2003 szerverben is megvalósított SSL/TLS biztonságos adatátvitelt megvalósító protokoll működésével foglalkozik. Első cikkünkben átfogó ismereteket olvashatunk a protokollról, megismerkedhetünk előnyeivel, hátrányaival.
Hogyan titkosítsuk adatainkat, amelyet az alkalmazásaink között megbízhatatlan hálózaton szállítunk? A Security Support Provider Interface (SSPI) a Windows 2003 szerver operációs rendszerben választ ad erre a nagyon általános biztonsági kérdésre. Az SSPI egy API, amely biztonsági szolgáltatást nyújt a Windows 2003 szerver számára. Az SSPI támogatja a Schannel-t, egy interfészt, amely három ipari szabvány protokollt valósít meg:
  • Transport Layer Security (TLS) 1.0-ás verzió
  • Secure Sockets Layer (SSL) 3.0-ás verzió
  • Secure Sockets Layer (SSL) 2.0-ás verzió
Az SSL/TLS a legszélesebb körben elfogadott protokoll, amely biztonságos HTTP (HTTPS) elérést nyújt az Internetes tranzakciók során böngészők és Web szerverek között. Ez szintén használható más alkalmazásszintű protokollok esetében is, mint amilyenek az FTP, LDAP és SMTP. Az SSL/TLS protokoll lehetővé teszi a szerverhitelesítést, klienshitelesítést, adattitkosítást és adatintegritást hálózatok között, mint amilyen a World Wide Web.
Az SSPI a Microsoft Platform Software Development Kit-ben (SDK) dokumentált, amely szintén tartalmaz példaalkalmazásokat.
SSL és TLS szabványok története
Az SSL-t a Netscape Communications Corporation fejlesztette ki 1994-ben a biztonságos tranzakciók megvalósítására a World Wide Web-en. Nem sokkal ezután az IETF elkezdett dolgozni azon, hogy egy szabványt fejlesszen ki, amely hasonló tulajdonságokkal rendelkezik. Az SSL 3.0 volt az alapja a munkának, amelyet Transport Layer Security protocol (TLS) néven ismerünk. A SSL/TLS protokoll Windows 2003 szerverben megjelent megvalósítása szorosan követi az RFC 2246-ban megadott specifikációt, amelynek neve: "The TLS Protocol Version 1.0."
Az SSL és TLS közötti különbségek
Habár csekély a különbség az SSL 3.0 és a TLS 1.0 között, ebben a sorozatban az SSL/TLS protokoll megvalósításra koncentrálunk. Egy fontos különbség, hogy a TLS 1.0 lehetővé tesz egy üzenethitelesítő-kód kulcsdaraboló algoritmust (HMAC), ami az SSL 3.0-ban az üzenethitelesítő-kód algoritmus (MAC). A HMAC készít egy integritás-ellenőrző értéket, amit a MAC végez, de a daraboló funkció segítségével ez sokkal nehezebben törhető.
Megjegyzés: Ámbár ezek a különbségek kevésnek mondhatók, TLS 1.0 és SSL 3.0 nem működik együtt. Ha a két protokoll nem támogatja egymást, akkor a részeknek egyeztetniük kell egy általános protokollt, hogy tökéletesen kommunikálni tudjanak.
Az SSL/TLS előnyei
Az SSL/TLS számos előnyt nyújt a kliensnek és kiszolgálónak egyaránt:
  • Erős hitelesítés, üzenettitkosság, integritás. Az SSL/TLS-nek az elsődleges tulajdonsága a titkosítással végrehajtott biztonságos adatátvitel. Az SSL/TLS emellett szerverhitelesítést nyújt, és lehetőség szerint a klienshitelesítés is próbára teszi, hogy a részek megtartják-e azonosságukat a biztonságos kommunikáció során. Ez adatintegritást nyújt egy integritásellenőrző értéken keresztül. Emellett az adatfelfedés elleni védelem érdekében a titkosításon keresztül, az SSL/TLS biztonsági protokoll arra használható, hogy védjen a rejtett támadással, közbülső személy- vagy vödörlánc-támadással, visszagörgetési támadással vagy újrajátszási támadással szemben.
  • Együttműködő képesség. Az SSL/TLS használható a legtöbb Web böngészővel, mint pl. Microsoft Internet Explorer és Netscape Navigator, és a legtöbb operációs rendszeren és Web szerveren, mint a Windows operációs rendszer, UNIX, Novell, Apache (1.3-ás, vagy későbbi verzió), Netscape Enterprise Server és Sun Solaris. Emellett gyakran integrálják új olvasókba, LDAP kiszolgálókba és számos más alkalmazásba.
  • Rugalmas algoritmus. Az SSL/TLS lehetőségeket nyújt a hitelesítési mechanizmusra, titkosítási algoritmusra és daraboló algoritmusra, amely használható a titkos viszony rétegben.
  • Könnyű telepíteni. Az SSL/TLS tisztán használható sok alkalmazással a Windows 2003 szerveren. Az SSL-t használva titkos böngészésre, amikor Internet Explorert használunk és IIS szervert, könnyű választani egy checkbox segítségével.
  • Könnyen használható. Mivel az SSL/TLS az alkalmazás-réteg alatt megvalósított, a legtöbb művelete teljesen láthatatlan a kliens előtt. Ez lehetővé teszi a kliensnek, hogy kevés vagy semmilyen tudomása se legyen a biztonságos kommunikációról, és védett legyen a támadóktól.
Az SSL/TLS hátrányai
Néhány hátránya is van az SSL/TLS használatának:
  • Megnövelt processzorterhelés. Ez a legjelentősebb hátránya az SSL/TLS megvalósításnak. A titkosítás, pontosabban a nyílt kulcsú műveletek processzorfüggők. Eredményként, teljesítménybeli hátrányhoz jutunk, amikor használjuk. Sajnálatos módon nincs egyszerű válasz arra a gyakori kérdésre: Mekkora a teljesítménybeli hátrány? A hátrány nagymértékben változhat aszerint, hogy milyen gyakran jönnek létre a kapcsolatok, és milyen hosszú ideig tartanak. A legnagyobb többletmunka akkor van, amikor a kapcsolat felépülés alatt áll.
  • Adminisztrációs többletmunka. Egy SSL/TLS környezet bonyolult és fenntartást igényel; a rendszergazdának szükséges beállítania és kezelnie a tanúsítványokat.

SSL/TLS cikksorozat