in dit artikel, het tweede in een 3-delige serie over symmetrische sleutelversleutelingstechnologie, kijken we naar de ontwikkeling van symmetrische sleutelversleutelalgoritmen en het scala van algoritmen die vandaag beschikbaar zijn, samen met hun sterke en zwakke punten, evenals het belang van crypto-agility.,

DES algoritme familie

het originele des (Data Encryption Standard) block cipher algoritme, ook bekend als DEA (Data Encryption Algorithm), werd ontwikkeld door IBM in de vroege jaren 1970 en gepubliceerd (met kleine wijzigingen) als een standaard door de Amerikaanse regering in 1977, snel uitgegroeid tot een de-facto internationale standaard.

echter, met een sleutellengte van slechts 56 bits (plus 8 pariteitsbits), werd het in de jaren negentig duidelijk dat het niet langer voldoende beveiligd was tegen brute forcering van de sleutel met behulp van moderne computers, die in kracht groeiden volgens de wet van Moore., Zo werd Triple-DES (aka TDES, TDEA of 3DES) geïntroduceerd in 1998, met behulp van een bundel van 3 toetsen, wat een nominale sterkte van 168 bits geeft, maar tegen de prijs van trage prestaties. Optioneel kan de sleutellengte worden teruggebracht tot 112 bits door twee van de toetsen hetzelfde te maken – dit wordt soms 2DES of 2TDEA genoemd; dit is echter niet sneller en een 112-bit sleutel wordt niet langer als veilig beschouwd.

Triple-DES wordt vandaag de dag nog steeds veel gebruikt, vooral in de financiële sector, hoewel veel toepassingen Triple-DES overslaan vanwege de slechte prestaties en ging rechtstreeks van DES naar AES in plaats daarvan., Hoewel een 168-bits sleutel nog steeds als sterk wordt beschouwd, wordt deze niet langer aanbevolen voor nieuwe toepassingen omdat deze een klein blokgrootte (64 bits) gebruikt. Dit maakt het gevoelig voor wat bekend staat als de” Sweet 32 ” aanval, wat betekent dat de sleutel kan worden gebroken als meer dan 232 blokken van gegevens worden versleuteld zonder de sleutel te veranderen. Gezien de grote hoeveelheid gegevens die door moderne systemen worden opgeslagen of verzonden, betekent dit dat de sleutel vaak moet worden gewijzigd, wat onpraktisch is.,

RC algoritme familie

de eerste leden van de RC algoritme familie, RC2 en RC4 (aka ARC4 of ARCFOUR), werden ontworpen door Ron Rivest (van RSA fame) in 1987. RC2 is een 64-bit blok cipher die een sleutel lengte van maximaal 128 bits ondersteunt, hoewel het aanvankelijk alleen werd goedgekeurd voor de export van de VS met een 40-bit sleutel. RC4 is een stream cipher die zeer veel gebruikt is (bijvoorbeeld in het SSL/TLS-protocol en vroege Wi-Fi beveiligingsstandaarden). RC2 en RC4 worden op dit moment echter niet als veilig beschouwd.,

RC5 is een blokcodering met een variabele blokgrootte (32, 64 of 128 bits), variabele sleutellengte (tot 2.040 bits) en variabel aantal rondes (tot 255). Dit maakt een trade-off tussen prestaties en veiligheid, en het wordt nog steeds als veilig beschouwd wanneer gebruikt met geschikte parameters. Het werd later aangepast om RC6 te produceren met een vaste blokgrootte van 128 bits als deelnemer voor de Advanced Encryption Standard-zie hieronder. RC5 en RC6 worden echter niet veel gebruikt omdat ze gepatenteerd zijn.,

Rijndael algoritme familie (AES)

een subset van de Rijndael algoritme familie van blokcodes werd geselecteerd als de Advanced Encryption Standard (AES) in 2001 ter vervanging van DES, na een wedstrijd georganiseerd door het US National Institute of Standards and Technology (NIST). Het is nu algemeen bekend als het AES-algoritme, met een blokgrootte van 128 bits en drie belangrijke lengteopties: 128, 192 of 256 bits. Het aantal rondes varieert met de sleutellengte.,

AES is het symmetrische algoritme-van-keuze voor de meeste toepassingen vandaag en wordt zeer veel gebruikt, meestal met 128 of 256-bit sleutels, waarbij de laatste sleutellengte zelfs als sterk genoeg wordt beschouwd om militaire TOP SECRET data te beschermen. Merk op dat, ervan uitgaande dat er geen bekende zwakke punten in een algoritme, een enkele 128-bit sleutel miljarden jaren zal duren om brute kracht met behulp van een klassieke computertechnologie vandaag of in de nabije toekomst (maar zie quantum computing hieronder).,

andere symmetrische algoritmen

vele andere blokcodes zijn door de jaren heen ontwikkeld, zoals Blowfish, IDEA en CAST-128 (ook bekend als CAST5). Echter, de meeste oudere algoritmen zijn beperkt door blokgrootte en/of belangrijke lengte beperkingen evenals (in sommige gevallen) beveiligingsproblemen en / of patent beperkingen en hebben dus relatief weinig succes buiten een of twee specifieke toepassingen.

