CPS 512 midterm exam #1, 10/5/17 Your name please: NetID:_______ Sign for your honor:____________________________.

Slides:



Advertisements
Similar presentations
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Advertisements

Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Secure Multiparty Computations on Bitcoin
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
1 Lecture 17: SSL/TLS history, architecture basic handshake session initiation/resumption key computation negotiating cipher suites application: SET.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
Department of Information Engineering1 Major Concerns in Electronic Commerce Authentication –there must be proof of identity of the parties in an electronic.
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
1 Authentication Protocols Celia Li Computer Science and Engineering York University.
Domain Name System | DNSSEC. 2  Internet Protocol address uniquely identifies laptops or phones or other devices  The Domain Name System matches IP.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Fall 2006CS 395: Computer Security1 Key Management.
DNS Security Risks Section 0x02. Joke/Cool thing traceroute traceroute c
Security Handshake Pitfalls. Client Server Hello (K)
TAG Presentation 18th May 2004 Paul Butler
Block Chain 101 May 2017.
Secure HTTP (HTTPS) Pat Morin COMP 2405.
Security Issues with Domain Name Systems
CPS 512/590 final exam, 12/8/2015 /60 Your name please: /50 /50 /60
Chapter 5 Network Security Protocols in Practice Part I
Cryptography CS 555 Topic 34: SSL/TLS.
/50 /60 /40 /30 A Tale of Two Clients
DNS Security Issues SeongHo Cho DPNM Lab., POSTECH
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Cryptography and Network Security
Cryptography Reference: Network Security
Cryptography Reference: Network Security
Secure Sockets Layer (SSL)
Information Security message M one-way hash fingerprint f = H(M)
Blockchains in 12 Easy Steps and Observations to Ponder…
Cryptographic Hash Function
TAG Presentation 18th May 2004 Paul Butler
Bitcoin - a distributed virtual currency system
DNS Session 5 Additional Topics
Uses Uses of cryptography Lab today on RSA
Distributed Systems for Information Systems Management
CPS 512 midterm exam #1, 10/5/17 Your name please: NetID:_______ Sign for your honor:____________________________.
Ivy Eva Wu.
Tutorial on Creating Certificates SSH Kerberos
Internet Networking recitation #12
Net 323 D: Networks Protocols
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
Using SSL – Secure Socket Layer
Deanonymization of Clients in Bitcoin P2P Network
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
CS4622: Computer Networking
Information Security message M one-way hash fingerprint f = H(M)
NET 536 Network Security Lecture 8: DNS Security
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
NET 536 Network Security Lecture 6: DNS Security
Protocol ap1.0: Alice says “I am Alice”
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
CS2911 Week 9, Class 1 Today Discussion on RSA Video Eavesdropping
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
KERBEROS.
Consensus Algorithms.
CDK: Chapter 7 TvS: Chapter 9
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Kai Bu 05 Secure Connection The topic to be covered this week is secure connection. Apparently, the.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Advanced Computer Networks
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 8 roadmap 8.1 What is network security?
Digital Signatures Network Security.
Campbell R. Harvey Duke University and NBER
Presentation transcript:

