Extending Oauth2.0 for Kerberos-Like Authentication to Avoid Internet Phishing Attacks

Total Page:16

File Type:pdf, Size:1020Kb

Extending Oauth2.0 for Kerberos-Like Authentication to Avoid Internet Phishing Attacks Anoop Vijayan Extending OAuth2.0 for Kerberos-like authentication to avoid Internet phishing attacks Master thesis in Mobile Technology and Business Faculty of Information Technology University of Jyvaskyla Department of Computer Science and Information Systems Author: Anoop Vijayan Contact Information: [email protected] Supervisor(s): Timo Hamäläinen Department of Computer Science and Information Systems University of Jyvaskyla Reviewer(s): Timo Hamäläinen Department of Computer Science and Information Systems University of Jyvaskyla Title: Extending OAuth2.0 for Kerberos-like authentication to avoid Internet phishing attacks Project: Master thesis in Mobile Technology and Business Page count: 72 I ABSTRACT The combined use of OpenID and OAuth for authentication and authorization is gaining popularity day by day in Internet. Because of its simplicity to understand, use and robustness, they are used in many domains in web, especially where the apps and user base are huge like social networking. Also it reduces the burden of typing the password every time for authentication and authorization especially in hand-held gadgets. After a simple problem scenario discussion, it is clear that the OpenID+OAuth combination has some drawbacks from the authentication perspective. The two major problems discussed here include problems caused due to transfer of user credentials over Internet and complexity in setting up of two protocols separately for authentication and authorization. Both the problems are addressed by extending OAuth2.0. By using Kerberos-like authentication, the user has the possibility of not passing the credentials over Internet. It is worth to note that, OAuth2.0 also uses some kind of tokens for authorizations similar to Kerberos. It could be seen that extending OAuth2.0 to perform authentication removes the need for OpenID and its problems completely. Keywords: OpenID, OAuth, Kerberos, Internet phishing, authentication II GLOSSARY OpenID Open standard authentication OAuth Open Authorization OP Open Identity Provider/OpenID provider/Identity Provider RP Relaying Party SP OAuth Service Provider TCP/IP Transmission Control Protocol/Internet Protocol HTTP Hypertext transfer protocol URL Uniform resource locator AS Authentication Server TGS Ticket Granting Server TGT Ticket Granting Ticket KDC Key Distribution Center REQ Kerberos based Request RES Kerberos based Response UCS Unicode character set MIT Massachusetts Institute of Technology K-OAuth Kerberos OAuth JSON JavaScript Object Notation AJAX Asynchronous JavaScript and XML UTF-8 Unicode Transformation Format – 8-bit AE Authentication and Authorization entity TLS Transport Later Security CC Combined Consumer (RP+OAuth consumer) CP Combined Provider (OP+SP) MAC Media Access Control XOR Exclusive OR III ACKNOWLEDGEMENTS During the course of this work, I have had assistance and support from many people. First and foremost, I wish to express my profound gratitude to Professor Timo Hamalainen for his highly proactive supervision of the research, decisive guidance, great attention and care, insightful comments, and extensive assistance. His reassuring approach permitted me to achieve the objectives which I set out for. I want to express special gratitude to Jari Kellokoski for his guidance and support during the write up. His encouragement and support enabled me to come up with a paper that expresses my ideas fluidly, appropriately and in style, while conforming to the conventions of the Faculty of Information Technology at the University of Jyvaskyla. I would like to thank the Faculty of Information Technology, especially the Mobile Technology and Business master programme coordinators and creators for giving me the opportunity to study at University of Jyvaskyla. Finally, an honourable mention goes to our families, especially my wife and friends for their understandings and supports on us in completing this project. Without whom I would have faced many difficulties. I am grateful to all the people of Faculty of Information Technology who either directly or indirectly enabled me to carry out this research. Anoop Vijayan Jyväskylä 2012 IV CONTENTS 1. Introduction .................................................................................................................. 1 1.1 Research Problem ...................................................................................................... 2 1.2 Related work ............................................................................................................. 3 2. OpenID and Authentication ............................................................................................ 5 2.1 Authentication in OpenID .......................................................................................... 6 2.2 OpenID in detail ........................................................................................................ 8 2.2.1 OpenID Data Formats ............................................................................................ 8 2.2.2 OpenID Communication Types ............................................................................... 9 2.2.3 Initiation and Discovery ....................................................................................... 11 2.2.4 Requesting Authentication .................................................................................... 12 2.2.5 Responding to Authentication Requests ................................................................. 14 2.2.6 Verifying Assertions ............................................................................................ 14 2.2.7 Problems with OpenID ......................................................................................... 15 3. OAuth and Authorization ............................................................................................. 18 3.1 OAuth Security ....................................................................................................... 18 3.2 OAuth 2.0 ............................................................................................................... 19 3.3 Authorization with OAuth2.0 ................................................................................... 20 3.3.1 Simplified explanation – three legged dance ........................................................... 20 3.4 OAuth in detail ........................................................................................................ 21 3.4.1 Registration ......................................................................................................... 22 3.4.2 Endpoints ............................................................................................................ 22 3.4.3 Obtaining Authorization ....................................................................................... 23 3.4.4 Issuing and refreshing an access token ................................................................... 29 3.4.5 Accessing protected resources ............................................................................... 31 3.4.6 Extensibility ........................................................................................................ 32 4. OpenID and OAuth combination .................................................................................. 34 4.1 Example case with OpenID+OAuth .......................................................................... 35 5. Problem Scenarios ...................................................................................................... 38 V 5.1 Scenario 1: Internet phishing in OpenID .................................................................... 38 5.2 Scenario 2: OpenID and OAuth complexity ............................................................... 41 6. Kerberos and authentication ......................................................................................... 42 6.1 Kerberos in detail .................................................................................................... 42 6.1.1 Kerberos Ticket ................................................................................................... 42 6.1.2 Kerberos principal ............................................................................................... 43 6.1.3 Kerberos Ticket management ................................................................................ 44 6.2 Kerberos negotiations .............................................................................................. 46 6.3 Kerberos limitations ................................................................................................ 47 7. Evolution of K-OAuth (Kerberos OAuth) ...................................................................... 48 7.1 Example case with K-OAuth .................................................................................... 49 7.2 K-OAuth in detail .................................................................................................... 51 7.2.1 K-OAuth Setup .................................................................................................... 51 7.2.2 K-OAuth slave .................................................................................................... 51 8. K-OAuth explained ..................................................................................................... 52 8.1 K-OAuth transaction ................................................................................................ 52 8.1.1 K-OAuth requests and responses ..........................................................................
Recommended publications
  • Glossary.Pdf
    Glossary Note: Terms in italics are described in their own glossary entries. 3DES. See Data Encryption Standard. A A RR. Type identifier for a DNS Address resource record. Active Directory (AD). The directory service for Windows 2000. A hierarchical, object-oriented database that stores distributed data for Windows 2000 domains, trees, and forests. Active Directory-integrated zones. DNS zones for which zone data are stored in Active Directory. All copies of an Active Directory-integrated zone are peers and can accept changes to the zone. Zone data are replicated through Active Directory. Zone transfers are required only when importing data from a primary zone or exporting data to a secondary zone. AD. Abbreviation for Active Directory. address class. See IP address class. address resolution protocol (ARP). A protocol used by IP to discover the hardware address of the device to which a datagram is being sent. Address resource record. A DNS resource record that maps a FQDN to an IP address. Referred to as Host resource records when administering Windows 2000 DNS. Referred to as Host Address resource records in this book. AH. See authentication header. ARP. See address resolution protocol. asymmetric cryptography. A cryptography method that uses one key for encryption and another key for decryption. Also called public key cryptography. attribute. A characteristic of an object in an object- oriented database such as Active Directory; often called a property in Windows 2000. authentication. The ability of one entity to reliably determine the identity of another entity. authentication header (AH). A security protocol used by IPSec that provides authentication and message integrity.
    [Show full text]
  • Pluggable Authentication Modules
    Who this book is written for This book is for experienced system administrators and developers working with multiple Linux/UNIX servers or with both UNIX and Pluggable Authentication Windows servers. It assumes a good level of admin knowledge, and that developers are competent in C development on UNIX-based systems. Pluggable Authentication Modules PAM (Pluggable Authentication Modules) is a modular and flexible authentication management layer that sits between Linux applications and the native underlying authentication system. The PAM framework is widely used by most Linux distributions for authentication purposes. Modules Originating from Solaris 2.6 ten years ago, PAM is used today by most proprietary and free UNIX operating systems including GNU/Linux, FreeBSD, and Solaris, following both the design concept and the practical details. PAM is thus a unifying technology for authentication mechanisms in UNIX. This book provides a practical approach to UNIX/Linux authentication. The design principles are thoroughly explained, then illustrated through the examination of popular modules. It is intended as a one-stop introduction and reference to PAM. What you will learn from this book From Technologies to Solutions • Install, compile, and configure Linux-PAM on your system • Download and compile third-party modules • Understand the PAM framework and how it works • Learn to work with PAM’s management groups and control fl ags • Test and debug your PAM confi guration Pluggable Authentication Modules • Install and configure the pamtester utility
    [Show full text]
  • Kerberos: an Authentication Service for Computer Networks by Clifford Neuman and Theodore Ts’O
    Kerberos: An Authentication Service for Computer Networks by Clifford Neuman and Theodore Ts’o Presented by: Smitha Sundareswaran Chi Tsong Su Introduction z Kerberos: An authentication protocol based on cryptography z Designed at MIT under project Athena z Variation of Needham Schroeder protocol - Difference: Kerberos assumes all systems on the network to be synchronized z Similar function as its mythological namesake: “guards” the access to network protocols Contribution z Defines ideas of authentication, Integrity, confidentiality and Authorization z Working of Kerberos z Limitations z Utilities z How to obtain and use Kerberos z Other methods to improve security Why Kerberos? z Foils threats due to eavesdropping z More convenient than password based authentication { Allows user to avoid “authentication by assertion” z Authentication based on cryptography: attacker can’t impersonate a valid user How Kerberos Works z Distributed authentication service using a series of encrypted messages {Password doesn’t pass through the network z Timestamps to reduce the number of messages needed for authentication z “Ticket granting Service” for subsequent authentication Kerberos Authentication and Encryption zAuthentication proves that a client is running on behalf of a particular user zUses encryption key for authentication {Encryption key = Password zEncryption implemented using DES {Checksum included in message checksum and encryption provide integrity & confidentiality The Kerberos Ticket z Initially, client and Server don’t share an encryption
    [Show full text]
  • Feature Description
    NTLM Feature Description UPDATED: 19 March 2021 NTLM Copyright Notices Copyright © 2002-2021 Kemp Technologies, Inc. All rights reserved. Kemp Technologies and the Kemp Technologies logo are registered trademarks of Kemp Technologies, Inc. Kemp Technologies, Inc. reserves all ownership rights for the LoadMaster and Kemp 360 product line including software and documentation. Used, under license, U.S. Patent Nos. 6,473,802, 6,374,300, 8,392,563, 8,103,770, 7,831,712, 7,606,912, 7,346,695, 7,287,084 and 6,970,933 kemp.ax 2 Copyright 2002-2021, Kemp Technologies, All Rights Reserved NTLM Table of Contents 1 Introduction 4 1.1 Document Purpose 6 1.2 Intended Audience 6 1.3 Related Firmware Version 6 2 Configure NTLM Authentication 7 2.1 Configure Internet Options on the Client Machine 7 2.2 Configure the LoadMaster 11 2.2.1 Enable NTLM Proxy Mode 13 2.2.2 Configure the Server Side SSO Domain 13 2.2.3 Configure the Client Side SSO Domain 15 2.2.4 Configure the Virtual Service 15 2.3 Configure Firefox to Allow NTLM (if needed) 17 2.4 Troubleshooting 18 References 19 Last Updated Date 20 kemp.ax 3 Copyright 2002-2021, Kemp Technologies, All Rights Reserved NTLM 1 Introduction 1 Introduction NT LAN Manager (NTLM) is a Windows Challenge/Response authentication protocol that is often used on networks that include systems running the Windows operating system and Active Directory. Kerberos authentication adds greater security than NTLM systems on a network and provides Windows-based systems with an integrated single sign-on (SSO) mechanism.
    [Show full text]
  • OK: Oauth 2.0 Interface for the Kerberos V5 Authentication Protocol
    OK: OAuth 2.0 interface for the Kerberos V5 Authentication Protocol James Max Kanter Bennett Cyphers Bruno Faviero John Peebles [email protected] [email protected] [email protected] [email protected] 1. Problem Kerberos is a powerful, convenient framework for user authentication and authorization. Within MIT, Kerberos is used with many online institute services to verify users as part of Project Athena. However, it can be difficult for developers unfamiliar with Kerberos development to take advantage of its resources for use in third-party apps. OAuth 2.0 is an open source protocol used across the web for secure delegated access to resources on a server. Designed to be developer-friendly, OAuth is the de facto standard for authenticating users across sites, and is used by services including Google, Facebook, and Twitter. Our goal with OK Server is to provide an easy way for developers to access third-party services using Kerberos via OAuth. The benefits of this are twofold: developers can rely on an external service for user identification and verification, and users only have to trust a single centralized server with their credentials. Additionally, developers can request access to a subset of Kerberos services on behalf of a user. 2. Implementation overview Our system is composed of two main components: a server (the Kerberos client) to retrieve and process tickets from the MIT KDC, and an OAuth interface (the OAuth server) to interact with a client app (the app) wishing to make use of Kerberos authentication. When using our system, a client application uses the OAuth protocol to get Kerberos service tickets for a particular user.
    [Show full text]
  • Chapter 15-70-411FINAL[1]
    Lesson 15: Configuring Service Authentication MOAC 70-411: Administering Windows Server 2012 Overview • Exam Objective 5.1: Configure Service Authentication • Configuring Service Authentication • Managing Service Accounts © 2013 John Wiley & Sons, Inc. 2 Configuring Service Authentication Lesson 15: Configuring Service Authentication © 2013 John Wiley & Sons, Inc. 3 Authentication • Authentication is the act of confirming the identity of a user or system and is an essential part used in authorization when the user or system tries to access a server or network resource. • Two types of authentication that Windows supports are NT LAN Manager (NTLM) and Kerberos. • Kerberos is the default authentication protocol for domain computers. • NTLM is the default authentication protocol for Windows NT, standalone computers that are not part of a domain, and situations in which you authenticate to a server using an IP address. © 2013 John Wiley & Sons, Inc. 4 Understanding NTLM Authentication • NT LAN Manager (NTLM) is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users. • NTLM is an integrated single sign-on mechanism. • NTLM uses a challenge-response mechanism for authentication in which clients are able to prove their identities without sending a password to the server. © 2013 John Wiley & Sons, Inc. 5 Managing Kerberos Kerberos: • Is a computer network authentication protocol, which allows hosts to prove their identity over a non-secure network in a secure manner. • Can provide mutual authentication
    [Show full text]
  • Security and Performance of Single Sign-On Based on One-Time Pad Algorithm
    cryptography Article Security and Performance of Single Sign-On Based on One-Time Pad Algorithm Maki Kihara *,†,‡ and Satoshi Iriyama ‡ Department of Information Science, Tokyo University of Science, Yamazaki 2641, Noda, Chiba 278-8510, Japan; [email protected] * Correspondence: [email protected] † Research Fellow of Japan Society for the Promotion of Science. ‡ These authors contributed equally to this work. Received: 13 April 2020; Accepted: 9 June 2020; Published: 12 June 2020 Abstract: Single sign-on (SSO) techniques allow access control for multiple systems with a single login. The aim of our study is to construct an authentication algorithm that provides the authentication information of a user to a requester without requiring any specific token, thereby achieving domain-free access control. In this study, we propose an authentication algorithm for SSO based on a verifiable encryption (VE)-based authentication algorithm and implementation. VE is a kind of cryptosystem that allows calculation on cyphertexts, generating an encrypted result, which matches the distance between two plaintexts when decrypting. In our approach, we first construct the mathematical SSO algorithm based on the VE-based algorithm, and then implement the algorithm by applying the one-time pad to the algorithm and using sample data. We also consider robustness against theoretical attacks such as man-in-the-middle attack. In addition to that, our algorithm is robust against the well-known classical and theoretical attacks, the man-in-the-middle attack against the proposed algorithm is also impracticable. Furthermore, with security analysis using Proverif, the algorithm has been shown to be secure. The execution speed is less than 1 ms even with a text length of 8192 bits.
    [Show full text]
  • Centralised Authentication
    Centralised Authentication Fabian Alenius Guerreiro Jo~ao Uwe Bauknecht March 3, 2009 Contents 1 Introduction 2 2 LDAP 3 2.1 History of LDAP . 3 2.2 Directory servers . 3 2.3 Distinguished Names . 3 2.4 Directory Information Trees . 3 2.5 LDAP Authentication . 4 2.6 SASL binding . 4 3 Authentication Methods [5] 5 3.1 Kerberos . 5 3.1.1 Protocol draft 1.0 . 5 3.1.2 Analysis of Protocol draft 1.0 . 6 3.1.3 Protocol draft 2.0 . 6 3.1.4 Analysis of Protocol draft 2.0 . 7 3.1.5 Kerberos Version 4 . 7 3.1.6 Kerberos Conclusion . 8 3.2 X.509 certificates . 8 4 RADIUS 9 4.1 Introduction . 9 4.2 Functionality . 9 4.2.1 Authentication and Authorization . 9 4.2.2 Accounting . 10 4.2.3 Realms and Proxies . 10 4.3 Usage . 10 References 11 1 1 Introduction When a user wants to login to a computer system he has to go through the process of authentication. If the same user wants to authenticate against two computer systems he needs to authenticate twice. This becomes unpractical very fast as the number of systems grow, especially if the user has to remember separate usernames and passwords for each system. Another problem with this is that the management of the user accounts becomes complicated as we need several user accounts for each user. So, if we for example want to remove one user completely, we need to update all our systems. The solution to this problem is to use a centralized authentication server.
    [Show full text]
  • Weaknesses and Best Practices of Public Key Kerberos with Smart Cards
    iSEC Partners, Inc. – Brad Hill, Principal Consultant Weaknesses and Best Practices of Public Key iSEC Partners, Inc. is Kerberos with Smart Cards a information security firm that specializes in Kerberos V with smart card logon is the “gold standard” of network application, network, authentication for Windows Active Directory networks and interop- host, and product erating systems. Smart cards and Public Key Kerberos are already security. For more widely deployed by governments and large enterprises to protect information about their networks and critical infrastructure, and decreasing prices and iSEC, please refer to an increase in threats against password-based authentication are the Appendix A or making these technologies attractive to even small and medium www.isecpartners.com sized businesses. Unfortunately, network architects, administrators and even experi- enced security professionals tend to place a sort of blind faith in smart cards and Kerberos. The low level details of the protocols and configuration options are little known. Myths and misunder- standings about the limits of these technologies are the norm. This whitepaper will: Give a brief introduction to Kerberos and smart cards Dispel some common myths about smart cards Explore the certificate validation practices of common PKINIT implementations Discuss a practical elevation of privilege exploit possible in common configurations of Windows KDCs Provide step-by-step advice to network architects and administra- tors for securing their smart card deployments While smart cards have definite advantages over passwords, they should be deployed with a realistic understanding of the actual pro- tections they provide. Installations should take advantage of the latest configuration and hardening options available, administrators should continue to audit and work to eliminate outdated protocols like NTLM from their networks, and privileged users should always exercise caution when authenticating to low-integrity workstations, even with a smart card.
    [Show full text]
  • Leveraging the Kerberos Credential Caching Mechanism for Faster Re-Authentications in Wireless Access Networks
    UBICOMM 2010 : The Fourth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies EAP-Kerberos: Leveraging the Kerberos Credential Caching Mechanism for Faster Re-authentications in Wireless Access Networks Saber Zrelli Yoichi Shinoda Nobuo Okabe Center for Information Science Corporate R&D Headquarters Japan Advanced Institute of Science and Technology Yokogawa Electric Corporation Ishikawa, Japan Tokyo, Japan [email protected] saber.zrelli,[email protected] Abstract—Although the wireless technology nowadays provides support cross-domain authentication that enables an access satisfying bandwidth and higher speeds, it still lacks improve- network to authenticate a roaming client that belongs to a ments with regard to handoff performance. Existing solutions remote domain. The cross-domain authentication requires for reducing handoff delays are specific to a particular network technology or require expensive upgrades of the whole infras- message exchange between the AAA server of the visited tructure. In this paper, we investigate performance benefits of network and the AAA server of the roaming station’s home leveraging the Kerberos ticket cashing mechanism for achieving network. Because these inter-domain exchanges occur over the faster re-authentications in IEEE 802.11 wireless access networks. Internet, they are subject to degradations such as packet loss For this purpose, we designed a new EAP authentication method, and network delays which increases the overall authentication EAP-Kerberos, and evaluated re-authentication performance in different scenarios. time. When a roaming station changes of access point, the same authentication procedure takes place again, disrupting Keywords-Wireless; Authentication; Handoff; Performance the user traffic at each handoff. I.
    [Show full text]
  • Kerberos Cross-Realm Authentication: Unraveling the Mysteries Stuart J
    Paper SAS623-2017 Kerberos Cross-Realm Authentication: Unraveling the Mysteries Stuart J. Rogers, SAS Institute Inc., Cary, NC ABSTRACT How do you enable strong authentication across different parts of your organization in a safe and secure way? We know that Kerberos provides us with a safe and secure strong authentication mechanism, but how does it work across different domains or realms? In this paper, we examine how Kerberos cross- realm authentication works and the different parts that you need ready in order to use Kerberos effectively. Understanding the principles and applying the ideas we present will make you successful at improving the security of your authentication system. INTRODUCTION Kerberos security is being implemented by a growing number of customers to enable strong authentication across different parts of an organization in a safe and secure way. SAS® is designed to work within this secure environment. I hope that this paper will help you to unravel the mysteries of Kerberos for SAS administrators, and enables you to work more closely with your IT and Security counterparts when SAS is deployed in an environment that uses Kerberos for basic authentication, and in the more complex case of cross-realm authentication. Kerberos authentication provides us with a strong mechanism to authenticate users across a network, enabling us to have confidence in the authentication of end-users to our networked applications. However, as organizations grow in size and complexity, so does the network across which we need to authenticate users. In this paper we will examine how Kerberos authentication operates, the different components used to authenticate the users, and we will take a step-by-step view of how the Kerberos protocol messages enable strong authentication (see the section titled “Kerberos 101”).
    [Show full text]
  • Section E.2.1 Kerberos Authentication and Authorization System by S
    PROJECT ATHENA TECHNICAL PLAN Section E.2.1 Kerberos Authentication and Authorization System by S. P. Miller, B. C. Neuman, J. I. Schiller, and J. H. Saltzer Κερβεροσ; also spelled Cerberus. "n. The watch dog of Hades, whose duty it was to guard the entranceÐagainst whom or what does not clearly appear; . is known to have had three heads. ." ÐAmbrose Bierce, The Enlarged Devil's Dictionary This document describes the assumptions, short and long term goals, and system model for a network authentication system, named Kerberos, for the Athena environment. An appendix specifies the detailed design and protocols to support these goals, and a set of UNIX1 manual pages, not included here, describes an implementation for Berkeley 4.3 UNIX of both user interface commands and also library interfaces for clients and servers. The next section of the technical plan, E.2.2, describes a set of network applications that use Kerberos for authentication. Definitions Accounting Measuring resource usage attributable to a particular client. Authentication Verifying the claimed identity of a client or service. Authorization Allowing an authenticated client to use a particular service. Client A program that makes use of a network service, on behalf of a user. KDBM Kerberos Data Base Manager, a system that maintains and provides an interface for update of authoritative Kerberos data consisting of principal identifiers and private keys for both clients and services. Kerberos Aside from the 3-headed dog guarding Hades, the name given to the Athena authentication service, the protocol used by that service, and the libraries used to invoke the authentication and authorization services.
    [Show full text]