
2.2 The server authentication
Not only must the client identify itself, but also the server. Because the application of
VEL is very complex, a part of it is executed on the client machine. For this reason, a
Java Applet has been chosen as solution. Within it several computing operations are
performed on the client part. In this way, we can reduce the network traffic, because
instead of sending multiple requests to the server for different manipulation of data,
we can receive the data in the Java Applet client and then all the wanted actions
regarding that set of data can be done locally, without any new request to the server.
But this facility offered by the applet raises another issue. The Java Applet, being
capable to execute commands on the client machine can executed unwanted
commands in order to harm the client's computer.
Because of this potential problem, an applet is not allow to perform freely, but
instead it is subject to a so-called “sandbox”, that is a delimited set of permitted
actions, anything else outside this sandbox not being available for execution. Among
the actions prohibited are accessing client's files, opening channels of
communications to other computer than that where the Applet originated etc.
However, if an application really needs to access some resources on the client
machine, such as the file system, the printer etc., there is a mechanism through which
this can be accomplished. This mechanism is called “Applet signing”. By signing it,
an applet requires at its initialization the acceptance from the user to execute actions
outside the sandbox[2].
Therefore, when one loads into a browser a Java Applet, he must know who the
server is in order to make a clear judgment about if he trusts it or not to let it run
commands on his computer. That brings us to the server authentication matter. For
this very reason a server must be able to identify itself in order to make the client trust
that it is who it claims it is and allowing the clients deciding if they trust it or not. In
this way, a third party server cannot claim to be someone else for deceiving the users
and running malicious code on their machines.
2.2.1 Certificates
The first thing in authentication is the creation of a certificate that describes the entity
of the claimer. It is made of the main details of the entity: name of person, company
name, department name, location, country. This would be the equivalent of an ID of a
person in the real world.
Now, this certificate must be authenticated by some authority in the domain, the
same way, in the real world, an ID or a driving license is issued by an authority. In
case of digital signing, there are some companies like DeutschePost, Thawte, Verisgn
or Ecquifax each one known as Certificate Authority. These companies are entitled to
validate those certificates by priorly verifying the credentials of the claimer. Then, it
applies its own signature over the entity's certificate, thus validating it.
137