CPS 512 midterm exam #1, 10/5/17 Your name please: NetID:_______ Sign for your honor:____________________________ Part 1. Digital Signatures (25 points). Suppose that a principal Alice (A) signs a message/record (R) that is received by another party Bob (B), who validates the signature. Suppose R is sent over an insecure network connection and that malicious Mark (M) can intercept R as it transits the network from A to B. Are the following statements True or False? Indicate your answer in the box at the left of each statement. You may comment further in the space on the right if you wish. F (a) As R’s content grows in size, the size of its signature also grows. (b) As R’s content grows in size, the cost to sign or validate R also grows. (c) M must obtain B’s public key in order to read (or decrypt) the content of R. (d) B must obtain A’s public key in order to validate the signature of R. (e) M must obtain A’s private key in order to modify the content of R without detection. T F T T Part 2. Use Cases (40 points). Consider examples of such signed records R (as in Part 1) from systems we discussed. 1. DNSSEC response record (signed by authority for parent domain) 2. SSL certificate (signed by issuing CA) 3. Bitcoin transaction record (signed by payer) 4. SSO identity binding from identity provider 5. I accepted: Bitcoin/blockchain block as signed by miner (a) List four examples. Number them. Use names/keywords for the systems and records: don’t explain how or why they generate or sign the records. (b) For which of your numbered examples in (a) does the signed R contain the public key of A or B (or a hash of the key)? (c) For which of your numbered examples in (a) does R contain the public key (or its hash) of another principal C, other than A or B? (d) For each of the examples in (c), what other information does R contain about C? I accepted any reasonable answers here. In general, B must know the public key of A (or its hash) from some other source to know whether to trust A. (One exception is #3 bitcoin transaction record.) In general, for part 2 I gave 5 points for each record example, and 5 more for the right relevant information spread across b, c, d, sufficient to show that you understood the example. The question has an unintended complexity in that it specifies that the sender is the issuer (A), but the interesting case for SSL certificates is when the sender is the holder, and the cert has the holder’s public key but is signed by a CA. I accepted any answers that made clear when there are three parties involved: 1. C is subdomain authority  C’s pub key hash, IP, and DNS name. 2. C is server  C’s pub key/hash and Distinguished Name (DNS name). 3. C is payee  C’s pub key hash and transaction amount. 4. No pub key for C. 5. Block contains transaction records; see #3.

CPS 512 midterm exam #1, 10/5/17, page 2 of 4 Part 3. Blockchain (35 points). These questions apply to a blockchain system: a set of nodes organized in a broadcast network to maintain a global ledger of operations. You may presume that the blockchain functions like the example we discussed: Bitcoin. The ledger is broken into blocks; each node accepts the longest chain of valid blocks (that it knows of) as the current ledger. (a) On average, how many nonces must a miner try before it finds a nonce that yields a block hash that begins with 4 leading zero bits? (b) How many if the block hash must begin with 8 leading zero bits? (c) Propose a strategy for the miner to select the candidate nonces to maximize its chances of finding a “good” one quickly. (d) If the miner controls 10% of the computing (mining) power in the network, what are its chances of succeeding to “mine” the next block in the chain? (e) How does a node in the network know the order of the blocks in the longest chain? (f) How does a node in the network know the order of operations in the ledger? (g) A malicious miner M could overwrite portions of the ledger history, if it can produce a new valid block chain that is longer than any other valid chain. What prevents this attack from succeeding? 1/16 probability that any random nonce qualifies  16 trials on average. The key here is to understand how the difficulty of the puzzle grows as we add bits to the zero prefix. 1/256 probability that any random nonce qualifies  256 trials on average. There is no alternative to brute force. The simplest is to try candidate nonces in a fixed pattern (e.g., increment by 1) to avoid trying the same candidate twice. The only way to speed it up is to add more compute power. 10%. The probability of winning is proportional to the rate at which the miner generates candidate nonces. The competitors control 1 – 10% == 90%, so this miner generates only 10% of the candidate nonces. Each block has a hash pointer to its predecessor. The question presumes that the node knows the blocks. It is just asking about the order. The ledger is an ordered sequence of blocks (per (e)), and each block has a sequence of transactions in an ordered array of slots. If any block B is overwritten/replaced, then every successor of B must also be replaced, since any change invalidates all successor hashes. And every replaced B must have a freshly computed “good” nonce, or else other nodes reject B and its successors. If all the new blocks are good, then others accept the replacement chain, but only if it is longer than the current chain, which grows all the time as the attack is in progress. So the attacker must “outrun” the rest of the network: it is either very lucky or it controls a majority of compute power.

