SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
474 Password Not Found
Giuseppe Galli g.galli@k-tech.it
Saverio Caminiti s.caminiti@k-tech.it
ROME 18-19 MARCH 2016
Giuseppe Galli
Mr. Giuseppe Galli, Master in Electronic Engineering
g.galli@k-tech.it
• Partner and CTO in K-Tech s.r.l.
• Experienced in JEE Architecture
• Expert in Web, mobile and SOA solutions
• Several years spent working as APM Specialist
• Class Instructor
Saverio Caminiti
Saverio Caminiti, Ph.D.
s.caminiti@k-tech.it
• Analyst and Senior Dev at K-Tech s.r.l.
• Formerly:
• Researcher at: Sapienza University of Rome,
Italian National Research Council, University of
Central Florida, Eötvös Loránd University.
• Cofounder of a company for Augmented Reality
mobile apps.
K-Tech s.r.l.
• Consultancy firm
based in Rome
• Founded in 1996
by enthusiast
developers
• Java Italian Portal
(JIP) maintainer
• Web, Mobile, SOA
applications
development
What this talk is about
• Advocate that passwords are obsolete
• Technologies are ready to let us move forward
• Show that humans can live (even better)
without passwords
• Teach you how to design/code your application
• Advertise/sell a software we made
• Blame on those that still implement
authentication systems based on passwords
What this talk is NOT about
Purpose of this Talk
• Open a discussion about a future without
passwords
• Raise awareness on this topic among
developers
• Receive feedbacks and opinions from this
community
Background
Password: old concept new use
• In the past only a few people were using
passwords (and in a very limited way)
STOP!
Pass phrase, please
Password: old concept new use
• In the past only a few people were using
passwords (and in a very limited way)
• Nowadays everybody is required to deal with
tens of passwords
STOP!
Pass phrase, please
Humans vs passwords
• Humans don’t play well with passwords
• they use easy passwords
Data from:
xato.net
Humans vs passwords
• Humans don’t play well with passwords
• they use easy passwords
Data from:
xato.net
• Humans don’t play well with passwords
• they use easy passwords
• they reuse the same password everywhere
…and no, a birthdate is not a password at all!
Data from:
xato.net
Humans vs passwords
Human-Computer Interaction point of view
• HCI basically tells us that:
• computers must adapt to humans
• humans should be able to do thing in a way
that is as natural as possible
Human-Computer Interaction point of view
• Overall proliferation of username/passwords
based systems is an anti-pattern
Human-Computer Interaction point of view
• Overall proliferation of username/passwords
based systems is an anti-pattern
User side
• “Computer Aided Password Management”
• Users may mitigate the problem with
software that help them dealing with this
computer-induced need
• Although helpful these software do not solve
the underling problem
…
User side
• “Computer Aided Password Management”
• Users may mitigate the problem with
software that help them dealing with this
computer-induced need
• Although helpful these software do not solve
the underling problem
…
So we need computer help
to do something that
computers force us to do!?
Sounds weird!
System side
• OAuth 2.0
• Login with Google, Facebook, Twitter, etc.
• Biometrics
• Fingerprint, face, voice, iris,

movement recognition, etc.
• 2FA (two-factors authentication)
• SMS, Physical Token, etc.
Move away from
passwords
Reasons to abandon passwords
• Usability
• Humans don’t need to deal with passwords
• and they don't want to
• Security
• Humans tend to choose poor passwords
• May be stolen without physical interaction
• Data collected and used later (phishing)
Guidelines proposal
• Avoid username/password
• Use your own smartphone as a physical access key
• Generate a T-OTP on request
• Authenticate a browser/app session
• Secure app-to-server communication
12345678
See K-Tech implementation in act
DEMO
K-Tech solution
details
Main features
1.Easy to use (no typing of any user data) 😀🔐
2.Out of Band: T-OTP exchange 🔐
3.Requires a device pre-registered by: 🔐
A. direct request (workflow to approve) 💰
B. invitation
4.No password storage (in the whole system) 🔐
5.User secret is used to build T-OTP only 🔐
6.Multi-user/multi-account/multi-device 😀
7.Activity history and logout for active sessions 😀
8.Can use a “friend device” 😀
Technicalities
• T-OTP: Time based One Time Password RFC 6238
• Mobile and Auth Server clocks are synchronised via
NTP
• I18n: Internationalisation
• HTOTP(s): Extension HTTP/TLS protocols
• Response status codes:
• Utilises the range of codes 470-474, left
unassigned by the RFC
• 404 Not Found
• 474 Password Not Found
htotp(s) Protocol
def authorize(request):

