Avatar billede noaz Nybegynder
15. juni 2003 - 19:39 Der er 14 kommentarer

algoritme til at beregne password sikkerhed

jeg skal bruge en algoritme der hurtigt kan beregne om et password er sikkert..

de pågældene passwords kan indeholde alle tegn.

et godt eksempel er programmet 'steganos security suite 5' der beregner sikkerheden i bit, mens det bliver skrevet.

algortimen skal ikke give det samme resultat ved 'aa', 'a1', 'a_' og 'aA'..

Desuden skal resultatet kunne bruges til at sammenligne sikkerheden ved forskellige passwords..
Avatar billede Slater Ekspert
15. juni 2003 - 20:21 #1
I don't get it... hvad mener du med "sikkerhed" mht. passwords?
Avatar billede driis Nybegynder
15. juni 2003 - 20:48 #2
Det afhænger jo 100% af, i hvilke algoritmer passwordet skal bruges. F.eks., hvis du udregner en nøgle til brug ved noget kryptering, så kan det være at flere forskellige kombinationer af bogstaver giver samme nøgle - og ved disse kombinationer er der så mindre sikkerhed end ved andre.
Avatar billede noaz Nybegynder
15. juni 2003 - 22:19 #3
de pågældene passwords skal blot bruges til brugerkonti i en mySQL database, hvor algoritmen hedder SHA1.. det er såmænd alt..
Avatar billede noaz Nybegynder
15. juni 2003 - 23:51 #4
'steganos security suite 5' bruger AES..
Avatar billede noaz Nybegynder
15. juni 2003 - 23:53 #5
viperine - hvor sikkert passwordet er.. hvor lang tid det vil tage at udvinde det hva. bruteforce..

(jeg tager ikke højde for dictionary hack, da dette ville kræve at jeg checkede passworded via en db (det tager for lang tid), desuden er det meget nemt, så det kan jeg altid tilføje).
Avatar billede michaelemanuel Nybegynder
16. juni 2003 - 09:24 #6
Hvis password kun består af små bogstaver, så har du 26 muligeheder.
Både store og små bogstaver giver 54.
Hvis du også medtager specialtegn, er du oppe på 96 muligheder.

Herefter kan du udregne antal kombinationer ud fra hvor mange tegn dit password er på. F.eks 4 tegn med kun små bogstaver giver 26 ^ 4 = 456976

Du kan sætte et krav til hvad brugeren må angive af password (antal tegn, special tegn, store/små tegn) alt efter hvilket sikkerhedsniveau du ønsker.
Avatar billede martin_moth Mester
16. juni 2003 - 13:18 #7
Hvis forskellige passwords alle må bruge samme tegnsæt, er "sikkerheden" direkte proportional med antal tegn i passwordet.
Avatar billede bufferzone Praktikant
16. juni 2003 - 14:56 #8
Jeg kan ikke give dig en algoritme, men et værktøj.

http://www.openwall.com/john/

John the Ripper password cracker er et open source project til at cracke multi platform password, med det formål at identificere svare passwords.

Hvis du ikke kan bruge selve værktøjer, kunne du måske udlede algoritmerne, eller kontakte programmørene og få hjælp den vej.
Avatar billede noaz Nybegynder
16. juni 2003 - 15:25 #9
jeg er nu gået igang med at programmere et script der, hva. af antal kombinationer, skal beregne hvor lang tid det vil tage at cracke passworded..

det eneste jeg mangler er hvor mange passwords der kan testes pr. sekund..

crackerne skal først brydde en sha1-oneway encryption og derefter en md5-oneway encryption..

hvor mange passwords vil i tro, man kan teste pr. sekund (på en 2ghz)?
Avatar billede bufferzone Praktikant
16. juni 2003 - 21:28 #10
Med de valg af forskellige encryptions, er et realistisk gæt med en 2 Ghz der ikke laver andet, mindst 28 måneder for at cracke dette password.

Begynder vi at tale forskellige former for cluster og peer-to-peer clustering, så kan denne sættes ned, men så taler vi også meget store organisationer eller universiteter, og det vil stadig tage måneder
Avatar billede noaz Nybegynder
17. juni 2003 - 16:30 #11
bufferzone.. jeg kan godt selv beregne hvor lang tid det vil tage.. spørgsmålet er hvor mange passwords en 2ghz kan teste pr sekund.. resten er der taget højde for..

et eksempel på scriptet.. http://noaz.h4f.dk/asddsa.html
Avatar billede jpvj Nybegynder
17. juni 2003 - 16:36 #12
noaz> Når man taler om oneway encryptions (hash funktioner), så kan man kun finde kollisioner, dvs. klartekster, der giver samme hash værdi.

Du kan prøve at finde kollisioner. Dette kan naturligvis gøres med bruteforce eller med særlige algoritmer, der udnytter svagheder i hashfunktionen.


MD5 angrebet nåede et godt stykke, men pludselig havde gutten (en tysk professor) fået job hos NSA og så udtalte han "Ich hatte keine lust mehr" (jeg havde ikke lyst mere). Hvor langt man er nået i praksis er der nok kun få mennesker, der ved. Jeg har en kollega, der lige har skrevet eksamensprojekt i netop dette, så derfor har jeg en beskeden viden.

SHA1 ved jeg ikke om man har nogle effektive algoritmer til at finde kollisioner med.

JP
Avatar billede bjornicle Nybegynder
17. juni 2003 - 16:43 #13
Hvis du skal bruge en database til at checke for dictionary ord har jeg en paa ca. 4 mill. ord som du gerne maa faa, det tager under 1 sec at slaa op om et ord findes.
Avatar billede noaz Nybegynder
18. juni 2003 - 17:58 #14
jpvj- hmm, det vil sige, at det ikke er nok at beregne antal kombinationer.. nåh ja, det var ellers sjovt at skrive det javascript.. :)

bjornicle- lyder godt !, msn ? (n0az $ hotmail.com)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester