Problemet med NemIDs "generelle sikkerhed"

Da Version2 i november demonstrerede hvor let det er, at stjæle en persons NemID ved hjælp af "real-time phishing" var svaret, at det var et "teoretisk angreb." Da det i dag blev offentliggjort--som mange af Version2's læsere sikkert allerede havde anet--at angrebet fungerer helt fint i praksis, var svaret så at det ikke "ændrer i den generelle sikkerhed ved NemID." Det er rigtigt at det ikke ændrer noget, men lad os lige definere hvad "den generelle sikkerhed i NemID" er:

NemID som "digital signatur"

NemID markedsføres aggressivt som en digital signatur, og vist er det digitalt, men det har ikke rigtig noget med signaturer at gøre (med mindre "digital signatur" kun betyder, at det bliver brugt til at udføre handlinger som man normalt skal skrive under på--og så er det ret misledende.)

NemID lader dig logge ind med brugernavn og password, og beskytter den indlogning med to-faktor-autenticering i form af det fysiske nøglekort, eller det digitale nøglekort på mobiltelefonen. Det betyder, at en ondsindet person ikke normalt kan komme langt da de, selvom de opsnapper brugernavn og password, skal vide hvilke nøgler der er på nøglekortet, og hvilken af de nøgler, siden spørger om. Det kan man, som der nu er demonstreret i praksis, komme rundt om ved at være "med på linjen", men generelt er det en god og effektiv sikkerhedsmekanisme.

Men det er "to-faktor-autenticering", ikke en signatur (i dens oprindelige, kryptografiske forstand.)

Digitale signaturer--som de, der blandt andet bruges i SSL--virker ved at hver person har både en offentlig og en hemmelig signatur. Den offentlige signatur kan frit distribueres, medens den hemmelige signatur opbevares et sikkert sted, f.eks. på en hardware-dongle. Sammen udgør signaturerne et digitalt certifikat.

Når en anden person, eller netbank, vil sende personen--lad os kalde hende Alice--en besked, krypterer de beskeden ved at bruge Alices offentlige signatur som en slags "opskrift" for krypteringsalgoritmen således at den krypterede tekst kun kan dekrypteres ved at bruge hendes hemmelige certifikat i algoritmen.

Det betyder at parterne ikke behøver at komme overens om en nøgle, der skal bruges til kryptering (hvilket ville ske på en ukrypteret forbindelse, og ville kunne opsnappes af en mellemmand.) Ergo betyder det, at begge sider kan kommunikere med hinanden uden at sende hemmelig information ud på internettet. Det betyder også, at de kan bekræfte hinandens identitet, uden at bekymre sig om, hvad der sker på linjen mellem dem. Det eneste en mellemmand vil kunne få fat på er begge parters offentlige certifikat, hvilket de kun vil kunne bruge til at sende dem beskeder, ikke til at dekryptere nogle af de beskeder, parterne har sendt til hinanden, eller til at fremstå som en af parterne--samt den krypterede tekst, som de, hvis der bruges en stærk algoritme, ikke vil kunne cracke i den nærmeste fremtid.

NemID bruger som sagt ikke denne mekanisme, men lad os beskrive hvordan det kan implementeres, ved at bruge BankID fra vores nabo, Sverige, som eksempel:

I Sverige udsteder de store banker et specielt kreditkort, der indeholder et (rigtigt) digitalt certifikat, til deres kunder. Kunderne får samtidig en kortlæser som kan tolke informationen på kreditkortet, samt kommunikere med BankID via personens pc. Kunden installerer også BankID-programmet, der blandt andet indeholder driveren til kortlæseren, på deres pc.

Sådan foregår indlogningen:

  1. Alice går ind på Handelsbankens svenske hjemmeside, og klikker på Netbank
  2. Netbanken sender en krypteret besked til BankID-programmet på maskinen, der kontrollerer at beskeden kommer fra en person, der har BankIDs hemmelige signatur
  3. Programmet viser en UAC-popup, der beder Alice bekræfte, at hun vil logge ind
  4. Hvis Alice bekræfter handlingen bedes hun indtaste pinkoden til hendes digitale certifikat på kortlæseren
  5. Hvis pinkoden er korrekt låses den hemmelige signatur på kreditkortet op, og bruges til at lave en besked, der bekræfter, at Alice vil logge ind. Den besked krypteres så ved brug af BankIDs offentlige certifikat, og sendes til BankID-serveren, der kontrollerer at beskeden kommer fra en person med Alices hemmelige certifikat, og at beskeden faktisk er et svar på den besked, den oprindeligt sendte

