Java-baseret NemID-teknologi for usikker til svenskerne

Modsat det danske NemID kører det svenske BankID uden Java. Teknologien gør brugernes computere direkte usikre, lyder det blandt andet fra sikkerhedschefen for den svenske løsning.

Mens den danske loginløsning NemID anvender Java-teknologien, så er firmaet bag den svenske loginløsning BankID, der bruges af omkring 3.000 offentlige og private serviceorganer i Sverige, for et par år siden gået væk fra at bruge Java. Det fortæller sikkerhedsdirektør i Finansiell ID-Teknik, der driver BankID, Robert Carlsson.

Han understreger, at han ikke kommenterer den danske NemID-løsning, men fortæller gerne om, hvilke tanker BankID gjorde sig, da Java blev droppet for omkring to år siden.

»De to hovedårsager til, at vi droppede Java, var support- og tilgængelighedsproblemer samt sikkerheden,« siger Robert Carlsson.

Sikkerhedsmæssigt er der flere problemer, mener han. Bl.a. kan det Java-miljø, som er nødvendigt for at køre appletter som NemID, i sig selv udgøre et problem. Det skyldes, at sikkerhedshuller i Java kan udnyttes af it-kriminelle til at angribe ofrenes computer, og det sker i stigende omfang, fortæller Robert Carlsson.

»At en sikkerhedsløsning kræver, at du installerer et program, som i sig selv udsætter dig for risici virkede forkert,« siger Robert Carlsson.

Desuden er der ifølge Robert Carlsson sikkerhedsproblemer forbundet med den måde, som Java-miljøet afvikler programmer på - problemer, som ifølge sikkerhedsdirektøren kan hjælpe en it-kriminel med at skille sikkerheden i appletløsningen ad.

»En Java-applet kan faktisk hjælpe en angriber med at angribe løsningen,« siger han.

BankID oplevede også en lang række supporthenvendelser i forhold til brugen af Java. Til tider var op til ti procent af de supportopkald, som BankID modtog fra brugerne relateret til Java, fortæller Robert Carlsson.

Et alternativ til at anvende Java kunne være at basere en loginløsning som BankID på de sikkerhedsløsninger, som allerede er understøttet i en række browsere. Men Robert Carlssons tillid til den sikkerhedsmodel, browserne anvender, kan dog ligge på et forholdsvist lille sted.

Han forklarer, at der har været flere eksempler på, at de organisationer, der står bag udstedelsen af certifikater til browserne, er blevet kompromitteret, og derfor holder sikkerhedsmodellen ikke i sig selv til BankID's formål.

Men hvad gør BankID så?

I stedet har BankID lavet en tilpasset løsning til forskellige platforme, herunder Android, iPhone, Windows, Linux og Mac. Den tilpassede løsning betyder, at brugere, der logger ind via en af platformene, gør det med en krypteret forbindelse og med et certifikat og et særligt program, der kontrollerer, at brugeren er koblet op til den rigtige server og eksempelvis ikke en it-kriminels maskine. Valideringen foregår også den anden vej rundt, så serveren kontrollerer, at opkoblingen sker fra en lovlig klient.

BankID's applikation kan enten ligge på en mobiltelefon, som et program på en computer eller fungere med et kort og en kortlæser, som sluttes til computeren. Den model vanskeliggør ifølge Robert Carlsson man-in-the-middle-angreb - det vil eksempelvis sige angreb af den type, som Ingeniøren demonstrerede i fiktiv form mod NemID i en video i sidste uge.

»Man-in-the-middle-angreb er ikke noget, vi er bekymrede for. Det har vi sat en tilstrækkelig stopper for,« siger Robert Carlsson.

Mindre bøvl end med Java

Det kan måske umiddelbart lyde som lidt af et hyr at holde styr på flere udgaver af BankID's software til de forskellige platforme, men ifølge Robert Carlsson har det faktisk været lettere, end da BankID brugte Java. Derudover har BankID mere kontrol over sin egen applikation end over Java.

