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 |