International Transaction of Electrical and Computer Engineers System, 2015, Vol. 3, No. 1, 1-11
Available online at http://pubs.sciepub.com/iteces/3/1/1
© Science and Education Publishing
DOI:10.12691/iteces-3-1-1
Review on Network Security and Cryptography
Shyam Nandan Kumar*
M.Tech-Computer Science and Engineering, Lakshmi Narain College of Technology-Indore (RGPV, Bhopal), MP, India
*
Corresponding author: shyamnandan.mec@gmail.com
Received March 02, 2015; Revised March 12, 2015; Accepted March 17, 2015
Abstract With the advent of the World Wide Web and the emergence of e-commerce applications and social
networks, organizations across the world generate a large amount of data daily. Data security is the utmost critical
issue in ensuring safe transmission of information through the internet. Also network security issues are now
becoming important as society is moving towards digital information age. As more and more users connect to the
internet it attracts a lot of cyber-criminals. It comprises authorization of access to information in a network,
controlled by the network administrator. The task of network security not only requires ensuring the security of end
systems but of the entire network. In this paper, an attempt has been made to review the various Network Security
and Cryptographic concepts. This paper discusses the state of the art for a broad range of cryptographic algorithms
that are used in networking applications.
Keywords: network security, cryptography, decryption, encryption
Cite This Article: Shyam Nandan Kumar, “Review on Network Security and Cryptography.” International
Transaction of Electrical and Computer Engineers System, vol. 3, no. 1 (2015): 1-11. doi: 10.12691/iteces-3-1-1.
1. Introduction
Internet has become more and more widespread, if an
unauthorized person is able to get access to this network,
he can not only spy on us but he can easily mess up our
lives. Network Security & Cryptography is a concept to
protect network and data transmission over wireless
network. A network security system typically relies on
layers of protection and consists of multiple components
including networking monitoring and security software in
addition to hardware and appliances. All components
work together to increase the overall security of the
computer network. Security of data can be done by a
technique called cryptography. So one can say that
cryptography is an emerging technology, which is
important for network security.
Model for Cryptosystem Using Neural Network [1]
supports high security. Neural network and cryptography
together can make a great help in field of networks
security. The key formed by neural network is in the form
of weights and neuronal functions which is difficult to
break. Here, content data would be used as an input data
for cryptography so that data become unreadable for
attackers and remains secure from them. The ideas of
mutual learning, self-learning, and stochastic behavior of
neural networks and similar algorithms can be used for
different aspects of cryptography, like public-key
cryptography, solving the key distribution problem using
neural network mutual synchronization, hashing or
generation of pseudo-random numbers. Another idea is the
ability of a neural network to separate space in non-linear
pieces using "bias". It gives different probabilities of
activating or not the neural network. This is very useful in
the case of Cryptanalysis.
Network security [2] consists of the provisions and
policies adopted by a network administrator to prevent and
monitor unauthorized access, misuse, modification, or
denial of a computer network and network-accessible
resources. Network security covers a variety of computer
networks, both public and private, that are used in
everyday
jobs
conducting
transactions
and
communications among businesses, government agencies
and individuals. Networks can be private, such as within a
company, and others which might be open to public access.
Network security is involved in organizations, enterprises,
and other types of institutions. It does as its title explains:
It secures the network, as well as protecting and
overseeing operations being done. The most common and
simple way of protecting a network resource is by
assigning it a unique name and a corresponding password.
Cryptography is the science of writing in secret code.
More generally, it is about constructing and analyzing
protocols that block adversaries; [3] various aspects in
information security such as data confidentiality, data
integrity, authentication, and non-repudiation [4] are
central to modern cryptography. Modern cryptography
exists at the intersection of the disciplines of mathematics,
computer science, and electrical engineering. Applications
of cryptography include ATM cards, computer passwords,
and electronic commerce. The development of the World
Wide Web resulted in broad use of cryptography for ecommerce and business applications. Cryptography is
closely related to the disciplines of cryptology and
cryptanalysis. Techniques used for decrypting a message
without any knowledge of the encryption details fall into
the area of cryptanalysis. Cryptanalysis is what the
layperson calls “breaking the code.” The areas of
2
International Transaction of Electrical and Computer Engineers System
cryptography and cryptanalysis together are called
cryptology. Encryption is the process of converting
ordinary information (called plaintext) into unintelligible
text (called ciphertext). Decryption is the reverse, in other
words, moving from the unintelligible ciphertext back to
plaintext. Cryptosystem is the ordered list of elements of
finite possible plaintexts, finite possible cyphertexts, finite
possible keys, and the encryption and decryption
algorithms which correspond to each key.
The challenging problem is how to effectively share
encrypted data. Encrypt message with strongly secure key
which is known only by sending and recipient end is a
significant aspect to acquire robust security in sensor
network. The secure exchange of key between sender and
receiver is too much difficult task in resource constraint
sensor network. data should be encrypted first by users
before it is outsourced to a remote cloud storage service
and both data security and data access privacy should be
protected such that cloud storage service providers have
no abilities to decrypt the data, and when the user wants to
search some parts of the whole data, the cloud storage
system will provide the accessibility without knowing
what the portion of the encrypted data returned to the user
is about. This paper reviews various network security and
cryptographic approaches.
In this paper sections are organized as follows: Section
2 gives the idea about types of security attacks on cloud.
Section 3 deals with security services. Section 4 explains
network security model. Section 5 describes the various
cryptography mechanism. Section 6 gives the idea about
message authentication. Section 7 shows network and
internet related security approach. Firewalls technique is
provide in section 8. Section 9 concludes the paper and
presents avenues for future work. References for this
paper are given in section 10.
2. Types of Security Attacks
2.1. Passive Attacks
This type of attacks includes observation or monitoring
of communication. A passive attack attempts to learn or
make use of information from the system but does not
affect system resources. The goal of the opponent is to
obtain information that is being transmitted. Types of
passive attacks:
• Traffic Analysis: The message traffic is sent and
received in an apparently normal fashion, and neither
the sender nor receiver is aware that a third party has
read the messages or observed the traffic pattern.
• Release of Message Contents: Read contents of
message from sender to receiver.
2.2. Active Attacks
An active attack attempts to alter system resources or
affect their operation. It involves some modification of the
data stream or the creation of a false stream. Types of
active attacks:
• Modification of Messages: some portion of a
legitimate message is altered, or that messages are
delayed or reordered.
• Denial of Service: An entity may suppress all
messages directed to a particular destination.
• Replay: It involves the passive capture of a data unit
and its subsequent retransmission to produce an
unauthorized effect.
• Masquerade: It takes place when one entity pretends
to be a different entity.
3. Security Services
It is a service that is provided by a protocol layer of
communicating open systems and that ensures adequate
security of the systems or of data transfers. It enhances the
security of data processing and transferring.
3.1. Data Integrity
It can apply to a stream of messages, a single message,
or selected fields within a message. A loss of integrity is
the unauthorized modification or destruction of
information.
3.2. Data Confidentiality
Preserving authorized restrictions on information access
and disclosure, including means for protecting personal
privacy and proprietary information. A loss of
confidentiality is the unauthorized disclosure of
information.
3.3. Authenticity
Provide authentication to all the node and base station
for utilizing the available limited resources. It also ensures
that only the authorized node can participant for the
communication.
3.4. Nonrepudiation
Nonrepudiation prevents either sender or receiver from
denying a transmitted message. Thus, when a message is
sent, the receiver can prove that the alleged sender in fact
sent the message. Similarly, when a message is received,
the sender can prove that the alleged receiver in fact
received the message.
3.5. Access Control
Access control is the ability to limit and control the
access to host systems and applications via
communications links. To achieve this, each entity trying
to gain access must first be identified, or authenticated, so
that access rights can be tailored to the individual.
4. Network Security Model
Figure 1 shows the model of network security. A
message is to be transferred from one party to another
across some sort of Internet service. A third party may be
responsible for distributing the secret information to the
sender and receiver while keeping it from any opponent.
Security aspects come into play when it is necessary or
desirable to protect the information transmission from an
opponent who may present a threat to confidentiality,
authenticity, and so on. All the techniques for providing
security have two components:
International Transaction of Electrical and Computer Engineers System
• A security-related transformation on the information
to be sent. Message should be encrypted by key so
that it is unreadable by the opponent.
• An encryption key used in conjunction with the
transformation to scramble the message before
transmission and unscramble it on reception.
3
text, sometimes referred to as cleartext) into ciphertext (a
process called encryption), then back again (known as
decryption). There are, in general, three types of
cryptographic schemes typically used to accomplish these
goals: secret key (or symmetric) cryptography, public-key
(or asymmetric) cryptography, and hash functions, each of
which is described below.
5.1. Secret Key Cryptography
With secret key cryptography, a single key is used for
both encryption and decryption. As shown in Figure 2, the
sender A uses the key K (or some set of rules) to encrypt
the plaintext message M and sends the ciphertext C to the
receiver. The receiver applies the same key K (or ruleset)
to decrypt the cipher text C and recover the plaintext
message M. Because a single key is used for both
functions, secret key cryptography is also called
symmetric encryption.
With this form of cryptography, it is obvious that the
key must be known to both the sender and the receiver;
that, in fact, is the secret. The biggest difficulty with this
approach, of course, is the distribution of the key.
Figure 1. Model for Network Security
4.1. Need for Key Management in Cloud
Encryption provides data protection while key
management enables access to protected data. It is
strongly recommended to encrypt data in transit over
networks, at rest, and on backup media. In particular, data
to encrypt their own data. Both encryption and key
management are very important to help secure
applications and data stored in the Cloud. Requirements of
effective key management are discuss below.
• Secure key stores: The key stores themselves must
be protected from malicious users. If a malicious user
gains access to the keys, they will then be able to
access any encrypted data the key is corresponded to.
Hence the key stores themselves must be protected in
storage, in transit and on backup media.
• Access to key stores: Access to the key stores should
be limited to the users that have the rights to access
data. Separation of roles should be used to help
control access. The entity that uses a given key
should not be the entity that stores the key.
• Key backup and recoverability: Keys need secure
backup and recovery solutions. Loss of keys,
although effective for destroying access to data, can
be highly devastating to a business and Cloud
providers need to ensure that keys aren’t lost through
backup and recovery mechanisms.
5. Cryptography Mechanism
Cryptography is a method of storing and transmitting
data in a particular form so that only those for whom it is
intended can read and process it. The term is most often
associated with scrambling plaintext message (ordinary
Figure 2. Secret Key Cryptography
Secret key cryptography schemes are generally
categorized as being either stream ciphers or block
ciphers. Stream ciphers operate on a single bit (byte or
computer word) at a time and implement some form of
feedback mechanism so that the key is constantly
changing. A block cipher is so-called because the scheme
encrypts one block of data at a time using the same key on
each block. In general, the same plaintext block will
always encrypt to the same ciphertext when using the
same key in a block cipher whereas the same plaintext will
encrypt to different ciphertext in a stream cipher. Block
ciphers can operate in one of several modes; the following
four are the most important:
• Electronic Codebook (ECB) mode is the simplest,
most obvious application: the secret key is used to encrypt
the plaintext block to form a ciphertext block. Two
identical plaintext blocks, then, will always generate the
same ciphertext block. Although this is the most common
4
International Transaction of Electrical and Computer Engineers System
mode of block ciphers, it is susceptible to a variety of
brute-force attacks.
• Cipher Block Chaining (CBC) mode adds a
feedback mechanism to the encryption scheme. In CBC,
the plaintext is exclusively-ORed (XORed) with the
previous ciphertext block prior to encryption. In this mode,
two identical blocks of plaintext never encrypt to the same
ciphertext.
• Cipher Feedback (CFB) mode is a block cipher
implementation as a self-synchronizing stream cipher.
CFB mode allows data to be encrypted in units smaller
than the block size, which might be useful in some
applications such as encrypting interactive terminal input.
If we were using 1-byte CFB mode, for example, each
incoming character is placed into a shift register the same
size as the block, encrypted, and the block transmitted. At
the receiving side, the ciphertext is decrypted and the extra
bits in the block (i.e., everything above and beyond the
one byte) are discarded.
• Output Feedback (OFB) mode is a block cipher
implementation conceptually similar to a synchronous
stream cipher. OFB prevents the same plaintext block
from generating the same ciphertext block by using an
internal feedback mechanism that is independent of both
the plaintext and ciphertext bitstreams.
Stream ciphers come in several flavors but two are
worth mentioning here. Self-synchronizing stream
ciphers calculate each bit in the keystream as a function of
the previous n bits in the keystream. It is termed "selfsynchronizing" because the decryption process can stay
synchronized with the encryption process merely by
knowing how far into the n-bit keystream it is. One
problem is error propagation; a garbled bit in transmission
will result in n garbled bits at the receiving side.
Synchronous stream ciphers generate the keystream in a
fashion independent of the message stream but by using
the same keystream generation function at sender and
receiver. While stream ciphers do not propagate
transmission errors, they are, by their nature, periodic so
that the keystream will eventually repeat.
Secret key cryptography algorithms that are in use
today include:
• Data Encryption Standard (DES): DES is a blockcipher employing a 56-bit key that operates on 64-bit
blocks. DES algorithm as described by Davis R. [5]
takes a fixed-length string of plaintext bits and
transforms it through a series of complicated
operations into cipher text bit string of the same
length. 3DES (Triple DES) [6] is an enhancement of
DES; it is 64 bit block size with 192 bits key size. In
this standard the encryption method is similar to the
one in the original DES but applied 3 times to
increase the encryption level and the average safe
time.
• Advanced Encryption Standard (AES): AES [7,8] is
a block cipher intended to replace DES for
commercial applications. It uses a 128-bit block size
and a key size of 128, 192, or 256 bits. The number
of internal rounds of the cipher is a function of the
key length. The number of rounds for 128- bit key is
10. Unlike its predecessor DES, AES does not use a
Feistel network. Feistel networks do not encrypt an
entire block per iteration, e.g., in DES, 64/2 = 32 bits
•
•
•
•
are encrypted in one round. AES, on the other hand,
encrypts all 128 bits in one iteration.
Blowfish: Blowfish [9] is a symmetric 64-bit block
cipher, invented by Bruce Schneier; optimized for
32-bit processors with large data caches, it is
significantly faster than DES on a Pentium/PowerPCclass machine. Key lengths can vary from 32 to 448
bits in length. Blowfish, available freely and intended
as a substitute for DES or IDEA, is in use in a large
number of products. It is a 16-round Feistel cipher
and uses large key-dependent S-boxes. The S-boxes
accept 8-bit input and produce 32-bit output. One
entry of the P-array is used every round, and after the
final round, each half of the data block is XORed
with one of the two remaining unused P-entries.
Twofish: [10] A 128-bit block cipher using 128-,
192-, or 256-bit keys. Designed to be highly secure
and highly flexible, well-suited for large
microprocessors, 8-bit smart card microprocessors,
and dedicated hardware. Designed by a team led by
Bruce Schneier and was one of the Round 2
algorithms in the AES process. Twofish's distinctive
features are the use of pre-computed key-dependent
S-boxes, and a relatively complex key schedule. One
half of an n-bit key is used as the actual encryption
key and the other half of the n-bit key is used to
modify the encryption algorithm (key-dependent Sboxes). Twofish borrows some elements from other
designs; for example, the pseudo-Hadamard
transform(PHT) from the SAFER family of ciphers.
Twofish has a Feistel structure like DES.
Camellia: [11] A secret-key, block-cipher crypto
algorithm developed jointly by Nippon Telegraph
and Telephone (NTT) Corp. and Mitsubishi Electric
Corporation (MEC) in 2000. C has some
characteristics in common with AES: a 128-bit block
size, support for 128-, 192-, and 256-bit key lengths,
and suitability for both software and hardware
implementations on common 32-bit processors as
well as 8-bit processors (e.g., smart cards,
cryptographic hardware, and embedded systems).
Camellia is a Feistel cipher with either 18 rounds
(when using 128-bit keys) or 24 rounds (when using
192 or 256-bit keys). Every six rounds, a logical
transformation layer is applied: the so-called "FLfunction" or its inverse. Camellia uses four 8 x 8-bit
S-boxes with input and output affine transformations
and logical operations. The cipher also uses input and
output key whitening. The diffusion layer uses a
linear transformation based on a matrix with a branch
number of 5.
KASUMI: [11,12] A block cipher using a 128-bit key
and block size 64-bit, is part of the Third-Generation
Partnership Project (3gpp), formerly known as the
Universal Mobile Telecommunications System
(UMTS). KASUMI is the intended confidentiality
and integrity algorithm for both message content and
signaling data for emerging mobile communications
systems. KASUMI is used in the A5/3 key stream
generator and in GPRS in the GEA3 key stream
generator. In 2010, Dunkelman, Keller and Shamir
published a new attack that allows an adversary to
recover a full A5/3 key by related-key attack [13].
The core of KASUMI is an eight-round Feistel
International Transaction of Electrical and Computer Engineers System
network. The round functions in the main Feistel
network are irreversible Feistel-like network
transformations. In each round the round function
uses a round key which consists of eight 16-bit sub
keys derived from the original 128-bit key using a
fixed key schedule.
5.2. Public-Key Cryptography
Public-key cryptography is a form of cryptosystem in
which encryption and decryption are performed using the
different keys—one a public key and one a private key.
These keys are mathematically related although
knowledge of one key does not allow someone to easily
determine the other key. As shown in Figure 3, the sender
A uses the public key of receiver B (or some set of rules)
to encrypt the plaintext message M and sends the
ciphertext C to the receiver. The receiver applies own
private key (or ruleset) to decrypt the cipher text C and
recover the plaintext message M. Because pair of keys is
required, this approach is also called asymmetric
cryptography. Asymmetric encryption can be used for
confidentiality, authentication, or both. Applications for
Public-Key Cryptosystems are given in Table 1.
5
5.2.1.1. Key Generation Phase
Receiver generates a public/private key pair. Algorithm
is as follow:
1) Select p, q such that p and q both are prime, p ≠ q
2) Calculate n = p * q
3) Calculate f(n) = (p - 1)(q - 1)
4) Select integer e such that gcd(f(n), e) = 1; 1 < e < f(n)
5) Calculate d such that d≡ e-1 (mod f(n))
6) Public key PUK= (e, n)
7) Private key PRK=(d, n)
5.2.1.2. Encryption Phase
Encryption is done by sender with receiver’s Public
Key. Algorithm is as follow:
1) Plain Text M is known, M < n
2) Cipher Text C is calculated as
C = M e mod n
5.2.1.3. Decryption Phase
Decryption is done by receiver using his Private Key.
Algorithm is as follow:
1) Cipher Text C is known
2) Plain Text M is calculated as
M = C d mod n
5.2.2. Diffie-Hellman Key Exchange
Figure 3. Public Key Cryptography
Public-key cryptography algorithms that are in use
today for key exchange or digital signatures include:
5.2.1. RSA
The first, and still most common, public key
cryptography implementation, named for the three MIT
mathematicians who developed it — Ronald Rivest, Adi
Shamir, and Leonard Adleman [14]. RSA today is used in
hundreds of software products and can be used for key
exchange, digital signatures, or encryption of small blocks
of data. RSA uses a variable size encryption block and a
variable size key. The key-pair is derived from a very
large number, n, that is the product of two prime numbers
chosen according to special rules; these primes may be
100 or more digits in length each, yielding an n with
roughly twice as many digits as the prime factors. RSA
has three phases: Key Generation, Encryption, and
Decryption.
A simple public-key algorithm is Diffie-Hellman key
exchange [15]. This protocol enables two users to
establish a secret key using a public-key scheme based on
discrete logarithms. The protocol is secure only if the
authenticity of the two participants can be established. DH is used for secret-key key exchange only, and not for
authentication or digital signatures. Algorithm is as follow:
1) Select two Global Public Elements: a prime number
p and an integer α that is a primitive root of p.
2) Sender Key Generation: Sender selects a random
integer XA < p which is private and computes YA = α XA
mod p, which is public.
3) Receiver Key Generation: Receiver selects a random
integer XB < p which is private and computes YB = α XB
mod p, which is public.
4) Sender calculates secret key: K = (YB ) XA mod p
5) Receiver calculates secret key which is identical to
sender secret key. K = (YA) XB mod p.
5.2.3. Elliptic Curve Cryptography
It is analog of Diffie-Hellman Key Exchange. ECC
[16,17] is a public key cryptography algorithm based upon
elliptic curves. Elliptic curve arithmetic can be used to
develop a variety of elliptic curve cryptography (ECC)
schemes, including key exchange, encryption, and digital
signature. For purposes of ECC, elliptic curve arithmetic
involves the use of an elliptic curve equation defined over
a finite field. The coefficients and variables in the
equation are elements of a finite field. Security of ECC is
based on the intractability of ECDLP i.e. Elliptic Curve
Discrete Logarithm Problem.
5.2.4. Digital Signature Standard
The digital signature standard (DSS) is an NIST
standard that uses the secure hash algorithm (SHA) [18].
6
International Transaction of Electrical and Computer Engineers System
A digital signature is an authentication mechanism that
enables the creator of a message to attach a code that acts
as a signature. Typically the signature is formed by taking
the hash of the message and encrypting the message with
the creator’s private key. The signature guarantees the
source and integrity of the message.
Figure 4 shows the process of making and using digital
signatures. Sender can sign a message using a digital
signature generation algorithm. The inputs to the
algorithm are the message and sender’s private key. Any
other user, say receiver, can verify the signature using a
verification algorithm, whose inputs are the message, the
signature, and sender’s public key.
message and produces a hash code. The recipient also
decrypts the signature using the sender’s public key. If the
calculated hash code matches the decrypted signature, the
signature is accepted as valid. Because only the sender
knows the private key, only the sender could have
produced a valid signature.
The DSS approach also makes use of a hash function.
The hash code is provided as input to a signature function
along with a random number generated for this particular
signature. The signature function also depends on the
sender’s private key PRa and a set of parameters known to
a group of communicating principals. We can consider
this set to constitute a global public key PUG. The result is
a signature consisting of two components, labeled s and r.
a). Digital Signature Without Hash Function
Figure 5. Digital Signature Approaches
Table 1. Applications for Public-Key Cryptosystems
Digital
Key
Algorithm
Encryption/Decryption
Signature
Exchange
RSA
Yes
Yes
Yes
DiffieNo
No
Yes
Hellman
Elliptic
Yes
Yes
Yes
Curve
DSS
No
Yes
No
5.3. Hash Functions
b). Digital Signature With Hash Function
Figure 4. Digital Signature Process
The DSS uses an algorithm that is designed to provide
only the digital signature function. It cannot be used for
encryption or key exchange. Nevertheless, it is a publickey technique. Figure 5 contrasts the DSS approach for
generating digital signatures to that used with RSA. In the
RSA approach, the message to be signed is input to a hash
function that produces a secure hash code of fixed length.
This hash code is then encrypted using the sender’s
private key to form the signature. Both the message and
the signature are then transmitted. The recipient takes the
Hash functions, also called message digests and oneway encryption, are algorithms that, in some sense, use no
key. A hash function H accepts a variable-length block of
data M as input and produces a fixed-size hash value h =
H(M) as shown in Figure 6. In general terms, the principal
object of a hash function is data integrity. A change to any
bit or bits in results, with high probability, in a change to
the hash code. Virtually all cryptographic hash functions
involve the iterative use of a compression function. The
compression function used in secure hash algorithms falls
into one of two categories: a function specifically
designed for the hash function or an algorithm based on a
symmetric block cipher. SHA and Whirlpool [19] are
examples of these two approaches, respectively.
The hash algorithm involves repeated use of a
compression function, f, that takes two inputs (an -bit
input from the previous step, called the chaining variable,
and a -bit block) and produces an -bit output. At the start
International Transaction of Electrical and Computer Engineers System
MAC = C ( K , M )
of hashing, the chaining variable has an initial value that is
specified as part of the algorithm. The final value of the
chaining variable is the hash value. It is seen that b > n. A
cryptographic hash function can be used to construct a
pseudorandom function (PRF) or a pseudorandom number
generator (PRNG).
7
Figure 6. Block Diagram of Hash Function
5.3.1. SHA
Secure Hash Algorithm (SHA) is a family of
cryptographic hash functions. Comparison of SHA
Parameters is shown in Table 2. All sizes are measured in
bits.
Algorithm
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
Table 2. Comparison of SHA Parameters
Message
Message
Block
Word
Digest Size
Size
Size
Size
160
< 264
512
32
224
< 264
512
32
256
< 264
512
32
384
< 2128
1024
64
512
< 2128
1024
64
No of
Step
80
64
64
80
80
6. Message Authentication Code
Message authentication is a mechanism or service used
to verify the integrity of a message. Message
authentication assures that data received are exactly as
sent (i.e., contain no modification, insertion, deletion, or
replay). In many cases, there is a requirement that the
authentication mechanism assures that purported identity
of the sender is valid. When a hash function is used to
provide message authentication, the hash function value is
often referred to as a message digest. More commonly,
message authentication is achieved using a message
authentication code (MAC), also known as a keyed hash
function or cryptographic checksum. Typically, MACs
are used between two parties say sender and receiver, that
share a secret key K to authenticate information
exchanged between those parties. A MAC function C
takes as input a secret key K and a variable-length data
block or message M and produces a fixed-length hash
value MAC, referred to as the message authentication
Code. This can then be transmitted with or stored with the
protected message. If the integrity of the message needs to
be checked, the MAC function can be applied to the
message and the result compared with the stored MAC
value. Process of MAC is shown in Figure 7.
Figure 7. Working of MAC
6.1. HMAC
Hash-based message authentication code (HMAC) [20]
is a specific construction for calculating a message
authentication code (MAC) involving a cryptographic
hash function in combination with a secret cryptographic
key. As with any MAC, it may be used to simultaneously
verify both the data integrity and the authentication of a
message. Any cryptographic hash function, such as MD5
or SHA-1, may be used in the calculation of an HMAC;
the resulting MAC algorithm is termed HMAC-MD5 or
HMAC-SHA1 accordingly. The cryptographic strength of
the HMAC depends upon the cryptographic strength of
the underlying hash function, the size of its hash output,
and on the size and quality of the key.
Hash-based message authentication code (HMAC)
provides the server and the client each with a public and
private key. The public key is known, but the private key
is known only to that specific server and that specific
client. The client creates a unique HMAC, or hash, per
request to the server by combing the request data and
hashing that data, along with a private key and sending it
as part of a request. The server receives the request and
regenerates its own unique HMAC. The server compares
the two HMACs, and, if they're equal, the client is trusted
and the request is executed. This process is often called a
secret handshake.
HMAC can be expressed as:
HMAC ( K , M ) =
H [ K + ⊕ opad ) H [ K + ⊕ ipad ) M ]]
where
K = secret key; recommended length is ≥ n; if key
length is greater than b-bit block, the key is input to the
hash function to produce an n-bit key
M = message input to HMAC,
8
International Transaction of Electrical and Computer Engineers System
H = cryptographic hash function,
K+ = K padded with zeros on the left so that the result is
b bits in length,
⊕ = exclusive or ( XOR ) ,
∥= concatenation,
opad = 01011100 (5C in hexadecimal) repeated b/8
times,
ipad = 00110110 (36 in hexadecimal) repeated b/8
times.
6.2. CMAC
Cipher-based message authentication codes (CMACs)
[21] are a tool for calculating message authentication
codes using a block cipher coupled with a secret key.
CMAC can be used to verify both the integrity and
authenticity of a message. This mode of operation fixes
security deficiencies of CBC-MAC (CBC-MAC is secure
only for fixed-length messages). To generate an ℓ-bit
CMAC tag (t) of a message (m) using a b-bit block cipher
(E) and a secret key (k), one first generates two b-bit subkeys (k1 and k2).
Sub-keys (k1 and k2) Algorithm:
1) Calculate a temporary value k0 = Ek(0).
2) If msb(k0) = 0, then k1 = k0 ≪ 1, else k1 = (k0 ≪ 1) ⊕
C; where C is a certain constant that depends only on
b. (Specifically, C is the non-leading coefficients of
the lexicographically first irreducible degree-b binary
polynomial with the minimal number of ones.)
3) If msb(k1) = 0, then k2 = k1 ≪ 1, else k2 = (k1 ≪ 1) ⊕
C.
4) Return keys (k1, k2) for the MAC generation process.
CMAC Tag Generation Algorithm:
1) Divide message into b-bit blocks m = m1 ∥ … ∥
mn−1 ∥ mn′ where m1, …, mn−1 are complete blocks.
(The empty message is treated as 1 incomplete block.)
2) If mn′ is a complete block then mn = k1 ⊕ mn′ else mn
= k2 ⊕ (mn′∥ 10…02).
3) Let c0 = 00…02.
4) For i = 1,…, n, calculate ci = Ek(ci−1 ⊕ mi).
5) Output t = msbℓ(cn).
7. Network and Internet Security
Internet security is a tree branch of computer security
specifically related to the Internet, often involving browser
security but also network security on a more general level
as it applies to other applications or operating systems on
a whole. Its objective is to establish rules and measures to
use against attacks over the Internet. The Internet
represents an insecure channel for exchanging information
leading to a high risk of intrusion or fraud, such as
phishing. Different methods have been used to protect the
transfer of data, including encryption.
Network security involves the authorization of access to
data in a network, which is controlled by the network
administrator. Users choose or are assigned an ID and
password or other authenticating information that allows
them access to information and programs within their
authority.
Types of Network Security:
7.1. Wireless Network Security
Wireless security is the prevention of unauthorized
access or damage to computers using wireless networks.
The most common types of wireless security are Wired
Equivalent Privacy (WEP) and Wi-Fi Protected Access
(WPA). WEP is a notoriously weak security standard. The
password it uses can often be cracked in a few minutes
with a basic laptop computer and widely available
software tools. WAP security is primarily provided by the
Wireless Transport Layer Security (WTLS), which
provides security services between the mobile device
(client) and the WAP gateway to the Internet. There are
several approaches to WAP end-to-end security. One
notable approach assumes that the mobile device
implements TLS over TCP/IP and the wireless network
supports transfer of IP packets. The WAP architecture is
designed to cope with the two principal limitations of
wireless Web access: the limitations of the mobile node
(small screen size, limited input capability) and the low
data rates of wireless digital networks. Two important
WTLS concepts are the secure session and the secure
connection, which are defined in the specification as:
1) Secure connection: A connection is a transport (in
the OSI layering model definition) that provides a
suitable type of service. For SSL, such connections
are peer-to-peer relationships. The connections are
transient. Every connection is associated with one
session. Between any pair of parties (applications
such as HTTP on client and server), there may be
multiple secure connections. In theory, there may
also be multiple simultaneous sessions between
parties, but this feature is not used in practice.
2) Secure session: An SSL session is an association
between a client and a server. Sessions are created by
the Handshake Protocol. Sessions define a set of
cryptographic security parameters, which can be
shared among multiple connections. Sessions are
used to avoid the expensive negotiation of new
security parameters for each connection. There are a
number of states associated with each session. Once
a session is established, there is a current operating
state for both read and write (i.e., receive and send).
In addition, during the Handshake Protocol, pending
read and write states are created. Upon successful
conclusion of the Handshake Protocol, the pending
states become the current states.
7.2. IP Security
Internet Protocol Security (IPsec) is a protocol suite for
securing Internet Protocol (IP) communications by
authenticating and encrypting each IP packet of a
communication session. IPsec includes protocols for
establishing mutual authentication between agents at the
beginning of the session and negotiation of cryptographic
keys to be used during the session. IPsec can be used in
protecting data flows between a pair of hosts (host-tohost), between a pair of security gateways (network-tonetwork), or between a security gateway and a host
(network-to-host). IPsec is said to be especially useful for
implementing virtual private networks and for remote user
access through dial-up connection to private networks. A
big advantage of IPsec is that security arrangements can
International Transaction of Electrical and Computer Engineers System
be handled without requiring changes to individual user
computers.
IPsec provides two choices of security service:
Authentication Header (AH), which essentially allows
authentication of the sender of data, and Encapsulating
Security Payload (ESP), which supports both
authentication of the sender and encryption of data as well.
The specific information associated with each of these
services is inserted into the packet in a header that follows
the IP packet header. Separate key protocols can be
selected, such as the ISAKMP/Oakley protocol. IPsec uses
cryptographic security services to protect communications
over Internet Protocol (IP) networks. IPsec supports
network-level
peer
authentication,
data
origin
authentication, data integrity, data confidentiality
(encryption), and replay protection. IPsec protects any
application traffic over an IP network. Applications can be
automatically secured by IPsec at the IP layer.
7.2.1. Modes of Operation
IPsec can be implemented in a host-to-host transport
mode, as well as in a network tunneling mode.
In transport mode, only the payload of the IP packet is
usually encrypted and/or authenticated. The routing is
intact, since the IP header is neither modified nor
encrypted; however, when the authentication header is
used, the IP addresses cannot be translated, as this will
invalidate the hash value. The transport and application
layers are always secured by hash, so they cannot be
modified in any way (for example by translating the port
numbers).
In tunnel mode, the entire IP packet is encrypted and/or
authenticated. It is then encapsulated into a new IP packet
with a new IP header. Tunnel mode is used to create
virtual private networks for network-to-network
communications (e.g. between routers to link sites), hostto-network communications (e.g. remote user access) and
host-to-host communications (e.g. private chat).
7.3. Electronic Mail Security
Email is vulnerable to both passive and active attacks.
The protection of email from unauthorized access and
inspection is known as electronic privacy. In countries
with a constitutional guarantee of the secrecy of
correspondence, email is equated with letters and thus
legally protected from all forms of eavesdropping. With
the explosively growing reliance on e-mail, there grows a
demand for authentication and confidentiality services.
Two schemes stand out as approaches that enjoy
widespread use: Pretty Good Privacy (PGP) and
Secure/Multipurpose Internet Mail Extension S/MIME.
PGP is an open-source, freely available software
package for e-mail security. It provides authentication
through the use of digital signature, confidentiality
through the use of symmetric block encryption,
compression using the ZIP algorithm, and e-mail
compatibility using the radix-64 encoding scheme. PGP
incorporates tools for developing a public-key trust model
and public-key certificate management.
S/MIME is an Internet standard approach to e-mail
security that incorporates the same functionality as PGP. It
is a security enhancement to the MIME Internet e-mail
9
format standard based on technology from RSA Data
Security.
7.4. Transport-Level Security
Transport-Level Security (TLS) is an IETF
standardization initiative whose goal is to produce an
Internet standard version of SSL. Secure Socket Layer
(SSL) provides security services between TCP and
applications that use TCP. The Internet standard version is
called Transport Layer Service (TLS). The TLS Record
Format is the same as that of the SSL Record Format.
SSL/TLS provides confidentiality using symmetric
encryption and message integrity using a message
authentication code. SSL/TLS includes protocol
mechanisms to enable two TCP users to determine the
security mechanisms and services they will use. HTTPS
(HTTP over SSL) refers to the combination of HTTP and
SSL to implement secure communication between a Web
browser and a Web server. Secure Shell (SSH) provides
secure remote logon and other secure client/server
facilities. The SSH Connection Protocol runs on top of the
SSH Transport Layer Protocol and assumes that a secure
authentication connection is in use. All types of
communication using SSH, such as a terminal session, are
supported using separate channels.
8. Firewalls
A firewall forms a barrier through which the traffic
going in each direction must pass. A firewall security
policy dictates which traffic is authorized to pass in each
direction. Firewalls impose restrictions on incoming and
outgoing Network packets to and from private networks.
Incoming or outgoing traffic must pass through the
firewall; only authorized traffic is allowed to pass through
it. Firewalls create checkpoints between an internal private
network and the public Internet, also known as choke
points(borrowed from the identical military term of a
combat limiting geographical feature). Firewalls can
create choke points based on IP source and TCP port
number. They can also serve as the platform for IPsec.
Using tunnel mode capability, firewall can be used to
implement VPNs. Firewalls can also limit network
exposure by hiding the internal network system and
information from the public Internet. A firewall may be
designed to operate as a filter at the level of IP packets, or
may operate at a higher protocol layer.
8.1. Characteristics of Firewalls
Firewalls can be an effective means of protecting a
local system or network of systems from network-based
security threats while at the same time affording access to
the outside world via wide area networks and the Internet.
It includes following characteristics:
• All traffic from inside to outside, and vice versa,
must pass through the firewall. This is achieved by
physically blocking all access to the local network
except via the firewall.
• Only authorized traffic, as defined by the local
security policy, will be allowed to pass. Various
types of firewalls are used, which implement various
types of security policies.
10
International Transaction of Electrical and Computer Engineers System
• The firewall itself is immune to penetration. This
implies the use of a hardened system with a secured
operating system. Trusted computer systems are
suitable for hosting a firewall and often required in
government applications.
8.2. Types of Firewalls
A firewall may act as a packet filter. It can operate as a
positive filter, allowing to pass only packets that meet
specific criteria, or as a negative filter, rejecting any
packet that meets certain criteria. Depending on the type
of firewall, it may examine one or more protocol headers
in each packet, the payload of each packet, or the pattern
generated by a sequence of packets. Types of firewalls are
shown in Figure 8.
known as application proxy. The user contacts the
gateway using a TCP/IP application, such as Telnet or
FTP, and the gateway asks the user for the name of the
remote host to be accessed. When the user responds and
provides a valid user ID and authentication information,
the gateway contacts the application on the remote host
and relays TCP segments containing the application data
between the two endpoints. If the gateway does not
implement the proxy code for a specific application, the
service is not supported and cannot be forwarded across
the firewall. A network packet is forwarded only if a
connection is established using a known protocol.
Application-level gateways are notable for analyzing
entire messages rather than individual packets of data
when the data are being sent or received.
8.2.1. Packet Filter
A packet filter is a first generation firewall that
processes network traffic on a packet-by-packet basis. Its
main job is to filter traffic from a remote IP host, so a
router is needed to connect the internal network to the
Internet. The router is known as a screening router, which
screens packets leaving and entering the network. Because
packet filter firewalls do not examine upper-layer data,
they cannot prevent attacks that employ applicationspecific vulnerabilities or functions. For example, a packet
filter firewall cannot block specific application commands;
if a packet filter firewall allows a given application, all
functions available within that application will be
permitted. Packet filter firewalls are generally vulnerable
to attacks and exploits that take advantage of problems
within the TCP/IP specification and protocol stack, such
as network layer address spoofing. Many packet filter
firewalls cannot detect a network packet in which the OSI
Layer 3 addressing information has been altered. Spoofing
attacks are generally employed by intruders to bypass the
security controls implemented in a firewall platform.
8.2.2. Stateful Packet Inspection
In a stateful firewall the circuit-level gateway is a proxy
server that operates at the network level of an Open
Systems Interconnection (OSI) model and statically
defines what traffic will be allowed. Circuit proxies will
forward Network packets (formatted unit of data)
containing a given port number, if the port is permitted by
the algorithm. The main advantage of a proxy server is its
ability to provide Network Address Translation (NAT),
which can hide the user's IP address from the Internet,
effectively protecting all internal information from the
Internet. A stateful packet inspection firewall reviews the
same packet information as a packet filtering firewall, but
also records information about TCP connections. Some
stateful firewalls also keep track of TCP sequence
numbers to prevent attacks that depend on the sequence
number, such as session hijacking. Some even inspect
limited amounts of application data for some well-known
protocols like FTP, IM and SIPS commands, in order to
identify and track related connections.
8.2.3. Application-Level Gateway
An application-level firewall is a third generation
firewall where a proxy server operates at the very top of
the OSI model, the IP suite application level. It is also
Figure 8. Types of Firewalls
9. Conclusion and Future Work
With the explosive growth in the Internet, network and
data security have become an inevitable concern for any
organization whose internal private network is connected
to the Internet. The security for the data has become
highly important. User’s data privacy is a central question
over cloud. With more mathematical tools, cryptographic
schemes are getting more versatile and often involve
multiple keys for a single application.
The paper presented various schemes which are used in
cryptography for Network security purpose. Encrypt
message with strongly secure key which is known only by
sending and recipient end, is a significant aspect to acquire
robust security in cloud. The secure exchange of key
between sender and receiver is an important task. The key
management helps to maintain confidentiality of secret
International Transaction of Electrical and Computer Engineers System
information from unauthorized users. It can also check the
integrity of the exchanged message to verify the
authenticity. Network security covers the use of
cryptographic algorithms in network protocols and
network applications. This paper briefly introduces the
concept of computer security, focuses on the threats of
computer network security
In the future, work can be done on key distribution and
management as well as optimal cryptography algorithm
for data security over clouds.
[9]
[10]
[11]
[12]
[13]
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
Shyam Nandan Kumar, “Technique for Security of Multimedia
using Neural Network,” Paper id-IJRETM-2014-02-05-020,
IJRETM, Vol: 02, Issue: 05, pp.1-7. Sep-2014
Simmonds, A; Sandilands, P; van Ekert, L (2004). "An Ontology
for Network Security Attacks". Lecture Notes in Computer Science.
Lecture Notes in Computer Science 3285: 317-323.
Bellare, Mihir; Rogaway, Phillip (21 September 2005).
"Introduction". Introduction to Modern Cryptography. p. 10.
Menezes, A. J.; van Oorschot, P. C.; Vanstone, S. “A. Handbook
of Applied Cryptography”. ISBN 0-8493-8523-7.
Davis, R., “The Data Encryption Standard in Perspective,”
Proceeding of Communication Society magazine, IEEE, Volume
16 No 6, pp. 5-6, Nov. 1978.
S. NIST Special Publication 800-67, Recommendation for the
Triple Data Encryption Algorithm (TDEA) Block Cipher, May
2004.
Daemen, J., and Rijmen, V. "Rijndael: AES-The Advanced
Encryption Standard, Springer, Heidelberg, March 2001.
FIPS 197, Advanced Encryption Standard, Federal Information
Processing Standard, NIST, U.S. Dept. of Commerce, November
26, 2001.
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
11
Bruce Schneier (1993). "Description of a New Variable-Length
Key, 64-Bit Block Cipher (Blowfish)". Fast Software Encryption,
Cambridge Security Workshop Proceedings (Springer-Verlag):
191-204.
Schneier, Bruce (2005-11-23). "Twofish Cryptanalysis Rumors".
Schneier on Security blog. Retrieved 2013-01-14.
Matsui, Mitsuru; Tokita, Toshio (Dec 2000). "MISTY, KASUMI
and Camellia Cipher Algorithm Development". Mitsibishi Electric
Advance (Mitsibishi Electric corp.) 100: 2-8. ISSN 1345-3041.
General Report on the Design, Speification and Evaluation of
3GPP Standard Confidentiality and Integrity Algorithms". 3GPP.
2009
O. Dunkelman, N. Keller, A. Shamir, \A practical-time attack on
the KASUMI cryptosystem used in GSM and 3G telephony,"
Advances in Cryptology, Proceedings Crypto'10, LNCS, T. Rabin,
Ed., Springer, Heidelberg, 2010
R.L.Rivest, A.Shamir, and L.Adleman, “A Method for Obtaining
Digital
Signatures
and
Public-Key
Cryptosystems,”
Communication of the ACM, Volume 21 No. 2, Feb. 1978.
Diffie, W.; Hellman, M. (1976). "New directions in cryptography".
IEEE Transactions on Information Theory 22 (6): 644-654.
Koblitz, N., 1987. “Elliptic curve cryptosystems. Mathematics of
Computation” 48, 203-209.
Miller, V., 1985. “Use of elliptic curves in cryptography”.
CRYPTO 85.
FIPS 180, Secure Hash Standard, Federal Information Processing
Standard (FIPS), Publication 180, NIST, U.S. Dept. of Commerce,
May 11, 1993.
M. Lamberger, F. Mendel, C. Rechberger, V. Rijmen, M. Schla
er, \Rebound distinguishers: results on the full Whirlpool
compression function," Advances in Cryptology, Proceedings
Asiacrypt'09, LNCS 5912, M. Matsui, Ed., Springer, Heidelberg,
2009, pp. 126-143.
Bellare, Mihir; Canetti, Ran; Krawczyk, Hugo (1996). "Keying
Hash Functions for Message Authentication".
NIST Special Publication 800-38B, “Recommendation for Block
Cipher Modes of Operation”: The CMAC Mode for
Authentication, May 2005.