<?xml version="1.0" encoding="US-ASCII"?>

<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc1939 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1939.xml">
<!ENTITY rfc3501 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3501.xml">
<!ENTITY rfc2616 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml">
<!ENTITY rfc5321 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5321.xml">
<!ENTITY rfc3226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3226.xml">
<!ENTITY rfc2911 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2911.xml">
<!ENTITY rfc3550 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3550.xml">
<!ENTITY rfc4251 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4251.xml">
<!ENTITY rfc5280 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5280.xml">
<!ENTITY I-D.lear-abfab-arch SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.lear-abfab-arch.xml">
<!ENTITY I-D.wei-abfab-fcla SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.wei-abfab-fcla.xml">
<!ENTITY I-D.freeman-plasma-requirements SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.freeman-plasma-requirements.xml">
<!ENTITY OASIS.saml-profiles-2.0-os PUBLIC '' "http://xml.resource.org/public/rfc/bibxml2/reference.OASIS.saml-profiles-2.0-os.xml">
]>

<rfc category="info" docName="draft-ietf-abfab-usecases-05" ipr="trust200902">
    <front>
        <title abbrev="ABFAB Use Cases">Application Bridging for Federated Access Beyond web (ABFAB) Use Cases</title>
        <author fullname="Dr. Rhys Smith" surname="Smith" initials="R" role="editor">
            <organization>Cardiff University</organization>
            <address>
                <postal>
                    <street>39-41 Park Place</street>
                    <city>Cardiff</city>
                    <code>CF10 3BB</code>
                    <country>United Kingdom</country>
                </postal>
                <phone>+44 29 2087 0126</phone>
                <email>smith@cardiff.ac.uk</email>
            </address>
        </author>

        <date year="2012" />

        <area>Security Area</area>

        <workgroup>ABFAB</workgroup>

        <keyword>Internet-Draft</keyword>
        <keyword>Federated Authentication</keyword>
        <keyword>AAA</keyword>
        <keyword>RADIUS</keyword>
        <keyword>Diameter</keyword>
        <keyword>GSS-API</keyword>
        <keyword>EAP</keyword>
        <keyword>SASL</keyword>

        <abstract>
            <t>
                Federated identity is typically associated with Web-based services at present, but there is growing interest in its application in non Web-based contexts. The goal of this document is to document a selection of the wide variety of these contexts whose user experience could be improved through the use of technologies based on the ABFAB architecture and specifications.
            </t>
        </abstract>
    </front>

    <middle>
    
        <section title="Introduction">
            <t>
                Federated identity facilitates the controlled sharing of information about people (a.k.a. 'principals'), commonly across organisational boundaries. This avoids redundant registration of principals who operate in and across multiple domains; both reducing the administrative overhead for the organizations involved and improving the usability of systems for the principal. Simultaneously, it can also help address privacy-related concerns, along with the regulatory and statutory requirements of some jurisdictions.
            </t>
            <t>
                The information that is passed between organizations may include authentication state and identity information that can be used for many purposes, including making access management decisions. A number of mechanisms support the transmission of this information for Web-based scenarios in particular (e.g. SAML <xref target="OASIS.saml-profiles-2.0-os"/>), but there is significant interest in the more general application of federated identity to include non-Web use cases. This document enumerates some of these use cases, describing how technologies based on the the ABFAB architecture <xref target="I-D.lear-abfab-arch"/> and specifications could be used.
            </t>
        </section>
        
        <section title="Context of Use Cases">
            <t>
                The use cases described in this document are a result of work led by Janet, the operator of the United Kingdom's education and research network, responding to requirements from its community, and augmented by various inputs from the IETF community.
            </t>
            <t>
                The ABFAB architecture and specifications enables authentication and authorization to occur across organizational boundaries. For many applications, principals need not have pre-instantiated accounts that their federated identity maps to before their first visit to that application; the application can perform this process on the fly. In cases where such accounts are required for particular applications, the pre-provisioning process is out of scope of ABFAB technologies, which assumes any such requirements have already been fulfilled. Standards-based work of note that would assist with this pre-provisioning of accounts includes the standards and specifications produced by the IETF SCIM working group.
            </t>
        </section>
        
        <section title="Use Cases">
            <t>
                This section describes some of the variety of potential use cases where technologies based on the ABFAB architecture and specifications could help improve the user experience; each includes a brief description of how current technologies attempt to solve the use cases and how this could improved upon by ABFAB implementations.
            </t>
            
            <section title="Cloud Services">
                
                <t>
                    Cloud computing is emerging as a common way of provisioning infrastructure services in an on-demand manner. These services are typically offered as one of three models:
                    
                    <list style="symbols">
                        <t>
                            General infrastructure services such as computing power, network, storage, and utility ("Infrastructure as a Service", or IaaS);
                        </t>
                        <t>
                            Software stacks or platforms such as database servers, web servers, application runtime environments, etc. ("Platform as a Service", or PaaS);
                        </t>
                        <t>
                            Common application software such as email, shared storage, business applications such as Customer Relationship Management (CRM) or scientific applications ("Software as a Service", or SaaS).
                        </t>
                    </list>
                </t>
                <t>
                    In many cases the provisioned cloud infrastructures and applications need to be integrated with existing infrastructure of the organisation, and it is of course desirable if this could be achieved in a way that allows business or scientific workflows to act across infrastructure both across the cloud and in the local infrastructure in as seamless a manner as possible. 
                </t>
                <t>
                    There are two main areas where federated access fits in cloud computing: using federation to help mediate access to cloud based application services (e.g. cloud provided email or CRM systems); and using federation to help mediate access to the management of cloud based infrastructure services. 
                </t>

                <section title="Cloud-based Application Services">
                    <t>
                        Many organizations are seeking to deliver services to their users through the use of providers based in the 'cloud'. This is typically motivated by a desire to avoid management and operation of commodity services which, through economies of scale and so-forth, can often be delivered more efficiently by such providers.
                    </t>
                    <t>
                        Many providers already provide web-based access using conventional federated authentication mechanisms; for example, outsourced email provision where federated access is enabled using 'webmail' applications where access is mediated through the use of SAML <xref target="OASIS.saml-profiles-2.0-os"/>. This use of federated authentication enables organizations that consume cloud services to more efficiently orchestrate the delivery of these services to their users, and enables Single Sign On to the services for these users.
                    </t>
                    <t>
                        Frequently, however, users will prefer to use desktop applications that do not use web (i.e. HTTP <xref target="RFC2616"/> based) protocols. For example, a desktop email client may use a variety of non-web protocols including SMTP <xref target="RFC5321"/>, IMAP <xref target="RFC3501"/> and POP <xref target="RFC1939"/>. Some cloud providers support access to their services using non-web protocols, however, the authentication mechanisms used by these protocols will typically require that the provider has access to the user's credentials - i.e. non federated. Consequently, the provider will require that users' credentials are regularly synchronised from the user organisation to the provider, with the obvious overhead this imparts on the organisation along with the obvious implications for security and privacy; or else be provisioned directly by the provider to the user.
                    </t>
                    <t>
                        The latter approach of directly provisioning accounts may be acceptable in the case where an organisation has relationships with only a small number of providers, but may become untenable if an organisation obtains services from many providers. Consequently any organisation with a requirement to use non-web protocols would prefer to make use of the credentials that they have already provisioned their users with, and to utilise federated authentication with non-web protocols to obtain access to cloud-based providers.
                    </t>
                    <t>
                        ABFAB could help in this context as its specifications would enable federated authentication for a variety of non-web protocols, thus gaining the benefits of federated authentication without any of the drawbacks that are currently experienced.
                    </t>
                </section>
            
                <section title="Cloud-based Infrastructure Services">
                    <t>
                        Typical IaaS or PaaS cloud use cases deal with provisioning on-demand cloud based infrastructure services that may include infrastructure components such as computing and storage resources, network infrastructure, and other utilities. Cloud based virtualised applications should ideally operate in the same way as regular non-virtualised applications whilst allowing management of the virtual computing resources (scaling, migration, reconfiguration) without changing the management applications.
                    </t>
                    <t>
                        In many cases, moving applications or platforms to the Cloud may require their re-designing/re-factoring to support dynamic deployment and configuration, including their security and authentication and authorisation services. These will typically today be extensively based on manual setup and configuration of such components and features as trusted certificates and trust anchors, authorities and trusted services (both their location and certificates), attribute namespaces, policies, etc.
                    </t>
                    <t>
                        ABFAB could help in this context as a way of moving from the model of manually configured authentication and authorisation towards a more easily managed system involved federated trust and identity, and will be applicable for a wide range of existing features (e.g. connecting to a newly provisioned Virtual Machine through ABFAB enabled secure shell (SSH) <xref target="RFC4251"/> instead of having to manually manage an administrative login to that machine).
                    </t>
                </section>

            </section>

            <section title="High Performance Computing">
                <t>
                    High-performance computing (HPC) is a discipline that uses supercomputers and computer clusters to solve complex computation problems; it most commonly associated with scientific research or computational science. 
                </t>
                <t>
                    Access to HPC resources, often mediated through technologies such as secure shell, is typically managed through the use of user digital certificates <xref target="RFC5280"/> or through manually provisioned credentials and accounts. This requires HPC operators to issue certificates or accounts to users using a registration process that often duplicates identity management processes that already exist within most user organizations. The HPC community would like to utilise federated identity to perform both the user registration and authentication functions required to use HPC resources, and so reduce costs by avoiding this duplication of effort.
                </t>
                <t>
                    The HPC community also have following additional requirements:
                    <list style="symbols">
                        <t>
                            Improved Business Continuity: In the event of operational issues at an HPC system at one organisation (for example, a power failure), users and jobs could be transparently moved to other HPC systems without the overhead of having to manage user credentials for multiple organizations;
                        </t>
                        <t>
                            Establish HPC-as-a-service: Many organizations who have invested in HPC systems want to make their systems easily available to external customers. Federated authentication facilitates this by enabling these customers to use their existing identity management, user credentialing and support processes;
                        </t>
                        <t>
                            Improve the user experience: Authentication to HPC systems is normally performed using user digital certificates, which some users find difficult to use. Federated authentication can provide a better user experience by allowing the use of other types of credentials, without requiring technical modifications to the HPC system to support these.
                        </t>
                    </list>
                </t>
                <t>
                    ABFAB could help in this context as it could enable federated authentication for the many of the protocols and technologies currently in use by HPC providers, such as secure shell.
                </t>
            </section>

            <section title="Grid Infrastructure">
                <t>
                    Grids are large-scale distributed infrastructures, consisting of many loosely coupled, independently managed, and geographically distributed resources managed by organisationally independent providers. Users of grids utilise these resources using grid middleware that allows them to submit and control computing jobs, manipulate datasets, communicate with other users, etc. These users are organised into Virtual Organisations (VOs); each VO represents a group of people working collaboratively on a common project. VOs facilitate both the management of its users and the meditation of agreements between its users and resource providers.
                </t>
                <t>
                     Authentication and authorisation within most grids is performed using a Public Key Infrastructure, requiring each user to have an X.509 public-key certificate <xref target="RFC5280"/>. Authentication is performed through ownership of a particular certificate, while authorisation decisions are made based on the user's identity (derived from their X.509 certificate), membership of a particular VO, or additional information assigned to a user by a VO. While efficient and scalable, this approach has been found wanting in terms of usability - many users find certificates difficult to manage, for various reasons. 
                </t>
                <t>
                    One approach to ameliorating this issue, adopted to some extent by some grid communities already, is to abstract away direct access to certificates from users, instead using alternative authentication mechanisms and then converting the credential provided by these into standard grid certificates. Some implementations of this idea use existing federated authentication techniques. However, current implementations of this approach suffer from a number of problems, not the least of which is the inability to use the federated credentials used to authenticate to a credential-conversion portal to also directly authenticate to non-web resources such as secure shell daemons.
                </t>
                <t>
                    The ability to use federated authentication directly through ABFAB, without the use of a credential conversion service, would allow users to authenticate to a grid and its associated services, allowing them to directly launch and control computing jobs, all without having to manage, or even see, an X.509 public-key certificate at any point in the process. Authorisation within the grid would still be performed using VO membership asserted issued by the user's identity provider through the federated transport.
                </t>
            </section>
            
            <section title="Databases and Directories">
                <t>
                    Databases (e.g. MySQL, PostgreSQL, Oracle, etc.) and directory technologies (e.g. OpenLDAP, Microsoft Active Directory, Novell eDirectory, etc.) are very commonly used within many organsiations for a variety of purposes. This can include core administrative functions, such as hosting identity information for its users, as well as business functions (e.g. student records systems at educational organizations).
                </t>
                <t>
                    Access to such database and directory systems is usually provided for internal users only, however, users external to the organizations sometimes require access to these systems directly: for example, external examiners in educational organizations requiring access to student records systems, members of cross-organisational project teams who store information in a particular organisation's systems, external auditors, etc.
                </t>
                <t>
                    Credentials for users both internal or external to the organisation that allow access these databases and directories are usually provisioned manually within an organisation, either using Identity Management technologies or through more manual processes. For the internal users, this situation is fine - this is one of the mainstays of Identity Management. However, for external users who require access, this represents more of a problem for organisational processes. The organisation either has to add these external users to its internal Identity Management systems, or else provision these credentials directly within the database/directory systems and continue to manage them, including appropriate access controls associated with each credential, for the lifetime of that credential.
                </t>
                <t>
                    Federated authentication to databases or directories, via ABFAB technologies, would improve upon this situation as it would remove the need to provision and de-provision credentials to access these systems. Organisations may still wish to manually manage access control of federated identities; however, even this could be provided through federated means, if the trust relationship between organizations was strong enough for the organisation providing the service to rely upon it for this purpose.
                </t>
            </section>
            
            <section title="Media Streaming">
                <t>
                    Media streaming services (audio or audio/video) are often provided publicly to anonymous users, but authentication is important for a protected subset of streams where rights management and access control must be applied.
                </t>
                <t>
                    Streams can be delivered via protocols such as RTSP <xref target="RFC3226"/> / RTP <xref target="RFC3550"/> which already include authentication, or can be published in an encrypted form with keys only being distributed to trusted users. Federated authentication is applicable to both of these cases.
                </t>
                <t>
                    Alternative mechanisms to managing access exist; for example, an approach where a unique stream URI is minted for each user. However, this relies on preserving the secrecy of the stream URI, and also requires a communication channel between the web page used for authentication and the streaming service itself. Federated authentication would be a better fit for this kind of access control. Thus, AFAB technologies that allow federated authentication directly within (inherently non-web) media streaming protocols would represent an enhancement to this area.
                </t>
            </section>
  
            
            <section title="Printing">
                <t>
                    A visitor from one organisation to the premises of another often requires the use of print services. Their home organisation may of course offer printing, but the output could be a long way away so the home service is not useful. The user will typically want to print from within a desktop or mobile application.
                </t>
                <t>
                    Where this service is currently offered it would usually be achieved through the use of 'open' printers (i.e. printers that allow anonymous print requests), where printer availability is advertised through the use of Bonjour or other similar protocols. If the organisation requires authenticated print requests (usually for accounting purposes), the the visitor would usually have to be given credentials that allow this, often supplemented with pay-as-you-go style payment systems.
                </t>
                <t>
                    Adding federated authentication to IPP <xref target="RFC2911"/> (and other relevant protocols) would enable this kind of remote printing service without the administrative overhead of credentialing these visitors (who, of course, may well one time visitors to the organisation). This would be immediately applicable to higher education, where this use case is increasingly important thanks to the success of federated network authentication systems such as eduroam but could also be used in other contexts such as commercial print kiosks, or in large, heterogeneous organizations.
                </t>
            </section>
            
            <section title="Accessing Applications from Devices on a Telecoms Infrastructure">
                <t>
                    Telecom operators typically have the following properties:
                    <list style="symbols">
                        <t>
                            A large collection of registered users, many of whom may have identities registered to a fairly high level of assurance (often for payment purposes). However, not all users will have this property - for example, non-contract customers on mobile telecoms infrastructures in countries with low levels of identity registration requirements.
                        </t>
                        <t>
                            An existing network infrastructure capable of authenticating a device (e.g. a cellphone or an ADSL router), and by inference, its owner.
                        </t>
                        <t>
                            A large collection of applications (both web-based and non web-based) that its users wish to access using their device. These applications could be hosted by the telecoms operator directly, or could be any application or system on the internet - for example, network messaging services, VoIP, email, etc.
                        </t>
                    </list>
                </t>
                <t>
                    At present, authentication to these applications will be typically configured manually by the user on the device (or on a different device connected to that device) but inputting their (usually pre-provisioned out-of-band) credentials for that application - one per application.
                </t>
                <t>
                    The use of ABFAB technologies in this case, via a mechanism dubbed "federated cross-layer access" (see <xref target="I-D.wei-abfab-fcla"/>) would enhance the user experience of using these applications through devices greatly. Federated cross-layer access would make use of the initial mutual authentication between device and network to enable subsequent authentication and authorisation to happen in a seamless manner for the user of that device authenticating to applications.
                </t>                  
            </section>

            <section title="Enhanced Security Services for S/MIME">
                <t>
                    There are many situations where organizations want to protect information with robust access control, either for implementation of intellectual property right protections, enforcement of contractual  confidentiality agreements or because of legal regulations.  The Enhanced Security Services (ESS) for S/MIME defines an access control mechanism which is enforced by the recipient's client after decryption of the message (see <xref target="I-D.freeman-plasma-requirements"/>). The data model used makes use of Policy decision points (PDP) which make the policy decisions, policy enforcement points (PEP) which make decision requests to the PDP, and policy information points (PIP) which issue attributes about subjects. The decisions themselves are based on the policies and on the subject attributes.
                </t>
                <t>
                    The use of ABFAB technologies in this case would enable both the front or back end attribute exchange required to provide subject attributes. When the PEP contacts the PDP, it would initiate an ABFAB authentication in order to authenticate to the PDP and allow it to obtain these required subject attributes. Once authenticated, the PDP would return a token to the subject PEP which can be used for subsequent authentications to the PDP.
                </t>
            </section>

            <section title="Smart Objects">
                <t>
                    Many smart device deployments involve multiple organizations that do not directly share security infrastructure. For example, in smart power deployments, devices including appliances and infrastructure such as electric car chargers will wish to connect to an energy management system. The energy management system is provided by a utility company in some deployments. The utility company may wish to grant access only to authorized devices; for example, a consortium of utility companies and device manufacturers may certify devices to connect to power networks.
                </t>
                <t>                    
                    In another example, consumer devices may be used to access cloud services. For example, a camera could be bound to a photo processing site. Authentication and authorization for uploading pictures or ordering prints is required. Sensors could be used to provide data to services run by organizations other than the sensor manufacturer. Authorization and authentication can become very tricky when sensors have no user interface. Cellular devices may want to access services provided by a third party regardless of whether the cellular network or wi-fi is used. This becomes difficult when authorization and billing is coordinated by the cellular provider.
                </t>
                <t>
                    The use of ABFAB technologies in this case would provide authentication between one entity, such as a smart device, and its identity provider. Only two parties are involved in this exchange; this means that the smart device need not participate in any complicated public-key infrastructure even if it is authenticating against many cloud services. Instead, the device can delegate the process of authenticating the service and even deciding whether the device should be permitted to access the service to the identity provider. This has several advantages. A wide variety of revenue sharing models are enabled. Because device authentication is only with a single identity provider, phishing of device credentials can be avoided. Authorization and decisions about what personal information to release are made by the identity provider. The device owner can use a rich interface such as a website to configure authorization and privacy policy even if the device has no user interface. This model works well with pre-provisioning of device credentials.
                </t>
            </section>

        </section>

        <section title="Contributors">
            <t>
                The following individuals made important contributions to the text of this document: Tim Bannister (Manchester University), Simon Cooper (Janet), Josh Howlett (Janet), and Mark Tysom (Janet).
            </t>
        </section>
        
        <section title="Acknowledgements">
            <t>
                These use-cases have been developed and documented using significant input from Jens Jensen (STFC Rutherford Appleton Laboratory), Daniel Kouril (CESNET), Michal Prochazka (CESNET), Ian Stewart (University of Edinburgh), Stephen Booth (Edinburgh Parallel Computing Centre), Eefje van der Harst (SURFnet), Joost van Dijk (SURFnet), Robin Breathe (Oxford Brookes University), Yinxing Wei (ZTE Corporation), Trevor Freeman (Microsoft Corp.), Sam Hartman (Painless Security, LLC), and Yuri Demchenko (University of Amsterdam).
            </t>
        </section>
          
        <section title="Security Considerations">
            <t>
                This document contains only use cases and defines no protocol operations for ABFAB.  Security considerations for the ABFAB architecture are documented in the ABFAB architecture specification, and security considerations for ABFAB technologies and protocols that are discussed in these use cases are documented in the corresponding protocol specifications.

            </t>
        </section>
        
        <section title="IANA Considerations">
            <t>
                This document does not require actions by IANA.
            </t>
        </section>        
        
    </middle>

    <back>
        <references title="Normative References">
            &I-D.lear-abfab-arch;
        </references>

        <references title="Informative References">
            &rfc1939;
            &rfc2616;
            &rfc2911;
            &rfc3226;
            &rfc3501;
            &rfc3550;
            &rfc4251;
            &rfc5280;
            &rfc5321;
            &OASIS.saml-profiles-2.0-os;
            &I-D.wei-abfab-fcla;
            &I-D.freeman-plasma-requirements;
        </references>
        
    </back>
</rfc>
