Academia.eduAcademia.edu

Using Electronic Institutions to Secure Grid Environments

2006, Lecture Notes in Computer Science

Using Electronic Institutions to secure Grid environments Ronald Ashri1 and Terry Payne1 and Michael Luck1 and Mike Surridge2 and Carles Sierra3 and Juan Antonio Rodriguez Aguilar3 and Pablo Noriega3 1 2 University of Southampton, UK {ra,trp,mml}@ecs.soton.ac.uk IT Innovation, Southampton, UK [email protected] 3 IIIA-CSIC, Spain {sierra,jar,pablo}@iiia.csic.es Abstract. As the technical infrastructure to support Grid environments matures, attention must be focused on integrating such technical infrastructure with technologies to support more dynamic access to services, and ensuring that such access is appropriately monitored and secured. Such capabilities will be key in providing a safe environment that allow the creation of virtual organisations at runtime. This paper addresses this issue by analysing how work from within the field of Electronic Institutions (EIs) can be employed to provide security support for Grid environments, and introduces the notion of a Semantic Firewall (SFW) responsible for mediating interactions with protected services given a set of access policies. An overarching guideline is that such integration should be pragmatic, taking into account the real-life lessons learned whilst developing, deploying and using the GRIA infrastructure for Grid environments. 1 Introduction The Grid Computing paradigm [8] is aimed at supporting access to a variety of computing and data resources across geographical and organisational boundaries, to enable users to achieve (typically) complex and computationally intensive tasks. More specifically, the “Grid Problem” has been articulated as providing the means to support virtual organisations that can draw together different capabilities from across the Grid domain, to deliver services that might not otherwise be possible [6]. In attempting to realise this vision, research and development over recent years has focussed on directing Grid environments towards establishing the fundamentals of the technical infrastructure required, as represented by infrastructure development efforts such as the Globus toolkit [9], and standardisation efforts such as OGSA [16] and WS-Resource [2]. However, while such technical infrastructure is necessary in providing an effective platform to support robust and secure communication, this largely omits consideration of the other higher-level issues that need to be addressed before we can achieve the goal of formation and operation of virtual organisations at run-time based on a dynamic selection of services [8]. In particular, whilst low-level security concerns (including encryption, authentication, etc) are addressed, the problems of describing authorised processes and the policies that are associated with those processes is largely ignored at this level. The requirement here is to specify which services are allowed to participate in the virtual organisation and what they are permitted to do. If we consider virtual organisations in the context of agent-based computing, we can regard this problem as analogous to that of defining an Electronic Institution (EI). Electronic Institutions, as defined in [3], can provide the necessary conceptual framework for describing the allowed participants in a virtual organisation as well as the permitted interactions in any given state. As such, they have proven useful in providing structured regulatory environments for heterogeneous external agents or users (in a broader sense). Furthermore, they are supported by tools such as ISLANDER [4], which can facilitated the process of defining an institution. In this paper, we present a way of making use of such technologies in response to a specific set of needs for Grid applications, identified following practical experience gained through the development of the GRIA (Grid Resources for Industrial Applications) infrastructure [14]. Unlike Globus, GRIA was designed to support business interactions, and although it does not currently make explicit use of agent technologies, some of its underlying concepts resonate well with an agent approach. As such, it provides an ideal and flexible framework that could exploit agent technology to provide effective solutions for some of its current limitations. In particular, we describe how EIs can be applied within the context of a Grid security device, and introduce the notion of a Semantic Firewall. The purpose of the Semantic Firewall is to protect Grid services by monitoring all external interactions with those services. Its key functionality is to ensure that all interactions with protected services fulfil the following criteria: – The encountered interactions are those expected, given the agreed aims of the interaction and the current state of execution of a defined interaction protocol [1]; – The interactions must satisfy any security requirements associated with the interaction protocol. The application of EIs for describing and subsequently monitoring interactions within the context of a Grid application represents one of the primary efforts in demonstrating (in practical terms) how agent technologies can be used in Grid environments. Whilst the perceived benefit of doing so has already been argued by Foster et al [7], this work represents a tangible example that realises this vision. In addition, it also demonstrates how such technologies can be pragmatically applied without requiring a drastic reconfiguration of existing Grid infrastructure, or the way in which Grid-developers design services. This is a significant issue since uptake of agent technologies is notoriously hard to achieve in new environments [17]. Thus, the ability to introduce agentbased principles without a significant shift in the status quo, whilst adding value within a Grid Infrastructure is a key contribution. The paper is structured as follows. In the next section we briefly describe the GRIA infrastructure and provide an example of its operation (section 3) that we use throughout the paper. Subsequently, in sections 4 and 5 we introduce the notion of the Semantic Firewall, and briefly describe Electronic Institutions. We then discuss in section 6 how we map GRIA concepts on to EI concepts and provide a concrete example of that mapping (section 7). The paper concludes in section 8. 2 The GRIA Framework The GRIA framework is a Grid infrastructure developed using just the basic web service specifications, as part of the EC IST GRIA project [14]. It provides the necessary infrastructure for exposing computationally intensive applications across the Grid, with ancillary facilities for data staging and quality of service negotiation. A Grid service within GRIA can be considered as a contextualised web service, which exposes its functionality through a well-defined interface. It is contextualised since interactions with the web service are based on a well-defined process, with a context that is maintained throughout the lifetime of the process. It is the interaction protocols associated with these long-lived processes that we aim to make explicit through an appropriate formal description, so that they can be specified to an external access control and monitoring system. In GRIA, a number of services and systems, both external and internal, are used. Internal systems and services include resource schedulers, accounting systems and databases, while external services include data staging services, certification authorities, and so forth. GRIA also provides features such as negotiation over the quality of service and long-term accounts with service providers. We do not discuss these issues in detail here, but the interested reader is referred to [14], in which a more complete description of the GRIA system is available. Rather, what we present here is a simplified example of the operation of GRIA, and a description of how these concepts are mapped to an electronic institution. Our example is based on a straightforward usage scenario for Grid applications that is supported by GRIA. It involves a client that submits a computation job (such as rendering a short, animated video clip) to a job service, where the computation job specifies a particular application to execute, such as a renderer. Now, in order for a client to be able to submit a computation job it must first have an account open where the computation job is able to bill for services. Furthermore, it must have the resources of the computation job allocated to it via a resource allocator. In typical Grid scenarios, accounts are opened by Budget Holders (e.g. the manager of a research group), who then allow Account Users (e.g. the individual researchers planning and running jobs) access to the account so that they can allocate resources and run jobs charged to the account, etc. The main limitations of the current GRIA implementation are as follows: – Currently, the service interaction model is fixed as a static factory pattern. The business processes linking the Account Service, Resource Allocation and Job Service cannot be changed to fit local policies or business models. – The interactions between services are encoded through a shared state held within the services themselves. This means that services cannot exist in different domains. While it is entirely reasonable for the Resource Allocation service to be collocated with the Job Service that uses its resources, it should not be necessary for the Account Service also to be operated by the same domain. – There is no explicit description of the service interactions. This means that one cannot provide any external monitoring to detect any corruption of the services, which might become evident through some change in the interaction with them. 3 A Desired Scenario Consider the collection of services and service clients shown in Figure 1, which illustrates the example described above. In this figure, we represent the different web services involved, whereas the functional statements positioned above the arrows represent the methods that could be used to interact with the services on the right of the organisational boundary. Budget Holder open_account() get_status() get_statement() trust_user() untrust_user() trust_biller() untrust_biller() close_account() 1 Account Service 4 6 5 Client trust_biller() untrust_biller() request_resource() get_request_status() 2 Resource Allocation Service bill() start_job() get_status() get_results() 3 Job Service organisational boundary Fig. 1. Grid Interaction Example This scenario is based heavily on GRIA, but significantly simplified to make it clear and tractable enough for our purposes. However, in one way, Figure 1 is more sophisticated than the current GRIA implementation: some interactions that would be hidden in the “back office” within a GRIA deployment have been included in the service interfaces, so that we can construct a scenario in which the Account Service is not collocated with the Resource Allocation Service and the Job Service. The interactions between clients and services are as follows: – A Budget Holder is able to interact with the Account Service (1). It first requests the account to be opened and, once the account is active it can, amongst other actions, delegate or revoke access to the account by account users and allow billers to charge for their services to the account. – A Client is able to interact with the Resource Allocation service (2) so as to request access to a computation services. – Once a resource has been allocated, the Client can interact with the Job Service (3), requesting the computation to be run. – Before starting to run a job, the Job Service must be able to charge, or bill some entity for performing the job. The Job Service does this by getting a contextualised endpoint for the Account Service (4) representing an Account, and billing the Account for the job using an operation of the specified Account Service in the specified context. – The contextualised endpoint for billing the Account must be obtained from the Account Service. To get one, the Client must be authorised by the Budget Holder (5), who must call an operation of the Account Service (6) to inform it of the Client’s trusted status. – In the case where the account credit has run out, or the account has been closed, all Account Users should not be allowed to initiate any further resource allocations or jobs. However, it should still be possible for Billers to bill for any outstanding jobs remaining until the account has been properly cleared. In trying to describe these interactions, we must also take note of other more practical challenges. – Some interactions, such as the opening of an account, are lengthy processes that necessarily involve both online and offline actions. For example, an Account Manager may need to perform credit checks offline before approving a Budget Holder’s account. – It is likely that the Budget Holder and Client are behind opposed conventional firewalls. Bearing in mind that on the Grid, interactions may persist for a long time, this means all interactions must be initiated by clients, because if the services try to do so, their attempt may be blocked by the client-organisation’s firewall. This second point means that the interactions are one-sided, with clients polling services for the current status of the interaction where necessary. For example, a Budget Holder should be able to poll the Account Service to find out when their account has been approved, and the Client must poll the Job Service to find out when a job starts or terminates. In the context of an agent-oriented approach to modelling this scenario, we note that there are services that cannot initiate interactions. This is different to the more general agent models, in which agents are both proactive and reactive. 4 Semantic Firewall Our goal is to enhance security in a services-oriented environment whilst addressing the challenges and limitations described above. We aim to decouple services by providing well-defined interaction protocols, and eliminating the need for the services to deal with undesired messages by filtering out such messages at the organisational level. Furthermore, we want to provide network administrators with the ability both to allow flexible interaction with Grid services (something not possible using conventional firewall technologies) and to maintain careful control over those interactions. To achieve these goals, we introduce the notion of a security device which is able to reason about the current state of interaction between external services, and those services protected by the security device, and also to ensure that all messages sent to these services are consistent with the current state. We use the term Semantic Firewall (SFW) to describe the device since, as opposed to a normal firewall, it monitors traffic at the level of messages exchanged between web services and takes into account the context of interaction. It is important to emphasise that the SFW is only concerned with, and protects, the interests of the protected service, and thus does not require a global view of all the interactions taking place within the context of a client attempting to achieve a task in which the protected service is also involved. For example, in the above example, the SFW does not need to be aware of the interactions between the Budget Holder and the Client. The requirements for the SFW are divided into description and reasoning, and infrastructure requirements. The former refers to what we should be able to describe about the services and interactions between them and what type of reasoning we should be able to perform, while the latter refers to what the infrastructure should be able to do given the descriptions and reasoning over them. 1) Description and Reasoning Requirements Allowed Participants: The first step is for the SFW to have an appropriate set of descriptions of what entities are allowed to interact with protected services, and for the SFW to be able to appropriately identify the services attempting to communicate with protected services. In part, the solution involves the use of “conventional” security technologies such as PKI and X.509 for user authentication. However, beyond such technologies we must also look at the context of interaction and the intent of the interaction, which is an issue that the SFW, rather than lower-level security technologies, will handle. Allowed Interactions: Subsequently, based on who is attempting to interact, we require a description of a currently permissible interaction protocol. The possible interactions in a web services environment are based on the methods described within the WSDL (Web Services Definition Language)4 interfaces for each service. However, WSDL interfaces do not provide any information about permitted processes for any given instant. Instead, developers typically rely on documentation associated with the services to determine the appropriate process through which methods in the WSDL interface should be called. Our aim is to ensure that this process is adhered to, by providing the SFW with the descriptions of the process. Dependencies between parties: The SFW must be aware of the dependencies between interaction protocols for different parties. This includes both the manner in which actions from one party can limit what another party can do, and how actions from one party can enable another to interact with a protected service. 2) Infrastructure Requirements Transparent protection: The infrastructure should take into account the fact that the SFW should be invisible to services outside the protected domain. Whilst we may foresee a future situation in which several SFWs, each operating within a different organisational domain, play an active part in defining and supporting the context through 4 http://www.w3.org/TR/wsdl which services from those domains can interact, we must begin with the assumption that external services are not aware of the existence of such a device. Informing users on reasons for failure: In order for both system administrators and users to accept any actions taken by the SFW (such as rejecting messages, etc), the device should be able provide justifications about its actions, such as why an interaction was accepted or rejected. A clear trace of the reasoning of the device is necessary to achieve this requirement. 5 Electronic Institutions Given the set of requirements described in the previous section, an essential component is the existence of an interaction protocol and a means of defining the protocol and its dependencies. Although there are a variety of technologies that enable us to define interaction protocols (e.g. [11, 1]), as well as a significant amount of work on describing appropriate policies [15], what we require is something that take a more integrated view of the situation. In this regard, EIs are able to address several of the concerns raised above. Below we provide a brief overview of this work before moving on to describe how the concepts of Electronic Institutions can be mapped to those in GRIA, so as to provide appropriate descriptions that the SFW can use to monitor interactions. To define an EI, it is necessary first to define a common language to allow agents to exchange information, the activities that agents may perform within the institution, and the consequences of their actions. Our model of electronic institutions is thus based on four principal elements: a dialogical framework, a set of scenes, a performative structure and a set of normative rules [3, 10, 12]. The dialogical framework defines the valid illocutions that agents can exchange, and the participant roles and relationships. In the most general case, each agent that exists within in a multi-agent environment is endowed with its own inner language and ontology. In order to allow agents to successfully interact with others we must address the fundamental issue of relating their languages and ontologies to each other. EIs solve this problem simply by establishing acceptable illocutions, communication primitives and knowledge representation concepts through a common, well defined ontology (vocabulary) — the common language to represent the “world” — that all the agents adhere to. Moreover, the dialogical framework defines the participant roles within the EI and the relationships among them. Each role defines a pattern of behaviour within the institution, and any agent within an institution is required to adopt a subset of them. In the context of an EI, we distinguish between two types of roles, internal and external roles. The internal roles can only be played by what we call staff agents which are those pertaining to the institution. These are analogous to workers within human institutions. Since an institution delegates their services and duties to the internal roles, an external agent can never play an internal role. By sharing a dialogical framework, we enable the heterogeneous community of agents to exchange knowledge with each other. The set of possible activities within an electronic institution is defined by the composition of multiple, distinct, and possibly concurrent dialogic activities, where each activity involves different groups of agents playing different roles. For each activity, interactions between agents are articulated through agent-group meetings, which follow well-defined communication protocols; we refer to such meetings as scenes. Thus, all agent interactions that take place within an EI exist within the context of a scene. In addition, the protocols for each scene model the possible dialogic interactions between roles instead of agents; thus, scene protocols define patterns of multi-role conversation, and hence can be multiply instantiated by different groups of agents. A distinguishing feature of scenes is that they allow agents either to enter or to leave a scene at certain particular moments (states) of an ongoing conversation depending on their role. A scene protocol is specified by a directed graph, where the nodes represent the different states of the conversation, and the arcs are labelled with illocution schemes or timeouts that allow the conversation state evolve. Thus, at each point of the conversation, the EI defines what can be said, by whom and to whom. As we want the protocol to be generic, state transitions cannot be labelled by grounded illocutions. Instead, illocution schemes have to be used where, at least, the terms referring to agents and time must be variables, whilst other terms may be either variables or constants. Thus, the protocol is independent of concrete agents and time instants. Moreover, arcs labelled with illocution schemes can have some associated constraints which impose restrictions on the valid illocutions, and on the paths that the conversation can follow. While a scene models a particular multi-agent dialogic activity, more complex activities can be specified by establishing relationships among scenes, captured in the performative structure. In general, the activity represented by a performative structure can be depicted as a collection of multiple, concurrent scenes. Agents navigate from scene to scene, constrained by the rules defining the relationships among scenes. In order to capture the relationships between scenes, we use a special type of scene, known as transitions. Transitions allow the expression of agent synchronisation points (i.e. selection points where agents can decide which path to follow), or parallelisation points (i.e. where agents are sent to more than one scene). They can be seen as a type of router in the context of a performative structure. Moreover, the very same agent can possibly participate in multiple scenes at the same time. Likewise, there may be multiple concurrent instantiations of a scene, so we must also consider: 1) whether the agents following the arcs from one scene to another are allowed to start a new scene execution; 2) whether they can choose to join just one or a subset of the active scenes; or 3) whether they can choose to join all active scenes. A performative structure can be seen as a network of scenes in which their connections are mediated by transitions that determine the role flow policy. Finally, from the set of scenes, the initial and final scenes determine the entry and exit points of the institution respectively. In the context of an institution, agent actions have consequences, usually in the shape of compromises which impose obligations or restrictions on dialogic actions of agents in scenes in which they are acting (or will be acting in the future). Normative rules affect the behaviour of agents by imposing obligations or prohibitions. Note that we are considering dialogic institutions, and the only actions considered are the utterance of illocutions. Therefore, we can refer to the utterance of an illocution within a scene or when a scene execution is at a concrete state. The intuitive meaning of normative rules is that if illocutions are uttered in the corresponding scene states (and some predefined expressions are satisfied), then other illocutions satisfying other expressions must be uttered in the corresponding scene states. To summarise, the notions presented above define the regulatory structure of an EI as a “workflow” (i.e. performative structure) of multi-agent protocols (scenes) along with a collection of (normative) rules that can be triggered off by an agent’s actions (speech acts). Note also that the formalisation of an EI focuses on macro-level (societal) aspects, instead of on micro-level (internal) aspects of agents. This allows us to more easily map the concepts between Grid environments and EIs. Since no assumptions are made about internal aspects of agents, it is possible to define one-to-one mappings between actions (or services) provided by each agent, and web services defined within a Grid environment. 6 Using Electronic Institutions in GRIA Given the descriptions of the requirements for the Semantic Firewall in section 4 and the overview of the main Electronic Institution concepts in section 5, it is now possible to investigate how such concepts can be applied within the SFW. This is achieved by defining each scenario of interaction with the protected domain as an Electronic Institution. A scenario will typically be associated with a specific business model, such as described in Section 3. 6.1 Mapping GRIA Models to Electronic Institutions Services: Each service that is expected to interact in a well-defined scenario with a protected service is associated with a role within the electronic institution. External roles are used to represent services that are not protected by the SFW, whereas internal roles are used for the protected services. This allows us to clearly distinguish between those services that perform institutional services and that the SFW has a responsibility of protecting, and external services that may be providing the client with a service but do not form part of the institution. In our running example, the Account Service, Resource Allocation and Job Service occupy internal roles, whereas the Budget Holder and Client occupy external roles. Interactions and Business Process: The allowed interactions between services and the entire business process can be encoded as individual scenes within an EI. The participants in the scene are the relevant services, whilst the illocutions being uttered are mapped to the corresponding WSDL methods. In addition, in those situations where the SFW itself needs to be made aware of events that occur within protected services, it appears as a participant within a scene. To illustrate this, consider the case where a request is sent by a Budget Holder to close the account. In this case, the Account Service may still allow Billers to bill the account up to the point where the account has been settled (which may involve offline actions). When the account is finally closed, the SFW needs to informed about this closure explicitly by the Account Service, since EI Concepts GRIA Concepts Protected Services Internal Roles Outside Services External Roles Scene Service A WSDL Interface Client B Service C WSDL Interface GRIA Business Process + Business Rules Application Domain Concepts * Allowed Participants * Illocutions * Constraints EI Performative Structure + Normative Rules EI Ontology Fig. 2. Mapping GRIA concepts to EIs there is no illocution that will enable it to understand that. In this case the SFW is an active participant in the scene. The wider business process, with regards to a particular task and the protected services, is described by the performative structure of the electronic institution. This allows us to define the appropriate flow of roles between scenes as well as impose a particular process or workflow to the entire set of interactions with different parties. Cross-party dependencies: We have already mentioned that an important goal of the SFW is that of managing the dependencies between interacting parties. Returning to the example mentioned above, once a Budget Holder has requested that an account should be closed, access should be restricted to all clients associated with the closed account to prevent them from assigning other billers. Thus, an action within a scene that involves both the Budget Holder and the Account Service also has an implication on the permissible actions within scenes involving the Account Service and Clients. Within an EI, this can be modelled by defining a set of norms, to ensure that specific actions can hold only as long as some constraints hold true. Domain Ontology: The application domain concepts that are relevant to the interactions between protected and external services are encoded within the EI ontology. The ISLANDER editor supports the management of such ontologies, thereby facilitating the creation of mappings between the datatypes used within the EI definition and the datatypes used by the web service interface. 6.2 Semantic Firewall Core Modules Given the discussion of the mapping between the EI concepts and SFW concepts in the previous section, it is now proceed to address the structure of the SFW itself, illustrated in Figure 3. Semantic Firewall Modules Institution Authoring (ISLANDER) Institution Verification (ISLANDER+SimDEI) Institution Definition Store State Model Constraint Execution Evaluation (AMELI) Action Processor SFW Administration Auditing Event Processing Message Enforcement SFW Runtime Fig. 3. Semantic Firewall Core Modules The SFW has two main components: the Administration and the Runtime Environment. The SFW Administration deals tasks such as authoring, verification and storage of electronic institutions, whereas the SFW Runtime Environment is responsible for the verification of messages based on the electronic institution definitions. We discuss each of these in more detail below. Semantic Firewall Administration: SFW Administration is divided into three different modules: – Authoring: The ISLANDER tool provides a graphical interface to facilitate the definition of an institution. It allows for the definition of a common ontology, the performative structure and related scenes, as well as related norms. – Verification: For verification of the electronic institution, ISLANDER can provide verification of the structural properties while verification of the dynamic behaviour can be achieved through simulation in the SIMDEI tool [13]. – Storage: A verified definition of the SWF is stored in the Institution Definition Store for use by the SFW Runtime. Semantic Firewall Runtime: The SFW Runtime consists of several modules, and is primarily concerned with the verification of each message passing to protected services. – The Message Enforcement Module: This is responsible for receiving messages and dealing with all lower level issues, such as parsing the SOAP structure of messages and providing the relevant part of the message to the Action Processor, which performs the mapping between the WSDL message and the definition within the electronic institution. – The State Model Execution and Constraint Evaluation Modules: These modules are queried to determine whether the message is a valid one based on the electronic institution definition. This functionality can be provided by the AMELI run-time engine [5] which can directly accept a definition of an EI and can reason about what are the next allowable steps according to the definition. – The Event Processing Module: At the same time as the State Model Execution and Constraint Evaluation modules are being queried, the Event Processing module collects information sent by the protected services to the SFW, whenever that is appropriate as discussed earlier. – The Auditing Module: This module is responsible for keeping a record of the various actions so provide a trace as to why messages may have been rejected. 7 Evaluation Case Study In order to better illustrate the use of Electronic Institutions within the SFW, this section presents a case study which includes a description of the performative structure, followed by a simplified definition of the scene dealing with account management. Figure 4 illustrates the GRIA business process as an electronic institution’s performative structure. It contains a collection of scenes (represented as boxes) relating to each of the GRIA services5 . We differentiate between internal roles representing the GRIA protected services; in this case the services behind the organisation boundary as depicted in Figure 1, Account Manager (AM), Job Manager (JM), Resource Manager (RM), and Semantic firewall (SF); and external roles representing the GRIA external users, which include the Budget Holder (BH), Account User (AU), and Job User (JU). Agents playing these roles migrate from service to service after synchronising at transitions (represented by triangles). Access to services is controlled through several scenes (see Table 1). All these scenes are specified to realise a client-server model. Thus, for instance, when a JU agent 5 Note that the connections between scenes are labelled with the roles migrating from service to service along with agent variables that are expected to be bound to actual agent identifiers at run-time. Fig. 4. GRIA Performative Structure requires a job execution, it first synchronises with a JM agent that is continuously listening to agents’ requests at the JobServer scene. Thereafter, the two agents progress together through the transition to create a new execution of the JobExecution scene. Note that the scenes offering the GRIA protected services are specified so that they can be multiply instantiated, and thus serve multiple agents’ requests simultaneously. Note also that there are scenes (JobServer, ResourceServer, AccountServer, and AccUserServer particularly devoted to the listening functions of the agents playing the internal roles. Service Resource Allocation Service Job Service Accounting Service Service Offered through Scene ResourceAllocation Scene JobExecution Scene AccountCreation Scene AccUserMgt Scene AccManagement Scene Table 1. Various services offered through different scenes Next, we examine the AccManagement scene, illustrating how the specific interactions with services are managed. There are three participant roles in this scene, the Account Manager (AM) represented by the Account Service, the Budget Holder (BH) and the Semantic Firewall (SF). The boxes represent different states of the dialog, while the arcs between them represent possible illocutions. At W0 all roles are allowed to enter the scene. At this state the BH is allowed to request a statement of the account (arc 0), to which the AM can reply with a statement. In addition, the BH can request for the AM to trust a biller (arc 1), which the AM can either acknowledge positively (arc 2) or refuse (arc 5). If the request is accepted this will enable a Client, matching the criteria of the user that should be trusted to enter the institution and also assign billers to this account, as we discussed in Section 3. The BH can also request for an account to be closed (arc 4). This lead the scene to a state where the only thing the BH can do is request the status of the account and once the account has been closed, which as we already mentioned may involve offline actions, the SF is informed of this so that is can reflect this change on the allowed actions of other interested parties such as billers. Fig. 5. Account Management Scene 8 Conclusion In this paper we proposed a method for enhancing security within Grid environments by making use of Electronic Institutions to support the specification, verification and monitoring of permissible interactions within a protected (i.e. firewalled) environment. This is achieved though a dedicated device, the Semantic Firewall, which maintains a set of mappings between entities within Electronic Institutions and Grid Services. The Semantic Firewall facilitates the integration of agent technologies within a Grid environment, without requiring radical changes to the infrastructure or the way developers build Grid services. As such, this work represents a pragmatic example of how the worlds of Grid infrastructure and agent research can come together to provide effective solutions to the existing limitations for Grid infrastructure. The work described in this paper provides several avenues for further development. In the short-term, we can begin to define more flexible business models within GRIA, since we can take advantage of the flexible description and monitoring capabilities to ensure that they are adhered to. Subsequently, we can begin to examine how such institutions can be agreed upon at run-time between different organisations, where each protected by a Semantic Firewall. Finally, we must also begin to investigate the possibility of making deployment of services within a Grid environment more flexible by providing high-level definition of allowed processes (as EIs) which developers can then ensure they adhere to. 9 Acknowledgements This work was supported by the Engineering and Physical Sciences Research Council (EPSRC) Semantic Firewall project (ref. GR/S45744/01). References 1. R. Ashri, G. Denker, D. Marvin, M. Surrdige, and T. R. Payne. Semantic Web Service Interaction Protocols: An Ontological Approach. In S. A. McIlraith, D. Plexousakis, and F. van Harmelen, editors, Int. Semantic Web Conference, volume 3298 of LNCS, pages 304– 319. Springer, 2004. 2. K. Czajkowski, D. F. Ferguson, Foster I, J. Frey, S. Graham, I. Sedukhin, D. Snelling, S. Tuecke, and W. Vambenepe. The WS-Resource Framework. Technical report, The Globus Alliance, 2004. 3. M. Estena. Electronic Institutions: from specification to development. PhD thesis, Technical University of Catalonia, 2003. 4. M. Esteva, D. de la Cruz, and C. Sierra. ISLANDER: an electronic institutions editor. In The First Int. Joint Conf. on Autonomous Agents and Multiagent Systems, pages 1045–1052. ACM Press, 2002. 5. M. Esteva, J. A. Rodriguez-Aguilar, B. Rosell, and J. L. Arcos. AMELI: An agent-based middleware for electronic institutions pages 236-243, new york, usa, july 19-23 2004. In N. R. Jennings, C. Sierra, L. Sonenberg, and M. Tambe, editors, 3rd Int. Conf. on Autonomous Agents and Multi-Agent Systems, pages 236–243. ACM Press, 2004. 6. I. Foster. The Anatomy of the Grid: Enabling Scalable Virtual Organisations. In R. Sakellariou, J. Keane, J.R. Gurd, and L. Freeman, editors, 7th International Euro-Par Conference, volume 2150 of LNCS. Springer, 2001. 7. I. Foster, N. R. Jennings, and C. Kesselman. Brain meets Brawn: Why Grid and Agents need each other. In N. R. Jennings, C. Sierra, L. Sonenberg, and M. Tambe, editors, 3rd Int. Conf. on Autonomous Agents and Multi-Agent Systems, pages 8–15. ACM Press, 2004. 8. I. Foster and C. Kesselman. The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 2003. 9. I. Foster, C. Kesselman, J. M. Nick, and S. Tuecke. Grid Services for Distributed System Integration. IEEE Computer, 35(6):37–46, June 2002. 10. P. Noriega. Agent Mediated Auctions: The Fishmarket Metaphor. PhD thesis, Technical University of Catalonia, 1997. 11. S. Paurobally, J. Cunningham, and N. R. Jennings. Developing Agent Interaction Protocols Using Graphical and Logical Methodologies. In M. Dastani, J. Dix, and A. El FallahSegrouchni, editors, PROMAS, volume 3067 of LNCS, pages 149–168. Springer, 2003. 12. J. A. Rodriguez-Aguilar. Towards a Test-bed for Trading Agents in Electronic Auction Markets. PhD thesis, Technical University of Catalonia, 2001. 13. C. Sierra, J. A. Rodriguez-Aguilar, P. Noriega, M. Esteva, and J. L. Arcos. Engineering multiagent systems as electronic institutions. European Journal for the Informatics Professionall, 4, 2004. 14. S. Taylor, M. Surridge, and D. Marvin. Grid Resources for Industrial Applications. In 2004 IEEE Int. Conf. on Web Services (ICWS’2004), 2004. 15. G. Tonti, J. M. Bradshaw, R. Jeffers, R. Montanari, N. Suri, and A. Uszok. Semantic web languages for polic representation and reasoning: A comparison of kaos, rei and ponder. In D. Fensel, K. Sycara, and J. Mylopoulos, editors, Proceedings of the 2nd International Semantic Web Conference, volume 2870 of LNCS, pages 419–437. Springer, 2003. 16. S. Tuecke, K. Czajkowski, I. Foster, J. Frey, S. Graham, C. Kesselman, T. Maguire, T. Sandholm, D. Snelling, and P. Vanderbilt. Open grid services infrastructure. Technical report, Global Grid Forum, 2003. 17. M. J. Wooldridge and N. R. Jennigns. Software engineering with agents: Pitfalls and pratfalls. IEEE Internet Computing, 3(3):20–27, 1999.