authen ca on
play

Authen'ca'on CS461/ECE422 Spring 2012 Readings Chapter - PowerPoint PPT Presentation

Authen'ca'on CS461/ECE422 Spring 2012 Readings Chapter 3 from text Rainbow tables hCp://kestas.kuliukas.com/RainbowTables/ Chapter 10 from Handbook of


  1. Authen'ca'on ¡ CS461/ECE422 ¡ Spring ¡2012 ¡

  2. Readings ¡ • Chapter ¡3 ¡from ¡text ¡ • Rainbow ¡tables ¡ – hCp://kestas.kuliukas.com/RainbowTables/ ¡ • Chapter ¡10 ¡from ¡Handbook ¡of ¡Applied ¡ Cryptography ¡h5p:// www.cacr.math.uwaterloo.ca/hac/about/ chap10.pdf ¡ ¡

  3. Overview ¡ • Basic ¡elements ¡of ¡Authen'ca'on ¡ • Password ¡Systems ¡ • Token ¡Based ¡Systems ¡ • Biometrics ¡

  4. Ivanhoe, ¡Sir ¡Walter ¡ScoC ¡ • Paraphrased: ¡ (Wamba ¡gains ¡entry ¡to ¡the ¡castle ¡dressed ¡as ¡a ¡friar) ¡ Wamba: ¡ ¡Take ¡my ¡disguise ¡and ¡escape, ¡I ¡will ¡stay ¡and ¡die ¡in ¡ your ¡place. ¡ Cedric: ¡ ¡I ¡can’t ¡possibly ¡impersonate ¡a ¡friar, ¡I ¡only ¡speak ¡ English. ¡ Wamba: ¡ ¡If ¡anyone ¡says ¡anything ¡to ¡you, ¡just ¡say ¡“ Pax ¡ vobiscum .” ¡ Cedric: ¡ ¡What ¡does ¡that ¡mean? ¡ Wamba: ¡ ¡I ¡don’t ¡know, ¡but ¡it ¡works ¡like ¡a ¡charm! ¡ 4 ¡

  5. Basics ¡ • Authen'ca'on: ¡binding ¡of ¡iden'ty ¡to ¡subject ¡ – Iden'ty ¡is ¡that ¡of ¡external ¡en'ty ¡(my ¡iden'ty, ¡the ¡ Illini ¡Union ¡Bookstore, ¡ etc .) ¡ – Subject ¡is ¡computer ¡en'ty ¡(process, ¡network ¡ connec'on, ¡ etc .) ¡ – Two ¡steps ¡ – Iden'fica'on ¡step: ¡present ¡iden'fier ¡to ¡security ¡ system. ¡ ¡Registra'on ¡ – Verifica'on ¡step: ¡Present ¡or ¡generate ¡ authen'ca'on ¡informa'on ¡that ¡corroborates ¡the ¡ binding ¡between ¡en'ty ¡and ¡iden'fier ¡ 5 ¡

  6. Establishing ¡Iden'ty ¡ • One ¡or ¡more ¡of ¡the ¡following ¡ – What ¡en'ty ¡knows ¡( e.g. ¡password, ¡private ¡key) ¡ – What ¡en'ty ¡has ¡( e.g. ¡badge, ¡smart ¡card) ¡ – What ¡en'ty ¡is ¡( e.g. ¡fingerprints, ¡re'nal ¡characteris'cs) ¡ – What ¡en'ty ¡does ¡(e.g., ¡voice ¡paCern, ¡handwri'ng, ¡typing ¡ rhythm) ¡ – Where ¡en'ty ¡is ¡( e.g . ¡In ¡front ¡of ¡a ¡par'cular ¡terminal) ¡ • Example: ¡ ¡scene ¡from ¡ Ivanhoe ¡ • Example: ¡ ¡Credit ¡card ¡transac'on ¡ • Mul'-­‑factor ¡authen'ca'on ¡ • Use ¡mul'ple ¡elements ¡to ¡prove ¡iden'ty ¡ 6 ¡

  7. Complementa'on ¡Informa'on ¡ • User ¡provides ¡informa'on ¡to ¡verify ¡iden'ty ¡ • System ¡stores ¡a ¡processed ¡version ¡of ¡this ¡ informa'on ¡as ¡the ¡ complementaEon ¡ informa'on ¡ • The ¡complementa'on ¡func'on ¡maps ¡from ¡the ¡ user ¡provided ¡data ¡to ¡the ¡system ¡stored ¡data ¡

  8. Password-­‑based ¡Authen'ca'on ¡ • External ¡en'ty ¡is ¡bound ¡to ¡system ¡ID ¡(user ¡ account) ¡ • Authen'ca'on ¡Step ¡ – External ¡en'ty ¡presents ¡password ¡ – System ¡compares ¡with ¡previously ¡stored ¡password ¡ – If ¡password ¡matches, ¡system ¡starts ¡process ¡with ¡ bound ¡ID ¡ • Later ¡access ¡control ¡decisions ¡made ¡against ¡ID ¡ • Privilege ¡decisions ¡made ¡against ¡ID ¡

  9. Password ¡Vulnerabili'es ¡ • Password ¡systems ¡widely ¡used, ¡but ¡very ¡ vulnerable ¡ – Offline ¡dic'onary ¡aCack ¡ – Specific ¡account ¡aCack ¡ – Worksta'on ¡hijacking ¡ – S'cky ¡notes ¡ – Password ¡reuse ¡ – Social ¡engineering ¡ – Electronic ¡monitoring ¡

  10. Password ¡Storage ¡ • Store ¡as ¡cleartext ¡ – If ¡password ¡file ¡compromised, ¡ all ¡passwords ¡revealed ¡ • Encipher ¡file ¡ – Need ¡to ¡have ¡decipherment, ¡encipherment ¡keys ¡in ¡ memory ¡ – Reduces ¡to ¡previous ¡problem ¡ • Store ¡one-­‑way ¡hash ¡of ¡password ¡ – If ¡file ¡read, ¡aCacker ¡must ¡s'll ¡guess ¡passwords ¡or ¡ invert ¡the ¡hash ¡ 10 ¡

  11. Unix ¡Password ¡Hash ¡Example ¡ • Original ¡UNIX ¡system ¡standard ¡hash ¡func'on ¡ – Hashes ¡password ¡into ¡13 ¡char ¡string ¡ – As ¡authen'ca'on ¡system: ¡ – Authen'ca'on ¡informa'on ¡is ¡strings ¡of ¡8 ¡characters ¡or ¡ less ¡ – System ¡stores ¡hash ¡with ¡user’s ¡iden'ty ¡in ¡password ¡file ¡ – Hash ¡is ¡complementa'on ¡informa'on ¡ – Verifica'on ¡func'on ¡is ¡hash ¡on ¡password ¡and ¡ comparison ¡with ¡stored ¡hash ¡ 11 ¡

  12. Sal'ng ¡ • Have ¡a ¡set ¡of ¡n ¡hash ¡func'ons ¡ – Randomly ¡select ¡one ¡func'on ¡when ¡registering ¡ new ¡authen'ca'on ¡info ¡ ¡ – Store ¡ID ¡of ¡func'on ¡with ¡registered ¡info ¡ • ACacker ¡must ¡try ¡all ¡n ¡func'ons ¡to ¡see ¡if ¡his ¡ guess ¡matches ¡any ¡password ¡ • When ¡does ¡this ¡help? ¡ ¡When ¡does ¡it ¡not? ¡ 12 ¡

  13. Examples ¡ • Vanilla ¡UNIX ¡method ¡ – Use ¡DES ¡to ¡encipher ¡0 ¡message ¡with ¡password ¡ as ¡key; ¡iterate ¡25 ¡'mes ¡ – Perturb ¡E ¡table ¡in ¡DES ¡in ¡one ¡of ¡4096 ¡ways ¡ • 12 ¡bit ¡salt ¡flips ¡entries ¡0–11 ¡with ¡entries ¡24–35 ¡ • E ¡Table ¡is ¡per ¡round ¡expansion ¡table ¡ • Alternate ¡methods ¡ – Use ¡salt ¡as ¡first ¡part ¡of ¡input ¡to ¡hash ¡func'on ¡ 13 ¡

  14. Dic'onary ¡ACacks ¡ • Trial-­‑and-­‑error ¡from ¡a ¡list ¡of ¡poten'al ¡ passwords ¡ – Off-­‑line ¡(type ¡1) : ¡know ¡func'ons ¡and ¡registered ¡ informa'on, ¡ ¡and ¡repeatedly ¡try ¡different ¡ guesses ¡ g ¡ ∈ ¡ A ¡un'l ¡the ¡list ¡is ¡done ¡or ¡ passwords ¡guessed ¡ • Examples: ¡ crack , ¡ john-­‑the-­‑ripper ¡ – On-­‑line ¡(type ¡2) : ¡have ¡access ¡to ¡verifica'on ¡ func'ons. ¡ ¡Try ¡guesses ¡un'l ¡one ¡succeeds. ¡ – ¡Examples: ¡trying ¡to ¡log ¡in ¡by ¡guessing ¡a ¡password ¡ 14 ¡

  15. Preven'ng ¡ACacks ¡ • How ¡to ¡prevent ¡this: ¡ – Hide ¡informa'on ¡so ¡that ¡either ¡authen'ca'on ¡input, ¡ authen'ca'on ¡func'ons, ¡or ¡stored ¡verifica'on ¡ informa'on ¡cannot ¡be ¡found. ¡ Prevents ¡obvious ¡aCack ¡from ¡ above ¡ • Example: ¡UNIX/Linux ¡shadow ¡password ¡files ¡ – Hides ¡ c ’s ¡ – Block ¡access ¡to ¡all ¡verifica'on ¡methods ¡ • Prevents ¡aCacker ¡from ¡knowing ¡if ¡guess ¡succeeded ¡ • Example: ¡preven'ng ¡ any ¡logins ¡to ¡an ¡account ¡from ¡a ¡network ¡ – Prevents ¡knowing ¡results ¡of ¡verifica'on ¡func'on ¡or ¡accessing ¡ verifica'on ¡func'on. ¡ 15 ¡

  16. Rainbow ¡Tables ¡ • Rather ¡than ¡keeping ¡dic'onary ¡list, ¡could ¡pre-­‑compute ¡the ¡ hashes ¡of ¡the ¡dic'onary ¡values ¡ – For ¡large ¡dic'onaries, ¡s'll ¡a ¡lot ¡of ¡space ¡ – Par'cularly ¡if ¡using ¡a ¡smart ¡lookup ¡table ¡ • Trade ¡off ¡space ¡for ¡'me ¡with ¡hash ¡chain ¡ – p1-­‑>H(p1)-­‑>R(H(p1))-­‑>H(R(H(p1))) ¡ – aaaaaa ¡–h-­‑> ¡281DAF40 ¡–r-­‑> ¡sgfnyd ¡–h-­‑> ¡920ECF10 ¡ – Reduc'on ¡func'on, ¡r, ¡picks ¡another ¡plaintext ¡from ¡the ¡hash. ¡ ¡It ¡ is ¡not ¡the ¡inverse ¡hash ¡ – Only ¡store ¡start ¡and ¡end ¡of ¡hash ¡ – Given ¡hash ¡to ¡break, ¡look ¡for ¡it ¡in ¡the ¡end ¡of ¡the ¡chains. ¡ – Apply ¡reduc'on ¡and ¡hash ¡if ¡not ¡found ¡ – Con'nue ¡un'l ¡found ¡

  17. Rainbow ¡Tables ¡ • Collisions ¡are ¡the ¡problems ¡with ¡rainbow ¡ tables ¡ – Two ¡passwords ¡may ¡hash ¡to ¡the ¡same ¡value ¡ – One ¡of ¡those ¡values ¡will ¡be ¡lost ¡in ¡the ¡hash ¡chain ¡ • Could ¡use ¡many ¡small ¡tables ¡with ¡different ¡ reduc'on ¡func'ons ¡ • Could ¡use ¡a ¡different ¡reduc'on ¡func'on ¡for ¡ each ¡column ¡ – Thus ¡a ¡“Rainbow” ¡table ¡

  18. Rainbow ¡tables ¡ • Very ¡effec've ¡against ¡Lan ¡Manager ¡Hashes ¡ – Calculated ¡by ¡XP ¡and ¡up ¡to ¡Windows ¡2008 ¡by ¡ default ¡for ¡“backwards ¡compa'bility” ¡ – Can ¡download ¡huge ¡tables ¡from ¡a ¡number ¡of ¡free ¡ sites ¡ • Decent ¡sized ¡hashes ¡make ¡the ¡rainbow ¡table ¡ pre-­‑computa'on ¡space ¡infeasible ¡

Recommend


More recommend