Professional Documents
Culture Documents
Cryptographic
Authentication
For
DEPARTMENT OF COMPUTER
APPLICATIONS,CUSAT
A Seminar report
Submitted for partial fulfillment of Degree of
Master Of Computer Applications
By
NIRMAL PODDAR
KOCHI- 682022
KERALA.
Certificate
Certified that this bonafide record of seminar entitled
Done by
NIRMAL PODDAR
Dr. K. V. Pramod
CONTENTS
Introduction to Cryptography
Cryptographic Authentication
Three Basic Cryptographic Methods
o Something you know
Password, OTP
o Something you have
Smart Card, ATM Card , OTP Card
o Something you are
Finger Print
Multifactor Authentication
Other cryptographic Authentication Methods
o Password
o One Time Password
o Public Key Cryptographic
Elliptic Curve Cryptography
o Zero Knowledge Proofs
Fiet – Shamir Protocol
Ali – Baba’s Cave
o Digital Certificate
Cryptography is a method of storing and transmitting data in a form that only those
it is intended for can read and process. It is a science of protecting information by encoding
it into an unreadable format.
Cryptography is an effective way of protecting sensitive information as it is stored on
media or transmitted through network communication paths. Although the ultimate goal of
cryptography, and the mechanisms that make it up, is to hide information from un-
authorized individuals, most algorithms can be broken and the information can be revealed
if the attacker has enough time, desire, and resources. So a more realistic goal of
cryptography is to make obtaining the information too work-intensive to be worth it to the
attacker.
The first encryption methods date back to 4,000 years ago and were considered more of an
ancient art. As encryption evolved, it was mainly used to pass messages through hostile
environments of war, crisis, and for negotiation processes between conflicting groups of
people.
Throughout history, individuals and governments have worked to protect
communication by encrypting it. As time went on, the encryption algorithms and the devices
that used them increased in complexity, new methods and algorithms were continually
introduced, and it became an integrated part of the computing world.
Cryptography Definitions
• Algorithm Set of mathematical rules used in encryption and decryption
• Key Secret sequence of bits and instructions that governs the act of
encryption
and decryption
Cryptographic authentication :
The process of identifying one’s identity
Problem :
Eavesdropping
To avoid the problem of using same password each time ,it’s alternative
One Time Password (OTP) has been developed . But it is difficult to remember
new password each time .
Smart Card: A smart card is more useful and secure than a magnetic strip card.
The card can hold up to 80 times more data and is much harder to copy a chip than
Cryptographic Authentication Page 6
Cryptographic Authentication 2010
magnetic strip. Data is protected because it is encrypted inside the chip. Although it
is not possible to steal data from the chip, the high cost and computing power
required deters criminals. The memory chip requires authentication before stored
data is unlocked.
Telephone calls – prepaid telephone cards are credited with a number units to make
calls
Cell Phones – Smart cards in cell phones contain subscriber information to identify
the user to the network.
Computer Security – to gain access to a personal computer, a smart card can
authenticate the user.
Travel – Many subway systems use prepaid smart cards instead of tickets,
passengers swipe their cards to gain access.
Health – smart cards provide an easy and safe way of storing and checking
confidential medical information.
ATM Card : An ATM card is a plastic card that looks like a credit card. It allows you to do
the same things at a bank machine or Automatic Teller Machine (ATM) as you would at a
bank. You can get cash, deposit money, check account balances, and receive a copy of your
statement all electronically by using your ATM card and the password to your account,
which is called your Personal Identification Number, or PIN.
Why biometrics?
Biometrics authenticates an individual based on its unique characteristics. One can
consider himself as his own password, which can hardly be forgotten, stolen and forged.
Thus, biometrics provides a securer solution comparing with PIN or Smart Card
identification. Biometrics can also be widely found in many other applications such as time
attendance management.
One of the major biometrics applications is access control. PIN and Smart Card system
recognize the PIN or the card instead of you - it identifies what you posses. In other words,
someone can claim that he is you by using your PIN or your smart card. However, a
biometrics system with fingerprint technology recognizes your finger instead of the PIN or
card - it identifies who you are. It will never grant access to anyone else except you.
Another major biometrics application is time attendance management. Most of the existing
time attendance systems are based on smart card. Lost and damaged cards and cheating on
the system can lead to huge financial loss to the company. Using employee's fingerprint to
mark attendance instead is far more accurate, efficient, cost saving and cheat proof. The
daily attendance report can help the HR manager to save a bundle of time.
In two factor authentication, the password still provides the something you know
component. In the most common implementations of two factor authentication, the
something you have component is provided by a small token card. The token card is a
compact electronic
device which displays a number on a small screen. By entering this number into the system
when you attempt to authenticate (login), you prove that that you are in possession of the
card.
Password :
What is password security?
In order to keep your information secure you must keep your password secure. The
following are not the only ways to keep your password secure but they are a good
start:
Do not keep your password in open and public spaces (no sticky notes on
your monitors!).
Change your password periodically.
Do not use the same password for everything.
If you think your password may have been compromised, change it
immediately.
Never tell anyone your password.
Passphrases are more secure than passwords because they are generally longer,
making them less vulnerable to attack. With technology increasing every day we
strongly recommend using passphrases to secure your accounts.
Passphrase selection:
For application that requires higher level of security than static password can
deliver , the KerPass mobile client allows setting a dedicated token that
generates OATH (time synchronous) one time password. A new "PassCode"
can be generated every 30 seconds , and it remains valid for at most 5 minutes.
The scheme shown in Figure , lets you freely distribute a public key, and only
you will be able to read data encrypted using this key. In general, to send
encrypted data to someone, you encrypt the data with that person's public
key, and the person receiving the encrypted data decrypts it with the
corresponding private key.
One Important Authentication method : ECC
Elliptic Curve Groups: The set of points on an elliptic curve, plus a special
point form and additive group. The addition of two points on an elliptic
curve is defined geometrically, as shown in the following example.
Elliptic curve groups over real numbers are not practical for cryptography due to slowness of
calculations and round-off error. This Elliptic Curves Over Finite Fields are used. An elliptic
Fp
curve over a finite field of characteristic greater than three can be formed by choosing
F
the variables a and b within the field p .
Roughly speaking the elliptic curve is then the set of points ( x, y ) which satisfy the elliptic
x, y Fp
curve equation y x ax b modulo p , where
2 3
; together with a special point
It is well known that EGC (the Elliptic Curve Group) is an additive abelian group with
serving as its identity element.
Example: In the ECG of y x x over the field F23 the point (9,5) satisfies the equation
2 3 2
Obviously we no longer have a curve to define our addition geometrically. Emulating the
Fp
geometric construction for addition, the formulas for addition over (characteristic 3) are
y3 ( x1 x3 ) y1
and
y2 y1
x x if PQ
2 1
2
3 x1 a if PQ
2 y1
Cryptographic Authentication Page 13
Cryptographic Authentication 2010
These formulas can be easily calculated with computers. For field of characteristic 2 the
equations for addition are worse!
Fp
In the multiplication group , the discrete logarithm problem that is: Given
F
elements r and q in p , find a number k such that r qk (mod p ) .
Similarly the Elliptic Curve Discrete Logarithm Problem is: Given points P and Q in an
ECG over a finite field find an integer k such that Pk Q . Here k is called the
discrete log of Q to the base P.
This doesn’t seem like a difficult problem, but if you don’t know what k is calculating
Pk Q takes roughly 2k 2 operations. So if k is say, 160 bits long, then it would take about
280 operations!! To put this into perspective, if you could do a billion operations per
second, this would take about 38 million years. This is a huge savings over the standard
public key encryption system where 1024 and 3074 bit keys are recommended. The smaller
size of the keys for Elliptic Curve Encryption makes it idea for applications such as encrypting
cell-phone calls, credit card transactions, and other applications where memory and speed
are an issue. There are pros and cons to both ECC and RSA encryption. ECC is faster then
RSA for signing and decryption, but slower than RSA for signature verification and
encryption. Much of the material used in this paper can be found in the websites listed in
the references.
Zero-Knowledge Proofs
Goldwasser, Micali, and Rackoff first put forward the basic notion of Zero-Knowledge Proof
in 1985. Zero-Knowledge (ZK) protocol is an instance of interactive proof protocol. An
interactive proof protocol is one that authenticates a prover to a verifier using challenge-
response mechanism. In this kind, the verifier can accept or reject the prover at the end of
their communication.
The ZK protocol overcomes major concerns with widely used password based
authentication. In a simple password based authentication, the verifier authenticates the
prover based on a password. The verifier has some, if not complete, knowledge of the
prover’s password. The verifier can thus impersonate the prover to a third party with whom
the prover may share the same password. The main objective of zero-knowledge protocol is
to enable the prover convince the verifier that she knows the secret without revealing any
information about the secret itself. ZK protocols are mostly probabilistic, where the proofs
hold good with a very high probability of success, and are not necessarily absolute. So, the
verifier may either accept or reject the proof after exchanging multiple messages. The
messages consist of challenges and responses. The probability of error can be reduced to a
desirable level by increasing the number of challenges and responses.
There are different variations of zero-knowledge protocols that exist. Some of them are
Perfect ZK, Resettable ZK, Concurrent ZK, Statistical ZK etc.
Zero knowledge transfer – As the verifier does not learn anything about prover’s secret s (no
knowledge transferred between two parties), he cannot impersonate the prover to a third
person. Also the prover cannot cheat the verifier with several iterations of the protocol.
Degradation – The security of protocol itself does not get degraded with continuous use as
no information about the secret is divulged.
Fiat-Shamir identification protocol is an example of ZK protocol. In this protocol Alice proves to Bob
her knowledge of a secret, s, using many rounds of three message challenge-responses.
Step1 - A random modulus, n, product of two large prime numbers p and q, is generated by a
Trusted Party. The trusted party keeps the primes p and q secret and publishes n.
Step2 -Alice, the prover selects a secret s, relatively prime to n. Alice, then makes v (=s2) public.
Step3 -To prove her knowledge of the secret s, Alice chooses a random number r, (1 r n-1) using a
random generator. She sends x = r2 mod n, to Bob, the verifier. This is her commitment to
authentication.
Step5 -Alice computes the response y = r se mod n, where e {0,1} is the challenge she receives from
Bob. Thus, depending on Bob’s challenge, 0 or 1, Alice responds with r or, r.se mod n.
Step6 -Bob accepts the response upon checking y 2 x * ve mod n, and rejects if y = 0.
Steps 3-6 are repeated every time Alice wants to prove her knowledge of the secret, symbolically
represented in Fig- 1.
A B: x = r2 mod n
A B: e {0,1}
A B: y = r * se mod n
After several iterations, with a very high probability Bob can verify Alice’s
identification. Also Alice’s response in either case does not reveal the secret s
(with y = r or y = r* s mod n).
Since the prover is required to commit a value (the random number r) before the
verifier sends a challenge, the probability that a dishonest impersonator can
authenticate as Alice is only ½. Repeating the above steps several times decreases
the probability that an impersonator without knowledge of the secret can get the
correct response.
It is important that Alice does not repeat the random number r. Bob can collect a
set of Alice’s responses and learn about the secret s, with repeated r. Later Bob
can impersonate Alice to a third person.
ZK protocols are used for many real-time applications like authentication, e-voting,
watermark verification, etc. Some products like Sky’s VideoCrypt, Microsoft’s NGSCB also
use ZK protocols. Here, a few of them are mentioned.
Digital Signature
Some algorithms can only perform encryption, whereas others can perform
digital signatures and encryption. When hashing is involved, a hashing
algorithm is used, not an encryption algorithm.
Key Generation :
p : Prime number where 2 L-1 < p < 2L
For 512 <= L <= 1024 and L is multiple of 64;
q : Prime devisor of (P-1) , where 2 159 < q < 2 160;
g : h (p-1)/q mod p, where h is any integer with 1 < h < (p-1)
such that h (p-1)/q mod p > 1
Signing :
R = (g k mod) mod q
S = [k -1(H(M) + xr)] mod q
Signature = (r , s)
Verifying :
w = (s’) -1 mod q
u1 = [H(M’)w] mod q
u2 = (r’)w mod q
v = [(g u1 y u2) mod p] mod q
Test : v = r’
Conclusion
User authentication can be handled using one or more different
authentication methods. Some authentication methods such as plain
password authentication are easily implemented but are in general weak
and primitive.
The fact that plain password authentication it is still by far the most
widely used form of authentication, gives credence to the seriousness of
the lack of security on both the Internet and within private networks.
Other methods of authentication, that may be more complex and
require more time to implement and maintain, provide strong and
reliable authentication (provided one keeps its secrets secret, i.e. private
keys and phrases).
References
Cryptography and Network Security ,Principles and Practices – William
Stallings
http://en.wikipedia.org
www.google.com , etc