Tuesday, December 17th, 2019

Digitala underskrifter, hur funkar de? (in Swedish)

Är digitala underskrifter ett obegripligt hokus pokus för datanördar? Verkligen inte! Det går att förstå hur de fungerar. Alla borde ha åtminstone ett hum om tekniken eftersom den har blivit så vanlig.

Den här beskrivningen gäller digitala underskrifter med BankID eller liknande, där man kan använda svenskt personnummer. På slutet tar vi upp att det finns andra metoder.

Att skriva under något

Oavsett teknik har en underskrift en given betydelse. Man fäster sitt namn och sin heder vid ett avtal, åtagande eller medgivande. Ofta finns en eller flera ytterligare parter som också skriver under.

En underskrift med bläck på papper kan man peta på med ett finger. En digital underskrift är inte lika påtaglig. Men den har samma funktion som en underskrift med bläck på papper och den har stöd i svensk lag sedan nästan 20 år.

Man gör underskriften med BankID eller något annat digitalt id-kort. Underskrift är inte detsamma som att legitimera sig.

En underskrift med bläck går inte att skilja från det avtal som man skrivit under. Bläcket är oskiljaktigt förenat med pappret som avtalet är skrivet på. Detsamma gäller digitala underskrifter. Man skriver under en text som visas i appen eller kortläsaren. Underskriften “går sönder” om man försöker skilja den från texten.

När man skriver under digitalt blir resultatet en liten datamängd, från ca 10 KB och uppåt (beroende på hur lång text man skrev under). Det motsvarar ett par sidor text i en bok. Den lagras normalt i en fil på en dator. Underskriften består av text. En del kan man förstå, annat är visserligen också text, men kodat.

Digitalt lås med två nycklar

Funktionen hos en digital underskrift baseras på digitala lås med dubbla nycklar. Varje lås har en privat och en publik nyckel. Den privata är hemlig, den publika kan kopieras och spridas hur mycket som helst. Dessa lås har den ovanliga egenskapen att om man låser med den privata nyckeln går det bara att låsa upp med den publika.

Med andra ord: Om ett lås går att låsa upp med en publik nyckel kan man vara säker på vem som låste det med sin privata nyckel.
Lås med två nycklar

Precis samma teknik används när du surfar och du ser ett lås på adressraden i webbläsaren. Det här är en av de riktigt stora uppfinningarna inom datatekniken.

Om du har BankID på kort, den säkraste varianten, så lagras dina nycklar på kortet. Varken banken som utfärdat kortet eller ens du själv kommer åt den privata nyckeln. Den lämnar aldrig kortet, den är verkligen privat.

En teknik till: kontrollsumma

Ytterligare en teknik är bra att känna till: kontrollsumma. Den behövs när man ska skriva under ett större dokument. Då tar man i stället en kontrollsumma på dokumentet och skriver under den.

Exempel: Kontrollsumman för regeringsförklaringen 2019 i textform är:
0024d530449d70dc4891d96032b0edc18bd3be3b
Den sista meningen i regeringsförklaringen avslutas naturligt nog med punkt. Om man plockar bort den avslutande punkten (ett enda tecken) blir kontrollsumman:
4671218d7e6dcf67af48f0867ef91d21b6ec605f
En knappt märkbar ändring av texten leder till en radikalt annorlunda kontrollsumma. Den här tekniken är mycket effektiv när man vill ha koll på att ett dokument inte har blivit ändrat. Om två dokument har samma kontrollsumma kan man vara säker på att de är identiska.

Underskriften

En digital underskrift består av en kedja av digitala lås. Ofta består kedjan av tre lås.

Det första låset binder din identitet vid texten du skrev på. Innebörden av låset är: “Jag, Inge Fejk med personnummer 196409260160, skriver under [här kommer texten].”

Hur svårt är det att åstadkomma en sådan text? Det är ingen konst alls. Någon annan måste garantera att du verkligen är denna Inge Fejk. Vi antar att du har fått ditt BankID från Handelsbanken. Nästa lås i kedjan är kopplat till det första låset och säger: “Handelsbanken intygar att föregående lås är låst av Inge Fejk med personnummer 196409260160.” Handelsbanken har strikta rutiner för att se till att Inge Fejk är innehavare av det BankID som låste det första låset.

Hur svårt är det att skriva Handelsbankens text? Fortfarande ingen konst. Någon annan måste garantera att detta är den riktiga Handelsbanken. Därför finns ytterligare ett lås. Det kommer från Finansiell ID-Teknik, det bolag som bankerna skapat för att hantera BankID. Detta är det sista låset och det säger: “Finansiell ID-Teknik BID AB intygar att föregående lås är låst av den riktiga Handelsbanken.” Naturligtvis med organisationsnummer etc.

För tredje gången kan man undra hur svårt det är att skriva en sådan text. För att kontrollera det tredje låset måste vi ha tillgång till den publika nyckeln för Finansiell ID-Teknik. Den måste vi skaffa oss på ett tillförlitligt sätt via någon annan kanal. Den kan inte följa med underskriften, för i så fall skulle man kunna förfalska hela kedjan.

Om det tredje låset går att låsa upp med den publika nyckeln för Finansiell ID-Teknik, då vet vi också att lås nummer två är låst av den riktiga Handelsbanken och därmed att det första låset är låst av rätt Inge Fejk. Hela kedjan stämmer.

Lagstöd

