Secauth H. Rafiee INTERNET-DRAFT Huawei Technologies Duesseldorf GmbH Intended Status: Informational Expires: April 22, 2015 October 22, 2014 Secauth Usecases and Requirements Abstract This document aims to explain the requirement and usecases for reducing reliability gaps in first point of contact during secure authentication of nodes without the need of any CA. It focuses on use of network layer security approaches for this purpose. Privacy requirement is also one of the important topic that will be addressed in this draft. It also discusses the requirements and use cases for having a common language (protocols) for authentication/authorization in visualization environments where Software Defined Network (SDN) or Network Function Visualization (NFV) approaches are in use. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on April 22, 2015. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the Rafiee Expires April 22, 2015 [Page 1] INTERNET DRAFT secauth usecases October 22, 2014 date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Existing Protection Mechanisms and Problem Statement . . 4 1.2. Analysis of Authentication and Authorization Mechanisms . 5 1.2.1. Biometric Authentication . . . . . . . . . . . . . . 5 1.2.1.1. Advantages . . . . . . . . . . . . . . . . . . . 5 1.2.1.2. Disadvantages . . . . . . . . . . . . . . . . . . 5 1.2.2. Password Authentication . . . . . . . . . . . . . . . 6 1.2.2.1. Advantages . . . . . . . . . . . . . . . . . . . 6 1.2.2.2. Disadvantages . . . . . . . . . . . . . . . . . . 6 1.2.3. External Hardware Authentication . . . . . . . . . . 6 1.2.3.1. Advantages . . . . . . . . . . . . . . . . . . . 6 1.2.3.2. Disadvantages . . . . . . . . . . . . . . . . . . 7 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Overview of Secauth Design in an Example Scenario . . . . . . 7 4. Use cases . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. Reliable authentication of a device to another device . . 8 4.1.1. Verification of two mail servers . . . . . . . . . . 8 4.1.2. Verification of IoT Devices to Clouds . . . . . . . . 9 4.1.3. Home Device with an Static IP Address (Valid IP) . . 9 4.2. Secure Authentication of Openflow to virtual nodes . . . 9 4.2.1. SDN control plane authentication . . . . . . . . . . 9 5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 11 9.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Rafiee Expires April 22, 2015 [Page 2] INTERNET DRAFT secauth usecases October 22, 2014 1. Introduction Today, the advances of technology provide us with new capabilities and the possibility to use scalable logical networks and flexible and programmable virtual network devices (which uses Software Defined Network (SDN), Network Function Virtualization (NFV) ?based techniques or the combination of these two techniques). Technologies also go toward offering good quality of services with lower price to customers without the need to have several physical devices. In other words, To allow customers to use flexible, fast, and reliable services without the need of having their own server rooms or buying different switches, routers, servers, etc. However, authentication and authorization is still not clear and there are no common protocols to be used in this environment especially if the end users are supposed to use services from two/many different vendors/service providers, there might be no compatibility between these services. There are also no guidelines on how to use the current available protocols for authentication and authorization purposes in this virtual environemnt. One example is the use of virtual switches instead of the need for having a real switch in cloud environments. In these virtual devices, usually, the control plane is separate from the data plane if Software Defined Network (SDN) techniques are in use. In other words, for example for virtual switches, the high level routing decision or packet filtering are taken in another virtual device. These kinds of virtual switches are called open flow switches. Since many open flow switches are controlled by one centralized controller (SDN centralized model), if one of customers is authorized to have access to one of these open flow switches to define his own policy, he might abuse his authorization and try to apply policies that impact other customers who use this virtual device. So, introducing a good authorization protocol to avoid this maltreat is critical. Other problem would be the case that an attacker tries to change policy on one virtual device so that this policy would be propagated to other open flow devices execute by authorized open flow protocols. So, authentication and authorization of these open flows to controller is really important. Furthermore, the current available authentication and authorization approaches -- Remote Authentication Dial-In User Service (RADIUS) [RFC2865]; Host Identity Protocol (HIP) [RFC4423] (location-independent identifier); Open Standard for Authorization (OAuth) [RFC6749]; Diameter [RFC6733] and DANE [RF6698] -- usually cannot provide reliability in the beginning of communication easily without involving too many human interactions for pre-configurations. Therefore, any approach to reduce this gap would help the available approaches to serve the end user/devices more reliably especially when we are going toward smart cities, clouds services and virtual devices. The purpose of this document is to reduce this security gap during Rafiee Expires April 22, 2015 [Page 3] INTERNET DRAFT secauth usecases October 22, 2014 establishment of authentication (reliable first contact) between end users and devices or devices to end devices where other authentication or authorization approaches are unable to address this problem easily without many pre-configurations. In other word, this protocol aims to assist a secure authentication for the last mile of the Internet. Secauth also plans to provide common standards for authentication and authorizations in virtual environment where SDN-based approaches are in use. The following sections compare the different authentication/authorization mechanisms: 1.1. Existing Protection Mechanisms and Problem Statement Usually, Internet Protocol security (IPsec) [RFC 4301], Transport Layer Security (TLS) [RFC5246] or Secure Socket Layer (SSL) [RFC6101] is used to secure the communications during authentication and authorization. This also provides a user with data. When IPsec is in use, the key management might be a problem. When SSL or TLS is in use the problems are as follows: - Certificates signed by a Certificate Authority (CA); Firstly, using a CA is costly. It is because for every node that wants to offer a service and allow others to verify it, there needs to be a valid certificate signed by a CA. In other words, all those nodes need to have a valid domain name. Therefore there is a cost for registering a domain and also having a certificate signed by a CA. In this case, a proxy server or intermediate devices might cause a problem and break this trust. The other problem with the use of CA would be the likelihood of government?s surveillance since they might have access to CA's databases. The last problem would be the case where CA databases have been hacked. Thereby, all nodes around the world that uses this CA are no longer secure. This is, of course, extra workload for administrators of networks to replace the old keys (exposed one) with the new one on all their nodes. - Nodes should be pre-configured with the list of Trusted Anchor (TA); The problem would be the installation and configuration of these TAs when they do not already exist. Therefore, in both prior cases, an infrastructure is one of requirements to establish such trusts (either TA or CA servers). To overcome the requirement for infrastructure, some mechanisms such as SSH [opp-enc] trust a node during first time communication (first point of contact) and stores the public key of this node for future trust. When an attacker has an opportunity to play MITM at this point, then the next communications also would be influenced by the first trust. This is why it is really important to provide a level of assurance for the verifier node in first point of contact. This is what secauth protocol plans to address and eliminates this security gap as much as possible without or with minimal human interactions Rafiee Expires April 22, 2015 [Page 4] INTERNET DRAFT secauth usecases October 22, 2014 and without the need of CAs. This document addresses the following problems: - Automation in providing reliable secure authentication during first contact (minimal configuration for starting authentication process) in all environment including IoT, virtual environment, etc. - Remove the dependency to any separate infrastructure to have CAs for providing reliability in first point of contact. - Secure DNS and Uses it to provide reliability for first point of contact. Many current protocols use the names of devices instead of IP. In case the device needs to use a domain name, secauth needs to provide this security (secure authentication) for DNS and also uses DNS resources to store authentication information. - Privacy and data confidentiality - Secure authentication of devices in case of intermediate devices in virtual environment - Common standards in authentication and authorization for virtual environment where SDN and NFV based techniques are in use 1.2. Analysis of Authentication and Authorization Mechanisms Usually for authentication of a user, biometric samples, a username or a token is in use. Using each of these approaches has some advantages and disadvantages. 1.2.1. Biometric Authentication 1.2.1.1. Advantages - It is always with the user, dissimilar to passwords they cannot be forgotten - It might identify a person so that many services can be offered to this user remotely. 1.2.1.2. Disadvantages - They can be stolen Rafiee Expires April 22, 2015 [Page 5] INTERNET DRAFT secauth usecases October 22, 2014 An attacker can stole the finger print of a user when he touches, for example, a glass. - They will never change When they are stolen, dissimilar to passwords, it is not possible to change them since they are a scan sample part of a user's body - They might cause threat for the user When a criminal know that every password is the biometric information of a user, he can kidnap this person and access to all information that uses this kind of biometric samples. It can also encourage criminals to kill a person to access to biometric samples! 1.2.2. Password Authentication 1.2.2.1. Advantages - A user can change it when it is stolen - A user can use different username and passwords in different systems - It might not identify a person 1.2.2.2. Disadvantages - It is not easy to memorize one to many passwords for different systems (finding a strong password that can be memorized easily.) - It can be hacked - When a user uses one password for all systems, then he is prone to data loss or privacy attack. 1.2.3. External Hardware Authentication In recent years, it is common to use the external devices such as chip cards, USBs, etc. that stores some secret keys to authorize a user to access some systems or information over the internet or over the network. 1.2.3.1. Advantages - The user does not need to memorize any password Rafiee Expires April 22, 2015 [Page 6] INTERNET DRAFT secauth usecases October 22, 2014 1.2.3.2. Disadvantages - It can be stolen - It can be damaged 2. Terminology Device: any digital hardware that has communication ability. A device is more general than a node. Node: routers and hosts in a network Intermediate Device: a proxy server or a NAT device or any other node that intercept the communication in no malicious way and by purpose Authentication: An act of verifying a user Authorization: act of determining whether requesting entity is allowed access to a resource Accounting: act of collecting info on resource usage and logging user activities after authorization step. TBD 3. Overview of Secauth Design in an Example Scenario The purpose of this section is not to introduce any solution but only discuss about a possible overview of secauth design model. +-------------------+ +--------------+ | secure router or | |DNS resolVer | | SAVI-DHCP | +---^----------+ +------+-------+----+ | | | | 1 | |IP address of|DNS +----------+ |Server | | Alice's | <-+ | | Computer <-+-+-------------+ +----------+ IP address of +secauth example.com verification + | | | +-------+---+ | | 2 |SSH server | | +------------>Example.com| + +-----------+ ssh Alice@example.com Rafiee Expires April 22, 2015 [Page 7] INTERNET DRAFT secauth usecases October 22, 2014 Figure 1 shows a very simple example of secauth design model for authentication and authorization of a SSH server. A user uses a domain name of SSH server. There are two scenarios here: [1] a node can trust the network where it is connected in order to receive the IP address of a DNS server. This scenario is only when a node can receive the IP address of a resolver from secure Router Advertisement (RA) or there is any switch-based security available. The scope of secauth here is to securely authenticate the DNS resolver and to securely authenticate an application or a device. [2] a node cannot trust the network. The finger print of a DNS server needs to be set in the node manually as explained in [cga-tsig] . This manual step is out of scope of secauth. After this step, like what explained in last scenario, secauth can verify the DNS resolver and securely authenticate an application or a device. [1] and [2] maps to number 1 in figure 1. If the communication is only IP based and a node uses a valid IP address. - In IPv6, dissimilar to [1] and [2], secauth can automate the whole process without any configuration. - In IPv4, this is similar to [1] and [2]. As shown in figure 1, number 1 and 2 are where secauth can be used for authentication and authorization without the need of CA to create reliability in first point of contact. In other word, a node no longer needs to worry about trusting other communicating parties for the first time as it happens in SSH communication for the first time or introduce SSH server?s keys manually to the SSH client; secauth can be used to authenticate the other communicating parties even during first point of contact with minimum configuration. This design model can be similar for many other example scenarios. 4. Use cases The following subsections explain some example use case scenarios that secauth can be used. 4.1. Reliable authentication of a device to another device 4.1.1. Verification of two mail servers Mail server A wants to send email to mail server B. Both uses TLS protocol to provide data confidentiality. None of these mail servers uses a certificate sign by a CA (because of problem explained in Rafiee Expires April 22, 2015 [Page 8] INTERNET DRAFT secauth usecases October 22, 2014 first section). It is not also possible to mail server A with preconfigured value of all mail server available on the world. So, mail server A needs to trust mail server B in first point of communication. This increases the risk of attack in this point. However, mail server A can use secauth to authenticate the resolver and obtain the IP address of mail server B [cga-tsig]. Since secauth can authenticate the node without any CA, mail server A can trust the certificate provided by mail server B and establish the communication in a secure manner. 4.1.2. Verification of IoT Devices to Clouds A smart phone stores a copy of Alice's data on cloud storage. During fetching or storing data from this cloud storage, this smart phone needs to establish a reliable communication to this cloud storage (smart phone needs to authenticate this cloud storage to avoid MITM and then being authorized at the cloud storage to access the old data.). If cloud storage doesn?t support CA, any security protocol in use might not be able to provide this reliability in first point of contact. Secauth here can provide this reliability for the communication of IoT to Clouds. Example 3: A SIP device uses current security protocols for verification of other end point of communication. However, both device needs to be pre-configured to be able to verified each other or there needs to use CA for reliability in first point of contact. To avoid the use of CA, secauth can be used to provide this reliability. 4.1.3. Home Device with an Static IP Address (Valid IP) Scenario 1: Alice needs to control its home gateway and add new rules so that she can access a device inside her home network. Alice remotely connects to this device. This device doesn?t support any valid CA. The device needs to verify Alice (reliability in first point of contact) before lets it control this device and add/modify any new rule to this device. 4.2. Secure Authentication of Openflow to virtual nodes There are no common protocols (same language) that can be used to verify openflows on virtual nodes. Each vendor might use different approaches and there are no compatibility between these approaches. This is especially true when the interoperability between two vendors is to be considered. 4.2.1. SDN control plane authentication Before any rule can be propagated over all distributed control plane Rafiee Expires April 22, 2015 [Page 9] INTERNET DRAFT secauth usecases October 22, 2014 via the centralized control plane, the sender of this new rule (one of the SDN control plane) should be authenticated on the centralized control plane (controller) to avoid propagation of a malicious rule on all SDN devices. 5. Requirements This section defines the scope of this document and introduces the requirement. [1] It needs to be independent to IP network (supports both IPv4 and IPv6) [2] It needs to automate the process as much as possible especially for reliability in first point of contact (requires minimal human interactions [3] It needs to support different clients with different resources (Memory, Battery, CPU, etc.) -- Laptops, IPod, Smartphone, sensor nodes, cars, etc. Good performance for constrained devices. [4] It needs to consider privacy and flexible to policies [5] It needs to provide a protocol for authentication and authorization in visualization environment (as explained in prior section) where Software Defined Network (SDN) or Network Function Virtualization (NFV) based techniques are in use. [6] Backward compatibility to combine with current available protocols such as TLS, SSH, DNS, etc. [7] Requires minimum changes on the existing network (operational view) 6. Security Considerations There is no security consideration 7. IANA Considerations There is no IANA consideration 8. Acknowledgements Rafiee Expires April 22, 2015 [Page 10] INTERNET DRAFT secauth usecases October 22, 2014 The author would like to thank people who helped to improve this document with their constructive comments and suggestions. The names of these people including (but not limited to) Hannes Tschofenig, Paul Lambert, Viktor Dukhovni, Fernando Gont and Alan Dekok. 9. References 9.1. Normative References [RFC2865] Rigney, C., Willens, S., Rubens, A., Simpson, W., " Remote Authentication Dial In User Service (RADIUS)",RFC 2865, June 2000 [RFC4301] Kent, S., Seo, K., "Security Architecture for the Internet Protocol", RFC 4301, December 2005. [RFC4423] Moskowitz, R., Nikander, P., "Host Identity Protocol (HIP) Architecture", RFC 4423, May 2006. [RFC4843] Nikander, P., Laganier, J., Dupont, F. , "An IPv6 Prefix for Overlay Routable Cryptographic Hash Identifiers (ORCHID)", RFC 4843, April 2007. [RFC6101] Freier, A., Karlton, P., Kocher, P. , "The Secure Sockets Layer (SSL) Protocol Version 3.0", RFC 6101, August 2011. [RFC6733] Fajardo, V., Arkko, J., Loughney, J., Zorn, G., "Diameter Base Protocol" RFC 6733, October 2012. [RFC6749] Hardt, D., "The OAuth 2.0 Authorization Framework", RFC 6749, October 2012. [RFC6698] Hoffman, P., Schlyter, J., "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA",RFC 6698, August 2012 9.2. Informative References [opp-enc] Dukhovni, V., "Opportunistic Security: some protection most of the time", http://tools.ietf.org/html/draft-dukhovni-opportunistic-security-00, July 2014 [cga-tsig] Rafiee, H., von Loewis, M., Meinel, C., "CGA-TSIG/e: Algorithms for Secure DNS Authentication and Optional DNS Confidentiality", http://tools.ietf.org/html/draft-rafiee-intarea-cga-tsig-10, August 2014 Rafiee Expires April 22, 2015 [Page 11] INTERNET DRAFT secauth usecases October 22, 2014 Rafiee Expires April 22, 2015 [Page 12] INTERNET DRAFT secauth usecases October 22, 2014 Authors' Addresses Hosnieh Rafiee HUAWEI TECHNOLOGIES Duesseldorf GmbH Riesstrasse 25, 80992 Munich, Germany Phone: +49 (0)162 204 74 58 E-mail: ietf@rozanak.com Rafiee Expires April 22, 2015 [Page 13]