lec18
dz / distributed_systems_MIT / lec18Summary
Lecture 18: Fork consistency, certificate transparency
Node Tree
- certificate_transparency
- merkle_tree
- 90s_web
Nodes
| certificate_transparency | |
| content | Certificate Transparency |
| children | gossip, log_server, open_system, audit_system |
| mutually_distrusting_system | |
| content | mutually distrusting system |
| parents | open_system |
| open_system | |
| content | Open System |
| children | mutually_distrusting_system, talking_to_right_computer |
| parents | certificate_transparency |
| talking_to_right_computer | |
| content | Are you talking to the right computer |
| children | mostly_unsolveable |
| parents | open_system |
| mostly_unsolveable | |
| content | Mostly Unsolveable |
| parents | talking_to_right_computer |
| 90s_web | |
| content | 90s web security |
| children | mid_90s, pre_1995_web_security |
| pre_1995_web_security | |
| content | Pre-1995 web security |
| children | man_in_the_middle_attack |
| parents | 90s_web |
| man_in_the_middle_attack | |
| content | Man-in-the-middle attack |
| children | intercepts_dns_packets |
| parents | pre_1995_web_security |
| intercepts_dns_packets | |
| content | intercepts DNS packets |
| parents | man_in_the_middle_attack |
| mid_90s | |
| content | Mid-90s security |
| children | certificates |
| parents | 90s_web |
| ssl_tls_https | |
| content | SSL, TLS, HTTPS |
| parents | certificates |
| certificate_authority | |
| content | Certificate Authority |
| children | now_hundreds_CA |
| parents | certificates |
| certificates | |
| content | Certificates |
| children | certificate_authority, ssl_tls_https |
| parents | mid_90s |
| now_hundreds_CA | |
| content | Now: hundreds of CAs |
| children | bogus_certs (problem) |
| parents | certificate_authority |
| bogus_certs | |
| content | Bogus Certificates |
| children | solutions_fixes, unclear_how_to_fix |
| parents | now_hundreds_CA |
| unclear_how_to_fix | |
| content | Unclear how to fix |
| parents | bogus_certs |
| solutions_fixes | |
| content | (possible) Solutions / Fixes |
| children | db_valid_certs |
| parents | bogus_certs |
| db_valid_certs | |
| content | Database of Valid Certificates |
| children | certs_change, no_single_point_trust, still_unclear_distinguish_valid |
| parents | solutions_fixes |
| still_unclear_distinguish_valid | |
| content | Still unclear how to distinguish valid |
| parents | db_valid_certs |
| no_single_point_trust | |
| content | No single point of trust |
| parents | db_valid_certs |
| certs_change | |
| content | Certs change |
| parents | db_valid_certs |
| audit_system | |
| content | Audit System |
| children | log_system, public_for_investigation |
| parents | certificate_transparency |
| public_for_investigation | |
| content | Causes all info to be public for investigation |
| children | bogus_still_possible |
| parents | audit_system |
| bogus_still_possible | |
| content | Bogus Still possible |
| children | not_preventative |
| parents | public_for_investigation |
| not_preventative | |
| content | Not preventative |
| parents | bogus_still_possible |
| log_system | |
| content | Log system |
| children | depends_browsers_see_what_monitor_sees, no_forks, prevent_equivocation, untrusted, append_only |
| parents | audit_system |
| append_only | |
| content | Append-only |
| parents | log_system |
| no_forks | |
| content | No Forks |
| parents | log_system |
| untrusted | |
| content | Untrusted |
| parents | log_system |
| log_server | |
| content | Certificate Transparency Log Server / Service |
| children | is_cert_in_log, monitor, periodically_talks_log_server, prove_things |
| parents | certificate_transparency |
| is_cert_in_log | |
| content | Is cert in log? |
| children | user_request |
| parents | log_server |
| user_request | |
| content | User Request |
| parents | is_cert_in_log |
| monitor | |
| content | Monitor |
| children | depends_browsers_see_what_monitor_sees, knows_correct_certs, periodically_talks_log_server, revocation_system |
| parents | log_server |
| knows_correct_certs | |
| content | Knows what corrects certs are |
| parents | monitor |
| periodically_talks_log_server | |
| content | Periodically talks to log server |
| parents | log_server, monitor |
| depends_browsers_see_what_monitor_sees | |
| content | Depends on browsers seeing what monitor sees |
| children | log_contents |
| parents | monitor, log_system |
| log_contents | |
| content | Log Contents |
| parents | depends_browsers_see_what_monitor_sees |
| prevent_equivocation | |
| content | Prevent Equivocation |
| parents | log_system |
| merkle_tree | |
| content | Merkle Tree |
| children | cryptographic_hashes, prove_things, signed_tree_head, tree_of_hashes, trustworthy_log_summary, built_on_top_of_logs |
| built_on_top_of_logs | |
| content | Built on top of logs |
| parents | merkle_tree |
| cryptographic_hashes | |
| content | Cryptographic hashes |
| parents | merkle_tree |
| prove_things | |
| content | Forces log server to prove certain things |
| children | log_consistency_proof, proof_of_inclusion |
| parents | log_server, merkle_tree |
| proof_of_inclusion | |
| content | Proof of Inclusion |
| children | returns_location_hash, tree_head_bogus |
| parents | prove_things |
| returns_location_hash | |
| content | Log server returns location of hash, and the hash of the other element. |
| parents | proof_of_inclusion |
| tree_of_hashes | |
| content | tree of hashes |
| children | log_grows_tree_head_higher |
| parents | merkle_tree |
| trustworthy_log_summary | |
| content | Trustworthy summary of logs |
| parents | merkle_tree |
| log_grows_tree_head_higher | |
| content | Log grows, tree heads higher |
| parents | tree_of_hashes |
| signed_tree_head | |
| content | Signed Tree Head (STH) |
| parents | merkle_tree |
| revocation_system | |
| content | Revocation system for certificates |
| parents | monitor |
| tree_head_bogus | |
| content | what if tree head is bogus? |
| children | fork_attack |
| parents | proof_of_inclusion |
| fork_attack | |
| content | Fork Attack |
| children | equivocation, fork_consistency, gossip |
| parents | tree_head_bogus |
| equivocation | |
| content | Equivocation |
| parents | fork_attack |
| gossip | |
| content | gossip |
| children | compare_tree_heads, drop_heads_into_pool_for_inspection (description) |
| parents | fork_attack, certificate_transparency |
| compare_tree_heads | |
| content | Compare tree heads |
| parents | gossip |
| drop_heads_into_pool_for_inspection | |
| content | Participants drop off heads into pool that is inspected for inconsistencies and divergent forks in logs |
| parents | gossip |
| log_consistency_proof | |
| content | Log Consistency Proof |
| children | log_consistency_proof_description (description) |
| parents | prove_things |
| log_consistency_proof_description | |
| content | Input: 2 signed tree heads H1 and H2. Is H1's log a prefix of H2's log? |
| parents | log_consistency_proof |
| stay_on_fork | |
| content | If the browser's been forked, it needs to stay on that fork |
| children | track_failed_proofs |
| parents | fork_consistency |
| fork_consistency | |
| content | Fork Consistency |
| children | stay_on_fork (description) |
| parents | fork_attack |
| track_failed_proofs | |
| content | Keep track of failed proofs |
| parents | stay_on_fork |