Der er to store fordele ved denne metode:

  1. Begge parter kontrollerer hinandens identitet, og afbryder forbindelsen hvis der er noget galt. Det betyder, at det ikke er muligt at udføre samme type angreb, som det mod NemID, fordi Alices pc afbryder forbindelsen så snart, den ser, at den phishing-side de er kommet ind på, ikke har BankIDs hemmelige certifikat. (Selv hvis man snyder klienten, vil det, den sender, stadig være krypteret ved hjælp af BankIDs offentlige nøgle, og kun serveren med den hemmelige nøgle kan dekryptere det.)
  2. Man kan ikke løbe tør for koder (fortsat nedenfor)

Implementationen af NemID

De fleste danske banker bruger kun NemID til indlogning. Det vil sige, at har du først logget ind, kan du gøre lige hvad du har lyst til, inklusive overføre penge. Årsagen til dette er formentlig, at koderne på nøglekortet ville blive brugt for hurtigt, hvis det blev brugt mere aggressivt.

Det problem har det digitale certifikat ikke. Derfor bekræfter man enkelte handlinger på samme måde, som når man logger ind: Serveren sender forespørgslen til klienten, der kontrollerer at den kommer fra det rette sted, og klienten svarer så--hvis Alice godkender at hun vil overføre 500kr til Bob--med en besked, der kun kan læses af serveren, og serveren kontrollerer så, at godkendelsen kom fra Alice.

Malware

Et argument, der ofte bruges for NemID er, at Java-appleten kan bruges til at lede efter malware på kundens pc, før det lader dem logge på. Det er helt rigtigt, men det betyder ikke, at der behøves bruges Java--og det samme opnåes med det BankID-program, der installeres på pc'en. En vigtig forskel er, at BankID er installeret før en person bliver udsat for phishing, og kan afbryde forbindelsen hvis maskinen på den anden side ikke er den rigtige, altså hvis Alice ikke faktisk er i kontakt med BankID. NemID beskytter ikke mod phishing-sider, der fremstår som at være NemID, da der ikke er noget på maskinen, der kan kontrollere det.

En anden interessant funktion, der udnyttes af BankID, er Windows' UAC. UAC virker ved at skifte til et helt andet skrivebord (baggrunden, man ser, når en UAC-prompt er oppe, er egentlig bare et screenshot), der ikke kan tilgåes af andre programmer, f.eks. keyloggers. Det betyder, at et ondsindet program har meget svært ved både at følge med, men også med at automatisere processen, og få brugeren til at godkende noget andet end det, de har bedt om. UAC-vinduet viser eksempelvis hvor mange penge man er i gang med at overføre, og til hvem. Indtastningen af pinkoden på kortlæseren bekræfter handlingen.

BankID er langt fra perfekt, men det forhindrer det angreb, banker i Danmark har været udsat for flere gange, og det er et rigtigt, digitalt certifikat--så der er to ting, der slår mig, når jeg læser Nets DanID's svar på "teoretiske" og praktiske angreb:

  1. Hvorfor samarbejder Nets DanID, eller staten, ikke med andre for at øge sikkerheden, når andre, så tæt på som i Sverige, har en velfungerende løsning, der forhindrer denne type angreb? Hvorfor skal hjulet genopfindes--og hvorfor i skjul? Det er stik imod Kerckhoffs' princip, og almen, kryptografisk praksis.

  2. Hvorfor virker det ikke til, at der lyttes til input fra offentligheden, inklusive de fleste af landets førende sikkerhedseksperter, når systemet berører (og kan skade, økonomisk og personligt) næsten alle danskere?

