0% found this document useful (0 votes)
8 views

Digital_signature_certificate

Digital certificates are electronic documents that verify identities and enable secure online transactions through public key infrastructure (PKI). They contain identity details and a public key, and are issued by Certificate Authorities (CAs) after verifying the applicant's identity. Different types of certificates serve various purposes, such as securing websites, emails, and software, and they must be renewed periodically to maintain trust.

Uploaded by

surajkushwahapc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Digital_signature_certificate

Digital certificates are electronic documents that verify identities and enable secure online transactions through public key infrastructure (PKI). They contain identity details and a public key, and are issued by Certificate Authorities (CAs) after verifying the applicant's identity. Different types of certificates serve various purposes, such as securing websites, emails, and software, and they must be renewed periodically to maintain trust.

Uploaded by

surajkushwahapc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Digital Certificates: Digital certificates, also known as public key certificates, are

electronic documents that help establish trust online by verifying the identity of individuals,
computers, and organizations. They enable secure electronic transfer of information and
provide proof of identity in electronic transactions.
● Digital certificates are used for online identification and authentication. They help
establish trust between two parties.
● Certificates contain identity details like name, email, organization, location, etc.,
along with a public key.
● The certificate is digitally signed by a Certificate Authority (CA) like Sectigo,
DigiCert, GlobalSign, etc. This verifies the identity of the certificate holder.
● Certificates secure communications and transactions through SSL/TLS protocols. The
public key encrypts data that can only be decrypted by the private key holder.
● Certificates are used to establish secure connections to websites (HTTPS), sign
emails, secure documents, verify software and more.
● Different types of certificates serve different purposes, such as domain validation,
organization validation, extended validation, and code signing.
● The validity period of certificates ranges from a few months to multiple years.
Certificates need to be renewed before expiry to maintain trust.
How Do Digital Certificates Work?
Digital certificates establish trust through a process called Public Key Infrastructure (PKI).
This involves the generation of a public/private cryptographic key pair and issuing a
certificate binding the public key to the individual’s identity. Here are the steps:
● The certificate applicant generates a key pair consisting of a public and private
key through software like OpenSSL.
● The applicant provides identity details to the Certificate Authority (CA) along with
the public key.
● The CA verifies the identity of the applicant through appropriate checks.
● The CA issues a digital certificate containing the applicant’s identity details and their
public key.
● The certificate is digitally signed with the CA’s private key to prove they verified the
applicant’s identity.
● The applicant can now share their certificate containing the public key freely.
● The applicant keeps the private key secure. It is used to decrypt data encrypted with
the public key.
● Relying parties can verify the certificate signature with the CA’s public key to
authenticate the certificate holder’s identity.
● The public key in the certificate can then be used to exchange information with the
certificate holder securely.
What Information Does a Digital Certificate Contain?
A digital certificate is an electronic document that contains identity details about an entity
along with its public key. The standard fields in a digital certificate include:
● Subject: This contains identity information like the common name (domain name,
organization name, or individual’s name), organization unit, organization name,
locality, state, country, etc.
● Issuer: The name of the Certificate Authority that issued the certificate.
● Serial number: A unique serial number assigned to the certificate by the CA.
● Validity: Certificates are valid only for a specific period mentioned by start and end
dates.
● Public key: The public key corresponding to the entity that can be used to encrypt
data.
● Signature algorithm: Algorithms like SHA-1 and SHA-256 are used by the CA to
sign the certificate.
● Signature: The digital signature added by the CA to verify the authenticity of the
certificate.
Some additional fields may include:
● Subject Alternative Name: Other identities like DNS names, IP addresses, email,
etc.
● Key Usage: Permitted uses for the public key, such as web server authentication,
email signing, etc.
● Extended Key Usage: Additional key usage scenarios like client authentication, code
signing, etc.
● Certificate Policies: Policies under which the certificate was issued.
● Authority Information Access: Details on how to access information on the issuing
CA.
What are the Different Types of Digital Certificates
There are different types of digital certificates suited for various purposes:
Domain Validation Certificates
DV SSL certificates validate the certificate applicant’s ownership of a domain name. The
validation process is quick and simple, requiring the applicant to demonstrate control over the
Domain.
Common uses include encrypting websites and securing basic online transactions. Examples
include basic SSL certificates from CAs.
Organization Validation Certificates
OV SSL certificates provide a baseline validation of the organization identity claimed by the
applicant.
The CA verifies details such as the legal entity’s name, address, status, etc., through official
business documents and trusted databases.
Used for encrypting sites, S/MIME email security, document signing, etc. Example:
Symantec Organization Validation (OV) certificate.
Extended Validation Certificates
EV SSL certificates involve a thorough verification process to confirm the legal, operational,
and physical existence of the requesting organization. EV SSL are mostly used for e-
commerce and high-assurance sites transmitting sensitive data. They are more costly than OV
and DV certificates.
Code Signing Certificates
Code Signing Certificate is used to sign software code like apps, drivers, plugins, and
executables to prove the software author and guarantee the code is not tampered with post-
launch. Useful for countering malware.
Client Certificates
These certificates are installed on client devices/browsers to authenticate users to a server,
i.e., client authentication. They may be used alongside server certificates for mutual
authentication.
S/MIME Certificates
Used for encrypting, decrypting, and digitally signing emails to ensure confidentiality,
integrity, and sender authenticity. S/MIME certificates can be individual or organizational
certificates.
Device Certificates
Specialized certificates are installed on IoT devices to identify device attributes and enable
secure machine-to-machine communication. Enables authenticating devices on the Internet of
Things.
How are Digital Certificates Issued?
The certificate issuance process involves the following primary steps:
Application Submission
The applicant generates their public/private key pair and creates a Certificate Signing Request
(CSR) containing their identity details and the public key. This CSR is submitted to the CA
through their certificate issuance process.
Some ways CSRs are generated and submitted include:
● Using the key generation tools on the CA website and pasting the CSR into the
certificate request form
● Downloading and using the CA’s CSR creation software to generate and submit the
CSR
● Using open-source tools like OpenSSL to generate the CSR locally and submitting
it via the CA’s API or upload form
● Having the CSR generated on a hardware security module like an HSM if the private
key needs higher security
● For certificates on web servers, use installation agents provided by the CA that can
generate and submit the CSR automatically.
The CSR contains the applicant’s details like Common Name, Organization, Country, etc.
The CA will verify whether these details match the authenticated identity of the applicant.
Identity Verification
The Certificate Authority will undertake identity verification steps to validate that the entity
requesting the certificate is who it claims to be. The extent of vetting depends on the
certificate type.
For Extended Validation certificates, thorough offline and online checks verify the legal,
operational, and physical existence of the applicant organization.
For Domain Validated certificates, automated checks like validating domain ownership
records, email addresses, and WHOIS records suffice.
For personal certificates, checks like government IDs, address proof, email verification,
telephone verification, etc., are done. CAs have differing verification requirements depending
on the product.
Certificate Issuance
After the applicant’s identity is verified, the CA issues the certificate containing the details
submitted in the CSR along with standard certificate fields like validity period, issuer details,
serial number, etc.
The certificate is digitally signed using the CA’s private key to attest the binding between
the subject’s identity and their public key.
The applicant can download the issued certificate and have technical staff install it on their
servers, devices, or systems. This enables relying parties to authenticate and communicate
securely with the certificate owner.
Installation
The certificate holder installs the digital certificate and corresponding private key on their
infrastructure, such as web servers, client devices, firewalls, VPNs, code signing platforms,
etc.
This enables reliance parties to authenticate and securely communicate with the certificate
holder using the installed certificate.
Renewal
Digital certificates have a validity period ranging from a few months to multiple years. Once
a certificate is nearing expiration, it must be renewed to maintain trust and ensure there is no
disruption to secure services.
The SSL renewal process often involves reusing the existing verified identity details and
generating a new key pair and certificate. CAs may revalidate credentials periodically for
Extended Validation certificates.
Automated certificate lifecycle management can ease renewal before certificates expire.
Allowing expiration impacts trust services until updated certificates are installed.
How is a Digital Certificate Revoked?
Certificate revocation is the process of prematurely terminating a certificate’s operational
period before it expires. It is done when the certificate is deemed invalid prior to expiry.
Common revocation scenarios include:
● The certificate holder’s private key is compromised or suspected to be compromised
● The device containing the certificate is lost or stolen
● Details in the certificate, like identity or domain name, are changed
● The system administrator detects misuse of the certificate
● The certificate holder forgets to renew the certificate, disrupting the expiry
● The certificate holder violates the terms and conditions of certificate usage
● The Certificate Authority determines the certificate was erroneously issued
The certificate holder or issuing CA publishes the revoked certificate’s serial number in
a Certificate Revocation List (CRL). Relying parties can check the CRL to verify that
certificates have not been revoked.
The Online Certificate Status Protocol (OCSP) also allows real-time verification of certificate
validity. Browsers and apps check OCSP responders to identify revoked certificates and
prevent their usage.
How Do Digital Certificates Expire?
Every digital certificate has a validity period ranging from a few months to a few years, as
determined by the issuing Certificate Authority (CA). This validity period is specified in the
certificate using “Not Before” and “Not After” dates.
When a certificate’s “Not After” date passes, the certificate expires automatically. An expired
certificate should not be trusted or used to establish secure sessions.
Why are Digital Certificates Important?
Digital certificates are a crucial element enabling trust and security on the internet. Here are
some reasons why certificates are important:
● Secure Websites: Certificates enable HTTPS and SSL/TLS to authenticate websites
and encrypt connections, preventing eavesdropping and tampering. This protects
sensitive user data.
● Email Security: S/MIME encryption uses certificates to secure emails. Signing
certificates also validate the email sender’s authenticity.
● Document Security: Signing documents like contracts electronically with certificates
enables tamper-detection and non-repudiation.
● Software Verification: Code signing certificates verify software integrity and
authenticate developers, protecting users from malware.
● User Authentication; Client certificates enable strong multi-factor authentication for
user login and access control.
● IoT Security: Device identity certificates help mitigate IoT cybersecurity risks
through authentication and authorization.
● Securing VPN: Certificates secure VPN tunnels, allowing remote users to access
organizational resources securely.
● Financial Transactions: PKI helps enable secure online banking, trading, and
financial transactions, preventing fraud.

Digital Signatures:
Digital signatures are an important component of SSL/TLS protocols, which provide
authentication, integrity, and non-repudiation for communications over the Internet. They
allow users to verify that messages actually come from the claimed sender and have not been
altered during transmission.
● Digital signatures use public-key cryptography to provide authentication and integrity.
The sender’s private key generates the signature, and the public key verifies it.
● Digital signatures offer non-repudiation by proving the sender’s identity. The sender
cannot later deny having sent the message.
● SSL/TLS protocols use digital signatures to authenticate the server and, in some
cases, the client. This prevents man-in-the-middle attacks.
● The digital signature is generated by encrypting a message hash with the private key,
which is attached to the message.
● The recipient uses the public key to decrypt the signature and verifies it matches a
newly calculated hash of the message.
● Digital signatures provide trust in SSL/TLS communications used for ecommerce,
banking, and other sensitive applications.
How Digital Signatures Work?
Digital signatures are based on public-key cryptography, also known as asymmetric
cryptography. This method uses a pair of keys: a private key and a public key: that are
mathematically related, but using the public key does not reveal the private key.
To create a digital signature, the sender generates a hash of the message they want to send.
This hash is a fixed-length string that represents a fingerprint of the message content.
The hash is then encrypted using the sender’s private key, and the result is appended to the
message as the digital signature before transmitting it.
The recipient uses the sender’s public key to decrypt the digital signature attached to the
message, recovering the original hash value.
The recipient also generates a new hash of the received message content. By comparing the
decrypted hash and the newly calculated hash, the recipient can verify the message integrity.
If the two hashes match, the message has not been altered.
Since only the sender has access to their private key, successfully decrypting the signature
with the public key also authenticates they are the true sender.
What’s the Use of Digital Signatures in SSL/TLS
SSL and TLS protocols make extensive use of digital signatures to:
● Authenticate Servers: Public key certificates containing the server’s public key are
an essential part of SSL/TLS. These certificates are digitally signed by a trusted
certificate authority to prove the server’s identity. Web browsers verify these
signatures before establishing secure connections.
● Authenticate Clients (Optional): The server can optionally request the client’s
certificate and verify that it is signed by a trusted authority. This provides two-way or
mutual authentication between client and server.
● Integrity of Communications: Symmetric encryption keys used to encrypt SSL/TLS
communications are generated uniquely for each connection. These keys are
exchanged securely between client and server by encrypting them with digital
signatures during the initial handshake.
● Detect Tampering: All encrypted application data transmitted in SSL/TLS has a
message authentication code (MAC) calculated from it. This is digitally signed with
the negotiated symmetric key to detect any tampering, such as malicious modification
or messages inserted by an attacker.
SSL digital signatures thereby prevent man-in-the-middle attacks and provide confidence in
the identity of the parties involved, as well as the integrity of the encrypted communications.
Digital Signatures in Different SSL/TLS Versions
The use of digital signatures evolved across the various versions of the SSL and TLS
protocols:
● SSL 1.0 (1996): Used RSA key exchange to encrypt symmetric keys but had many
security flaws. Proved vulnerable to attacks and quickly superseded.
● SSL 2.0 (1995) Introduced the use of message authentication codes (MACs) and hash
functions for integrity. However, it is still flawed and has never been publicly
released.
● SSL 3.0 (1996): The first SSL version was released for public use, and RSA, Diffie-
Hellman, and DSA were used to sign key exchanges. Considered secure initially but
later found vulnerable to attacks.
● TLS 1.0 (1999) is a replacement for SSL 3.0. It improved cipher suites, MAC
integrity checks, and the pseudorandom function (PRF). The first version is still
commonly used today.
● TLS 1.1 (2006): Incremental update. Introduced SHA-256 hashes and AES
encryption.
● TLS 1.2 (2008): Major redesign for improved security. Uses signature algorithms like
ECDSA and RSA-PSS rather than plain RSA.
● TLS 1.3 (2018): Modern redesign that removes obsolete cryptographic practices.
Uses elliptic curve cryptography for key exchange. Reduces handshake time.
Hashing Algorithms Used
Digital signature generation involves first hashing the message. The hashing algorithms used
in SSL/TLS have also evolved:
● MD5: Original hash used in SSL 3.0 and TLS 1.0. Now considered cryptographically
broken and obsolete.
● SHA-1: Improvement over MD5 introduced in TLS 1.1. Some collisions have been
found, so it is being phased out.
● SHA-2: Current standard hash for digital signatures. TLS 1.2 uses SHA-256, while
SHA-384 and SHA-512 are also approved.
● SHA-3: Next-generation hash algorithm. It is not yet widely used but is specified
for TLS 1.3 implementations.
Use Cases of Digital Signature
Beyond SSL/TLS, digital signatures are widely used to provide authentication, integrity and
non-repudiation for:
● Email: Email security standards like S/MIME allow email contents and attachments
to be digitally signed. This prevents spoofing and tampering.
● Documents: Word processors and PDF documents can contain digital signatures to
authenticate the signer and detect any changes.
● Software: Software releases are digitally signed by developers so users can verify
their authenticity and that they haven’t been maliciously modified.
● Financial Transactions: Standards like ISO 20022 use digital signatures to
authenticate financial messages between banks and clearing houses.
Digital Signature Standards
Common standards related to the use of digital signatures include:
● X.509: Defines the format for public key certificates used in SSL/TLS and other
protocols.
● PKCS #7: Cryptographic standard that describes the usage of digital signatures with
attributes like signing time.
● CAdES: Specifies mechanisms for electronically signing PDF and other documents
with digital signatures.
● PGP: Open standard that provides authentication and encryption using digital
signatures and public-key cryptography.
Digital Signature Verification Process
To verify a digital signature, the recipient performs these steps:
● Obtain the sender’s public key, which is typically from a trusted digital certificate
or public key provider.
● Decrypt signature: Use the public key to decrypt the digital signature attached to the
signed message.
● Generate message hash: Generate a new hash of the received message content.
● Compare hashes: Compare the decrypted hash from the signature against the newly
calculated hash.
● Verify matching hashes: If the hashes match, the message integrity is verified since
only the private key can encrypt the correct hash.
● Check certificate validity: Confirm the public key used is certified and trusted for
the sender’s identity.
● Validate successfully: If the hashes match and the certificate is valid, the sender’s
identity and message integrity are validated.
What are the Limitations of Digital Signature
● Not human readable: Cannot be visually validated like handwritten signatures. Rely
on software for verification.
● Certificate reliance: Signature validity depends on trusting digital certificates from
authorities that authenticate parties.
● Private keys: If a private key is stolen, the attacker can digitally sign messages
posing as the compromised party.
Digital signatures play an important role in securing communications by providing
cryptographic authentication, integrity, and non-repudiation. They have become an essential
component of SSL/TLS and other internet security protocols, which need to establish trust
between remote endpoints and detect data tampering in transit. The use of public-key
cryptography and private/public key pairs enables reliable digital signatures that are easy to
verify but hard to forge or alter without detection.

Authenticity and Integrity


Authenticity and Integrity are foundational principles in computer security, ensuring that
data is both trustworthy and untampered with. In the context of cryptography and data
security, these two concepts are critical to the protection of information.
Authenticity
Authenticity refers to ensuring that data or a message originates from a trusted and verified
source. In other words, it guarantees that the identity of the sender is legitimate, and the data
has not been falsified or impersonated by an unauthorized party.
● Authentication is the process of verifying the identity of users, devices, or systems
before granting them access to a system.
● Digital Signatures and Certificates are common cryptographic tools used for
proving authenticity in digital communication. A digital signature confirms that a
message was sent by a specific individual or entity and that the message has not been
altered.
Integrity
Integrity refers to the assurance that data has not been modified, tampered with, or corrupted
while in transit or during storage. It ensures that the received message is exactly as it was
when sent, with no unauthorized modifications.
● Hashing (more on this below) is a fundamental technique used to verify data
integrity.
● A hash value or checksum is calculated for the original data before transmission.
After receiving the data, the recipient can calculate the hash of the received data and
compare it with the original hash to confirm the integrity of the data.
Uses of Hash Functions
● Data Integrity: Hash values are commonly used to verify that data has not been
altered. The hash is computed before transmission and sent alongside the data. The
receiver computes the hash of the received data and checks if it matches the
transmitted hash.
● Password Storage: Hash functions are used to store passwords securely in databases.
Rather than storing the password itself, systems store the hash of the password,
ensuring that even if the database is compromised, the original passwords remain
secure.
● Digital Signatures: Hash functions are used in the creation of digital signatures,
where the message is hashed, and the hash is signed by the private key of the sender.
The recipient can verify the signature using the sender's public key.
Message Authentication Codes (MAC)
A Message Authentication Code (MAC) is a short piece of information used to verify the
authenticity and integrity of a message. It is similar to a checksum but provides stronger
security because it is based on a shared secret key. MACs are essential in cryptographic
protocols that require secure communication between two parties.
Purpose of MAC
The primary purpose of a MAC is to:
1. Verify Integrity: Ensure that the message has not been tampered with during
transmission.
2. Authenticate the Sender: Confirm that the message came from an authenticated
sender, and not an imposter.
A MAC is produced by applying a cryptographic function (often a hash function or block
cipher) to the message and a secret key. Only the sender and receiver know the secret key, so
they can verify the authenticity and integrity of the message.
How MAC Works
The MAC is calculated as follows:
● The sender uses some publicly known MAC algorithm, inputs the message and the
secret key K and produces a MAC value.
● Similar to hash, MAC function also compresses an arbitrary long input into a fixed
length output. The major difference between hash and MAC is that MAC uses secret
key during the compression.
● The sender forwards the message along with the MAC. Here, we assume that the
message is sent in the clear, as we are concerned of providing message origin
authentication, not confidentiality. If confidentiality is required then the message
needs encryption.
● On receipt of the message and the MAC, the receiver feeds the received message and
the shared secret key K into the MAC algorithm and re-computes the MAC value.
● The receiver now checks equality of freshly computed MAC with the MAC received
from the sender. If they match, then the receiver accepts the message and assures
himself that the message has been sent by the intended sender.
● If the computed MAC does not match the MAC sent by the sender, the receiver
cannot determine whether it is the message that has been altered or it is the origin that
has been falsified. As a bottom-line, a receiver safely assumes that the message is not
the genuine.
Types of MACs
● HMAC (Hash-based MAC): A MAC that uses a cryptographic hash function and a
secret key. HMAC is one of the most widely used MAC algorithms because of its
simplicity and security.
o HMAC Construction: HMAC involves applying the hash function twice—
once with the key and the message and again with the result and a different
key.
● CMAC (Cipher-based MAC): A MAC that uses a block cipher (e.g., AES) instead
of a hash function. CMAC provides an alternative to HMAC, offering similar security
but with a different underlying cryptographic approach.
Applications of MAC
● TLS/SSL Protocols: MACs are used in the TLS handshake to authenticate the sender
of messages and verify the integrity of data exchanged over secure channels.
● Cryptographic File Integrity: MACs are commonly used in file integrity
verification systems. When a file is transferred, the sender calculates a MAC over the
file and shares it with the recipient. Upon receipt, the recipient verifies the MAC to
ensure the file has not been altered.
● Message Authentication in Wireless Networks: In wireless communication
protocols, MACs are often employed to protect the authenticity and integrity of data
packets.
Comparison of MAC and Digital Signatures
While both MACs and Digital Signatures are used to authenticate messages and ensure
integrity, they differ in terms of their use and security mechanisms:
● MAC: A MAC requires both the sender and the receiver to share a secret key. It
provides confidentiality, integrity, and authenticity, but it doesn't provide non-
repudiation.
● Digital Signature: A digital signature involves asymmetric cryptography (public-
private key pairs). The sender signs the message with their private key, and the
recipient verifies it using the sender's public key. This provides non-repudiation (the
sender cannot deny sending the message) but requires more computational resources
than a MAC.

Message Authentication Codes (MACs) in TLS 1.3


In TLS 1.3, cryptographic primitives such as Message Authentication Codes (MACs) and
Hash Functions play an essential role in ensuring that the data exchanged between clients
and servers is secure, authentic, and integral. Both of these concepts have evolved
significantly in TLS 1.3 compared to previous versions of the protocol, with key
improvements to security, performance, and ease of use.
1. Message Authentication Codes (MACs) in TLS 1.3
A Message Authentication Code (MAC) is a short piece of information used to verify the
integrity and authenticity of a message. The primary goal of a MAC is to ensure that the
data has not been tampered with during transmission and that it was generated by an
authenticated sender who holds the shared secret key.
What is a MAC?
● A MAC is a fixed-size, cryptographically generated string that is appended to a
message before transmission.
● It is created by applying a cryptographic hash function to the message along with a
secret key. The recipient, who knows the secret key, can recompute the MAC to
verify that the message has not been altered.
How Does a MAC Work in TLS 1.3?
● Integrity and Authentication: The receiver checks the MAC to confirm the
authenticity of the message and ensure that it has not been altered during
transmission. If the computed MAC matches the one received, the data is considered
valid.
● Keyed Hashing: The MAC is generated by a hash function, which combines the
message with a secret key (often using a construct like HMAC Hash-based Message
Authentication Code). In traditional MAC methods, the message and secret key would
be processed separately.
In TLS 1.3, separate MACs are no longer necessary due to the use of Authenticated
Encryption with Associated Data (AEAD) ciphers. AEAD ciphers like AES-GCM or
ChaCha20-Poly1305 combine both encryption and authentication in a single operation.
Hash Functions in TLS 1.3
A hash function is a mathematical function that takes an input (often referred to as the
"message") and produces a fixed-length string (called a "digest" or "hash value"). In
cryptography, hash functions are used for various purposes, including message integrity, key
derivation, and digital signatures.

You might also like