SlideShare a Scribd company logo
Mobile Authentication


Moving Towards a Passwordless Future
David Luna
david@luna.co.uk
2016
Introduction
• David Luna, Software Engineer at ForgeRock
• Part of the team that develops OpenAM
• Worked on Push and OATH implementations
• Not a fan of passwords
Why Not Passwords?
• Knowledge-based authentication:
• password - weak
• password1 - weak
• p4sS:w0rD - weak
• k33p,a:littl3!b1rdHoU5eInURS0ul - not bad… but
try typing it on a phone
Outline
• Authentication (the ludicrous-speed version)
• Underlying Technical Components (in brief)
• OATH
• Push
• FIDO
• Summary
Authentication
• The act of confirming the identity of a person by validating their
identity documents
• Factors
• Knowledge-based: Something the user KNOWS (passwords…)
• Ownership-based: Something the user HAS (security tokens,
mobile phones…)
• Inherence-based: Something the user IS (biometrics…)
• “2FA” - Using first one, then a “second factor authentication”
• “multifactor” - Using many in tandem
Tech Components
• OTPs - One-Time Passwords
• Not re-usable
• Generally automatically generated by a machine and either:
• Told to the user
• Used machine-to-machine
• Can be emailed to people on request (e.g. Steam)
• Can be produced by a device on a dongle or the phone in
your pocket
Tech Components II
• HMAC - Keyed-Hash Message Authentication Codes
• Uses a secret key, and a cryptographic hashing function to produce a
message authentication code (MAC)
• Hashing just SHA1 / SHA256 on its own is vulnerable to attack (length
extension attack)
• Defined in RFC2104 - Pseudo-Code here is from Wikipedia
Tech Components III
• Public-key Cryptography
• Keys are produced in pairs:
• private
• public
• Keep the private one… well, private
• Share the public one without whomsoever you wish
• Messages encrypted by the public key can only be decrypted by the
private key’s holder
• Messages signed by the private key can be verified by holders of the
public key
also from Wikipedia
OATH- What is it?
• Initiative For Open AuTHentication (2005)
• Two defined standards:
• HOTP - HMAC One-Time Password
• TOTP - Time-based One-Time Password
• Hardware and software tokens (implementations) exist
• Both standards produce a 6-8 digit number
• User copies the code from their token to wherever it’s needed
• Server verifies that the code exists within an appropriate window of allowed
codes, success if so, failure otherwise
• We’ll use OpenAM’s implementation as our example
OATH- How does it work?
• Registration
• User is pre-authenticated using legacy auth, selects to register
for OATH
• Server generates sharedSecret for the user’s account
• Transfers this secret, along with OATH configuration
parameters to the token - or otherwise manually entered
• OpenAM uses QR codes to transmit
• Registration prompts for authentication using the new token
before committing the newly minted device to the user’s profile
OATH- How does it work?
• Authentication
• Uses a moving counter which must stay in sync between server and token
• HOTP(sharedSecret, counter) = truncate(HMAC-SHA1(sharedSecret,
counter))
• TOTP is HOTP where the counter is based on the number of time intervals
since an epoch
• Requires clocks to remain in sync
• Cannot move past the available window by repeated requesting of tokens
• The truncate function reduces the 160-bit output of the HMAC-SHA1 function
down to 4 bytes
• Finally we generate a 6-8 digit by using the HOTP output, mod 10^d, where d is
the number of digits we desire
Demo
OATH- Usability
• Hard to use, somewhat secure, prone to user error
• Hardware tokens run out of batteries/break
• Pure ownership factor - if you have the token, you have the auth
factor
• Only suitable as a second factor
• If server is compromised, user’s shared secret and counter
information is compromised
• The attacker can configure a token with the same parameters
as the user by reading data alone
Push- What is it?
• “Push” is not the name of the authentication method, but delivery mechanism
• Often used for chat programs - FaceBook Messenger, etc.
• Implemented by mobile OSes, Android, iOS, etc.
• Method of getting a message directly to a specific mobile device
• Can use notifications to draw attention to the message when received
• These notifications can work in tandem with an app on a phone to perform
authentication to a remote server
• Gaining traction at the moment, Google Prompt released last month
• We’ll use OpenAM’s implementation as our example
Push- How does it work?
• Registration
• User is pre-authenticated using legacy auth, selects to register for Push
• Server generates sharedSecret for the user’s account
• Transfers this secret, along with a challenge made up of random bytes to the
user
• OpenAM uses QR codes to transmit
• Server calculates the response to the challenge, by performing HMAC-
SHA256(sharedSecret, challenge)
• Phone performs the same calculation
• Phone requests a unique identifier for itself from its service provider (Google’s
GCM, or Apple’s APNS)
Push- How does it work?
• Registration (continued…)
• Phone transmits result of calculation to server along with its device identifier on
the network as well as the phone type, wrapped in a Signed JWT, over https
• Server verifies this result against its pre-calculated response
• If they match the server stores the credentials, returns HTTP 200 to the
phone and it does likewise
• Authentication
• Very similar to registration
• Challenge is sent via push this time
• Phone doesn’t need to talk to its service provider
Push- How does it work?
Registration
Authentication
Demo
Push- Usability
• Easy to use, secure, flexible… but no standard (…yet?)
• If device is stolen and there’s no additional security on the device itself
then the authentication factor is fully owned by the thief
• One-touch login can be offered - much less prone to error than
copying in a code from a screen manually
• If the server is compromised, shared secret can also be compromised
• Attacker can only take control of the token by writing a new device
location to send the authentication messages
• Easy for a user to comprehend
• At the mercy of mobile’s ability to receive a push notification
FIDO- What is it?
• Fast ID Online
• Unlike Push it’s a standard for online auth
• v.1.0 of the specification released in 2014
• Steady adoption, but devices need to be certified
• Allows for pluggable local authentication to a user-owner device
• Two protocols in the spec - UAF and U2F
• We’ll focus on UAF as it’s the passwordless flow, but U2F is very
similar
FIDO- How it works
• Registration
• User is pre-authenticated using legacy auth, selects to register for FIDO
• FIDO acts through extensions in client - app, browser or OS; to locate
FIDO Authenticators
• Authenticator decouples the authentication method on the local device
from the message sent to server
• Allowing for pluggable local authentication
• The UAF protocol allows the service to select which local authentication
mechanisms are presented to the user
• Secures communication to client vis TLS - server’s private key must be
kept secure & be trusted by client CA list
FIDO- How it works
• Registration
• Once locally authenticated, device mints a cryptographic key pair unique to:
• this user
• for this device
• on this service
• Stores the private key in secure memory
• Sends the public key to the service
• Sends the local authenticator’s attestation to the service
• Authentication
• Same process, but authenticator simply performs local auth
• Signs a challenge if local auth success
• Sends back to server
FIDO- How it works
Image from https://fidoalliance.org/
Registration
Authentication
FIDO UAF- How does it work?
Images from https://fidoalliance.org/
FIDO- Usability
• Easy to use, flexible, good security, standard
• Authenticators registered to central authority
(FIDO Alliance)
• FIDO authenticators can be revoked by FIDO
Alliance
• If server is compromised attacker can only
retrieve public key
Summary
• Passwordless authentication is a reality in 2016
• If you’re implementing today:
• Simple OTPs are a good place to start
• Best used as 2FA though, rather than passwordless
• Push is a good go-to right now
• Look at how FIDO could help you in future when support is
widespread
• Increased security
• Small administration overhead

