CYB 303 Cryptographic techniques
CYB 303 Cryptographic techniques
1 INTRODUCTION......................................................................................................................3
2 SYMMETRIC KEY CRYPTOGRAPHY................................................................................3
2.1 SYMMETRIC KEY DISTRIBUTION............................................................................................4
2.2 KEY AGREEMENT...................................................................................................................4
2.3 KEY EXCHANGE.....................................................................................................................4
3 PUBLIC KEY CRYPTOGRAPHY..........................................................................................4
3.1 RSA PUBLIC KEY CRYPTOGRAPHY.........................................................................................6
3.2 ELLIPTIC CURVE CRYPTOGRAPHY...........................................................................................7
3.3 DIGITAL SIGNATURES.............................................................................................................8
3.3.1 Hashing...........................................................................................................................8
3.3.2 Non-repudiation..............................................................................................................8
3.4 DIGITAL CERTIFICATES...........................................................................................................9
3.4.1 PKI Based on X.509........................................................................................................9
3.4.2 PKI Based on PGP..........................................................................................................9
4 CRYPTOGRAPHIC PROTOCOLS........................................................................................9
4.1 SSL........................................................................................................................................9
4.2 IPSEC...................................................................................................................................10
4.3 VIRTUAL PRIVATE NETWORKS..............................................................................................12
4.4 POINT-TO-POINT PROTOCOL................................................................................................12
5 REFERENCES.........................................................................................................................12
6 LIST OF ACRONYMS............................................................................................................13
Cryptography
1 Introduction
Cryptography is Greek for “hidden writing.” In computer-based cryptography, it is the art of
ciphering an easily understood message or “plain text” into one that cannot be easily deciphered.
Cryptography The art or science encompassing the principles and methods of transforming an
intelligible message into one that is unintelligible, and then retransforming that message back to
its original form
The basic components for a cryptographic system are a ciphering engine, a key exchange
mechanism, and a random number generator. A reversible ciphering engine will encrypt or
decrypt the plain text message using the same key, which is a secret known only to the parties
Cryptography is essential for maintaining the confidentiality, authenticity, and integrity CIA
triad) of messages that are communicated over untrustworthy channels.
Confidentiality is the assurance that only the owners of the keys can access the data.
Authenticity is the assurance that the originator of the message is not an imposter.
Integrity is the assurance that data has not been altered while in transit.
All ciphering methods are based on the principles of diffusion and confusion, which are terms
coined by Claude Shannon. Diffusion or transposition is the technique of transposing and
substituting characters or bits. The intent is to disperse the statistical nature of the encrypted
message or cipher text, and thereby hide its relationship with the plain text.
b. Active attacks
These attacks involve some modification of the data stream or the creation of a false stream.
These
Data Encryption Standard (DES) was one of the most popular symmetric encryption
algorithms, which was a published standard since 1977. However, in 1999, a team from the
Electronic Frontier Foundation managed to break the DES encryption in less than 24 hours.
Around the time of this event, the National Institute of Standards and Technology (NIST)
requested algorithm submissions for a new federal Advanced Encryption Standard (AES.) Five
contenders made it to the last round of selection. In October 2000 NIST selected the Rijndael
algorithm, which was developed by two Belgian cryptographers, Joan Daemen and Vincent
The Diffie-Hellman (DH) algorithm developed by Whitfield Diffie and Martin Hellman of
Stanford in 1976 is a popular method of key agreement. That is, the common secret key is
derived, rather than distributed by another system, via plain text communications across an
untrustworthy network. Correspondents agree on a large prime generator g and a large prime
number modulus n, each of which can be made public. The generator, g must have the property
that its exponentiation with a random number from the selected number space will result in a
large number of unique outcomes The simple idea of understanding to the DH Algorithm is the
following.
1. The first party picks two prime numbers, g and p and tells them to the second party.
2. The second party then picks a secret number (let’s call it a), and then it computes g a mod p
and sends the result back to the first party; let’s call the result A. Keep in mind that the secret
number is not sent to anyone, only the result is.
3. Then the first party does the same; it selects a secret number b and calculates the result B
similar to the
6. The first party takes the received number A and calculates Ab mod p
This is where it gets interesting; the answer in step 5 is the same as the answer in step 4. This
means both parties will get the same answer no matter the order of exponentiation.
Example
2. Alice selected private key a = 4, and Bob selected b = 3 as the private key
3. Both Alice and bob now calculate the value of x and y as follows:
4. Now, both Alice and Bob exchange public numbers with each other.
The following table summarizes the DH algorithm for secret key agreement:
Correspondent-A Correspondent-B
Publicly known: {g, n}
Transmit X Transmit Y
For a key that is 1024 bits long, an eavesdropper will need to compute the discrete log of both X
and Y many times in order to discover the random numbers A and B. The security of this method
relies on the fact that the computational intensity of the discrete log problem is expensive
because it will take existing computers many years to compute. However, as computing
technologies evolve, the computational time will continuously decrease.
Aside from using the algorithm for generating public keys, there are some other places where
DH Algorithm can be used:
Encryption: The Diffie Hellman key exchange algorithm can be used to encrypt; one of
the first schemes to do is ElGamal encryption. One modern example of it is called
Integrated Encryption Scheme, which provides security against chosen plain text and
chosen clipboard attacks.
Password Authenticated Agreement: When two parties share a password, a password-
authenticated key agreement can be used to prevent the Man in the middle attack. This
key Agreement can be in the form of Diffie-Hellman. Secure Remote Password Protocol
is a good example that is based on this technique.
Forward Secrecy: Forward secrecy-based protocols can generate new key pairs for each
new session, and they can automatically discard them when the session is finished. In
these forward Secrecy protocols, more often than not, the Diffie Hellman key exchange is
used.
Since it doesn’t authenticate any party in the transmission, the Diffie Hellman key exchange is
susceptible to a man-in-the-middle attack
Written Assignment: Write short notes on Advanced Encryption Algorithm showing how key
exchange takes place on it. Submit in the next class
Modular inverses are a pair of numbers in modular arithmetic that when multiplied together yield
unity. For example, the numbers 3 and 7 are modular inverses in modulo 10 arithmetic because
(3 x 7) MOD 10 = 1.
To encrypt a message, we essentially multiply numeric equivalents of it with the first number,
transmit the result as the encrypted message, and then multiply the received encryption with the
second number so as to recover the original message. We can view the overall process as
The success of public key cryptography for worldwide electronic commerce depends on the
establishment of a trusted third party that will authenticate and distribute public keys. This will
prevent imposters from claiming any public key as their own without first presenting proof of
authenticity. Even though public key cryptography can provide all of the needed security
functions while secret key cryptography cannot, it is not as practical to implement across all
platforms primarily because of its high computational complexity. Therefore, secret key
techniques are used for many networking applications, while public key techniques are used
when necessary to facilitate authentication and secret key exchanges.
RSA and Pretty Good Privacy (PGP), which was created in 1991 by Philip Zimmerman are
probably the two most well-known public key cryptographic systems. Figure 1 illustrates the
basic operation of a public key based message exchange.
Figure 1: Secure communications over an untrusted network using public key methods.
The sender first obtains the recipient’s public key from a trusted third party that vies for its
authenticity. Section 3.4 describes public key distribution and digital certificates. With the
assurance that the public key is indeed assigned to the intended recipient, the sender encrypts the
plain text message with the recipient’s public key B and transmits the encrypted message. The
recipient decrypts the ciphered message with its securely held private key B. However, this
process only provides confidentiality, which is the assurance that no one else could have
deciphered the message in transit, other than the recipient. However, the message itself could
have been intercepted, substituted, re-encrypted with the recipient’s public key, and delivered
The following is going to be a bit of a simplification, because too many readers have probably
been scarred by their high school math teacher. To keep the math from getting too out-of-hand,
we will be simplifying some concepts and using much smaller numbers. In reality, RSA
encryption uses prime numbers that are much larger in magnitude and there are a few other
complexities.
There are several different concepts you will have to get your head around before we can explain
how it all fits together. These include trapdoor functions, generating primes, Carmichael’s
totient function and the separate processes involved in computing the public and private
keys used in the encryption and decryption processes.
RSA encryption works under the premise that the algorithm is easy to compute in one direction,
but almost impossible in reverse. As an example, if you were told that 701,111 is a product of
two prime numbers, would you be able to figure out what those two numbers are?
907 x 773
It is known that the answer is the previously mentioned 701,111. This 907 and 773 are the prime
numbers that answer our first question, which shows us that certain equations can be easy to
figure out one way, but seemingly impossible in reverse.
Another interesting aspect of this equation is that it is simple to figure out one of the prime
numbers if you already have the other one, as well as the product. If you are told that 701,111 is
the result of 907 multiplied by another prime number, you can figure it out the other prime with
the following equation:
Since the relationship between these numbers is simple to compute in one direction, but
incredibly hard in reverse, the equation is known as a trap door function. Be aware that while
the above example is hard for people to figure out, computers can do the operation in a trivial
amount of time.
Because of this, RSA uses much larger numbers. The size of the primes in a real RSA
implementation varies, but in 2048-bit RSA, they would come together to make keys that are 617
digits long. To help you visualize it, a key would be a number of this size:
b. Generating primes
The trap door functions mentioned above form the basis for how public and private-key
encryption schemes work. Their properties allow public keys to be shared without
endangering the message or revealing the private key. They also allow data to be encrypted
with one key in a way that can only be decrypted by the other key from the pair.
The first step of encrypting a message with RSA is to generate the keys. To do this, we need two
prime numbers (p and q) which are selected with a primality test. A primality test is an
algorithm that efficiently finds prime numbers, such as the Rabin-Miller primality test.
Let’s say that the primality test gives us the prime numbers that we used above, 907 and 773. The
next step is to discover the modulus (n), using the following formula:
n=pxq
Therefore:
n = 907 x 773
n = 701,111
λ(n) = lcm (p − 1, q − 1)
If it’s been a while since you’ve hit the math textbooks, the above might look a bit terrifying. You
can skip over this part and just trust that the math works, otherwise stick with us for a few more
calculations. Everything will be explained in as much detail as possible to help you get your head
around the basics.
For those who aren’t aware, λ(n) represents Carmichael’s totient for n, while lcm means the
lowest common multiple, which is the lowest number that both p and q can divide into. There
are a few different ways to figure this out, but the easiest is to trust an online calculator to do the
equation for you. So let’s put our numbers into the equation:
λ(701,111) = 349,716
Now that we have Carmichael’s totient of our prime numbers, it’s time to figure out our public
key. Under RSA, public keys are made up of a prime number e, as well as modulus n (we
will explain what modulus means in a few paragraphs). The number e can be anything between 1
and the value for λ(n), which in our example is 349,716.
Because the public key is shared openly, it’s not so important for e to be a random number. In
practice, e is generally set at 65,537, because when much larger numbers are chosen randomly, it
makes encryption much less efficient. For today’s example, we will keep the numbers small to
make calculations efficient. Let’s say:
e = 11
Our final encrypted data is called the ciphertext (c). We derive it from our plaintext message (m),
by applying the public key with the following formula:
c = me mod n
As we mentioned, e mod n is the public key. We have already devised e and we know n as well.
The only thing we need to explain is mod. It’s a little bit out of the depth of this article, but it
refers to a modulo operation, which essentially means the remainder left over when you divide
one side by the other. For example:
10 mod 3 = 1
Back to our equation. To keep things simple, let’s say that the message (m) that we want to
encrypt and keep secret is just a single number, 4. Let’s plug everything in:
c = me mod n
Again, to make the modulo operation easy, we will be using an online calculator, but you are
welcome to figure it out for yourself. By entering 4,194,304 into the online calculator, it gives us:
c = 688,749
Therefore when we use RSA to encrypt our message, 4, with our public key, it gives us
the ciphertext of 688,749. The previous steps may have seemed a little too math-heavy, but it’s
important to reiterate what has actually happened.
In RSA encryption, once data or a message has been turned into ciphertext with a public key, it
can only be decrypted by the private key from the same key pair. Private keys are comprised
of d and n. We already know n, and the following equation is used to find d:
In the Generating the public key section above, we already decided that in our example, e would
equal 11. Similarly, we know that λ(n) equals 349,716 from our earlier work under Carmichael’s
totient function. Things get a little more complicated when we come across this section of the
formula:
1/e mod
This equation may look like it is asking you to divide 1 by 11, but that’s not the case. Instead, this
just symbolizes that we need to calculate the modular inverse of e (which in this case is 11)
and λ(n) (which in this case is 349,716).
This essentially means that instead of performing a standard modulo operation, we will be
using the inverse instead. This is normally found with the Extended Euclidean Algorithm, but
it’s a little outside of the scope of this article, so we will just cheat and use an online
calculator instead. Now that we understand everything that’s going on, let’s plug our information
into the formula:
To perform this operation, simply input 11 (or any value you may have for e if you are attempting
this with your own example) where it says Integer and 349,716 (or any value you may have
for λ(n) if you are attempting this with your own example) where it says Modulo in the online
calculator that was linked above. If you have done it correctly, you should get a result where:
Now that we have the value for d, we can decrypt messages that were encrypted with our public
key using the following formula:
m = cd mod n
We can now go back to the ciphertext that we encrypted under the Generating the private
key section. When we encrypted the message with the public key, it gave us a value for c of
688,749. From above, we know that d equals 254,339. We also know that n equals 701,111.
This gives us:
As you may have noticed, trying to take a number to the 254,339th power might be a little bit
much for most normal calculators. Instead, we will be using an online RSA decryption
calculator. If you wanted to do use another method, you would apply the powers as you normally
would and perform the modulus operation in the same way as we did in the Generating the
public key section.
In the calculator linked above, enter 701,111 where it says Supply Modulus: N, 254,399 where it
says Decryption Key: D, and 688,749 where it says Ciphertext Message in numeric form, as
shown below:(see the online calculator)
The above sections should give you a reasonable grasp of how the math behind public key
encryption works. It can be a little confusing, but even those who didn’t understand the
intricacies of the equations can hopefully take away some important information about the
process.
In the steps listed above, we have shown how two entities can securely communicate without
having previously shared a code beforehand. First, they each need to set up their own key
pairs and share the public key with one another. The two entities need to keep their private
keys secret in order for their communications to remain secure.
When the recipient receives the encrypted message, they use their private key to access the
data. If the recipient wants to return communications in a secure way, they can then encrypt
their message with the public key of the party they are communicating with. Again, once it
has been encrypted with the public key, the only way that the information can be accessed is
through the matching private key.
In this way, RSA encryption can be used by previously unknown parties to securely send data
between themselves. Significant parts of the communication channels that we use in our online
lives were built up from this foundation.
In our example, we simplified things a lot to make it easier to understand, which is why we
only encrypted a message of “4”. Being able to encrypt the number 4 doesn’t seem particularly
useful, so you might be wondering how you can encrypt a more complicated set of data,
such as a symmetric key (which is the most common use of RSA), or even a message.
Padding
When RSA is implemented, it uses something called padding to help prevent a number of
attacks. To explain how this works, we’ll start with an example. Let’s say you were sending a
coded message to a friend:
Dear Karen,
I hope you are well. Are we still having dinner tomorrow?
Yours sincerely,
James
Let’s say that you coded the message in a simple way, by changing each letter to the one that
follows it in the alphabet. This would change the message to:
Efbs Lbsfo,
J ipqf zpv bsf xfmm. Bsf xf tujmm ibwjoh ejoofs upnpsspx?
Zpvst tjodfsfmz,
Kbnft
If your enemies intercepted this letter, there is a trick that they could use to try and crack the
code. They could look at the format of your letter and try to guess what the message might
be saying. They know that people normally begin their letters with “Hi”, “Hello”, “Dear” or a
number of other conventions.
If they tried to apply “Hi” or “Hello” as the first word, they would see that it wouldn’t fit the
number of characters. They could then try “Dear”. It fits, but that doesn’t necessarily mean
anything. The attackers would just try it and see where it led them. So they would change the
letters “e”, “f”, “b”, and “s” with “d”, “e”, “a”, and “r” respectively. This would give them:
Dear Laseo,
J ipqe zpv are xemm. Are xe tujmm iawjoh djooes upnpsspx?
Zpvrt tjoderemz,
Kanet
Dear Lasen,
I ioqe you are xell. Are xe tuill iawinh dinnes uonossox?
Yours sincerely,
Kanet
After that modification, it looks like the attackers are starting to get somewhere. They have
found the words “I”, “you” and “are”, in addition to the words that made up their initial
guesses.
Seeing as the words are in correct grammatical order, the attackers can be pretty confident that
they are heading in the right direction. By now, they have probably also realized that the code
involved each letter being changed to the one that follows it in the alphabet. Once they realize
this, it makes it easy to translate the rest and read the original message.
The above example was just a simple code, but as you can see, the structure of a message can
give attackers clues about its content. Sure, it was difficult to figure out the message from
just its structure and it took some educated guesswork, but you need to keep in mind that
computers are much better at doing this than we are. This means that they can be used to
figure out far more complex codes in a much shorter time, based on clues that come from
the structure and other elements.
If the structure can lead to a code being cracked and reveal the contents of a message, then we
need some way to hide the structure in order to keep the message secure. This brings us
to padding.
When a message is padded, randomized data is added to hide the original formatting clues
that could lead to an encrypted message being broken.
Like most cryptosystems, the security of RSA depends on how it is implemented and used. One
important factor is the size of the key. The larger the number of bits in a key (essentially how
long the key is), the more difficult it is to crack through attacks such as brute-forcing and
factoring.
The public key includes the curve parameters (p, a, b), a point on the curve defined by an (x,y)
coordinate pair P, and another point on the curve Q that is a “special” translation of the point P
by some secret amount d. This secret amount d is the private key. The “special” translation is
such that d P = Q
This special translation operation is a one way function. That is, one cannot solve for the secret
translation scalar d simply by knowing the input and output coordinates P and Q respectively.
Therefore, correspondents at each end of the untrustworthy communications channel can easily
derive a shared secret key by combining their private key with the correspondent’s public key as
illustrated in the following table.
Correspondent-A Correspondent-B
Public Key A = {p, a, b, P, Qa} Public Key B = {p, a, b, P, Qb}
Transmit Qa = da P Transmit Qb = db P
Shared Key = da Qb = da (db P) Shared Key = db Qa = db (da P)
This form of key exchange works because the correspondent’s public key also contains the
private key in cryptic form. EC keys require about 20 bytes of storage compared with about 256
bytes for RSA keys. Researchers found that a 170 bit EC key length will give approximately the
same level of security as a 1024 bit RSA key. Smaller key sizes provide more flexibility for
storage in lowend computing devices such as smart cards.
3.3.1 Hashing
A hash function is a mathematical function that converts a numerical input value into another
compressed numerical value. The input to the hash function is of arbitrary length but output is
always of fixed length. Values returned by a hash function are called message digest or
simply hash values.
A Message Authentication Code (MAC) is another form of message compression and coding that
utilizes a secret key. Unlike a MIC, the correspondents using a MAC must share a secret key in
order to create and then to later verify the message authenticity. Most MACs are made with
secret key ciphers that are repeatedly applied to intermediate compressions of the message. For
example, Data Authentication Algorithm (DAA), the FIPS standard since 1985, is really a
combination of DES and a compression method. MACs execute much more slowly than MICs.
Therefore in 1996, cryptographers proposed the combination of MIC hashing with secret keys
and called it HMAC.
3.3.2 Non-repudiation
Non-repudiation is the assurance that the sender cannot deny having originated the message
because only one who has possession of the secret key could have constructed the digital
signature in question. In addition to confidentiality, authentication, and integrity, public key
Public Key Infrastructure (PKI) is a digital certificate administrative framework for public key
delivery. Well-known PKI standards are X.509 and Pretty Good Privacy (PGP.)
A root Certificate Authority (CA) in X.509 PKI is the first trusted source for authentic digital
certificates. The CA can also subcontract its responsibilities to trusted Registration Authorities
(RA) and hence form a trusted tree-structure for certificate distribution. Amongst other
information, the digital certificate consists of plain text identifying the issuer, the subject unique
identity (also called a distinguished name), the subject’s public key, signature method used, and a
certificate expiration date. Software vendors typically pay a CA to distribute public keys and so
already include CA public keys in their configuration parameters. These are called root
certificates because they are self-signed by the CA and contains the CA’s trusted public key.
Subjects need the CA’s public key to verify the CA’s digital signature on a certificate that it
issues.
The CA also issues a challenge message in order to be sure that the subject does indeed possess
the associated private key. In doing so, the CA encrypts a random message with the subject’s
public key and sends it. The subject decrypts the message with the private key and responds with
the plain text message. The CA verifies that the response is the same as the challenge plain text.
4 Cryptographic Protocols
4.1 SSL
Secure Socket Layer (SSL) is a data communications protocol primarily utilized by Internet
browsers to facilitate secret key exchanges and provide authentication, confidentiality, and
message integrity. It operates above TCP/IP. The IETF standardize it as the Transport Layer
4.2 IPSec
In simplest terms, IPSec can authenticate data entering and encrypt data leaving a
communications device. It is, however, a complex protocol and several books have been
dedicated to the subject (Doraswamy and Harkins 2003). Functionally, IPSec consists or two
main parts, secret key exchanges using Internet Key Exchange (IKE) by default, and bulk
encryption. The IKE manages authentication and key exchanges while the bulk encryption
process provides confidentiality and message integrity. The IKE is a two-phase protocol whereby
the first phase openly negotiates parameters to protect the second phase, which in turn negotiates
parameters in secrecy for the bulk encryption part. Once the parties agree on cryptographic
parameters, the bulk encryption part uses either of two protocols and either of two modes to
provide data packet assurances. Devices that use IPSec must also comply with policies that the
network manager defines in a Security Policy Database (SPD.) Figure 2 illustrates the overall
organization of the IPSec protocol.
IPSEC
SPD
Policies
Bulk
Phase 1 Encryption
© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 25/30
Figure 2: IPSec protocol architecture.
Unlike SSL/TSL, IKE involves two secret parameter exchanges in two phases so as to add
greater security and speed. These separate secret parameter exchanges or phases are also called
Security Associations (SA) because each result in the generation of many secret keys. Phase one
(also known as IKE-SA) key agreement uses Diffie-Hellman to initially establish an
authenticated and secure channel between the IPSec parties. Each party then derives three
separate keys for symmetric cryptographic exchanges. Phase two (also known as IPSec-SA)
cryptographic parameters and secret keys are then exchanged confidentially using phase one
secret keys. The phase two parameters are used for the bulk encryption process and different
secret keys are generated for different applications that IPSec services. These are derived much
faster than phase one parameters because a secure and authenticated channel has already been
established in phase one via more lengthy public key operations. For added security, IPSec
automatically updates phase two secret keys once they have aged beyond a pre-determined
lifetime. Phase one keys are updated less often because they involve more computationally
intensive public key methods. IPSec also requires a different SA for inbound and outbound
messages of the bulk encryption part of the protocol.
Once the key exchange phases are complete, IPSec is ready to encrypt packets via one of two
protocols and one of two modes. The protocol attribute controls the level of assurance, depending
on whether, or not one or both message confidentiality and integrity is required. The mode
attribute controls how much of the data packet will be protected by the protocol chosen.
The two protocol choices are Encapsulating Security Protection (ESP) and Authentication
Header (AH.) The mode choices are tunnel and transport. Therefore, there are four possible
combinations of protocols and modes. ESP provides both message integrity and confidentiality
whereas AH provides only message integrity. The ESP protocol encrypts both the upper layer
payload data and the source/destination IP addresses in tunnel mode but only the payload data in
transport mode. ESP also includes a signed hash (HMAC) of its own header and encrypted
portion of the packet. The encrypted data is also often padded in order to fix the length of the
packets. Fixed length data packets make it more difficult for eavesdropper to analyze the
statistical nature of the traffic flow between hosts. The AH protocol does not encrypt any of the
© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 26/30
packet. It provides message integrity by including a signed hash of the payload data in transport
mode and a signed hash of both the payload data and IP addresses in tunnel mode.
The ESP and AH headers contain a Security Parameters Index (SPI), sequence numbers, and
antireplay attributes. The SPI helps the receiver to quickly locate the governing SA in the
database. The sequence numbers and anti-replay attributes are used to detect packets that hackers
may copy and replay in an attempt to overload the IPSec protocol and possibly cause the host
application to ‘hang-up.’ The sender numbers each packet and the receiver looks within a pre-
determined window size for indication of duplicate sequence numbers. The receiver can ignore
packets with duplicate sequence numbers and, thereby, prevent hackers from flooding the system
with old packets.
Transport Tunnel
Authenticated Authenticated
AH Host IP
Addresses
AH
Header
HMAC
Plain-Text
{TCP/Data }
Gateway IP
Addresses
ESP
Header
HMAC
Host IP
Addresses
TCP/Data
Authenticated Authenticated
© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 27/30
Figure 3: Assurances from the four possible protocol/mode combinations of IPSec.
A Security Policy Database (SPD) stores a set of rules that every IPSec enabled host must follow.
These set of rules limit the degree with which its host can correspond with other computers on
the Internet.
Point to Point Tunneling Protocol (PPTP), Layer 2 Tunneling Protocol (L2TP), and IPSec are
examples of technologies used for establishing Virtual Private Networks (VPN’s.) Most IPSec
based VPN products utilize the ESP protocol with tunnel mode because it is the most robust
combination. Tunnel mode must be used when proxy gateways or servers (e.g. firewalls) are
established between the correspondent hosts. Tunnel mode conceals both the packet and the host
address headers. The proxy servers decrypt the packets before forwarding them to the addressed
hosts.
© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 28/30
communications. The decision to use encryption and compression are also determined in this
phase but the specific selections are made in the last phase.
Phase two involves client and server authentication and utilizes Password Authentication
Protocol (PAP), or Challenge Handshake Authentication Protocol (CHAP), or Microsoft
Challenge Handshake Authentication Protocol (MSCHAP). PAP communicates user name and
password in plain text and does not provide any security. CHAP utilizes a challenge and response
mechanism whereby the client sends an MD5 hash made with the password, and containing the
password, a random challenge string, and the session identification. The server verifies the MD5
hash with the password linked to the user name and thereby completes the authentication phase.
The third phase of PPP is an optional callback control mechanism whereby the NAS will
disconnect then call back the client at the specified phone number. The fourth and last phase
invokes the various control protocols selected in the previous phases. In addition, both data
compression and encryption protocols will be selected. Finally, data transfer begins with an
encapsulation of the packets with PPP headers.
List of Acronyms
Acronym Meaning
802.11a A section of the IEEE 802.11 standard that specifies WLAN networks for speeds up to 54
MBPS using OFDM for channel access and QPSK or QAM for carrier modulation. In
general, the 802.11 standard specifies channel sharing via CSMA/CA mechanisms that are
managed by the MAC.
802.11b A section of the IEEE 802.11 standard that specifies WLAN networks for speeds up to 11
MBPS using DSSS for channel access and QPSK for carrier modulation.
API Applications programmer interface.
CSMA/CA Carrier sense multiple access/collision avoidance.
HTTP Hypertext transfer protocol.
IP Internetworking protocol.
IPsec IP Security – a set of protocols for secure exchange of Internet packets.
ITU International telecommunications union.
LLC Logical link control – upper sublayer of the data link layer as defined by IEEE 802.2.
© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 29/30
MAC Media access control.
MSC Mobile switching center.
NAS Network Authentication Server
PHY Physical (layer.)
PGP Pretty Good Privacy
PKI Public Key Infrastructure
PPP Point to point protocol.
RADIUS Remote Authentication Dial-In User Service.
RTP Real-time protocol.
TCP Transmission control protocol.
UDP User datagram protocol.
VoIP Voice-over-Internetworking protocol.
VPN Virtual private network.
WLAN Wireless local area network.
WWAN Wireless wide area network.
© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 30/30