Subverting OpenID: Intro to Net::OpenID::Server Abram Hindle - - PowerPoint PPT Presentation

subverting openid intro to net openid server
SMART_READER_LITE
LIVE PREVIEW

Subverting OpenID: Intro to Net::OpenID::Server Abram Hindle - - PowerPoint PPT Presentation

Subverting OpenID: Intro to Net::OpenID::Server Subverting OpenID: Intro to Net::OpenID::Server Abram Hindle Kitchener/Waterloo Perl Mongers Canada http://softwareprocess.es/ abram.hindle@softwareprocess.es Abram Hindle 1 Subverting


slide-1
SLIDE 1

Subverting OpenID: Intro to Net::OpenID::Server

Subverting OpenID: Intro to Net::OpenID::Server

Abram Hindle

Kitchener/Waterloo Perl Mongers Canada http://softwareprocess.es/

abram.hindle@softwareprocess.es

Abram Hindle 1

slide-2
SLIDE 2

Subverting OpenID: Intro to Net::OpenID::Server

Identification

  • Used to reduce abuse (spam/trolling)
  • Attribute your comments or your work to yourself or
  • thers
  • Enable community building by recognition of posters

Abram Hindle 2

slide-3
SLIDE 3

Subverting OpenID: Intro to Net::OpenID::Server

Problems with Identity

  • Impersonation
  • Stalking
  • Authentication
  • Inconsistent profiles
  • Multiple Logins

Abram Hindle 3

slide-4
SLIDE 4

Subverting OpenID: Intro to Net::OpenID::Server

OpenID

  • Protocol of ID authentication
  • Decentralized
  • Digital ID

Abram Hindle 4

slide-5
SLIDE 5

Subverting OpenID: Intro to Net::OpenID::Server

Why do I care

  • Avoid registration
  • Avoid sharing a password with a website
  • Post on blogs without registration
  • Register for services

Abram Hindle 5

slide-6
SLIDE 6

Subverting OpenID: Intro to Net::OpenID::Server

Context

  • Historically many blogs allow anonymous or unverified

posts – Just supply some information and you post.

∗ Too much spam · Snarky posters

  • Now every site under the sun wants you identify

yourself – Too many passwords

∗ too many accounts · too much information

Abram Hindle 6

slide-7
SLIDE 7

Subverting OpenID: Intro to Net::OpenID::Server

Example 1/2

  • To login to sprockets blog provide your OpenID URL
  • sprockets grabs that OpenID URL

– sprockets reads the headers for the provider info

  • sprockets sends the OpenID provider a message that

someone is trying to authenticate – they share a secret

  • ...

Abram Hindle 7

slide-8
SLIDE 8

Subverting OpenID: Intro to Net::OpenID::Server

Example 2/2

  • your browser is redirected to your OpenID provider
  • you login to your provider
  • the provider redirects you back to return address that

sprockets supplied, you carry a shared secret

  • sprockets validates your shared secret and if valid lets

you login as your OpenID user.

Abram Hindle 8

slide-9
SLIDE 9

Subverting OpenID: Intro to Net::OpenID::Server

Where’s the distributed part?

  • Your URL is generally under your control and can be

any site you can change

  • Your OpenID provider can be any open provider

Abram Hindle 9

slide-10
SLIDE 10

Subverting OpenID: Intro to Net::OpenID::Server

What are the actual benefits to a user?

  • Decentralized, you control your identity by sites you

control – All you need is a web-page or an OpenID provider

  • Lack of vendor lock-in
  • You can avoid hassles of registrations

Abram Hindle 10

slide-11
SLIDE 11

Subverting OpenID: Intro to Net::OpenID::Server

So it is great right?

  • OpenID allows for easier social network analysis
  • People can track your every move across multiple

websites

  • Your OpenID provider is aware of all site you visit
  • You’re not protected from malicious site owners yet

content on their site has your name on it. – false sense of security

  • At least you’re responsible for your ID

Abram Hindle 11

slide-12
SLIDE 12

Subverting OpenID: Intro to Net::OpenID::Server

But it doesn’t seem it was designed this way!

  • People make assumptions about OpenID!

– You can trust an OpenID (no) – OpenID reduces spam (maybe, but not technically) – OpenID protects the identity of the user

Abram Hindle 12

slide-13
SLIDE 13

Subverting OpenID: Intro to Net::OpenID::Server

So what’s your point

  • People trust OpenID
  • People want me to authenticate and prove my identity
  • I don’t want to provide any identity
  • I would rather post anonymously in 99.9% of the

cases. – Social network analysis is creepy

Abram Hindle 13

slide-14
SLIDE 14

Subverting OpenID: Intro to Net::OpenID::Server

Openid.aliz.es

  • An OpenID provider

– that validates everyone and their dog! – Anti-identity

∗ But accepted at the front door

  • Play on the assumptions of others about what OpenID

is.

  • http://openid.aliz.es/yourid here

Abram Hindle 14

slide-15
SLIDE 15

Subverting OpenID: Intro to Net::OpenID::Server

Openid.aliz.es

  • No “protection”
  • Anyone can post as any openid.aliz.es user
  • Often they can delete messages too
  • Think of openid.aliz.es like spam.la

– Throw away identity

Abram Hindle 15

slide-16
SLIDE 16

Subverting OpenID: Intro to Net::OpenID::Server

Net::OpenID::Server

  • Great Module
  • Is meant to integrate with a wide variety of frameworks
  • Attempts to control the OpenID auth part of the

process – See code

Abram Hindle 16

slide-17
SLIDE 17

Subverting OpenID: Intro to Net::OpenID::Server

Net::OpenID::Server Issues

  • If you want to use it yourself you’re going to have to

implement the setup page – this allows the users to login

Abram Hindle 17

slide-18
SLIDE 18

Subverting OpenID: Intro to Net::OpenID::Server

Net::OpenID::Server Issues

  • Try to stick to the perldoc page
  • Relies on BigInts and can be very slow

– Diffie Hellman in BigInts for the shared secret negotiations – Install Math::BigInt::GMP

∗ or install Crypt::DH::GMP::Compat (even faster)

  • You need GMP

Abram Hindle 18

slide-19
SLIDE 19

Subverting OpenID: Intro to Net::OpenID::Server

Shared host annoyances

  • If you’re on a shared host and lack the necessary

GMP version etc.

  • install it to /local
  • build your own Perl too (linking is a pain)
  • Common prefix is easier to deal with that managing all

the paths and using LIB LD PATH

Abram Hindle 19

slide-20
SLIDE 20

Subverting OpenID: Intro to Net::OpenID::Server

OpenID doesn’t provide much in the way of safety

  • Sure other posters have a hard time impersonating

you – But the site admins don’t

  • Site admins can be spammed by throwaway OpenID

accounts

Abram Hindle 20

slide-21
SLIDE 21

Subverting OpenID: Intro to Net::OpenID::Server

Resources:

  • http://openid.net/
  • http://search.cpan.org/

– Crypt::DH::GMP::Compat – Net::OpenID::Server

Abram Hindle 21