More Related Content

What's hot

Two Factor Authentication: Easy Setup, Major Impact
Two Factor Authentication: Easy Setup, Major ImpactTwo Factor Authentication: Easy Setup, Major Impact
Two Factor Authentication: Easy Setup, Major Impact
Salesforce Admins
 
CNIT 128 7: Mobile Device Management
CNIT 128 7: Mobile Device ManagementCNIT 128 7: Mobile Device Management
CNIT 128 7: Mobile Device Management
Sam Bowne
 
Two factor authentication 2018
Two factor authentication 2018Two factor authentication 2018
Two factor authentication 2018
Will Adams
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense MechanismsCh 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Sam Bowne
 
Adding Two Factor Authentication to your App with Authy
Adding Two Factor Authentication to your App with AuthyAdding Two Factor Authentication to your App with Authy
Adding Two Factor Authentication to your App with Authy
Nick Malcolm
 
Web authentication
Web authenticationWeb authentication
Web authenticationPradeep J V
 
Android secure coding
Android secure codingAndroid secure coding
Android secure coding
Blueinfy Solutions
 
Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2
Donald Malloy
 
CNIT 128 9. Writing Secure Android Applications
CNIT 128 9. Writing Secure Android ApplicationsCNIT 128 9. Writing Secure Android Applications
CNIT 128 9. Writing Secure Android Applications
Sam Bowne
 
Creating OTP with free software
Creating OTP with free softwareCreating OTP with free software
Creating OTP with free softwareGiuseppe Paterno'
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Sam Bowne
 
CNIT 128 8. Android Implementation Issues (Part 3)
CNIT 128 8. Android Implementation Issues (Part 3)CNIT 128 8. Android Implementation Issues (Part 3)
CNIT 128 8. Android Implementation Issues (Part 3)
Sam Bowne
 
Combat the Latest Two-Factor Authentication Evasion Techniques
Combat the Latest Two-Factor Authentication Evasion TechniquesCombat the Latest Two-Factor Authentication Evasion Techniques
Combat the Latest Two-Factor Authentication Evasion Techniques
IBM Security
 
Automation In Android & iOS Application Review
Automation In Android & iOS 	Application Review�Automation In Android & iOS 	Application Review�
Automation In Android & iOS Application Review
Blueinfy Solutions
 
Two Factor Authentication
Two Factor AuthenticationTwo Factor Authentication
Two Factor Authentication
Nikhil Shaw
 
Core defense mechanisms against security attacks on web applications
Core defense mechanisms against security attacks on web applicationsCore defense mechanisms against security attacks on web applications
Core defense mechanisms against security attacks on web applications
Karan Nagrecha
 
Two Factor Authentication Made Easy ICWE 2015
Two Factor Authentication Made Easy  ICWE 2015Two Factor Authentication Made Easy  ICWE 2015
Two Factor Authentication Made Easy ICWE 2015
Alex Q. Chen
 
Android attacks
Android attacksAndroid attacks
Android attacks
Blueinfy Solutions
 
Two-factor Authentication
Two-factor AuthenticationTwo-factor Authentication
Two-factor Authentication
PortalGuard dba PistolStar, Inc.
 
Multi-Factor Authentication - "Moving Towards the Enterprise"
Multi-Factor Authentication - "Moving Towards the Enterprise" Multi-Factor Authentication - "Moving Towards the Enterprise"
Multi-Factor Authentication - "Moving Towards the Enterprise"
mycroftinc
 

What's hot (20)

Two Factor Authentication: Easy Setup, Major Impact
Two Factor Authentication: Easy Setup, Major ImpactTwo Factor Authentication: Easy Setup, Major Impact
Two Factor Authentication: Easy Setup, Major Impact
 
CNIT 128 7: Mobile Device Management
CNIT 128 7: Mobile Device ManagementCNIT 128 7: Mobile Device Management
CNIT 128 7: Mobile Device Management
 
Two factor authentication 2018
Two factor authentication 2018Two factor authentication 2018
Two factor authentication 2018
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense MechanismsCh 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
 
Adding Two Factor Authentication to your App with Authy
Adding Two Factor Authentication to your App with AuthyAdding Two Factor Authentication to your App with Authy
Adding Two Factor Authentication to your App with Authy
 
Web authentication
Web authenticationWeb authentication
Web authentication
 
Android secure coding
Android secure codingAndroid secure coding
Android secure coding
 
Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2
 
CNIT 128 9. Writing Secure Android Applications
CNIT 128 9. Writing Secure Android ApplicationsCNIT 128 9. Writing Secure Android Applications
CNIT 128 9. Writing Secure Android Applications
 
Creating OTP with free software
Creating OTP with free softwareCreating OTP with free software
Creating OTP with free software
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
 
CNIT 128 8. Android Implementation Issues (Part 3)
CNIT 128 8. Android Implementation Issues (Part 3)CNIT 128 8. Android Implementation Issues (Part 3)
CNIT 128 8. Android Implementation Issues (Part 3)
 
Combat the Latest Two-Factor Authentication Evasion Techniques
Combat the Latest Two-Factor Authentication Evasion TechniquesCombat the Latest Two-Factor Authentication Evasion Techniques
Combat the Latest Two-Factor Authentication Evasion Techniques
 
Automation In Android & iOS Application Review
Automation In Android & iOS 	Application Review�Automation In Android & iOS 	Application Review�
Automation In Android & iOS Application Review
 
Two Factor Authentication
Two Factor AuthenticationTwo Factor Authentication
Two Factor Authentication
 
Core defense mechanisms against security attacks on web applications
Core defense mechanisms against security attacks on web applicationsCore defense mechanisms against security attacks on web applications
Core defense mechanisms against security attacks on web applications
 
Two Factor Authentication Made Easy ICWE 2015
Two Factor Authentication Made Easy  ICWE 2015Two Factor Authentication Made Easy  ICWE 2015
Two Factor Authentication Made Easy ICWE 2015
 
Android attacks
Android attacksAndroid attacks
Android attacks
 
Two-factor Authentication
Two-factor AuthenticationTwo-factor Authentication
Two-factor Authentication
 
Multi-Factor Authentication - "Moving Towards the Enterprise"
Multi-Factor Authentication - "Moving Towards the Enterprise" Multi-Factor Authentication - "Moving Towards the Enterprise"
Multi-Factor Authentication - "Moving Towards the Enterprise"
 

Similar to Mobile Authentication - Moving Towards a Passwordless Future

How to do right cryptography in android part 3 / Gated Authentication reviewed
How to do right cryptography in android part 3 / Gated Authentication reviewedHow to do right cryptography in android part 3 / Gated Authentication reviewed
How to do right cryptography in android part 3 / Gated Authentication reviewed
Arash Ramez
 
Provable Device Cybersecurity in Blockchain Transactions
Provable Device Cybersecurity in Blockchain TransactionsProvable Device Cybersecurity in Blockchain Transactions
Provable Device Cybersecurity in Blockchain Transactions
Rivetz
 
FIDO & Strong Authentication Technology Landscape
FIDO & Strong Authentication Technology LandscapeFIDO & Strong Authentication Technology Landscape
FIDO & Strong Authentication Technology Landscape
FIDO Alliance
 
Windows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 AppsWindows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 AppsJorge Orchilles
 
JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...
PROIDEA
 
Safenet Authentication Service, SAS
Safenet Authentication Service, SASSafenet Authentication Service, SAS
Safenet Authentication Service, SAS
robbuddingh
 
You Can't Spell Enterprise Security without MFA
You Can't Spell Enterprise Security without MFA You Can't Spell Enterprise Security without MFA
You Can't Spell Enterprise Security without MFA
Ping Identity
 
Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
Blueinfy Solutions
 
How to Make Your IoT Devices Secure, Act Autonomously & Trusted Subjects
How to Make Your IoT Devices Secure, Act Autonomously & Trusted SubjectsHow to Make Your IoT Devices Secure, Act Autonomously & Trusted Subjects
How to Make Your IoT Devices Secure, Act Autonomously & Trusted Subjects
Maxim Salnikov
 
Lock it Down: Access Control for IBM i
Lock it Down: Access Control for IBM iLock it Down: Access Control for IBM i
Lock it Down: Access Control for IBM i
Precisely
 
Anonymous Individual Integration for IoT
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoT
Paul Fremantle
 
Cyber Security.pdf
Cyber Security.pdfCyber Security.pdf
Cyber Security.pdf
preethajoseph5
 
Two factor authentication.pptx
Two factor authentication.pptxTwo factor authentication.pptx
Two factor authentication.pptx
ArpithaShoby
 