»Det var meget vanskeligt for os at lave en god løsning, som var afhængig af 5-7 browserleverandører, 3-4 operativsystemer og så de forskellige Java-versioner. Hvis der skete en ændring i noget af det, kunne det ødelægge alt,« siger han og tilføjer, at en sidegevinst ved at droppe Java har været, at man undgår det problem, at flere platforme ikke understøtter Java.

Ingeniøren har uden held forsøgt at får en kommentar fra leverandøren af det danske NemID, DanID, til Robert Carlssons holdning til sikkerheden i Java. DanID kommenterede dog tidligere i år et debatindlæg i Børsen fra teknisk direktør i Secunia Thomas Kristensen, der problematiserede NemID's brug af Java.

Læs også: Sikkerhedsekspert: Håbløst at basere NemID på Java

Dengang hed det bl.a. i svaret fra DanID's adm.dir. Søren Hjorteflod:

'Det gavner naturligvis ikke tilliden til NemID, at en repræsentant for et sikkerhedsfirma udtaler sig skråsikkert om koblingen mellem Java og NemID, uden at have indsigt i den faktiske tekniske løsning. Det er vanskeligt at imødegå disse påstande, uden at løfte sløret for sikkerhedselementer i NemID, som i sagens natur skal forblive ukendte for de it-kriminelle. Vi kender godt det browserbaserede koncept, som TK (Thomas Kristensen, red.) peger på. Det blev i sin tid fravalgt ud fra en grundig vurdering, på baggrund af den finansielle sektors erfaringer med netbankkriminalitet og vores egen indsigt i digital signatur, og i tæt samråd med de eksterne sikkerhedsfirmaer, der var involveret i udviklingen'.

Første gang brugen af en Java-applet blev kritiseret i medierne, i august 2010, forklarede DanID, hvorfor denne teknologi var blevet valgt. En af begrundelserne var faktisk, at det skulle beskytte imod man-in-the-middle-angreb.

Læs også: Forening: Unødvendigt at bruge usikker Java-applet til NemID

Læs også: DanID vil vise Java-kode frem: »Vi har intet at skjule«

Læs også: DanID: Java-applet skal beskytte mod man-in-the-middle-angreb

Fakta: BankID

Ligesom det danske NemID er det bankerne, der står bag svenske BankID - blandt andet Danske Bank. Herudover er det Handelsbanken, SEB, Swedbank, SkandiaBanken, Länsförsäkringar Bank, Sparbanken Öresund, Sparbanken Syd og Ikano Bank.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (17)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Erik Jensen

Jeg er ikke helt sikker på, jeg forstår hvordan den svenske løsning beskytter bedre mod man-in-the-middle-angreb end den danske. Den danske java-applet tjekker vel også, om den kommunikerer med den rigtige server? Det viste angreb går jo heller ikke mod serveren, men udnytter, at brugeren sender sine oplysninger til en "man-in-the-middle".

  • 2
  • 0
Jan Gundtofte-Bruun

man-in-the-middle-angreb - det vil eksempelvis sige angreb af den type, som Ingeniøren demonstrerede i fiktiv form mod NemID i en video i sidste uge.

Hov hov, er det ikke "DanId-snak" at kalde demonstrationen for "fiktiv"? Som Ing.dk selvfølgelig gør opmærksom på foregik demoen ikke på det rigtige system, men fremgangsmåden er bestemt ikke fiktiv -- som bevist af phishing begivenhederne hos Nordea.

  • 6
  • 0
Jan Gundtofte-Bruun

Det er vanskeligt at imødegå disse påstande, uden at løfte sløret for sikkerhedselementer i NemID, som i sagens natur skal forblive ukendte for de it-kriminelle.

Nååårh! De mener altså "security by obscurity", som jo er en virkelig sikker tilgang til et nationalt system -- nå nej, stik modsat. Det er da "Cryptology 101": Et godt system er sikkert selv når alle detaljer er kendte. Men NemID er jo ikke omfattet af lovgivning om digitale signaturer, så det går jo nok -- nå nej, for de bliver ved med at omtale deres egen løsning som en digital signatur.

Gad (helst ikke) vide hvor galt det skal gå før DanID bliver smidt på porten...

  • 20
  • 0
Bjørn Eskildsen

"BankID's applikation kan enten ligge på en mobiltelefon, som et program på en computer eller fungere med et kort og en kortlæser, som sluttes til computeren"

Det lyder meget som det Digital Signatur fik meget kritik på. Det lækre ved NemID er jo netop at man kan tilgå sine services på alle computere uden først at skal installere et program.

  • 2
  • 1
Jørgen Elgaard Larsen

At en sikkerhedsløsning kræver, at du installerer et program, som i sig selv udsætter dig for risici virkede forkert,

Det er jo det, vi har sagt hele tiden.

Det gavner naturligvis ikke tilliden til NemID, at en repræsentant for et sikkerhedsfirma udtaler sig skråsikkert om koblingen mellem Java og NemID, uden at have indsigt i den faktiske tekniske løsning

Nej: Det gavner ikke tilliden til NemID, at DanID konsekvent nægter at høre efter! Det er jo lige meget med detaljerne om, præcis hvordan NemID bruger Java, når problemer er, at de overhovedet bruger Java. Og man behøver ikke indsigt i detaljerne om NemID for at vide, at en signeret applet har adgang til harddisken.

Men som Jonas Høgh skriver, er det ikke en bedre løsning med særskilte klienter, især ikke hvis deres kildekode er lukket.

  • 10
  • 0
Jakob Møllerhøj

Hej Erik - jeg talte forholdsvist længe med den svenske sikkerhedsdirektør, og det lykkedes ikke at få alle tekniske aspekter af den svenske løsning med i artiklen. Men som andre ovenover har påpeget, så er den ikke ulig den tidligere danske digitale signatur-løsning. Den svenske løsning virker dog på en lang række platforme. Og så er den mobil via kortlæser og mobiltelefonen. BankID-nøgleprogrammet fungerer iøvrigt sammen med en pinkode.

Han forklarede, at man-in-the-middle-angreb vanskeliggøres af, at der ikke er 'hul igennem' til serveren/klienten, hvis ikke kommunikationen sker via det særlige BankID-program i forbindelse med login - som med eksempelvis en vpn-forbindelse, så vidt jeg ved.

Programmet er, som det vist fremgår af artiklen, tilpasset en række platforme, og det er parret med en nøgle-fil af en art. Robert Ericsson forklarede mig, at de havde gjort tiltag for at binde program-nøglefils-komboen til den enkelte maskine - han kendte godt til udfordringen fra den danske digitale signatur, som han dog ikke omtalte ved navn. Han påpegede desuden, at mobilitet alligevel kunne opnås, selvom BankID 'binder ' sig til hardwaren via mobiltelefon eller kortlæser-udgaven af løsningen.

Han indrømmede, at der var security-through-obscurity i BankID's nuværende løsning, men de havde talt om at open source systemet. Derudover kunne han fortælle, at communitiet selv var begyndt at ompakke og distribuere bankid-programmet i andre linux-distributioner, end dem, BankID officielt havde lavet det til - det havde han det fint med.

Hvad angår SSL-løsninger i browsere, så havde han som udgangspunkt ikke megen fidus til den model i BankID-sammenhæng. Det vil sige, selve krypteringen havde han såmænd tillid til, det kneb dog med den øvrige trust-model, som browser-certifikaterne hviler på - han henviste til de tilfælde, hvor virksomheder, der udsteder certifikater, er blevet kompromitterede.

Håber det gav mening.

Jakob - ing.dk/version2.dk

  • 7
  • 0
Erik Jensen

Robert Ericsson forklarede mig, at de havde gjort tiltag for at binde program-nøglefils-komboen til den enkelte maskine


Tak for info. Det giver mere mening forhold til man-in-the-middle, når der indgår en hardwarebunden nøglefil.

Mon ikke også det er det, som DanID tænker på, når de siger, at de har mulighed for at skrue op for sikkerheden, hvis den viste angrebsmetode, skulle blive et problem?

  • 0
  • 0
Niels Wind

"Det er vanskeligt at imødegå disse påstande, uden at løfte sløret for sikkerhedselementer i NemID, som i sagens natur skal forblive ukendte for de it-kriminelle."

Nååårh! De mener altså "security by obscurity",

Det kan jo kun tolkes således DanID mener at hvis én medarbejder snakker over sig eller at data lækkes på anden vis, så er NemID åben for alle hackere. "Skønt"... :-(

  • 4
  • 0
Hans Schou

Jakob Møllerhøj

Han indrømmede, at der var security-through-obscurity i BankID's nuværende løsning, men de havde talt om at open source systemet.


Det lyder godt. Hvis ikke algoritmerne tåler dagens lys, så er det lige så ubrugeligt som NemID.

Jeg har købt en låsecylinder og nøgle til min hoveddør. Der er ingen hemmeligheder i hvordan låsecylinderen er opbygget - den er så at sige open source. Det eneste der er hemmeligt er hvordan min cylinder er konfigureret, og det er samme princip i sikkerhed en BankID og NemID burde have. Så derfor vil jeg godt anbefale BankID er gøre det åbent, eller i de mindste fortælle hvordan man kan skrive sin egen klient.

  • 2
  • 0
Jakob Møllerhøj

Det lyder godt. Hvis ikke algoritmerne tåler dagens lys, så er det lige så ubrugeligt som NemID.

hmmm jahe ... Jeg tænker - uden at vide det med sikkerhed - at det, BankID kvier sig ved i forhold til at gøre løsningen åben, nok ikke er krypteringsalgoritmerne, som formentlig er nogle gængse algoritmer, men nok nærmere de dele af programmet, som binder nøglen til hardwaren.

Jeg ved ikke, hvordan deres hardwarebinding konkret foregår, men måske det er noget med en checksum genereret ud fra mac-adresse, serienummer o.lign.

Og måske er det muligt at spoofe alle disse faktorer - eksempelvis i et virtuel miljø. Og måske er det derfor, de ikke har lyst til at spille med åbne kort, hvad det angår.

Jeg ved ikke, om det overhovedet er muligt at hardwarebinde software på en pc, så det ikke kan omgås?

  • 2
  • 0
Anders Rosendal

Altså hvis jeg er kunde i Stadil Bank, men bor i Nordsjælland, så er det lissom ret upraktisk at skulle tage over til det mørke Vestjylland for at sætte kontanter ind.

Hvor mange sorte penge laver du helt præcist? ;-)

Jeg har i de sidste 15+ år ikke haft brug for at sætte penge ind i banken.

Og tidligere har du skrevet:
"Men ok, vi vel bare ved et kontant samfund (igen) og det er måske heller ikke så ringe endda."

Men hvis du mener det, så er problemet vel ikke så stort?

  • 1
  • 1
Christian Nobel

@Anders.

For du prøver at skyde mig alt muligt i skoen, så var spørgsmålet at det hænder sig man får nogle kontanter, uden det af den grund behøver at være sort!

Der er trods alt stadigvæk en del ydelser der betales kontant, men selvfølgelig med de renter bankerne (ikke) giver, så kan man lige så godt opbevare pengene i en syltetøjskrukke.

  • 0
  • 0
Børge Truelsen

Jeg synes kritikken af nemid er stærkt overdrevet. og ingen system er sikker end den idiot som bruge den. Man in the middel angriben kan jo som jeg ser det ikke nemt ske uden at den person som bruge det. har dumme sig temmelig meget. men man burte måske gøre det mulig at låse sin nemid, så den kun kan bruge på et bestemt computer eller at man skal godkende nogen ting over mobilen eller i det mindste få en advarse hvis der f.eks.hvis der bliver gjordt noget med dit nemid som kunne være en it kriminel. I det hele taget skulle det gøres mulig at lave nogen begræning på, så man ikke kunne overføre penge bare fordi man havde en nemid ... skal måske lave det sådan at man skulle bruge en særlig kode.... hvis man skulle overføre penge og måske forskellige kode efter hvor mange... det ville jo ikke være særlig fedt at hacke en bankkonto hvis man kun kan hæve 500 kr

  • 0
  • 1
Log ind eller Opret konto for at kommentere