Patrick Mylund Nielsens billede
Patrick er en del af Kaspersky Lab's Global Research and Analysis Team sammen med forskerne der fandt blandet andet opdagede Stuxnet, Duqu og Flame. Han har arbejdet med softwareudvikling, optimering og sikkerhedstesting og specialiserer sig i dag i applikations- og netværkssikkerhed, kryptologi, fysisk sikkerhed og social engineering. Han blogger om alle disse emner.

Kommentarer (48)

E. Sjørlund

Tak for den velskrevne artikel.
Ved du hvem, der genererer den private nøgle i det svenske BankID system?
Som jeg set det, er det afgørende, at banken ikke vil kunne udstede et andet kort med samme offentlige/private nøgle, men det kræver jo at brugeren på en eller anden måde selv er med til at generere dem.

Patrick Mylund Nielsen Blogger

Jeg må indrømme, at jeg ikke har intim kendskab til nøglegenereringen, da BankID også er et lukket system. (De har dog snakket om, at det skal open-sources!) Min forståelse er, at:

  1. BankID er root CA
  2. Handelsbanken er intermediary, og kan genere og signere certifikater for dens kunder
  3. Når en nøgle udstedes, gemmes den private signatur på "kreditkortet", og kun den offentlige signatur beholdes
  4. Hvis kunden taber kortet, udsteder banken et nyt certifikat/kreditkort, og kunden sætter det i sin kortlæser i stedet
  5. Portaler, der bruger BankID/Handelsbanken som login-system får besked fra en central server, der holder styr på revocation, og bekræfter identitet vha. de aktive offentlige signaturer
Markus Hens

Tyskere har implementeret lige præcis sammen koncept med deres borgerkort (nPA). Har selv et og det virker ganske udmærket (altså bortset fra at man skal have en kortlæser). Fordelen er, at man kan bruge sammen kort til at bevise sin identitet både digital og i "real life" fx på kommunen eller Politiet.
Borgerkortet kan pt. bruges ved en række forsikringsselskaber, kommuner og statslige institutioner og bliver obligatorisk at understøtte for det offentlige fra 2013 af. Før alle har et nyt borgerkort går der desværre 10 år, da de gamle kort beholder deres gyldighed.
De brugte certificater udstedes med Staten som RootCA og alle, der vil tilbyde tjenester skal registreres og godkendes af Staten.

Thue Kristensen

BankID er langt fra perfekt, men det forhindrer det angreb, banker i Danmark har været udsat for flere gange

Jeg ville ikke sige at BankID kunne have forhindret det sidste angreb. Hvis de kriminelle har overtaget kontrollen med din computer, så er der ikke noget at gøre, for de kan vise hvadsomhelst på skærmen.

Et system som Chiptan, som Henrik Madsen nævner, er sikker mod dette problem. Ved simpelthen at give alle en ekstra lille sikker computer.

Finn Aarup Nielsen

"Begge parter kontrollerer hinandens identitet" (med BankID)

Det sker til en vis grad også i NemID, da det kodetal der kommer fra NemID skal matche en af kodetallene på kortet, ellers vil brugeren blive mistænkelig.

Jeg kender ikke BankID, men hvad sker der hvis en brugers computer bliver inficeret og BankID programmet bliver erstattet af et program der ligner BankID?

Patrick Mylund Nielsen Blogger

Hvis de kriminelle har overtaget kontrollen med din computer, så er der ikke noget at gøre, for de kan vise hvadsomhelst på skærmen.

Det er selvfølgelig helt rigtigt at det ville være mere sikkert hvis det var helt isoleret, men du skal stadig besejre UAC for at kunne give brugeren indtrykket, at de godkender noget andet. (UAC-prompten er oppe så længe kortlæseren prompter dig om pin-koden.) Selv om du har kontrol over maskinen har brugeren selv mulighed for at kontrollere, at alt er korrekt.

E. Sjørlund

"det kodetal der kommer fra NemID skal matche en af kodetallene på kortet"

Der kommer ikke noget kodetal i forbindelse med en nøglegenerator. Danske Banks Active Card genererede en kode ud fra et tal fra banken, NemID har fjernet den del af sikkerheden.

