Minden UNIX® rendszer használójához tartozik egy jelszó is a hozzáféréséhez. Teljesen nyilvánvalónak tűnik, hogy ezt a jelszót csak az adott felhasználó és az adott operációs rendszer ismeri. A jelszavakat a titokban tartásukhoz ún. „csapóajtó függvényekkel” titkosítják, amelyeket könnyű titkosítani, ám nehéz visszafejteni. Tehát amit egy perccel ezelőtt még nyilvalónak tituláltunk, az mostanra már nem is teljesen igaz: valójában az operációs rendszer sem ismeri a jelszót. Az operációs rendszer csak a jelszó titkosított változatát ismeri. A jelszó „titkosítatlan” formáját csak nyers erő igényebevételével tudjuk megkeresni az összes lehetséges jelszó szénakazlában.
Sajnos, annak idején, amikor a jelszavak titkosítása bekerült a UNIX®-ba, egyedül a DES, vagy más néven a Data Encryption Standard (Adattitkosítási szabvány) jött szóba. Ez alapvetően nem jelentett problémát az Egyesült Államok állampolgárai számára, de mivel a DES forráskódját nem lehetett kivinni az Egyesült Államokból, a FreeBSD-nek találnia kellett valami olyasmit, ami mind megfelel az Egyesült Államok törvényeinek, mind pedig kompatibilis marad az összes többi DES-t használó UNIX® variánssal.
Ezt úgy oldották meg, hogy felosztották a titkosítással foglalkozó függvénykönyvtárakat, így az Egyesült Államokban élő felhasználók tudtak DES könyvtárakat telepíteni és használni, miközben a többi nemzet felhasználói olyan más titkosítási módszert tudtak választani, amit kinn is lehetett alkalmazni. Ennek tulajdonítható, hogy a FreeBSD alapértelmezés szerint az MD5 segítségével titkosít. Az MD5-öt a DES-nél sokkalta biztonságosabbnak tartják, ezért a DES telepítésének lehetőségét leginkább csak kompatibilitási okokból ajánlották fel.
Jelenleg a könyvtár ismeri a DES, MD5 és Blowfish függvényeit. A FreeBSD a jelszavak titkosításához alapból az MD5-öt használja.
Nagyon könnyen meg tudjuk mondani, hogy a FreeBSD
éppen melyik titkosítási módszert
alkalmazza. Ennek egyik lehetősége, ha az
/etc/master.passwd
állományt
vizsgáljuk meg. Az MD5 függvényével
titkosított jelszavak hosszabbak, mint a DES
függvényével titkosítottak és a
$1$
karakterekkel
kezdődnek. A $2a$
karakterekkel kezdődő jelszavakat Blowfish-sel
titkosították. A DES
kódolású jelszavaknak nincs semmilyen
különleges ismertetőjelük, de
általánosságban elmondható
róluk, hogy rövidebbek az MD5 jelszavaknál
és olyan 64 karakteres ábécével
kódolják ezeket, amelyek nem tartalmazzák a
$
karaktert, így tehát a
viszonylag rövid, nem dollárjellel kezdődő
karakterláncok minden bizonnyal DES
kódolású jelszavak.
Az új jelszavak kódolásához
használt formátumot az
/etc/login.conf
állományban
tárolt passwd_format
bejelentkezési tulajdonság adja meg, amelynek
értékei des
,
md5
vagy blf
lehetnek. A
login.conf(5) man oldalon
tájékozódhatunk bővebben a
bejelentkezési tulajdonságokról.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.