27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

component are properly labeled with security levels. The<br />

component enforces the multilevel security policy<br />

internally so that security mechanisms are i ntended to<br />

provide secure access c ontrol. This technique is<br />

developed for a single security model, so it is restricted to<br />

access control. Other security features are not taken into<br />

account.<br />

Deng et. al. [3] proposed a methodology to m odel<br />

secure software architectures and verify whether required<br />

security constraints are assured by t he composition of<br />

components of the system. This approach introduces<br />

security constraint patterns, which specify the se curity<br />

policies that the security syste m must enforce. However,<br />

this approach is lacking focus on what type and fo rm of<br />

security policies should be used in a give n context and<br />

how to im plement them in a system d esign. The<br />

components are considered the central units for assembly<br />

and deployment. Interactions between components are<br />

captured in component interfaces.<br />

Using connectors as the central construct, a distributed<br />

software architecture in [4] is com posed of a set of<br />

components and a set of connect ors that can be used to<br />

connect the components. The Unified Modeling Language<br />

(UML) [10, 11] is used to describe the com ponent<br />

interconnection patterns for synchronous, asynchronous<br />

and brokered communications. Though different kinds of<br />

connectors are proposed in [4], t here are no<br />

considerations for en forcing security in to these<br />

connectors. The message communication via the<br />

connectors between components is not secure.<br />

In [5], a connector centric approach is used to model,<br />

capture, and enforce security. The security characteristics<br />

of a software architecture are described and enforce d<br />

using software connectors. An e xtensible architecture<br />

security contract specified by components is regulated<br />

and enforced by connectors. Connectors can decide what<br />

principals can e xecute the connected components. But,<br />

this approach models only access control as a security<br />

concern. The security properties like confidentially, nonrepudiation<br />

and integrity are not taken into account.<br />

Aspect-oriented design (AOD) techniques in [6] are<br />

used to encapsulate security concerns in complex systems.<br />

Different security concerns are modeled as aspects that<br />

can be woven into models of essential functionality. The<br />

mechanisms required to protect against attacks are used to<br />

identify the needing aspects and the strategy for weaving<br />

them into a design. There ar e many benefits of t reating<br />

security concerns as aspects during design m odeling, but<br />

this approach requires s oftware engineers to know<br />

knowledge of aspect-oriented design.<br />

In earlier work by the aut hors [7], an approach is<br />

described to model complex applications by m odeling<br />

application requirements and designs separately from<br />

security requirements and designs using the UML<br />

notation. Security requirements are captured in security<br />

use cases and encapsulated in security objects. When a<br />

system requires security serv ices, security use cases are<br />

extended from the non-secure business use case at<br />

extension points. However, [7] paid relatively less<br />

attention to secure application architecture where security<br />

requirements can be m apped to a sec ure software<br />

architecture.<br />

In later work by the aut hors [8], an approach is<br />

described for modeling the evolution of a non-secure<br />

application to a secure application in term s of a<br />

requirements model and a software architecture. In the<br />

software architecture, security services a re encapsulated<br />

in connectors separately from components. The sec urity<br />

services are activated if the security requirement<br />

conditions are satisfied. However, this approach does not<br />

offer various secure connectors that are used for different<br />

communication patterns and security services.<br />

3. Secure Connectors<br />

The software architecture [14, 15] for concurrent a nd<br />

distributed applications can be designed by m eans of<br />

components and connectors. The components address the<br />

functionality of an application, whereas connectors deal<br />

with communication between components. Each<br />

component defines application business logic that is<br />

relatively independent of th ose provided by other<br />

components. A component may request ser vices from<br />

other components, or provide services to them through<br />

connectors. A connector acts on behalf of components in<br />

terms of com munication between components,<br />

encapsulating the det ails of i nter-component<br />

communication.<br />

Separately from application com ponents, security<br />

services can be encapsulated in connec tors between<br />

components in the software architecture for concurrent<br />

and distributed applications [8]. The original role of<br />

connectors in the software architecture is t o provide the<br />

mechanism for m essage communication between<br />

components [14, 15]. However, in this paper, the role of<br />

connectors is extended to security by adding security<br />

services to the connectors, which are referred to as secure<br />

connectors. Secure connectors are designed by<br />

considering both the security serv ices required by<br />

components and the type of message communication<br />

required between the components.<br />

The security services provided for components are<br />

confidentiality, integrity, non-repudiation, access control,<br />

and authentication, as follows:<br />

Confidentiality security service, which prevents<br />

secret information from being disclosed to any<br />

unauthorized party, can be achieved by secu re<br />

connectors encapsulating cryptosystems.<br />

Integrity security service, which protect s against<br />

unauthorized changes to sec ret information, can be<br />

performed by secure connectors using message digest<br />

(MD) or message authentication code (MAC) [13].<br />

395

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!