"""

:param request: the HTTP response

:return: a response with status codes:

400: request in a session with an invalid session key

404: request in a session without session key (or expired)

470: otp check failed (doesn't match)

471: missing otp related parameters

472: session already authorized

474: device id not found (or expired or wrong username)

500: the user cannot be authorized locally (unable to log in)

"""
if not backends.check_user_access(domain=domain, site=site):

logger.debug("authorize - unable to grant site '%s'on the domain '%s'" % (site, domain))

return _error_page(request, message="authorize request with wrong ‘domain': %s" % domain)

try:

user, server_ts, sso_session_id = backends.check_otp(domain=domain, site=site, request=request)

if not user:

logger.debug("authorize - otp doesn't match (response status 470)")

response = JsonResponse({"message": "otp is not valid"}, status=470)

response['otp-server-ts'] = format_utc_datetime(apps.utc_now())
return response

logger.debug("authorize - got a valid otp: authorize the session '%s' (wg_key: '%d', sso: '%s') for '%s'" %

(session_id, session_key.pk, sso_session_id, user))

session_key.authorize(user, sso_session_id=sso_session_id)

message = 'ok'

status = 200

except exceptions.UnknowRequestException as e:

logger.debug('authorize - request with unknown parameters: redirecting to error page: %s' % e)

return _error_page(request, message='authorize request with unknown parameters: redirecting to error page')

except exceptions.BadRequestException as e:

logger.debug('authorize - request without valid otp related data (response status 471)')

return JsonResponse({"message": "request without valid otp related data", "error": "%s" % e}, status=471)

except exceptions.DeviceNotFoundException as e:

logger.debug('authorize - device id not found or expired or wrong user data (response status 474)')

return JsonResponse({"message": "device id not found", "error": "%s" % e}, status=474)
Envisioning the
future
• Main changes in widespread behaviours may be
difficult to envision
• Let’s start this shift, the sooner the better
Skepticism
Status quo
• Technologies are broadly available and mature
• Users access Internet services increasingly
more from mobile devices
• User awareness is still too low
• Little or no innovation in software systems
development
Future developments
• Progressive adoption of password-less solutions
• Authentication (login, strong auth)
• Authorization (roles, dispositive action)
• Digital signature
• Anonymization (privacy)
• Standardization
• User Experience
• Protocols
• API for libraries and services
Questions and
Feedback
References
• T-OTP: https://tools.ietf.org/html/rfc6238
• HTTP Status Code: https://www.w3.org/
Protocols/rfc2616/rfc2616-sec10.html
• Password data from: https://xato.net
ROME 18-19 MARCH 2016
Thanks!
Giuseppe Galli g.galli@k-tech.it
Saverio Caminiti s.caminiti@k-tech.it
All pictures belong
to their respective authors

Mais conteúdo relacionado

Mais procurados

失敗から学ぶAndroid設計話
失敗から学ぶAndroid設計話失敗から学ぶAndroid設計話
失敗から学ぶAndroid設計話chigichan24
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~Tatsuo Kudo
 
Humble Object Patternな話
Humble Object Patternな話Humble Object Patternな話
Humble Object Patternな話Hiroto Imoto
 
Universal Links対応をした話
Universal Links対応をした話Universal Links対応をした話
Universal Links対応をした話Chiharu Nameki
 
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with PythonPythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with PythonYoichi Kawasaki
 
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用モノビット エンジン
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことasakahara
 
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLabGREE VR Studio Lab
 
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングMicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングLINE Corporation
 
Swiftではじめる動画再生
Swiftではじめる動画再生Swiftではじめる動画再生
Swiftではじめる動画再生Yusuke Ariyoshi
 