HTTP Services & REST API Security
HTTP Services & REST API SecurityHTTP Services & REST API Security
HTTP Services & REST API Security
Taiseer Joudeh
 
Seminar-Two Factor Authentication
Seminar-Two Factor AuthenticationSeminar-Two Factor Authentication
Seminar-Two Factor AuthenticationDilip Kr. Jangir
 
CIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul Madsen
CIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul MadsenCIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul Madsen
CIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul Madsen
CloudIDSummit
 
Polling system solution using blockchain & Liferay
Polling system solution using blockchain & LiferayPolling system solution using blockchain & Liferay
Polling system solution using blockchain & Liferay
Dhanraj Dadhich
 
Brian Desmond - Quickly and easily protect your applications and services wit...
Brian Desmond - Quickly and easily protect your applications and services wit...Brian Desmond - Quickly and easily protect your applications and services wit...
Brian Desmond - Quickly and easily protect your applications and services wit...Nordic Infrastructure Conference
 
Security 101: Multi-Factor Authentication for IBM i
Security 101: Multi-Factor Authentication for IBM iSecurity 101: Multi-Factor Authentication for IBM i
Security 101: Multi-Factor Authentication for IBM i
Precisely
 

Similar to Mobile Authentication - Moving Towards a Passwordless Future (20)

10 1 otp all
10 1 otp all10 1 otp all
10 1 otp all
 
How to do right cryptography in android part 3 / Gated Authentication reviewed
How to do right cryptography in android part 3 / Gated Authentication reviewedHow to do right cryptography in android part 3 / Gated Authentication reviewed
How to do right cryptography in android part 3 / Gated Authentication reviewed
 
Provable Device Cybersecurity in Blockchain Transactions
Provable Device Cybersecurity in Blockchain TransactionsProvable Device Cybersecurity in Blockchain Transactions
Provable Device Cybersecurity in Blockchain Transactions
 
FIDO & Strong Authentication Technology Landscape
FIDO & Strong Authentication Technology LandscapeFIDO & Strong Authentication Technology Landscape
FIDO & Strong Authentication Technology Landscape
 
Windows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 AppsWindows Phone 8 Security and Testing WP8 Apps
Windows Phone 8 Security and Testing WP8 Apps
 
JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...JDD2015: Security in the era of modern applications and services - Bolesław D...
JDD2015: Security in the era of modern applications and services - Bolesław D...
 
Safenet Authentication Service, SAS
Safenet Authentication Service, SASSafenet Authentication Service, SAS
Safenet Authentication Service, SAS
 
You Can't Spell Enterprise Security without MFA
You Can't Spell Enterprise Security without MFA You Can't Spell Enterprise Security without MFA
You Can't Spell Enterprise Security without MFA
 
Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
 
How to Make Your IoT Devices Secure, Act Autonomously & Trusted Subjects
How to Make Your IoT Devices Secure, Act Autonomously & Trusted SubjectsHow to Make Your IoT Devices Secure, Act Autonomously & Trusted Subjects
How to Make Your IoT Devices Secure, Act Autonomously & Trusted Subjects
 
Lock it Down: Access Control for IBM i
Lock it Down: Access Control for IBM iLock it Down: Access Control for IBM i
Lock it Down: Access Control for IBM i
 
Anonymous Individual Integration for IoT
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoT
 
Cyber Security.pdf
Cyber Security.pdfCyber Security.pdf
Cyber Security.pdf
 
Two factor authentication.pptx
Two factor authentication.pptxTwo factor authentication.pptx
Two factor authentication.pptx
 
HTTP Services & REST API Security
HTTP Services & REST API SecurityHTTP Services & REST API Security
HTTP Services & REST API Security
 
Seminar-Two Factor Authentication
Seminar-Two Factor AuthenticationSeminar-Two Factor Authentication
Seminar-Two Factor Authentication
 
CIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul Madsen
CIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul MadsenCIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul Madsen
CIS 2015- IoT? The ‘I’ needs to be ‘Identity’- Paul Madsen
 
