Progettazione E Implementazione Di Un Servizio Di Autenticazione a Più Fattori Per I Servizi Dell’Ateneo

Total Page:16

File Type:pdf, Size:1020Kb

Progettazione E Implementazione Di Un Servizio Di Autenticazione a Più Fattori Per I Servizi Dell’Ateneo ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SCUOLA DI SCIENZE Corso di Laurea Specialistica in Scienze di Internet PROGETTAZIONE E IMPLEMENTAZIONE DI UN SERVIZIO DI AUTENTICAZIONE A PIÙ FATTORI PER I SERVIZI DELL’ATENEO Relatore: Chiar.mo Prof. VITTORIO GHINI Presentata da: CRISTIAN MEZZETTI II SESSIONE ANNO ACCADEMICO 2014/2015 1 Glossario ........................................................................................................................... 6 2 Introduzione ...................................................................................................................... 8 3 Identità digitale .............................................................................................................. 12 3.1 Tecnologie di autenticazione .............................................................................................. 14 3.1.1 Form/Basic Authentication .......................................................................................... 15 3.1.2 Kerberos ........................................................................................................................ 16 3.1.3 Smart card e token USB ............................................................................................. 17 3.1.4 RADIUS ......................................................................................................................... 20 3.1.5 CAS ................................................................................................................................ 21 3.1.6 OpenID e SAML ........................................................................................................... 22 3.2 Tecnologie di autorizzazione .............................................................................................. 26 3.2.1 LDAP .............................................................................................................................. 26 3.2.2 SAML e WS-Federation .............................................................................................. 28 3.2.3 Oauth ............................................................................................................................. 30 3.3 Gestione dell'identità digitale presso l'Università di Bologna ......................................... 31 3.4 Federazioni di identità .......................................................................................................... 37 3.5 Attribute Authority e VirtuaL Organization .......................................................................... 42 4 Autenticazione a 2 fattori ............................................................................................ 44 4.1 Implementazioni esistenti .................................................................................................... 49 4.2 Google .................................................................................................................................... 51 4.3 Facebook ............................................................................................................................... 54 4.4 DropboX .................................................................................................................................. 55 4.5 Apple ...................................................................................................................................... 56 4.6 LinOTP ................................................................................................................................... 57 4.7 OpenOTP ............................................................................................................................... 59 4.8 OneTime ................................................................................................................................ 60 4.9 Microsoft MFA ....................................................................................................................... 61 4.10 Duo Security .......................................................................................................................... 62 4.11 Authy ...................................................................................................................................... 63 4.12 Time4ID .................................................................................................................................. 64 5 Progettazione della soluzione in Unibo ................................................................. 66 5.1 Descrizione del problema .................................................................................................... 66 5.2 Scelta dei canali di verifica da supportare ........................................................................ 68 5.3 Requisiti e parametri di scelta ............................................................................................. 69 5.4 Scelta dell'architettura della soluzione .............................................................................. 72 6 Descrizione dell’iMpleMentazione ........................................................................... 74 6.1 Integrazione con il flusso di aggiornamento delle identità .............................................. 75 6.2 Gestione e provisioning del secondo fattore .................................................................... 77 6.3 Enrolment dell’utente ........................................................................................................... 79 6.4 Gestione e modifica del secondo fattore in autonomia ................................................... 82 6.5 Applicazioni personalizzate per dispositivi mobili ............................................................ 83 6.6 Creazione del backend per le attività di assistenza ........................................................ 86 6.7 Attività di integrazione su Identity Provider ADFS ........................................................... 87 6.8 Strumenti usati per lo sviluppo dell'Authentication Provider .......................................... 95 7 Conclusioni e sviluppi futuri ..................................................................................... 97 7.1 Attività di integrazione Shibboleth e CAS ......................................................................... 98 7.2 Integrazione del secondo fattore con altri servizi ............................................................. 98 7.3 Secondo fattore Out-Of-Band ............................................................................................. 99 2 8 RingraziaMenti ............................................................................................................. 101 9 Bibliografia .................................................................................................................... 102 3 FIGURA 2-1 - AUTENTICAZIONE A PIÙ FATTORI .................................................................................................... 10 FIGURA 3-1 - ESEMPIO DI BASIC AUTHENTICATION ............................................................................................ 16 FIGURA 3-2 - KERBEROS AUTHENTICATION PROTOCOL ...................................................................................... 16 FIGURA 3-3 - SMART CARD .................................................................................................................................. 18 FIGURA 3-4 - ESPERIENZA D'USO DELLE DUE TIPOLOGIE DI DISPOSITIVI FIDO - (FIDO ALLIANCE 2012) ........ 19 FIGURA 3-5 - RADIUS PROTOCOL (WIKIPEDIA 2015) ....................................................................................... 20 FIGURA 3-6 - CAS PROTOCOL (OHSIE 2014) .................................................................................................... 22 FIGURA 3-7 - SCHEMA DI AUTENTICAZIONE OPENID (GOVONI 2008) ................................................................ 23 FIGURA 3-8 - SAML AUTHENTICATION REQUEST - WIKIPEDIA .......................................................................... 24 FIGURA 3-9 - FUNZIONAMENTO DI UNA FEDERAZIONE DI IDENTITÀ (SWITCH CONSORTIUM S.D.) ...................... 25 FIGURA 3-10 - ESEMPIO DI ALBERO LDAP (OPENLDAP FOUNDATION 2003) .................................................. 27 FIGURA 3-11 - ARCHITETTURA SAML COMPLETA (CA SITEMINDER 2014) ....................................................... 29 FIGURA 3-12 - FAMIGLIA DI PROTOCOLLI WS-* (DEVSHED NETWORK 2004) .................................................... 29 FIGURA 3-13 - WS-FEDERATION (DEVSHED NETWORK 2004) .......................................................................... 30 FIGURA 3-14 - OAUTH PROTOCOL (ORACLE S.D.) .............................................................................................. 31 FIGURA 3-15 - ESEMPIO DI FLUSSO DI ACCREDITAMENTO DI UNO STUDENTE PRESSO L'ATENEO DI BOLOGNA33 FIGURA 3-16 - IDENTITY MANAGEMENT ALL'UNIVERSITÀ DI BOLOGNA .............................................................. 34 FIGURA 3-17 - SISTEMA DI SINCRONIZZAZIONE TRA AD ON-PREMISE E AZURE-AD IN CLOUD (GOLSHAN 2014) .................................................................................................................................................................... 37 FIGURA 3-18 - ARCHITETTURA DI UNA FEDERAZIONE FULL MESH COME IDEM (BAERECKE 2014) ................. 39 FIGURA 3-19 - ARCHITETTURA DI UNA FEDERAZIONE HUB AND SPOKE COME FEDERA (BAERECKE 2014) ..... 40 FIGURA 3-20 - INTERFEDERAZIONE EDUGAIN (TERPSTRA 2015) .....................................................................
Recommended publications
  • IBM Multi-Factor Authentication for Z/OS
    Multi Factor Authentication for Linux on IBM Z using a centralized z/OS LDAP infrastructure Dr. Manfred Gnirss Thomas Wienert Z ATS IBM Systems IBM Germany R & D Boeblingen, 18.7.2018 © 2018 IBM Corporation 2 Trademarks The following are trademarks of the International Business Machines Corporation in the United States, other countries, or both. Not all common law marks used by IBM are listed on this page. Failure of a mark to appear does not mean that IBM does not use the mark nor does it mean that the product is not actively marketed or is not significant within its relevant market. Those trademarks followed by ® are registered trademarks of IBM in the United States; all others are trademarks or common law marks of IBM in the United States. For a complete list of IBM Trademarks, see www.ibm.com/legal/copytrade.shtml: *BladeCenter®, DB2®, e business(logo)®, DataPower®, ESCON, eServer, FICON, IBM®, IBM (logo)®, MVS, OS/390®, POWER6®, POWER6+, POWER7®, Power Architecture®, PowerVM®, S/390®, System p®, System p5, System x®, System z®, System z9®, System z10®, WebSphere®, X-Architecture®, zEnterprise, z9®, z10, z/Architecture®, z/OS®, z/VM®, z/VSE®, zSeries® The following are trademearks or registered trademarks of other companies. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license therefrom. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
    [Show full text]
  • Produktinformation
    MULTI-FACTOR AUTHENTICATION DESKTOP-INTEGRATION TOKEN SELF SERVICE & SUPPORT LinOTP Produktinformation DIE MODULARE LinOTP ist eine innovative und fl exibel einsetzbare OTP Plattform zur AUTHENTISIERUNGS-LÖSUNG starken Benutzerauthentisierung. Dank der hochmodularen Architektur arbeitet LinOTP herstellerunabhängig und unterstützt verschiedene Au- thentisierungsprotokolle, Token und Verzeichnisdienste. Die Software ist mandantenfähig, leicht skalierbar, bedienerfreundlichund lässt sich schnell und einfach implementieren. Mit Hilfe von LinOTP können unsere Kunden höchste Sicherheitsstandards mühelos durchsetzen. BASISTECHNOLOGIE OTP LinOTP verwendet bevorzugt Einmalpasswörter (OTP = One Time Pass- word), um die Sicherheit bei beliebigen Anmeldeverfahren zu erhöhen. Einmalpasswörter bieten den Vorteil, dass sie keine clientseitigen Treiber erfordern. Das modulare Konzept ermöglicht die Unterstützung von OTP-To- ken, die unterschiedliche OTP-Algorithmen verwenden. Neben den offenen Algorithmen HOTP (ereignisbasiert), TOTP (zeitbasiert), OCRA (challenge-re- sponse basiert) und mOTP unterstützt LinOTP auch proprietäre Token wie Vasco DIGIPASS-Token, die Versendung von Einmalpasswörtern mittels SMS und die Nutzung von Tagespasswörtern. Dabei spielt es keine Rolle ob es sich um Soft- oder Hardware-Token handelt. Die optionale Verwendung von Hardware-Token, welche für die Benutzer das Einmalpasswort berechnen, kann dazu beitragen die Sicherheit weiter zu erhöhen. OPTIMALE ANPASSUNG Dank des modularen Aufbaus von LinOTP entscheiden Sie selbst, welches
    [Show full text]
  • One Time Passwords
    One Time Passwords fhLUG, Hagenberg, 2016-03-08 One Time Passwords fhLUG, Hagenberg, 2016-03-08 User: jdoe Password: s3cr3t User: jdoe Password: s3cr3t User: jdoe Password: s3cr3t User: jdoe Password: s3cr3t User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t User: jdoe Password: s3cr3t User: jdoe Password: s3cr3t User: jdoe Password: s3cr3t Beweis für Nilpferd User: jdoe Password: s3cr3t Beweis für Nilpferd User: jdoe Password: s3cr3t Beweis für Nilpferd User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd * Bankomatkarte User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd * Bankomatkarte * Fingerabdruck User: jdoe User: jdoe Password: s3cr3t Password: s3cr3t Beweis für Nilpferd * Bankomatkarte * Fingerabdruck * Gerät, das Zahlenreihe ausspuckt otpauth://totp/Google%3A my.email.address%40example.com ?secret=3po4swfazf65e6dkbrlha5lc65fmsh76 &issuer=Google Prominent Open OTP Variants ● S/KEY – 1995, MD4 (MD5, SHA1) – RFC 1760, RFC 1938, RFC 2289 ● mOTP – 2003, MD5 – motp.sourceforge.net ● OATH HOTP – 2005, HMAC SHA1, Counter based – RFC 4226 ● OATH TOTP – 2011, HMAC SHA1 (SHA256),
    [Show full text]
  • Product Information
    MULTI-FACTOR-ATUHENTICATION DESKTOP-INTEGRATION TOKEN SELF SERVICE & SUPPORT LinOTP Product Information ADAPTIVE MFA / LinOTP is an open source, adaptive multi-factor solution for enterprise 2FA AUTHENTICATION environments. LinOTP is vendor independent and provides a wide variety of solutions which allow for an easy integration. Due to its highly modular architecture LinOTP works vendor-independent and supports different aut- hentication protocols, token and user repositories. The software supports multi tenancy, it is easily scalable, user friendly and can quickly and simply be implemented. With the help of LinOTP the highest security standards can effortlessly be achieved by our customers. BASIC TECHNOLOGY OTP LinOTP mainly uses one time passwords (OTP) to increase the security of all types of logon processes. One time passwords offer the advantage that they do not require a driver from the client side. The modular concept allows for the support of OTP-Tokens using different algorithms. LinOTP supports the open algorithms HOTP (event based), TOTP (time based), OCRA (challenge response based) and mOTP. Besides these proprietary tokens like e.g. Vasco DIGIPASS, the sending of one time passwords via SMS and daily passwords can be used. It is irrelevant whether a customer wants to use softtokens or hardware-tokens. The optional use of hardware tokens, which calculate the one time password for the user, can also contribute to increasing the security. Innovations of the OATH-certifi ed version LinOTP 2.8 include features such as FIDO U2F support, registration of FIDO U2F, preparing email and SMS tokens in a self-service por- tal, temporary email and SMS tokens, multiple challenge response tokens per user with identical token PINs and optimized troubleshooting.
    [Show full text]
  • Deploying Low-Cost, Open-Source Multi-Factor Authentication at Scale
    Securing HPC: Deploying Low-cost, Open-source Multi-factor Authentication at Scale Patrick Storm, Cyrus Proctor, Nathaniel Mendoza http://tinyurl.com/tacc-mfa-i2 October 17, 2017 What We’ve Done I Built an infrastructure to offer multi-factor authentication (MFA) to HPC users I Took open-source components that worked and built the rest I Six months to assess; 6 months to build; 1 year in production I Deployed across eight production HPC clusters with 10,000 active SSH accounts TACC MFA | October 17, 2017 | 2 | Storm, Proctor, Mendoza Why We’re Here I Orchestrating a transition to MFA is a challenging enterprise I Cost, licensing, user support, and infrastructure deployment decisions are critical I We’ve created and combined the tools to provide MFA at scale for pennies per user I Details of this low-cost, open-source infrastructure are presented as an information resource to those institutions interested in their own deployments TACC MFA | October 17, 2017 | 3 | Storm, Proctor, Mendoza Why We Did It I Extra layer of security which is beneficial for users and service provider I Most common security breaches are compromised accounts I Password reuse, or poor cyber “hygiene” I We see over 500,000 SSH brute-force attempts per day I Costs associated with security response and system downtime are rising I Widely adopted as good practice TACC MFA | October 17, 2017 | 4 | Storm, Proctor, Mendoza For Us, MFA Needed to… I Be cost effective I Provide increased levels of assurance I Enhance overall service reliability I Allow for opt-in support during
    [Show full text]
  • Protecting Systems with One Time Passwords Scott Nolin Steve Barnet 22 March 2017 Contents
    Protecting Systems with One Time Passwords Scott Nolin Steve Barnet 22 March 2017 Contents 1. Introduction 2. Multifactor Authentication and OTP – Scott and Steve 3. OTP on a single server – Steve 4. Beyond a single server – Scott 5. Conclusion Introductions Scott Nolin - Head of SSEC Technical Computing Group. Steve Barnet – IceCube Why are we here? • Increase security for critical systems • This project especially helps with the problem of a compromised password • This is about improving security, making things better. • Don’t think that ‘This is secure, they’re done’. Even within this subset of topics, we’re continuing to evolve and have plenty of gaps. • We encourage you to share information if you do similar projects, and we’ll all benefit. • Note: the systems and examples we discuss are all centos/redhat linux I asked myself a scary question. What is the easiest and quickest way to compromise every linux host at SSEC? Answer: Compromise My Password Mine, or any sysadmin with full permissions. Thinking about trojans and keyloggers made me consider all the great ways my password could be compromised. Or an ssh key passphrase, same difference - if the Trojan is on the machine where you type the passphrase, your key is owned too. • We have evolved to use configuration management, host our own rpm repositories, and many other things to improve systems management. • That’s great but it also increased our attack surface. • I want to protect these systems better. What if your password is compromised? Multifactor Authentcation and OTP General information and background Multifactor Authentication and OTP One time passwords (OTP) are a convenient and commonly used authentication factor which can help provide multifactor authentication.
    [Show full text]
  • Freeradius LDAP
    University of Piraeus Department of Digital Systems Post graduate Program in Digital Systems Security Master Thesis Installing and Configuring Security Mechanisms Freeradius-MySQL Freeradius-LDAP PAM/USB Modules LinOTP Niskopoulos Nikolaos Student No: MTE 1058 Supervising Professor: Xenakis Christos Piraeus March 2012 This thesis is dedicated to my parents who supported all my choices and efforts 2 Acknowledgements My sincere thanks to Assistant Professor Christos Xenakis and the Postdoctoral researcher Christoforos Ntantogian, my project supervisors, for their valuable input, guidance and support. Thanks to all the lecturers and students at the Postgraduate Program for sharing their knowledge. Special thanks to my family and friends for their patience, ongoing support and encouragement throughout the years. 3 Abstract This master thesis is a compilation of instructions- “how to” guides in order to install and configure security mechanisms that are of crucial importance considering the numerous threats any system administrator has to confront during his daily obligations. The first security mechanism that has been installed and configured was Freeradius combined with MySQL database in Ubuntu 11.10 operating system. The freeradius was installed to a local network and wan configured to authenticate users stored to the SQL database via PAP (Password Authentication Protocol) and EAP-TLS (Extended Authentication Protocol-Transport Layer Security) by using certificates created using the free OpenSSL tool. The second security mechanism was again Freeradius only this time was supported by an LDAP database in Ubuntu 11.10 operating system. The Lightweight Directory Access Protocol (LDAP) is an open standard for accessing directory services, X.500. The protocol runs over transport layer (OSI) where in the internet case is TCP/IP.
    [Show full text]
  • Chemnitzer Linux-Tage 2012 – Tagungsband – 17
    Team der Chemnitzer Linux-Tage: Chemnitzer Linux-Tage 2012 – Tagungsband – 17. und 18. März 2012 Team der Chemnitzer Linux-Tage Chemnitzer Linux-Tage 2012 17. und 18. März 2012 – Tagungsband – Universitätsverlag Chemnitz 2012 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detail- lierte bibliografische Angaben sind im Internet über http://dnb.d-nb.de abrufbar. Technische Universität Chemnitz/Universitätsbibliothek Universitätsverlag Chemnitz Herstellung und Auslieferung: Verlagshaus Monsenstein und Vannerdat OHG Am Hawerkamp 31 48155 Münster http://www.mv-verlag.de ISBN 978-3-941003-52-1 URL: http://nbn-resolving.de/urn:nbn:de:bsz:ch1-qucosa-83272 Satz und Layout: Jens Pönisch und Monique Kosler Covergraphik: Candida Winkler Graphik Innentitel: Petra Pönisch URL der Chemnitzer Linux-Tage: http://chemnitzer.linux-tage.de Premiumsponsoren VARIA GROUP Weitere Sponsoren R Linux Professional Institute Medienpartner 5 6 Inhaltsverzeichnis 1 Vorwort 11 2 Inhalt der Hauptvorträge 13 2.1 AnyOS . 13 2.2 Bitcoin – das elektronische Geld . 21 2.3 Busverkehr unter Linux . 35 2.4 Entwicklung cyber-physikalischer Systeme: der NAO-Roboter . 45 2.5 Gründen mit freier Software . 53 2.6 Lilypond – ein wenig Revolution muss sein . 61 2.7 MapReduce – Parallelität im Großen und im Kleinen . 69 2.8 Performancemessungen und -optimierungen an GNU/Linux-Systemen 77 2.9 Starke Zweifaktorauthentisierung mit LinOTP . 87 2.10 Strace für Bash-Versteher . 99 2.11 Tic-Tac-Toe Reloaded – Mikrocontrollerprojekt mit Funkübertragung . 109 2.12 Ubiquitos Computing . 117 2.13 Visual Scripting: Scripting the Unscriptable . 131 2.14 Zero Commercial Software Strategy – eine Fallstudie . 137 3 Zusammenfassungen der weiteren Vorträge 147 3.1 Adaptive tickless kernel .
    [Show full text]
  • X.509 User Certificate-Based Two-Factor Authentication for Web
    Technical Report KN{2017{DISY{03 Distributed Systems Laboratory X.509 User Certificate-based Two-Factor Authentication For Web Applications Thomas Zink Marcel Waldvogel Distributed Systems Laboratory Department of Computer and Information Science University of Konstanz { Germany This work was supported in part by the Ministry of Science, Research and the Arts (MWK) of the State of Baden-W¨urttemberg through the funding of project bwITsec. Konstanzer Online-Publikations-System (KOPS) URL: http://nbn-resolving.de/urn:nbn:de:bsz:352-0-414673 Abstract. An appealing property to researchers, educators, and stu- dents is the openness of the physical environment and IT infrastructure of their organizations. However, to the IT administration, this creates challenges way beyond those of a single-purpose business or administra- tion. Especially the personally identifiable information or the power of the critical functions behind these logins, such as financial transactions or manipulating user accounts, require extra protection in the heteroge- neous educational environment with single-sign-on. However, most web- based environments still lack a reasonable second-factor protection or at least the enforcement of it for privileged operations without hindering normal usage. In this paper we introduce a novel and surprisingly simple yet extremely flexible way to implement two-factor authentication based on X.509 user certificates in web applications. Our solution requires only a few lines of code in web server configuration and none in the application source code for basic protection. Furthermore, since it is based on X.509 certificates, it can be easily combined with smartcards or USB cryptotokens to further enhance security.
    [Show full text]
  • Protecting Systems with One Time Passwords Scott Nolin Steve Barnet Introduction
    Protecting Systems with One Time Passwords Scott Nolin Steve Barnet Introduction Scott Nolin - Head of SSEC Technical Computing Group. Steve Barnet – WIPAC/IceCube – Sysadmin and fixer of things Why are we here? • Increase security for critical systems • This project especially helps with the problem of a compromised password • This is about improving security, making things better. • Don’t think that ‘This is secure, they’re done’. Even within this subset of topics, we’re continuing to evolve and have plenty of gaps. • We encourage you to share information if you do similar projects, and we’ll all benefit. • Note: the systems and examples we discuss are all centos/redhat linux I asked myself a scary question. What is the easiest and quickest way to compromise every linux host at SSEC? Answer: Compromise My Password Mine, or any sysadmin with full permissions. Thinking about trojans and keyloggers made me consider all the great ways my password could be compromised. Or an ssh key passphrase, same difference - if the Trojan is on the machine where you type the passphrase, your key is owned too. • We have evolved to use configuration management, host our own rpm repositories, and many other things to improve systems management. • That’s great but it also increased our attack surface. • I want to protect these systems better. What if your password is compromised? Multifactor Authentication and OTP One time passwords (OTP) are a convenient and commonly used authentication factor which can help provide multifactor authentication. They can help if a password is compromised. • An OTP should be resistant to replay attacks – seeing a password should not allow the next to be deduced.
    [Show full text]