Photos vs Assets Library - いまさら始めるPhotos.framework
Photos vs Assets Library - いまさら始めるPhotos.frameworkPhotos vs Assets Library - いまさら始めるPhotos.framework
Photos vs Assets Library - いまさら始めるPhotos.frameworkKaname Noto
 
XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用
XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用
XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用Akinori SAKATA
 
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-Satoshi Masuda
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)H Iseri
 
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題などReladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題などなべ
 
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannelmganeko
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうShun Hikita
 
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)masashi takehara
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talkkyon mm
 

Mais procurados (20)

失敗から学ぶAndroid設計話
失敗から学ぶAndroid設計話失敗から学ぶAndroid設計話
失敗から学ぶAndroid設計話
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
 
Humble Object Patternな話
Humble Object Patternな話Humble Object Patternな話
Humble Object Patternな話
 
Universal Links対応をした話
Universal Links対応をした話Universal Links対応をした話
Universal Links対応をした話
 
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with PythonPythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
 
Depth in Depth #iOSDC
Depth in Depth #iOSDCDepth in Depth #iOSDC
Depth in Depth #iOSDC
 
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
 
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングMicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
 
Swiftではじめる動画再生
Swiftではじめる動画再生Swiftではじめる動画再生
Swiftではじめる動画再生
 
Photos vs Assets Library - いまさら始めるPhotos.framework
Photos vs Assets Library - いまさら始めるPhotos.frameworkPhotos vs Assets Library - いまさら始めるPhotos.framework
Photos vs Assets Library - いまさら始めるPhotos.framework
 
XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用
XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用
XP祭り2019 B-6 アジャイルソフトウェア開発への統計的品質管理の応用
 
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題などReladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
Reladomoを使ったトランザクション履歴管理をプロダクトに適用した際のメリット/デメリット/課題など
 
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 

Destaque

TDD and mobile development: some forgotten techniques, illustrated with Android
TDD and mobile development: some forgotten techniques, illustrated with AndroidTDD and mobile development: some forgotten techniques, illustrated with Android
TDD and mobile development: some forgotten techniques, illustrated with AndroidCodemotion
 
JavaScript in 2016
JavaScript in 2016JavaScript in 2016
JavaScript in 2016Codemotion
 
Commodore 64 Mon Amour
Commodore 64 Mon AmourCommodore 64 Mon Amour
Commodore 64 Mon AmourCodemotion
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...Codemotion
 
Demistifying the 3D Web
Demistifying the 3D WebDemistifying the 3D Web
Demistifying the 3D WebCodemotion
 
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...Codemotion
 
Everything you always wanted to know about highly available distributed datab...
Everything you always wanted to know about highly available distributed datab...Everything you always wanted to know about highly available distributed datab...
Everything you always wanted to know about highly available distributed datab...Codemotion
 
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016Codemotion
 
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016Codemotion
 
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016Codemotion
 
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016Codemotion
 
Maker Experience: user centered toolkit for makers
Maker Experience: user centered toolkit for makersMaker Experience: user centered toolkit for makers
Maker Experience: user centered toolkit for makersCodemotion
 
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...Codemotion
 
Engage and retain users in the mobile world
Engage and retain users in the mobile worldEngage and retain users in the mobile world
Engage and retain users in the mobile worldCodemotion
 
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...Codemotion
 
The rise and fall and rise of Virtual Reality - Adriaan Rijkens - Codemotion...
The rise and fall and rise of Virtual Reality -  Adriaan Rijkens - Codemotion...The rise and fall and rise of Virtual Reality -  Adriaan Rijkens - Codemotion...
The rise and fall and rise of Virtual Reality - Adriaan Rijkens - Codemotion...Codemotion
 
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Codemotion
 
Microsoft <3 Open Source: Un anno dopo!
Microsoft <3 Open Source: Un anno dopo!Microsoft <3 Open Source: Un anno dopo!
Microsoft <3 Open Source: Un anno dopo!Codemotion
 
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016Codemotion
 
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...Codemotion
 

Destaque (20)

TDD and mobile development: some forgotten techniques, illustrated with Android
TDD and mobile development: some forgotten techniques, illustrated with AndroidTDD and mobile development: some forgotten techniques, illustrated with Android
TDD and mobile development: some forgotten techniques, illustrated with Android
 