Patrick Mylund Nielsen Blogger

Det sker til en vis grad også i NemID, da det kodetal der kommer fra NemID skal matche en af kodetallene på kortet, ellers vil brugeren blive mistænkelig.

Den ene vej, ja. Men klienten kontrollerer ikke, at den faktisk har fat i NemID.

Jeg kender ikke BankID, men hvad sker der hvis en brugers computer bliver inficeret og BankID programmet bliver erstattet af et program der ligner BankID?

Hvis du kan overskrive BankID med et program, der kan kommunikere på nøjagtig samme måde med kortlæseren og BankID-serveren, så er der rigtig nok ikke meget, der forhindrer, at den ikke bare viser falsk information i UAC-popupen. Som Thue skrev vil det mest sikre være en helt isoleret maskine, der viser information om hvad det er, du bekræfter.

Mikkel Snitker

UAC er ikke sikkerhed.
Du kan så let som ingenting få UAC til at imitere et vilkårligt program installeret på din maskine.

Hvis du først har mulighed for at eksekverer kode på dit offers computer kan du godt glemme alt om at det du ser på skærmen er valid.

UAC er kun tiltænkt til at fortælle brugeren at computeren nu vil køre noget kode der kræver eleveret rettigheder. At der står et program navn og en udgiver har intet at gøre med at den kode du køre er del af det program der står i UAC’en.

Så at der står at publisheren er DanId er ikke en garanti for koden ikke er lavet af John Doe

God weekend

Patrick Mylund Nielsen Blogger

Og så er det jeg ikke helt er klar over om du er ironisk, eller fuldstændig har mistet jordforbindelsen?

Hvorfor det? Af de sikkerhedsfunktioner Microsoft har introduceret de seneste år, er UAC da klart én af de bedste. Jeg siger ikke, at det er skudsikkert, eller at sikkerheden i Windows historisk har været høj, men det er betydeligt sværere at forfalske end en Java-applet.

Christian Nobel
Jørgen Larsen

Først og fremmest tak for artiklen. Set i forhold til den 'gængse' kritik af Nem ID ser jeg flere udfordringer:

1) Løsningen virker tilsyneladende kun i forhold til Windows? En hurtig google fortæller, at UAC ikke er en sikker løsning?

2) Der skal installeres et program på brugerens maskine. Kan ikke se, at det dybest set er anderledes end Nem ID? Omtalte Bank ID applikation skal vel med jævne mellemrum opdateres? Brugeren skal altså foretage omtalte installations proces flere gange

3) Det er banken som laver den private og offentlig nøgle?

Jeg kan vel dybest set ikke logge ind i banken, biblioteker m.m. fra en vilkårlig computer?

Patrick Mylund Nielsen Blogger

Og så er det jeg spørger dig en gang til - det har ikke foresvævet dig at der er en hel del mere her i verden end W7 og WV computere?

Helt sikkert, men Windows har stadig suverænt størst markedsandel, og er af samme grund (men ikke kun) den platform, der er mest udsat. Der er flest penge at tjene der.

Hverken OS X eller Linux (Xorg) har noget, der er lige så godt som UAC--og med det mener jeg ikke en mekanisme til at eskalere rettigheder, men til at forhindre, at der kan manipuleres med den dialog, der fremvises.

Patrick Mylund Nielsen Blogger

1) Løsningen virker tilsyneladende kun i forhold til Windows?

så hvis bankens brugere benytter andet end Windows så er det bare ærgerligt?

Slet ikke. Public-key-autenticeringen forhindrer MITM-angreb på alle platforme. UAC gør det bare sværere at opsnappe og manipulere med de dialogbokse, BankID viser.

Hvis en ondsindet bruger både får administrator-adgang, og har skrevet et program, der opfører sig som BankID, er der ikke en stor forskel, og en fuldstændig isoleret løsning som Chiptan (selv om det ikke er et digitalt certifikat) vil være mere effektiv. Men det er lang vej fra at omdirigere personer til en phishing-side.

