V današnji digitalni dobi, kjer večina naših komunikacij, finančnih transakcij in zasebnih podatkov poteka preko spleta, je šifriranje postalo ključnega pomena za varovanje teh informacij. Šifriranje je postopek pretvorbe besedila v nečitljivo obliko, ki jo lahko razumejo le tisti, ki imajo ustrezen ključ za dešifriranje. To je temelj kibernetske varnosti, ki omogoča varno izmenjavo podatkov med različnimi entitetami.
Potrebnost varovanja podatkov sega daleč v preteklost. Že v antičnih časih so uporabljali osnovne metode šifriranja, kot je bila Cezarjeva šifra, kjer so črke v besedilu premaknili za določen znesek. Z razvojem tehnologije so metode šifriranja postale naprednejše. Med drugo svetovno vojno je imel velik pomen šifrirni stroj Enigma, ki je varoval vojaško komunikacijo. Danes šifriranje ne ščiti več samo vojaških skrivnosti, temveč je ključno za varno delovanje celotnega interneta.
Pomen kriptografije
Cilj kriptografije je zaščititi podatke, bodisi pri shranjevanju na napravah bodisi med prenosom preko nezavarovanih omrežij. S šifriranjem podatkov jih spremenimo v nečitljive znake, dešifriranje pa omogoča ponovno pridobitev originalnega besedila. Ta proces poteka s pomočjo ključev – šifriranje je zasnovano tako, da je brez ustreznega ključa dešifriranje čim težje.
Kriptografija je ključna za varnost digitalnih sistemov, od osebnih naprav, kot so pametni telefoni, do velikih omrežij vladnih institucij in podjetij. Uporablja se na vseh ravneh digitalne infrastrukture:
- V aplikacijah (npr. spletne aplikacije, kot so bančni sistemi),
- Operacijskih sistemih (Windows, Linux, iOS),
- Omrežjih (Wi-Fi, VPN),
- Strojni opremi (mikroprocesorji, pametne kartice).
Kriptografija je ključnega pomena za:
- Varnost spletnih komunikacij (npr. SSL/TLS certifikati),
- Avtentikacijo uporabnikov (npr. shranjevanje gesel in uporaba digitalnih potrdil),
- Zasebnost sporočil, kot je end-to-end šifriranje pri aplikacijah WhatsApp, Signal, Telegram in Matrix.
Ključni koncepti šifriranja
Dolžina ključa
Dolžina ključa določa varnost šifriranja – daljši ključi zagotavljajo večjo varnost. Na primer, 128-bitni ključ je hitreje razbit kot 256-bitni ključ. V današnjem času se večinoma uporablja 256-bitno šifriranje, ki zagotavlja zelo visoko raven varnosti.
Algoritmi šifriranja
Algoritmi šifriranja so matematične formule, ki se uporabljajo za pretvorbo podatkov v šifrirano obliko in nazaj. Najbolj priljubljeni algoritmi vključujejo:
- AES (Advanced Encryption Standard) za simetrično šifriranje, ki je hiter in varen,
- RSA za asimetrično šifriranje, ki je priljubljen za varno izmenjavo ključev.
Praktična uporaba
Šifriranje se uporablja na številnih področjih. Protokola SSL (Secure Socket Layer) in TLS (Transport Layer Security) varujeta komunikacijo med spletnim brskalnikom in strežnikom, kar zagotavlja varne transakcije. Mobilne aplikacije, kot je WhatsApp, uporabljajo end-to-end šifriranje, kar pomeni, da lahko sporočila bereta le pošiljatelj in prejemnik.
Vrste šifriranja
Obstajata dve glavni vrsti šifriranja: simetrično in asimetrično. Obe metodi imata svoje prednosti in slabosti, vendar sta temeljni za varno komunikacijo v digitalnem svetu.
Simetrično šifriranje
Pri tehniki simetričnega ključa šifriranje in dešifriranje potekata na podlagi enega samega ključa, imenovanega zasebni ključ. Imenuje se tudi tajni ključ. Za izmenjavo tega zasebnega ključa med pošiljateljem in prejemnikom je potreben varen kanal. Kriptografski algoritmi s simetričnim ključem se glede na vhodne podatke delijo na dve vrsti: blokovne šifre in tokovne šifre. V sistemih, ki temeljijo na blokovnih šifrah, se podatki obdelujejo ali šifrirajo v skupini bitov fiksne dolžine, imenovani blok, medtem ko se v sistemih, ki temeljijo na tokovnih šifrah, podatki obdelujejo v toku bitov.
Asimetrično šifriranje
Kriptografski sistemi z asimetričnim ključem zahtevajo dva ključa, od katerih je eden tajen, drugi pa je javni ključ. Šifriranje se izvede z uporabo javnega ključa, tajni ključ pa se uporabi za dešifriranje šifriranega besedila. Oba ključa sta matematično povezana. Čeprav asimetrični sistemi zagotavljajo višjo raven varnosti, morda niso primerni za dokumente velike velikosti. Hitrost je namreč v primerjavi s sistemi, ki temeljijo na simetričnem ključu, majhna, poleg tega pa beležijo tudi večjo stopnjo uporabe procesorja.
Simetrična in asimetrična kriptografija se dopolnjujeta in na splošno služita različnim namenom v različnih kontekstih. Med njunimi razlikami je asimetrična kriptografija tehnično, organizacijsko in operativno bolj zapletena kot simetrična kriptografija. Za zagotavljanje zaupnosti pošiljatelj podatke šifrira s prejemnikovim javnim ključem, prejemnik pa jih dešifrira s svojim zasebnim ključem. Za zagotavljanje avtentičnosti in celovitosti podatkov, kot je sporočilo ali datoteka, pošiljatelj (ali lastnik, če so podatki v mirovanju) ustvari digitalni podpis tako, da s svojim zasebnim ključem šifrira matematično ustvarjeno edinstveno digitalno kodo, ki temelji na sporočilu, in rezultat, imenovan vrednost hash, doda sporočilu, preden ga pošlje prejemniku(-om). Prejemnik(-i) lahko nato digitalni podpis dešifrira(-jo) s pošiljateljevim javnim ključem. Če javni ključ dešifrira digitalni podpis, lahko zaupajo celovitosti in pristnosti podatkov. V nasprotnem primeru je to dokaz, da sta avtentičnost in celovitost kršeni.
Ni kriptografske metode, ki bi bila 100-odstotno brez tveganja. Vse kriptografske metode imajo prednosti in slabosti, in če se zdi, da neka metoda odpravlja slabosti v primerjavi z drugo, se tveganje pogosto prenese drugam. Zato je treba pred izbiro kriptografske metode analizirati in razumeti tveganje, povezano z uporabo določene kriptografske metode v vsakem primeru uporabe, ter obravnavati tveganje, povezano z izbrano metodo, da se zmanjša na sprejemljivo raven. Pri simetrični kriptografiji morata na primer dve stranki, ki si želita izmenjati zaupno sporočilo, najprej izmenjati tajni ključ, pri čemer lahko tajni ključ prestreže tretja oseba. To je slabost, če stranki nimata dovolj varnega kanala za izmenjavo tajnega ključa. Nasprotno pa pri asimetrični kriptografiji prejemniku ni treba z nikomer deliti zasebnega ključa, kar odpravlja tveganje, da bi ga kdo prestrelil. Vendar lahko večja zapletenost asimetrične kriptografije uvede nove slabosti in s tem priložnosti za morebitne nasprotnike (ali z drugimi besedami, poveča „površino napada“).
Hashiranje
Hashiranje se razlikuje od šifriranja, saj ne gre za reverzibilen proces.
To je postopek, pri katerem se niz podatkov pretvori v krajšo, fiksno dolžino. To olajša iskanje in dostop do podatkov. Hashiranje se uporablja v bazah podatkov, ker omogoča hitrejše iskanje, saj se uporablja krajši hash namesto celotnega niza podatkov. Pri tem so podatki v hash tabeli razporejeni na naključen način, kar je dobro za iskanje, ne pa za analizo odnosov med podatki.
Algoritmi, kot so MD5, SHA-1, in SHA-512, so primeri hashirnih algoritmov, ki ustvarijo edinstven, nepovraten hash za vsak vhod. To pomeni, da lahko podatke spremenimo v hash, ne moremo pa jih pretvoriti nazaj. Hashiranje se uporablja pri šifriranju datotek in digitalnih podpisih, kar zagotavlja varnost in integriteto podatkov.
Pri shranjevanju gesel se gesla hashirajo in nato shranijo, tako da tudi če napadalec dostopa do baze podatkov, ne more enostavno pridobiti dejanskih gesel.
Primer uporabe: SIGEN-CA
SIGEN-CA (Slovenska izdajateljska agencija za digitalna potrdila) izdaja digitalna potrdila za fizične in pravne osebe, ki omogočajo varno elektronsko poslovanje s storitvami javne uprave.
SIGEN-CA potrdila se uporabljajo za:
- Prijavo v sistem eDavki,
- Uporabo portala eUprava,
- Oddajo obrazcev na spletu,
- Dostop do storitev e-zdravja.
Potrdila SIGEN-CA temeljijo na konceptu javnega in zasebnega ključa, ki skupaj zagotavljata varnost in avtentikacijo uporabnika:
• Javni ključ: Javni del potrdila, ki je dostopen vsem in se uporablja za preverjanje identitete uporabnika.
• Zasebni ključ: Ta ključ je strogo zaupen in ga hrani imetnik potrdila. Uporablja se za elektronsko podpisovanje in šifriranje komunikacije.
Zaključek
Šifriranje je nepogrešljivo za sodobno kibernetsko varnost in omogoča varno komunikacijo v digitalnem svetu. Kljub stalnim grožnjam ostaja šifriranje ena najučinkovitejših metod varovanja podatkov. Hashiranje dodatno ščiti integriteto podatkov, saj omogoča zanesljivo preverjanje, ali so podatki ostali nespremenjeni. V prihodnosti bodo kvantni računalniki prinesli nove izzive in priložnosti, ki bodo vplivali na razvoj šifrirnih metod.
Avtorica prispevka: Lea Bogosavljević
O nas
Zavod Rhea se posveča izboljšanju dostopa do storitev in povečanju ozaveščenosti o digitalni pismenosti, zlasti pri ranljivih skupinah. S spodbujanjem digitalne pismenosti ljudem omogočamo boljšo uporabo digitalnih orodij in izboljšamo kakovost življenja. Prav tako se trudimo povečati dostopnost odprtokodne in pregledne programske opreme za trenutne in potencialne uporabnike. Več o nas in naših programih lahko izveste na https://www.rhea.si/.
VIRI:
Alenezi N. M., Alabdulrazzaq, H., Mohammad Q., N. (2. 8. 2020). Symmetric Encryption Algorithms: Review and Evaluation study. International Journal of Communication Networks and Information Security (IJCNIS) Vol. 12, No. 2. https://www.researchgate.net/profile/Haneen-Alabdulrazzaq/publication/349324592_Symmetric_Encryption_Algorithms_Review_and_Evaluation_study/links/602acfa7a6fdcc37a82c0189/Symmetric-Encryption-Algorithms-Review-and-Evaluation-study.pdf
Long, S. (2019). A Comparative Analysis of the Application of Hashing Encryption Algorithms for MD5, SHA-1, and SHA-512. Journal of Physics: Conference Series, Volume 1314. https://iopscience.iop.org/article/10.1088/1742-6596/1314/1/012210/meta
OECD. (20. 6. 2024). OECD Digital Economy Papers. Key concepts and current technical trends in cryptography for policy makers https://www.oecd.org/en/publications/key-concepts-and-current-technical-trends-in-cryptography-for-policy-makers_29d9fbad-en.html
SI-TRUST. O kriptografiji. (n. d.) https://www.si-trust.gov.si/sl/podpora-uporabnikom/o-kriptografiji/