Gå til indhold
atlas

Protokol

Også kendt som: netværksprotokol

Et aftalt sæt regler for, hvordan enheder på et netværk opbygger, sender og besvarer beskeder.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

En beskrivelse af formatet og rækkefølgen af de beskeder, der udveksles mellem to eller flere parter, og af hvad hver part gør, når en besked sendes eller modtages.

Forklaret enkelt

Som de regler, alle følger i en telefonsamtale - man siger hej, venter på svar, skiftes til at tale og siger farvel, før man lægger på.

I praksis

En regions laboratorieudstyr og patientjournalsystem kommer fra forskellige leverandører, men kan udveksle prøvesvar, fordi begge følger den samme aftalte protokol for sundhedsdata.

Hvorfor det betyder noget

Mange angreb virker ved at bøje reglerne - ved at sende beskeder, protokollen ikke forventer, eller ved at udnytte en gammel protokol uden kryptering - så viden om, hvilke protokoller der kører på et netværk, viser, hvor det kan angribes.

Teknisk uddybning

En protokolspecifikation har tre dele: syntaks (det præcise format for hver besked), semantik (hvad hvert felt betyder, og hvad modtageren skal gøre) og timing eller rækkefølge (hvilke beskeder der må følge hvilke). Rækkefølgen defineres ofte som en endelig tilstandsmaskine; TCP-forbindelsens tilstande fra LISTEN og SYN-SENT til TIME-WAIT i RFC 9293 er det klassiske eksempel. Kodningen spænder fra faste binære felter (IP, TCP) over type-længde-værdi-strukturer (TLS-udvidelser, ASN.1 DER i X.509-certifikater) til tekstprotokoller som SMTP og HTTP/1.1, hvis grammatik skrives i ABNF (RFC 5234). IETF-specifikationer bruger BCP 14-nøgleordene MUST, SHOULD og MAY (RFC 2119 og RFC 8174) til at skelne mellem ufravigelige krav og anbefalinger, og et overraskende antal problemer med interoperabilitet og sikkerhed opstår netop i mellemrummet mellem SHOULD og MUST.

Protokoller er lagdelte: Hvert lag bruger tjenesten fra laget nedenunder og indkapsler sine data i det. OSI-referencemodellen (ISO/IEC 7498-1) har syv lag; internettets egen model, som beskrevet i RFC 1122, har fire: link, internet, transport og applikation. Standarderne kommer fra forskellige organer: IETF udgiver RFC'er for internetprotokoller, IEEE definerer linklag som 802.3 og 802.11, W3C og WHATWG dækker webplatformens standarder, og fagspecifikke organer som HL7 definerer standarder for sundhedsdata som FHIR - den slags fælles protokol, eksemplet med laboratoriet bygger på. Protokoller kan være tilstandsfulde som TCP eller tilstandsløse som HTTP, hvor applikationerne genskaber tilstand med cookies eller tokens.

Jon Postels robusthedsprincip, "vær konservativ i det, du sender, og liberal i det, du accepterer" (RFC 761, senere RFC 1122), hjalp den tidlige interoperabilitet, men ses i dag kritisk. RFC 9413 (2023) argumenterer for, at tolerance over for afvigelser lader fejl slå rod og skaber forskelle i fortolkningen, som angribere udnytter. Et beslægtet problem er forkalkning (ossification): Mellemliggende udstyr, der afviser alt ukendt, gør det svært at videreudvikle protokoller. TLS 1.3 fremstår derfor på ledningen meget som en genoptaget TLS 1.2-session, og GREASE (RFC 8701) får klienter til at sende tilfældige reserverede værdier, så udvidelsespunkterne forbliver brugbare.

Mange sikkerhedsfejl er protokolfejl. Parsere, der stoler på et længdefelt, giver fejl som Heartbleed (2014, i OpenSSL's TLS heartbeat-udvidelse); to komponenter, der fortolker samme besked forskelligt, muliggør HTTP request smuggling; versionsforhandling uden beskyttelse mod nedgradering muliggjorde angreb som POODLE mod SSL 3.0; og gamle klartekstprotokoller som Telnet, FTP, SNMPv1/v2c med community strings eller LDAP simple bind uden TLS afslører legitimationsoplysninger for alle på vejen. Forsvaret omfatter fuzzing af protokolimplementeringer, formel analyse af designet (TLS 1.3 blev analyseret med værktøjer som Tamarin og ProVerif under standardiseringen), kortlægning af, hvilke protokoller der faktisk kører på netværket, ud fra flow-data, og deaktivering af forældede versioner.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Netværk
  2. →Protokol

Relationer

Forudsætter
Netværk
Bruges sammen med
Netværk

Kilder og videre læsning

Lærebøger

  • Kurose & Ross, Computer Networking: A Top-Down Approach

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Nævnt i

Test dig selv

Indlæser…

Atlas er i beta.