2) Der skal installeres et program på brugerens maskine. Kan ikke se, at det dybest set er anderledes end Nem ID? Omtalte Bank ID applikation skal vel med jævne mellemrum opdateres? Brugeren skal altså foretage omtalte installations proces flere gange

NemID tvinger brugeren til at installere Java, men beskytter ikke mod at en bruger henter en fremmed Java-applet, eller går til en side, der bare ligner NemID-appleten.

BankID installerer BankID-programet, der er betydeligt mindre end JRE, og samtidig kun kommunikerer med en server, der har den rigtige hemmelige nøgle.

Programmet kan opdateres hvis sikkerhedshuller opdages. Fordi klienten ved, hvad BankIDs offentlige nøgle er, tager den kun imod opdateringer fra BankID.

3) Det er banken som laver den private og offentlig nøgle?

Ja, men du har den hemmelige nøgle.

Jeg kan vel dybest set ikke logge ind i banken, biblioteker m.m. fra en vilkårlig computer?

Jo, hvis du tager kreditkortet med den hemmelige nøgle med dig, og computeren har BankID-programmet installeret.

Jeg vil mene at det er vigtigere, at klienten laver en integritetskontrol, end at man kan logge på netbank fra en vilkårlig pc, der ikke har klientprogrammet installeret.

Michael Olesen

"" Jeg kan vel dybest set ikke logge ind i banken, biblioteker m.m. fra en vilkårlig computer? ""

Jo, hvis du tager kreditkortet med den hemmelige nøgle med dig, og computeren har BankID-programmet installeret.

Glemte du ikke kortlæseren?! ;)

Thomas Hansen

Den generelle sikkerhed er vi enige om er for ringe i NemID.

Uanset hvilken løsning man vælger, skal der være tale om sikker identifikation.
Det kan kun lade sig gøre, hvis enhver kan tilspørges, som den identitet man er.

Uanset hvilken løsning man vælger, så kan den hackes. Om man vælger den ene eller den anden løsning, Svensk, tysk, eller MS, så der den ikke skudsikker.
Derfor så skal man benytte en løsning, hvor selve identifikationen, ikke ligger som en del af brugeres system, men som en del af serversiden.

Man skal i praksis kunne identificerer sig selv, fra en hvilken som helst computer, mobil eller ej, fra et hvilken som helst sted i verden.
Det skal fungere på den måde, fordi det ikke er muligt for "fru Jensen" at holde sin PC fri for virus, trojaner, eller andet.

Det er i øvrigt også umuligt, at holde selve forbindelsen sikker, alt kan aflyttes, og bliver det.

Selve Statens pligt i forbindelse med identifikationen, er ret enkel, og det er som sådan den eneste pligt Staten har.

De individuelle myndigheder, eller private aktører, kan derefter vælge hvilken logonløsning de må finde tilstrækkelig sikker. Det kommer som sådan ikke staten ved, hvilken bank eller løsning man vælger, det er bankens problem ( Netz ).
Tilsvarende gælder for myndigheder, der frit bør kunne vælge en tilstrækkelig sikker løsning, set i forhold til opgaven.

At man vælger NemID som en samlet løsning, medfører at man kun skal kompromitterer brugeren en gang, for at kunne kompromitterer brugeren fuldstændigt.
Vælger man en løsning, hvor brugeren skal kompromitteres op mod flere forskellige løsninger, forstærker man brugerens sikkerhed tilsvarende.

Få det adskilt, så det ikke er samme login til alt.
Det kan kun højne sikkerheden.
Især hvis man foretager en nogenlunde almindelig overvågning af serversiden, er det muligt næsten fuldstændigt at eliminerer identitetstyverier, eller andre former for net-svindel.

Det er i øvrigt en af kravene til NemID, at det skal fungerer som sikker identifikation. Det kan det ikke, for der er ikke tale om en identifikation, men om en udredning over for 3'die person.
Man kan kun identificerer nogen som helst, hvis de identificerer sig selv.

Alt det vi her diskuterer, er noget man i forvejen er vidende om. Det er blevet forklaret til alle, et utal af gange.
Det er ikke et spørgsmål om man ikke VED at man er helt galt afmarcheret, og derfor skal lave løsningen om. Det er et spørgsmål om VILJE, til at lave det om. Man VI simpelthen ikke, uanset hvor uforståeligt det så end forekommer alle andre end de ansvarlige.

"
1) Hvorfor samarbejder Nets DanID, eller staten, ikke med andre for at øge sikkerheden, når andre, så tæt på som i Sverige, har en velfungerende løsning, der forhindrer denne type angreb? Hvorfor skal hjulet genopfindes--og hvorfor i skjul? Det er stik imod Kerckhoffs' princip, og almen, kryptografisk praksis.

2) Hvorfor virker det ikke til, at der lyttes til input fra offentligheden, inklusive de fleste af landets førende sikkerhedseksperter, når systemet berører (og kan skade, økonomisk og personligt) næsten alle danskere?
"

Man handler bevidst i mod bedre vidende !
Det er i sig selv en kriminel handling !

I øvrigt et rigtigt godt indlæg om selve krypteringsdelen. :)

Morten Andersen

Hej Patrick

Du redegør detaljeret for at NemID ikke er en digital signatur. Er du bekendt med at hver bruger har deres egen privatnøgle og kan generere standard PKCS#1 digitale signaturer vha. denne (via NemID's CSP)? Jeg mener det er forkert at sige at NemID ikke er en digital signatur. Det svarer til et smartcard, blot er "smartcardet" remote (i.e. det ligger inde på DanID's maskiner) og i stedet for PIN anvendes en engangsnøgle.

Nikolaj Brinch Jørgensen

Hvorfor det? Af de sikkerhedsfunktioner Microsoft har introduceret de seneste år, er UAC da klart én af de bedste. Jeg siger ikke, at det er skudsikkert, eller at sikkerheden i Windows historisk har været høj, men det er betydeligt sværere at forfalske end en Java-applet.


Patrick jeg tror du misforstår helt og holdent. En del af os benytter os ikke af MS Windows. Vi bruger OS X og/eller Linux, Solaris osv. Kan man overhovedet det med BankID, eller er det en Windows only løsning?

UAC er iøvrigt kun en halv løsning, da den ikke beder om password. Det får de fleste til bare at trykke OK, hvor et password får mange til at læse hvad de giver adgang til.

Nikolaj Brinch Jørgensen

Lave en phising site, der henter en forfalsket BankID applikation som installeres på brugerens maskine. Det handler jo ikkeom at BankID og deres app er super sikker osv. Det handle om at opføre et sikkerhedscirkus for brugeren der er overbevisende nok , til at lokke information nok ud af brugeren til at lave enten offline eller online replay attacks, så man kan overføre penge eller lignende.

Patrick Mylund Nielsen Blogger

Patrick jeg tror du misforstår helt og holdent. En del af os benytter os ikke af MS Windows. Vi bruger OS X og/eller Linux, Solaris osv. Kan man overhovedet det med BankID, eller er det en Windows only løsning?

Virkelig... Solaris? :)

BankID fungerer på OS X, Linux, Windows, m.fl. UAC var en interessant pointe ved deres Windows-implementation--that's it.

Som jeg har sagt flere gange bruges UAC ikke til at elevere privileger i Windows, men til at vise BankIDs interface. Desuden ændrer det ikke i, at der skal bruges kortlæser.

Morten Andersen

Patrick, jeg ville mene det ville være en fordel hvis du delte op i hvad der "teknisk" kan lade sig gøre og hvad du mener er sikkerhedsmæssigt hensigtsmæssigt.

Rent teknisk ER NemID en digital signatur, og du kan lave public key autenficering.

At du så ikke stoler på det er jo en separat diskussion!

Patrick Mylund Nielsen Blogger

Rent teknisk ER NemID en digital signatur, og du kan lave public key autenficering.

Kan jeg bruge min digitale signatur til at logge ind som beskrevet ovenfor?

Du har ret i, at det er forkert at sige, at det ikke har noget med digitale signaturer at gøre, når det genererer et nøglepar for dig. Men på den anden side bliver det nøglepar ikke brugt, og brugeren ejer ikke selv sin nøgle -- så i praksis er der ikke stor forskel.