En lurighet med det tredje låset är varifrån Finansiell ID-Teknik får sin auktoritet. Inge Fejk auktoriseras av Handelsbanken, Handelsbanken auktoriseras av Finansiell ID-Teknik, men där tar kedjan slut. Finansiell ID-Teknik säger i princip “Jag intygar på heder och samvete att jag är jag”. Kan man lita på någon som auktoriserar sig själv?

Här kommer lagstiftningen in. Finansiell ID-Teknik är registrerad som CA, Certificate Authority. En CA kan ge auktoritet åt andra via digitala lås. Denna tjänst är definierad i lag. Dessutom säger lagen att en CA måste betala ersättning om de skulle orsaka skada genom att missköta sin tjänst, exempelvis genom brister i sin säkerhet. Det är grunden för att vi kan lita på en CA.

Sammanfattning för svenskt personnummer

Vi har beskrivit konturerna av en teknik med BankID eller liknande för digitala underskrifter. Tekniken stöttas av en infrastruktur som omsorgsfullt har byggts upp under åtskilliga år. Den används allmänt av banker och offentlig sektor och är mycket säker.

Med ett 9-tillhållarlås i dörren känner vi oss trygga. Om de digitala lås vi har beskrivit här vore fysiska skulle nyckeln bli minst en meter lång med millimeterbreda piggar hela vägen.

En underskrift är ett konkret objekt, lika konkret som ett Word-dokument.

Dessa digitala underskrifter bygger på beprövad internationell standard, metoden är helt transparent. Det finns inga hemligheter utom de privata nycklarna. En underskrift kan kopieras och spridas hur mycket som helst utan att tappa sin giltighet.

Att grunden är internationell standard betyder att det finns färdiga datorhjälpmedel. Den som bygger it-system kan använda färdiga moduler för denna typ av digitala underskrifter. Vem som helst som kan programmera kan göra det eftersom allt är öppet.

Utöver vad vi redan sagt innehåller en digital underskrift också tidpunkten när underskriften gjordes. Det är ett kapitel för sig hur man försäkrar sig om tillförlitliga tidsangivelser.

Andra typer av underskriftstjänster

Vid sidan metoden ovan har det vuxit upp en flora av andra underskriftstjänster. De flesta bygger på icke-transparenta metoder och förknippar säkerheten med att dokument lagras i tjänsten. Detta blir föremål för en separat artikel.

Appendix 1: Lämplig text att skriva under

Ett dokument som ska skrivas under bör i sin vanliga text innehålla namnet på den eller de som ska skriva under. En utomstående måste kunna avgöra om det är rätt person(er) som skrivit under.

Här är ett förslag till mall för den text som ska skrivas under. Den är så kort att den lätt kan visas i en app eller kortläsare.

Jag, [namn] med personnummer [personnummer], skriver under [dokumenttyp] med dokumentnummer [dokumentnummer] och kontrollsumma [kontrollsumma].

Ord inom klamrar är sådant som byts ut för det aktuella dokumentet. Så här skulle det kunna se ut i ett verkligt fall (Inge Fejk har tagit ett lån i en bank).

Jag, Inge Fejk med personnummer 196409260160, skriver under Låneförbindelse hos Finfina Banken med dokumentnummer QWR123 och kontrollsumma c2f6f1f75d8a17f2a8a4095d1d8858af8afe2408.

Den som skriver under kan lätt själv verifiera kontrollsumman. Om ens dator inte har program för det finns åtskilliga tjänster på Internet, även sådana som beräknar kontrollsumman i webbläsaren utan att skicka iväg dokumentet någon annanstans.

Appendix 2: Om öppenhet och säkerhet

För den som inte sysslar med it-säkerhet kan det vara oväntat att en metod för säkra underskrifter inte bara är öppen och transparent utan även internationell standard.

Borde inte allt sådant vara hemligt?

Det vi kallar digitala lås i den här artikeln bygger på kryptering. Många års erfarenhet visar att varje form av “hemkokt” kryptering är dömd att misslyckas. Kryptering är en vetenskap. Ingen seriös it-tekniker använder annat än standardiserade krypteringsmetoder. (Undantag kanske för Försvarsmakten.)

Många års erfarenhet visar också att det inte går att ha hemligheter. Sådant kallas nedlåtande för security by obscurity. Det kommer att läcka, någon kommer på hemligheten och då är man rökt. (Exempel: Kodningen av DVD-skivor.)

Därför ska det enda hemliga vara den privata nyckeln. Vi dödliga kan ha vår privata nyckel på ett BankID-kort från vår bank och tycker det är säkert. Det är ingenting jämfört med de anordningar Finansiell ID-Teknik har för att skydda sin privata nyckel. Tänk inte ens tanken på en mänsklig hand i dess närhet.

Appendix 3: Är en digital underskrift verkligen läsbar text?

Om du får tillgång till en digital underskrift kanske du upptäcker att den visserligen består av text, men helt oläslig. Anledningen är att den är omkodad. Minsta ändring i underskriften, till exempel en extra radbrytning, gör den ogiltig. Därför brukar man koda om originaltexten till en kod som tål radbrytningar. Koden kallas Base64. Du kan själv lätt avkoda texten, det finns åtskilliga tjänster på Internet.

Appendix 4: Terminologi

För att göra ämnet lättbegripligt har jag tagit mig vissa friheter med terminologin och även utelämnat detaljer. Bli inte förvånad om din närmaste it-nörd uttrycker sig annorlunda i en diskussion.

Kontrollsumma kallas också fingeravtryck eller tumavtryck. Digitala lås kallas oftast certifikat eller cert.

Kommentarer är avstängda på grund av spamfaktorn, men du kan mejla till blog KANELBULLE soderstrom PUNKT se

Comments are closed.