Passord, entropi og kryptologi - litt oversikt, noen observasjoner og enkelte anekdoter NKS 07 Anders Paulshus Conax AS
Motivasjon Passord ofte initiell entropi i kryptografiske anvendelser Passord blir da gjerne svakeste ledd (ved uttømmende søk) Forståelse av entropi i passord og angrepsmåter viktig Password derived key Passord PDK kryptonøkkel Passord 5 tegn BRUTE PDK 128 bits kryptonøkkel FORCE AES AES 2
Høyentropipassord er sjelden vare Vanlige passord (ca. 10 tegn) er sjelden sterkere en DES NB: Denne tabellen forutsetter at passordene er generert med uniform distribusjon på alle tegn 3
Off-line vs. on-line Angrep deles ofte inn i off-line og on-line On-line : angriperen må følge en bestemt protokoll Eksempel: Minibank PIN Mottiltak: Utestenging, varsling, forsinkelse Off-line : angriperen har full frihet til å gjøre uttømmende søk Eksempel: Programvarebasert harddiskkryptering 4
Angrep: On-line -> Off-line Hvis systemet er bygget for å motstå on-line angrep, kan angriperen vinne mye på komme i en off-line modus. Eksempel: Pålogging til datamaskin (PC/UNIX) gjennom påloggingsvinduet er on-line Tilgang til passordhashfilen gjør angrepet til off-line 5
Angrep: Svakheter i protokollen Eksempel Minibank-PIN beregning HSM Kontonummer DES Desimalisering PIN Desimaliseringstabell: 9710.12.54212 DES AF52 F390 1432 331A 0552 Kto.num. 97101254212 D-tabell 0123456789012345 0552 0551 PIN HSM JA/NEI Uttømmende PIN-søk: Gj.snitt 5000 forsøk før treff 6
Desimaliseringstabellen kan endres 9710.12.54212 DES AF52 F390 1432 331A 0000 Desimaliseringstabell: 97101254212 0100000000000000 0010000000000000 0000 HSM NEI JA Ergo: PIN inneholder ikke tallet 1 PIN inneholder tallet 2 Et optimalisert angrep vil i gjennomsnitt kreve 15 forsøk 7
Angrep: Uttømmende søk på brukernavn Protokoll som sperrer uttømmende søk på passord Mange (og kanskje veldefinerte) brukere -> uttømmende søk på brukernavn. Eksempel: Angrep på Skandiabanken som beskrevet av Thomas Tjøstheim 8
Off-line -> On-line Kan legge inn en forsinkelse selv ved off-line ved å kreve at passordet skal kvernes mye før det sendes til PDK. Passord x bit Passord f.eks. typisk 10 sekunder Hash, f.eks. 1.000.000 x SHA-2 Password derived key PDK PDK kryptonøkkel x + 20 bit kryptonøkkel AES AES 9
Hvordan sette krav til entropi Gjøres gjerne med krav til lengde og kompleksitet Paradoks: Krav til lengde og kompleksitet reduserer entropien For å gjøre rasjonelle valg må man: Gjøre betraktninger om nøkkelrommets størrelse Eksempel: 4 siffer PIN Kjenne beskyttelsesmodellen Eksempel: NTLM gjør alt om til versaler og deler opp passordet i 7 tegns bolker og Kjenne angrepsmodellen Eksempel: Ordboksangrep Kjenne brukerne Eksempel: Krav til pin >= 7 for å unngå fødselsdato 10
Optimal anti-skimming PIN Mai 2006: Minibankkunder på østlandet svindles vha. påmonterte skimmere og pulver på tastene. Pulveret avslører hvilke siffer som inngår i PIN, men ikke rekkefølgen. Hvilken PIN-strategi bør velges før å minimere muligheten for at svindelen lykkes? 1 tegn? For eksempel 1111 2 forskjellige tegn? Eks. 1112 3 forskjellige tegn? Eks. 1232 4 forskjellige tegn? Eks. 1234 11
Antall n-tegns PIN med k ulike tegn 12
Kodelås med løpende forsøk Normalt vil en kodelås vil kreve at hver PIN forsøkes separat. Eks. inntasting 12345678 vil låse opp 2 PINkoder: 1234 og 5678 men ikke for eksempel 3456. 4-sifert pin krever i gjennomsnitt 10.000*4 = 40.000 tastetrykk for garantert å finne PIN Enkelte kodelåser godtar løpende forsøk. Eks. inntasting 12345678 vil låse opp 5 PINkoder: 1234, 2345, 3456, 4567 og 5678. Hvor mange tastetrykk kreves for å gjennomløpe alle PIN-koder? Kan åpenbart ikke gjøres på mindre enn 10.003 tastetrykk. 13
14 00001234567890124568902346780125679013457891235670126781236782347892348903458904569014560127893459015671237894561238905672349016783450128906784562340 12901789567345123901890789678567456345234123012012123123234234345345456456567567678678789789890890901901012234456678890013568013679124679235780235891 34689145790245701378034690256812478045712489156823590267934601389167945723501390278056834612490289178067956845734623512401301312412423523534634645745 75685686796797807808918919029020132354576798910133455677899011233465687809021243466799022355688911244577800146702368924580147813479035691257814581258 92569236903670347014892670458236014903781569347125903892781670569458347236125014014125125236236347347458458569569670670781781892892903903014236458670 89201434756978190312534767090323656989212545878101445889223667001578245912689356023790467134801589367145923701590478256034812690489378267156045934823 71260150151261262372373483484594595605606716717827828938939049040152374596718930153485607829041263486719042375608931264597820154598932376710155699033 47781125560904348782126560016894672450238016905783561349127905894783672561450349238127016016127127238238349349450450561561672672783783894894905905016 23845067289401634956178390512734967290523856189412745078301645089423867201656190534978312756101667112667212767223778223878323889334889434989445990445 09054500179068957846735624513402391280170171281282392393403404514515625626736737847848958959069060172394516738950173405627849061283406739062395628951 28451784017451895239673017562906340784128562017673128673239784239895340895451906451017783349905561127784340906562128784451128895562239906673340018018 12912923023034134145245256356367467478578589689690790701823045267489601834156378590712934167490723056389612945278501845289623067401856390734178512956 30186741296742307852308963418964529074520187853419075631297854521298965632309076743410188966744522300191202313424535646757868979080192314536758970193 42564786908120342675908231564897120453786019453897231675019564908342786120564019675120675231786231897342897453908453019786342908564120786453120897564 23190867534201989767545323101990778556334112990878656434212090889778667556445334223112001023245467689801034356578790912134367690923256589812145478701 04548982326760105659093437871215650106761216762327872328983438984549094540107873439095651217874541218985652329096763430108986764542320109097875653431 21909898787676565454343232121010011344677900233566899122455788011455899233677011566900344788122566011677122677233788233899344899455900455011788344900 56612278845512289956623390067734401189967745523301190078856634412290089978867756645534423312201101111211221222232233233334334434444544554555565566566 66766776777787788788889889989999099009000246802479135791468135802579246913680357024802680468246024913791579357135913802791680579468357246135024024135 13524624635735746846857957968068079179180280291391302424646868080202435757979191313535768091324657980213546879102446880224668002580368146924702591479 25703581369148037926815704693582471360250251361362472473583584694695705706816817927928038039149140252474696818030253585707929141363586819142475708031 36469792025469803247681025579913357791135570914358792136570026915804793682571460359248137026026137137248248359359460460571571682682793793804804915915 02624846068280402635957179391513735968291524857180413746079302646080424868202657191535979313757102668113668213768224779224879324880335880435980446991 44609154600270271381382492493503504614615725726836837947948058059169160272494616838050273505727949161383506839162495728051384617940274618052496830275 72916350794138572027683138683249794249805350805461916461027793359915571137794350916572138794461138805572249916683350028139240351462573684795806917028 24046268480602835157379591713935168491724057380613946279502846280624068402857391735179513957302868413968424079524080635180646291746202879535191757313 97954621398065732409176843510288066844622400292414636858070293525747969181303526859182415748071304637960294638072416850295749183527961305740296851306 85241796241807352807463918463029796352918574130796463130807574241918685352029807685463241029917795573351139918796574352130918807796685574463352241130 02035368691924257580813146479702046480824268602057591935379713157502068613168624279724280835380846491946402079735391957513179746413180857524291968635 30208086864642420209197975753531319198087976865754643532421310200214658092436870215769103547981325760216871326872437982438093548094659104650217983549 10576132798465132809576243910687354021809687465243021910798576354132910809798687576465354243132021021131132132242243243353354354464465465575576576686 68768779779879880880980991991091002257702268813368824479924480035580046691146602279935591157713379946613380057724491168835502280068846624402291179957 73551339118007996885774663552441330220221331332442443553554664665775776886887997998008009119110222444666888000369258147036036147147258258369369470470 58158169269270370381481492592503625847069281403636958170392514736969292525858181414747070303647081425869203658192536970314758103669214769225870325881 43698144709254700371482593604715826937048159260372594716938150373605827049261483606939262595828151484717040374718152596930375829263607041485820376931 48693259704259815360815471926471037703369925581147704360926582148704471148815582259926693360038250472694816038361583705927149361694927250583816149472 70503847281625069403858392736170514958303869414969425070525081636181647292747203870536192758314970547214981658325092769436103881669447225003936269592 82515848171404737060394738172516950395849283627061405840396951406952517062518173628174739284730397063629285841407064731408175842519286953620398176954 73251039927705583361149928706584362140928817706695584473362251140030474818252696030585929363707141585030696141696252707252818363818474929474030707363 92958514170747414181858525292969636303081869647425203092970758536314192981870769658547436325214103003158603169714269725370825381936481947592047503170 83649205861427084751428195862539206973640318196974752530319207085863641429208197086975864753642531420310311411421422522532533633643644744754755855865 86696697697707708708818819819929920920032698254810476032709365921587143709476143810587254921698365032810698476254032921709587365143921810709698587476 36525414303203214314325425436536547647658758769869870970981081092192103225447669881003370047714481158825592269936603381169947725503392270058836614492 28117006995884773662551440330331441442552553663664774775885886996997007008118119229220332554776998110333555777999111333655877099211433665887009221443 66699922255588811144477700048260483715937160493726059382615948271504848282626060404859393737171515959304860415960426071526082637182648293748204871537 19375931597154821598265932609376043710488266044822600494838272616050495949383727161505940496051506052617162618273728274839384830497163729385941507164 83150827594261938605372049827605483261049937715593371159938716594372150938827716605594483372261150040595040606151606262717262828373828484939484040717 37393959515171748415182859526293960637304082860648426204093971759537315193982871760659548437326215104004160726382948504171837493059615271848515282959 62639306073740418296074852630419307185963741529308297186075964853742631520410411511521522622632633733743744844854855955965966066076077177187188288298 29939930930042719486153820597264931608375042820608486264042931719597375153931820719608597486375264153042042153153264264375375486486597597608608719719 82082093193104226448660882004382160948726504393271059837615493282171060959848737626515404304315415426526537637648748759859860960971071082182193293204 32654876098210433755977199311533765987109321543766099322655988211544877100449338227116005994883772661550440441551552662663773774884885995996006007117 11822822933933044266488600822044377599711933155377600933266599822155488711044488822266600050506161627272838384949405072738394950516172749416183850527 29496163830508386164942720509497275053831619498387276165054943832721610500517284951628395062739406173840518396174952730519407285063841629408397286175 06495384273162051051161162162272273273383384384494495495505506506616617617727728728838839839949940940052830618496274052941729507385163941830729618507 49638527416305205216316327427438538549649650750761861872972983083094194105227449661883005394283172061950849738627516405305316416427527538638649749750 85086196197207208318319429420532754976198310533855077299411633865087209421643866199422755088311644977200540541651652762763873874984985095096106107217 21832832943943054276498610832054387509721943165387610943276509832165498721054498832276610055166277388499500611722833944055277499611833055388500722944 16638861194427750083316649972205549983327761105559993337771115550994338772116550094438872216650006284062951739518407396285174063952841730620621731732 84284395395406406517517628628739739840840951951062284406628840063063174174285285396396407407518518629629730730841841952952063285407629841063395517739 95117339651873095217439662995228551884117440773006417528639740851962073184295306428640862084206439751973195317539762095328651984217540873106440884228 66200652874096218430653985107329541763986219542875108431764097320654098432876210655199533977311755109543987321765100663996229552885118441774007330664 00844288622066511955399733177511066611166621176622177622277722287732288733288833388843398844399844499944409954400955400074185296307429641863085207430 75297419631853076309632965298521854187410744188522966300753086319642975208531864197420754198532976310755299633077411855209643087421865200764108542986 32076521965309743187521076631186632187632297742298743298853308854309854419964410965410077522077633188633299744299855300855411966411077733399955511177 74330996552118774430096652218874441118885552229996663330008642086531975310866421976422087532088643198644209754200876432098654210877533199755311977543 10976532198754421198865532209976643310088755422199866533200977644311088866644422200098765432109887665443221009987765543321109997775553331119998887776 66555444333222111000
Takk for oppmerksomheten anders. paulshus (at) conax. com 15
Referanser Mike Bond, Piotr Zielinski: Decimalisation table attacks for PIN cracking FIPS SPECIAL PUBLICATION 800-57 Draft January 2003: RECOMMENDATION FOR KEY MANAGEMENT Thomas Tjøstheim: A Critical view on Public Key Infrastructures, UiB 2004 Dwork, Goldberg, Naor: On Memory-bound Functions for Fighting spam, Crypto 2003 http://forbruker.no/pengenedine/bankogforsikring/article1310127.ece http://blogs.msdn.com/si_team/default.aspx 16