Denis Roche

Jeg tænker på 2 nemme ting :

1 - Før nemid havde jeg også et papkort til min netbank. Jeg brugte password + papkortkode til at logge ind og for hver transaktion brugte jeg igen papkort. En nem løsning og mere sikker en den eksisterende (dog ikke helt sikker). Men som jeg forstår det bankerne vil ikke have det pga dårlig brugervenlighed.

2 - Hvorfor skal jeg (og en hacker) have mulighed for noget som jeg ikke bruger ?
Hvad er risiko ved at nogle kommer ind i min netbank ? At de overfører mine penge et andet sted.
Hvor tit laver jeg selv penge overførsel ? 1 gang til udland for nyligt (og det måtte jeg ikke lave via netbank). 3 til 4 gang indenfor DK i de sidste 20 år.
Så hvis som standard man spærrer overførsler til andre konti, så kan hackerne ikke gøre meget. Jeg kan sagtens gå/ringe til banken hver gang jeg skal lave en pengeoverførsel.
Spørgsmålet er så hvor mange er lige som mig ? Jeg tror rigtig mange.
Og hvis man tilføjer en løsning hvor man skal godkende på forhånd nogle konti hvor man tit overfører penge (ved at gå til banken). Så er der endnu flere.
Og så er der alle dem der skal kunne overføre penge forskellige steder. Så må de og bankerne leve med risikoen. Men det betyder også at hackerne skal lige finde dem.

Henning Wangerin

Et system som Chiptan, som Henrik Madsen nævner, er sikker mod dette problem. Ved simpelthen at give alle en ekstra lille sikker computer.

Chiptan har også set realtime-angreb, hvor klienten har været knækket.
Opfang data om overførsel - send noget andet til banken - få brugeren til at godkende den.

Probleme var at normalt vises modtages konto-nummer mv på kortlæseren, men der kan også laves en samle-betaling, hvor kun antal betalinger og samlet beløb vises -også selvom der i praksis kun er en enkelt betaling.

I princippet rimeligt simplet, men rimelig nem at sikre sig imod hvis man ved hvordan.

Christian Nobel

@Denis

Hvis "NemID" var begrænset til ren bankhalløj, så tror jeg de fleste ville være relativt ligeglade med den elendige sikkerhed - problemet er at man er ved at påtvinge samtlige borgere her i landet løsningen til alt muligt andet end bankforretninger, og så endda har den frækhed at kalde det en digital signatur, trods det den ikke lever op til den grundlæggende lovgivning.

Patrick Mylund Nielsen Blogger

Forstår ikke hvad du mener med at "det nøglepar ikke bliver brugt". Det bliver da brugt hver gang nogen logger på f.eks. SKAT.

Jeg ved ikke om du refererer til en specifik sektion af SKAT.dk, men det eneste der sker, når jeg logger ind på SKAT.dk via login.sikker-adgang.dk er, at NemIDs API godkender mit brugernavn, password, og OTP, hvorefter SKAT.dk opretter en session med mig. Jeg bruger hverken min private eller offentlige signatur til at kryptere information eller bekræfte identitet.

Hele pointen ved public-key autenticering, asymmetrisk kryptering, Diffie-Hellman exchange, osv. er, at du kan sende og modtage information, samt bekræfte identitet, uden at skulle udveksle følsom information som f.eks. krypteringsnøgle. Det undgår du ikke med NemID.

Rasmus Faber-Espensen

det eneste der sker, når jeg logger ind på SKAT.dk via login.sikker-adgang.dk er, at NemIDs API godkender mit brugernavn, password, og OTP, hvorefter SKAT.dk opretter en session med mig.

Når login.sikker-adgang.dk starter appletten, anmoder de dig om at underskrive en challenge med din(*) private nøgle. Når du har indtastet brugernavn, password og OTP, genererer appletten (med hjælp fra serveren) en XMLDsig signatur indeholdende en RSA signatur og dit POCES certifikat. Efter at have verificeret signatur og certifikat laver login.sikker-adgang.dk et SAML-token, som de videresender til SKAT.dk.

