Unikalus numerio šifravimas: kaip apsaugoti savo duomenis

Šiame informacijos amžiuje, kai kiekviena gauta informacijos dalelytė gali būti panaudota prieš jus, duomenų šifravimas tampa itin svarbus. Tai ypač aktualu konkurentams, kurie gali bandyti gauti informaciją apie jūsų veiklą. Šifravimas taip pat yra labai svarbi elektroninės komercijos dalis, nes norint įgyti klientų pasitikėjimą, būtina užtikrinti jų duomenų saugumą.

Tekstas, kurį galima skaityti nepanaudojus jokių specialių priemonių, vadinamas paprastu tekstu. Metodas, naudojantis paprastą tekstą ir paverčiantis jį į gausybę nieko bendro tarp savęs neturinčių simbolių, vadinamas šifravimu, o toks tekstas - užšifruotu tekstu. Kriptografija - tai mokslas, naudojantis matematiką duomenims užšifruoti ir dešifruoti. Kriptografijos saugumui tikrinti yra naudojama kriptoanalizė. Paprasta kriptoanalizė - tai loginės kombinacijos, matematinių įrankių panaudojimas, kantrybė, pasiryžimas ir sėkmė.

Yra nusistovėjusi nuomonė, kad žmogus šifruoja duomenis, todėl, kad daro kažką nelegalaus. Dauguma pasakys, kad jie neturi ką slėpti. Tačiau šiame informacijos amžiuje kiekviena gauta informacijos dalelytė gali būti panaudota prieš jus. Tai ypač aktualu konkurentams. Kam naudoti pinigus ir resursus, jei galima visą reikiamą informaciją gauti iš savo priešininkų.

Šiame skyriuje bus aptarti patys geriausi/stipriausi laiko patikrinti šifravimo algoritmai (PGP, DES, RSA).

PGP (Pretty Good Privacy)

PGP (Pretty Good Privacy) vienas populiariausių ir stipriausių šifravimo algoritmų. Kriptografijos stiprumas priklauso nuo to, kiek laiko ir resursų bus sunaudota norint iššifruoti tekstą. Stipri kriptografija yra užšifruotas tekstas, kurį labai sunku iššifruoti be specialaus dešifravimo įrankio. Kiek sunku? Tarkim, pasitelkus visą šių dienų kompiuterių arsenalą, net jeigu bilijonas kompiuterių padarytų bilijoną patikrinimų per sekundę, vis tiek nebūtų galima iššifruoti teksto iki visatos pabaigos.

Šifravimo algoritmas - tai matematinė funkcija, naudojama šifravimo ir dešifravimo procese. Algoritmo veikimui reikalingas slaptažodis. Slaptažodis gali buti žodis, numeris, frazė, įvairūs simboliai. Tas pats tekstas užšifruotas skirtingais slaptažodžiais skirsis vienas nuo kito.

Viešojo rakto kriptografija

Ankščiau, jei viena pusė norėjo nusiųsti įslaptintus duomenis kitai, turėjo pirma duomenis užšifruoti su raktu ir po to surasti būdą, kaip saugiai tą raktą nugabenti kitai pusei. Šia saugumo problemą išsprendė viešojo rakto kriptografija. Ji paremta tuo, kad yra sudaromi du raktai - viešas (naudojamas duomenims užšifruoti) ir privatus (naudojamas duomenims dešifruoti). Taigi jūs savo viešą raktą duodate kam tik panorėję, o privatų laikote saugiai padėtą (pvz., diske, CD-ROM ir t. t.). PGP naudoja viešojo rakto kriptografiją.

Prieš šifruodama duomenis, PGP programa suspaudžia (suglaudžia) tekstą. Tai duoda nemažą pliusą saugumui: dauguma kriptoanalizių panaudoja iškarpų sutapimą duomenų dešifravimui. Rakto stiprumas dar priklauso nuo jo dydžio. Dydis matuojamas bitais. Pvz., 1028 bitų dydžio raktas skaitomas labai dideliu.

Viešasis ir privatus raktai yra matematiškai susiję. Nustatyti privatų raktą turint tik viešąjį yra begalo sunku, tačiau, tai įmanoma skyrus pakankamai laiko ir skaičiavimo resursų. Todėl svarbu parinkti teisingą dydį jūsų raktui.

Raktai yra užšifruoti ir saugomi dvejuose failuose jūsų diske. Šie failai vadinami viešu žiedu raktams (angl. „public keyring“) ir privačiu žiedu raktams (angl. „private keyring“). Į viešą žiedą raktams galima dėti įvairių įmonių/žmonių viešuosius raktus, o į privatų žiedą - tik Jūsų privačius raktus. Jei prarasite savo privatų žiedą, nebegalėsite dešifruoti Jums skirtų duomenų.

Skaitmeninis parašas

Vienas didžiausių viešojo rakto kriptografijos privalumų yra galimybė sukurti savo skaitmeninį parašą. Tai užtikrina duomenų tikrumą ir patikimumą. Skaitmenis parašas turi tokią pat galią, kaip ir ranka rašytas. Ranka rašytą parašą galima lengvai suklastoti, tuo tarpu skaitmeninį padirbti praktiškai neįmanoma.