een aantal blokcodes werden ontwikkeld om deel te nemen aan de AES competitie, zoals Twofish, Serpent, MARS en CAST-256., Veel van deze zijn nog steeds erg goed, hoewel Rijndael uiteindelijk werd gekozen op basis van een combinatie van veiligheid, prestaties en andere factoren, dus deze worden zelden gebruikt.

er zijn ook veel voorbeelden van andere stroomcodes.

sommige regeringen ontwikkelen hun eigen nationale algoritmen, voor militair of commercieel gebruik. De US National Security Administration (NSA) heeft door de jaren heen vele algoritmen ontwikkeld, hoewel de details van de meeste geheim blijven. Andere relatief bekende voorbeelden van nationale algoritmen zijn Magma (aka GOST 28147-89) en Kuznyechik (aka GOST R 34.,12-2015) in Rusland, SM1 en SM4 in China en zaad in Zuid-Korea.

Er is momenteel veel onderzoek naar lichtgewicht algoritmen, geschikt voor implementatie in goedkope mobiele apparaten en Internet-of-Things (IoT) toepassingen, die doorgaans beperkte CPU-prestaties, beperkt geheugen en/of beperkt vermogen beschikbaar hebben.

Quantumcomputing

wanneer grootschalige kwantumcomputing beschikbaar komt, mogelijk over ongeveer 10 jaar, zal dit een grote impact hebben op de cryptografie. Met name de asymmetrische algoritmen die vandaag de dag voornamelijk worden gebruikt, zullen effectief worden gebroken., Gelukkig lijkt de impact op symmetrische algoritmen minder ernstig – Grovers algoritme heeft het effect van het halveren van de sleutellengte, dus AES-128 heeft een effectieve sterkte gelijk aan een 64-bits sleutel, en AES-256 is gereduceerd tot de sterkte van een 128-bits sleutel. Dit betekent dat AES-256 nog steeds met vertrouwen kan worden gebruikt in het aangezicht van kwantum computing (voor zover we vandaag weten).

Crypto-agility

zoals we hebben gezien, zijn geen algoritmen perfect – cryptografische aanvallen worden alleen sterker naarmate nieuwe tools en technieken worden ontwikkeld., Algoritmen die ooit als sterk werden beschouwd, zijn tegenwoordig gemakkelijk te breken op een PC thuis. Zelfs de beste algoritmen van vandaag zullen worden verzwakt door kwantum computing. Nieuwe algoritmen zullen verder worden ontwikkeld om de beveiliging te verbeteren en nieuwe applicaties met specifieke behoeften, zoals IoT, te richten.

De geschiedenis heeft echter aangetoond dat het veranderen van algoritmen moeilijker kan zijn dan verwacht, met oude algoritmen die nog steeds goed worden gebruikt nadat ze niet langer als veilig worden beschouwd.

je hoeft alleen maar te kijken naar MD5, SHA1, DES, 2TDEA, RC4, RSA-1024 enzovoort om te zien hoe pijnlijk en langdurig het proces kan zijn.,

het probleem is interoperabiliteit. Wanneer hele ecosystemen zijn opgebouwd rond een bepaald algoritme, net zoals de financiële industrie is opgebouwd rond DES en Triple-DES, vereist het de samenwerking van Naties, industrieën, normalisatie-instellingen en leveranciers gedurende vele jaren om verandering te bewerkstelligen. Hardware, software, protocollen moeten allemaal worden bijgewerkt. Er zijn enorme financiële gevolgen, met name wanneer bestaande infrastructuur moet worden vervangen.,

Quantum computing dreigt in de komende 5-10 jaar een grote omwenteling te veroorzaken, en bedrijven die niet op de achtergrond willen zitten, moeten nu beginnen met plannen. Alle nieuwe toepassingen moeten worden ontworpen met “crypto-agility” in het achterhoofd – dat wil zeggen de mogelijkheid om algoritmen te schakelen via eenvoudige, pijnloze software-upgrades. Idealiter moet dit proces centraal worden gecontroleerd en beheerd om te besparen dat elke applicatie afzonderlijk moet worden benaderd om het te upgraden.,

in het laatste artikel in deze serie zullen we kijken naar het gebruik van encryptie modes met symmetrische blok cijfers, inclusief de noodzaak voor padding en initialisatie vectoren.

referenties en verder lezen

  • 3DES wordt officieel met pensioen (2018), door Jasmine Henry
  • Trends in Cryptography Part 1 – Algorithms and Encryption (2018), door Rob Stubbs
  • Quantum Computing and its Impact on Cryptography (2018), door Rob Stubbs
  • Wat is Crypto-Agility?, (2018), door Jasmine Henry
  • Steps to reach crypto agility to get prepared for quantum computing (2019), door Terry Anton
  • Achieving Agile Cryptography Management with Crypto Service Gateway (CSG) (2019), door Rob Stubbs
  • Wat is een Crypto-abstractie laag? (2018), door Chris Allen
  • Turning Cryptography into a Service – Part 1 (2018), door Rob Stubbs

Cover Image: “hallway” door courtesy ofKai Pilger (pexels.com, CC BY 2.0)