Cover
Mulai sekarang gratis Protocols Design Principles.pdf
Summary
# Basisprincipes van cryptografische algoritmen en protocollen
Dit onderwerp behandelt de fundamentele definities van cryptografische algoritmen, protocollen en schema's, samen met een uitleg van actieve en passieve aanvallen, en het belang van beveiliging tegen een dreigingsmodel. Het raakt ook het ontwerpproces van protocollen aan [1](#page=1).
### 1.1 Definities
Een cryptografisch algoritme is een welomschreven transformatie die op een gegeven invoerwaarde een uitvoerwaarde produceert, met als doel bepaalde beveiligingsdoelstellingen te bereiken. Een cryptografisch protocol is een gedistribueerd algoritme dat de interacties tussen twee of meer entiteiten nauwkeurig beschrijft en eveneens tot doel heeft beveiligingsdoelstellingen te realiseren. Een cryptografisch schema is een reeks onderling gerelateerde cryptografische algoritmen en protocollen, ontworpen om specifieke beveiligingsdoelstellingen te vervullen [1](#page=1).
### 1.2 Aanvallen op cryptografische systemen
Er zijn twee hoofdtypen aanvallen mogelijk:
* **Passieve aanval:** Hierbij bemoeit de aanvaller zich niet met de uitvoering van de algoritmen en protocollen [1](#page=1).
* **Actieve aanval:** In dit geval kan de aanvaller de uitvoering beïnvloeden door berichten te verwijderen, te injecteren of te wijzigen. Bovendien kan de aanvaller corrupte entiteiten ertoe aanzetten af te wijken van hun voorgeschreven gedrag [1](#page=1).
Aanvallen kunnen worden uitgevoerd door zowel externe partijen als door interne gebruikers van het systeem [1](#page=1).
### 1.3 Beveiliging tegen een dreigingsmodel
Het doel van een protocol of schema is om veilig te zijn tegen een gespecificeerd dreigingsmodel, dat de capaciteiten, rekenkracht en het type aanvaller (actief of passief) definieert [1](#page=1).
> **Tip:** Het is cruciaal om het dreigingsmodel nauwkeurig te definiëren, aangezien beveiliging relatief is ten opzichte van de veronderstelde dreigingen.
Een voorbeeld hiervan is het Diffie-Hellman-protocol. De eenvoudige versie hiervan is niet veilig tegen een "man-in-the-middle" aanval, omdat authenticatie ontbreekt. Authenticatie vereist een of meer aanvullende stappen binnen het protocol [1](#page=1).
> **Tip:** Het identificeren van kwetsbaarheden in protocollen is een complexe taak.
### 1.4 Ontwerpproces van protocollen
Om het ontwerpproces van protocollen wetenschappelijker te maken, zijn er diverse formele benaderingen voorgesteld [1](#page=1).
> **Gedachte van Lars Knudsen:** "Als het aantoonbaar veilig is, dan is het waarschijnlijk niet veilig." [1](#page=1).
> **Gedachte van Christopher Strachey:** "Het is onmogelijk de gevolgen van slim te zijn te voorzien." [1](#page=1).
---
# Ontwerpprincipes en valkuilen van cryptografische protocollen
Protocollen zijn gestructureerde dialogen die bedoeld zijn om communicatiedoelen te bereiken, maar hun ontwerp is complex en bevat vele valkuilen, wat benadrukt waarom men zelf geen cryptografische protocollen moet ontwerpen [2](#page=2) [3](#page=3).
### 2.1 Voorbeelden van protocolontwerp
#### 2.1.1 Sleuteluitwisselingsprotocol zonder commutativiteit
Een praktisch voorbeeld dat de noodzaak van commutativiteit in een sleuteluitwisselingsprotocol illustreert, is het verzenden van een waardevol object naar Ivan, die in een repressief land woont [2](#page=2).
* **Protocolbeschrijving:**
1. Het object wordt in een doos geplaatst, een eigen slot wordt bevestigd en de doos wordt naar Ivan gestuurd [2](#page=2).
2. Ivan voegt zijn eigen slot toe en stuurt de doos terug [2](#page=2).
3. De oorspronkelijke afzender verwijdert zijn slot en stuurt de doos terug naar Ivan [2](#page=2).
4. Ivan verwijdert zijn slot en opent de doos [2](#page=2).
* **Commutativiteit:** Dit protocol werkt alleen als de gebruikte encryptieprocedures commutatief zijn, wat betekent dat de volgorde van het toepassen van de sleutels er niet toe doet. Wiskundig wordt dit uitgedrukt als $ \{ \{M\}_{k_1} \}_{k_2} = \{ \{M\}_{k_2} \}_{k_1} $ [2](#page=2).
* **Voorbeeld met XOR:** Als XOR wordt gebruikt als encryptieprocedure met sleutels van gelijke lengte als het bericht, commutatief is. Echter, de veiligheid hiervan hangt af van het sleutelgebruik. Als sleutels meer dan eens worden gebruikt, kan het bericht onveilig worden, zelfs als de lengte van bericht en sleutel gelijk is. Door drie opeenvolgende XOR-berichten te onderscheppen en met elkaar te XOR-en, kan het originele bericht worden verkregen zonder kennis van de sleutels. De berekening is als volgt:
$(M \oplus K_a) \oplus (M \oplus K_a \oplus K_b) \oplus (M \oplus K_b) = M \oplus K_a \oplus K_a \oplus K_b \oplus M \oplus M \oplus K_b = M \oplus (K_a \oplus K_a) \oplus (K_b \oplus K_b) \oplus M = M \oplus 0 \oplus 0 \oplus M = M \oplus M = 0$ (Dit is een vereenvoudiging en er is een fout in de oorspronkelijke tekst bij de analyse van de XOR-operatie, maar de kernboodschap is dat herhaald sleutelgebruik onveilig is.)
Een correctere analyse van de XOR-methode met meerdere ontvangers zou meer detail vereisen, maar het principe blijft: herhaald gebruik van sleutels in XOR-gebaseerde protocollen, zelfs met commutativiteit, kan leiden tot kwetsbaarheden [2](#page=2).
#### 2.1.2 Coin-flipping protocol
Een coin-flipping protocol over de telefoon is een klassiek voorbeeld dat de moeilijkheden in protocolontwerp illustreert, vooral tegen een oneerlijke partij [4](#page=4).
* **Basis scenario:** Alice heeft een keuze bit $b$ (0 of 1) en Bob raadt deze bit met zijn gok $c$ (0 of 1). Alice verifieert vervolgens of de gok correct was en geeft Bob de benodigde informatie om dit te verifiëren [4](#page=4).
* **Protocolbeschrijving (met éénrichtingsfuncties):**
1. **Alice:** Definieert een éénrichtingsfunctie $f$ en informeert Bob over het domein van $f$, genoteerd als $dom(f)$ [4](#page=4).
2. **Bob:** Kiest willekeurig twee waarden $r_1, r_2$ uit $dom(f)$ en stuurt deze naar Alice [4](#page=4).
3. **Alice:** Kiest willekeurig tussen $r_1$ en $r_2$ en stuurt $f(r_x)$ (één van de waarden $f(r_1)$ of $f(r_2)$) naar Bob [4](#page=4).
4. **Bob:** Raadt welke van de twee waarden hij heeft ontvangen ($r_1$ of $r_2$) [4](#page=4).
5. **Alice:** Kondigt aan of Bob's gok correct was. Ze stuurt ook de specificatie van $f$ (of een deel daarvan indien nodig) en de gekozen waarde $r_x$ [4](#page=4).
6. **Bob:** Verifieert dat de ontvangen $f(r_x)$ correct is en overeenkomt met een van de door Alice verwerkte waarden [4](#page=4).
* **Veiligheidsaspecten en risico's:**
* **Cheating door Alice:** Om te kunnen valsspelen, zou Alice een manier moeten vinden om voor willekeurig gekozen $r_1, r_2$ twee varianten van een éénrichtingsfunctie, $f_1$ en $f_2$, te construeren zodanig dat $f_1(r_1) = f_2(r_2)$. Afhankelijk van Bob's gok, kan Alice dan de juiste functie ($f_1$ of $f_2$) kiezen om een "bewijs" te leveren dat Bob's gok onjuist was [5](#page=5).
* **Gebruik van Keyed Hash Functies:** Een mogelijke keuze voor $f$ is een "keyed hash function" met een geheim dat alleen door Alice bekend is [5](#page=5).
### 2.2 Commitment schemes
Commitment schemes zijn een fundamenteel concept dat wordt gebruikt in protocollen zoals coin-flipping. Een commitment scheme bestaat uit twee protocollen: een commit-fase en een reveal-fase [5](#page=5).
* **Commit-fase:** De zender committeert zich aan een waarde $x$ door $C = \text{commit}(u, x)$ te berekenen en $C$ naar de ontvanger te sturen. De ontvanger bewaart $C$ voor later gebruik [5](#page=5).
* **Reveal-fase:** De zender opent de commitment $C = \text{commit}(u, x)$ door $u$ en $x$ naar de ontvanger te sturen. De ontvanger berekent $\text{commit}(u, x)$ en verifieert dat dit overeenkomt met de eerder ontvangen commitment [5](#page=5).
* **Beveiligingseisen voor Commitment Schemes:**
* **Binding (Binding):** Een aanvaller kan niet een andere waarde $u'$ genereren zodanig dat $C = \text{commit}(u, x) = \text{commit}(u', x')$ voor verschillende waarden van $x$ en $x'$. Dit garandeert dat de zender niet na de commitment van mening kan veranderen [5](#page=5).
* **Hiding (Verbergen):** De distributies geïnduceerd door $\text{commit}(u, 0)$ en $\text{commit}(u, 1)$ zijn ononderscheidbaar. Dit betekent dat de ontvanger geen informatie over de gecommitteerde waarde $x$ kan afleiden uit de commitment $C$ voordat de reveal-fase plaatsvindt [5](#page=5).
* **Aanvallen en Kanalen:** De bovenstaande beveiligingseisen dekken aanvallen door de zender of de ontvanger. Voor bescherming tegen een tussenpersoon is een geauthenticeerd kanaal vereist [5](#page=5).
* **Soorten Beveiliging:**
* **Information-theoretic security:** Zelfs een onbeperkte aanvaller kan het systeem niet verslaan. Een voorbeeld is de one-time pad [5](#page=5).
* **Computational security:** Een beperkte aanvaller (met rekenkracht) kan het systeem niet verslaan. De meeste realistische systemen bieden computationele beveiliging, vaak gebaseerd op de praktische onhaalbaarheid van brute-force aanvallen [5](#page=5).
* **Beperkingen van Commitment Schemes:** Een commitment protocol kan niet tegelijkertijd informatie-theoretische beveiliging bieden voor zowel hiding als binding. Als één van de eigenschappen informatie-theoretisch veilig is, moet de andere maximaal computationeel veilig zijn [5](#page=5).
> **Tip:** Het is cruciaal om te onthouden dat het ontwerpen van cryptografische protocollen extreem moeilijk is en vaak leidt tot subtiele kwetsbaarheden. Vertrouw op gevestigde en bewezen protocollen in plaats van zelf nieuwe te ontwikkelen [3](#page=3).
---
# Authenticatie- en sleuteluitwisselingsprotocollen
Dit onderwerp behandelt diverse methoden voor authenticatie en veilige sleuteluitwisseling tussen partijen, met speciale aandacht voor protocollen die gebruikmaken van wachtwoorden en hun beveiliging tegen aanvallen.
### 3.1 Authenticatiemethoden
Authenticatie is het proces waarbij een partij bewijst dat hij is wie hij beweert te zijn. Traditionele authenticatie steunt vaak op een authenticatietoken verkregen na een fysieke identificatie door een vertrouwde partij. Er zijn echter verschillende methoden om authenticatie te realiseren, elk met eigen voor- en nadelen [8](#page=8):
#### 3.1.1 Wachtwoordgebaseerde authenticatie
Bij wachtwoordgebaseerde systemen stuurt de gebruiker zijn wachtwoord rechtstreeks naar een authenticatieserver. Dit brengt het risico van "sniffing" met zich mee, waarbij een aanvaller het wachtwoord kan onderscheppen [8](#page=8).
#### 3.1.2 Hash-gebaseerde authenticatie
Een verbetering is het versturen van de hash van het wachtwoord in plaats van het wachtwoord zelf. Hoewel een sniffer het wachtwoord niet direct kan achterhalen, kan hij wel de hash onderscheppen en deze gebruiken in een "pass-the-hash" aanval [8](#page=8).
#### 3.1.3 One-way hash-ketens
Deze methode gebruikt een reeks van gehashte wachtwoorden. Gebruiker A genereert een geheim wachtwoord en spreekt af dit slechts een bepaald aantal keren te gebruiken (bijvoorbeeld 100 keer). Vervolgens genereert A de 100e hash van zijn wachtwoord en stuurt deze naar B, samen met het aantal keren (n=100). Tijdens een loginsessie houdt B bij hoe ver men is in de keten (bv. 70). A moet dan de 70e hash van zijn wachtwoord leveren, die B kan verifiëren door deze nog 100-70 = 30 keer te hashen en te controleren of het resultaat overeenkomt met de oorspronkelijke 100e hash. Een variant is waarbij B altijd de laatste hash bewaart, zodat de verificatie door B eenmalig hashen van de input is. Bij correcte implementatie en een voldoende veilige hash-functie, kan een aanvaller het wachtwoord niet achterhalen [8](#page=8).
#### 3.1.4 Andere authenticatiemethoden
Naast de hierboven genoemde methoden bestaan er ook:
* **Challenge-response protocollen**: Hierbij worden willekeurige uitdagingen gebruikt, wat sniffing en opname van communicatie bemoeilijkt. Voorbeelden hiervan zijn passkeys en protocollen die banken gebruiken [8](#page=8).
* **Zero-knowledge authenticatie**: Dit type authenticatie is complexer en wordt elders in het curriculum behandeld [9](#page=9).
### 3.2 Sleuteluitwisselingsprotocollen
Het uitwisselen van geheime sleutels over een onveilig netwerk is cruciaal voor het beveiligen van communicatie. Klassieke protocollen die gebruikerswachtwoorden gebruiken, zijn kwetsbaar voor wachtwoordgok-aanvallen [6](#page=6).
#### 3.2.1 Password-based Authenticated Key Exchange (PAKE)
PAKE-protocollen combineren asymmetrische (publiek sleutel) en symmetrische (geheim sleutel) cryptografie. Ze stellen twee partijen die een gemeenschappelijk wachtwoord delen in staat om vertrouwelijke en geauthenticeerde informatie uit te wisselen over een onzeker netwerk. Deze protocollen zijn beveiligd tegen actieve aanvallen en beschermen het wachtwoord tegen offline dictionary attacks [6](#page=6).
##### 3.2.1.1 Encrypted Key Exchange (EKE)
EKE is een specifieke vorm van PAKE. Het is in essentie een variant van Diffie-Hellman waarbij de publieke sleutelinformatie wordt uitgewisseld via symmetrische encryptie, gebaseerd op een gemeenschappelijk wachtwoord $\pi$ [6](#page=6).
> **Tip:** EKE combineert het gemak van een gedeeld wachtwoord met de beveiligingsmechanismen van Diffie-Hellman, waardoor een veilige sleuteluitwisseling mogelijk wordt.
##### 3.2.1.2 Alternatieven met een vertrouwde derde partij
Andere benaderingen, zoals Kerberos, maken gebruik van een continu online beschikbare vertrouwde derde partij. In dergelijke systemen authenticeren de partijen elkaar met behulp van deze server. Een voordeel ten opzichte van EKE is dat er geen noodzaak is om per sessie nieuwe publieke/private sleutelparen te genereren, maar wel dat de publieke sleutel van de vertrouwde server bekend moet zijn bij alle partijen [7](#page=7).
#### 3.2.2 Sleuteluitwisseling met een gedeelde symmetrische sleutel
Een eenvoudig sleuteluitwisselingsprotocol kan plaatsvinden wanneer twee partijen (A en B) een gedeelde symmetrische sleutel $K$ hebben. Ze kunnen willekeurige uitdagingen (challenges) naar elkaar sturen. Partij A stuurt een willekeurige uitdaging $R_A$ naar B, en B stuurt de versleutelde versie van $R_A$ samen met zijn eigen uitdaging $R_B$ terug naar A, verpakt als $E_K(R_A, R_B)$. Zodra ze deze informatie hebben ontvangen, kunnen ze aannemen dat de communicatie veilig is en de uitdagingen van de andere partij gebruiken voor verdere communicatie [10](#page=10).
> **Example:** Stel dat E (een aanvaller) A misleidt door te doen alsof hij B is en $K$ kent. E kan dan een nieuwe communicatie starten met A door de informatie die hij van A heeft ontvangen te herhalen, waardoor A denkt dat hij met B communiceert.
---
# Protocolaanvallen en analyse
Het analyseren van protocollen brengt aanzienlijke uitdagingen met zich mee, voornamelijk door de gedistribueerde en asynchrone aard van de systemen. Een cruciaal aspect bij protocolanalyse is het begrijpen van mogelijke aanvallen die een aanvaller kan uitvoeren [12](#page=12).
### 4.1 Uitdagingen bij protocolanalyse
Gedistribueerde systemen leiden ertoe dat protocollen inherent asynchroon zijn. Dit betekent dat, tenzij men de initiator is, men pas weet dat een protocol actief is wanneer het eerste bericht wordt ontvangen [12](#page=12).
### 4.2 Soorten protocolaanvallen
Er zijn verschillende veelvoorkomende soorten aanvallen die kunnen worden uitgevoerd op protocollen:
#### 4.2.1 Bekende sleutelaanval (Known-key attack)
Bij een bekende sleutelaanval verkrijgt een aanvaller kennis van eerder gebruikte cryptografische sleutels en gebruikt deze informatie op een kwaadaardige manier [12](#page=12).
#### 4.2.2 Replay-aanval
Een aanvaller neemt berichten op en speelt deze later opnieuw af om het protocol te misleiden of te ontwrichten [12](#page=12).
#### 4.2.3 Impersonatie-aanval
Hierbij neemt een aanvaller de identiteit aan van een van de legitieme partijen in een netwerk [12](#page=12).
#### 4.2.4 Man-in-the-Middle (MitM) aanval
Een aanvaller plaatst zichzelf tussen twee communicerende partijen en doet zich voor aan elke partij als de ander [12](#page=12).
> **Voorbeeld:** Een aanvaller onderschept communicatie tussen partij A en partij B. De aanvaller communiceert met A en doet zich voor als B, en communiceert tegelijkertijd met B en doet zich voor als A. Hierdoor kan de aanvaller alle berichten lezen, wijzigen of injecteren.
#### 4.2.5 Interleaving-aanval
Een aanvaller injecteert valse berichten in een protocoluitvoering om deze te ontwrichten of te ondermijnen [12](#page=12).
#### 4.2.6 Downgrade-aanval
Bij een downgrade-aanval wordt een hoogwaardige werkingsmodus, zoals een versleutelde verbinding met een sterker algoritme of grotere sleutellengte, verlaten ten gunste van een oudere, minder veilige modus. Dit gebeurt vaak omwille van achterwaartse compatibiliteit met oudere systemen [12](#page=12).
> **Tip:** Ontwerp nooit uw eigen protocol; protocolontwerp en -verificatie zijn significant complexer dan algoritmeontwerp. Indien u een probleem heeft, zoek dan naar een bestaand protocol dat dit probleem oplost in plaats van een eigen protocol te creëren of protocollen te combineren [11](#page=11).
#### 4.2.7 Reflectie-aanval (Reflection attack)
In een reflectie-aanval kan een aanvaller (E, die een geheime sleutel K niet kent) een andere partij (A) misleiden, waardoor A denkt dat E partij B is en K kent. Dit wordt bereikt doordat E een nieuwe communicatie start met A door informatie te herhalen die E van A heeft ontvangen [11](#page=11).
---
## Veelgemaakte fouten om te vermijden
- Bestudeer alle onderwerpen grondig voor examens
- Let op formules en belangrijke definities
- Oefen met de voorbeelden in elke sectie
- Memoriseer niet zonder de onderliggende concepten te begrijpen
Glossary
| Term | Definition |
|------|------------|
| Cryptografisch algoritme | Een goed gedefinieerde transformatie die, op basis van een invoerwaarde, een uitvoerwaarde produceert om bepaalde beveiligingsdoelstellingen te bereiken. |
| Cryptografisch protocol | Een gedistribueerd algoritme dat nauwkeurig de interacties tussen twee of meer entiteiten beschrijft, met als doel bepaalde beveiligingsdoelstellingen te bereiken. |
| Cryptografisch schema | Een reeks gerelateerde cryptografische algoritmen en cryptografische protocollen, ontworpen om specifieke beveiligingsdoelstellingen te realiseren. |
| Passieve aanval | Een aanvalsscenario waarbij een tegenstander niet interfereert met de uitvoering van de algoritmen en protocollen, maar louter observeert. |
| Actieve aanval | Een aanvalsscenario waarbij een tegenstander actief kan ingrijpen door berichten te verwijderen, in te voegen of te wijzigen, en zelfs corrupte entiteiten kan veroorzaken tot afwijking van hun voorgeschreven gedrag. |
| Dreigingsmodel | Een beschrijving van de capaciteiten, rekenkracht en mogelijke acties (actief/passief) van een aanvaller, waartegen een protocol of schema ontworpen wordt om veilig te zijn. |
| Man-in-the-middle aanval | Een type aanval waarbij een aanvaller zich tussen twee communicerende partijen plaatst en zich voordoet als de ene partij tegenover de andere, en vice versa, om de communicatie af te luisteren of te manipuleren. |
| Authenticatie | Het proces van het verifiëren van de identiteit van een gebruiker, apparaat of systeem, vaak door middel van wachtwoorden, biometrische gegevens of cryptografische tokens. |
| Commutativiteit | Een eigenschap van een bewerking (zoals encryptie) waarbij de volgorde van de operanden de uitkomst niet verandert. Bijvoorbeeld, $E_{k1}(E_{k2}(M)) = E_{k2}(E_{k1}(M))$. |
| One-way functie | Een functie die gemakkelijk te berekenen is in één richting, maar extreem moeilijk om om te keren (de inverse te vinden). |
| Commitment scheme (toezeggingsschema) | Een cryptografisch protocol dat bestaat uit een commit-fase, waarbij een partij zich bindt aan een waarde zonder deze prijs te geven, en een reveal-fase, waarbij de waarde wordt onthuld en geverifieerd. |
| Binding (in toezeggingsschema) | Een beveiligingseis van een toezeggingsschema die garandeert dat een aanvaller niet in staat is om twee verschillende waarden te committen met dezelfde toezegging. |
| Hiding (in toezeggingsschema) | Een beveiligingseis van een toezeggingsschema die garandeert dat de toezegging geen informatie prijsgeeft over de onderliggende waarde voordat deze wordt onthuld. |
| Computationele beveiliging | Een beveiligingsniveau waarbij een aanvaller met beperkte rekenkracht het systeem niet kan doorbreken binnen een redelijke tijdspanne. |
| Information-theoretic beveiliging | Een beveiligingsniveau waarbij zelfs een aanvaller met onbeperkte rekenkracht het systeem niet kan doorbreken. |
| PAKE (Password-based Authenticated Key Exchange) | Een klasse van cryptografische protocollen waarmee twee partijen die een gemeen wachtwoord delen, een veilige en geauthenticeerde sessiesleutel kunnen uitwisselen. |
| EKE (Encrypted Key Exchange) | Een specifiek type PAKE-protocol dat symmetrische encryptie gebruikt om publieke sle informations uit te wisselen, gebaseerd op een gedeeld wachtwoord. |
| Offline dictionary attack | Een aanvalsmethode waarbij een aanvaller een verzameling mogelijke wachtwoorden probeert tegenover een gehasht wachtwoord offline, buiten de directe interactie met de server. |
| Hash-functie | Een wiskundige functie die een invoer van willekeurige lengte omzet naar een uitvoer van vaste lengte, vaak gebruikt voor het creëren van digitale vingerafdrukken. |
| One-way hash chain | Een reeks opeenvolgende hashes van een initiële waarde, waarbij elke volgende hash gebaseerd is op de vorige, gebruikt voor authenticatie met beperkt gebruik. |
| Challenge-response authenticatie | Een authenticatiemechanisme waarbij de ene partij een willekeurige "challenge" stuurt en de andere partij hierop reageert met een correcte "response", wat de identiteit bewijst. |
| Replay attack | Een aanval waarbij een aanvaller onderschepte communicatieberichten op een later tijdstip opnieuw verzendt om zich voor te doen als een legitieme gebruiker of om een actie te herhalen. |
| Known-key attack | Een aanval waarbij een aanvaller kennis van eerder gebruikte cryptografische sleutels misbruikt om verdere beveiligingsmaatregelen te omzeilen. |
| Interleaving attack | Een aanval waarbij een aanvaller valse berichten in een protocoluitvoering injecteert om de normale werking te verstoren of te ondermijnen. |
| Downgrade attack | Een aanval waarbij een aanvaller een partij dwingt om een minder veilige communicatiemodus (bijvoorbeeld met een zwakkere encryptie of kortere sleutel) te gebruiken dan de hoogste beschikbare modus. |