Võti (krüptograafia)

Sõnumi kodeerimine ja dekodeerimine võtmega

Krüptograafiline võti ehk krüptovõti on krüptograafias teave, tavaliselt failis salvestatud numbrite või tähtede jada, mida krüptograafilise algoritmi abil töödeldes saab krüptograafilisi andmeid kodeerida või dekodeerida. Nagu ka igapäevane uksevõti, lukustab (krüpteerib) see võti andmeid nii, et kasutaja, kellel on täpselt õige võti, saab need andmed lukust lahti teha (dektrüpteerida).[1]

Krüptovõtmed enne arvuteid

[muuda | muuda lähteteksti]

Enne arvutite loomist, kasutati šifreerimist näiteks tähtede nihutamisel (Caesari nihe) või tähtede asendamisel teise tähega. Selliseid võtmeid on aga võrdlemisi lihtne lahti murda, tuleb vaid analüüsida tähtede sagedust.[1]

Caesari nihe. Sama eesmärk mis krüptovõtmel

Krüptovõtmed tänapäeval

[muuda | muuda lähteteksti]

Võtmed tänapäeval kujutavad endast suvaliste andmetüüpide kogumit, mis arvutatakse keeruliste matemaatiliste valemitega ehk algoritmidega.[1]

Võtmetüübid

[muuda | muuda lähteteksti]

Erinevad krüptograafiameetodid hõlmavad ühe või kahe võtme kasutamist. [2]

Sümmeetriline võti

[muuda | muuda lähteteksti]

Sümmeetriline krüpteerimine kasutab ühte võtit, sümmeetrilist võtit (privaatse võtmega krüptograafia). Nii andmete saatja kui ka saaja vajavad võtme koopiat, et andmetele ligi pääseda. See aga tähendab, et võti peab olema kaitstud, et väline isik andmetele ligi ei pääseks.[2]

Asümmeetrilised võtmed

[muuda | muuda lähteteksti]

Asümmeetrilised võtmed koostatakse matemaatiliselt seotud paaridena, mis koosneb avalikust võtmest ning privaatsest võtmest. Avalik võti on saadaval kõigile ning sellega krüpteeritakse andmeid. Privaatset võtit kastutatakse andmete dekrüpteerimiseks, see peab olema salastatud.[2]

Võtmetüüpide võrdlus[2]
Sümmeetrilised võtmed Asümmeetrilised võtmed
Mis see on? Üks võti, mida tuleb hoida saladuses Kaks võtit, avalik ja privaatne
Kuidas töötab? Krüpteerib ja dekrüpteerib andmeid salvestamiseks turvalistes kanalites Kasutatakse krüpteerimiseks, dekrüpteerimiseks ja autentimiseks interneti kaudu
Võtme suurus AES võtmed on kuni 256 bitti suured[3] RSA võtmed on suuremad, 512 – 15 360 bitti[4]
Kasutus Puhkeolekus olevate andmete krüpteerimine Edastatavate andmete krüpteerimine ebaturvalistes kanalites
Töötlemiskiirus Kiiremini töödeldavad, kuna on suuruselt väiksemad Töötlemine nõuab rohkem aega kui sümmeetrilise võtme jaoks

Võtme suurus

[muuda | muuda lähteteksti]

Võtme suurus, teisisõnu pikkus, on võrdne krüpteerimisalgoritmi võtme bittide arvuga. Võtme suurus määrab maksimaalse arvu kombinatsioone, mida on vaja krüpteerimisalgoritmi murdmiseks. Kui võti on n bitti suur, siis on kaks astmel n (2n) võimalikku võtit. Näiteks, kui võti on 30 bitti suur, siis on olemas 230 võtit.

Üldine reegel on, et võti peab olema vähemalt sama pikk kui edastatav andmejada. Sellist krüpteeringut on võimatu murda, kui õigesti kasutada. See tähendab, et kui võti on täiesti juhuslik, sama suur või suurem kui edastatav sõnum, seda ei kasutata kunagi ei osaliselt kui ka täielikult ning see on salajane. Neid tingimusi järgides on krüpteerimisalgoritmi ilma võtmeta võimatu lahti murda. [5]

Võtme genereerimine

[muuda | muuda lähteteksti]
Asümmeetriliste võtmete genereerimine

Võtme genereerimine hõlmab selle genereerimist juhusliku bitigeneraatori (ingl Random Bit Generator, RBG) väljundist, võtme tuletamine teisest võtmest, võtme tuletamine paroolist ja kahe üksuse poolt heakskiidetud võtmekokkuleppeskeemi abil. Kõik võtmed peavad otseselt või kaudselt põhinema heakskiidetud RBG väljundil.

Krüptovõtmed genereeritakse FIPS 140 valideeringuga krüptograafiamoodulites.[6]

Kasutusvaldkonnad

[muuda | muuda lähteteksti]

Krüptovõtmeid saab eristada ka kasutuse järgi.

Seansivõti

[muuda | muuda lähteteksti]

Seansivõtmeid kasutatakse andmete krüpteerimiseks, näiteks sidesessioon veebisaidi ja kliendi vahel.[2]

Selliste võtmetega genereeritakse digiallkirjasid.[2]

Andmete krüpteerimise võtmed

[muuda | muuda lähteteksti]

Andmete krüpteerimise võtmed (inglise keeles data encryption keys, DEK) DEK võtmeid kasutatakse andmete krüpteerimiseks.[7]

Key-Encryption-Key (KEK)

[muuda | muuda lähteteksti]

