What are the six security goals, as defined in the lecture?
Confidentiality
(Data) Integrity
Authenticity
Availability
Accountability
Controlled Access
Dicuss: What is the relationship between (data) integrity and (data) authenticity?
two related concepts that address the trustworthiness of data, that we, for instance, have received over the internet
Data integrity focuses on the content of the data and prevents unauthorized modifications
Data authenticity verifies the source/origin of the data
when data integrity is compromised, data loses its authenticit as well
In practive both concepts ised in combination to provide comprehensive data security
practical Example:
digital signature where we sign a file’s hash value (“Fingerprint”)
Dicuss: What is more important confidentiality or authenticity of data?
no universal answer, depends on the scenario and security requirement that can be derived from it
Example:
someone wants to send secret information over the Internet, their primary concern is to prevent that these secrets leak
someone downlaods software from the internet, their primary concern is that the software os authentic (and has integrity), dont want to use a potentially modified application
For each of the six security goals, find an example of what the security goal can do to increase security.
Imagine we are controlling some large-scale Cyber-Physical System (CPS) remotely over Internet for instance, a network of solar power plants.
Confidentiality:
Control messages should be encrypted to prevent some third party from gaining inside knowledge about our system and business logic
Integrity:
We need to make sure that modifications to the control messages can be spotted beform the command is executed and causes harm
Authenticity:
Devices inside our CPS should only accept control messages created by known/authentic and authorized entities
Availability:
The log server that logs the control messages must be able to perform its duty constantly
Controlled Access:
All interfaces of the CPS to the outside world can only be used by authorized knwon entities
individual security goals are related, used in conjunction, and support each other!
The recommended password length for offline applications (e.g. disk encryption) is significantly higher that that for online applications (e. g. Web-based login): At least 12-20 characters versus at least 8-10 characters (given a Latin alphabet, plus numbers an special characters)
What are the crucical differences between the two appliactions that influence the above recommendation?
main differences:
for offline application, the only limitation is the attacker’s resources. For example the attacker has stolen someone’s hard drive and wants to decrypt it, the only limitations is the attacker’s hardware’s ability to generate and test passwords
for online Appliactions, the limit is the defender’s resources and, to some extent, the network itself
more thoughts:
Online appliactions induce a delay for attacker due to the need for the server to respond (network latency, network bandwidth and server CPU) While the attacker cannot change network bandwidth and the server’s resources, they can send multiple login attemps in parallel
Online appliactions can (and should) defend against brute force attacks.
Possible defenses are:
Limit logins per IP -> Does not work when the attacker has acces to dynamic IPs, multiple VPN endpoints, of even a botnet with hunderds of devices
Limit logins per user account -> The attacker might impersonate a benign (= gutartig) user and send “bad“ requests. The benign user might get blocked quickly
During a (possible) attack, limit logins to humans -> Accessicility? Not everyone can solve captchas
Block entire network -> There might also be honest users that get blocked
Two-factor authentication -> Increased effort on user side
Monitor login attempts -> The amound of log messages might be overwhelming
Getting a login page right is highly complicates. Needs a carefully selected and monitored implementation of the mentiened measures. Every defense can also introduce problems and has potential to make the system less user-friendly
Suppose we generate two passwords at random:
Password 1 is 8 characters long each character is randomly chosen from all printable ASCII characters
Password 2 is 12 characters long, each character is randomly chosen from lower case letters
Give the formular to determine a password’s strenght.
Explaim which factor in the formula is the most important on in making a password strong?
Fillaly answer which password is stronger?
The amount of permutations n of a password of length l and alphabet a can be computed with this formular:
From math we know that the exponent (l) has a much more significant impact on a function’s growth than its base (a). So the length of the password is the more important factor than the size of its alphabet
How many chracters do both alphabets have?
a1 : 95 printable ASCII characters
a2: 26 lower case letters
We assume Password 2 (longer, but smaller alphabet) is stronger that Password 1 (shorter, but more alphabet characters)
furthermore compute the number of permutations of Password 2 and try to find the alphabet size x of an 8-character password with similar strength:
We would have to use a 133-character alphabet for an 8-character password to get a higher security level than Password 2 -> Password 2 is stronger cause PW 1 only uses 95-chars
What are the two types of network-level attackers?
passive attackers
active attackers
What can each attacker do?
Passive attacker:
Eavesdrop
Traffic analysis
Active attacker:
(all passive attacks)
modify messages
replay messages
delay messages
delete messages
forge messages
Suppose you are sending messages over the Internet.
Are there some attacks which are never detectable (independet of the security services you are using)?
Are there some attacks where it may not be detectable whether it is caused by an attacker or just random error?
Eavesdropping and traffic analyses are entirely passive and can thus not be detected
Delaying messages my be detectable to a certain degree. However, the delay may also be induced due to unreliable transfer over the Internet
The same holds for dropping of messages
If no additional security services are used, like digital signatures, it may be hard to differentialte between random transmission errors and random-looking malicious message modification
The important takeaway of this is that various attacks can look like random errors and it is difficult to determine the reason for the observed problem
4 statements of TCP SYN Cookies. Two are correct, two are not. Which ones are correct and which ones are wrong. Explain!
TCP SYN Cookies work because only valid (not attacking) clients can compute the secure cookie
TCP SYN Cookies are designed such that the server does not need to remember states for half-open connections
TCP SYN Cookies were designed such that they are 100% compatible with TCP. A client may not even be aware that the server sent her a TCP SYN Cookie
With TCP SYN Cookies, the server stores a secure nonce for every client
Correct: 2,3
Wrong:
1: a client cannot compute the cookie, a client just sends back the cookie (+1). If a client were able to compute the cookie, an attacker could lanch a DDoS against the server because the attacker could compute the handshake without beeing able to receive the SYN, ACK packets
4: the whole point of this protection is that the server does not allocate resources for spoofed requests
Complete the diagram of a regular TCP 3-way handshake. Bob thinks 42 is a good random number (where will he need it?)
Now complete the diagram of the same TCP handshake but with SYN Cookies right next to it.
A cookie consists atleast of three components: h(K, src). Assume an implementation forgot something. Design an attack for every possibly wrong implementation of the cookie:
1. cookie = K, src
2. cookie = h(src)
3. cookie = h(K)
cookie = K, src
An attacker initiates one normal 3-way handshake and now has the key. Now the attacker can calculate all cookies for spoofed requests
cookie = h(src)
There is no secret in the cookie, the attacker can just calculate the cookie for all spoofed requests
cookie = h(K)
The cookie is the same for every spoofed source address and the cookie never changes. An attacker initiates one normal 3-way handshake and now has the cookie
Discuss the relationship between Integrity and Authenticity.
If we can guarentee integrity of, for example, a data item, we achieve that this data item cannot be changed without us noticing. However, we do not know that, for instance, Alice is the origin of the data item.
Outlook: Integrity is often achieved by hashing data which creates a checksum (hash)
If we can guarentee authenticity of a data item, we know that, for instance, Alice has created it. however, if Bob changes the data item, its origin has changed, and its authenticity is voided.
Outlook: In practice, authenticity is often achieved by combining hashing and signing
Authorization and Authentication are often used in conjunciton. Think about a scenario where Authorization and Authentication are both needed.
Authorization and Authentication are often needed in scenarios where we want to achieve fine-grained access control.
For instance, we want to create an access control system that enforces that Alice may create, read and modify files in a file system.
However, Bob can only read the files Alice, and other users have created. In the first step. such an access control system must authenticate the user; in the second step, it can determine (and enforce) the user’s access rights.
Can you think about a scenario where some actions/events/… are authorized, but no authentication is needed?
For instance, a network firewall. It works on IPs, ports and protocols but usually does not (need to) authenticate communicating parties. However, it authorizes some communication events based on a rule list and discards others
What are the three security components as definded?
Security Requirements
Security Policy
Security Mechanisms
Consider the following statement by some pointy-haired Boss:
“We need to protext our corporate secrets. Therefore, all outgoing connections to Facebook are blocked by our firewall“
Match the statement to the security components
Security Requirements: Corporate secrets, Confidentiality
Security Policy: Block Facebook
Security Mechanisms: Firewall
Below, in Table 1, you see a firewall configuration for the network topology (Figure 1). Independent of the security policy, the firewall configuration is flawed. Find four mistakes that lead to behaviour that is probably undesired.
Rule A: The source address is not specified. Your IP range is 192.168.1.0/24, however, your clients might spoof arbitrary IPs.
Rule B: This interface is not specified. The Internet can send arbitrary spoofed packets to your Zone 1
Rule C: This rule is completly shadowed by rule A. Thuss, SSH is allowed by rule A
Rule D: There is no problem with the correctness of rule D, although placing it at the top of the firewall configuration might result in better performance. This is the case if a majority of the traffic is exchanged in established connecitons, as matched by the rule D, and no other rule is the table need to be processed before matching.
Finally, a default rule at the end is missing. It should obviously “deny everything that did not match“ in this scenario
You want to configure a firewall for your home network. Figure 1 shows the configuration you want to achieve. In Zone 2, you’ve got one Web server (131.159.20.1) on TCP ports 80 and 443, and one mail server (131.159.20.2) on TCP port 25. Your home users reside in Zone 1.
Your security policy is as follows:
Your home users may freely access any Web service, anywhere, on ports 80 and 443, but only if they initiate the connection themselves (i.e. they are allowed to browse the Web). No one outside Zone 1 can initiate connections to Zone 1, on any port.
Everyone, including the Evil Internet, can access the web server (both ports) and mail server in Zone 2. However, no host in Zone 2 can initiate connections anywhere else.
Your web server should only be reachable on TCP ports 80 and 443 and your mail server should only be reachable on port 25.
Home users can access the servers in Zone 2 via SSH, too. They can also use SSH to hosts on the Evil Internet. However, for port 22, hosts in Zone 2 can only be contacted by hosts in Zone 1.
a) The policy has some ambiguities and conflicts. Find them and resolve them with common sense by deciding which rule should take precedence.
You can use zone names instead of IP ranges. Use ‘Ext’ if you want to refer to the Evil Internet, ‘Zone 1’ if you want to refer to Zone 1 etc. Use * to indicate ‘all’. You may match on multiple ports in one rule. Make sure you drop spoofed packets.
b) Draw and complete a table to define a statefull firewall configuration for the given scenario (as we did in the lecture). Hint: I needed 8 rules.
c) Based on the above, do the same again to define a stateless firewall configuration. Hint: I needed 14 rules (it is possible to do with 12). Don’t forget about interfaces and spoofing protection.
a)
Rule 1 implies that Zone 1 can access the mail server on ports 80 and 443. Contradicts rule 3. Rule 3 should take precedence
Rule 4 directly contradics rule 3. We assume that rule 4 is an exception to rule 3. Rule 4 should take precendence
Inreality, with this setop, most users will be helpless because we don’t allow DNS. Furthermore. a mail server which is not allowed to initiate connections to other mail servers can not send but only receive mails.
b)
c)
a) Where would you place a NIDS? Justify your answer with a possible attack that would be detected by the NIDS.
b) Would you add a HIDS to the Web and Mail server? What would be the trade-offs?
a) A NIDS could be placed in Zone 1 to look over the protected network. Assuming that the NIDS would be connected to the network switch, it could detect a compromised workstation which performs port scans or sends payloads, containing predefined signatures.
b) One HIDS could be running on the Web Server and another one on the Mail Server
The HIDS could monitor the machines for attacks that compromise configuration integrity on the server itself. However running a HIDS would add performance drawbacks by real-time monitoring of the host activity.
Describe the difference between a false positive error and false negative error in context of intrusion detection. Describe two intrusion detection methods and highlight their relation to binary classification errors.
False positive -> An alarm was raised but no intrusion took place
False negative -> No alarm was raised although an intrusion took place
Misuse Detection: Knowledge-based scanning for predefined signatures. Fast detection of known attacks. False positive error rate typically very low.
Anomaly Detection: Behaviour-driven comparison between a prdefined normal system state and the current state. System is able to detect new attacks but typically has a higher false positive error rate.
Assume there are n users in the system. How many symmetric keys need to exist to support
confidentiality between all participants? Use O-notation.
There is no (central) server mentined in the system and if you want confidentiality between all participants, then every user must have a key with exactly every other user. As keys are symmetric this yields n(n-1)/2 keys, which is in O(n^2). If you want one key per direction it is still in O(n^2).
Assume there are n users in the system.
If public key ryptography were used for encryption instead of symmetric cryptography, how many keys would be necessary in the system? Use O-notation.
In public-key cryptography, every user has a public key that everyone else can know and use, plus one secret private key. This means there are 2n keys, which is in O(n)
Explain how a Block cipher works.
A block cipher operates on input data of a fixed length, called block. Input block and key produce an output block of the same length as the input block.
For the following question, you will need Algorithm 1 in conjunction with Table 1. Connect the boxes below and add elements where necessary to sketch the encrypt operation of Counter Mode (CTR). Then, apply CTR using simpleCipher as block cipher with 4 bits as block length on the plaintext P = 10101100 with key k = 1011. Let the nonce be 00. The running counter i has two bits and starts at 1. The counter (ctri in the figure) used for CTR Mode is constructed as the concatenation of nonce and i. The resulting ciphertext blocks are C0 and C1.
In the following, you will need Algorithm 2. Disregarding that its input and output length is too
small, is simpleHash a cryptographic hash function? Give a proof or counterexample.
simpleHash is not a cryptographic hash function.
Counterexample: not collision resistant. simpleHash(00010000) = simpleHash(0) = 0
In the following, you will need Algorithm 2 again. You are given the message P = 1010, the hash function h = simpleHash and the values opad = 1001, ipad = 1100 and a key k = 1111. Give the formula and compute the HMAC of P using hash function h.
The network is designed as follows. There are three network segments.
The uplink to the Internet is at wan. wan has the IP address 131.159.19.1
All internal hosts are connected to lan. It uses the IP range 10.8.0.0/16. Alice is at 10.8.0.4 and Bob is at 10.8.0.8.
Servers which should be accessible from both the internal network and the Internet are at eth42.
It uses the IP range 131.159.20.0/24. WebSrv is at 131.159.20.2 and Printer is at 131.159.20.3.
a) How is the firewall architecture called?
The network administrator has written the following stateful firewall rules.
Use this ruleset for the following questions. In the following subtasks, packets will be sent through the firewall. For each subtask
For each packet give the matching rule and action. Write legibly.
Give the state table after the packet has been processed.
Always continue with your previous state. You may use –“– to refer to the previous state.
b)Alice is establishing a HTTP connection (TCP port 80) to 1.2.3.4. She has chosen 52000 as her ephemeral port.
c) 1.2.3.4 replies with a SYN/ACK packet.
d) Your WebSrv is doing a system update over HTTP. It connects to 141.30.13.20. It has chosen
55000 as its ephemeral port.
e) 141.30.13.20 replies with a SYN/ACK packet.
f) Alice sends a DNS query (UDP port 53) to the Google DNS server 8.8.8.8. She has chosen 49152 as her ephemeral port.
g) The Google DNS server is replying to Alice
a) Screened Subnet Architecture (DMZ). Both are okay
b) Matching rule + action: D −→ Permit
State: (Alice, 1.2.3.4, 52000, 80, TCP)
c) matching rule: I −→ Permit
State: – “ –
d) matching rule: G −→ Permit
State: – “ – ++ (WebSrv, 141.30.13.20, 55000, 80, TCP)
e) matching rule: H −→ Drop State: – “ –
f) matching rule: C −→ Permit State: – “ – ++ (Alice, 8.8.8.8, 49152, 53, UDP)
g) matching rule: J −→ Drop State: – “ –
Why is the output size of a hash function of 11 bit too small?
11 bit is simply so small that we can easily brute-force collisions
Sometimes, the random oracle property is requested for hash functions. Why can a construction of a hash function with random() or true randomness not work?
Hash function must be deterministic. For example, we could not decrypt RSA-OAEP if G and H were not deterministic.
Systems should never store passwords as plain text. Sometimes, systems store the SHA256 hash of passwords. What is achieved with this? How can this be attacked?
SHA256 is a cryptographic hash function → it is a oneway function. The one-way property ensures: If the password file got stolen, an attacker cannot reverse SHA256 to get back the plaintext passwords.
Unfortunately, this does not help much (for weak passwords). The common way to crack stored
password hashes a dictionary attack.
Get a dictionary of commonly used password, words, l337-sp34k-substitutions, brute force, ...
Hash them all
Check the hashes against the stolen password hashes
More efficient technique: Rainbow Tables (Google is your friend), trade space-efficience against longer lookup time
Many systems store passwords as follows. They compute p′ = SHA256(r ∥ password), i.e. a
SHA256 hash of a random string r to which the password is concatenated. They then store (r, p′).
a) What is achieved with this?
b) Why is it not a problem if r is known to an attacker?
a) This method is called salting. Every user gets his own random r.
Several goals are achieved with this.
If two users use the same password, the random r will guarantee that the hashes are not the same.
It protects users with weak passwords against pre-computation. Try it yourself: Calculate the hash of a weak password and google the hash. If your password was weak, you should be able to ‘reverse’ the hash by googling. Add a salt. Now, it should be impossible to google the hash.
An attacker would need to compute a dictionary attack for each r.
An attacker would need to construct a rainbow table for each r.
b) Assume r is at least 128bit. r will likely be not in your dictionary.
No attacker will pre-compute rainbow tables for all combinations. It is thus unlikely that a pre-computed rainbow table already exists for a given r.
Actually, one should not use a “general-purpose” hash function like SHA256 at all to store passwords.
Look for password-based key derivation or password hashing functions (PBKDF2, scrypt, argon2).
Why are they needed and how do they compare to hash functions?
Two observations:
General-purpose hash functions are designed to be computed efficiently.
Users are choosing weak passwords.
If an attacker gets a password file, the attacker can just brute-force the hashes. One can never prevent this but one can try to slow down an attacker.
Special functions to store passwords are very similar to hash functions (1st/2nd pre-image resistance, collision resistance and random oracle property), but slower and more memory intensive.
Those functions are carefully designed that they also do not parallelize well, even with special hardware. They – of course – also use salting! You could implement such a function for example by applying SHA256 a few thousand times: SHA25610000(r ∥ password).
You should however use an established library function whenever possible (as the above suggestion is not particularly strong).
a) What is the public key? What is the private key?
b) Which information should be destroyed after generating the key?
c) Does this key pair look secure for using it the next five years? Assume that only you know the
private key.
d) Encrypt the letter letter ’A’ with (textbook) RSA. Note: A corresponds to 6510 in ASCII. Check
your solution by decrypting again.
a) Public Key: (3127, 3)
Private Key: (3127, 2011) (or just (2011) )
b) p,q
c)Obviously, the key length is way too small!
bin(3127) = ’110000110111’
length = 12 bit!
d)
What is the main difference between Threshold Cryptography and "traditional" asymmetric cryptography?
The private key does not exist in a central form but is split into n fragments or partial keys. A threshold signature can only be computed if at least t partial keys are involved.
What are the main benefits of using Threshold Cryptography over traditional asymmetric cryptography?
The private key is more difficult to compromise, as the attacker needs at least t partial key in order to successfully compute a signature.
As the key resides on n different nodes, a threshold-cryptography-based signing system can still work if at least t nodes remain online.
For the same reason, it is less likely that the private key gets lost.
"Decision" whether to sign something or not can be distributed (e.g. distributed system)
Why is distributed key generation (DKG) preferable to key distribution involving a dealer?
With DKG, the key never exists in its combined/centralized form.
The dealer might keep a copy of the key split into fragments and use it for adversarial purposes.
Explain the differences between verifying a threshold signature and a signature created with traditional asymmetric cryptography.
There is none!
In both worlds, the signature can be verified using the public key that corresponds to the centralized or distributed private key
What is the general purpose of a X.509 certificate?
Without any help, we do not know who owns which public key. A certificate solves this issue by creating a verifiable/authentifiable binding between an entity’s identity (name, email address, URL, etc.) (person, server, service, etc.) and a public key owned by that entity.
Under which circumstances can the certificate/the public key be trusted?
The public key in the certificate can be trusted
1) if we trust the CA that issued the certificate,
2) if we can verify the signature of the certificate (which probably means that we have to check a whole certificate chain!),
3) if we are inside the "time window" in which the certificate is valid,
4) if the certificate has not been revoked.
Explain why Root Certificates are self-signed and why the self-signed Root Certificates need to be included in a Root Store.
Root CAs are the trust anchors of a PKI.
This also means that there are no other CAs in the PKI hierarchy "above" Root CAs.
This also means that no other CAs could sign a Root CA’s certificate to establish trust in it.
Hence, Root Certificates need to be deployed via Root Stores.
Explain why private Root CA keys should not be used to perform "every day tasks" like signing certificates for entities (users, devices, etc.). Also, explain what a Root CA should do instead!
Let us assume the Sub-CA is compromised. What can we do?
In case the sub-CA’s private key sksub is compromised, the sub-CA’s certificate can be revoked by the Root CA, and a new key pair can be created and certified by the Root CA as described above.
Explain what certificate revocation is and when we need to do it
Certificate revocation means a certificate is marked as being invalid before it expires.
Revocation can be helpful in situations where the private key skx that belongs to the certified
public key pkx is lost or compromised. A certificate can also be revoked if the ownership of the
certified identity changes, e.g., company/URL/... is sold to someone else, etc.
One way to revoke a certificate is to use a Certification Revocation List (CRL) and another is to use the Online Certificate Status Protocol (OCSP). Briefly explain how both approaches work and what the problems of both are.
CRL means that a CA periodically publishes a list of revoked certificates.
The browser downloads this list and checks that the certificate it received from the server (actually, all certificates in the certificate chain!) is not revoked (i.e., it is not on the list). Downloading and checking the CRL is a time-consuming task.
Other problems are that the CRL needs to be fresh, and the browser needs to be able to download it - attackers might block the download. If the CRL cannot be loaded, browsers often skip the check without warning the user.
OCSP is a challenge/response protocol where the browser asks the OCSP server if a certificate is still valid. OCSP has the same freshness problem as CRLs. Furthermore, an attacker can block requests, and browsers will most likely soft-fail. Finally, the OCSP server learns what sites the browser (= user) visits, which is a privacy issue.
What does certificate pinning mean?
The overall approach is that a computer has a list of "expected" certificates/public keys of websites. If the website presents an unexpected certificate, the browser can stop the connection attempt and warn the user.
What options do we have for certificate pinning?
There are two types of pinning:
static pinning and dynamic pinning.
Static pinning can mean that the browser creates "pins" when it first visits the website ("user-driven pinning"), or the browser comes "pre-loaded" with pins of the most important sites.
With dynamic pinning, the browser can request pins from other browsers/other computers on the fly.
What problems does certificate pinning have?
User-driven pinning has the "trust on first use" problem, i.e., the browser does not know if the certificate it pins is authentic. The same applies to pins dynamically requested from other entities.
Pre-loaded pins would solve these issues, but browsers cannot deliver pins for all websites (scalabil- ity problem). Pinning is also problematic, as certificates can change for legitimate reasons like renewal.
Note: User-driven and dynamic pinning have lost relevancy since Certificate Transparency was introduced.
Before we present the actual solution, here is some generic advice how to approach protocol breaking tasks:
a) Show that the authentication is broken, as Alice claims. Do this by giving a sequence of message exchanges that conform to the protocol specification yet constitute a violation of Bob’s second claim. (Note: write down the full message exchange, not just your changes!)
b) State precisely which field in which protocol message causes the vulnerability, and why. Change the thus identified field so the authentication property is not violated anymore. Give the new protocol flow.
c) The following is a variant of Bob’s (flawed) protocol that adds a weak kind of key establishment:
d) Show how to enable PFS. Write down the new message flow.
e) We said the key establishment is weak in Bob’s version (we do not mean the lack of PFS here). That is because there is a hidden vulnerability in there. Which one? (Say why!)
e)
You are a Certification Authority (CA) identified as netsec.top. For the cases 1-3 below, argue why you would be or would not be permitted to issue a certificate.
a) Case 1: CSR: tum.de. CAA records for tum.de: “issue ;”
b) Case 2: CSR: tum.de. CAA records for tum.de: does no exist, no record
c) Case 3: CSR: tum.de. CAA records for tum.de: “issue netsec.top \n issue netsec2.top”
d) As CA, what CAA records do you have to check if you receive a CSR for tum.de, www.tum.de, and *.tum.de ?
a) “issue ;” forbids all CA to issue.
b) You are permitted to issue. Lack of record implies no restrictions.
c) You are permitted to issue. netsec.top is in the list of permitted CAs.
a) Which problem is DNSSEC trying to solve?
b) How is DNSSEC realized?
c) How many keys does every Zone have? Why?
d) Which improvement does the NSEC3 resource record provide?
a) DNS is a fundamental component for many applications in the WWW. For many services the authenticity and integrity of DNS information is essential. However, the original design of DNS did not include any security features. In order to prevent MitM and spoofing attacks, DNSSEC adds authenticity and integrity protection to DNS replies.
b) DNS resource records (RRs) are grouped into RRsets based upon their type. The resulting RRset is digitally signed, using public key cryptography. The signatures are stored in a new record type (RRSIG) alongside the existing records for a zone.
a) Why are modes of encryption necessary?
b) What is required if the length of the message to encrypt is not a multiple of the cipher’s block size?
c) Are modes of encryption necessary for stream ciphers?
b) Padding (only for block-cipher modes, not CTR and OFB).
a) What is the main purpose of the IV?
b) Is it required that the IV is transmitted encrypted?
c) Is it required that the IV is fresh?
d) Is it required that the IV is transmitted with integrity protection?
a) With different IVs, identical plaintexts are encrypted to different ciphertexts.
b) No. It is just a random initialization value, not a secret. Secrecy of message depends on secret key.
c) Yes, otherwise, identical plaintexts are encrypted to identical ciphertexts.
d) Yes! Think about how CBC decryption works. If an attacker can flip bits unnoticed in the IV, the attacker can completely influence the first decrypted plaintext block.
This task refers to ECB, CBC, OFB, CTR, OCB, GCM
a) Which of those modes offers AEAD?
b) Assume the following experiment:
Which of above modes of encryption is secure according to this experiment?
c) Which of those modes is secure under the classical Chosen Plaintext Attack?
d) Which of those modes can be used to ensure integrity?
e) Which ones essentially transform a block cipher into a stream cipher?
a) OCB, GCM
OFB, CTR
a) Alice has two public-key key pairs. Below, on the left hand side, we wrote down Alice’s keys. On the right hand side, we wrote down possible uses of the keys. Connect them in one of the two ways that makes sense.
Zuletzt geändertvor 16 Tagen