Distributed Systems Flashcards
What is the name of the protocol that uses an iterative application of the Diffie-Hellman algorithm for distributed group key management?
The protocol that uses an iterative application of the Diffie-Hellman algorithm for distributed group key management is called the Tree-based Group Diffie-Hellman (TGDH) protocol.
What are the advantages of the Needham-Schroeder protocol for dynamic pairwise key establishment?
1.The Needham-Schroeder protocol is simple and efficient for establishing pairwise keys in a distributed system.
2.It provides mutual authentication between the communicating parties.
What are the disadvantages of the Needham-Schroeder protocol for dynamic pairwise key establishment?
1.The protocol assumes that the communication channel between the group controller and the users is secure, which may not always be the case.
2.It relies on a trusted group controller for key distribution, which can be a single point of failure.
3.The protocol is vulnerable to replay attacks if timestamps or sequence numbers are not used.
What is the difference between a multi-signature and a group signature algorithm?
A multi-signature algorithm requires all or a certain number of users to sign a message, and anyone can verify the signatures and know who the signers are. It is often used in scenarios where joint approval from multiple parties is required.
A group signature algorithm allows any group member to sign a message on behalf of the group, and anyone can verify the signature but cannot identify the signer. It is often used in scenarios where signer anonymity is required.
What is the purpose of a proof-of-work in a blockchain-based distributed ledger
The purpose of a proof-of-work in a blockchain-based distributed ledger is to deter denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer.
How can Shamir’s secret sharing be used to implement a (k,n) threshold signature algorithm?
Shamir’s Secret Sharing can be used to implement a (k,n) threshold signature algorithm in the following way:
*The secret (e.g., a private key) is split into n shares using Shamir’s Secret Sharing.
Each of the n users holds one share.
*To sign a message, each user signs the message with their share of the secret.
*Any k out of n signatures can be combined to produce the original signature.
*The original signature can be verified with the public key corresponding to the secret.
*This way, any k out of n users can jointly sign a message, but any fewer than k users cannot.
What is the role of a group controller in the Needham-Schroeder protocol?
In the Needham-Schroeder protocol, the group controller (GC) plays a crucial role. It is responsible for generating and distributing keys to the users. The GC acts as an intermediary, enabling users to establish pairwise keys with each other.
How does the tree-based group Diffie-Hellman (TGDH) protocol work?
The Tree-based Group Diffie-Hellman (TGDH) protocol is a decentralized approach to manage keys in distributed systems. It allows users to create a group key using the Diffie-Hellman algorithm iteratively. The users are organized in a binary tree, where each user is a leaf node. Each node in the tree (including the leaf nodes) holds a group key, which is the result of the Diffie-Hellman operation between the keys of its child nodes. When a user wants to join or leave the group, only the keys of the nodes on the path from the user to the root need to be updated.
What are the advantages of centralized key management in distributed systems?
Simplicity and efficiency. The group controller can easily distribute keys and handle authentication.
What are the disadvantages of centralized key management in distributed systems?
Single point of failure (the group controller), potential bottleneck in large systems, and trust issues (all users must trust the group controller).
What are the advantages of decentralized key management in distributed systems?
No single point of failure, better scalability, and does not require trust in a single entity.
What are the disadvantages of decentralized key management in distributed systems?
More complex to implement, and key updates (due to users joining or leaving) can be more computationally intensive.
What is the purpose of Shamir’s Secret Sharing in the context of distributed systems?
Shamir’s Secret Sharing is a method by which a secret can be divided into parts, giving each participant its own unique part. The unique property of this method is that you need a minimum number of parts to reconstruct the whole secret. In the context of distributed systems, it can be used to implement secure multi-party computations and threshold cryptosystems.
How does a blockchain-based distributed ledger ensure the integrity and authenticity of transactions?
Blockchain uses cryptographic hash functions to ensure the integrity of transactions. Each block contains a hash of all its transactions, and each new block contains the hash of the previous block, creating a chain of blocks. This makes it nearly impossible to alter a transaction once it has been added to the blockchain. For authenticity, blockchain uses public-key cryptography. Transactions are signed with the sender’s private key, and anyone can verify the signature with the sender’s public key.
What is the role of miners in the operation of a blockchain-based distributed ledger?
Miners play a crucial role in the operation of a blockchain-based distributed ledger. They validate and add new transactions to the blockchain. They do this by solving a complex mathematical problem (proof-of-work), which requires significant computational resources. Once a miner solves the problem, they add the new block of transactions to the blockchain. In return for their work, miners are rewarded with cryptocurrency.
How does a multi-signature wallet enhance the security and control of funds in a blockchain-based system?
A multi-signature wallet requires multiple parties to sign a transaction before it can be executed. This adds an extra layer of security because even if one party’s private key is compromised, the attacker cannot execute transactions without the other required signatures. It also provides better control of funds, especially in an organization, as it requires consensus before funds can be spent.
What is the difference between a linear secret sharing scheme and a threshold secret sharing scheme?
In a linear secret sharing scheme, all shares are required to reconstruct the secret. In a threshold secret sharing scheme, any subset of shares of a certain size (the threshold) can reconstruct the secret. The latter is more flexible and can tolerate the loss or unavailability of some shares.
How can the storage space and bandwidth required for a blockchain-based distributed ledger be optimized?
There are several ways to optimize the storage space and bandwidth required for a blockchain-based distributed ledger1. One way is through “pruning” the blockchain, which involves removing certain parts of the data that are no longer needed (like spent transactions). Another way is through the use of more efficient data structures, like Merkle trees, which can store large amounts of data compactly and securely.
What are some applications of group signatures in distributed systems?
Group signatures are useful in any scenario where anonymity is important. For example, they can be used in electronic voting systems to ensure that votes are anonymous but still verifiable. They can also be used in anonymous credential systems, where users can prove membership in a group without revealing their identity. Another application is in vehicular ad hoc networks (VANETs), where vehicles can send anonymous but authenticated messages to each other for traffic safety and efficiency.
What operations must be supported for groups in Security of Distributed Systems?
User join, User leave, User eject, Group Merge, Group Partition
What are some of the reasons to use distributed security mechanisms?
Secrets are too important to be kept by one user
It is easier to trust many than one user
Robustness is an important factor if multiple users are involved
What is the main protection mechanism against eavesdropping?
Encryption
What is the name of the protocol that specifies how network traffic is encrypted?
IPSec
What is the mathematical function that transforms a message and a key into an encrypted message?
The mathematical function that transforms a message and a key into an encrypted message is called encryption function. It can be denoted as E(m,k), where m is the message, k is the key, and E(m,k) is the encrypted message.
What are the two methods that IPsec defines for IP packet authentication and encryption?
The two methods that IPsec defines for IP packet authentication and encryption are IP Authentication Header (AH) and IP Encapsulating Security Payload (ESP). AH provides integrity and authenticity for the IP packet header and payload, while ESP provides confidentiality and optionally integrity and authenticity for the IP packet payload.
What is the name of the dynamic key protocol that is used for establishing a pairwise key between two users?
The name of the dynamic key protocol that is used for establishing a pairwise key between two users is Needham-Schroeder protocol. It is a classical protocol that uses symmetric encryption and a trusted third party to generate and distribute keys.
What are the roles of the users u1 and u2 and the group controller GC in the Needham-Schroeder protocol?
The roles of the users u1 and u2 and the group controller GC in the protocol are as follows:
- u1 and u2 are the two users who want to communicate securely with each other. They share secret keys with the GC, denoted as k1,GC and k2,GC respectively.
- GC is the group controller or the trusted third party that generates and distributes the pairwise key for u1 and u2, denoted as k12. It also issues tickets that contain the pairwise key and the identity of the users, encrypted with their secret keys.
What are the five steps of the message exchange in the Needham Schroeder protocol?
- Step 1: u1 sends a request to GC, containing its identity, the identity of u2, and a nonce nu1. A nonce is a random number that is used to prevent replay attacks.
- Step 2: GC responds to u1, sending back the nonce nu1, the pairwise key k12, the identity of u2, and a ticket for u2 that contains the pairwise key k12 and the identity of u1, encrypted with k2,GC. All these are encrypted with k1,GC.
- Step 3: u1 decrypts the message from GC, extracts the pairwise key k12 and the ticket for u2, and forwards the ticket and a challenge to u2. The challenge is the nonce nu1 encrypted with k12.
- Step 4: u2 decrypts the ticket, extracts the pairwise key k12 and the identity of u1, and verifies the challenge by decrypting it with k12 and comparing it with nu1. Then u2 sends back a response to u1, containing the decremented nonce nu1-1 and a new nonce nu2, encrypted with k12.
- Step 5: u1 decrypts the response from u2, verifies the decremented nonce nu1-1, and sends back the decremented nonce nu2-1, encrypted with k12.
What are some of the disadvantages of the Needham-Schroeder protocol?
Some of the disadvantages of the Needham-Schroeder protocol are:
- All users have to trust the GC, which may not be desirable or feasible in some scenarios.
- The GC is a single point of failure, which means that if it is compromised or unavailable, the whole system is vulnerable or disrupted
-The protocol does not support handling of network separation and fusion, which means that it cannot cope with dynamic changes in the network topology or group membership⁵[5].
- The protocol has a limited scalability, which means that it requires a large number of pairwise keys and messages for a large group of users
What is the term that describes the trust relationship between the users and the GC?
The term that describes the trust relationship between the users and the GC is trust assumption. It means that the users assume that the GC is honest and reliable, and that it will not reveal or misuse their keys or identities.
What is the term that describes the point in a system that can cause the whole system to fail?
The term that describes the point in a system that can cause the whole system to fail is single point of failure. It means that the system depends on a single component or entity, and that if it fails, the system cannot function properly or at all
How can efficient confidentiality in distributed systems be achieved by using a shared group key?
Efficient confidentiality in distributed systems can be achieved by using a shared group key for the encryption E(m,k), where m is the message, k is the group key, and E(m,k) is the encrypted message. This way, only one key is needed for the whole group, instead of multiple pairwise keys
What is the condition that must be satisfied for providing the group key to the users?
The condition that must be satisfied for providing the group key to the users is that the users must be
authorized. It means that they must have the right or permission to join the group and access the group key and the encrypted messages.
What is the term that describes the process of altering the group key in dynamic groups?
The term that describes the process of altering the group key in dynamic groups is rekeying. It means that the group key is changed or updated whenever a user joins or leaves the group, in order to maintain the security requirements of the group key
What are the four security requirements that must be satisfied by a group key?
- The four security requirements that must be satisfied by a group key are:
- Key secrecy: Only authorized users receive the group key, and no unauthorized users can obtain or derive the group key.
- Forward secrecy: Users who join the group after the group key is established do not receive any old group key or any encrypted messages that were sent before they joined the group.
- Backward secrecy: Users who leave the group do not receive any new group key or any encrypted messages that are sent after they leave the group.
- Key independence: The group key is independent of any previous or future group keys, and no group key can be derived from another group key.
What are the terms that describe the situations where a user joins or leaves the group?
- The terms that describe the situations where a user joins or leaves the group are join operation and leave operation respectively. They are the membership operations that affect the group composition and the group key.
What are the terms that describe the situations where a user receives no old or new group key?
- The terms that describe the situations where a user receives no old or new group key are forward secrecy and backward secrecy respectively. They are the security properties that prevent a user from accessing the encrypted messages that are not intended for them.
What is the main concept of distributed group key management?
The main concept of distributed group key management is that every user contributes to the session key for encryption, and the key establishment and update mechanisms are based on an iterative application of the Diffie-Hellman algorithm. This way, the group key is generated and distributed without a single point of failure or a trusted third party.
What is the name of the algorithm that is used for the key establishment and update mechanisms in group signature (tree based)?
- The name of the algorithm that is used for the key establishment and update mechanisms is Tree-based Group Diffie-Hellman (TGDH) protocol. It is a distributed group key management protocol that arranges the users in a tree structure and uses the Diffie-Hellman algorithm to generate and update the group key.
What are some of the advantages and disadvantages of distributed group key management?
- Some of the advantages and disadvantages of distributed group key management are:
- Advantages:
- It is easier to trust many users than one GC, as the users have more control and transparency over the group key.
- The key establishment is done without a single point of failure, as the users do not depend on a single entity or component for the group key.
- The mechanisms can handle network partition and merge, as the users can adapt to the changes in the network topology or group membership.
- Disadvantages:
- Difficult key establishment in networks with high packet losses, as the users may not receive or send the necessary messages for the group key.
- High communication and computation overhead, as the users have to exchange and process more messages and keys for the group key.
- Advantages:
What is the main goal of the Diffie-Hellman algorithm?
The main goal of the Diffie-Hellman algorithm is to generate a shared secret key over public channels, without revealing the key to any eavesdroppers or attackers.
What are the mathematical elements that are used in the algorithm?
The mathematical elements that are used in the algorithm are:
- ℤp: A group with multiplication modulo p as the operation, where p is a large prime number and * denotes the multiplication operator.
- g: A generator of ℤp, which means that every element of ℤp can be obtained by raising g to some power modulo p.
- k1 and k2: The secret keys of the users u1 and u2, which are randomly chosen from ℤp.
- bk1 and bk2: The blind keys of the users u1 and u2, which are calculated by raising g to the power of k1 and k2 modulo p, respectively.
- k12: The shared secret key of the users u1 and u2, which is calculated by raising the blind key of one user to the power of the secret key of the other user modulo p, respectively.
What are the names of the keys that are generated and exchanged by the users in the algorithm? Blind Key Sharing
- The names of the keys that are generated and exchanged by the users in the algorithm are:
- The secret keys k1 and k2, which are generated by the users u1 and u2, and are not exchanged or revealed to anyone.
- The blind keys bk1 and bk2, which are generated by the users u1 and u2, and are exchanged between them over public channels.
- The shared secret key k12, which is generated by the users u1 and u2, and is not exchanged or revealed to anyone.