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

Create successful ePaper yourself

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

Such protocols and tools are parts of the<br />

implementati<strong>on</strong>s of the middleware c<strong>on</strong>cept.<br />

Chang [3] discusses similarities am<strong>on</strong>g<br />

implementati<strong>on</strong>s of the middleware.<br />

<str<strong>on</strong>g>The</str<strong>on</strong>g> associati<strong>on</strong> class SecurityWrapper may<br />

model any security feature that secures the<br />

implementati<strong>on</strong> of the associati<strong>on</strong> between the<br />

group of instances of WebDocuments with link<br />

source role and the group of instances of<br />

WebDocuments with link target role. This paper<br />

proposes the additi<strong>on</strong> of an encrypti<strong>on</strong> wrapper<br />

to the URL address in the XHTML anchor tag as<br />

the security feature. <str<strong>on</strong>g>The</str<strong>on</strong>g> encrypti<strong>on</strong> is<br />

implemented in CGI programs written in the Perl<br />

language. <str<strong>on</strong>g>The</str<strong>on</strong>g> key for the encrypti<strong>on</strong> is<br />

generated randomly. After its generati<strong>on</strong>, its<br />

value is maintained in a database table. <str<strong>on</strong>g>The</str<strong>on</strong>g><br />

remaining secti<strong>on</strong>s of this paper describe this<br />

implementati<strong>on</strong>.<br />

4. SESSION ID<br />

<str<strong>on</strong>g>The</str<strong>on</strong>g>re are in general two types of access to<br />

web documents. <str<strong>on</strong>g>The</str<strong>on</strong>g> first type is a viewing of<br />

static web page; for example, reading a<br />

newspaper article <strong>on</strong> <strong>on</strong>e of the web site of a<br />

newspaper company. In this case, a reader<br />

simply browses over the static web pages. <str<strong>on</strong>g>The</str<strong>on</strong>g><br />

web server does not need to know the<br />

identificati<strong>on</strong> of the reader and hence does not<br />

need to maintain a sessi<strong>on</strong> with the reader. <str<strong>on</strong>g>The</str<strong>on</strong>g><br />

sec<strong>on</strong>d type is transacti<strong>on</strong> oriented, that is, a<br />

user interacts with the web page by providing<br />

input data for a period of time; for example, doing<br />

<strong>on</strong>line shopping through an implementati<strong>on</strong> of the<br />

shopping cart design. In this case, a user needs<br />

to provide input to multiple web pages. <str<strong>on</strong>g>The</str<strong>on</strong>g> web<br />

server needs to know an identificati<strong>on</strong> of the user<br />

and hence needs to maintain a sessi<strong>on</strong> with the<br />

user.<br />

A web server maintains two envir<strong>on</strong>ment<br />

variables associated with the client:<br />

REMOTE_HOST and REMOTE_PORT. <str<strong>on</strong>g>The</str<strong>on</strong>g><br />

former c<strong>on</strong>tains the IP address of the client<br />

machine and the latter c<strong>on</strong>tains the port number<br />

used by the client machine to communicate with<br />

the web server.<br />

Assume that a user uses a desktop or laptop<br />

pers<strong>on</strong>al computer to access web documents <strong>on</strong><br />

a web server. <str<strong>on</strong>g>The</str<strong>on</strong>g> combinati<strong>on</strong> of<br />

REMOTE_HOST, REMOTE_PORT, and the web<br />

server system time at the first instance of access<br />

uniquely identifies the sessi<strong>on</strong> for the user. From<br />

now <strong>on</strong> this paper c<strong>on</strong>siders a sessi<strong>on</strong> id to be of<br />

the format: ipAddress-portNumber-timestamp,<br />

where ipAddress is the value of<br />

REMOTE_HOST, portNumber is the value of<br />

REMOTE_PORT, and timestamp is the system<br />

time <strong>on</strong> the web server. This paper addresses an<br />

approach that when a user logs <strong>on</strong> to a web page<br />

6<br />

to start a sessi<strong>on</strong>, the login CGI script generates<br />

a sessi<strong>on</strong> id as was just described and a sessi<strong>on</strong><br />

key to be used as the encrypti<strong>on</strong> key.<br />

5. PLACEHOLDERS AND ENCRYPTION<br />

In many cases, intranet users attempt to log<br />

into their intranet web sites from remote locati<strong>on</strong>s<br />

outside their working facilities through the<br />

<strong>Internet</strong>. In resp<strong>on</strong>ding to a client request for a<br />

user’s login, after authenticating the user, a CGI<br />

script generates a home web page c<strong>on</strong>taining<br />

welcoming informati<strong>on</strong>, which may possibly<br />

include hyperlinks.<br />

A scenario is that the home web page named,<br />

say, index.html in a company’s intranet web site<br />

includes a hyperlink to the employee ph<strong>on</strong>e<br />

directory as shown in Figure 2.<br />

Ph<strong>on</strong>e Directory<br />

Figure 2. Hyperlink to the web page for Ph<strong>on</strong>e Directory<br />

<str<strong>on</strong>g>The</str<strong>on</strong>g> ph<strong>on</strong>e directory may be a static XHTML<br />

file stored <strong>on</strong> the web server. Thus, if a user<br />

successfully logs <strong>on</strong> the company’s intranet web<br />

site, the user can freely access the ph<strong>on</strong>e<br />

directory through the hyperlink. Inductively, the<br />

user can freely access any static XHTML file that<br />

is referenced by a hyperlink <strong>on</strong> the web page that<br />

the user is currently <strong>on</strong>. As was menti<strong>on</strong>ed in<br />

Secti<strong>on</strong> 4, the IP address of the client machine<br />

and the port number used by the client machine<br />

are c<strong>on</strong>tained in the two envir<strong>on</strong>ment variables:<br />

REMOTE_HOST and REMOTE_PORT,<br />

respectively. If the values for these two variables,<br />

which form the sessi<strong>on</strong> id, are intercepted <strong>on</strong> the<br />

<strong>Internet</strong> by an intruder, the intruder can<br />

c<strong>on</strong>ceivably at least get <strong>on</strong>to the company’s<br />

intranet web site and access all static XHTML<br />

files that are referenced by hyperlinks in the<br />

intranet home page.<br />

Ph<strong>on</strong>e Directory<br />

Figure 3. Hyperlink in index.html with Placeholders<br />

This paper presents an encrypti<strong>on</strong> algorithm<br />

that adds an extra layer of security that protects<br />

an important Web object such as the hyperlink in<br />

Figure 2. An implementati<strong>on</strong> code for this<br />

algorithm is available from the author up<strong>on</strong><br />

request. From this code, the decrypti<strong>on</strong><br />

algorithm can be derived. This paper’s goal is<br />

using an algorithm that is effective, but not very<br />

complex and thus does not add too much<br />

overhead to the processing time.<br />

This paper first proposes to replace the

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

Saved successfully!

Ooh no, something went wrong!