[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [SIGNATUR] Bruteforce-cracking af PID (was: Certifikat tilAnders And)



søn, 2002-07-07 kl. 22:14 skrev "Guldberg,Jørn JGU": 

    > Der er ikke nogen grund til at anvende en funktion til at danne
    PID numre udfra CPR nummeret. Det ville som Anne angiver, skabe
    basis for at finde den inverse funktion.  

Oplysningerne fra www.kmd-ca.dk tyder netop på at PID-numre dannes udfra
CPR-numre og derfor har jeg regnet med at dette er korrekt forstået. Jeg
tillader mig at fortsætte med denne antagelse for at analysere
problemstillingen i bund. 

Teorien for dette beskrev jeg i et tidligere brev: 
søn, 2002-07-07 kl. 13:52 skrev Anna Jonna Armannsdottir: 

> Sammenhængen mellem PID og CPR er een til mange, hvilket vil sige at
for 
> en given PID, kan der kun eksistere ét CPR-nummer. 
> 
> Dette vil sige at for et givet CPR-nummer eksisterer der en mængde 
> PID-numre. Jeg lader M betegne mængden af alle teoretisk mulige 
> PID-numrene for et givet CPR-nummer CPR-A. For to forskellige
CPR-numre 
> CPR-A og CPR-B med tilhørende M-A og M-B vil fællesmængden af 
> PID-numrene M-A og M-B være en tom mængde. 
> 
> Dette er forudsætningen for at der kun kan være ét CPR-nummer for et 
> givet PID-nummer og samtidig er det forudsætningen for min metode her.
Det følger af ovenstående at der eksisterer én-til-én sammenhæng mellem
mængden M-A og CPR-nummeret CPR-A. Ligeledes er der én-til-én sammenhæng
mellem M-B og CPR-B. Problemet er altså at identificere den mængde M som
PID tilhører. Nu er det ikke nødvendigt at beregne hele mængden M, idet
det er tilstrækkeligt at beregne en delmængde der indholder PID. Dermed
har man identificeret den mængde M som PID tilhører og så kan man bruge
én-til-én sammenhængen mellem M og CPR til den trivielle opgave at finde
det tilsvarende CPR-nummer. 

Det som vitterligt kan gøres svært er for hvert CPR-nummer at generere
et tilstrækkeligt antal medlemmer af M så man kan være sikker på at PID
er blandt disse. Spørgsmålet er så hvordan man kan være sikker. Svaret
ligger i Entropien. 
Som nævnt ovenfor er forudsætningen for denne metode, at der kun kan
eksistere ét CPR-nummer for hvert PID-nummer. Det medfører at der skal
tilføjes entropi til de oplysninger (CPR-nummeret) som er grundlaget for
PID-nummeret. Hvis man kan se at der ikke er væsentlig forskel på
entropien i PID nummeret og i CPR-nummeret kan man dermed lave et
estimat for hvor stor en entropi der er tilføjet CPR-nummeret. Netop
dette er tilfældet for de PID numre jeg har set indtil nu. Der er ingen
væsentlig forskel på entropien. Så kan man komme med et slag på tasken
om hvor mange muligheder man skal gennemsøge for hvert muligt
CPR-nummer. Umiddelbart ville jeg gætte på tusind for at være sikker. 

Mao. hvis man konstaterer at der ikke er nogen væsentlig forskel i
entropierne kan man indledningsvis gennemsøge feks 1000 forskellige
muligheder for hvert CPR-nummer. 


søn, 2002-07-07 kl. 22:14 skrev "Guldberg,Jørn JGU": 
    Det eneste rigtige er en randomfunktion. Specielt når man tager det
    begrænsede udfaldsrum ( 20-25 Mio - der er lidt flere end du regner
    dig frem til) i betragtning.

I hvert konkret tilfælde kan man begrænse det mulige udfaldsrum til en
brøkdel af de 10 eller 20 milloner som det ville tage. For at finde dit
CPR-nummer ville jeg begynde med at gætte på at du er født mellem årene
1950 og 1980.
Altså vil jeg i første omgang undersøge et antal fødselsdage: 
20 x 365.25 = 7305. 

For hver af disse fødselsdage kan der være maks. 550 muligheder i
udfaldsrummet for CPR-nummerets firciffrede endetal. Idet du er født før
år 2000 kan tallet kun være mellem 0000 og 4999 hvilket halverer
antallet af muligheder hvilket giver 275 muligheder. Idet jeg ved at
dette skal være et ulige tal kan halvdelen af de resterende muligheder
udelukkes hvilket i gennemsnit giver 138 muligheder for hver af disse
fødselsdage. 

Det samlede antal muligheder som undersøges i første omgang er:
7305 x 138 = 1008090 
Rundt regnet én million. 

For at beregne 1000 forskellige PID-numre for hvert af disse mulige
CPR-numre skal der gennemføres en milliard iterationer hvilket svarer
til at bruteforce-cracke en adgangskode på 5 til 7 tegn. 

Hvis man til gengæld kender fødselsdagen og køn f.eks. fra et CV. (Jeg
har lige læst Arnes CV og kender hans fødselsdag) så er der faktisk blot
138 mulige CPR-numre hvilket er en overkommelig opgave. 

Min konklusion af ovenstående er, at der må tilføjes væsentlig entropi
til de oplysninger der indgår i PID-nummeret- En tilføjelse af entropi
på blot 128 bits ville gøre min metode fuldstændig uoverkommelig at
gennemføre i praksis. Problemet er bare at 128 bits svarer til 31
heksadecimale ciffre og et CPR-nummer kan koges ned til 8-10
heksadecimale ciffre. Alt i alt giver dette en entropi på ca. 40
heksadecimale ciffre. 

Så har vi det problem at gamle fru Olsen står af når hun skal til at
oplyse sit PID-nummer over telefonen hvis det er så langt. Så kan vi da
ligeså godt bruge krypteringsnøglens fingeraftryk. 

Det kunne være en fordel hvis folk selv kunne vælge om deres PID-nummer
skal dannes ud fra krypteringsnøglens fingeraftryk eller om det skal
være baseret på CPR-nummeret. 

-- 
med venlig hilsen, Anna Jonna Armannsdottir 
...ooO0Ooo... 
»Det seneste år har vist os mere end nogensinde, at hvis 
menneskerettigheder ofres i kampen for fred og sikkerhed, 
så bliver der ingen fred og ingen sikkerhed«. 
Irene Khan, Amnesty Internationals generalsekretær.



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:33 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *