Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Side Channel Attacks and Defensive Mechanisms

PKCS

X 509 Certificate
What are Side-channel Attacks?

A side-channel attack (SCA) is a security exploit that involves


collecting information about what a computing device does when
it is performing cryptographic operations and using that
information to reverse engineer the device's cryptography
system.
History
1965 - the British MI5 agency attempted to crack a cipher used
by the Egyptian Embassy in London .

After its efforts were thwarted by the limitations of mid-20th


century computational power, a scientist by the name of P. Wright
suggested placing a microphone near the rotor-cipher machine
used by the Egyptians to monitor the click-sounds the device
produced.

By listening to the clicks of the rotors as cipher clerks reset them


each morning, MI5 successfully deduced the core position of 2 or
3 of the machine’s rotors.
Peter Wright
PAUL KOCHER ,President and chief scientist ,Cryptography Research

● Coined the term side


channel attack
● In the 1990s he discovered
it was possible to reverse
engineer security tokens by
monitoring a computer's
power consumption and
electromagnetic emissions.
● Cache side channel attack
● Power analysis attack
Types of ● Timing Attack
Side-Channel ● Electromagnetic attack
● Acoustic Cryptanalysis
Attacks ● Differential Fault Analysis


Cache Side Channel Attack

Attacks based on attacker's ability to monitor cache accesses made by the victim
in a shared physical system as in virtualized environment or a type of cloud
service.

Uses application behaviour of cache memory to leak data about the encryption
algorithm to the attacker
Different Ways in Which Information can be
Leaked from Cache Memory
Scheduling of Preemptive Type(Uniprocessor) In this attacker and
victim VM both uses the same CPU core and when the context switch
happens due to pre-emption the attacker can learn from the state in
which the victim leaves the cache.

Hyper-Threading Hyper-Threading is a technology that allows threads


to run on a single CPU core. The threads share some CPU resources and
all of the cores caches. This gives rise to some side channels, so
scheduling of threads from different VMs on the same core is generally
considered to be unsafe.
Multi-core Under this attacker and victim are running on the different
core but concurrently on shared cache memory. The attacker can probe
the L3 cache while the victim is running.
Power monitoring attack
Power monitoring attack is one form of side channel attack in which the
attacker will monitor the power consumption of the hardware devices
like, IC(Integrated Circuits), smart card and temper resistant.

Simple Power Analysis Attacks

Differential Power Analysis Attacks


Simple Power Analysis Attacks

Involves visual examination of graphs of the current used by a device


over time.

Fig: power trace captured from an Arduino Uno as it runs a single


AES-128 cryptographic operation
Differential Power Analysis
Attacks

Involves statistically analyzing


power consumption
measurements from a
cryptosystem. The attack
exploits biases varying power
consumption of
microprocessors or other
hardware while performing
operations using secret keys.
Preventing simple and differential power analysis
attacks
Simple power analysis can easily Differential power analysis is more
distinguish the outcome of difficult to prevent.
conditional branches in the
execution of cryptographic Blinding parameters to randomize
their value
software .
hardware modifications: varying
Ensure that there are no secret
the chip internal clock frequency
values which affect the
has been considered to
conditional branches within
desynchronize electric signals,
cryptographic software
implementations. which lead in return to algorithmic
enhancements of traditional DPA
Timing attack
In timing attack the attacker monitors/analyse the amount of time
taken by the system to respond to the input fed into the computer.

The time taken to produce the output varies depending on the


encryption algorithm, system performance, optimization techniques,
Ram, cache hits and so on.

The statistical analysis is used to find out the decryption key to break
the encryption algorithm
Electromagnetic attack
Electro-magnetic attacks are attacks caused by releasing the
electromagnetic emission liquidated from gadget and carries out signal
examination on the same.

These attacks can be performed by watching the typical working of the


objective gadget without causing physical damage.

Attack methods:

Simple Electro Magnetic Analysis (SEMA) attacks

Differential Electro Magnetic Analysis (DEMA) attacks.


Simple electromagnetic analysis (SEMA) attacks

The attacker deduces the key directly by observing the trace.

It is very effective against asymmetric cryptography implementations.

the attacker needs to have a strong understanding of the cryptographic


device and of the implementation of the cryptographic algorithm
Differential Electro Magnetic Analysis (DEMA) attacks.

DEMA attacks are more complex.

Effective against symmetric cryptography implementation, against


which SEMA attacks are not.

Do not require much knowledge about the device being attacked.


Acoustic Cryptanalysis

Acoustic cryptanalysis is a
type of side channel attack that
exploits sounds emitted by
computers or other devices.
Preventing Acoustic Cryptanalysis
This kind of cryptanalysis can be defeated by generating sounds that
are in the same spectrum and same form as keypresses. If sounds of
actual keypresses are randomly replayed, it may be possible to totally
defeat such kinds of attacks. It is advisable to use at least 5 different
recorded variations for each keypress to get around the issue of FFT
fingerprinting.

Alternatively, white noise of a sufficient volume will also mask the


acoustic emanations of individual keypresses.
Differential Fault Analysis

Principle : to induce faults—unexpected environmental conditions—into


cryptographic implementations, to reveal their internal states.

Example :a smartcard containing an embedded processor might be


subjected to high temperature, unsupported supply voltage or current,
excessively high overclocking, strong electric or magnetic fields, or
even ionizing radiation to influence the operation of the processor. The
processor may begin to output incorrect results due to physical data
corruption, which may help a cryptanalyst deduce the instructions that
the processor is running, or what its internal data state is
Countermeasures
● Eliminating the release of private information or making sure this
information is unrelated to your private data.

● Power line conditioning and filtering to deter power-monitoring


attacks as well as emitting a channel with noise.

● Blinding technique that serves to alter the algorithm’s input into


some unpredictable state rendering some or all of the leakage of
useful information.
PKCS
PKCS stands for "Public Key Cryptography Standards".

The company published the standards to promote the use of the


cryptography techniques to which they had patents, such as the RSA
algorithm, the Schnorr signature algorithm and several others.
PKCS #1 2.2 RSA Cryptography Defines the mathematical properties
Standard[1] and format of RSA public and private
keys , and the basic algorithms and
encoding/padding schemes for
performing RSA encryption,
decryption, and producing and
verifying signatures.
PK - Withdrawn No longer active as of 2010. Covered RSA encryption
CS of message digests; subsequently merged into PKCS
#2 #1.

PK 1.4 Diffie–Hell A cryptographic protocol that allows two parties that


CS man Key have no prior knowledge of each other to jointly
#3 Agreement establish a shared secret key over an insecure
Standard communications channel.

PK - Withdrawn No longer active as of 2010. Covered RSA key syntax;


CS subsequently merged into PKCS #1.
#4
PK 2.1 Password-bas See RFC 8018 and PBKDF2.
CS ed Encryption
#5 Standard[3]

PK 1.5 Extended-Cert Defines extensions to the old v1 X.509 certificate


CS ificate Syntax specification. Obsoleted by v3 of the same.
#6 Standard[4]

PK 1.5 Cryptographic Used to sign and/or encrypt messages under a


CS Message PKI. Used also for certificate dissemination .
#7 SyntaxStandar Formed the basis for S/MIME, which is as of 2010
d[5] based on RFC 5652, an updated Cryptographic
Message Syntax Standard (CMS). Often used for
single sign-on.
PK 1.2 Private-Key Used to carry private certificate keypairs (encrypted
CS Information or unencrypted).
#8 Syntax
Standard

PK 2.0 Selected Defines selected attribute types for use in PKCS #6


CS Attribute extended certificates, PKCS #7 digitally signed
#9 Types[7] messages, PKCS #8 private-key information, and
PKCS #10 certificate-signing requests.

PK 1.7 Certification Format of messages sent to a certification authority


CS Request to request certification of a public key. See certificate
#1 Standard[8] signing request.
0
PK 2.40 Cryptogra- Also known as "Cryptoki". An API defining a generic interface
CS phic Token to cryptographic tokens . Often used in single sign-on,
#11 Interface public-key cryptography and disk encryption systems. RSA
Security has turned over further development of the PKCS #11
standard to the OASIS PKCS 11 Technical Committee.

PK 1.1 Personal Defines a file format commonly used to store private keys with
CS Information accompanying public key certificates, protected with a
#12 Exchange password-based symmetric key. This container format can
Syntax contain multiple embedded objects, such as multiple
Standard certificates. Usually protected/encrypted with a password.
Usable as a format for the Java key store and to establish
client authentication certificates in Mozilla Firefox. Usable by
Apache Tomcat.
PKC – Elliptic Curve
S CryptographyStand
#13 ard

PKC – Pseudo-random
S Number Generation
#14

PKC 1.1 Cryptographic Defines a standard allowing users of


S Token Information cryptographic tokens to identify themselves
#15 Format to applications, independent of the
Standard[13] application's Cryptoki implementation (PKCS
#11) or other API. RSA has relinquished
IC-card-related parts of this standard to
ISO/IEC 7816-15.
X 509 CERTIFICATE
An X.509 certificate is a digital certificate that uses the widely accepted
international X.509 public key infrastructure (PKI) standard to verify that
a public key belongs to the user, computer or service identity contained
within the certificate.

The first X.509 certificates were issued in 1988 as part of the


International Telecommunications Union's Telecommunication
Standardization Sector (ITU-T) and the X.500 Directory Services
Standard.

X.509 is based on the use of public-key cryptography and digital


signatures.
An X.509 certificate contains information about the identity to which a

certificate is issued and the identity that issued it. Standard information in an
X.509 certificate includes:

Version which X.509 version applies to the certificate (which

indicates what data the certificate must include)

Serial the identity creating the certificate must assign it a serial

number number that distinguishes it from other certificates


Signature algorithm the algorithm used by the issuer to sign the
identifier certificate

Issuer Name the name of the entity issuing the certificate


(usually a certificate authority)

Validity Period start/end date and time

Subject name The name of the user to whom this


certificate refers.

Subject’s public - key The public key of the subject, plus an


information identifier of the algorithm for which this key
is to be used, together with any associated
parameters.
Issuer unique identifier An optional bit string field used to identify
uniquely the issuing CA in the event the X.500
name has been reused for different entities.

Subject unique identifier An optional bit string field used to identify


uniquely the subject in the event the X.500
name has been reused for different entities.

Extensions A set of one or more extension fields.

Signature Covers all of the other fields of the certificate;


it contains the hash code of the other
fields, encrypted with the CA's private key. This
field includes the signature algorithm identifier
Thank You

You might also like