• Add a new topic
• Edit a topic
• Edit access rights to topic
• Users list
• User detail & editation
• Find user
• Roles list
• Change user details
• Role detail & editation
• Users in role
• Edit rights to use case
• Access statistics
• View application log
Each use case is provided with the name of its
main file (an access point) and the code – this
information is used by the access rights resolving
module.
As you can see from the list, the library
construction process is not a task for one afternoon.
Each functionality depicted in the table has from
several hundred to several thousand lines of program
code (and thus took from several tens to several
hundreds hours to implement). Of course, DILLEO
hasn’t been implemented by a single person – it is
collective work of a number of people, including
university students. For more information about
implementation process please see the section 4.
Although DILLEO has provided wide range of
features, it hasn’t been completely finished yet. As
in any other complex information system, there are
still areas in which it can be improved and
optimized. New requirements vary from the minor
user interface modifications to the changes with the
impact to the system internal architecture. All
requirements become registered and are going to be
dealt with in the following iterations of
implementation process.
3 SECURITY: HIDDEN BUT
IMPORTANT
This chapter reveals important decisions that are
connected with the overall security of the DILLEO
library.
Our digital library is an application connected to
internet and thus accessible by any internet user. All
library functions including administration are
technically accessible from any computer on the net.
Therefore there is a strong need for secure
mechanism how to distinguish users from each other
and provide a mechanism to reveal only the
functions that are relevant for that user. The security
is guaranteed on two different levels:
• general security, referred also as
infrastructure security provides the
common HW and SW infrastructure for
securing the internet application
• application security, referred also as
internal security, which provides
authorization to functionalities inside
the application.
3.1 General Security
As the basic protection element the communication
encryption (using HTTPS/SSL protocols) has been
used. Digital library is always accessed from the
web, every user, including librarians and
administrators, logs into library by entering his/her
credentials – username and password, which become
during the authentication process sent from the client
computer to the server. By eavesdropping on the
communication and extracting the credential
information a malicious user would gain a complete
access to the library with the access rights of the
communicating user. Thanks to the communication
encryption, such attack is near to impossible.
Usernames and passwords are stored in the
library’s persistent data structures – in database
tables of MS SQL Server 2000. The server’s security
is guaranteed by the security policies of the
institution – in our case University of Hradec
Králové. Rights to fully access data on the server are
given only to network administrators and the special
“virtual” user the library application uses for the
connection to database server, so the attacker
shouldn’t be able to read the library data, unless he
or she breaks into one of these accounts or exploits
some of the possible security holes in the operation
system. However, the library does not rely on such
premises and enhances the security even further – all
passwords in the database are not stored in the
readable plaintext, but in the hash form. For hashing
the MD5 one-way digest algorithm has been used.
The reconstruction of the plaintext password from
the hashed value is very hard (one has to try all the
possible combinations using brute-force). Even if the
attacker gets as far as he/she is able to read the data
in the database, it wouldn’t be much help for getting
the credentials for logging-in into the library system.
3.2 Application Security
From the business point of view, the most important
security element is the authorization to objects.
When submitting object to library, the author (or
distributor) often doesn’t want it to be accessible for
download for all internet users. Usually, the author
DIGITAL LIBRARY: DESIGN AND SECURITY CONSIDERATIONS
297