Hálózati biztonság és védelem (titkosítás)
Gyakran előfordul, hogy bizalmas vagy titkos információt, banki átutalásokat kell továbbítani a hálózaton keresztül. Megoldandó, hogy az arra jogosulatlan személyek ne férhessenek hozzá a titkos adatokhoz. Megfelelő titkosítási algoritmus felhasználásával elérhető, hogy a titkosított adatok csak nem, vagy csak igen nehezen legyenek megfejthetők.
A titkosítástantitkosítástan Alapvető szabálya az, hogy a titkosítás készítőjének feltételeznie kell, hogy a megfejtő ismeri a titkosítás általános módszerét (ábra). A módszernél a titkosítási kulcs határozza meg a konkrét esetben a titkosítást. A titkosítási-megfejtési módszer régen nem lehetett bonyolult, mert embereknek kellett végigcsinálni. Két általános módszert használnak: Helyettesítéses rejtjelezés, Felcseréléses rejtjelezés. (kriptológiatitkosítástan Alapvető szabálya az, hogy a titkosítás készítőjének feltételeznie kell, hogy a megfejtő ismeri a titkosítás általános módszerét (ábra). A módszernél a titkosítási kulcs határozza meg a konkrét esetben a titkosítást. A titkosítási-megfejtési módszer régen nem lehetett bonyolult, mert embereknek kellett végigcsinálni. Két általános módszert használnak: Helyettesítéses rejtjelezés, Felcseréléses rejtjelezés.) alapvető szabálya az, hogy a titkosítás készítőjének feltételeznie kell, hogy a megfejtő ismeri a titkosítás általános módszerét (26. ábra). A módszernél a titkosítási kulcs határozza meg a konkrét esetben a titkosítást. A titkosítási-megfejtési módszer régen nem lehetett bonyolult, mert embereknek kellett végigcsinálni.
Két általános módszert használnak:
Helyettesítéses rejtjelezés:
- Egyábécés helyettesítés:
- Első híres alkalmazójáról Julius Caesar-ról elnevezve szokták Caesar-abc-nek is hívni. Az eredeti abc-t egy három (általános esetben: k) karakterrel eltolt abc-vel helyettesíti, és így írja le a szöveget. Bár a lehetőségek száma nagy, de a nyelvi-statisztikai alapon könnyen fejthető. (betűk, szavak relatív gyakorisága alapján)
- Többábécés rejtjelezés:
- 26 Caesar-abcHelyettesítéses rejtjelezésnél az egyábécés helyettesítés. Első híres alkalmazójáról Julius Caesar-ról elnevezve szokták Caesar-féle rejtjelezésnek is hívni. Az eredeti abc-t egy három (általános esetben: k) karakterrel eltolt abc-vel helyettesíti, és így írja le a szöveget. Bár a lehetőségek száma nagy, de a nyelvi-statisztikai alapon könnyen fejthető. (betűk, szavak relatív gyakorisága alapján) sort tartalmazó négyzetes mátrix. Nyílt szöveg fölé egy kulcsot (egy szöveget) írunk, és a kulcsban lévő betű dönti el, hogy melyik sort használjuk az adott nyílt szövegbeli betű titkosítására.
ABC….XYZ KULCSOCSKAKULCSOCSKA
BCD…YZA EZ A NYILT IRAT
… OT…….
ZAB…WXY
E betűt az O betű helyettesíti, mert a K-val kezdődő sor 5.-ik (E betű az 5-ödik!) tagja O.
Z betűt az T betű helyettesíti, mert a U-val kezdődő sor 26.-ik (Z betű az 26-odik!) tagja T.
A mátrix sorainak keverésével hatásosabb lesz a módszer, de ekkor a mátrix a kulcs részévé válik. Megfejtés alapja: a kulcs hosszának jó megsejtése.
Más: betűkódolás helyett két- három vagy négy betű kódolása, vagy szavak használata. (kulcs egy könyv (pl. szótár) , és elküldjük hogy adott oldal hányadik sora (számok).
Porta-féle rejtjelezésnél 26*26-os mátrixot használunk, amelynek minden eleme betű-pár. A nyílt szöveg sorban egymás után álló két karaktere a mátrix egy sorát és oszlopát határozza meg, a metszéspontban lévő betűpárt írjuk az eredeti betű-pár helyére.
Felcseréléses rejtjelezés:
A helyettesítéses rejtjelezések és kódolások a nyílt szöveg szimbólumainak sorrendjét változatlanul hagyják, csak álcázzák. A felcseréléses rejtjelezések a betűk sorrendjét változtatják, de nem álcázzák.
Módszer: A kulcsban egy betű csak egyszer fordulhat elő. A szöveget kulcsnyi szélességű sorokra tördelve egymás alá írjuk, a titkosított szöveget az oszlopok egymás után fűzésével kapjuk. Az oszlopok leírási sorrendjét a kulcs betűinek abc-beli sorrendje határozza meg.
Nyílt szöveg: eztmostkodoljuk
Titkosítva:
odkmoutkjesoztl
PROBA <- kulcsszó
45321
eztmo
stkod
oljuk
Ez a rejtjelezés is megfejthető. Betűgyakoriságok vizsgálata alapján eldönthető, hogy felcseréléses rejtjelezésről van szó. Majd az oszlopszámokat kell megsejteni, majd az oszlopok sorrendjét.
DES (Data Encyption Standard) — Adattitkosítási szabvány
A számítógépek megjelenésével az a hagyományos módszerek (helyettesítés és felcserélés) továbbélnek, de a hangsúly máshová került. Mivel régen emberek voltak a titkosítók, ezért a készítők egyszerű, emberek által jól megtanulható algoritmusokat és hosszú kulcsokat használtak.
A számítógépek megjelenésével felmerült az igény olyan titkosítási algoritmusok iránt, amelyek olyan komplikáltak, hogy még egy számítógép se tudja megfejteni.
Manapság a titkosítási algoritmus a nagyon bonyolult (hiszen a számítógép végzi), és a megfejtő még sok titkosított szöveg birtokában sem tudja megfejteni. A DESData Encyption Standard Adattitkosítási szabvány. A számítógépek megjelenésével az a hagyományos módszerek (helyettesítés és felcserélés) továbbélnek, de a hangsúly máshová került. Mivel régen emberek voltak a titkosítók, ezért a készítők egyszerű, emberek által jól megtanulható algoritmusokat és hosszú kulcsokat használtak. A számítógépek megjelenésével felmerült az igény olyan titkosítási algoritmusok iránt, amelyek olyan komplikáltak, hogy még egy számítógép se tudja megfejteni. Manapság a titkosítási algoritmus a nagyon bonyolult (hiszen a számítógép végzi), és a megfejtő még sok titkosított szöveg birtokában sem tudja megfejteni. A DES módszer lényegében egy 64 bites nyílt szöveget 64 bites titkosított szöveggé alakít egy 56 bites titkosítási kulcs segítségével. Bináris elemek esetén a felcserélések és helyettesítések egyszerű áramkörök segítségével valósítható meg. A felcseréléseket a P doboz, a helyettesítéseket az S doboz végzi. A P doboz nem más mint egy 8 bemenetű és 8 kimenetű áramkör, egy bemenő paraméter által meghatározott össze-vissza kötött ki- és bemenetekkel, azaz a bemeneti 8 bit felcserélésével állítja elő a 8 bites kimenetet. A helyettesítést az S doboz végzi, ez a doboz a bemenetére adott 3 bit nyílt szöveget alakítja át 3 bit titkos szöveggé. A titkosítás első lépésben egy kulcstól független felcserélés történik, az utolsóban, pedig ennek az inverze. Az utolsó lépésben egyszerűen az első 32 bitet felcserélik az utolsó 32 bittel. A közbülső 16 fokozat ugyanúgy működik, de a kulcs más-más része határozza meg az alkalmazott P és S dobozok konkrét felépítését. Ez természetesen logikai függvényekkel is leírható, és ez alapján titkosító program is készíthető. módszer lényegében egy 64 bites nyílt szöveget 64 bites titkosított szöveggé alakít egy 56 bites titkosítási kulcs segítségével. Bináris elemek esetén a felcserélések és helyettesítések egyszerű áramkörök segítségével valósítható meg. (27. ábra)
A felcseréléseket a P doboz, a helyettesítéseket az S doboz végzi. A P doboz nem más mint egy 8 bemenetű és 8 kimenetű áramkör, egy bemenő paraméter által meghatározott össze-vissza kötött ki- és bemenetekkel, azaz a bemeneti 8 bitAngol rövidítés, a BInary digiT szavakból. Az informatikában, információelméletben az információ legkisebb egységét jelöli. Hétköznapi példával élve ez nem más, mint egy eldöntendő kérdésre adott válasz: vagy igen, vagy nem. Az informatikában ezt az 1 és a 0 számjegyekkel jelölik. (A binary digit jelentése bináris számjegy). Amiért a számítógépek pontosan tudnak működni, az annak köszönhető, hogy egy bitnek a két állapota (0 és 1) elektronikailag élesen megkülönböztethető egymástól. Egy ilyen megkülönböztetés lehet az, hogy a magas szintű feszültség az 1, míg az alacsony szintű feszültség a 0 bitet jelentse. Annak a valószínűsége, hogy a két jelszint összekeveredjen, nagyon kicsi. összetettebb információ ábrázolására a bitekből nagyobb egységeket állítanak össze. Ilyen például a byte. (vesd össze: oktet) A számok ábrázolására a bitek nagyon kényelmesek, és gazdaságosak is egyben. A grafikák, hangok, animációk és egyéb (általában multimédiás) információk ábrázolásakor azonban rengeteg bitre (nagy tárolókapacitásra) van szükség. Egy átlagos kép például 250 Kbyte, illetve egy 3 perces hanganyag pedig 1,5 Mbyte méretűvé is nőhet. A kódoláshoz felhasznált bitek számának csökkentésével el lehet érni javulást, de ekkor a kódolt információ minősége romlik (vesd össze: GIF és JPEG). felcserélésével állítja elő a 8 bites kimenetet. A helyettesítést az S doboz végzi, ez a doboz a bemenetére adott 3 bitAngol rövidítés, a BInary digiT szavakból. Az informatikában, információelméletben az információ legkisebb egységét jelöli. Hétköznapi példával élve ez nem más, mint egy eldöntendő kérdésre adott válasz: vagy igen, vagy nem. Az informatikában ezt az 1 és a 0 számjegyekkel jelölik. (A binary digit jelentése bináris számjegy). Amiért a számítógépek pontosan tudnak működni, az annak köszönhető, hogy egy bitnek a két állapota (0 és 1) elektronikailag élesen megkülönböztethető egymástól. Egy ilyen megkülönböztetés lehet az, hogy a magas szintű feszültség az 1, míg az alacsony szintű feszültség a 0 bitet jelentse. Annak a valószínűsége, hogy a két jelszint összekeveredjen, nagyon kicsi. összetettebb információ ábrázolására a bitekből nagyobb egységeket állítanak össze. Ilyen például a byte. (vesd össze: oktet) A számok ábrázolására a bitek nagyon kényelmesek, és gazdaságosak is egyben. A grafikák, hangok, animációk és egyéb (általában multimédiás) információk ábrázolásakor azonban rengeteg bitre (nagy tárolókapacitásra) van szükség. Egy átlagos kép például 250 Kbyte, illetve egy 3 perces hanganyag pedig 1,5 Mbyte méretűvé is nőhet. A kódoláshoz felhasznált bitek számának csökkentésével el lehet érni javulást, de ekkor a kódolt információ minősége romlik (vesd össze: GIF és JPEG). nyílt szöveget alakítja át 3 bitAngol rövidítés, a BInary digiT szavakból. Az informatikában, információelméletben az információ legkisebb egységét jelöli. Hétköznapi példával élve ez nem más, mint egy eldöntendő kérdésre adott válasz: vagy igen, vagy nem. Az informatikában ezt az 1 és a 0 számjegyekkel jelölik. (A binary digit jelentése bináris számjegy). Amiért a számítógépek pontosan tudnak működni, az annak köszönhető, hogy egy bitnek a két állapota (0 és 1) elektronikailag élesen megkülönböztethető egymástól. Egy ilyen megkülönböztetés lehet az, hogy a magas szintű feszültség az 1, míg az alacsony szintű feszültség a 0 bitet jelentse. Annak a valószínűsége, hogy a két jelszint összekeveredjen, nagyon kicsi. összetettebb információ ábrázolására a bitekből nagyobb egységeket állítanak össze. Ilyen például a byte. (vesd össze: oktet) A számok ábrázolására a bitek nagyon kényelmesek, és gazdaságosak is egyben. A grafikák, hangok, animációk és egyéb (általában multimédiás) információk ábrázolásakor azonban rengeteg bitre (nagy tárolókapacitásra) van szükség. Egy átlagos kép például 250 Kbyte, illetve egy 3 perces hanganyag pedig 1,5 Mbyte méretűvé is nőhet. A kódoláshoz felhasznált bitek számának csökkentésével el lehet érni javulást, de ekkor a kódolt információ minősége romlik (vesd össze: GIF és JPEG). titkos szöveggé. A titkosítás első lépésben egy kulcstól független felcserélés történik, az utolsóban, pedig ennek az inverze. Az utolsó lépésben egyszerűen az első 32 bitet felcserélik az utolsó 32 bittel. A közbülső 16 fokozat ugyanúgy működik, de a kulcs más-más része határozza meg az alkalmazott P és S dobozok konkrét felépítését. Ez természetesen logikai függvényekkel is leírható, és ez alapján titkosító program is készíthető.
A PGP
A PGPAz angol "Pretty Good Privacy" rövidítése. A PGP elektronikus üzenetek titkosítását teszi lehetővé. Két kulccsal működik: az egyik nyilvános, ezzel lehet az üzeneteket kódolni. Aki titkosított üzenetet szeretne kapni, közzéteszi nyilvános kulcsát, és mindenki, aki neki írni akar, ezzel kódolhatja bizalmas üzenetét. A kódolt üzenet visszafejtése csak a második, titkos kulccsal lehetséges – ezt csak az üzenetek címzettje ismeri. A titkos kulcs nélkül az üzenet dekódolása még profi kódtörők számára is reménytelen feladat. Számos ország – nemzetbiztonsági okokra hivatkozva – korlátozni igyekszik a PGP és a hasonló eljárások elterjedését. (Pretty Good Privacy) egy nagybiztonságú titkosító program, mely MS-DOS, UnixA unix az Interneten lévő számítógépek legelterjedtebb, nyílt operációs rendszere, amelyet 1970 körül fejlesztettek ki a Bell Laboratóriumban. A unixot arra tervezték, hogy egyszerre több felhasználó dolgozhasson rajta, és egyszerre több feladatot lehessen vele végrehajtani. A unix operációs rendszernek több fajtája, hasonmása létezik a különböző típusú, architektúrájú számítógépekre. érdemes megemlíteni a Linux operációs rendszert, amely a unixokkal rokonságot mutat. Leglényegesebb tulajdonsága, hogy ingyen terjeszthető. A fejlesztést a hálózaton keresztül - például levelezési listák segítségével - nagyon sok ember végzi., VAX/VMS és sok más operációs rendszerOperating System – OS Olyan program, amely ellenőrzi a számítógép alapvető műveleteit, a periferiális egységeket, az adatszerkezeteket, lehetővé teszi a felhasználóval (operátor) történő kapcsolattartást, és programokat futtat. Kezdetben az egyes számítógép-típusokhoz külön operációs rendszereket írtak, de vannak elfogadott szabványok is (MS-DOS, UNIX), amelyek gyakorlatilag minden – arra fizikailag alkalmas – gépen futtathatók. alatt fut. Lehetővé teszi levelek, illetve adatfájlok nyilvános kulcsú titkosítását, üzenetek autentikus, titkos és irányított célbajuttatását. Az irányított azt jelenti, hogy kizárólag azok férnek hozzá az adatok tartalmához, akiknek azt szántuk. Az autenticitás azt jelenti, hogy a fogadó biztos lehet abban, hogy az adatokat ki adta fel, és hogy azok nem módosultak. Mindehhez nincs szükség arra, hogy a felek a hagyományos titkosítási eljárásoknál szokásos titkos kulcsokat cseréljenek egymással, és azokat megbízható csatornán állandóan szinten tartsák. A nyilvános kulcsos kriptográfiában mindenki két, egymással szorosan összefüggő kulccsal rendelkezik. Mindkét kulcsot a másik által kódolt üzenetek dekódolására lehet felhasználni. A nyilvános kulcs nem nyújt lehetőséget a titkos kulcs kitalálásához. Egy ember nyilvános kulcsával bárki kódolhat üzeneteket. Ezeket a fogadó fél a saját titkos kulcsával tudja visszafejteni. A kódolt üzenetet még a feladó sem tudja dekódolni.
Megoldották az üzenetek biztonságos sértetlenség- és eredetigazolását is. A küldő a saját titkos kulcsával aláírja az üzenetet. Az aláírás eredetiségét bárki ellenőrizheti az illető nyilvános kulcsának felhasználásával. A fogadó a dekódolás után biztos lehet a küldő személyében és abban is, hogy az üzenet tartalma nem változhatott meg. Mert a megváltoztatáshoz a feladó titkos kulcsa szükséges, amellyel rajta kívül senki sem rendelkezik. A hamisítás ki van zárva és a küldő sem tagadhatja le magát utólag. A két dolog egyszerre is megvalósítható. Ehhez először alá kell írni az üzenetet a saját titkos kulccsal, majd kódolni a fogadó nyilvános kulcsával. A fogadó először a saját titkos kulcsával dekódol, majd a küldő nyilvános kulcsával ellenőrzi az eredetet. Ezt a két műveletet a program automatikusan elvégzi.
A nyilvános kulcsú titkosítás algoritmusa sokkal lassabb, mint a hagyományos eljárások, célszerű egy nagy megbízhatóságú hagyományos eljárással kódolni az üzenetet. A titkosítás első lépésében egy hagyományos kódoláshoz használható véletlen kulcs generálódik, amiAlternate Mark Inversion: - váltakozó 1 invertálás. A módszer nagyon hasonló az RZ módszerhez, de nullára szimmetrikus tápfeszültséget használ, így az egyenfeszültségű összetevője nulla. Minden 1-es-hez rendelt polaritás az előző 1-eshez rendelt ellentettje, a nulla szint jelöli a 0-át. Természetesen hosszú 0-s sorozatok esetén a szinkronizáció itt is problémás, de a bitbeszúrási módszer itt is használható. kizárólag abban az egy küldésben kerül alkalmazásra. Ezzel kódolják a nyílt szöveget egy hagyományos algoritmussal (például a DES-el). A kódoláshoz használt kulcsot a fogadó nyilvános kulcsával rejtjelzik, és a rejtjelzett kulcsot a kódolt üzenettel együtt küldik el. A fogadó a saját titkos kulcsával először visszafejti a hagyományos kulcsot, majd ennek segítségével a gyors algoritmussal dekódolja a rejtjelzett szöveget.
A kulcsok speciális struktúrában vannak tárolva, amely tartalmaz egy azonosítót (User IDAngol kifejezés, jelentése: felhasználói azonosító. A user identity szavakból.), a kulcspár generálásának dátumát és magát a kulcskódot. A nyilvánoskulcs-struktúra tartalmazza a nyilvános kulcsot, míg a titkoskulcs-struktúra a titkos kulcsot. A titkos kulcs jelszóval is védett, ellopás esetére. A kulcsfájl (Key Ring) egy vagy több kulcs struktúrát tartalmaz. Az előbbieknek megfelelően vannak titkos és nyilvános kulcsfájlok. A program egy azonosítóEgy adott szolgáltatás igénybevételének jogát biztosító karaktersorozatok együttese. A leggyakrabban ez egy bejelentkezési névnek felel meg, amellyel egy adott felhasználó arra a számítógépre jelentkezhet be, ahol felhasználóként szerepel. Az azonosítót, amely általában a bejelentkezési nevet és a jelszót együtt jelenti, a felhasználó a hálózati szolgáltatójától kapja. Ennek birtokában a minket megillető erőforrásokat használhatjuk. számmal, a kulcs ID-vel (Key ID) hivatkozik az egyes kulcsokra, amiAlternate Mark Inversion: - váltakozó 1 invertálás. A módszer nagyon hasonló az RZ módszerhez, de nullára szimmetrikus tápfeszültséget használ, így az egyenfeszültségű összetevője nulla. Minden 1-es-hez rendelt polaritás az előző 1-eshez rendelt ellentettje, a nulla szint jelöli a 0-át. Természetesen hosszú 0-s sorozatok esetén a szinkronizáció itt is problémás, de a bitbeszúrási módszer itt is használható. a teljes kulcs egy rövidítése, nevezetesen a nyilvános kulcs utolsó 8 bájtja. Amikor ez megjelenítésre kerül a további rövidítés kedvéért csak az utolsó 3 bájt tartalma kerül kijelzésre. Amíg több különböző kulcs felhasználó-azonosítója megegyezhet, két kulcs ID-je nem lehet
azonos.
A PGPAz angol "Pretty Good Privacy" rövidítése. A PGP elektronikus üzenetek titkosítását teszi lehetővé. Két kulccsal működik: az egyik nyilvános, ezzel lehet az üzeneteket kódolni. Aki titkosított üzenetet szeretne kapni, közzéteszi nyilvános kulcsát, és mindenki, aki neki írni akar, ezzel kódolhatja bizalmas üzenetét. A kódolt üzenet visszafejtése csak a második, titkos kulccsal lehetséges – ezt csak az üzenetek címzettje ismeri. A titkos kulcs nélkül az üzenet dekódolása még profi kódtörők számára is reménytelen feladat. Számos ország – nemzetbiztonsági okokra hivatkozva – korlátozni igyekszik a PGP és a hasonló eljárások elterjedését. kivonatokat (Message Digest) használ az aláíráshoz. A kivonat egy 128 bites szám, amit egy kriptográfiai szempontból megbízható, szigorúan egyirányú függvény állít elő az üzenet alapján, ez jelzi az üzenet megváltozását. Ugyanakkor a kivonatot létrehozó eljárás kizárja, hogy valaki úgy módosítsa az üzenetet, hogy az eredetivel megegyező kivonat jöjjön létre. Ezt a kivonatot kell a küldő titkos kulcsával kódolni, amiAlternate Mark Inversion: - váltakozó 1 invertálás. A módszer nagyon hasonló az RZ módszerhez, de nullára szimmetrikus tápfeszültséget használ, így az egyenfeszültségű összetevője nulla. Minden 1-es-hez rendelt polaritás az előző 1-eshez rendelt ellentettje, a nulla szint jelöli a 0-át. Természetesen hosszú 0-s sorozatok esetén a szinkronizáció itt is problémás, de a bitbeszúrási módszer itt is használható. az üzenet elektronikus aláírását adja. Az aláírás folyamán az üzenet mellé kerül az aláírás struktúra. Ez az aláíró ID-jéből, az aláírás időpontjából és a kódolt kivonatból áll. A kulcs ID azért kell, hogy fogadáskor a program kiválassza a kulcsfájlból azt a nyilvános kulcsot, amelyikkel az ellenőrzést el kell végezni. A kódolt üzenet is kiegészül a kódoló kulcs ID-jével. Ez lehetővé teszi, hogy a program automatikusan kiválassza a dekódoláshoz szükséges titkos kulcsot a titkoskulcs-fájlból.
Az egyes kulcsok nem egyenként vannak sok-sok fájlban tárolva, hanem egyetlen kulcsfájl gyűjti az összes azonos típusút. Ez sokkal gyorsabb előkeresést tesz lehetővé, akár a személy, akár a kulcs azonosítója alapján. Minden felhasználónak két kulcsfájlja van: egy nyilvános és egy titkos. A nyilvános kulcsfájl esetén lehetőség van az egyedi kulcsok kinyerésére, így azokat szét lehet teríteni más felhasználók között, akik felvehetik az új kulcsokat saját nyilvános kulcsfájljukba.