Cryptography Flashcards

1
Q

Schemes: MAC and Encryption

A
  • Encrypt-then-MAC
  • MAC-then-encrypt
  • Encrypt-and-MAC
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Reasons for failure of Crypto Systems

A
  • Application should use cryptography but does not
    -> sometimes: ignorance, clumsy interfaces, licensing issues
    -> often: deployment violates designer’s assumptions
  • Application uses crypto but the wrong one
    -> Insecure cryptography
    -> Using encryption for integrity protection
    -> Using asymmetric cryptography without need
    -> Using digital signatures where it does not fit the business process
  • Secrets are not secret
  • Right crypto, but unusable (too complicated, over engineered)
  • Right crypto, usable but weaker links
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Blind signatures

A

Message is blinded/disguised before being signed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Secret sharing

A

Partition secret between several parties where the secret can only be constructed with all (or a specified number of) parts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Zero knowledge proofs

A
  • Convince other party of some properties of your secret without revealing it
    -> Completeness: if the statement is true, an honest verifier (that is, one following the protocol properly) will be convinced of this fact by an honest prover.
    -> Soundness: if the statement is false, no cheating prover can convince an honest verifier that it is true, except with some small probability.
    -> Zero-knowledge: if the statement is true, no verifier learns anything other than the fact that the statement is true.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

TLS Advantages

A
  • Easy to implement and use
  • Deployed in most browsers & servers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

TLS Disadvantages

A
  • Protects only if used by the application
  • More vulnerable to DoS attacks (malicious packets cannot be removed at the IP level)
  • Can only be used in End-to-End mode
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Security Parameters for a TLS session

A
  • Connection end (Who is server/Who is client?)
  • Pseudo random function algorithm
  • MAC algorithm
  • Bulk encryption algorithm
  • Compression algorithm
  • Master secret and other cryptographic keys
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

TLS ChangeCipherSpecProtocol

A
  • Not explicitly needed in TLS 1.3, but sent to prevent middleboxes from trying to parse the following encrypted data
  • Consists only of ChangeCipherSpec message which itself consists of a single byte with value 1
  • From here on everything is encrypted but not authenticated yet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

TLS Server Authentication

A
  • Server sends CertificateChain
  • Server proves that he is the certificate’s owner using CertificateVerify message
    -> Signs hash of ClientHello, ServerHello, Certificate with the private key associated with the certificate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

TLS End of Server Hello

A
  • Server may require client to authenticate by sending CertificateRequest
  • Sends Finished
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

TLS Finished Message Properties

A
  • Contains a hash of all previously sent messages
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie stellt man Confidentiality sicher?

A
  • Within one system: User identification, access control
  • In a distributed system: Encryption
  • Through a distributed system: Secret sharing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie stellt man Integrity sicher?

A
  • Within one system: User identification, access control
  • In a distributed system: MAC, digital signature
  • Through a distributed system: Verifiable secret sharing, secure multiparty computations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie stellt man Availability sicher?

A
  • Within one system: User identification, perfection, redundancy
  • In a distributed system: Redundancy
  • Through a distributed system: Reliable and secure multiparty computations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie stellt man Accountability sicher?

A
  • Within one system: User identification, Logging
  • In a distributed system: digital signature, hash chains
  • Through a distributed system: secure multiparty computations
17
Q

Hash Functions Eigenschaften

A
  • Collision resistance
  • Pre-image resistance: Computationally infeasible to find a x, given y, so that h(x) = y
18
Q

Services provided by TLS

A
  • Server authentication
  • Client authentication
  • Secure connection
    -> Authentication and integrity of messages
    -> Confidentiality of messages
    -> Reliability of messages
  • Efficiency
19
Q

TLS Handshake

A
  • ClientHello
  • ServerHello
    ( - ChangeCipherSpec)
  • Encrypted Extensions
  • Certificate*
  • CertificateVerify*
  • CertificateRequest*
  • Finished
    ( - ChangeCipherSpec)
  • Certificate* (Client)
  • CertificateVerify*
  • Finished
    ( - ApplicationData)
20
Q

Heartbleed Attack

A
  • In OpenSSL TLS
  • Heartbeat: Check, ob Verbindung zum Server noch besteht
  • Payload Größe wurde nicht mit actual Payload Größe geprüft und so wurden sensible Daten ausgelesen
21
Q

Logjam attack

A
  • TLS: downgrade connection to export-grad Diffie-Hellman
  • Could be mainly pre-computed
  • Many servers used the same prime
22
Q

Padding Oracle

A

Use padding validation as an “oracle” to decrypt the ciphertext

23
Q

TLS 0-RTT handshake

A
  • ClientHello
    (- Early Application Data)
  • ServerHello
    (- Application Data)
  • End of early data
  • Finished
    (- Application Data)
  • Kein Schutz gegen Replay Attacken
  • Keine perfect forward secrecy
  • Vorher muss schon einmal ein vollständiger Handshake durchgeführt worden sein
24
Q

Secure Multiparty Computation

A
  • Several parties hold secrets which should be used for a computation
  • Other parties should not gain knowledge of secrets
  • No central trusted party which could do computation but parties need to exchange information
25
Q

Oblivious transfer

A
  • Sender has m messages
  • Receiver wants to receive n of the m messages
  • Sender does not want receiver to know which messages have been sent (only wants him to know the one he requested)
  • Receiver does not want sender to know which messages were not chosen