Skaitmeninis parašas naudoja maišymo (anlg. „hash“) funkciją. Ši funkcija sugeneruoja fiksuoto dydžio įrašą (pvz., 160 bitų) iš duotų duomenų, šis įrašo dydis nepriklauso nuo duomenų dydžio (kad ir 100 MB). Funkcija atsakinga už duomenų tikrumo/patikimumo užtikrinimą. Kol bus naudojama saugi maišymo funkcija, nėra jokios galimybės parašą suklastoti, nes patys menkiausi pakitimai sužlugdys autentiškumo procesą.

Sertifikatai

Vienas minusas viešojo rakto kriptosistemoje yra tai, kad žmogus turi būti tikras, kad šifruoja duomenis tikrojo gavėjo viešuoju raktu. Kitaip gali būti įvykdyta „žmogus viduryje“ (Man-in-the-midle) ataka. Tai yra blogietis pakiša jums savo viešąjį raktą, kuriame visa indentifikacija atitinka Jūsų pažįstamo (ar šiaip partnerio) indentifikaciją. Jūs nieko neįtardami tuo raktu užšifruojate slaptus duomenis.

Skaitmeniniai sertifikatai gali užtikrinti, kad viešasis raktas priklauso būtent tam žmogui. Sertifikatą galime įsivaizduoti kaip asmens pasą. Tai dokumentas nurodantis Jūsų asmenybę, pasą jums suteikė valstybė ir jis užtikrina Jūsų identiškumą.

Galimi keli galiojimo patikrinimo būdai:

  • Pats gavėjas atneša savo viešąjį raktą (varginantis ir nepatogus būdas).
  • Patiems patikrinti sertifikato „pirštų atspaudą“ (angl. „fingerprint“).
  • „Patikėti“ trečiąja šalimi, kuri už jus patikrino rakto galiojimą.

Sertifikatai tol naudingi, kol yra galiojantys. Neprotinga šiaip sau pažymėti, kad sertifikatas galioja amžinai. Daugumoje organizacijų sertifikatai galioja tam tikrą laiką. Sertifikate užfiksuojamas jo išleidimo laikas ir galiojimo pasibaigimo laikas. Sertifikatas taip pat panaikinamas, kai vartotojas nori nutraukti sutartį su firma/organizacija. Svarbu apie sertifikato panaikinimą pranešti potencialiems vartotojams. Tai galima padaryti patalpinus jį į sertifikato serverį.

Yra galimybė „suskaldyti“ privatų raktą į dalis (ir pvz., išdalinti jas tam tikriems žmonėms). Kiekviena dalis yra bevertė, kol nesurenkamos visos dalys. Surinkus dalis „sulipdomas“ privatus raktas.

DES (Data Encryption Standard)

Duomenų kodavimo standartas (angl. „Data Encryption Standart“), sukurtas JAV vyriausybės 1977 metais. Tai blokinio tipo šifravimas, kuriame 64 bitų duomenų blokai užšifruojami naudojant 56 bitų privatų raktą. DES algoritmas naudojamas daugumoje programų.

  • „Elektroninė kodų knyga“ (angl. „Electronic Code Book“).
  • „Šifro blokų grandinių“ (angl. „Cipher Block Chaining“).
  • „Išvesties atsakomoji reakcija“ (angl. „Output Feedback“).
  • „Šifro atsakomoji reakcija“ (angl. „Cipher Feedback“).

DES algoritmas taip pat gali būti naudojamas iki 64 bitų kontrolės sumoms sudaryti (angl. „checksums“).

RSA

RSA yra viešojo rakto tipo kriptosistema, kuri palaiko duomenų šifravimą ir skaitmeninius parašus. Veikimas šio algoritmo yra toks: imami du dideli pirminiai skaičiai p ir q. Jie sudauginami n = p * q. n yra vadinamas moduliu. Po to parenkamas skaičius e, mažesnis už n ir artimas pirminiams (q - 1)(p - 1). Tai reiškia, kad e neturi nieko bendra su (q - 1)(p - 1) išskyrus 1. Surandamas kitas skaičius d, kad (e * d - 1) dalintųsi iš (q - 1)(p - 1). Atitinkamai e ir d yra viešas ir privatus komponentai.

RSA nėra labai greitas algoritmas. DES iki 100 kartų greitesnis, tačiau ir silpnesnis už RSA. RSA laboratorija rekomenduoja naudoti 1024 bitų ilgio raktą. Labai svarbiems duomenis koduoti naudokite 2048 bitus.

MD5

Kaip veikia MD5 maišos funkcija (nuo nulio)

Labai populiarus algoritmas. Ima fiksuoto dydžio žinutę ir išveda 128 bitų „pirštų atspaudą“. Naudojamas viešojo rakto kriptosistemose skaitmeniniams parašams daryti. Sukuriame md5 „pirštų atspaudą“ (angl.

Failas MD5 "pirštų atspaudas"
test.txt d8e8fcc98f0154c6794163633978a444
test.txt d8e8fcc98f0154c6794163633978a444

Kaip matome vienodų failų „atspaudai“ sutampa.

Žinoma, čia aptarti tik populiariausi algoritmai. Liko nepaminėti IDEA, SHA, „Triple-DES“, „Blowfish“ ir kiti. Kriptografija kol kas vienintelis _patikimas_ būdas apsaugoti savo duomenis nuo svetimų akių.

tags: #unikalaus #numerio #sifruote