JavaScript in 2016
JavaScript in 2016JavaScript in 2016
JavaScript in 2016
 
Commodore 64 Mon Amour
Commodore 64 Mon AmourCommodore 64 Mon Amour
Commodore 64 Mon Amour
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
 
Demistifying the 3D Web
Demistifying the 3D WebDemistifying the 3D Web
Demistifying the 3D Web
 
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
 
Everything you always wanted to know about highly available distributed datab...
Everything you always wanted to know about highly available distributed datab...Everything you always wanted to know about highly available distributed datab...
Everything you always wanted to know about highly available distributed datab...
 
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
Living on the Edge (Service) - Mark Heckler - Codemotion Amsterdam 2016
 
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
Death to Icon Fonts - Seren Davies - Codemotion Amsterdam 2016
 
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
Software environmentalism - Tudor Girba - Codemotion Amsterdam 2016
 
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
Welcome to Mordor - Daniel Kahn - Codemotion Amsterdam 2016
 
Maker Experience: user centered toolkit for makers
Maker Experience: user centered toolkit for makersMaker Experience: user centered toolkit for makers
Maker Experience: user centered toolkit for makers
 
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
Distributed Companies: A WordPress.com Team Perspective - Davide Casali - Cod...
 
Engage and retain users in the mobile world
Engage and retain users in the mobile worldEngage and retain users in the mobile world
Engage and retain users in the mobile world
 
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
Boxcars and Cabooses: When one more XHR is too much - Peter Chittum - Codemot...
 
The rise and fall and rise of Virtual Reality - Adriaan Rijkens - Codemotion...
The rise and fall and rise of Virtual Reality -  Adriaan Rijkens - Codemotion...The rise and fall and rise of Virtual Reality -  Adriaan Rijkens - Codemotion...
The rise and fall and rise of Virtual Reality - Adriaan Rijkens - Codemotion...
 
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
 
Microsoft <3 Open Source: Un anno dopo!
Microsoft <3 Open Source: Un anno dopo!Microsoft <3 Open Source: Un anno dopo!
Microsoft <3 Open Source: Un anno dopo!
 
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
Angular2 and Redux - up & running - Nir Kaufman - Codemotion Amsterdam 2016
 
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
If security is hard, you are doing it wrong - Fabio Locati - Codemotion Amste...
 

Semelhante a 474 Password Not Found

Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrichdrewz lin
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
Whatscrypt Messenger for android project
Whatscrypt Messenger for android projectWhatscrypt Messenger for android project
Whatscrypt Messenger for android projectMuthukumaranM13
 
SSO using CAS + two-factor authentication (PyGrunn 2014 talk)
SSO using CAS + two-factor authentication (PyGrunn 2014 talk)SSO using CAS + two-factor authentication (PyGrunn 2014 talk)
SSO using CAS + two-factor authentication (PyGrunn 2014 talk)Artur Barseghyan
 
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and SolutionHeartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and SolutionCASCouncil
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project PresentationSyed Absar
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7Rapid7
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Michael Pirnat
 
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...CODE BLUE
 
Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015kingsBSD
 
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit ShahANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit ShahAgileNetwork
 
Cross-platform logging and analytics
Cross-platform logging and analyticsCross-platform logging and analytics
Cross-platform logging and analyticsDrew Crawford
 
E gov security_tut_session_3
E gov security_tut_session_3E gov security_tut_session_3
E gov security_tut_session_3Mustafa Jarrar
 
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...Codemotion
 

Semelhante a 474 Password Not Found (20)

Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
Whatscrypt Messenger for android project
Whatscrypt Messenger for android projectWhatscrypt Messenger for android project
Whatscrypt Messenger for android project
 
SSO using CAS + two-factor authentication (PyGrunn 2014 talk)
SSO using CAS + two-factor authentication (PyGrunn 2014 talk)SSO using CAS + two-factor authentication (PyGrunn 2014 talk)
SSO using CAS + two-factor authentication (PyGrunn 2014 talk)
 
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and SolutionHeartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project Presentation
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
 
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
 
Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015
 
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit ShahANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
ANIn Pune July 2023 |Prompt Engineering and AI first SDLC by Abhijit Shah
 
Cross-platform logging and analytics
Cross-platform logging and analyticsCross-platform logging and analytics
Cross-platform logging and analytics
 
E gov security_tut_session_3
E gov security_tut_session_3E gov security_tut_session_3
E gov security_tut_session_3
 
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
 
Ice dec05-04-wan leung
Ice dec05-04-wan leungIce dec05-04-wan leung
Ice dec05-04-wan leung
 
20181023 progressive web_apps_are_here_sfcampua
20181023 progressive web_apps_are_here_sfcampua20181023 progressive web_apps_are_here_sfcampua
20181023 progressive web_apps_are_here_sfcampua
 
Progressive Web Apps are here!
Progressive Web Apps are here!Progressive Web Apps are here!
Progressive Web Apps are here!
 
Hacking Mobile Apps
Hacking Mobile AppsHacking Mobile Apps
Hacking Mobile Apps
 
locker presentation (1)
locker presentation (1)locker presentation (1)
locker presentation (1)
 

Mais de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mais de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

474 Password Not Found

  • 1. 474 Password Not Found Giuseppe Galli g.galli@k-tech.it Saverio Caminiti s.caminiti@k-tech.it ROME 18-19 MARCH 2016
  • 2. Giuseppe Galli Mr. Giuseppe Galli, Master in Electronic Engineering g.galli@k-tech.it • Partner and CTO in K-Tech s.r.l. • Experienced in JEE Architecture • Expert in Web, mobile and SOA solutions • Several years spent working as APM Specialist • Class Instructor
  • 3. Saverio Caminiti Saverio Caminiti, Ph.D. s.caminiti@k-tech.it • Analyst and Senior Dev at K-Tech s.r.l. • Formerly: • Researcher at: Sapienza University of Rome, Italian National Research Council, University of Central Florida, Eötvös Loránd University. • Cofounder of a company for Augmented Reality mobile apps.
  • 4. K-Tech s.r.l. • Consultancy firm based in Rome • Founded in 1996 by enthusiast developers • Java Italian Portal (JIP) maintainer • Web, Mobile, SOA applications development
  • 5. What this talk is about • Advocate that passwords are obsolete • Technologies are ready to let us move forward • Show that humans can live (even better) without passwords
  • 6. • Teach you how to design/code your application • Advertise/sell a software we made • Blame on those that still implement authentication systems based on passwords What this talk is NOT about
  • 7. Purpose of this Talk • Open a discussion about a future without passwords • Raise awareness on this topic among developers • Receive feedbacks and opinions from this community
  • 9. Password: old concept new use • In the past only a few people were using passwords (and in a very limited way) STOP! Pass phrase, please
  • 10. Password: old concept new use • In the past only a few people were using passwords (and in a very limited way) • Nowadays everybody is required to deal with tens of passwords STOP! Pass phrase, please
  • 11. Humans vs passwords • Humans don’t play well with passwords • they use easy passwords Data from: xato.net
  • 12. Humans vs passwords • Humans don’t play well with passwords • they use easy passwords Data from: xato.net
  • 13. • Humans don’t play well with passwords • they use easy passwords • they reuse the same password everywhere …and no, a birthdate is not a password at all! Data from: xato.net Humans vs passwords
  • 14. Human-Computer Interaction point of view • HCI basically tells us that: • computers must adapt to humans • humans should be able to do thing in a way that is as natural as possible
  • 15. Human-Computer Interaction point of view • Overall proliferation of username/passwords based systems is an anti-pattern
  • 16. Human-Computer Interaction point of view • Overall proliferation of username/passwords based systems is an anti-pattern
  • 17. User side • “Computer Aided Password Management” • Users may mitigate the problem with software that help them dealing with this computer-induced need • Although helpful these software do not solve the underling problem …
  • 18. User side • “Computer Aided Password Management” • Users may mitigate the problem with software that help them dealing with this computer-induced need • Although helpful these software do not solve the underling problem … So we need computer help to do something that computers force us to do!? Sounds weird!
  • 19. System side • OAuth 2.0 • Login with Google, Facebook, Twitter, etc. • Biometrics • Fingerprint, face, voice, iris,
 movement recognition, etc. • 2FA (two-factors authentication) • SMS, Physical Token, etc.
  • 21. Reasons to abandon passwords • Usability • Humans don’t need to deal with passwords • and they don't want to • Security • Humans tend to choose poor passwords • May be stolen without physical interaction • Data collected and used later (phishing)
  • 22. Guidelines proposal • Avoid username/password • Use your own smartphone as a physical access key • Generate a T-OTP on request • Authenticate a browser/app session • Secure app-to-server communication 12345678
  • 25. Main features 1.Easy to use (no typing of any user data) 😀🔐 2.Out of Band: T-OTP exchange 🔐 3.Requires a device pre-registered by: 🔐 A. direct request (workflow to approve) 💰 B. invitation 4.No password storage (in the whole system) 🔐 5.User secret is used to build T-OTP only 🔐 6.Multi-user/multi-account/multi-device 😀 7.Activity history and logout for active sessions 😀 8.Can use a “friend device” 😀
  • 26. Technicalities • T-OTP: Time based One Time Password RFC 6238 • Mobile and Auth Server clocks are synchronised via NTP • I18n: Internationalisation • HTOTP(s): Extension HTTP/TLS protocols • Response status codes: • Utilises the range of codes 470-474, left unassigned by the RFC • 404 Not Found • 474 Password Not Found
  • 27. htotp(s) Protocol def authorize(request):
 """
 :param request: the HTTP response
 :return: a response with status codes:
 400: request in a session with an invalid session key
 404: request in a session without session key (or expired)
 470: otp check failed (doesn't match)
 471: missing otp related parameters
 472: session already authorized
 474: device id not found (or expired or wrong username)
 500: the user cannot be authorized locally (unable to log in)
 """ if not backends.check_user_access(domain=domain, site=site):
 logger.debug("authorize - unable to grant site '%s'on the domain '%s'" % (site, domain))
 return _error_page(request, message="authorize request with wrong ‘domain': %s" % domain)
 try:
 user, server_ts, sso_session_id = backends.check_otp(domain=domain, site=site, request=request)
 if not user:
 logger.debug("authorize - otp doesn't match (response status 470)")
 response = JsonResponse({"message": "otp is not valid"}, status=470)
 response['otp-server-ts'] = format_utc_datetime(apps.utc_now()) return response
 logger.debug("authorize - got a valid otp: authorize the session '%s' (wg_key: '%d', sso: '%s') for '%s'" %
 (session_id, session_key.pk, sso_session_id, user))
 session_key.authorize(user, sso_session_id=sso_session_id)
 message = 'ok'
 status = 200
 except exceptions.UnknowRequestException as e:
 logger.debug('authorize - request with unknown parameters: redirecting to error page: %s' % e)
 return _error_page(request, message='authorize request with unknown parameters: redirecting to error page')
 except exceptions.BadRequestException as e:
 logger.debug('authorize - request without valid otp related data (response status 471)')
 return JsonResponse({"message": "request without valid otp related data", "error": "%s" % e}, status=471)
 except exceptions.DeviceNotFoundException as e:
 logger.debug('authorize - device id not found or expired or wrong user data (response status 474)')
 return JsonResponse({"message": "device id not found", "error": "%s" % e}, status=474)
  • 29. • Main changes in widespread behaviours may be difficult to envision • Let’s start this shift, the sooner the better Skepticism
  • 30. Status quo • Technologies are broadly available and mature • Users access Internet services increasingly more from mobile devices • User awareness is still too low • Little or no innovation in software systems development
  • 31. Future developments • Progressive adoption of password-less solutions • Authentication (login, strong auth) • Authorization (roles, dispositive action) • Digital signature • Anonymization (privacy) • Standardization • User Experience • Protocols • API for libraries and services
  • 33. References • T-OTP: https://tools.ietf.org/html/rfc6238 • HTTP Status Code: https://www.w3.org/ Protocols/rfc2616/rfc2616-sec10.html • Password data from: https://xato.net
  • 34. ROME 18-19 MARCH 2016 Thanks! Giuseppe Galli g.galli@k-tech.it Saverio Caminiti s.caminiti@k-tech.it All pictures belong to their respective authors