Network Security Cryptography Notes
Network Security Cryptography Notes
A digital certificate is a way to confirm the identity of a public key owner. Normally, a third
party organization, known as CA (certification authority), is responsible for confirming or
binding the identity of a digital certificate owner. It is used to establish secure communication
between two parties who are unknown to each other or have a lack of trust. Digital certificate can
assure that the person who you want to establish communication with is actually the person who
he claims to be.
So, the main reason for using a digital certificate is building trust between two parties who want
to communicate securely. We can verify an unknown person’s identity when a well-known
organization endorses the identity of that person. In the case of a digital certificate, the CA or
certificate authority endorses the identity of the certificate owner, in simple words, a CA offers a
notarization server to give reasonable assurance that the owner of the certificate is authentic.
● Step-1: Key generation is done by either user or registration authority. The public key
which is generated is sent to the registration authority and the private key is kept secret
by the user.
● Step-2: In the next step the registration authority registers the user.
● Step-3: Next step is verification which is done by registration authority in which the
user’s credentials are being verified by registration authority. It also checks that the user
who sends the public key has a corresponding private key or not.
● Step-4: In this step the details are sent to certificate authority by the registration
authority who creates the digital certificate and gives it to users and also keeps a copy to
itself.
What is the purpose of PKI? Explain the role of PKI?
Public Key Infrastructure (PKI) is a system that allows for secure communication over the
internet by using public key cryptography. The purpose of PKI is to provide a way for people to
securely exchange information, such as sensitive data or confidential documents, without fear of
interception or eavesdropping.
PKI accomplishes this by using digital certificates, which are essentially electronic documents
that serve as proof of identity for a particular user or entity. These certificates are issued by
trusted third-party organizations, called Certificate Authorities (CAs), who verify the identity of
the certificate holder and vouch for their authenticity. By using PKI, users can be confident that
their communications are secure and that they are communicating with the intended recipient.
The role of Public Key Infrastructure (PKI) in cryptography is to provide a framework for
securely transmitting and verifying cryptographic keys. PKI uses public key cryptography to
encrypt and decrypt messages, and it relies on a network of trusted entities to manage and
validate the digital certificates that are used to identify users and devices. Some of the key roles
that PKI plays in cryptography include:
Authentication: PKI provides a way to authenticate the identity of users and devices, which
helps to prevent unauthorized access and ensure the integrity of communications.
Encryption and decryption: PKI allows for secure transmission of messages by using public
key cryptography to encrypt messages and decrypt them with the corresponding private key.
Integrity and non-repudiation: PKI ensures the integrity of messages by providing a digital
signature that verifies that the message has not been tampered with, and it provides
non-repudiation by making it difficult for users to deny that they sent a message.
Key management: PKI provides a framework for managing and distributing cryptographic keys,
which helps to ensure that keys are used securely and that they remain confidential.
Overall, PKI plays a critical role in cryptography by providing a secure and trusted framework
for managing cryptographic keys and protecting communications.
● As we know, the X.509 standard defines the digital-certificate structure, format and
fields.
● It also specifies the procedure for distributing the public keys.
● In order to extend such standards and make them universal, the Internet Engineering Task
Force (IETF) formed the Public Key Infrastructure X.509(PKIX) working group.
● This extends the basic philosophy of the X.509 standard, and specifies how the digital
certificates can be deployed in the world of the Internet.
● Services of PKIX : PKIX identifies the primary goals of a PKI infrastructure in the form
of the following broad level services:
Registration -It is the process where an end-entity (subject) makes itself known to a CA.
Usually, this is via an RA.
Initialization– This deals with the basic problems, such as the methodology of verifying
that the end-entity is talking to the right CA.
Certification-In this step, the CA creates a digital certificate for the end-entity and
returns it to the end-entity, maintains a copy for its own records, and also copies it in
public directories, if required.
Key-Pair Recovery Keys– used for encryption may be required to be recovered at a later
date for decrypting some old documents. Key archival and recovery services can be
provided by a CA or by an independent key-recovery system.
Key Generation PKIX specifies that the end-entity should be able to generate
private-and public-key pairs, or the CA/RA should be able to do this for the end-entity
(and then distribute these keys securely to the end-entity).
Key Update
This allows a smooth transition from one expiring key pair to a fresh one, by the
automatic renewal of digital certificates. However, there is a provision for manual digital
certificate renewal request and response.
Cross-certification
Helps in establishing trust models, so that end-entities that are certified by different CAs
can cross-verify each other.
Revocation PKIX provides support for the checking of the certificate status in two
modes: online (using OCSP) or offline (using CRL).
The PKCS model was initially developed by RSA Laboratories with help from representatives
of the government, industry, and academia.
This would help organizations develop and implement inter-operable PKI solutions, rather than
everyone choosing their own standard.
PKCS standard :
● we first encrypt the plain-text message with the symmetric key, and
● then encrypt the symmetric key with a Key Encryption Key (KEK).
● This protects the symmetric key from an unauthorized access
PKCS#11—Cryptographic Token Interface Standard :
● This standard specifies the operations performed using a hardware token, such as
a smart card.
● A smart card is similar to a credit card or an ATM card in terms of its look and
feel. However, a smart card is smart in the sense that it has its own cryptographic
processor and memory on the card itself.
● In simple terms, a smart card is a small microprocessor with its own memory,
inside a plastic cover.
● The PKCS#The 12 standard was developed to solve the problem of certificate and
private-key storage and transfer.
● More specifically, how does one store/transfer one’s certificate and private key
securely, without worrying about their tampering? This is especially true in the
case of Web-browser users.
The EXtensible Markup Language (XML) is at the centerstage of the modern world of
technology. XML forms the backbone of the upcoming technologies, such as Web services.
Almost every aspect of Internet programming is concerned with XML. The overall technology
related to XML and security can be summarized as shown in Fig.
XML and security
XML Encryption
The most interesting part about XML encryption is that we can encrypt an entire document, or
its selected portions. This is very difficult to achieve in the non-XML world. We can encrypt one
or all of the following portions of an XML document:
The steps involved in XML encryption are quite simple, and are as follows:
1. Select the XML to be encrypted (one of the items listed earlier, i.e. all or part of
an XML document).
2. Convert the data to be encrypted in a canonical form (optional).
3. Encrypt the result using public key encryption.
4. Send the encrypted XML document to the intended recipient.
Figure shows a sample XML document, containing the details of a credit card user.
They are also useful from the perspective of new technologies such as XML digital signature.
This technology treats a message or a document as consisting of many elements, and provides for
the signing of one or more such elements. This makes the signature process flexible and more
practical in nature.
A simplistic example of an XML digital signature is shown in Fig. 5.47. We shall also explain
the
important aspects of the signature.
XML Digital signature example (simplified)
PKI
Public Key Infrastructure (PKI) is a system that allows for secure communication over the
internet by using public key cryptography. The purpose of PKI is to provide a way for people to
securely exchange information, such as sensitive data or confidential documents, without fear of
interception or eavesdropping.
PKI accomplishes this by using digital certificates, which are essentially electronic documents
that serve as proof of identity for a particular user or entity. These certificates are issued by
trusted third-party organizations, called Certificate Authorities (CAs), who verify the identity of
the certificate holder and vouch for their authenticity. By using PKI, users can be confident that
their communications are secure and that they are communicating with the intended recipient.
The role of Public Key Infrastructure (PKI) in cryptography is to provide a framework for
securely transmitting and verifying cryptographic keys. PKI uses public key cryptography to
encrypt and decrypt messages, and it relies on a network of trusted entities to manage and
validate the digital certificates that are used to identify users and devices. Some of the key roles
that PKI plays in cryptography include:
1. Authentication: PKI provides a way to authenticate the identity of users and devices,
which helps to prevent unauthorized access and ensure the integrity of communications.
2. Encryption and decryption: PKI allows for secure transmission of messages by using
public key cryptography to encrypt messages and decrypt them with the corresponding
private key.
3. Integrity and non-repudiation: PKI ensures the integrity of messages by providing a
digital signature that verifies that the message has not been tampered with, and it provides
non-repudiation by making it difficult for users to deny that they sent a message.
4. Key management: PKI provides a framework for managing and distributing cryptographic
keys, which helps to ensure that keys are used securely and that they remain confidential.
Overall, PKI plays a critical role in cryptography by providing a secure and trusted framework
for managing cryptographic keys and protecting communications.
Security:
Security is a critical aspect of cryptography as it ensures that digital communication is protected
from unauthorized access, interception, modification, or deletion. Cryptography provides several
security measures to safeguard digital communication, including:
Cryptography plays a critical role in ensuring the security of digital communication. It provides
several security measures, including confidentiality, integrity, authentication, non-repudiation,
and secure key management. By using these measures, digital communication can be protected
from unauthorized access, interception, modification, or deletion.
Time-Stamp Protocol
The Time-Stamp Protocol, or TSP is a cryptographic protocol for certifying timestamps using
X.509 certificates and public key infrastructure. The timestamp is the signer's assertion that a
piece of electronic data existed at or before a particular time. The protocol is defined in RFC
3161. One application of the protocol is to show that a digital signature was issued before a point
in time, for example before the corresponding certificate was revoked.
Participants in SET: In the general scenario of online transactions, SET includes similar
participants:
1. Cardholder – customer
2. Issuer – customer financial institution
3. Merchant
4. Acquirer – Merchant financial
5. Certificate authority – Authority that follows certain standards and issues
certificates(like X.509V3) to all other participants.
SET functionalities:
● Provide Authentication
○ Merchant Authentication – To prevent theft, SET allows
customers to check previous relationships between merchants and
financial institutions. Standard X.509V3 certificates are used for
this verification.
○ Customer / Cardholder Authentication – SET checks if the use
of a credit card is done by an authorized user or not using
X.509V3 certificates.
● Provide Message Confidentiality: Confidentiality refers to preventing unintended
people from reading the message being transferred. SET implements confidentiality
by using encryption techniques. Traditionally DES is used for encryption purposes.
● Provide Message Integrity: SET doesn’t allow message modification with the help
of signatures. Messages are protected against unauthorized modification using RSA
digital signatures with SHA-1 and some using HMAC with SHA-1.
What is 3D Secure?
3D Secure is a protocol that allows for two-factor authentication, or 2FA, when making cardless
payments. If your card provider uses 3D Secure, then you’ll be prompted to take an extra step to
confirm your identity when making payments that don’t involve a physical card.
The extra step might be a special PIN that you input in the payment portal, or it could involve
biometric authentication — your thumbprint, for example. The system is designed to make
cardless payments dependent on some element that a criminal is unlikely to have access to, even
if they’ve stolen your card details.
The name is derived from the fact that, during the secure payment process, three domains are
involved — the domain making the payment, the domain receiving it, and the interoperability
domain (essentially, all the systems in between).