Simetriskās atslēgas kriptogrāfija — definīcija, metodes un piemēri
Uzzini simetriskās atslēgas kriptogrāfiju: definīcija, metodes (plūsmas/bloki), populāri šifri (AES, Twofish, Blowfish), drošības izaicinājumi un praktiski piemēri ātrai šifrēšanai.
Simetriskās atslēgas algoritmi ir kriptogrāfijas metode, kurā šifrēšanas un atšifrēšanas atslēgas ir viena un tā pati vai viegli no tās iegūstama — tātad atslēga ir koplietošanas noslēpums. Šo noslēpumu var ģenerēt pilnīgi nejauši, iegūt no paroles (izmantojot drošus atvasināšanas algoritmus) vai nodrošināt, veicot slepenas atslēgu apmaiņas, piemēram, ar Diffie-Hellman. Simetriskā kriptogrāfija ir pamats daudzām drošības sistēmām, jo tā nodrošina efektīvu un ātru datu šifrēšanu lielā apjomā.
Kāpēc simetriskie algoritmi tiek lietoti
Simetriskos algoritmus izmanto, jo tie parasti ir daudz ātrāki un resursus taupošāki nekā publiskā atslēgas kriptogrāfija (asimetriskie algoritmi). Publiskās atslēgas sistēmās šifrēšanas atslēgu var padarīt publisku, kas ļauj droši nosūtīt slepenas ziņas bez agrākas slepenas atslēgas koplietošanas, taču šie algoritmi ir lēnāki — tāpēc praksē bieži izmanto hibrīdu pieeju: asimetriskie algoritmi nodrošina drošu simetriskās atslēgas apmaiņu, bet faktisko datu šifrēšanai izmanto simetrisko algoritmu.
Plūsmas un bloku šifri
Simetrisko atslēgu algoritmi parasti dalās divās galvenajās kategorijās:
- Plūsmas šifri — šifrē datus kā nepārtrauktu bitu vai baitu plūsmu, apstrādājot katru vienību pa vienai. Tie ir piemēroti reāllaika lietojumiem (piem., straumēšanai) un situācijām, kur nepieciešama zema latentuma apstrāde.
- Bloku šifri — apstrādā datus pa blokiem fiksēta garuma (vēsturiski bieži 64 biti, mūsdienās, piemēram, Advanced Encryption Standard — 128 biti). Blokus var šifrēt neatkarīgi vai izmantot dažādus darbības režīmus, lai nodrošinātu papildu drošību un elastību.
Populāri šifri un to lietojums
Daži plaši pazīstami simetrisko šifru piemēri ir:
- AES (Rijndael) — mūsdienu standarts, izmanto 128 bitu blokus un atbalsta atslēgu garumus 128, 192 un 256 bitu.
- Twofish, Serpent, Blowfish, IDEA — citi bloku šifri ar dažādām īpašībām un vēsturisku nozīmi.
- RC4 — bijis populārs plūsmas šifrs, taču mūsdienās tiek uzskatīts par nedrošu un lietojums ir aizliegts daudzos protokolos.
- TDES (Triple DES) — reiz plaši izmantots, taču lēnāks un ar ierobežotu drošību salīdzinājumā ar AES; tagad tiek uzskatīts par novecojušu.
Darbības režīmi un autentifikācija
Bloku šifrus parasti izmanto kombinācijā ar darbības režīmiem (ECB, CBC, CTR, GCM u.c.), kas nosaka, kā bloki tiek sasaistīti un apstrādāti. Daži režīmi (piem., GCM) nodrošina arī datu autentifikāciju (AEAD — Authenticated Encryption with Associated Data), kas aizsargā pret manipulāciju. Drošā praksē šifrētajiem datiem jānodrošina integritātes pārbaude un autentifikācija ar HMAC vai AEAD režīmiem.
Atslēgu pārvaldība un drošība
Droša atslēgu pārvaldība ir kritiska. Labs prakses piemērs ietver:
- spēcīgu, kriptogrāfiski drošu nejaušu ģeneratoru izmantošanu atslēgu ģenerēšanai;
- atslēgu drošu glabāšanu (piem., HSM vai droša atslēgu glabātuve);
- atslēgu rotāciju un derīguma termiņu ieviešanu;
- nedalīt atslēgas starp dažādiem lietojumiem;
- izvairīšanos no vājas paroles tiešas lietošanas bez atbilstošas atvasināšanas (PBKDF2, Argon2 u.c.).
Drošības draudi un kriptoanalīze
Vēsturē daļa uzbrukumu izmantoja šifrēšanas konstrukciju simetriju vai citu vājību, tādēļ simetriskās sistēmas reizēm bija mazāk drošas. Galvenie uzbrukumu veidi:
- uzbrukumi ar zināmu teksta tekstu (known-plaintext attacks);
- izvēlētā atklātā teksta uzbrukumi (chosen-plaintext attacks);
- diferenciālā kriptoanalīze;
- lineārā kriptoanalīze.
Lai mazinātu risku, šifrēšanas izmantošanā jāievēro pareiza IV/nonce lietošana (nedrīkst atkārtot), jāizvēlas atbilstošs darbības režīms un jāizmanto atbilstoša atslēgu garuma politiku. Tāpat nepieciešama uzmanība pret blakuskanālu uzbrukumiem (piem., laika mērījumi, elektromagnētiskie izmeši) un pret padding oracle tipu kļūdām.
Praktiskie ieteikumi
- Izvēlieties pārbaudītus algoritmus (piem., AES) un jaunākos drošības standartus.
- Izvairieties no novecojušiem vai pierādīti nedrošiem algoritmiem (piem., RC4, pat TDES mūsdienās tiek uzskatīts par ierobežotu risinājumu).
- Ieviesiet AEAD režīmus (piem., GCM), lai nodrošinātu šifrēšanu un autentifikāciju vienlaikus.
- Veiciet atslēgu rotāciju un auditēšanu, izmantojiet drošus nejaušo skaitļu ģeneratorus un atbilstošus paroli atvasinošos algoritmus.
Pielietojumi
Simetriskie šifri tiek plaši lietoti:
- Lielapjoma datu šifrēšanai (diska šifrēšana, datubāzes, mākoņkrātuve).
- Tīkla sesiju aizsardzībai (TLS/SSL — izmanto simetriskās atslēgas, kas tiek nomainītas ar asimetriskiem mehānismiem).
- VPN, šifrēti protokoli, arhivēšana un droša datu pārsūtīšana.
Secinājumā — simetriskās atslēgas kriptogrāfija nodrošina efektīvu, ātru un praktisku datu aizsardzību, ja tiek pareizi pārvaldītas atslēgas, izvēlēti droši algoritmi un ievērotas drošības prakses. Bieži tiek veidotas hibrīdas sistēmas, kas izmanto asimetrisku kriptogrāfiju atslēgu apmaiņai un simetrisku kriptogrāfiju pašu datu aizsardzībai.

