I databehandling refererer et håndtrykk til prosessen med å etablere en sikker forbindelse mellom to enheter eller systemer ved å utveksle kryptografisk informasjon. Det innebærer utveksling av autentiseringsdata, for eksempel digitale sertifikater eller kryptografiske nøkler, for å sikre at kommunikasjonen mellom enhetene er kryptert og sikker.
Hensikten med et håndtrykk er å etablere en delt hemmelighet mellom de kommuniserende partene, som deretter kan brukes til å kryptere og dekryptere data. De spesifikke trinnene som er involvert i et håndtrykk kan variere avhengig av protokollen eller algoritmen som brukes, men inkluderer vanligvis:
1. Innledning: En enhet starter håndtrykket ved å sende en forespørsel om autentisering til den andre enheten. Denne forespørselen kan inneholde informasjon om protokollen eller algoritmen som skal brukes, så vel som offentlig nøkkelinformasjon.
2. Svar: Den mottakende enheten svarer med sin offentlige nøkkelinformasjon og eventuelle nødvendige sertifikater eller legitimasjon.
3. Bekreftelse: Hver enhet validerer den mottatte informasjonen for å sikre at den andre enheten er pålitelig og har de nødvendige tillatelsene til å kommunisere.
4. Nøkkelutveksling: Enhetene utveksler kryptografiske nøkler eller sesjonsnøkler, som kan brukes til å kryptere og dekryptere etterfølgende kommunikasjon.
5. Autentisering: Enhetene kan utveksle tilleggsinformasjon for å autentisere hverandres identiteter, for eksempel brukernavn, passord eller digitale signaturer.
6. Bekreftelse: Når autentisering og nøkkelutveksling er vellykket, utveksler enhetene bekreftelsesmeldinger for å indikere at håndtrykket er fullført og en sikker tilkobling er opprettet.
Handshaking spiller en avgjørende rolle for å sikre kommunikasjon og datautveksling i ulike applikasjoner, inkludert sikker nettsurfing (HTTPS), virtuelle private nettverk (VPN), e-postkryptering (PGP) og andre nettverksprotokoller som prioriterer datasikkerhet.