(*) Nitpickers corner: det er tilsyneladende diskutabelt, om man må kalde det "din" private nøgle. Det er i hvert fald en RSA nøgle, hvortil der er udstedt et certifikat i dit navn.

Morten Jensen

Vi er næsten enige :) NemID fremføres som en digital signatur og fungerer som du siger rent teknisk som en sådan, men rent juridisk er NemId ikke en digital signatur! Hverken i dk eller eu regi.

Det er helt vildt vigtigt at DanID og det offentlige har fortiet og fornægtet al kritik af sikkerheden i NemID. Man er tvunget til at bruge det, produktet er proprietært og monopolindehaveren betales pr. logon eller pr. kunde. De har et troværdighedsproblem.
Alle deres hurtige svar på kritik er faldet til jorden indenfor 2 år. Først ville man ikke levere NemID med ægte privat hardware-nøgle, fordi det ville blive for dyrt. "Det er teknologien ikke moden til" [1]. Ingeniørens "teoretiske" phishing angreb [2] på NemID blev til virkelighed og nu er balladen der igen. Hvad blev der af de lovede USB sticks? Efter de første forsinkelser hørte man ikke rigtigt mere.

[1] http://www.version2.dk/artikel/ny-digital-signatur-foelger-ikke-loven-de...
[2] http://www.version2.dk/artikel/danid-afviser-kritikken-et-teoretisk-scen...

Patrick Mylund Nielsen Blogger
Morten Andersen

Patrick, det er stadig forkert. Nemid løsningen (OCES-delen) fungerer således, at hver borger har et personligt nøglepar liggende på serveren. Når brugeren verificerer password/engangsnøgle i appletten så autoriserer det Nemid serveren til at udføre én signatur med den pågældende brugers nøglepar.

I SKAT's eksempel er der flere lag i det fordi der også er et Single-Sign on system (det offentlige sikker-adgang) i spil så det i sidste ende er en XAML meddelelse herfra der autoriserer adgangen til SKAT. Men SKAT kunne også være konstrueret sådan, at det simpelthen blot verifierede en OCES-signaturen der var skabt af borgerens personlige nøgle.

En del af dine kommentarer,

  • 'Det bruges ikke til autenticering/kryptering mellem kunden og NemID (før sessionen er oprettet),'
  • 'det eneste der sker, når jeg logger ind på SKAT.dk via login.sikker-adgang.dk er, at NemIDs API godkender mit brugernavn, password, og OTP, hvorefter SKAT.dk opretter en session med mig.'
  • 'Men på den anden side bliver det nøglepar ikke brugt, og brugeren ejer ikke selv sin nøgle -- så i praksis er der ikke stor forskel.'

vidner om at du slet ikke har forstået kerneelementerne i Nemid løsningen! Så er det måske lidt utidigt at begynde at udtale sig om 'problemerne med nemids generelle sikkerhed'?!

Klavs Klavsen

Nu virker det jo til at både den svenske og tyske løsning er mere sikker end NemID - ihvertfald rent teknisk.

Men, findes der en statistik for antal netbank indbrud pr. bruger for de forskellige lande/løsninger ?

Det kunne være interessant og se om der er nogen der har brudt chiptan/BankID - de har jo levet længere og det gik rimelig hurtigt med NemID må man sige.

Uanset vil jeg altid foretrække SELV at være den ENESTE der har min private nøgle - og meget gerne på et kort indrettet der til (hvor man ikke kan liste nøglen ud af kortet, når det sidder i en kortlæser - som man ville kunne med en simpel usb nøgle. Der findes usb-tokens til præcis dette formål - så skal vi bare tilbage til den IMHO gode løsning vi havde tidligere - og så må de da godt tilføje det nøglekort hvis de vil.

Patrick Mylund Nielsen Blogger
Morten Andersen

Du drejer nu væk fra det jeg skrev om. Faktum var at du ikke var klar over, at hver bruger i Nemid var tilknyttet sit eget nøglepar. Du troede det bare var en SSO løsning. Det fremgår bl.a. af de citater jeg kopierede.

Over-and-out.

Log ind eller opret en konto for at skrive kommentarer