Midterm 1 Flashcards
What is a passive attack?
When an intruder eavesdrops but does not modify the message stream in anyway.
What is an active attack?
When an intruder transmission messages, replays old messages, modifies message in transit, or deletes selected messages from the wire.
What is a typical active attack?
One in which an intruder impersonates one end of the conversation, or acts as a man-in-the-middle.
What is authentication?
Authentication proves who you are.
What is authorization?
Authorization defines what you’re allowed to do.
Explain the process of authentication and authorization?
Typically the way a server decides whether someone should have access to a resource is by first authenticating the user, and then consulting a database associated with the resource that indicates who is allowed to do what with that resource. For instance, the database associated with a file might say that Alice can read it and Bob and Carol can both read and write it. This database is often referred to as an ACL (access control list).
What is a Trojan horse?
Instructions hidden inside an otherwise useful program that do bad things. When malicious instructions are installed at the time the program is written. Today often on a Webpage (Active-X, plugin)
What is a virus?
a set of instructions that, when executed, inserts copies of itself into other programs. More recently, the term has been applied to instructions in email messages that, when executed, cause the malicious code to be sent in email to other users.
What is a worm?
program that replicates itself by installing copies of itself on other machines network.
What is a trapdoor?
an undocumented entry point intentionally written into a program, often for debugging purposes, which can be exploited as a security flaw.
List five types of network security issues?
Malware and viruses: These are malicious software that can infect a computer or network and cause damage by stealing sensitive information or disrupting normal operations.
Unauthorized access: This occurs when an unauthorized user gains access to a network or computer system, often through weak passwords or security vulnerabilities. It can result in data theft or modification, as well as system downtime.
Denial of service (DoS) attacks: This is a type of cyber attack that floods a network or server with traffic, overwhelming its capacity and causing it to crash or become unavailable. DoS attacks can be used to disrupt business operations, extort money or cause political disruption.
Phishing and social engineering: These are tactics used by attackers to deceive users into providing sensitive information, such as passwords or credit card numbers, by posing as a trustworthy entity or individual. These attacks often use emails or social media messages to trick users into clicking on malicious links or opening infected attachments.
Insufficient security policies and practices: This includes failures to implement proper security protocols, such as not regularly updating software, weak passwords or not training employees on how to recognize and report security threats. These vulnerabilities can be exploited by attackers to gain access to networks or steal sensitive information.
How do you encrypt a message by streaming cipher?
Choose a strong encryption algorithm
Generate a key
Start the stream by creating a keystream by encrypting an initialization vector with the encryption key
XOR the plaintext with the keystream to produce the ciphertext
Send the encrypted message over the network and the receiver will use the same encryption key and IV to recover the original plaintext message.
In what application scenario is a streaming cipher more favorable than a block cipher?
A streaming cipher is more favorable than a block cipher in scenarios where the encryption and decryption of data occur in real-time and with a continuous stream of data, such as in real-time communication protocols like Voice over IP (VoIP) and multimedia streaming. In these scenarios, a block cipher would be inefficient and cause delays due to the need to buffer the data until it can be processed in fixed-size blocks.
On the other hand, a streaming cipher can encrypt the data as it arrives and transmit it securely without buffering or adding any additional delay. Streaming ciphers can also be used in situations where the amount of data is unknown in advance or where the data is generated dynamically, such as in the case of sensor data or stock prices.
Overall, streaming ciphers are more suitable for applications that require real-time encryption of a continuous data stream with minimal overhead and delay. In contrast, block ciphers are more appropriate for scenarios where data can be divided into fixed-size blocks and processed accordingly.
Why is public key technology so important for large scale network security applications?
Public key cryptography is when there are two keys per user. Each user has a private key and a public key that reverse each others effects. A public key is used to encrypt messages or check digital signatures. A public key is paired with a private key specific to the user. In most cases, a public key is made available to every user. This is especially important in large-scale network security applications as it eliminates the sharing of private keys between individual users. When users need to transmit their private keys, it increases the risk of intruders discovering these secret keys during transmission. Public key technology centralizes the system to one known public key, decreasing the risk of cybersecurity attacks. This is especially important when large-scale networks are exchanging millions of messages daily.
Consider the scenario that Alice wants to send a long message m to Bob securely. Suppose that Alice and Bob have agreed in advance on the symmetric key encryption algorithm, the public key encryption algorithm, and the hash function, which may be used in the secure communication. You are required to design a security communication scheme for Alice and Bob. Your design should achieve confidentiality, authentication, and message integrity. Also the security should be achieved with an efficient computing overhead, meaning that you should avoid applying public key encryption to the whole long message m. Use a diagram to present your designed security scheme.
Alice and Bob establish a secure channel using a symmetric key encryption algorithm, such as AES or 3DES, to exchange a secret key Ks for use in subsequent communications.
Alice encrypts the long message m using the agreed symmetric key encryption algorithm and the secret key Ks to produce ciphertext E(K,m).
Alice computes a message authentication code (MAC) for the ciphertext E(K,m) using a hash function and the secret key Ks, such as HMAC.
Alice sends the ciphertext E(K,m) and the MAC HMAC(K, E(K,m)) to Bob over a separate channel, such as the internet. Bob verifies the MAC using the same hash function and secret key Ks, and accepts the message only if the MAC is valid.
This security scheme achieves confidentiality, authentication, and message integrity. The symmetric key encryption algorithm provides confidentiality by encrypting the message using the secret key Ks, which only Alice and Bob know. The MAC provides authentication and message integrity by ensuring that the ciphertext and the MAC are not tampered with during transmission and that they come from Alice, who knows the secret key Ks. Additionally, the security scheme is efficient because the public key encryption is not applied to the whole long message m, only to the smaller symmetric key Ks.
Bob needs to send some messages to Tom. Bob is required to design a scheme to prevent messages from being modified by an intruder. Bob decides to append to each message a hash of that message. Does Bob’s design meet the requirement? If not, please modify Bob’s design to fix the security issue.
Bob’s design to append a hash of each message to itself is a good start to ensure message integrity. However, it does not prevent an intruder from modifying the message and recalculating the hash value, leading to the hash value still matching the modified message.
To fix this security issue, Bob should use a message authentication code (MAC) instead of a hash. A MAC is a cryptographic technique that ensures message integrity and authentication. It combines a secret key known only to Bob and Tom with the message to create a unique authentication code that can only be created by someone who knows the secret key. When Tom receives the message and the MAC, he can recalculate the MAC using the same secret key and compare it to the received MAC to verify the message’s integrity.
Therefore, by using a MAC, Bob can prevent an intruder from modifying the message without being detected.
What is a playback attack?
A playback attack happens when an intruder eavesdrops on a secure communication, intercepts it, and then delays or resends it to trick the receiver. An intruder is able to do this even without decrypting the message as they can just resend the entire thing. This means that even encrypted messages carrying keys within them are susceptible to this attack. This is because the attacker is able to resend the entire message, keys included.
How will you design an authentication protocol that is secure against a playback attack?
There are a few protocols to defend against this type of attack. One being the generation of random session keys. Both sender and receiver would establish this random session key valid for only one use not to be replicated or used again. Another possible protocol would be the implementation of timestamps to reduce the window of opportunity for intruders to eavesdrop. Coming directly from the textbook, a user can use a nonce for each connection attempt to avoid replay attacks. A nonce ensures that old communications are not being reused.
What is the salt technique?
The salt technique is a method used to strengthen password security by adding a random string of characters to a password before it is hashed. This random string is called a salt and makes it more difficult for attackers to use precomputed hash tables or rainbow tables to crack passwords.
Why is the salt technique important?
The salt technique is important because it significantly increases the difficulty of cracking passwords, thereby enhancing password security. It makes it more challenging for attackers to use precomputed hash tables or rainbow tables to reverse-engineer passwords. Additionally, it prevents the same password from producing the same hash value every time, which adds another layer of security to the process.