Triple DES on krüptograafias kasutatav plokk-krüptograafia, mis põhineb klassikalisel Data Encryption Standard (DES) algoritmil, rakendades DES-i protseduuri kolm korda järjest. Triple DES on tuntud ka kui TDES või standardsemalt TDEA (Triple Data Encryption Algorithm). Selle eesmärk oli pakkuda ühtlustatud ja tagasiühilduvat viisi DES-i turvalisuse parandamiseks ilma täiesti uue plokkalgoritmi väljatöötamiseta.

Kuidas Triple DES töötab

Levinud rakenduses kasutatakse kolmetoimingulist skeemi nimega Encrypt–Decrypt–Encrypt (EDE). Sõnumi (P) krüpteerimine kolme erineva võtmega {k1, k2, k3} toimub järgnevalt:

C = E_{k3}(D_{k2}(E_{k1}(P)))

siin E_k tähistab DES-iga krüpteerimist võtmega k ja D_k vastavat dekrüpteerimist. Dekrüpteerimisetapp keskel võimaldab tagasiühilduvust ühe võtmega DES-iga (k1=k2=k3 annab tulemuseks tavalise DESi). On ka kahest võtmet kasutav režiim, kus k1 = k3 (nn 2-key TDES), mis lihtsustab võtmehaldust ja tagab osalise tagasikõlblikkuse vanade DES-süsteemidega.

Võtme pikkused ja tegelik turvalisus

Iga DES-võti on tegelikult 56-bitine (lisaks üks pariteedibitt iga baidi kohta). Seega nominalne võtme pikkus kolme sõltumatu võtme puhul on 3 × 56 = 168 bitti (pariteedibittidega salvestusruum kokku 192 bitti). Kuid krüptanalüütilised meetodid, eriti meet-in-the-middle-rünnakud, vähendavad 3-võtmelise TDESi efektiivset raskust — praktiliselt hinnatakse selle turvalisus umbes 112-bitiseks.

2-key TDES (k1 = k3) annab teoreetilise võtmeploki suuruseks 112 bitti, kuid sellel režiimil on lisaturvariske ja mõningates juhustes vähem tõhus vastupanu valitud- või tuntud-avaliku teksti rünnakutele. Seetõttu käsitlevad standardiseerijad (nt NIST) 2-key TDES-i kui vähem kindlat lahendust ning soovituslik turvatase ei vasta täies mahus esialgsele 112-bitisele ootusele.

Piirangud ja tuntud riskid

  • Bloki suurus ja piirmassid: DES/TDES kasutab 64-bitist plokki. See tekitab nn sünteesi- ja korduvuspiiranguid — tõsised probleemid võivad ilmneda, kui krüpteeritakse suuri andmemahtusid ühe võtme all. Sündmuste tõenäosus hakkab oluliselt suurenema ligikaudu 2^(64/2) = 2^32 ploki järel (see on umbkaudu 2^35 baiti ehk ~34 GB), mis seab piirid ohutule andmemahtudele.
  • Meet-in-the-middle: kirjeldatud rünnak vähendab 3TDES-i tegelikku tugevust umbes 112 bitini ja mõjutab eriti 2-key varianti.
  • Jõudlus: DES-i tuuma olemuselt on tarkvaraline krüpteerimine suhteliselt aeglane võrreldes kaasaegsete algoritmidega; TDES-i kolm korda rakendamine tähendab veelgi suuremat koormust, mistõttu TDES on sageli mõistlikum riistvaralistes kiirendustes.
  • Autentitudega režiimid: tänapäevased autentitud krüpteerimisrežiimid nagu AES-GCM on projekteeritud 128-bitise ploki ümber; TDES-i 64-bitine plokk ei sobi hästi kaasaegsete AEAD-režiimidega ja takistab mõnede turvalisuse garantiide rakendamist.

Kus TDES on endiselt kasutusel

Kuigi TDESi kasutamine aeglaselt väheneb ja asendub täiustatud krüpteerimisstandardiga (AES), jätkub TDES-i laialdasem kasutus mõnedes valdkondades:

  • EMV ja maksetööstus: kaardimaksete ja IC-kaartide ökosüsteemides (PIN-de kaitse, tehingute autentimine) kasutatakse endiselt palju 2-key TDES-i ning selle ümber on välja töötatud standardid ja rakendused POS-terminalides ja sularahaautomaadi süsteemides.
  • Vananenud protokollid ja süsteemid: mõned SSL/TLS-i vanemad ciphersuited (näiteks TLS_RSA_WITH_3DES_EDE_CBC_SHA) ja pärandvõrguteenused võivad veel toetada 3DES-i tagurpidiühilduvuse tõttu.
  • Spetsiifilised tööstuslahendused: teatud riistvara ja spetsialiseeritud krüptotoimingud, kus migratsioon on keeruline, võivad jääda TDES-i kasutajaks veel mõnda aega.

Soovitused ja parimad tavad

  • Uutes süsteemides ja protokollides ei soovitata TDES-i kasutada — eelistada tuleks AES-i (stabiilne, kiire ning parema plokisuuruse ja tugevamate autentimisrežiimide tugi).
  • Kui tuleb TDES-i kasutada pärandühilduvuse tõttu, tuleks valida 3-võtmega variant (kolm sõltumatut võtit) ja piirata andmemahtu ühe võtme all ning rakendada tugevate võtmehalduspoliitikate; vältida 2-key varianti, kui võimalik.
  • Kasutada sobivaid töötlemisrežiime ja IV-haldust (näiteks CBC-i puhul juhuslik IV iga seansi või sõnumi jaoks) ning lisada autentimine (MAC või muu AEAD) andmete terviklikkuse tagamiseks.
  • Planeerida migratsiooni AES-i — hinnata süsteeme, kus TDES on sisse põimitud (nt makselahendused, sertifikaadid, vanad protokollid) ja koostada üleminekuplaan, et vältida turvariske ja rahvusvaheliste standardite mittejärgimist.

Kokkuvõte

Triple DES oli praktiline ja kiiresti rakendatav lahendus DES-i nõrkuste leevendamiseks, pakkudes tagasiühilduvust ning paremat turvalisust kui ühevõtmeline DES. Kuid tänapäeva krüptograafilistes nõudmistes jääb TDES tagasihoidlikuks: piiratud ploki suurus, suhteliselt halb tarkvaraline jõudlus ja analüütiliste rünnakute mõju teevad temast ajutise ja sageli deja-vananenud valiku. Kui võimalik, tuleks eelistada kaasaegseid algoritme (nt AES) ja autentitud krüpteerimisrežiime, hoides TDES-i pigem pärandi-ühilduvuse spetsialiseeritud kasutusteks (nt osa maksesüsteemide infrastruktuuridest).