Võti, mida kasutatakse teiste võtmete krüpteerimiseks või dekrüpteerimiseks, et tagada nende võtmete kaitse.[8]

Traffic encryption keys (TEKs)

[muuda | muuda lähteteksti]

Seda võtit kasutatakse teksti krüpteerimiseks või eelnevalt krüpteeritud teksti ülekrüpteerimiseks. Samuti dekrüpteeritakse sellega šifferteksti.[9]

Peavõtmeks (master key) nimetatakse võtit, mida kasutatakse sisendina teiste võtmete tuletamiseks.[10]

Võtmehaldus

[muuda | muuda lähteteksti]

Võtmehaldus on teatavate standartide kehtestamine, et tagada võtmete turvalisus organisatsioonis. Võtmehaldus loob, vahetab, säilitab, kustutab ja uuendab krüptovõtmeid. Samuti hallatakse võtmetele juurdepääsu.

Võtmehaldus on andmeturbe alus. Kuna andmeid krüpteeritakse ja dekrüpteeritakse võtmetega, siis võtme kadumine või kahjustamine muudaks andmeturbemeetmed kehtetuks.

Võtmehalduse struktuur

[muuda | muuda lähteteksti]
  • Genereerimine on esimene samm võtme turvalisuse tagamisel, kui võti genereeritakse nõrga krüpteerimisalgoritmiga, siis on see kergesti lahti murtav.
  • Jaotamine tuleb teha üle turvaliste kanalite ja ühenduste, näiteks TLS.
  • Kasutamine – võtmetele liigipääsu peaksid saama vaid volitatud kasutajad, et seda vääralt ei kasutataks.
  • Säilitamine – kui võtit kasutatakse krüpteerimiseks, siis tuleb see säilitada, et hiljem salastatud infot dekrüpteerida.
  • Rotatsioon on vajalik, et võtmepaarid ei aeguks.[11]

Võti TLS krüpteerimisel

[muuda | muuda lähteteksti]

Transpordikihi turbeprotokoll ehk TLS (varem SSL) on krüptograafiline protokoll, mis turvab võrgusuhtlust internetis. Veebileht, mis pakub HTTP asemel HTTPS-i, kasutab seda protokolli. TLS-i puhul on veebisaidil nii avalik kui ka privaatne võti. Avalik võti on jagatud igale kasutajale veebisaidi SSL sertifikaadis.[1][12] Privaatne võti on serveris ning seda ei jagata.[1]

TLS sidesessioonid algavad kliendi ja veebisaidi omavahelise ühenduse loomisega, mille käigus veebisait ja klient kasutavad avalikku ja privaatset võtit, et luua uusi võtmeid, mida nimetatakse seansivõtmeks.[1]

TLS algab asümmeetrilise krüpteerimisega (kaks võtit) ning läheb üle sümmeetrilisele krüpteerimisele (üks võti). Nii veebisait kui ka klient kasutavad sidesessiooniks samu võtmeid, uut sessiooni alustades loovad mõlemad uued võtmed.[1]

Võti ja parool

[muuda | muuda lähteteksti]

Võtmeid koostatakse juhusliku bitigeneraatoriga ehk need on täiesti suvalised, paroole aga loovad kasutajad, mis on üldiselt lihtsasti arvatavad mustrid või kasutajale tuttavad fraasid. Samuti on paroolid loodud eesmärgiga, et neid oleks lihtne meeles hoida, seega on salasõnad lühemad kui võtmed.

Paroolid leiavad kasutust autentimisel. Krüptovõtmete kasutusvaldkondi on rohkem: autentimine, digiallkirjastamine jne.[13]

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 "What is a cryptographic key?". cloudfare.com. Vaadatud 29. aprillil 2024.
  2. 2,0 2,1 2,2 2,3 2,4 2,5 Crane, Casey (14. juuni 2023). "Cryptographic Keys 101: What They Are & How They Secure Data". thesslstore.com. Vaadatud 29. aprillil 2024.
  3. "AesCryptoServiceProvider.KeySize Property". learn.microsoft.com. Vaadatud 29. aprillil 2023.
  4. "Size considerations for public and private keys". ibm.com. 27. mai 2021. Vaadatud 29. aprillil 2024.
  5. Rouse, Margaret (16. november 2011). "What is Key length?". Techopedia. Vaadatud 30. aprillil 2024.
  6. Barker, Elaine; Roginsky, Allen; Davis, Richard (juuni 2020). "Recommendation for Cryptographic Key Generation" (PDF). nvlpubs.nist.gov. Lk 11. Vaadatud 30. aprillil 2024.
  7. "Protecting your data with envelope encryption - Standard Plan". cloud.ibm.com. 5. juuli 2023. Vaadatud 30. aprillil 2024.
  8. Barker, Elaine (mai 2020). "Recommendation for Key Management: Part 1 – General" (PDF). nvlpubs.nist.gov. Lk 12. Vaadatud 30. aprillil 2024.
  9. "traffic encryption key (TEK)". NIST. Vaadatud 30. aprillil 2024.
  10. Barker, Elaine; Roginsky, Allen; Davis, Richard (juuni 2020). "Recommendation for Cryptographic Key Generation" (PDF). NIST. Lk 4. Vaadatud 30. aprillil 2024.
  11. "What is Key Management? How does Key Management work?". Encryption Consulting. Vaadatud 30. aprillil 2024.
  12. "Mis on SSL sertifikaat ning miks seda vaja on?". voog.com. Vaadatud 30. aprillil 2024.
  13. Spacey, John (29. november 2016). "Password vs Key". Simplicable. Vaadatud 1. mail 2024.