computers & security 29 (2010) 501–514
available at www.sciencedirect.com
journal homepage: www.elsevier.com/locate/cose
Pervasive authentication and authorization infrastructures for mobile users Jordi Forne´ a, Francisca Hinarejos a, Andre´s Marı´n b, Florina Almena´rez b, Javier Lopez c,*, Jose A. Montenegro c, Marc Lacoste d, Daniel Dı´az b a
Telematics Engineering, Technical University of Catalonia, Spain Telematics Engineering, University Carlos III of Madrid, Spain c Computer Science Department, University of Malaga, E.T.S. Ingenieria Informatica, Campus de Teatinos Office 3.2.4, 29071 Malaga, Spain d Orange Labs, France b
article info
abstract
Article history:
Network and device heterogeneity, nomadic mobility, intermittent connectivity and, more
Received 21 June 2009
generally, extremely dynamic operating conditions, are major challenges in the design of
Received in revised form
security infrastructures for pervasive computing. Yet, in a ubiquitous computing
6 September 2009
environment, limitations of traditional solutions for authentication and authorization can
Accepted 7 September 2009
be overcome with a pervasive public key infrastructure (pervasive-PKI). This choice allows the validation of credentials of users roaming between heterogeneous networks, even
Keywords:
when global connectivity is lost and some services are temporarily unreachable. Proof-of-
Ubiquitous computing
concept implementations and testbed validation results demonstrate that strong security
Authentication
can be achieved for users and applications through the combination of traditional PKI
Authorization
services with a number of enhancements like: (i) dynamic and collaborative trust model,
Trust
(ii) use of attribute certificates for privilege management, and (iii) modular architecture
Security architecture
enabling nomadic mobility and enhanced with reconfiguration capabilities. ª 2009 Elsevier Ltd. All rights reserved.
1.
Introduction
Advances in wireless technology and portable computing along with demands for higher user mobility have provided a major impetus towards ubiquitous computing. The promise of this new paradigm is the integration of microprocessors into everyday objects, able to communicate among themselves and with users by means of ad-hoc and wireless networking. Indeed, wireless networks provide mobile users with ubiquitous communication capabilities giving them access to information regardless of their location. In order to support business applications in ubiquitous networks, trust relationships between users need to be
strengthened. Therefore, increasing confidence requires pervasive security services based on strong authentication and authorization mechanisms. In ubiquitous computing, the main security challenges arise from network heterogeneity as well as from a dynamic population of nomadic users with limited devices. The European Project UBISEC (http://www.clab.de/ubisec/) aimed at an advanced infrastructure for large scale mobility and security; more precisely, for context aware and personalised authorization and authentication services in heterogeneous networks. This requires high-security personalisation and localisation technologies in order to keep privacy and to protect computing devices, their software components, and personal user data such as user profiles.
* Corresponding author. Tel.: þ34 952131327; fax: þ34 952131397. E-mail addresses:
[email protected] (J. Forne´),
[email protected] (F. Hinarejos),
[email protected] (A. Marı´n), florina@it. uc3m.es (F. Almena´rez),
[email protected] (J. Lopez),
[email protected] (M. Montenegro),
[email protected] (M. Lacoste),
[email protected] (D. Dı´az). 0167-4048/$ – see front matter ª 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.cose.2009.09.001
502
computers & security 29 (2010) 501–514
In this paper, we present a pervasive infrastructure for authentication-and-authorization services in heterogeneous networks, in the form of a pervasive public key infrastructure (pervasive-PKI). This infrastructure, developed as part of the UBISEC project, is able to provide authentication and access control services for users roaming between different heterogeneous networks. In this sense, the pervasive-PKI fully supports nomadic mobility, enabling secure services for users connecting through many different networking technologies (Wi-fi, UMTS, Bluetooth, etc.), and in multiple network topologies, even when global connectivity is lost and some services are temporarily unreachable. We clearly differentiate between two modes of operation: in connected mode, online trusted servers are available and traditional techniques are applicable for validation of user credentials; however, in disconnected mode, the information necessary for this validation is not always available. To support the disconnected mode, we combine different solutions: an adapted Privilege Verifier for authorization, a new trust model for authentication, and a collaborative model to obtain unavailable information. Some of the functions traditionally performed by authentication and authorization infrastructures are integrated into user devices, providing support for credential validation in situations where central authorities are not available, like in peer-to-peer mobile ad-hoc networks (MANETs). Furthermore, the pervasive-PKI is also endowed with reconfiguration capabilities. The rest of the paper is organized as follows. Section 2 presents the required background, including authentication and authorization infrastructures, evidence-based computational trust management, and component-based reconfigurable architectures. Section 3 points out the requirements of the pervasive-PKI. We then present the proposed architecture for the pervasive-PKI in Section 4, highlighting the components embedded in user devices. Section 5 describes a proof-ofconcept implementation developed for the UBISEC project, whereas evaluation results are shown in Section 6. Section 7 is devoted to related work. Finally, Section 8 concludes the paper.
2.
Background
2.1.
Authentication and authorization infrastructures
Authentication solutions like Microsoft.NET Passport and Kerberos depend on user-selected passwords. However, from a security point of view, it is more interesting to use further advanced technologies like digital certificates and PKIs, which combined with some complementary techniques and tools, can also be used as a starting-point to provide authorization. Actually, a X.509v3 identity certificate (or public-key certificate) can convey authorization information about its ‘subject’. For instance, the information can be encoded in one of the X.509v3 standard extension fields. Nonetheless, the dynamics of the authentication and the authorization information are different. Identity certificates are typically designed to be valid for a relatively long period of time (e.g., 1 or 2 years). Contrarily, the persons authorized to perform a particular function in a company may vary monthly, weekly, or even daily. For that reason, ANSI X9
Committee developed a complementary approach known as attribute certificate. This approach has been incorporated into both the ANSI X9.57 standard and the X.509-related standards and recommendations of ITU-T, ISO/IEC, and IETF. In this sense, the X.509 ITU-T Recommendation (2000) specifies the format of an attribute certificate (AC) as a separate data structure from the identity certificate of the subject. The Recommendation proposes that an attribute certificate is issued by an attribute authority (AA), rather than by the traditional certification authorities (CA) of the identity certificate case. Additionally, ITU proposes the binding of both certificates in such a way that one subject has multiple attribute certificates associated with his identity certificate. Finally, and in a similar way to the PKI case, the chains of attribute certificates can be built recursively and used in a framework supported by a privilege management infrastructure (PMI). PMIs also support delegation of rights, which is clearly beyond the capabilities of a traditional PKI. In ubiquitous scenarios, the need for an integrated authentication-and-authorization service for peers, that is, an authentication and authorization infrastructure (AAI), is stronger than ever before. Consequently, the challenge of an AAI is to provide an inter-domain authentication-and-authorization service. Using an AAI, a user would register only once in his home domain. When he requests a resource in a visited network, he should always be authenticated and authorized by using his home domain credentials. The important issue is that visited networks do not need to register the users by themselves. Instead, they trust the registration process and the credentials provided by the user’s home trust domain. It should be pointed out that PKIs suffer from a restricted and static vision of trust, that is, CAs are organised in strict hierarchies where trust flows from the root to the leaves and certificates denote direct trust relationships, while certification paths capture indirect trust relationships. The same problems have been inherited by PMIs in the few implementations available at this time and, consequently, will be inherited by AAIs because the aforementioned trust model is not suited for P2P networks, ad-hoc networks, and situations where no administrator is available or cannot be afforded. It is precisely that this research work elaborates on a new trust model reflecting the required dynamic nature of trust for roaming users, with little administrative overhead, and which can exploit the communication and collaboration capabilities of new situations.
2.2.
Evidence-based computational trust management
In a PKI, trust is fundamental to establish ‘‘certification paths’’ among entities, either CAs or end users. End user applications usually handle trust relations through ‘‘Trusted Certificate Lists’’. A trusted certificate list is the set of embedded root keys usually found within web browsers like Netscape, Internet Explorer, etc. Such root keys are used to successfully validate a certificate chain. This approach is convenient for systems including a relatively small number of well-known CAs, and is applicable for direct use within companies, and/or to support interactions across a predetermined set of corporate boundaries. Indeed, PKI configuration requires manual intervention, and applying hierarchies through cross-organizational boundaries on a large scale basis could be difficult.
computers & security 29 (2010) 501–514
This scheme is not applicable to mobile users, because these often require peer-to-peer trust relations. In this kind of relationship, each user or domain can be a trust anchor. Although a peer-to-peer trust model is more flexible than traditional PKI, it suffers from scalability and uncertainty problems. For instance, PGP’s web of trust (The international PGP home page) is a well-known example of this type of system. It can be said that PGP manages credential-based trust, which basically allows delegating trust. For these reasons, evidence-based computational trust management models have been proposed such as PTM (Almena´rez et al., 2006), Subjective Logic (Josang, 1999), SECURE (Ist secure project), ENTRAPPED Platform (Ingram, 2005), TMF (Waseen et al., 2007), among others. These models consider risk and uncertainty issues, and bring dynamism and flexibility. However, open and peer-to-peer systems are vulnerable to Sybil attacks (Doucer, 2002), and computational trust management models do not have well-referenced trust metrics for assessing and reasoning about attack-resistance (Twigg and Dimmock, 2003). Such issues must be taken into account by the several approaches. Pervasive Trust Management (PTM) has been designed for mobile users, by providing them with autonomy to establish new peer-to-peer trust relations, even with unknown users. PTM models trust relations with continuous function ranging from 0 to 1, where these values represent the extreme cases of complete distrust and complete trust, respectively. The initial trust values are established according to security rules, collaboration among trusted peers, or even user intervention when it is required. After evidences, the trust values change; that is, trust evolves over time in accordance with the user’s behaviour. In order to prevent Sybil attacks, in which a malicious entity can counterfeit a large number of pseudonymous entities so as to compromise the system, and to have a high attack-resistance, PTM minimizes possible sources of attacks, taking into account the trustworthiness of entities, establishing a security level and a cooperation threshold according to the perceived risk, and limiting the length of recommendation paths. Likewise, trust evolution is based on the principle: ‘‘Trust comes on foot and goes by horse’’. The increasing factor is proportional to the number of good interactions over time. On the contrary, trust can be easily lost with few negative actions, or an attempted attack. For instance, a forgery user previously requires a lot of good interactions to acquire an enough trust level to be recommender in environments with a low security level. Furthermore, a spiteful recommendation can be monitored in order to penalize to the recommender. In Fig. 1, trust evolution is graphically represented with respect to different behaviour patterns: positive, negative and variable. A negative behaviour quickly decreases the trust value, while a positive behaviour slowly increases it, especially at first. So the increment of trust is inversely proportional to the uncertainty, until trust saturation is reached. A saturation point is considered since it is not possible to assign more trust or distrust value; therefore, from trust or distrust saturation point the curves tends to 1 or 0 respectively. When the behaviour is variable, for example firstly 15 positive actions, then 10 negative actions, afterwards 28 positive actions; so on, historical behaviour proportionally allows rewarding or
503
penalizing the current behaviour. The formulae modelling the dynamic nature of trust can be found in Almena´rez et al. (2006). Trust information obtained from PTM can be also used to take access control decisions, evaluate risk, and calculate historical behaviour.
2.3.
Component-based reconfigurable architecture
The dynamicity and heterogeneity of ubiquitous environments require security management to be flexible enough to be easily tailored to different operating conditions such as multiple authorization and authentication policies, variable user preferences, or scarce resources d when only key security services should be included into a featherweight security infrastructure. Component-based security architectures are currently emerging as a promising solution to reach such flexibility. Components are usually defined as entities encapsulating code and data which appear in software systems as units of execution, configuration, deployment, or administration. The component paradigm enables the security architect to master the complexity of implementation of a software infrastructure: since components can be composed to form higher-level units of code, one can observe and manipulate the infrastructure at the right level of abstraction and granularity, both during design and implementation phases. The resulting infrastructure is thus very modular. Component-based design is also a simple but powerful manner to achieve flexibility of configuration and reconfiguration: functionalities can be simply adapted or inserted by addition or replacement of components in the system. Indeed, a component model simplifies reconfiguration management by providing control over relationships between components, both in term of containment and interconnection, independently from component functionality. This design approach is thus well suited to the dynamic needs of pervasive computing environments. To achieve an acceptable trade-off between security and flexibility, we will specify the architecture of the pervasive-PKI using the component paradigm. This choice of design facilitates the introduction of hooks to reconfigure authentication and authorization mechanisms. In the following, reconfiguration capabilities will be illustrated using Fractal (Bruneton et al., 2006; ObjectWeb Consortium), a generic component model which captures reconfiguration by flexible composition of components using a minimal number of concepts, shown in Fig. 2. In Fractal, a component is a run-time entity built from a controller, which supervises the execution of a content possibly including other components (sub-components). A composite component reveals the organization of its content, while a primitive component is a black-box to encapsulate legacy code. A component only interacts with its environment through well-defined interfaces, which may be provided or required. Components interact by establishing bindings between their interfaces. Fractal manages reconfiguration separately from component functional behaviours, by distinguishing between control interfaces and functional interfaces. The control interfaces of the component model allow to customize properties such as
504
computers & security 29 (2010) 501–514
Fig. 1 – Trust evolution according to different behavior patterns.
containment and binding relationships between components (BindingController interface), configuration of component properties (AttributeController interface), dynamic reconfiguration, by adding or removing sub-components (ContentController interface), and life-cycle management, for instance, by suspending or resuming component execution (LifeCycleController interface).
3.
Requirements for the pervasive-PKI
Fig. 3 shows a typical operation scenario that should be supported by the pervasive-PKI. Let Peter and Alice be two mobile users that have temporal connectivity to centralised PKI services (for example, when they have a stable Internet connection). During this period of connectivity they work in connected mode, and they have full access to all PKI services
offered by the infrastructure: they can register, obtain certificates, download certificate revocation lists (CRLs), contact to online certificate status protocol (OCSP) responders, etc. Later, users move and lose global connectivity. However, they can still communicate among each other by forming a peerto-peer MANET but they cannot accede to centralized PKI services. In this situation, which we call disconnected mode, users should be able to establish secure communications. In particular they should be able to perform authentication and access control decisions. The main objective of this research is focused on providing mechanisms that extend the PKI functionalities to mobile users when they work in the disconnected mode. To achieve this objective, we propose a new architecture for the pervasive-PKI, where functionality traditionally performed by a centralized infrastructure is moved to user devices, making certificate validation also possible in the disconnected mode.
Control interfaces Controller Required interface
Functional interfaces
Subcomponent Provided interface
Subcomponent
Content
Fig. 2 – Main concepts of the Fractal component model.
computers & security 29 (2010) 501–514
505
Fig. 3 – Typical operation scenario for the pervasive-PKI.
Below, we state the main requirements for an infrastructure providing authentication-and-authorization services in ubiquitous scenarios, which lead to the design of the pervasive-PKI:
3.1.
Operation over heterogeneous networks
Pervasive computing environments include many different network topologies and technologies (Wi-fi, UMTS, Bluetooth, etc.). This heterogeneity implies multiple disconnected trust domains, where each domain applies its own policies and mechanisms for authentication and authorization. Consequently, an important challenge for the pervasive-PKI is to provide an inter-domain authentication-and-authorization service.
3.2.
Support for the authorization service
PKI-based mechanisms are suitable for authentication in heterogeneous trust domains, and also facilitate mobility over heterogeneous networks and temporal disconnection of services: users carry their credentials to authenticate themselves anywhere at anytime. Similarly, credential-based authorization also allows supporting more scalable decentralised authorization policies.
3.3.
Support for mobile users
A major challenge to implement mobility is the free roaming of users across different administrative domains. In the past, users have been demanding roaming in homogeneous GSM networks. However, in the near future, users will require context-aware computing involving an increasing number of heterogeneous networks and mobile devices. One key enabler of future mobile systems will therefore be the support of roaming over heterogeneous networks. Therefore, a main requirement is to provide an infrastructure supporting secure services for mobile users anywhere and anytime.
3.4.
Single sign-on (SSO)
Using an AAI, a user would register only once in his home domain. When he requests a resource in a visited network, he should always be authenticated and authorized by using his home domain credentials. The important point to note is that visited networks themselves do not need to register the users; instead they trust the registration process and the credentials provided by the user home trust domain. They only focus on local authorization and access control decisions.
3.5.
Support for temporal disconnections
When users move across different networks, global connectivity may be lost and some PKI services may be temporarily unreachable. Fig. 3 shows the main modes of operation for the pervasive-PKI: connected and disconnected modes. When working in the connected mode, users have full access to all PKI services, including certificate issuing and validation. On the other hand, in the disconnected mode, the infrastructure cannot be reached and alternative mechanisms for certificate validation are required.
3.6.
A dynamic trust model for disconnected modes
It should be pointed out that existing PKIs suffer from a restricted and static vision of trust, that is, CAs are organised in strict hierarchies where trust flows from the root to the leaves and certificates denote direct trust relationships, while certification paths capture indirect trust relationships. The same problems have been inherited by PMIs in the few implementations available at this time and, consequently, will be inherited by AAIs because the aforementioned trust model is not suited for P2P networks, ad-hoc networks, and situations where no administrator is available or cannot be afforded. This is precisely why this research work elaborates on a new trust model reflecting the required dynamic nature of trust for mobile users, with little administrative overhead,
506
computers & security 29 (2010) 501–514
and which can exploit the communication and collaboration capabilities of new situations. Several typical certificate validation processes, such as path processing and revocation status checking cannot be guaranteed when working in disconnected mode. Even more, unrelated users possibly certified by unknown CAs may want to interact. Therefore, we require a new trust model for situations where a certificate cannot be verified or new trust relations cannot be established by traditional PKI mechanisms.
3.7.
Operation into limited devices
Mobile users typically used lightweight devices such as PDAs or mobile phones. Although these devices are easily portable they have much more limited capabilities than PCs or laptops. In particular these constrained devices have limited computational, communication and storage capabilities, and power consummation is also an important issue. We have to take these limitations into account, providing mechanisms that can be performed by very constrained devices.
3.8.
Reconfigurability
The operating environment is constantly changing due mainly to: dynamic trust relationships between users and devices; download of platform updates; installation of new security components and policies; and personalization of existing services. These conditions require an adaptable security infrastructure supporting both dynamic configuration to change some security parameters, and reconfiguration to introduce new protection mechanisms.
4.
Architecture
Authentication-and-authorization services for Internet users can be based on AAIs as presented in Section 2.1. In the connected mode, Public Key Infrastructures and Privilege Management Infrastructures (PMIs) can efficiently support both services, respectively. However, in the disconnected mode these infrastructures are not reachable and we require new solutions. This section proposes an architecture that extends the functionality of several PKI services to the disconnected mode. Fig. 4 shows the proposed architecture for the pervasivePKI. Mobile users obtain their credentials from a X.509 AAI and they store the certificates in their devices or smart cards. Further authentication and authorization will imply the validation of these credentials. In connected mode, part of the AAI can be used to help credential validation, whereas in disconnected mode the infrastructure is not reachable and several functionalities such as certificate path processing and revocation status checking are not available. Therefore, several cooperating software components installed in the user device have to be used to support credential validation. Mobile users can form self-organizing networks in isolation, in order to share services, or to participate in peer-topeer applications. Thus, some devices have to behave as servers, making certain decisions about access control, establishment of new trust relationships, or validation of
credentials, etc. In this section, we present the three software components that have to be included in user devices that allow implementing secure authentication and access control, even in disconnected mode: the PTM component, the Privilege Verifier (PV) and the Access Control Engine (ACE).
4.1.
PTM component
The PTM component manages trust information about users, validates public-key certificates (PKCs), signs messages and verifies digital signatures. These functionalities are provided by three components: (i) The Authentication Service manages PKC validation, using the ‘‘trusted certificate list’’ stored in the user device. If a credential cannot be validated even in connected mode, then the result is recorded to be used later in disconnected mode. Other mechanisms are used by the Trust Manager to establish the trust relationship with the communicating peer. The PKC is used as an identity mechanism. In the disconnected mode case, this component has been adapted by implementing our own algorithm for certification path validation. The algorithm uses recommendation information, trusted certificate list, and a revocation service if available (Forne´ et al., 2009). Here is how our algorithm works: a. Firstly, PTM receives a PKC to be validated. b. PTM checks PKC validity (syntax, signature, and period) and then the certification path is verified. It allows trusted auto-signed certificates or certificates issued by directly trusted users. c. When available, PTM checks the revocation status for the certificates in the certification path. If not, PTM may request recommendations from close trusted peers. Finally, if additional information cannot be obtained, the certificate is validated with a low authentication level. This component also provides information, e.g., identity certificates, to other components. (ii) The Trust Manager boots and manages trust information about users. Trust information includes trust values, and trustworthiness level according to a threshold. This information might be initially configured using common knowledge from trusted peers when the peer does not have direct relation with the communicating peer. If the common knowledge is not available, then the peer uses her own trust policies to make a decision and assign the initial trust value. This allows the management of the trusted certificate list in a semi-automatic way. Likewise, this component maintains a black list of untrustworthy users, because distrust is different from ignorance. The underlying pervasive trust model allows dynamic modification of the trust value assigned to an entity. This is achieved by incorporating an ‘‘Action Monitor’’ module which monitors the evidences, i.e. interactions from different entities. The interactions are classified by the service designer in order to assign them weights, for instance, malicious actions are 0, wrong actions are 0,5
computers & security 29 (2010) 501–514
507
Fig. 4 – Proposed architecture for the pervasive-PKI.
and positive actions are 1. This classification is configured as rules in the system. The weights are used to recalculate the trust values assigned to those entities according to the Pervasive Trust Model formulae. (iii) Finally, the Signature Manager can act in two ways: a. For message signing, using the user’s private key that can be placed in a tamper-proof storage device (like a smart card). b. For signature verification, by using the public keys bound to the certificates stored in the trusted certificate list.
4.2.
- Firstly, the PV receives an AC to be validated. The PKC linked to the AC can be supplied in the same way as the AC. If the PKC is not supplied, the AC Verifier can obtain it from the Localizer. - The validation of PKCs is then delegated to the PTM component and is managed by the Authentication Manager. If the PKCs are valid, the authentication result is a Boolean value. Otherwise, the outcome is a trust level calculated by the PTM component. - The AC Verifier component uses the information supplied by the user and the PTM component to validate the user privileges based on policies and environment variables.
Privilege Verifier (PV) Therefore the outcomes of the PV are:
This component manages the validation of Attribute Certificates. The Privilege Verifier (PV) consists of three components: (i) The Authentication Manager manages PKC validation. This component was adapted to disconnected mode to work in connection with the PTM component. When it is needed to validate any PKC linked to the AC target, the Authentication Manager delegates this functionality to the PTM component. (ii) The Localizer component provides information (certificates, policies.) to other components of the PV. For example, the AA’s PKC must be validated in order to verify the AC’s signature. The Localizer can act in two ways: a. It can provide the necessary PKCs to the validation of an AC from its local cache, b. Or it can request this information to the PTM module. (iii) The Attribute Certificate Verifier (AC Verifier) component is in charge of validating the user AC and to get the privileges or role assigned to the user. Therefore, this component supplies to the rest of modules with the information contained in the CA of the user. The validation of Attribute Certificates is performed as follows:
- The outcome of the AC validation. It can be divided in two types of information: a. A Boolean value means that the outcome for PKC validation is based on the PKC normal validation procedure. b. A trust level value means that the validation of the PKC of the AA is based on the Trust Manager module of the PTM component. The ACE uses this information to take a decision about the access to the resources by the user (see Section 4.3). - The information contained in the AC, for example, the user attributes, the validity period, and so on. It is worthy to note that the PV does not validate authentication information. This function is delegated to the PTM component. However, the final decision about the validation of an AC depends on the validation of, at least, the PKC of the AA used to sign the AC of the user. Therefore, the outcome of the PTM component about the validation of that PKC (the PKC of the AA) along with the result of the validation of the AC
508
computers & security 29 (2010) 501–514
performed by the PV are used by the ACE component to take an access control decision. An AC is considered valid if the PKC of both the user and the AA are either valid or trusted.
4.3.
Access control engine (ACE)
This component is in charge of decision-making based on the configured policies when controlling access to resources. It relies on the PTM to authenticate users requesting access, and on the PV to validate the credentials presented by the requester. - If the authentication and authorization are performed using valid certificates (PKCs and ACs), the ACE decision is based on valid certificates. - If either authentication or authorization can not be performed on valid certificates, the ACE takes a decision based on trust information. Access is then granted or not depending on the current authorization policy. The ACE implementation mostly follows the XACML access control framework, clearly separating logic for policy enforcement and decision.
4.4.
Reconfigurability
Following the discussion of Section 2.3, we now show the benefits of adopting a component-oriented architecture for the pervasive-PKI to achieve adaptability in the security services it provides. We illustrate this approach on the case of authentication. A flexible authentication service should allow adapting the authentication method to the security context. This operation can range from fine-tuning some configuration parameters to changing the authentication algorithm. For instance, the strength of authentication may be tuned by selecting the threshold T for PTM trust values above which user entities are authenticated: T ¼ 1 for boolean authentication if a CA is available on-line as in a traditional PKI; and T < 1 for disconnected mode, where trust is managed in a P2P manner between entities. At the other end, if different authentication algorithms are supported, a Pluggable Authentication Modules (PAM) type of architecture for the PTM component allows to install different Authentication Service Providers (ASP), and to select the provider best matching the security context (select ASP method). A component-based architecture for the authentication service captures both situations. In the same manner, the Privilege Verifier component could use a different authentication method since the Holder’s AC field offers a great flexibility to convey other types of user authentication. For example, the field entityName may use the otherName option to convey an identifier of the Kerberos name (Farrell and Housley, 2002). We consider two modes of operations for authentication. In connected mode, TTP (Trusted Third Party) servers are available on-line to validate credentials. Traditional PKI-based schemes are therefore applicable to manage trust. A TTP may not be accessible, the lack of a stable backbone in infrastructure-less networks resulting in intermittent connectivity. In disconnected mode, due to missing information, validation operations cannot be performed so simply, and require new
models of trust. A distributed trust management system such as Almena´rez et al. (2006) is then more suitable to handle trust relationships between devices to take decisions without central servers. These two modes are managed by separate sets of components, shown in Fig. 5. In connected mode, authentication and trust management are based on certificates using a PKI. The PKI includes typically the following components which may be distributed: the PKI Clients may initiate Certificate Signing Requests (CSRs) or certificate revocation requests, and verify the validity of certificates; the Registration Authority (RA) may approve CSRs, or revoke identity certificates; the Certification Authorities (CAs) may issue new certificates, sign CSRs, verify the validity of a certificate, or revoke certificates, for instance when a public key was compromised; finally, the Certificate Repository allows storing and retrieving certificates and Certificate Revocation Lists (CRLs). In disconnected mode, authentication is based on reputations maintained by a P2P trust management system (TMS), including the following components: an Action Monitor keeps track of behaviours (normal or malicious) of other devices; a Trust Manager combines this information with recommendations received from other devices to update the reputation of each device according to the chosen trust model; a Recommendation Manager implements the recommendation protocol between devices; the reputation values are then converted by the Credential Manager into credentials for authentication, stored in the Credential Repository. Authentication functionalities may be adapted to the security context at several levels, starting with the choice of the trust management strategy (certificates vs. trust values) depending on the connectivity status to a TTP. Changes are performed simply using the BindingController control interface to bind the Authenticate functional interface of the authentication service, either to the PKI or the TMS sub-components. The previous design also provides adaptability in the deployment architecture, the provided security services, and the supporting security protocols to meet the current protection requirements. As a rule, the functional components of the authentication service are distributed, deployed in different network topologies. For instance, the PKI CAs can be organized in hierarchies, optionally federated using cross-certification, or in mesh networks, where certificate holders are both CAs and clients. Independently from the network architecture, the PKI is expected to provide a list of security services which may need to be extended. Further, for each security service such as certificate validation, the interactions between the components can be described with several protocols (Bruneton et al., 2006). The proposed componentbased architecture supports these different types of PKI design by providing full control over the deployment of functional components, their relationship with security services, and the interaction protocols between components. When mapping the security services onto the functional components, one obtains a set of technical components which can be arranged flexibly to realize several types of PKI architectures. The component interfaces can be specified with an ADL (Architecture Description Language) such as the Fractal ADL 10. The CA component is shown in Fig. 6, the other
509
computers & security 29 (2010) 501–514
Choose ASP according to connectivity status
SelectASP
BindingController ContentController
Authentication Sub-System
Authenticate 1. Connected Mode
PKIX-compliant PKI Certification Authority (CA)
Certification Authority (CA)
Authenticate
Certificate Repository Registration Authority (RA)
PKI Clients
2. Disconnected Mode Trust Management Authenticate
System Action Monitor
Trust Manager Credential Repository
Recommendation Manager
Credential Manager
Fig. 5 – Components of an adaptable authentication service in the pervasive-PKI.
components being similar. Using the ContentController and BindingController interfaces, these components may be distributed on the network nodes according to a chosen topology. The topology may also be reconfigured according to the context, e.g., by creating a new CA, closer to clients, to optimize communications. The PKI security services can thus also be customized to the execution environment (security objectives, available resources), by adding/removing specific security components in the architecture. Finally, new interaction protocols (e.g., a more efficient certificate validation protocol) can be introduced by implementing specific bindings between components.
The technical components share a number of finer-grained sub-components which allow tuning several PKI features. For instance: cryptographic algorithms; format of certificates; initialization procedures of the PKI entities; certificate lifecycle; local storage policies for keys and certificates; certificate validation protocols; or CSR management. Thus, the protocols governing interactions between the components of the PKI can be implemented and adapted very flexibly. Similarly, in disconnected mode, one can change the trust model, the action monitoring policy, the recommendation protocol, or the type of exchanged credentials by replacing the corresponding components of the TMS.
Fig. 6 – From PKI security services to technical components.
510
5.
computers & security 29 (2010) 501–514
Proof-of-concept implementation
We considered the following scenario to demonstrate the functionalities of the pervasive-PKI in the UBISEC project. Let Peter, Alice and Bob be three users that previously do not know each other. Each user device (PDA) has the following software installed: (i) A Photo Album Service (PAS) application, which allows users to store, view and organize their digital pictures. (ii) The pervasive-PKI providing access control to both shared and private pictures. Peter sometimes tries to break the security of all the devices that he can find. He doesn’t have any picture in his album yet. Alice has some private pictures that she doesn’t want to share. But, she has given permission to fans of the Pervasive club to access some of them. Bob has several pictures divided into two categories: private and free access. He is a fan of the Pervasive club. The users form ad-hoc networks in order to exchange pictures. The available pictures can be viewed or stored into the local photo album repository. The access policy for these pictures should be inherited or defined to allow other users to get them. We tested two cases. In the first one, Bob act as client and Alice as server. Fig. 7 shows the steps performed for a successful access to photo: 1. Bob starts the PAS application and joins the MANET. 2. Bob’s PAS application starts a service discovery process to find other reachable PAS in the network. 3. Bob’s PAS application shows all other available PAS. Alice’s PDA offers pictures about the Beijing 2008 Olympic Games.
4. Bob asks for the picture of Beijing 2008 Olympics Jingjing Mascot, therefore, the identification and authorization process starts. Bob’s credentials (PKC and AC) are sent to Alice to prove he has the rights to see the picture. 5. This request is delivered to Alice’s pervasive-PKI software. Thus, the ACE component requests AC validation to the PV and PKC validation to the PTM. 6. The PV requests to the PTM the AA (for Pervasive fun club) PKC validation in order to validate the AC signature. a. If the AA PKC is valid and trusted, the PV gets the attribute bound to Bob’s AC. b. The PV sends the response to the ACE component. 7. The PTM sends the response to the ACE concerning the user PKC validation. 8. The ACE makes the resulting decision based on the PV and PTM responses, and the configured policies. 9. The ACE sends the result to the PAS application to start sending Beijing 2008 Olympics Jingjing Mascot picture to Bob. 10. The PTM monitors Bob’s behaviour to update his trust level. The Actions Monitor checks the events logged by the PAS application. Events are tested with a set of rules created by the PAS designer. Matching events are notified to the Trust Manager. In the second case, Bob acts as server and Peter as client: Bob is also offering a few pictures, and Peter tries to get a new picture from Bob’s PDA. Bob’s PDA then performs the same steps to validate Peter credentials. However, Peter is an untrustworthy user. Moreover, he doesn’t have enough privileges to obtain that picture since Peter is not a member of the Pervasive fun club. Then, the ACE component denies access to Peter and his trust level is updated. The PAS defines 28 different error codes arising from the validation process, i.e. output of the PV-PTM invocation. These error codes besides some other general patterns (like
Fig. 7 – Testbed scenario for the pervasive-PKI.
computers & security 29 (2010) 501–514
a DoS attack) are assigned weights by the PAS and continuously traced by the ‘‘Action Monitor’’ in the log files to recalculate the trust values. The implementation of the pervasive-PKI prototype has been developed in the J2ME Personal Profile (see Fig. 8). Different cryptographic providers have been tested: (i) OpenSSL (www.openssl.org) as open-source cryptographic provider; and (ii) IAIK (jcewww.iaik.tu-graz.ac.at) as cryptographic libraries based on Java. This implementation has been tested in Linux, Windows, and Windows CE. The developed software is publicly available as open-source, and can be downloaded from the main Web page of the UBISEC project. The AAI is also based on freely-available software. The PKI components are based the widely-known OpenCA (www. openca.org) project, while the PMI is based on the OpenPMI project. The OpenPMI is an open-source prototype developed by the University of Malaga (http://openpmi.sourceforge.net). It is based on the ITU-T X509 recommendation, although is also influenced by the European Telecommunications Standards Institute (ETSI) and PKIX reports. The main component of the infrastructure is the Attribute Authority (AA). The AA performs the following services for Attribute Certificates: certificate generation, revocation management, and revocation status checking. A detailed explanation can be found in Montenegro and Moya (2004).
6.
Evaluation
In this section we explain some measures we have obtained with our pervasive-PKI prototype and PAS application running in a PDA with a Intel PXA270 processor running at 520 MHz, equipped with a IEEE 802.11b wireless interface. We have run 40 times the experiment consisting of Peter downloading a picture from Alice which requires a valid Attribute Certificate with a given role. The amount of time required to download the picture is in mean 0.467 s. The pictures below show the overhead introduced by the validation process. The validation time includes the time consumed by the PTM component (1.25 s in mean) and the time consumed to validate the attribute certificate (0.73 s in mean). We have used a native method using JNI to get the value of a counter with precision of 1ms in the PDA, which is more precise than System.currentTimeMillis(). We have taken values of the different cryptographic operations required to validate the attribute certificate, as shown in Fig. 10. The PAS implementation fires the PV component which in
511
terms requests different validation methods from the PTM component. That is the reason why we subtract PV time from PTM time in Fig. 9b, since PV includes the whole time consumed in the validation, and we wanted to be able to separate the contributions of the different validation steps. We have used the cryptographic support of AIK for the PV component and a native implementation of a wrapper module of OpenSSL for the PTM component. We have also performed the same experiment in a PC with similar results, with roughly a magnitude (10x) improvement in time. Though in the PDA the result shows the time is not negligible for the user, this prototype is just a proof of concept not optimized for throughput, and we foresee that future implementations may reduce this time by a factor of 2, not taking into account the improvement of hardware.
7.
Related work
The evolution of distributed systems and the notable progress of hand held device technology has constituted the base to the creation of the concept of pervasive computing. Security was one of the more active areas of distributed systems and consequently has been becoming essential in pervasive computing. At the beginning, the security solutions were inherited and applied without significant contributions from distributed to pervasive systems, mainly due to lack of infrastructure support and knowledge between devices. Nowadays, several proposals have been working and improving security concerns about pervasive computing, covering their particulars security requirements. By way of illustration, three IST European funded projects, MobiLife (IST Mobilife project), SECURE (Secure Environments for Collaborations among Ubiquitous Roaming Entities (Ist secure project)) and TrustCoM (IST TrustCoM project, ) have tackled issues on trust and privacy applied to pervasive technologies. These solutions are closely related to our work and the security objectives of our project UBISEC. In MobiLife, the notion of trust is based on the Trust Engine concept, which is composed by User Trust Engine (Policy Decision Policy, PDP) and Context Provider Trust Engine (Policy Enforcement Point, PEP). The specification details the policies can be accessible offline and can be modified in real time according to the preferences of the users. SECURE project is mainly focused on trust and risk. The trust decisions are established based on a cost probability
Fig. 8 – Software for proof-of-concept implementation.
512
computers & security 29 (2010) 501–514
Fig. 9 – a. PTM performance data. b. PV performance data.
density function. The inputs of this function are the values provided by a trust calculator and a risk evaluator, broadly speaking, trust values are setting using context and user data. No information about offline access to policies is provided. TrustCoM proposes an access control model that combines a membership list with the RBAC model. The list contains the mappings between all participants’ public keys to their roles and an entry in the registry of management data. The membership list is maintained by a coordinator and distributed to all the participants in the community. In addition, a recent column in Boda et al. references some proposals that address the topic of individual’s privacy related to context aware information.
In brief, authentication services in disconnected networks such as ad-hoc networks can be broadly divided into two categories: solutions based on threshold cryptography where the private key of the service is shared among all or a subset of network nodes, like Zhou and Haas (1999) or Capkun et al. (2003) which propose the construction of a trusted network similarly to PGP where users build trust paths by issuing, storing and distributing certificates. In other hand, there is no unique proposal to provide ad-hoc networks with authorization services. Among some solutions (Al-Muhtadi et al., 2003; Covington et al., 2002; Kagal et al., 2001; Myles et al., 2003; Tripathi et al., 2004; Wullems et al., 2004): Loong et al. (2004) specify authorization policies grouped according to the roles of users, whereas the work (Jansen et al., 2002) proposes to hold in each user device a valid policy certificate and an enforcement module that ensures fulfillment of the policy. These solutions do not guarantee both authentication and authorization for peer-to-peer applications. Furthermore, in general they do not provide support for user mobility and reconfigurability. The work (Maki et al., 2000) introduces the concept of delegation in pervasive environments. In centralized solutions, an individual has the role of the leader of the group where its main task is handling the admission control in ad-hoc group. Delegation sentences must be used to obtain a scalable solution. Therefore, the leader can delegate to other individuals the capability to admin the inclusion of the participants in a group. The mentioned delegation is in fact an identity delegation, that is to say, the leader delegates his identity to selected individuals instead of the appropriated authorization sentences. Some of the co-authors of this work establish in Agudo et al. (2008) the concept of controlled delegation of authorization to enhance the drawbacks of identity delegation. Basically, the controlled delegation is possible due to the separation of the authentication and authorization sentences. For this purpose, among others, X509 identity and attribute certificate (ITU-T Recommendation, 2000; Housley et al., 2002;
Fig. 10 – PTM verification delay.
computers & security 29 (2010) 501–514
Farrell and Housley, 2002) respectively are employed, as this work suggests too. In Bussard et al. (2003) the authors proposed the use of attribute certificate, although they design their own format using the XML language. The main drawback of this solution is XML parsers are computationally more costly to pervasive devices than ASN.1 (Mundy and Chadwick, 2004) (the format of X509 certificates). Moreover, the authors employ the identity structure to perform the delegation sentences instead of making use of the defined authorization elements, therefore this could be considered other example of misuse of how establish delegation of duties.
8.
Conclusions
In this paper, we presented a ubiquitous authentication and authorization infrastructure, which allows the validation of user credentials in heterogeneous networks where global connectivity can be lost and some services can become temporarily unreachable. Authentication and authorization are provided to users and applications through the combination of traditional PKI and new PMI services, notably thanks to a new trust model and the use of attribute certificates. Several software components are proposed for the users’ devices, in order to extend several PKI functionalities to the disconnected mode. This modular infrastructure supports free roaming of users across different administrative domains and network technologies, and it is endowed with reconfiguration capabilities. We also described a proof-of-concept implementation of the pervasive-PKI developed in the UBISEC project. In the validation testbed we showed the functionality of the pervasive-PKI in the disconnected mode, computing the performance of our implementation.
Acknowledgments This work is funded by the European Union IST FP6 project UBISEC (IST-2002-506926). Some of the authors are also supported by the Spanish Government through the projects: CONSOLIDER INGENIO 2010 CSD2007-00004 ‘‘ARES’’, TSI200765393-C02-00 ‘‘ITACA’’, TSI2007-62986 and TIN2006-09242 ‘‘CRISIS’’. We would also like to thank the anonymous reviewers for their invaluable comments that helped to improve the manuscript.
references
Agudo I, Lopez J, Montenegro JA. Enabling attribute delegation in ubiquitous environments. Mobile Networks and Applications August 2008;13(3). Almena´rez F, Marı´n A, Dı´az D, Sa´nchez J. Developing a model for trust management in pervasive devices. In: IEEE workshop on pervasive computing and communication security; 2006. Al-Muhtadi J, Ranganathan A, Campbell R, Mickunas MD. Cerberus: a context-aware security scheme for smart spaces. In: Proceedings of IEEE internacional conference on pervasive
513
computing and communications (PerCom 2003); March 2003. pp. 489–96. Boda Pe´ter, et al. Privacy and trust initial model and interfaces. IST-2004-511607 MobiLife; v1.0: D24 (D3.4). Bruneton E, Coupaye T, Leclerc M, Que´ma V, Ste´fani J-B. The fractal component model and its support in Java. special issue on experiences with auto-adaptive and reconfigurable systems. Software – Practice and Experience (SP&E) 2006; 36(11–12):1257–84. Bussard L, Roudier Y, Kilian-Kehr R, Crosta S. Trust and authorization in pervasive B2E scenarios information security. In: 6th international conference, ISC 2003, LNCS 2851; 2003. pp. 295–309. Capkun S, Buttyan L, Hubaux JP. Self-organized public-key management for mobile ad hoc networks. IEEE Transactions on Mobile Computing 2003;2(1):52–64. Covington MJ, Fogla P, Zhan Z, Ahamad M. A context-aware security architecture for emerging applications‘‘. In: Proceedings of 18th annual computer 190 security applications conference (ACSAC 2002); December 2002. Doucer J. The sybil attack. LNCS. In: First international workshop on peer-to-peer systems, vol. 2429. Springer-Verlag; 2002. pp. 251–60. Farrell S, Housley R. An internet attribute certificate profile for authorization. IETF PKIX working group, April 2002. Request for Comments 3281. Forne´ J, Mun˜oz JL, Hinarejos F, Esparza O. Certificate status validation in mobile ad-hoc networks. IEEE Wireless Communications 2009; 16(1):55–62. Housley R, Polk W, Ford W, Solo D. Internet X.509 public key infrastructure certificate and certificate revocation list (CRL) profile. RFC 3280, http://www.ietf.org/rfc/rfc3280.txt; April 2002. Ingram D. An evidence based architecture for efficient, attackresistant computational trust dissemination in peer-to-peer networks. In: Third international conference on trust management (iTrust’05); 2005. IST Mobilife project. Avalaible at, http://www.ist-mobilife.org/. IST secure project, http://www.dsg.cs.tcd.ie/dynamic/?category_ id¼206. IST TrustCoM project. Avalaible at, http://www.eu-trustcom. com/. ITU-T Recommendation X.509. ‘‘Information technology – open systems interconnection – the directory: public-key and attribute certificate frameworks’’, 2000. Jansen W, Karygiannis T, Gravila S, Korolev V. Assigning and enforcing security policies on handheld devices. In: Proc. Canadian information technology security symposium; 2002. Josang A. An algebra for assessing trust in certification chains. In: Proc. network and distributed systems security symposium (NDSS); 1999. Kagal T, Finin L, Josh A. Trust-based security in pervasive computing environments. IEEE Computer December 2001:154–7. Loong S, Lupu E, Sloman M. PEACE: a policy-based establishment of ad-hoc communities. In: Proc. computer security applications conference; 2004. Maki S, Aura T, Hietalahti M. Robust membership management for adhoc groups. In: Proceedings of the 5th nordic workshop on secure IT systems (NORDSEC 2000). Reykjavik, Iceland; 2000. Montenegro JA, Moya F. A practical approach of x509 attribute certificate framework as support to obtain privilege delegation. In: Proc. 1st European PKI workshop: research and applications. Lecture notes in computer science (LNCS) 3093. Samos Island, Greece: Springer-Verlag; 2004. p. 160–72. Mundy D, Chadwick DW. An XML alternative for performance and security: ASN.1. IEEE IT Professional 2004;6(1):30–6. Myles G, Friday A, Davies N. Preserving privacy in environments with location-based applications. Pervasive Computing 2003; 2(1):56–64.
514
computers & security 29 (2010) 501–514
ObjectWeb Consortium. The fractal component framework. Open source software available for download at, http://fractal. objectweb.org/. The international PGP home page. Available at, http://www.pgpi. org/. Tripathi A, Ahmed T, Kulkarni D, Kumar R, Kashiramka K. Context-based secure resource access in pervasive computing environments’’. In Proceedings of first IEEE international workshop on pervasive computing and communications security (PerSec’04); March 2004. pp. 159–63. Twigg A, Dimmock N. Attack-resistance of computational trust models. In: Proceedings of the 12th IEEE international workshops on enabling technologies. Infrastructure for Collaborative Enterprises (WETICE’03); 2003. Waseen M, McClatchey R, Willers I. A scalable evidence based self-managing framework for trust management. Electronic notes in theoretical computer science (ENTCS). 2007;179: 59–73. Wullems C, Looi M, Clark A. Towards context-aware security: an authorization architecture for intranet environments. In: Proceedings of first IEEE international workshop on pervasive computing and communications security (PerSec’04); March 2004. pp. 132–7. Zhou L, Haas ZJ. Securing ad hoc networks. IEEE Networks 1999; 13(6):24–30. Jordi Forne´ received the Ph.D. degree in telecommunications engineering from the Technical University of Catalonia (UPC) in 1997. Currently, he is an Associate Professor at the Telecommunications Engineering School at UPC. His research interests span a number of subfields within information security and privacy. Marı´a Francisca Hinarejos received her M.S. degree in telecommunications engineering from UPC in 2003, and she is currently pursuing her Ph.D. Since 2007 she has been an assistant professor in the Department of Mathematics and Informatics of the University of the Balearic Islands, Spain. Her research interests
include network security, electronic commerce, public key infrastructures and privilege management infrastructures. Jose A. Montenegro is an Assistant Professor in the Computer Science Department at the University of Malaga, Spain, since 2005. During two year, 2007-2009, he was a guest researcher (Fulbright scholar) at National Institute of Standards and Technology, USA. He received his MS in 2001 and his PhD in 2006 from the University of Malaga, Computer Science Department. He also obtained his Master of Business Administration from the National University of Distance Education (UNED), Spain, in 2006. Dr. Montenegros research interests are in information security and applied cryptography. He published a large number of articles and participated in information and network security research projects such as CASENET and UBISEC which were included in the 5th and the 6th European Framework Programme. Andre´s Marı´n received the Ph.D. degree in telecommunications engineering from the Technical University of Madrid (UPM) in 1997. Currently, he is an Associate Professor at the Technical Engineering School at the University Carlos III of Madrid. His research interests are in the area of trust and security for ubiquitous computing and limited devices. Florina Almenares received her Ph.D. degree from the University Carlos III of Madrid (UC3M) in 2006. She currently works as an Associate Professor and researcher at the Telematics Engineering Department in UC3M. Her research interests include trust management models for open dynamic environments, identity management in NGN, security architectures in mobile devices, and security in mobile wireless networks. Daniel Dı´az obtained his MSC degree in Telematics in 2006 and the Ph.D degree in 2008 from Universidad Carlos III de Madrid. Currently, he is an Associate Professor of the Telematics Engineering Department. His research topic includes trust negotiation, authorization and Identity Management interworking. Moreover, part of his research focuses also in Pay TV.