Titkosítás az elméletben
A titkosítás a kriptográfiának az a része, mely a nyílt szöveget, azaz információt egy valamilyen titkosítási eljárás algoritmus segítségével ember számára értelmezhetetlen karaktersorozattá (titkosított szöveggé) alakítja. Csak a megfelelő kulcs birtokában vagyunk képesek a titkosított szöveget újra olvashatóvá tenni. A titkosítás ugyan meg tudja védeni az üzenet bizalmasságát, de más technológiákra is szükség van, hogy garantálni tudjuk az üzenet sérthetetlenségét és hitelességét.
A titkosítás alapvető feladatai
- Üzenet rejtjelezése, megfejtése
Olyan módon kell az üzenetet átalakítani, hogy annak információtartalmát csak a megfejtést lehetővé tevő kulcs birtokában lehessen megtenni. - Digitális aláírások, időpecsétek
A hagyományos aláírás digitális megfelelője. Ebben az esetben az aláírót azonosítja és az aláírt adatot is védi a hamisítás és az ismétlés ellen. További feladata a letagadhatatlanság biztosítása is. Így az aláírás tényét az aláíró a későbbiek során nem tudja letagadni. - Titokmegosztás, titokszétvágás
Egy kulcsrészlet több résztvevő számára történő felosztása, így a titkosított üzenet visszafejtéséhez mindegyik résztvevőnek jelen kell lennie. (Pl: Kártyatársaságoknál lévő kulcscsere protokollnál ezt a módszert alkalmazzák mesterkulcsok generálásakor, vagy HSM modulokba történő ú.n kulcsőrök által történő mester kulcsok betöltése esetén, stb). - Hitelesítés
Az adatokat védi a hamisítás, módosítás ellen, így a kapott információ minden eleme hitelesnek tekinthető. - Partnerazonosítás (identifikáció) és az azonosító hitelesítése (authentikáció)
A személyazonosság bizonyítást nyer ebben a fázisban. Az authentikáció pedig az azonosítás állítását bizonyítja be. - Hozzáférés-védelem
Garantálja, hogy egy adott erőforráshoz vagy adathoz csak a jogosult felhasználók férhetnek hozzá és módosító műveletet is csak az arra jogosult felhasználók végezhetnek.
Titkosítási módszerek
Kétféle típusú titkosítási módszer létezik, melyet alkalmaznak is a gyakorlatban. A szimmetrikus-, és az asszimetrikus kulcsú titkosítást. Röviden a szimmetrikus típusú titkosítás ugyanazt az kulcsot (algoritmust) használja titkosításra és megfejtésre egyaránt. A gyenge pontja ennek a megoldásnak abban rejlik, hogy mivel a titkosító és a visszafejtésre szolgáló kulcs is ugyanaz, így a feladónak és a címzettnek is ugyanúgy kell vigyáznia rá, hogy senki nem ismerhesse meg. Ez a megoldást olyan helyen szerencsés alkalmazni, ahol a küldés és fogadás ugyanazon a helyen történik, (pl: titkosító fájlrendszer).
Ezzel szemben az aszimmetrikus vagy nyílt kulcsú titkosítás esetében két kulcs kerül használatra a titkosításhoz és a visszafejtéshez. A két kulcs matematikailag összefügg, de a titkos kulcsot lehetetlen előállítani a nyilvános kulcs ismerete nélkül. Ilyen megoldást alkalmaznak például a digitális aláírások és tanúsítványok használatánál vagy a bitcoin esetében is. Előnye, hogy gyorsabb a titkosítás menete, és az ilyen rendszerek nem igényelnek kulcsadatbázist, ahol a nyilvános kulcsok kerülnek tárolásra.
Gyakori titkosítással kapcsolatos problémák, sérülékenységek és megoldásuk
Ebben a részben említésre kerülnek azok a biztonsági problémák (a teljesség igénye nélkül), amire feltétlenül ügyelni kell a titkosítás használata során.
- Nem megfelelő, gyenge SSL/TLS konfigurációk használata
Az SSL, TLS konfigurációkat illetően gyakori probléma, hogy többi korábbi SSL, TLS verzió támogatása is engedélyezve van az operációs rendszeren, webszervereken. Csak a TLS 1.2 és magasabb titkosítási protokoll használata javasolt. - Lejárt tanúsítványok használata
Az érvényességi időn kívül eső, lejárt tanúsítvánnyal nem lehet megbízható kommunikációs csatornát kialakítani. A tanúsítványokat lejáratuk előtt meg kell újítani. - Gyenge titkosítási algoritmusok használata
Gyenge kriptográfia használata lehetővé teheti a támadók számára, hogy könnyebben megfejtsék a kulcsot és így lehallgathassák a kommunikációt. Gyenge titkosító algoritmusok használatát mellőzni kell. - Titkosító kulcsok nem megfelelően történő tárolása
A nem megfelelően védett kulcsok kompromittálódása esetén a teljes kulcs, a titkosított szöveg, tanúsítványok esetében a tanúsítvány, vagy akár a teljes tanúsítványlánc bizalmassága sérül. Kiemelten kell ügyelnünk a kulcsok biztonságára. Megfelelően védett helyen (pl: tokenen) kerüljön tárolásra. Csak arra illetékesek férjenek hozzá. - Önaláírt tanúsítványok használata
Megbízható külső-, vagy saját tanúsítványkiadó (CA, Certificate Authority) által kibocsájtott tanúsítványok használatát javasoljuk. Önaláírt tanúsítványokat éles üzemű rendszer vagy weboldal esetén ne használjunk.