CPS 512 midterm exam #1, 10/5/17, page 3 of 4 Part 4. DNS (35 points). Google Public DNS (GPDNS) is a massive-scale DNS resolver that is open for use by any DNS client. Clients of GPDNS request lookups for complete domain names (e.g., www.child.parent.net), and the resolver returns DNS response records for the requested domain name. (a) A lookup request for parent.net returns a DNS server IP address (call it P) that is authoritative for the domain parent.net. How does GPDNS determine the value of P? (b) A lookup for child.parent.net returns “no such domain”. How does GPDNS determine there is no such domain? (c) Google says GPDNS responds faster (on average) than a local resolver, in part because GPDNS has many clients, including Google’s search engines. How does more client activity help GPDNS serve its clients faster? (d) GPDNS uses DNSSEC to validate lookups since 2013. How many decrypt operations does the resolver perform to validate that there is no domain child.parent.net? (e) How does GPDNS obtain the public key for the DNS server (P) that is authoritative for parent.net? (f) GPDNS uses a sharding scheme internally. It has the property that two lookup requests for the same domain name are likely to be handled by the same server. What is the benefit of this property? (g) The GPDNS sharding has the property that two lookups for different domain names are likely to be handled by different servers. What is the benefit of this property? Ask .net, i.e., send a DNS lookup to the authoritative DNS server for top-level domain “.net”. The lookup responds with P. Send a DNS lookup request to P, which authoritative for the parent domain parent.net. If the domain has no node or subdomain named “child”, the server returns the error “no such domain”. Caching. More clients send more requests, so GPDNS can keep its name lookup caches warm. So a larger share of requests are cache hits and save the lookup cost. I accepted 2 or 3. Root signs “.net” and “.net” signs “parent.net”. So that’s two decrypt operations to check those signatures. And “parent.net” signs the “no such domain” response. For DNSSEC the “.net” server includes the public key (or hash) for P in its lookup reply (per (a)). Some answers talked about certificates and such, apparently confusing DNSSEC with SSL/TLS. More effective caching. Requests for the same domains concentrate on the same servers, leading to more cache hits: if A looks up D and then B looks up D, B’s lookup likely finds the cached response from A. It was not enough to say “more efficient”. Scale. Spreads the request load across more servers, without compromising cache performance. I accepted “load balancing” or other indications that you understood.

CPS 512 midterm exam #1, 10/5/17, page 4 of 4 Part 5. Security of Google Public DNS (60 points). Google contends that GPDNS is more secure than other DNS resolvers because their infrastructure is secure and implements best practices (including DNSSEC). Even so, Google suggests that clients communicate with GPDNS over a secure (SSL/TLS) connection to further protect DNS responses. (a) For an SSL/TLS connection as explained in class (e.g., for HTTPS), how does the client obtain the session key to use with the connection? (10) (b) How does the server obtain the session key to use with the secure connection? (10) (c) How does this use of SSL/TLS to connect to GPDNS offer additional security for its users? To answer, summarize an attack that it prevents. (20) (d) Is it secure yet? Summarize any other attack(s) that a client might be vulnerable to, relating specifically to its use of GPDNS. (20) The client just makes it up. It could be any random number. The client sends it to the server, encrypted with the server’s public key, so that nobody else can obtain it. Man-in-the-middle. An attacker M on the network could attempt to redirect DNS lookups to an attack server that masquerades as GPDNS, or to modify responses in flight. But an SSL connection precludes this attack because M lacks the session key, and so cannot read or modify the requests or responses. This is a little bit of a thought question. Here as in 4(e) there was some confusion between the end-to-end protection of SSL/TLS with an HTTP web server and the use of SSL/TLS to protect communication for DNS lookups. 1. Google could spy on all of your DNS lookups to see what content you are accessing across the whole Internet. This is the most likely attack, but few mentioned it. No slur against Google here: it’s legal and it’s just business. 2. Google or GPDNS admins could be evil or “go rogue” (or get hacked) and return bad responses. 3. Various attacks could “break” SSL and allow M of part(c) to complete an attack: a compromised or rogue CA issues bogus certificates for M to masquerade as GPDNS, or Google loses its private key and M “finds” it. 4. Denial of service attacks, etc. /25 /40 /35 /35 /60 / 5 /200