04.03.2014 Views

The IPSI BgD Transactions on Internet Research - Welcome

The IPSI BgD Transactions on Internet Research - Welcome

The IPSI BgD Transactions on Internet Research - Welcome

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

including placeholders and references to<br />

templates to the hyperlinks. It introduces the<br />

access sequence number that tracks a user’s<br />

access, which is incremented each time the user<br />

of the current sessi<strong>on</strong> accesses a XHTML<br />

document or its XML/XAL equivalence through a<br />

hyperlink. This paper also introduces the<br />

algorithm for a generic Comm<strong>on</strong> Gateway<br />

Interface (CGI) script, implemented in the Perl<br />

language, that handles the events of the access<br />

through hyperlinks. This paper uses a database<br />

managed by a Relati<strong>on</strong>al Database Management<br />

System (RDBMS) to track and update the access<br />

sequence number. Hoffer et al. [7] covers the<br />

RDBMS technology. This paper presents <strong>on</strong>e<br />

c<strong>on</strong>crete example for the implementati<strong>on</strong> that an<br />

XHTML document or its XML/XSL equivalence<br />

for a company’s ph<strong>on</strong>e directory is listed through<br />

a hyperlink <strong>on</strong> the company’s intranet home<br />

page. In this paper, after the encrypti<strong>on</strong> method<br />

is applied to the hyperlink reference, two<br />

scenarios will be discussed. <str<strong>on</strong>g>The</str<strong>on</strong>g> first scenario is<br />

that a valid user accesses the ph<strong>on</strong>e directory<br />

through the hyperlink and gets through. <str<strong>on</strong>g>The</str<strong>on</strong>g><br />

sec<strong>on</strong>d scenario is that an outside intruder<br />

attempts to access the ph<strong>on</strong>e directory and is<br />

denied the access.<br />

2. SECURITY ARCHITECTURE FOR WEB OBJECTS<br />

Figure 1 describes an object model for a client<br />

machine that hosts a web browser applicati<strong>on</strong>,<br />

which accesses web or XML documents <strong>on</strong> web<br />

servers in a company’s intranet or the <strong>Internet</strong>.<br />

<str<strong>on</strong>g>The</str<strong>on</strong>g> rest of this paper c<strong>on</strong>siders a web page or<br />

an XML document as an object instance of the<br />

WebDocument object class. For an ease of<br />

discussi<strong>on</strong>, this paper c<strong>on</strong>centrates the<br />

discussi<strong>on</strong> <strong>on</strong> web pages up to Secti<strong>on</strong> 5.<br />

Discussi<strong>on</strong>s <strong>on</strong> XML documents will follow <strong>on</strong><br />

Secti<strong>on</strong> 6.<br />

When the browser requests a web page from a<br />

web server, the web server downloads the web<br />

page to the client machine to be rendered by the<br />

browser and displayed to the user.<br />

In object-oriented terminology, a relati<strong>on</strong>ship<br />

am<strong>on</strong>g object classes is called an associati<strong>on</strong>.<br />

Binary associati<strong>on</strong>, the associati<strong>on</strong> between two<br />

classes, is the most comm<strong>on</strong> <strong>on</strong>es. In some<br />

cases, an object class may be associated with<br />

itself due to that it has two roles, for example, a<br />

pers<strong>on</strong> class that models a company’s workers<br />

may have two roles: manager and employee.<br />

Such an associati<strong>on</strong> is called the unary<br />

associati<strong>on</strong>.<br />

Figure 1 shows examples of binary<br />

associati<strong>on</strong>s. One of them is the associati<strong>on</strong><br />

between the WebServer class and the<br />

WebDocument class. Figure 1 also shows<br />

examples of unary associati<strong>on</strong>s. One of them is<br />

the associati<strong>on</strong> between web pages that c<strong>on</strong>tain<br />

4<br />

instances of the XHTML anchor tag for hyperlink:<br />

, referred as the link source, and<br />

the web pages identified by the web address’ url,<br />

referred as the link target. For each web page as<br />

an instance of the WebDocument class, there<br />

may be zero or more hyperlinks c<strong>on</strong>tained<br />

therein. Each web page may also be referred to<br />

as link reference by zero or more web pages.<br />

Figure 1 shows the multiplicity reflecting the<br />

many-to-many associati<strong>on</strong>. For a many-to-many<br />

associati<strong>on</strong>, it is necessary to create an<br />

associati<strong>on</strong> class to correctly model the<br />

associati<strong>on</strong> because there may be attributes that<br />

bel<strong>on</strong>g more appropriately to the associati<strong>on</strong><br />

rather than to the WebDocument class. <str<strong>on</strong>g>The</str<strong>on</strong>g><br />

associati<strong>on</strong> class is depicted as SecurityWrapper<br />

in Figure 1. This associati<strong>on</strong> class may model<br />

security methods such as encrypti<strong>on</strong> and<br />

database management system (DBMS) facilities<br />

for the web pages. Blaha et al. [2] discusses in<br />

detail the associati<strong>on</strong> class.<br />

ClientHost<br />

+netSource<br />

SecurityNode<br />

0..*<br />

Serve<br />

0..*<br />

0..*<br />

NetworkMachine<br />

0..* +netTarget<br />

0..* +linkSource<br />

WebDocument +linkReference<br />

0..*<br />

0..*<br />

Store<br />

1<br />

WebServer<br />

Access<br />

ReferTo<br />

1..*<br />

0..*<br />

MiddleTierMachine<br />

+midTierTarget<br />

Database<br />

Server<br />

SecurityWrapper<br />

Figure 1. Object Model for the Security Architecture<br />

<str<strong>on</strong>g>The</str<strong>on</strong>g> communicati<strong>on</strong> protocol between the client<br />

machine and the web server is HTTP. Data<br />

packets are transmitted between the client and<br />

server through network machines, which are<br />

modeled as the object class NetworkMachine in<br />

Figure 1. Examples of the network machines are<br />

hubs, switches, routers, domain name servers,<br />

and so <strong>on</strong>. A network machine may transmit<br />

data packets to many other network machines.<br />

C<strong>on</strong>versely a network machine may also receive<br />

data packets transmitted from many other<br />

network machines. So this associati<strong>on</strong> is a many<br />

to many unary associati<strong>on</strong>. From the same<br />

reas<strong>on</strong> stated above, it is necessary to create an<br />

associati<strong>on</strong> class for this many-to-many<br />

associati<strong>on</strong>. This associati<strong>on</strong> class may model a<br />

security node that enforces security for data<br />

transmissi<strong>on</strong> depicted as SecurityNode in Figure<br />

0..*<br />

+midTierSource<br />

0..*<br />

MidTierSecurity

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

Saved successfully!

Ooh no, something went wrong!