Polling system solution using blockchain & Liferay
Polling system solution using blockchain & LiferayPolling system solution using blockchain & Liferay
Polling system solution using blockchain & Liferay
 
Brian Desmond - Quickly and easily protect your applications and services wit...
Brian Desmond - Quickly and easily protect your applications and services wit...Brian Desmond - Quickly and easily protect your applications and services wit...
Brian Desmond - Quickly and easily protect your applications and services wit...
 
Security 101: Multi-Factor Authentication for IBM i
Security 101: Multi-Factor Authentication for IBM iSecurity 101: Multi-Factor Authentication for IBM i
Security 101: Multi-Factor Authentication for IBM i
 

More from ForgeRock Identity Tech Talks

Deep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flowsDeep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flows
ForgeRock Identity Tech Talks
 
Implementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRockImplementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRock
ForgeRock Identity Tech Talks
 
Just Enough Authentication
Just Enough AuthenticationJust Enough Authentication
Just Enough Authentication
ForgeRock Identity Tech Talks
 
Authentication
AuthenticationAuthentication
Anonymity, Trust, Accountability
Anonymity, Trust, AccountabilityAnonymity, Trust, Accountability
Anonymity, Trust, Accountability
ForgeRock Identity Tech Talks
 
Gov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So FarGov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So Far
ForgeRock Identity Tech Talks
 
EU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The RescueEU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The Rescue
ForgeRock Identity Tech Talks
 
Delivering Identity at Internet Scale
Delivering Identity at Internet ScaleDelivering Identity at Internet Scale
Delivering Identity at Internet Scale
ForgeRock Identity Tech Talks
 
The Slow Death of Passwords
The Slow Death of PasswordsThe Slow Death of Passwords
The Slow Death of Passwords
ForgeRock Identity Tech Talks
 
Steak and OAuth Pi
Steak and OAuth PiSteak and OAuth Pi
Steak and OAuth Pi
ForgeRock Identity Tech Talks
 
Share All The Things With UMA
Share All The Things With UMAShare All The Things With UMA
Share All The Things With UMA
ForgeRock Identity Tech Talks
 
A Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work FlowA Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work Flow
ForgeRock Identity Tech Talks
 
Rethinking The Policy Agent
Rethinking The Policy AgentRethinking The Policy Agent
Rethinking The Policy Agent
ForgeRock Identity Tech Talks
 
Authorization Using JWTs
Authorization Using JWTsAuthorization Using JWTs
Authorization Using JWTs
ForgeRock Identity Tech Talks
 
Blockchain
BlockchainBlockchain
Introduction to SAML & OIDC
Introduction to SAML & OIDCIntroduction to SAML & OIDC
Introduction to SAML & OIDC
ForgeRock Identity Tech Talks
 

More from ForgeRock Identity Tech Talks (16)

Deep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flowsDeep dive into the Open Banking payments flows
Deep dive into the Open Banking payments flows
 
Implementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRockImplementing Open Banking with ForgeRock
Implementing Open Banking with ForgeRock
 
Just Enough Authentication
Just Enough AuthenticationJust Enough Authentication
Just Enough Authentication
 
Authentication
AuthenticationAuthentication
Authentication
 
Anonymity, Trust, Accountability
Anonymity, Trust, AccountabilityAnonymity, Trust, Accountability
Anonymity, Trust, Accountability
 
Gov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So FarGov.uk Verify - The Journey So Far
Gov.uk Verify - The Journey So Far
 
EU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The RescueEU Single Digital Market - eIDAS To The Rescue
EU Single Digital Market - eIDAS To The Rescue
 
Delivering Identity at Internet Scale
Delivering Identity at Internet ScaleDelivering Identity at Internet Scale
Delivering Identity at Internet Scale
 
The Slow Death of Passwords
The Slow Death of PasswordsThe Slow Death of Passwords
The Slow Death of Passwords
 
Steak and OAuth Pi
Steak and OAuth PiSteak and OAuth Pi
Steak and OAuth Pi
 