Simetriskā atslēgas algoritmā šifrēšanai izmantotā atslēga ir tāda pati kā atslēga, ko izmanto atšifrēšanai. Šā iemesla dēļ tā ir jāglabā slepenībā.
Simetriskie un asimetriskie algoritmi
Atšķirībā no simetriskajiem algoritmiem asimetriskās atslēgas algoritmi šifrēšanai izmanto citu atslēgu nekā atšifrēšanai. Tas nozīmē, ka lietotājs, zinot asimetriskā algoritma šifrēšanas atslēgu, var šifrēt ziņojumus, bet nevar aprēķināt atšifrēšanas atslēgu un nevar atšifrēt ziņojumus, kas šifrēti ar šo atslēgu. Tālāk ir sniegts īss šo divu algoritmu veidu salīdzinājums:
Ātrums
Simetrisko atslēgu algoritmi parasti ir daudz mazāk skaitļošanas ietilpīgi nekā asimetrisko atslēgu algoritmi. Praksē asimetrisko atslēgu algoritmi parasti ir simtiem līdz tūkstošiem reižu lēnāki nekā simetrisko atslēgu algoritmi.
Atslēgas pārvaldība
Viens no simetrisko atslēgu algoritmu trūkumiem ir prasība pēc koplietojamas slepenās atslēgas, kuras kopija abām pusēm ir vienāda. Lai nodrošinātu drošu saziņu starp visiem n cilvēku grupas locekļiem, kopumā ir nepieciešamas n(n - 1)/2 atslēgas, kas ir kopējais iespējamo saziņas kanālu skaits. Lai ierobežotu kriptogrāfijas uzbrucēja iespējamās atklāšanas ietekmi, tās regulāri jāmaina un jāuztur drošas izplatīšanas un lietošanas laikā. Atslēgu atlases, izplatīšanas un glabāšanas process ir pazīstams kā atslēgu pārvaldība, un to ir grūti nodrošināt droši un droši.
Hibrīda kriptosistēma
Mūsdienu kriptosistēmu projektos tiek izmantoti gan asimetriskie (publiskās atslēgas), gan simetriskie algoritmi, lai izmantotu labākās abu algoritmu priekšrocības. Asimetriskos algoritmus izmanto simetrisko atslēgu izplatīšanai sesijas sākumā. Kad simetriskā atslēga ir zināma visām sesijas pusēm, sesijas atlikušās daļas šifrēšanai var izmantot ātrākus simetriskās atslēgas algoritmus, izmantojot šo atslēgu. Tas vienkāršo atslēgas izplatīšanas problēmu, jo asimetriskās atslēgas ir jāizplata tikai autentiski, bet simetriskās atslēgas ir jāizplata gan autentiski, gan konfidenciāli.
Šādas hibrīdpieejas sistēmas ir SSL, PGP un GPG u. c.
Saistītās lapas
- Asimetriskās atslēgas algoritmi
Jautājumi un atbildes
J: Kas ir simetriskās atslēgas algoritmi?
A: Simetriskās atslēgas algoritmi ir metode kriptogrāfijā, kur atslēgas atšifrēšanai un šifrēšanai ir pilnīgi vienāds kopīgs noslēpums.
J: Kā var ģenerēt noslēpumu?
A: Noslēpumu var ģenerēt nejauši vai no paroles, vai izmantojot slepenas atslēgu apmaiņas procedūru, piemēram, Diffie-Hellman.
J: Kāpēc simetrisko atslēgu algoritmi ir svarīgi?
A: Simetrisko atslēgu algoritmi ir ļoti svarīgi, jo tie ir ātrāki datoros nekā publisko atslēgu algoritmi.
J: Kas ir publiskā atslēgas kriptogrāfija (asimetriskā atslēgas kriptogrāfija)?
A: Publiskā atslēgas kriptogrāfijā (asimetriskās atslēgas kriptogrāfijā) šifrēšanas atslēgu bez problēmām var nodot atklātībai, un ikviens var nosūtīt slepenus ziņojumus. Šifrēšanas atslēga ir "atklāta", jo praksē to nevar izmantot, lai iegūtu atslēgu atšifrēšanai.
Kādi ir divi simetrisko šifru veidi?
A: Divi simetrisko šifru veidi ir plūsmas šifri un bloku šifri. Straumju šifri šifrē ziņojumu kā bitu plūsmu pa vienam, bet bloku šifri izmanto bitu blokus, šifrē tos kā vienu vienību un dažkārt vēlāk izmanto arī atbildi.
J: Kāda lieluma blokus izmanto mūsdienu šifrētāji?
A.: Mūsdienu šifri, piemēram, Advanced Encryption Standard, izmanto 128 bitu blokus.
J: Kādi uzbrukumu veidi ir izmantoti, lai izmantotu simetriju vēsturē?
A:Vēsturē dažas kriptoanalīzes metodes izmantoja simetriju, tāpēc simetriskās sistēmas bija mazāk drošas. Daži no izmantotajiem uzbrukumiem ir uzbrukumi zināmajam atklātajam tekstam, uzbrukumi izvēlētajam atklātajam tekstam, diferenciālā kriptoanalīze un lineārā kriptoanalīze.
Meklēt