The IPSI BgD Transactions on Internet Research - Welcome
The IPSI BgD Transactions on Internet Research - Welcome
The IPSI BgD Transactions on Internet Research - Welcome
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