Digest hitelesítés
A Digest hitelesítési hozzáférése az egyik olyan közös módszer, amelyet egy webszerver használ a felhasználó böngészőjének hitelesítő adatainak feldolgozásához. Ez a módszer titkosítást használ a jelszó küldésére a hálózaton belül, ami sokkal biztonságosabb, mint a rendszeres hitelesítési hitelesítés. amelyen az adatokat világos szövegben küldi.
Technikailag az emésztési hitelesítés az MD5 kriptográfiai hasítás alkalmazása véletlenszerű értékek alkalmazásával a kriptanalízis megakadályozására. A HTTP protokollt használja.
A hozzáférési hitelesítési kísérletet eredetileg az RFC 2069 (Extension to HTTP: Digest authentication access) használatával határozták meg. Az RFC 2069 szinte klasszikus emésztési hitelesítési sémát határoz meg, amelyben a biztonságot a kiszolgáló által generált véletlen értékek támogatják. A hitelesítési kérelemre adott válasz a következőképpen alakul (ahol HA1, HA2, A1, A2 a karakterláncváltozók nevei):
RFC 2069-ben helyébe később RFC 2617 (HTTP Authentication: normál és megemészteni hozzáférési jogosultság ellenőrzése). Az RFC 2617-ben további biztonsági javításokat vezettek be az emésztési hitelesítéssel; "A védelem minősége" (QOP), az ügyfél által növelt véletlenszerű értékszámláló és az ügyfél által létrehozott véletlenszerű értékek. Ezek a fejlesztések ellen védeni szándékozunk, például támadás cryptanalyst előre kiválasztott nyílt szöveg [kiválasztott-nyílt szövegű támadás].
Ha a QOP irányelv értéke "auth", vagy nincs definiálva, akkor a HA2 egyenlő:
Ha a QOP irányelv értéke "auth-int", akkor a HA2 egyenlő:
Ha a QOP irányelv értéke "auth" vagy "auth-int", akkor a lekérdezésre adott válasz a következőképpen kerül kiszámításra:
Ha a QOP direktíva nincs meghatározva, akkor a válasz a következőképpen kerül kiszámításra:
A fentiek azt mutatják, hogy ha nincs meghatározva a QOP, egyszerűbb RFC 2069 szabványt alkalmaznak.
Az MD5 védelem hatása az emésztési hitelesítésre
A HTTP hitelesítési emésztésre használt MD5 számításoknak "egyirányúnak" kell lenniük, ami nagyobb nehézséget jelent a kezdeti bemeneti adatok meghatározásakor, ha csak a kimenet ismert. Azonban, ha a jelszó túl egyszerű, akkor végezzen keresést az összes lehetséges bemeneti adatok és megtalálni a megfelelő kimenet (brute force támadás) - például egy szótár vagy egy megfelelő look-up listán.
HTTP Digest hitelesítési jellemzők
előnyök
A HTTP emésztési hitelesítés célja a hagyományos emésztési hitelesítési rendszerek biztonságának növelése, például "sokkal biztonságosabb, mint a CRAM-MD5 ..." (RFC2617).
Az emésztési hitelesítés néhány erőssége HTTP:
- A jelszót nem közvetlenül az emésztésben használják, hanem HA1 = MD5 (felhasználónév: tartomány: jelszó). Ez bizonyos implementációkban (például JBoss DIGESTAuth) lehetővé teszi a HA1 tárolását, nem pedig a nyílt szövegű jelszót.
- kliens véletlen értéket vittek be RFC2617, amely lehetővé teszi az ügyfél, hogy megakadályozzák a támadás előre kiválasztott nyílt szöveg [kiválasztott-nyílt szövegű támadás] (egyébként például, szivárvány táblázat [szivárvány asztal] veszélyt megemészteni hitelesítési rendszer).
- A kiszolgáló egész véletlenszerű értéke tartalmazhat időbélyegzőket. Ezért a kiszolgáló ellenőrizheti az ügyfelek által biztosított véletlen értékeket, hogy megakadályozzák a visszajátszási támadásokat.
- A szerver az újonnan létrehozott vagy használt véletlen értékek táblázatait is tartalmazhatja az újrafelhasználás megakadályozása érdekében.
hiányosságokat
A hozzáférés-hitelesítés megemésztése kompromisszumos megoldás. Úgy tervezték, hogy helyettesítse a titkosítatlan HTTP alapú hitelesítési hozzáférést. Azonban nem szándékozik helyettesíteni a biztonságosabb hitelesítési protokollokat, például a nyilvános kulcsot vagy a Kerberos hitelesítést.
Biztonsági szempontból a hozzáférési hitelesítési felszínnek számos hátránya van:
- Az RFC 2617 biztonsági beállításainak többsége opcionális. Ha a szerver nem határozza meg a védelem minőségét (QOP), az ügyfél az RFC 2069 lebomló biztonsági módban működik.
- A digest hitelesítés sebezhető a közepes emberi támadásokra (MitM). Például, a támadó mitm mondja meg az ügyfeleinek hogy az egyszerű hitelesítést vagy hozzáférési módot hitelesítés Digest RFC 2069. Tágabb elmosta, megemészteni hozzáférési jogosultság nem az ügyfelek szerver hitelesítési mechanizmus.
- Néhány kiszolgáló megköveteli a jelszavak reverzibilis titkosítás használatát. Lehetőség van azonban a felhasználónév, a terület és a jelszó emésztésére. [2]
Alternatív hitelesítési protokollok
Néhány továbbfejlesztett hitelesítési protokoll webes alkalmazásokhoz:
- Nyilvános kulcs-hitelesítés (általában HTTPS / SSL ügyfél-tanúsítványokkal).
- Kerberos vagy SPNEGO hitelesítés. először is, hogy a Microsoft IIS az Integrált Windows-hitelesítést (IWA) teszi lehetővé.
- Védett távoli jelszó protokoll (lehetőleg HTTPS / TLS-en keresztül).
A nyílt típus rosszul védett protokolljait gyakran használják:
Ezek a gyenge nyílt protokollok, amelyeket a hálózati titkosítással együtt alkalmaznak, megakadályozhatják a különböző fenyegetések megakadályozását, amelyek esetében az emésztési hitelesítést tervezték.
Példa magyarázattal
Az alábbi példát eredetileg az RFC 2617-ben mutattuk be, és itt kiterjesztettük, hogy bemutassuk az összes kérés és válasz teljes szövegét. Ne feledje, hogy csak a hitelesítési kód védettségét fedezi - az Opera és a Konqueror csak a böngészők írásakor írta alá az "AUTH-INT" -t (hitelesítés a védelem integritásával). Bár a specifikáció említi a HTTP 1.1 verziót, a séma sikeresen hozzáadható a kiszolgáló 1.0-s verziójához, amint az itt látható.
Ez a tipikus üzenetkezelési séma a következő lépésekből áll.
Megjegyzés: Az ügyfél már rendelkezik felhasználónévvel és jelszóval, anélkül, hogy kérje a felhasználó például, ha azokat a korábban mentett böngésző.
Ügyfélkérés (hitelesítés nélkül) Szerver válasz Ügyfél kérés ("Mufasa" felhasználónév, jelszó "Circle Of Life") Szerver válasz
A válasz értéke három lépésben történik, az alábbiak szerint. Az értékek kombinációját kettőspont választja el.
- Az MD5 kiszámított hash-értéket, a hitelesítési hatókört és a jelszót kiszámítják. Az eredmény a HA1.
- A kombinált módszer és az URI-emésztés MD5 hash-értékét kiszámítjuk. például "GET" és "/dir/index.html". Az eredmény HA2.
- A kombinált HA1 MD5 hash kiszámítása kiszámítja a kiszolgáló véletlenszerű értékét, a lekérdező számlálót, a kliens véletlen értéket, a biztonsági minőségi kódot (QOP) és a HA2 értéket. Az eredmény az ügyfél által adott "válasz" értéke.
Mivel a kiszolgáló ugyanazokkal az információkkal rendelkezik, mint az ügyfél, ugyanazokkal a számításokkal ellenőrizheti a választ. A fenti példában, a kimenet a következőképpen alakítjuk, ahol a MD5 () jelentése funkciót kiszámítani az MD5 hash backslash folytatódnak és idézetek nem használják a számításokban.
A 2617-es RFC-ben megadott példa kitöltésével minden lépésre bemutatjuk az eredményeket.
Ezen a ponton az ügyfél új kérelmet nyújthat be a kiszolgáló véletlenszerű értékének újrahasznosításával (a kiszolgáló minden egyes "401" válaszra új véletlen értéket ad ki), de új véletlen értéket ad az ügyfél számára. A későbbi kérelmek esetében a hexadecimális lekérdező számlálónak nagyobbnak kell lennie, mint az előzőleg használt érték - különben a támadó egyszerűen "ismételheti" a régi kérelmet ugyanazzal az adatokkal. Ez egy kiszolgáló feladat - annak ellenőrzése, hogy a számláló növekszik-e minden kibocsátott véletlen értéknél, és figyelmen kívül hagyja a nem megfelelő kéréseket. Nyilvánvaló, hogy a módszer, az URI és / vagy a számláló megváltoztatása különböző válaszértékeket eredményezhet.
A kiszolgálónak emlékezni kell a véletlenszerű értékekre, amelyeket a közelmúltban hoztak létre. Emlékszik arra is, amikor minden véletlenszerű értéket megadtak, és egy bizonyos idő elteltével kihasználják őket. Ha egy elavult értéket, akkor a szerver elküldi állapot kód „401”, és hozzáadjuk a száraz = TRUE a hitelesítési fejléc, jelezve, hogy a kliens ki újra a kérést egy új véletlen érték, anélkül, hogy a felhasználónak, hogy küldjön egy másik felhasználói nevet és jelszót.
A kiszolgálónak nem kell minden elavult véletlen értéket tárolnia - egyszerűen feltételezheti, hogy a nem megfelelő értékek elavultak. A kiszolgáló számára lehetséges, hogy minden egyes véletlen értéket csak egyszer adnak vissza, bár ez megkönnyíti az ügyfél számára, hogy megismételje az egyes kéréseket. Ne feledje, hogy a kiszolgáló véletlenszerű értéke nem lehet elavult, mert az ügyfél soha nem tudta használni.
SIP emésztési hitelesítés
A SIP alapvetően ugyanazt az algoritmust használja, mint az emésztési hitelesítés. Ezt az RFC 3261 határozza meg.
A böngésző végrehajtása
A legtöbb böngésző jelentős előírásokat hajt végre, kivéve bizonyos speciális funkciókat, például az AUTH-INT vagy az MD5 munkamenet algoritmust. Ha a kiszolgáló megköveteli, hogy ezeket a további funkciókat kell feldolgozni, az ügyfelek nem rendelkezik hitelesítő képesség (bár meg kell jegyezni, hogy az Apache mod_auth_digest szintén nem teljes mértékben végrehajtó RFC 2617).
irodalom
Tekintse meg, mi a "Digest hitelesítés" más szótárakban:
Internet Information Services - Microsoft Fejlesztői Operációs Rendszer Microsoft Windows NT Legfrissebb verzió 7.5 Tesztverzió 8.0 Licenc tulajdonos honlapja ... Wikipedia
Nonce - Egy tipikus csere az ügyfél és a kiszolgáló között a nonce szerver és a cnonce kliens használatával történő hitelesítés során. A kriptográfiában egy egyszeri, véletlenszerűen vagy pszeudo-véletlenszerűen kiválasztott kódot (Wikipedia)
Az adatok integritása - adatok integritását (szintén az adatok integritását) kifejezés a számítástechnikában és távközlési elmélet, ami azt jelenti, hogy az adatok teljesek, azzal a feltétellel, hogy az adatok nem változtak, ha bármilyen műveletet őket, függetlenül attól, hogy átvitel, ... ... Wikipedia
SNTP - Cím: Simple Network Time Protocol szint (az OSI modell): Application Család: TCP / IP Port / ID: 123 / UDP protokollt Cél: Idő szinkronizálás Specifikáció ... Wikipedia
RFID - EPC RFID címke használt Wal Mart RFID kereskedelmi hálózat (angol rádiófrekvenciás azonosítás, rádiófrekvenciás azonosítás.) Eljárás automatikus azonosítási tárgyak, amelyek rádiójeleket vagy olvasni ... ... Wikipedia
Rádiófrekvenciás azonosítás - EPC RFID címke az angol kereskedelmi hálózatban. Rádiófrekvenciás azonosítás) az objektumok automatikus azonosításának módját, amelyben rádiójelek segítségével tárolják a ... ... Wikipedia-ban tárolt adatokat
RFID címke - EPC RFID címke az angol kereskedelmi hálózatban. Rádiófrekvenciás azonosítás) az objektumok automatikus azonosításának módját, amelyben rádiójelek segítségével tárolják a ... ... Wikipedia-ban tárolt adatokat