Share All The Things With UMA
Share All The Things With UMAShare All The Things With UMA
Share All The Things With UMA
 
A Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work FlowA Deep Dive Into Identity Work Flow
A Deep Dive Into Identity Work Flow
 
Rethinking The Policy Agent
Rethinking The Policy AgentRethinking The Policy Agent
Rethinking The Policy Agent
 
Authorization Using JWTs
Authorization Using JWTsAuthorization Using JWTs
Authorization Using JWTs
 
Blockchain
BlockchainBlockchain
Blockchain
 
Introduction to SAML & OIDC
Introduction to SAML & OIDCIntroduction to SAML & OIDC
Introduction to SAML & OIDC
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 

Mobile Authentication - Moving Towards a Passwordless Future

  • 1. Mobile Authentication 
 Moving Towards a Passwordless Future David Luna david@luna.co.uk 2016
  • 2. Introduction • David Luna, Software Engineer at ForgeRock • Part of the team that develops OpenAM • Worked on Push and OATH implementations • Not a fan of passwords
  • 3. Why Not Passwords? • Knowledge-based authentication: • password - weak • password1 - weak • p4sS:w0rD - weak • k33p,a:littl3!b1rdHoU5eInURS0ul - not bad… but try typing it on a phone
  • 4. Outline • Authentication (the ludicrous-speed version) • Underlying Technical Components (in brief) • OATH • Push • FIDO • Summary
  • 5. Authentication • The act of confirming the identity of a person by validating their identity documents • Factors • Knowledge-based: Something the user KNOWS (passwords…) • Ownership-based: Something the user HAS (security tokens, mobile phones…) • Inherence-based: Something the user IS (biometrics…) • “2FA” - Using first one, then a “second factor authentication” • “multifactor” - Using many in tandem
  • 6. Tech Components • OTPs - One-Time Passwords • Not re-usable • Generally automatically generated by a machine and either: • Told to the user • Used machine-to-machine • Can be emailed to people on request (e.g. Steam) • Can be produced by a device on a dongle or the phone in your pocket
  • 7. Tech Components II • HMAC - Keyed-Hash Message Authentication Codes • Uses a secret key, and a cryptographic hashing function to produce a message authentication code (MAC) • Hashing just SHA1 / SHA256 on its own is vulnerable to attack (length extension attack) • Defined in RFC2104 - Pseudo-Code here is from Wikipedia
  • 8. Tech Components III • Public-key Cryptography • Keys are produced in pairs: • private • public • Keep the private one… well, private • Share the public one without whomsoever you wish • Messages encrypted by the public key can only be decrypted by the private key’s holder • Messages signed by the private key can be verified by holders of the public key also from Wikipedia
  • 9. OATH- What is it? • Initiative For Open AuTHentication (2005) • Two defined standards: • HOTP - HMAC One-Time Password • TOTP - Time-based One-Time Password • Hardware and software tokens (implementations) exist • Both standards produce a 6-8 digit number • User copies the code from their token to wherever it’s needed • Server verifies that the code exists within an appropriate window of allowed codes, success if so, failure otherwise • We’ll use OpenAM’s implementation as our example
  • 10. OATH- How does it work? • Registration • User is pre-authenticated using legacy auth, selects to register for OATH • Server generates sharedSecret for the user’s account • Transfers this secret, along with OATH configuration parameters to the token - or otherwise manually entered • OpenAM uses QR codes to transmit • Registration prompts for authentication using the new token before committing the newly minted device to the user’s profile
  • 11. OATH- How does it work? • Authentication • Uses a moving counter which must stay in sync between server and token • HOTP(sharedSecret, counter) = truncate(HMAC-SHA1(sharedSecret, counter)) • TOTP is HOTP where the counter is based on the number of time intervals since an epoch • Requires clocks to remain in sync • Cannot move past the available window by repeated requesting of tokens • The truncate function reduces the 160-bit output of the HMAC-SHA1 function down to 4 bytes • Finally we generate a 6-8 digit by using the HOTP output, mod 10^d, where d is the number of digits we desire
  • 12. Demo
  • 13. OATH- Usability • Hard to use, somewhat secure, prone to user error • Hardware tokens run out of batteries/break • Pure ownership factor - if you have the token, you have the auth factor • Only suitable as a second factor • If server is compromised, user’s shared secret and counter information is compromised • The attacker can configure a token with the same parameters as the user by reading data alone
  • 14. Push- What is it? • “Push” is not the name of the authentication method, but delivery mechanism • Often used for chat programs - FaceBook Messenger, etc. • Implemented by mobile OSes, Android, iOS, etc. • Method of getting a message directly to a specific mobile device • Can use notifications to draw attention to the message when received • These notifications can work in tandem with an app on a phone to perform authentication to a remote server • Gaining traction at the moment, Google Prompt released last month • We’ll use OpenAM’s implementation as our example
  • 15. Push- How does it work? • Registration • User is pre-authenticated using legacy auth, selects to register for Push • Server generates sharedSecret for the user’s account • Transfers this secret, along with a challenge made up of random bytes to the user • OpenAM uses QR codes to transmit • Server calculates the response to the challenge, by performing HMAC- SHA256(sharedSecret, challenge) • Phone performs the same calculation • Phone requests a unique identifier for itself from its service provider (Google’s GCM, or Apple’s APNS)
  • 16. Push- How does it work? • Registration (continued…) • Phone transmits result of calculation to server along with its device identifier on the network as well as the phone type, wrapped in a Signed JWT, over https • Server verifies this result against its pre-calculated response • If they match the server stores the credentials, returns HTTP 200 to the phone and it does likewise • Authentication • Very similar to registration • Challenge is sent via push this time • Phone doesn’t need to talk to its service provider
  • 17. Push- How does it work? Registration Authentication
  • 18. Demo
  • 19. Push- Usability • Easy to use, secure, flexible… but no standard (…yet?) • If device is stolen and there’s no additional security on the device itself then the authentication factor is fully owned by the thief • One-touch login can be offered - much less prone to error than copying in a code from a screen manually • If the server is compromised, shared secret can also be compromised • Attacker can only take control of the token by writing a new device location to send the authentication messages • Easy for a user to comprehend • At the mercy of mobile’s ability to receive a push notification
  • 20. FIDO- What is it? • Fast ID Online • Unlike Push it’s a standard for online auth • v.1.0 of the specification released in 2014 • Steady adoption, but devices need to be certified • Allows for pluggable local authentication to a user-owner device • Two protocols in the spec - UAF and U2F • We’ll focus on UAF as it’s the passwordless flow, but U2F is very similar
  • 21. FIDO- How it works • Registration • User is pre-authenticated using legacy auth, selects to register for FIDO • FIDO acts through extensions in client - app, browser or OS; to locate FIDO Authenticators • Authenticator decouples the authentication method on the local device from the message sent to server • Allowing for pluggable local authentication • The UAF protocol allows the service to select which local authentication mechanisms are presented to the user • Secures communication to client vis TLS - server’s private key must be kept secure & be trusted by client CA list
  • 22. FIDO- How it works • Registration • Once locally authenticated, device mints a cryptographic key pair unique to: • this user • for this device • on this service • Stores the private key in secure memory • Sends the public key to the service • Sends the local authenticator’s attestation to the service • Authentication • Same process, but authenticator simply performs local auth • Signs a challenge if local auth success • Sends back to server
  • 23. FIDO- How it works Image from https://fidoalliance.org/
  • 24. Registration Authentication FIDO UAF- How does it work? Images from https://fidoalliance.org/
  • 25. FIDO- Usability • Easy to use, flexible, good security, standard • Authenticators registered to central authority (FIDO Alliance) • FIDO authenticators can be revoked by FIDO Alliance • If server is compromised attacker can only retrieve public key
  • 26. Summary • Passwordless authentication is a reality in 2016 • If you’re implementing today: • Simple OTPs are a good place to start • Best used as 2FA though, rather than passwordless • Push is a good go-to right now • Look at how FIDO could help you in future when support is widespread • Increased security • Small administration overhead