A digitális aláírások nyilvános kulcsú kriptográfiai architektúrán alapulnak a dokumentum hitelességének és a feladó azonosításának ellenőrzéséhez. A digitális aláírások megszerzésének két szabványos módja az RSA (Rivest–Shamir–Adleman) és a DSA (Digital Signature) algoritmus, de mindkettő különbözik a titkosítási és visszafejtési funkciók végrehajtásában.
A cikk áttekintést ad az egyik iparági szabvány DSA algoritmusról, annak munkafolyamatáról egy rövid áttekintéssel kulcs és aláírás generálása és ellenőrzése, az átfogó folyamat lépései, előnyei/hátrányai, valamint Alkalmazás.
Bevezetés a digitális aláírási algoritmusokba
A DSA (Digital Signature Algorithm) magában foglalja a diszkrét logaritmus-problémák algebrai tulajdonságait és a moduláris hatványozást az elektronikus aláírás létrehozásához különféle alkalmazásokhoz. 1991-ben javasolták, és 1994-ben a NIST (National Institute of Standards and Technology) szövetségi információfeldolgozási szabványként fogadta el.
A legtöbb digitális aláírás-létrehozó algoritmus azt a tipikus technikát követi, hogy az üzenetkivonatot (az aktuális üzenet kivonatát) a forrás privát kulccsal írja alá a digitális ujjlenyomat létrehozásához.
A helyzet azonban más a DSA-ban, mivel két aláírást generál két összetett és egyedi aláírási és ellenőrzési funkció beépítésével. Ezért a DSA algoritmus nem a privát és nyilvános kulcsok egyszerű használata a kommunikáció elején és végén.
A digitális aláírási algoritmus jelentősége
Az egyre növekvő kiberfenyegetések miatt, amikor a felhasználó adatokat küld az interneten, azonosítani kell és ellenőrizni kell a tulajdonos hitelességét. Gondoskodnunk kell arról, hogy a dokumentum tulajdonosa hiteles legyen, és hogy senki ne változtasson az átvitel során.
A digitális aláírások azok az elektronikus aláírások, amelyek segítségével a címzett azonosítani tudja az üzenet eredetét. Ezeket az elektronikus aláírásokat különféle algoritmusokkal hozhatja létre, és ezek egyike a DSA. A DSA-ban a küldő digitális aláírást hoz létre, hogy azt az üzenethez csatolja, így bárki hitelesítheti azt a fogadó oldalon.
A DSA által kínált előnyök a következők:
- Nem tagadás: az aláírás ellenőrzését követően a feladó nem hivatkozhat arra, hogy nem küldte el az adatokat.
- Sértetlenség: az adatátvitel során történő adatmódosítás megakadályozza a végső ellenőrzést vagy az üzenet visszafejtését.
- Üzenet hitelesítés: a megfelelő privát/nyilvános kulcsok kombinációja segít a feladó eredetének ellenőrzésében.
Hogyan hitelesíti az algoritmus a feladót?
A DSA algoritmus a szisztematikus számítási mechanizmuson dolgozik, amely egy hash értéket és egy digitális aláírást számít ki, amely két 160 bites számot tartalmaz az üzenet kivonatából és a privát kulcsból. A véletlenszerűség az aláírást nem determinisztikussá teszi. Nyilvános kulcsot használ az aláírás-hitelesítéshez, ami sokkal összetettebb, mint az RSA.
A DSA ciklus a következő három fő lépést követi a folyamat befejezéséhez:
- Kulcsgenerálás: A folyamat a moduláris hatványozás koncepciójára támaszkodik, hogy olyan privát (x) és nyilvános (y) kulcsokat kapjon, amelyek kielégítik a 0 < x < q és y = gx mod p matematikai feltételeit. Ahol q egy prímosztó, p egy prímszám, és g teljesíti ezeket a g**q mod p = 1 és g = h**((p–1)/q) mod p feltételeket. Így létrejön a {p, q, g, x} és {p, q, g, y} privát és nyilvános kulcsú csomagok.
- Aláírás generálása: A kivonatoló algoritmus üzenetkivonatot generál, amelyet bemenetként ad át egy aláíró függvénynek két változó létrehozásához. Az r és s kimenetek {r, s} aláírásként vannak csomagolva úgy, hogy az üzenetet és ezeket a változókat egy kötegként küldjék el a vevő.
- Aláírás ellenőrzése: A folyamat a kivonatolási függvényt használja a kivonat kimenetére, és az s változót a kulcsgenerálási lépés egyéb paramétereivel együtt tartalmazza a v ellenőrző komponens előállításához. Az ellenőrző függvény összehasonlítja a számított v változót az {M, s, r} köteg r paraméterével.
A fenti folyamat nem matematikai összefoglalásához:
- Kulcsokat a kulcsgeneráló algoritmus segítségével hozhat létre a dokumentum aláírásához.
- Ezután egy digitális aláírási algoritmust használjon az aláírás létrehozásához.
- Használj hash függvény üzenetkivonat létrehozásához, és kombinálja a DSA-val a digitális aláírás létrehozásához.
- Küldje el az aláírást az adatokkal, hogy a címzett hitelesítse magát.
- A vevő hitelesíti az aláírást egy ellenőrző algoritmus segítségével. Ez a fent használt hash függvény az üzenet kivonat létrehozásához.
A digitális aláírási algoritmus használatának előnyei
- Gyors aláírás-számítás
- Kevesebb tárhelyet igényel a teljes folyamathoz
- Ingyenesen elérhető (szabadalmak nélkül) ingyenes globális használatra.
- Kis aláírás hosszúság
- Megfigyelés valós időben
- Nem invazív
- A DSA a jogi megfelelés szempontjából világszerte elfogadott.
- Időtakarékos (alacsony időfelhasználás a fizikai aláírási folyamatokhoz képest stb.)
A digitális aláírási algoritmus használatának hátrányai
- A folyamat nem tartalmaz kulcscsere-képességeket.
- Az mögöttes kriptográfia újnak kell lennie, hogy biztosítsa erejét.
- A számítógépes hardver- és szoftverszállítók szabványosítása az RSA-n problémákat okozhat a DSA második hitelesítési szabványa miatt.
- Az összetett fennmaradó műveletek sok időt igényelnek a számításhoz és így az aláírás ellenőrzéséhez.
- Csak a hitelesítést biztosítja, a bizalmasságot nem, mivel az algoritmus nem titkosítja az adatokat.
- A DSA-algoritmusok kiszámítják az SHA1 hash-t az üzenet kivonat létrehozásához. Ezért tükrözi az SHA1 hash függvény összes hibáját az algoritmusban.
DSA VS RSA
A Digital Signature Algorithm egy aszimmetrikus kulcsú titkosítási algoritmus, amelyet az Egyesült Államok ügynökségei alkalmaztak titkos és nem titkos kommunikációra. Míg az RSA egy nyilvános kulcsú kriptográfiai algoritmus, amely moduláris aritmetikát is használ, ereje a kommunikáció és a digitális aláírások biztonságossá tétele érdekében a prímszám-faktorizálás problémáján múlik. Ezért a szokásos titkosítási algoritmusokkal, például az RSA-val ellentétben a DSA csak a digitális aláírások szabványa.
Annak ellenére, hogy mindkettő különböző matematikai algoritmusokat tartalmaz, a kriptográfiai erősség egyenértékű. A két algoritmus közötti fő különbség a sebességre, a teljesítményre és az SSH protokoll támogatására szűkül.
- A DSA-val ellentétben az RSA lassú a visszafejtésben, a kulcsgenerálásban és az ellenőrzésben, de gyors a titkosításban és az aláírásban. A hitelesítés azonban mindkettőt igényli, és a sebességbeli eltérések jelentéktelenek a valós alkalmazásokban.
- Egy másik különbség a Secure Shell hálózati protokoll támogatásában rejlik. Az RSA támogatja az eredeti SSH-t és annak biztonságos második verzióját, az SSH2-t, míg a DSA csak az SSH2-vel működik.
Hitelesítse az adatforrást a DSA segítségével
A digitális aláírások szükségesek a mai összekapcsolt világban a biztonságos környezet megteremtéséhez. Nagyszerű módja annak, hogy hitelesítsen bármilyen rekordot az interneten keresztül. A cikk bemutatja a digitális aláírás algoritmusait, rövid áttekintést adva annak munkafolyamatáról, előnyeiről, hátrányairól, biztonsági korlátairól, valamint az RSA-val való összehasonlításáról.
Erről a két titkosítási protokollról gyakran beszélnek együtt, de mik ezek és hogyan működnek?
Olvassa el a következőt
- Biztonság
- Digitális aláírások
Rumaisa a MUO szabadúszó írója. Sok kalapot viselt, a matematikustól az információbiztonság-rajongóig, és most SOC elemzőként dolgozik. Érdeklődési köre az új technológiákról, Linux disztribúciókról és az információbiztonsággal kapcsolatos bármiről való olvasás és írás.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez