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.