Data Protection
Data Protection
Tedo Vrbanec, B. S.
Teacher training college Čakovec
Dr. Ante Starčevića 55, 40000 Čakovec, Croatia
e-mail: [email protected]
1. INTRODUCTION
1
aim is the safe message transfer, unambiguous and protected from any modifications,
disappearance and unauthorised use.
The payment mode itself – physical form of money –became the obstacle to the new management
type, but not for long. Various electronic payment modes have been developed. Yet, electronic
cash flow in the form of electronic information between two sides that communicate by means of
the Internet enables the third party to monitor it and possibly misuse it. Transaction participant’s
authenticity check, as well as protection by encryption, has been carried out in order to prevent
such undesired activities. Encryption is based on different cryptographic algorithms and
mechanisms, as well as on the higher-level protocols developed particularly for electronic data
protection and transaction participant’s privacy. Privacy and authenticity are the basic
characteristics of the potential electronic payment system.
User identification and authentication is a prerequisite for introduction of any protection system. All
protection measures we can think of don’t make any sense if there is a possibility of false
identification and logging in the system. The protected system has to authenticate every user and
on that basis allow or not allow certain actions within the system regarding the previously defined
rights.
2
packages coming from the known resource will be let through, while for the others the access will
be denied. The access control is carried out in the following ways:
• incoming message filtration;
• control of all communications towards intranet – permission to establish communication
granted only to particular computers;
• hiding of the complete intranet, so the outgoing messages are given different addresses.
Proxy firewall devices are mediators between two devices, which communicate through the firewall.
They interrupt the flow on one side, protect proxy services and open the flow to the other side of
the firewall device.
Network intrusion detection device
These devices are relatively unknown. Their task is to detect network intrusion and to alarm the
administrator in case of the suspicious actions within the network. There are two kinds: Anomaly
detection devices use statistical methods for anomaly detection within the network. In case an
anomaly is detected, the system administrator is alarmed and all activities recorded in the log.
Misuse detection devices use patterns for detection. They take network traffic patterns and
compare the suspicious patterns with the already stored common dangerous activities. Since new
intrusion kinds appear now and then, frequent upgrades are necessary. So, it can be compared to
anti virus program activities.
3
There are three kinds of cryptographic algorithms:
• Symmetric algorithms
o the same public key is used for encryption and decryption of data/messages or seals
o it is used for data transfer because of its speed
• Asymmetric algorithms (public key algorithms)
o two different keys, public and secret key, are used for encryption and decryption
o public key can be known to everyone, it is used for key, certificate and permit
exchange.
• Irretrievable (hash) algorithms
o there is only the encryption key, while there is no decryption and it is impossible to
perform it in real time.
o it is mainly used when changing base keys into dialogue ones.
4
Only one side in communication knows the secret key, which makes the encrypted message very
safe. The whole process is based on the factorisation of big numbers because the time needed by
an unauthorised user for message encryption by means of the “trial and error” method is
unacceptable. Simplified, the algorithm for generating public and secret keys is performed in the
following way: Two big prim numbers A and B are selected, each of them of more than 100 digits.
N is the product of their multiplication. A relatively simple number E is selected in relation to (A-
1)(B-1) and number D=(E-1)mod ((A-1)(B-1)) is calculated. The pair (E,N) represents the public
key, while (D,N) is the secret one. Numbers A and B are not important for the encryption process
itself, but it is essential for them to stay secret because number D is based on them. The source
message is then divided into a sequence of whole numbers mi from the interval 0 to (n-1). A certain
number of messages are encrypted according to the formula ci=miemod n, and decrypted according
to mi=cidmod n.
PGP algorithm (Pretty Good Privacy)
It is the asymmetric encryption, which uses a public and a secret 64-bit key. Because of the
security level it offers it is used in a lot of Internet business applications among which electronic
trade, electronic banking, electronic stock markets etc. Its disadvantage is slowness of encryption
and decryption, so it is used for sending smaller data quantities.
Diffie-Hellman algorithm
This asymmetric algorithm is most commonly used for key exchange. If the keys are long enough
as well as a good random number algorithm it can be considered as safe. It is based on the
logarithm function features.
5
the electronic signature, and if the messages he compares are identical, the receiver can be sure
that the message hasn’t been altered during the transmission. In the world of computers electronic
signature has the same role as in the everyday world – to confirm the authenticity and accuracy of
the message. If we want the signature to be really authentic it has to identify only one particular
person. It can be achieved if it is encrypted and illegible to the third party in communication, and it
is possible by using a sequence or a union of cryptoagorithms. The most common form is the
combination of the MD5 hash algorithms and RSA asymmetric cryptosystem. The sent message is
encrypted with a hash algorithm to get a digest. The digest is further encrypted with the RSA
algorithm by using a secret key and the result you get is an electronic signature. When receiving a
message the signature is separated from the message. A public key decrypts the signature and the
message goes through the same hash algorithm as before it had been sent. The digest you get is
compared with the decrypted signature and confirms the authenticity if they are identical.
According to what is needed to achieve, there are three kinds of electronic signatures: for contents
authentication, for user identification, or for both. Different combinations of cryptographic algorithms
and functions are used at it.
Contents authentication
In this case electronic signature is needed because it will help the message receiver to establish if
the message has or hasn’t been changed. At this point we are not interested in its secrecy.
Regarding this, as well as the authentication speed of a large number of messages, simple one-
way hash functions are used and they function as a unique digest. A secret key encrypts the
digest.
User identification
Previously described kind of electronic signature often is not satisfactory, because it doesn’t keep
the message secrecy, and there is still a possibility for the user to deny his sending the message.
Provided the requirements are higher, a symmetrical algorithm encrypts the complete message,
which mean that both sides included in a conversation are familiar with the unique secret key.
When the receiver decrypts the signature, he will get the sender’s identification. It is important to
mention that there is also a server, trusted by everyone, which contains a secret key base.
Contents authentication and user identification
For the complete data content protection, both message and user authentication and user
identification are needed. In that case a combination of an asymmetric algorithm and a one-way
algorithm, i.e. compression and usage of a public and secret key. A server is not necessary. The
sender uses a one-way function to add the digest to the end of a message. The newly created
message is encrypted by a secret sender’s key which makes sure that only the receiver will be able
to read the sent message. On the other hand, the receiver decrypts the message by his own secret
key, sends the message through the same one-way algorithm, and checks the identity of the
digest.
5. AUTHENTICATION PROTOCOLS
The need for safe authentication within open distributed computer systems has brought to creation
of authentication standards and systems.
Authentication protocols should enable the introduction of a potential user to a system.
Messages, which are exchanged between the user and the system, should have the following
features: authenticity1, coherence and integrity as well as uniqueness2.
Within the user network in which services from a large number of separate servers are required,
there are three ways to check the access to services:
1. The computer (to which a user logs in) itself protects the unauthorised access,
2. The user has to confirm his identity, and the access computer believes him
3. The user has to prove his identity for every required service.
1
The message, which has already been sent, cannot be pronounced invalid afterwards.
2
The same message cannot be repeatedly sent through the communication channel
6
A lot of authentication protocols use the authentication server whose primary task is to generate
keys and function as a key server (which performs the server personal data exchange).
SSL (Secure Sockets Layer)
SSL is a secure sockets layer, which ensures data encryption, data integrity and authenticity of a
server and a client. It supports three ways of
authenticity definition:
• mutual authenticity definition
• server authenticity definition,
• server/client anonymity
Authenticity can be achieved by certificates.
In the ISO/OSI model and in the Internet data
communication level model SSL is situated Fig 3. Relation of the ISO/OSI model and the
between the application and transfer layer, Internet data communication model
forming a new layer, independent, but at the same time transparent to other layers.
It consists of the Handshake protocol, which enables identification of both the server and the client
as well as exchange of the encryption algorithm and cryptographic keys, and of the Record Layer
protocol which is used for encryption and message transmission. SSL uses the RSA algorithm;
more precisely it uses the double asymmetric encryption and decryption keys technique. To protect
the communication from a possible external modification MAC (Message Authentication Code) is
included in the protocol. It is a data generated from the secret key and message. Namely, it is
difficult to generate a new message with the same MAC, and it is difficult to apply the inversion
method for getting the encrypted message back.
To enable the communication between two sides (client and server) they have to support SSL
(Secure Socket Layers) protocol i.e. they have to possess certain certificates issued by a certificate
authority. The certificate is a set of essential information about the user and the organisation it
belongs to. Essential information includes public keys, too.
The information exchange is performed in the following way: interlocutors use a symmetric key in
their communication for faster encryption and decryption of the messages they use. Asymmetric
protocol is used for the symmetric key distribution. Each side electronically signs the encrypted
information, which additionally protects its authenticity and integrity. This protocol is mainly used in
web communication.
SET (Secure Electronic Transaction)
SET is an open protocol, which enables transactions through Internet by using credit cards like
Visa and MasterCard. It was originated as a joint project of Netscape, Microsoft, Visa and
MasterCard. To be able to use the SET, corresponding programs on both sides are required, i.e.
on both the server and the client side.
SSH (Secure Shell)
SSH is a protocol, which when used on Unix, enables safe logging in and performing instructions
on another network and file transfer between computers. It establishes and keeps encrypted
connection between the SSH user programme and the SSH server, it checks both user and server
authenticity using some of the available encrypting algorithms, such as RSA. What’s more, the
protocol protects from some forms of masking and transformation, such as IP address modification,
which unauthorised users use for unauthorised access to remote computers.
Kerberos protocol
It would be more convenient for the user to log in and authenticate to the system only once, and
then within the protected system at more servers if necessary, for the tasks he is authorised for. To
make it possible the user has to use his authentication data all the time. Kerberos
technology/system/protocol has successfully solved the problem. What’s more, it is possible to use
it with all operating systems. It has become a standard for establishing authenticity in distributed
client/server environments. It is designed for TCP/IP protocol based networks.
Kerberos offers three different protection levels: Application programmer defines which one is the
most suitable one, regarding application requirements:
• applications require authentication immediately after the connection is established
7
• applications require authentication of every message, no matter if the content of the
message is exposed or not,
• applications require safe messages.
Higher security level is achieved by private messages, where each message is authenticated and
encrypted. Kerberos server itself uses private messages for sending passwords through the
network. Encryption is in Kerberos based on the DES algorithm. There is a possibility of several
encrypting methods, with a possibility to choose between their speed and security.
Administration server (KDBM server) is connected with the database by a network interface. The
client can start the program form any network computer. The administrator server can be started
from the computer which contains the Kerberos database to be able to make database changes. In
case a change in the Kerberos database is needed, a new login and authentication to KDBM
server is needed.
Authentication server or Kerberos server performs read only operations on the Kerberos database.
This server doesn’t modify the Kerberos database, so it can be started from the computer with the
Kerberos database replica.
Kerberos maintains the database of its clients and their private keys. A private key is a big number
known only to the Kerberos server and to the client it belongs to (it is an encrypted password).
Kerberos can create messages to confirm the identity of a client. It also generates temporary secret
keys called session keys, for two clients talking to each other, to encrypt messages between two
sides.
There are two confirmation types in the Kerberos authentication model: tickets and authenticators.
They are both generated by private key encryption, but they are encrypted my means of different
keys. A ticket is used for a safe passage between the authentication server and end server. The
ticket also delivers information, which can be used to check whether the person who uses the ticket
is the same person to whom the ticket was issued. Authenticator contains additional information,
which, when compared with those on the ticket, prove that the client who uses the ticket is the
same person to whom the ticket was issued. Authenticator can be used only once and must be
generated every time when the client wants a certain service. Authenticator is encrypted by a
session key, which is a part of a ticket.
The authentication process is performed in the following way1:
• the user logs in using his user name,
• the user name is transmitted to the AS authentication server,
• if there is an AS user in the base, a session key is assigned to him, and the user will use it
for communication with the server in order to get a ticket encrypted by a private user key
from the base,
• the user enters the password which transforms into a DES key and becomes a private user
key,
• the answer from the AS is decrypted by the generated private key,
• a ticket, session key and some data about the user are stored, while the password and the
DES key are erased from the memory,
• the user (sooner or later) needs a service,
• he asks for the application server ticket from the TGT (Ticket-Granting Ticket), so the
authenticator and server name are encrypted by a session key and proceeded to the TGT,
• TGT generates a new session key for the application server the access to which was
demanded by the user.
SESAME protocol
SESAME is the acronym of the Secure European System for Applications in a Multi-vendor
Environment i.e. European security system for applications in multi-user environment. At the same
time, it is the European research project financed by the European committee, and the name for
the technology generated from that project, which enables authentication, access control, and
cryptographic data protection exchange in network (unsafe) environment. SESAME is in fact an
architecture which consists of finished components which can be built into application wherever it is
needed..
1
All communication among different servers is encrypted by secret keys familiar only to them
8
The project owes its existence to American laws, which ban the export of high cryptographic
technology. In order to be able to spread the Kerberos technology to Europe, the banned parts had
to be replaced. Yet, the compatibility with the Kerberos has been retained. Moreover, the protocol
has some additional security parts. E.g. it also supports the Directory Name standard which was
originated because SESAME supports public keys and certificates, uses all three kinds of
cryptographic (symmetric, asymmetric and irretrievable) algorithms which can be intensified or
weakened if needed, according to the user’s needs and according to the current legal regulations.
Furthermore, the protocol uses two types of keys (base and dialog), and supports two single log in
methods:
• Kerberos authentication mechanism based on passwords
• Authentication method which uses asymmetric cryptography.
SESAME uses up to seven servers: Authentication Server (AS), Privilege Attribute Server (PAS),
Key Distribution Server (KDS), Domain Security Server (DSS), Certification Authorisation (CA),
Certification Authority Agent (CAA), and Local Registration Authority (LRA).
Identity is a real world feature used by a user to log in a server, to access protected services, to
show data ownership, etc. SESAME architecture supports authenticated identity (Authenticated),
access identity (Access) and responsibility identity (Audit). The identity supports the Kerberos
syntax.
9
Theoretically there are two protocol groups: with and without anonymity. The shopping procedure if
the protocol without anonymity is used can be divided into a few stages: Firstly, the
communication between a buyer and a seller is established. The buyer chooses desired articles
and asks for a kind of a pro forma invoice in order to get the information about the amount needed
to withdraw from the bank account. The bank forms an electronic banknote of a certain value and
put its electronic signature on it, according to which its authenticity will be confirmed later. The
banknote serial number, which will be later used to check its authenticity, is stored in its database.
Such a “signed” banknote is sent to the buyer and the amount on his account is reduced. The
buyer sends the same banknote to the seller who forwards it to the bank. The bank confirms its
authenticity and sends the seller a receipt of its validity. The amount on his account is increased
and the seller can send the goods to the buyer.
The customer anonymity in such a system is not guaranteed. It was necessary to build a protocol
to guarantee it. The situation with protocols with anonymity is different. In order to avoid the
possibility of monitoring the transaction from more sides, the buyer uses the method of masked
identity. This complicated protocol is an enhanced version of the base protocol and requires more
dialogues from both sides. The protocol with anonymity starts in the same way as the base
protocol. More important differences can be noticed when it comes to payment requests. Namely,
a buyer sends N encrypted banknotes of the same value to the bank for authentication. The bank
sends the request for encryption keys (N-1) of randomly picked banknotes to check their value. It
puts the signature on one of the intact banknotes according to which they will later check its
authenticity. In that way the buyer’s anonymity is guaranteed. Although the real banknote value is
not known, the chances for fraud are (1/N) very small because N is a big number. After the amount
of the seller’s bank account has been reduced, the bank sends the signed banknote back to the
buyer. The buyer forwards it to the seller who checks the bank signature. After the authenticity has
been confirmed (the banknote is not forged), the buyer sends the sequences to confirm his identity.
The sequences give information about the buyer. The seller compares the sequence digests
obtained after the hash function has been performed and those received with the banknote. If they
are identical, the data are then sent to the bank. The bank checks the banknote serial number. If it
has been already used the halves of the buyer’s sequences are matched and the identity is
recovered, not to forget that one half is sent by the seller together with the banknote, and the other
one is currently kept in the bank base. If the sequence halves matched it would directly show to the
fact that the seller has been tried to use the same banknote twice.
10
e-Cash
This protocol concept is based on so-called "electronic coins" i. e. a sequence of characters with its
nominal value, serial number given by the bank and its electronic signature. They are used as base
payment units in transactions. In case there aren’t enough smaller coins, the buyer demands from
the bank to change a bigger one into two smaller ones, and the value of one of them will be
identical to the amount which should be paid. The protocol starts with confirming the buyer’s
request for a product. The final result is reduction of the number of coins on the buyer’s disk for the
paid amount. The coins can be stored or withdrawn from the account at any time, and all the
transactions are recorded in order to make keeping files easier.
Secure Pay
This method uses cheques as a payment mode, and not credit cards. For this protocol everything
you need is the buyer’s account in the bank which accepts cheques payable in US$. The buyer
chooses articles and enters his Secure Pay ID and the previously given code. This information is
forwarded to Redi-Check company, where this protocol was created. After the authorisation, a
cheque with the buyer’s data and the spent amount is printed and sent back to the server by
regular mail. The server gets the money 24 hours after the purchase.
7. SUMMARY
Identification, authentication and authorisation are the main prerogatives for the data contents
security and for the safe communication among the users of the open distributed systems, as well.
These measures are performed on the physical and logical level, and special attention is paid to
communication between the Internet and intranet. The implementation itself, without adhering to
security principles important for their introduction and use, does not guarantee security – neither of
the data contents in database, or the one in communication.
Data contents should be protected by means of cryptographic algorithms, which complexity and
speed depend on the required security level. The example of this is an electronic signature, the
means of accuracy confirmation and message credibility. Authenticity protocols, even complete
authentication systems were generated as the means of cryptographic algorithm implementation,
security methods and principles (of data contents) in dynamic and distributed systems, which
becomes very important in the case of electronic financial transactions, i.e. electronic cash
payment protocols.
BIBLIOGRAPHY
1. Elektronički oblici plaćanja, group of authors, available on the URL: www.rasip.fer.hr/ecash, January
2002.
2. ftp://ftp.rsasecurity.com/pub/labsfaq/rsalabs_faq41.pdf
3. Sigurnost i šifriranje, dostupno na Internet adresama: http://www.carnet.hr/vodic/cro-
gnrt/security/encryption.html, http://www.carnet.hr/vodic/cro-gnrt/security/pgp.html, January 2002.
4. eCash Technologies, Inc. http://www.digicash.com/Solutions/, January 2002.
5. Aida-inženjering, Pametne kartice i sigurnost, available on the URL: http://www.aidia-
i.ba/bih_smartcard/bos_smartcard3.html, January 2002.
6. Luka Baranović: Protokoli plaćanja elektroničkim novcem, available on the URL:
http://sigurnost.zemris.fer.hr/emoney/baranovic/, January 2002.
7. Dubravko Gorupić: Zaštita podataka prilikom plaćanja elektroničkim novcem, available on the URL:
http://sigurnost.zemris.fer.hr/emoney/gorupic/, September 2000.
8. Miroslav Alković, Sigurnosni bankarski sustavi, available on the URL:
http://sigurnost.zemris.fer.hr/emoney/alkovic/, January 2002.
9. Biljana Nekić: Prilagodba programa sigurnosnom sustavu KERBEROS, available on the URL:
http://sigurnost.zemris.fer.hr/protokoli/KERBEROS/nekic/, February 2000.
10. Ivo Lukač: SESAME, available on the URL: http://sigurnost.zemris.fer.hr/protokoli/SESAME/lukac/,
2000/2001.
11. HD-info home page: http://www.hdinfo.hr/index.html, January 2002.
12. International PGP Home Page http://www.pgpi.org/, January 2002.
13. Free Secure Shell Client for Windows 95/NT 4.0, dostupan na Internet adresi:
http://www.massconfusion.com/ssh, January 2002.
14. ISO/IEC 17799 – 2000 (BS 7799 – 2000 Part 1) – Međunarodna norma za izgradnju sigurnosti IS-a
11