Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Account Management System

Jim Crowley
February 07, 2013

Account Management System

Details about the architecture and function of the Account Management System

Jim Crowley

February 07, 2013
Tweet

Transcript

  1. Shouldn't that be 'Password Management System'? • Originally designed for

    alumni opt-in (gmail) • Manages account access • Could add more features in the future
  2. AMS in Two Pieces - Front End • Standalone web

    application • Authenticates to AD ◦ Or google for gmail-only accounts • Provides functionality to user ◦ Password change/sync ◦ Password reset options ◦ Password reset
  3. Front End - Note About Accounts • No such thing

    as an AMS 'account' ◦ Database entry used to record info ▪ reset options ▪ expiration ◦ If not present when user first logs in, one will be created at that time
  4. AMS in Two Pieces - Back End • Various actions,

    initiated through several different interfaces (AMS, it-tools, cron) ◦ Performs password sync ◦ Issues and verifies reset codes ◦ Sends password expiration notices ◦ Enforces password expiration
  5. AMS in Two Pieces - Back End AMS Back End

    Netware GWDM3 AD SunAdmi n Google (AMS DB) it-tools cron AMS Front End mailhub twilio
  6. Password Sync • Active Directory is considered authority ◦ If

    pass can't be synced to AD, we will not sync to other servers • Everytime the user provides their password ◦ Validate against other servers ◦ Attempt to resync upon failure
  7. Password Policy • Minimum eight characters • 10,000 password blacklist

    (most are too short anyway) • Entropy rating to encourage reasonably strong passwords
  8. What Do We Send? • Plaintext to AD, GWDM3, Netware

    (ssl) • Sha1 hash to Google • Blowfish hash to Sun Admin
  9. What Do We Store? • Blowfish hash, random salt, 1024

    rounds ◦ This is how we prevent passwords from being re- used ◦ This also allows us to re-sync to Sun Admin without user intervention
  10. No Re-Sync for Normal Accounts. • Would require storing plaintext

    and/or weakly hashed passwords • Can only resync when user provides plaintext
  11. Password Reset • Send code to alternate email or SMS

    ◦ Random shuffle of lowercase letters - (a,e,i,o,u,y,l), first 5 characters ◦ Code valid for 12 minutes, with a 2 minute penalty for each failed attempt ◦ Also limit codes sent to 4 per hour
  12. Password Reset • Also support challenge questions ◦ Somewhat hidden

    (intentionally) to dissuade users from using this option ◦ It's working (only 10 have set up questions)
  13. Password Expiration • Enforced for active students, staff, faculty •

    Expiration every ◦ 185 days for user-initiated changes ◦ 35 days for newly created users ◦ 13 days for password resets • Email warnings at 14, 7, and 2 days • Expirations are enforced by pushing randomized pass to all servers
  14. Stats Users in new system 3240 (57%) Set up password

    recovery option 1517 (27%) Set up password recovery questions 10