Java-baseret NemID-teknologi for usikker til svenskerne
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.
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.
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.
Kommentarer (31)
For syv sytten hvor ville jeg gerne se, hvad der skete, hvis blot een bank tilbød en sikker netbankløsning uden NemID.
Men jeg har sgu ikke lyst til at tænke på hvordan 6+ native applikationer udviklet af DanID ville være i forhold.
blot een bank? Der findes fem! Jeg er meget glæd for Stadil Sparekasses netbank.
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".
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.
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...
Vel og mener gør desværre ikke mig meget klogere
Undskyld den lige kringlede formulering fra min side. Slet "vel" og "Mener at huske, at" fra mit svar, og læs det igen. Jeg bruger selv 3 banker, og har aldrig været fysisk i nærheden af nogen af dem. Den ene gang jeg har haft brug for at indsætte kontanter, gjorde jeg det med et girokort på posthuset.
Man kan godt overføre.
Jeg får min løn overført til min lønkonto, som er desværre uden netbank pga. NemID. Penge fra rejseafregninger får jeg overført til Stadil Sparekasse. Det er nok til regninger som kører ikke igennem PBS/betalingservice.
Undskyld den lige kringlede formulering fra min side. Slet "vel" og "Mener at huske, at" fra mit svar, og læs det igen. Jeg bruger selv 3 banker, og har aldrig været fysisk i nærheden af nogen af dem. Den ene gang jeg har haft brug for at indsætte kontanter, gjorde jeg det med et girokort på posthuset.
Men er det ikke også noget med hæftige gebyrer - og hvis der er flere der benytter sparekasserne kunne man jo frygte at de ville komme på en sortliste hos Netsklubben, så gebyret for at sætte ind ville overstige beløbet.
Men ok, vi vel bare ved et kontant samfund (igen) og det er måske heller ikke så ringe endda.
Man kan godt overføre. Jeg får mit løn overført til min lønkonto, som er desværre uden netbank pga. NemID. Penge fra rejseafregninger får jeg overført til Stadil Sparekasse. Det er nok til regninger som kører ikke igennem PBS/betalingservice.
Ja jeg tvivler ikke på at man kan overføre, mit spørgsmål gik på hvordan man laver indsættelse af kontanter.
"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.
Man laver indsættelse af kontanter som i andre banker.
Måske forstår jeg ikke spørgsmålet?
Man laver indsættelse af kontanter som i andre banker. Måske forstår jeg ikke spørgsmålet?
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.
Så hvordan gør jeg det, når Stadil Sparekasse ikke har en filial i min del af verden?
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.
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
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?
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. Så hvordan gør jeg det, når Stadil Sparekasse ikke har en filial i min del af verden?
Prøv at finde en bank i nærheden af, hvor du bor. Det kan være hvilken som helst bank. Nordea eller Danske Bank f.eks.. Der går du så ind med dine kontanter, og dit kontonummer i den vestjyske bank, og beder dem om at overføre beløbet til din konto i den vestjyske bank. De vil nok opkræve et gebyr, hvis du ikke er kunde hos dem. Men det kan du jo blive - også uden at bruge NemID.
Og undskyld for at forplumre debatten om "Java-baseret NemID-teknologi" med dette. Jeg giver mig selv en thumbs-down.
Eller også kan man gå ind på et posthus og udfylde og betale et girokort til ens kontonummer i sparekassen i Stadil.
Jeg benytter selv Andelskassen J.A.K. i Slagelse, som heller ikke benytter nemid. De har almindelige tjenester, incl. betalingsservice. netbank koster 0 kr i oprettelse, 0 kr i årligt gebyr, og 0 kr per transaktion. De siger at hvis de går over til nemid, vil de også beholde deres gamle login-metoder.
"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"... :-(
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.
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?
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?
@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.
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

