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.

Connectors for Secure Software Architectures<br />

Michael E. Shin,<br />

Bhavya Malhotra<br />

Department of Computer Science<br />

Texas Tech University<br />

Lubbock, TX 79409-3104<br />

{michael.shin;<br />

bhavy.malhotra}@ttu.edu<br />

Hassan Gomaa<br />

Department of Computer<br />

Science<br />

George Mason University<br />

Fairfax, VA 22030-4444<br />

hgomaa@gmu.edu<br />

Taeghyun Kang<br />

Department of Computer<br />

Science<br />

Texas Tech University<br />

Lubbock, TX 79409-3104<br />

th.kang@ttu.edu<br />

Abstract<br />

This paper describes secure software connectors<br />

encapsulating security services, which are designed<br />

separately from application business components in<br />

software architectures for business applications. Secure<br />

connectors provide application business components with<br />

security services when these components need the<br />

services. Each secure connector is structured with<br />

security relevant objects associated with security services<br />

that are needed to make software applications secure. In<br />

this paper, secure connectors are designed for different<br />

types of communication, such as either synchronous or<br />

asynchronous communication, as well as for different<br />

security services, such as authentication, authorization,<br />

confidentiality, integrity, and non-repudiation. Secure<br />

connectors can make complex applications more<br />

maintainable by separating security concerns from<br />

application concerns in the software architectures. Secure<br />

connectors are applied to the software architecture of an<br />

e-commerce application.<br />

1. Introduction<br />

With the widespread use of internet technologies, the<br />

threats to software applications are increasing day by day.<br />

It has become essential to design secure software<br />

architectures for applications to counter potential threats.<br />

The software architecture can be composed of<br />

components and their connectors in which connectors<br />

encapsulate the details of comm unication between<br />

components. However, mixing security concerns with<br />

business concerns in s oftware architectures makes<br />

applications more complex. Therefore designing security<br />

concerns separately from the busi ness concerns would<br />

make the applications more maintainable.<br />

Several approaches have been de veloped to design<br />

secure applications by means of separation of concerns in<br />

software development. Most of t he approaches have<br />

focused on m aking application business components<br />

secure so that the components perform security services.<br />

But less attention has been paid to connectors, which can<br />

provide security serv ices for application business<br />

components. Security concerns can be encapsulated in<br />

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

connectors, separately from application com ponents<br />

containing application business logic.<br />

This paper describes the secure connectors that are<br />

used to design the software architectures for secure<br />

applications. The secure connectors are de signed<br />

separately from application busine ss components by<br />

considering different communication patterns between the<br />

components as well as security services required by<br />

application components. Each sec ure connector<br />

encapsulates security rele vant objects to provi de<br />

application components with security services. Once<br />

secure connectors are m ade, they can be reused for<br />

different applications if they match both the required<br />

security services and re quired communication pattern<br />

between application components. In this paper, secure<br />

connectors are applied to the software architecture of an<br />

e-commerce application.<br />

This paper is organized as follows. Section 2 prese nts<br />

existing approaches to implementing security concerns in<br />

software applications syste ms. Section 3 desc ribes the<br />

secure connectors for synchronous and asynchronous<br />

communication between application components. Section<br />

4 concludes this paper.<br />

2. Related Work<br />

Related work focuses on approaches to d esigning<br />

software architectures for secure applications.<br />

Banerjee et. al. [1] identified s everal critical<br />

dimensions of software security and related them to the<br />

building blocks of software architecture. The critical<br />

dimensions for a se cure software system are<br />

authentication, access c ontrol, confidentiality, integrity,<br />

availability and non-repudiation. The software<br />

components, connectors and their confi gurations are t he<br />

architectural building blocks, which can be customized to<br />

enforce the security dimensions. However, no f ormal<br />

methodology has been specified in [1] t o inject security<br />

into software architecture.<br />

The security mechanisms are formalized and<br />

embedded directly into the soft ware architecture via<br />

components in [2]. A component in [ 2] incorporates<br />

multilevel security, in which input and output of that<br />

394

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

Saved successfully!

Ooh no, something went wrong!