Marlinspike Launches Convergence to Break Web's SSL Authority Monopoly

DEF CON 19 - Moxie Marlinspike - SSL And The Future Of Authenticity — DEFCONConference

DEFCONConference

The web's authenticity model fails because browsers cannot revoke trust from compromised certificate authorities without breaking connectivity, requiring client-driven verification to restore trust agility.

AI-assisted summary of DEF CON 19 - Moxie Marlinspike - SSL And The Future Of Authenticity — original source. Check the original for full context.

Source published:

Key ideas

  • Moxie Marlinspike debunks Comodo's narrative of an advanced state-sponsored cyber army, revealing server logs that showed the Iranian attacker learning basic MITM attacks from Hak5 tutorials and troubleshooting iptables via Google. (6:36)
  • The foundational flaw of the modern SSL/TLS ecosystem is the complete absence of 'Trust Agility,' which permanently locks browsers and users into trusting hundreds of Certificate Authorities with zero ability to revoke or revise trust without breaking the web. (24:35)
  • DNSSEC fails as an authenticity replacement because it merely distributes data while centralizing absolute, unrevocable trust under domain registrars, foreign TLD operators, and ICANN under US jurisdiction. (31:13)
  • Marlinspike releases Convergence, a trust-agile replacement for the CA system that uses client-driven multi-perspective network notaries and notary bouncing to protect user privacy without requiring any changes to web servers. (38:36)

Detailed notes

## Background Published by DEFCONConference on YouTube on November 2, 2013, this video features security researcher Moxie Marlinspike presenting at DEF CON 19. According to the show notes, the talk examines the historical origins and friction surrounding Certificate Authorities in SSL, sheds light on current authenticity failures, and explores new strategies to move forward.

## TL;DR Moxie Marlinspike examines the fundamental breakdown of authenticity in SSL, arguing that the centralized Certificate Authority (CA) model was hastily conceived as an afterthought and has become systematically unmanageable. Through real-world debacles like the Comodo breach, he demonstrates how corporate gatekeepers face zero consequences for negligence while users remain trapped in permanent trust lock-in. Marlinspike rejects top-down alternatives like DNSSEC as merely shifting centralized power to registrars and governments, proposing instead the principle of 'Trust Agility'—allowing clients to dynamically revise who they trust. To prove the concept, he introduces Convergence, an open-source system utilizing multi-path network probing and privacy-preserving notary bouncing that allows users to replace commercial CAs entirely without modifying web servers.

## Atmosphere & style The presentation is dryly irreverent, analytical, and subversive, kicking off with an absurd Tex-Mex prank story to stall for time before systematically dissecting the multi-billion-dollar CA industry. Marlinspike delivers sharp technical insights with deadpan humor, puncturing corporate spin about 'state-sponsored cyber armies' by pulling up basic log files showing attackers watching beginner tutorials. The talk carries the energetic, anti-establishment ethos of classic DEF CON, transforming a dry cryptographic debate into an empowering, pragmatic manifesto for user autonomy.

## Bulletin - [06:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=396s) Moxie Marlinspike debunks Comodo's narrative of an advanced state-sponsored cyber army, revealing server logs that showed the Iranian attacker learning basic MITM attacks from Hak5 tutorials and troubleshooting iptables via Google. - [24:35](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1475s) The foundational flaw of the modern SSL/TLS ecosystem is the complete absence of 'Trust Agility,' which permanently locks browsers and users into trusting hundreds of Certificate Authorities with zero ability to revoke or revise trust without breaking the web. - [31:13](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1873s) DNSSEC fails as an authenticity replacement because it merely distributes data while centralizing absolute, unrevocable trust under domain registrars, foreign TLD operators, and ICANN under US jurisdiction. - [38:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2316s) Marlinspike releases Convergence, a trust-agile replacement for the CA system that uses client-driven multi-perspective network notaries and notary bouncing to protect user privacy without requiring any changes to web servers.

## Key takeaways - [04:54](https://www.youtube.com/watch?v=UawS3_iuHoA&t=294s) The 2011 Comodo breach compromised critical login endpoints for Google, Yahoo, and Skype, exposing the vulnerability of relying on commercial CAs. - [06:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=396s) Server access logs for SSLsniff demonstrated that the Comodo intruder was an amateur operating on Windows with US English localization, directly following online video guides rather than operating an elite military cyber unit. - [09:47](https://www.youtube.com/watch?v=UawS3_iuHoA&t=587s) The CA industry suffers from a total lack of accountability; despite repeated breaches and baffling executive statements, Comodo lost no business and its CEO was honored at RSA. - [12:04](https://www.youtube.com/watch?v=UawS3_iuHoA&t=724s) SSL successfully solved transport secrecy and message integrity under extreme pressure in the early 1990s, but domain authenticity was added as a hasty afterthought. - [14:20](https://www.youtube.com/watch?v=UawS3_iuHoA&t=860s) Netscape engineer Kip Hickman confirmed that Certificate Authorities were designed as a rough hand-wave to address theoretical MITM attacks, never anticipated to scale to millions of hosts. - [17:33](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1053s) CA validation failures are routine occurrences rather than rare exploits, illustrated by unauthorized certificates historically issued for login.live.com, mozilla.com, and Microsoft code-signing. - [18:45](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1125s) The CA marketplace is commodified and operationally negligent, with providers accidentally publishing private keys, suffering breaches, and selling arbitrary interception subordinate roots for around $50,000. - [20:34](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1234s) Proposals to fix SSL by merely reducing the number of CAs or scoping them by country misunderstand the problem, as sovereign states already control roots and users do not universally trust their own governments. - [24:35](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1475s) Trust Agility requires two core capabilities: decisions about trust must be dynamically revisable over time, and trust anchors must be chosen directly by clients rather than dictated by servers. - [29:20](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1760s) DNSSEC misleads users by conflating distributed data storage with distributed trust, entrenching permanent trust across registrars, TLD registries, and ICANN with no client recourse. - [37:18](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2238s) Carnegie Mellon's Perspectives project pioneered multi-path network probing for self-signed certificates, but was held back by lack of coverage for embedded page assets, notary lag, and browsing history leakage. - [38:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2316s) Convergence redesigns network probing with notary bouncing, proxying encrypted queries through one notary to destination verifiers so that no single node knows both the user's identity and browsing destination. - [40:40](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2440s) Convergence inverts the traditional security model: adding more notaries increases security through consensus requirements, whereas in the CA model, adding more CAs increases the attack surface. - [40:40](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2440s) Adopting Convergence requires zero configuration changes or software upgrades on web servers, effectively eliminating the arbitrary distinction between commercial and self-signed certificates. - [43:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2624s) The primary operational hurdles for notary probing are fragmented multi-certificate setups like Citibank and captive portal networks, the latter solvable by tunneling verification queries over unblocked DNS port 53.

## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=UawS3_iuHoA&t=0s) The Conference Delay Strategy and the Tex-Mex Birthday Prank

Speakers at large events like DEF CON face a universal challenge: the venue is massive, attendees wander in slowly from previous sessions, and the room is barely half-full when the presentation begins. Most speakers stall by reciting a tedious personal biography or recounting the dry historical origins of their topic. Moxie Marlinspike decides to dispense with that routine entirely, announcing: “I don't really like that stuff so I want to try something a little different where I'm just going to tell for the first 3 minutes here a completely unrelated totally random story that has nothing to do with computer security or this talk.”

He recounts an escapade from right after he finished high school, when he and a few friends hatched a hare-brained scheme to travel to the Caribbean, find an uninhabited island, and colonize it. Because driving was cheaper than flying at the time, they drove all the way south to Miami before taking a short hop into the Caribbean, where they tried unsuccessfully to locate a boat. Starving and thoroughly defeated, they turned around and drove back north through Florida. Looking for a sit-down meal, they pulled into the parking lot of a Tex-Mex restaurant. Halfway to the front door, one of their companions realized he had forgotten something or left the car unlocked and turned back, leaving Moxie and his other friend to walk inside alone.

Inside, they witnessed the bizarre finale of the restaurant's birthday ritual. Two waiters were singing at a table; one held a tiny saucer with a small dollop of whipped cream and a spoon in front of an elegantly dressed birthday woman, prompting her to close her eyes and open her mouth. Meanwhile, a second waiter lurked behind her holding a full pie tin piled high with whipped cream. The moment she shut her eyes, the second waiter reached around and smashed the entire pie tin straight into her face without warning. As Moxie and his friend stood in the lobby open-mouthed, his friend noticed their third companion, Jack, walking up from the parking lot and said, “Hey, I think it might be Jack's birthday today.” Moxie slipped away to the waitstaff to confirm they had a birthday special. Jack, assuming his friends had claimed it was his birthday to score free dessert, willingly donned the celebratory hat, closed his eyes, and opened his mouth. Moxie, having prepped a disposable camera under the table, snapped a photograph the exact second the pie tin slammed into Jack's face, immortalizing his expression of pure shock.

[04:54](https://www.youtube.com/watch?v=UawS3_iuHoA&t=294s) The Comodo Breach and the "State-Sponsored Cyber Army" Narrative

Turning from pranks to the heart of the presentation—trust, authenticity, and the Public Key Infrastructure underlying SSL—Moxie shifts to an illustrative incident from March 2011 involving Comodo. Comodo was the second-largest Certificate Authority (CA) in the world, certifying between a fifth and a quarter of all SSL certificates on the internet according to Netcraft data. In March, an intruder breached Comodo's infrastructure and fraudulently generated valid digital certificates for high-value domain names, including `mail.google.com`, `login.yahoo.com`, and Skype—essentially everything required to intercept user credentials for major webmail and communications services across the web.

```mermaid flowchart TD accTitle: The Comodo Breach Narrative Comparison accDescr: Diagram contrasting Comodo's official narrative of a sophisticated state-sponsored cyber attack with the reality revealed by server access logs.

subgraph Official["Comodo Official Narrative"] direction TB A["Comodo Infrastructure Breached"] --> B["Attacker IPs Trace to Iran"] B --> C["CEO Declares 'Sophisticated Clinical Attack'"] C --> D["Mainstream Media Frenzy: State-Sponsored Cyber War"] end

subgraph Reality["Evidence from Server Logs"] direction TB E["Morning After: Same Iranian IP Hits Server"] --> F["Client Environment: Windows, en-US Localization"] F --> G["HTTP Referrer: Introductory Hak5 Video Tutorial"] G --> H["Google Searches: Basic iptables & MITM How-Tos"] end ```

In the wake of the incident, Comodo's founder and CEO issued an alarming public statement designed to elevate the severity of the intrusion. Moxie quotes the executive's assessment: “This attack was extremely sophisticated and critically executed it was a very well orchestrated clinical attack and the attacker knew exactly what they needed to do and how fast they had to operate.” The CEO pointed out that the IP addresses used in the intrusion traced back to Iran, stating: “All of the above leads us to one conclusion only that this was likely to be a state-driven attack.” By framing the incident not as a security lapse by a commercial CA, but as an act of cyberwarfare waged by a state-sponsored army, Comodo deflected institutional blame and propelled the story out of specialized security trade publications and into mainstream international headlines.

- **Market share:** Comodo was responsible for certifying approximately 20% to 25% of all internet certificates at the time. - **Compromised properties:** Fraudulent certificates included `mail.google.com`, `login.yahoo.com`, `login.skype.com`, and other critical login endpoints. - **Executive rhetoric:** The breach was framed as a clinical, state-sponsored cyber attack originating from Iranian IP blocks.

[06:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=396s) Examining the Web Logs: Hak5 Tutorials, Windows, and iptables

Following the explosion of mainstream media coverage, reporters contacted Moxie to ask what an attacker could actually do with rogue certificates. When reporters pressed him for the most straightforward, practical way an adversary would execute such a man-in-the-middle intercept, Moxie explained that they could simply run SSLsniff, a specialized MITM tool he had written and released online. Comodo had taken the unusual step of publishing the attacker's IP address in its official incident report to reinforce the narrative of an Iranian state actor. Curious whether his own public tool had caught the hacker's eye, Moxie inspected the server logs for the website where he hosted SSLsniff.

The morning immediately following the breach, the exact Iranian IP address Comodo had published in its report appeared in Moxie's access logs, downloading SSLsniff. The log metadata quickly punctured the narrative of a sophisticated, elite military unit. The attacker's system was running Windows, and the browser's language setting was localized to US English (`en-US`). Crucially, the HTTP referrer revealed that the attacker had landed on Moxie's download page directly from an introductory Hak5 video tutorial explaining how to use SSLstrip.

Subsequent referrer headers from Google searches made throughout the day showed the intruder struggling with basic network configurations, querying terms like `SSL protocol man in the middle howto` and `iptables PREROUTING`. Highlighting the absurdity of the gap between corporate spin and technical reality, Moxie observes: “So just to break this down for you on one hand we have the CEO of Comodo saying this is a clinical attack and on the other hand you know we see that the attacker is literally following video tutorials on the internet.” Far from operating an elite state cyber apparatus, the individual responsible for breaching the world's second-largest CA was an amateur troubleshooting basic routing tables via beginner forum posts and YouTube guides.

[09:47](https://www.youtube.com/watch?v=UawS3_iuHoA&t=587s) The Comodo Breach Fallout and the Failure of CA Accountability

The aftermath of the Comodo certificate breach turned into a public spectacle. The attacker alternated wildly between grandiose, technically absurd claims—such as boasting that he had cracked the RSA algorithm—and chest-thumping declarations of mundane programming skills, proudly announcing that he could export functions from DLLs and build custom SOAP APIs. Moxie Marlinspike notes that the spectacle was deeply humiliating for everyone involved, especially as the attacker refused to stay quiet, publishing six successive communiqués and giving press interviews.

```mermaid flowchart TD accTitle: The Comodo Hacker and Executive Reaction Flow accDescr: Diagram illustrating the hacker's bizarre claims, Comodo's contradictory public statement, and the lack of corporate consequences.

subgraph Attack["The Intrusion"] Hacker["Hacker publishes 6 communiqués<br/>• Claims he cracked RSA<br/>• Boasts about exporting DLL functions & SOAP APIs"] end

subgraph Reaction["Executive Response"] CEO["Comodo CEO Statement:<br/>'If this were a secure and trusted DNS,<br/>this issue would be a moot point!'"] end

subgraph Reality["The Industry Outcome"] Consequences["Zero business consequences<br/>• No lost clients or lawsuits<br/>• Two hacks later that month, another next month<br/>• CEO named Entrepreneur of the Year at RSA"] end

Hacker --> CEO CEO --> Consequences ```

The response from Comodo's leadership was equally bewildering. The company's CEO and founder issued a statement proclaiming that if the internet had a secure and trusted DNS, the entire incident would be a moot point. As Marlinspike observes, this response laid bare that the executive did not understand his own business model:

> “If man-in-the-middle attacks weren't possible, we wouldn't need the certificates that he's selling us.”

DNS tampering is far from the only vector for a man-in-the-middle attack, and the entire commercial justification for selling SSL certificates is to mitigate man-in-the-middle attacks regardless of the routing layer. To make matters worse, Comodo was breached two more times later that same month, and suffered yet another breach the following month.

Despite the catastrophe, Comodo experienced virtually zero negative fallout. The company did not go out of business, lost no measurable customer base, and faced no legal repercussions. Instead, Comodo’s CEO was named Entrepreneur of the Year at the RSA Conference later that year, illustrating the systemic absence of accountability in the certificate authority marketplace.

[12:04](https://www.youtube.com/watch?v=UawS3_iuHoA&t=724s) The Early 1990s Roots of SSL: Secrecy, Integrity, and Authenticity

Every secure network protocol must satisfy three core security guarantees: secrecy, integrity, and authenticity. If any one of these pillars fails, the entire security model collapses. However, evaluating the failures of SSL requires understanding the primitive landscape of the early 1990s when Netscape engineers first designed the protocol.

At the time, standard cryptographic references like Bruce Schneier's *Applied Cryptography* had not yet been published. Implementing RSA required licensing the patented algorithm directly from RSA the company for real money. E-commerce was non-existent, transmitting credit card numbers across the internet was an alien concept, and web applications did not exist to handle account passwords. The entire internet in 1994 consisted of fewer than 5 million hosts according to the Internet Systems Consortium (ISC), compared to an IPv4 space reaching exhaustion at over 4 billion addresses today. Back then, one could barely identify 10 web servers that required encryption, whereas modern networks host millions of certificates across hundreds of millions of domains.

The protocol emerged out of Netscape during a high-stakes commercial browser war under extreme operational pressure—the same environment where late-night rushing produced JavaScript:

> “...this is the same place where a series of 4:00 AM decisions gave us JavaScript, and we're we're still dealing with that today.”

Under those constraints, the original designers accomplished a heroic feat in delivering secrecy and integrity. While cryptographic flaws have occasionally surfaced, the transport encryption and message integrity primitives largely survived. The persistent structural failure lay instead in the third pillar: authenticity.

[14:20](https://www.youtube.com/watch?v=UawS3_iuHoA&t=860s) Tracking Down Kip Hickman: How CAs Were Added as an Afterthought

Authenticity prevents a classic man-in-the-middle (MITM) attack, where an adversary intercepts a connection, initiates independent secure sessions to both endpoints, and transparently logs decrypted data traversing the middle. In 1994 and 1995, however, this attack model was considered almost entirely theoretical. Network manipulation toolkits did not exist in the wild, and designers treated active interception as an academic edge case rather than an operational reality.

To solve this theoretical risk, Netscape adopted the concept of certificates and Certificate Authorities—external organizations trusted to verify domain ownership. Curious about the original assumptions behind this trust architecture, Marlinspike tracked down Kip Hickman, the Netscape engineer who originally authored SSL. Hickman, whose last public internet post dated back to 1995, took a cold call from Marlinspike to discuss how the system was conceived.

Hickman candidly admitted that domain authentication was never the protocol's primary objective:

> “SSL, it was never designed—we were designing it to prevent passive attacks for the most part, you know, we heard about this thing, the man-in-the-middle attack, and so we just sort of threw that in at the end.”

Hickman acknowledged that certificates were essentially a "hand wave" that they never expected to hold up at scale. In 1994, when Yahoo was merely a static index with thirty hyperlinks, verifying a handful of secure websites through a single entity seemed plausible. Expecting centralized organizations to reliably validate millions of domains across a global network was never part of the original design.

```mermaid flowchart LR accTitle: The Evolution of Internet Scale vs CA Trust Model accDescr: Comparison of web scale in 1994 versus modern scale against the static CA model.

subgraph EarlyEra["1994 Reality"] SitesOld["< 5 Million Hosts<br/>~10 Secure Sites<br/>Yahoo = 30 Links"] CAOld["Manual inspection by single trusted entity"] SitesOld --- CAOld end

subgraph ModernEra["Modern Scale"] SitesNew["> 4 Billion Addresses<br/>Millions of SSL Sites<br/>Massive Web Apps"] CANew["Hundreds of commercial CAs inspecting requests automatically"] SitesNew --- CANew end ```

[17:33](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1053s) Authenticity Failures in Practice: A Systemic Reality

Ivan Ristić’s SSL threat matrix highlights that while transport encryption and message integrity have endured, authenticity remains the focal point of catastrophic protocol failures. Real-world events demonstrate that unauthorized certificate issuance is a routine systemic vulnerability rather than sophisticated warfare:

> “I think, you know, looking back at the Comodo thing, you know, the lesson from these events shouldn't be that this was cyber war, because I think pretty clearly it wasn't, um, but that this is happening every day...”

Bypassing CA validation does not require complex technical exploits, reverse-engineering DLLs, or compromising cryptographic keys. Historical examples illustrate the fragility of domain and identity verification:

- **Mike Zusman:** Obtained an unauthorized certificate for Microsoft's `login.live.com` simply by submitting an automated request that the issuing authority failed to validate properly. - **Eddy Nigg:** Successfully secured an unauthorized SSL certificate for `mozilla.com` without undergoing verification. - **VeriSign Microsoft Incident:** Issued two authentic code-signing certificates in the name of Microsoft Corporation to completely unidentified, fraudulent claimants who were never traced.

[18:45](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1125s) The State of Certificate Authorities: Incompetence and Commodification

To illustrate the systemic dysfunction within the Certificate Authority (CA) ecosystem, Moxie Marlinspike shares an anecdote about attempting to buy a certificate from a budget vendor, `sslinabox.com`. Going straight to what he calls “the bottom of the barrel,” he ran into an administrative portal requiring account registration before submission. When he clicked "create account," the software malfunctioned and logged him directly into an existing, arbitrary user's account. He tried logging out and creating an account again, only to be logged into a different stranger's account every subsequent time. Rather than report this severe vulnerability, Marlinspike walked away, deadpanning: “the thing is it's like I didn't even bother emailing them about it because you know I'm I'm sure that they don't even care right.”

```mermaid flowchart TD accTitle: Broken Registration Flow at Low-End CA accDescr: Diagram showing how Moxie Marlinspike's attempt to register an account repeatedly logged him into other users' accounts. subgraph S1["User Action"] A["Moxie registers at sslinabox.com"] end subgraph S2["Broken Auth Logic"] B{"Submit Registration"} end subgraph S3["Faulty Results"] C["Logged into Stranger A's Account"] D["Retry: Logged into Stranger B's Account"] end A --> B B --> C B --> D ```

This negligence extends across the entire industry. Marlinspike points out another active CA that accidentally published its private signing key directly to the public directory of its web server. While making an initial operational mistake might be fathomable, the key remained hosted in that public directory untouched since 2009. Around the same time, StartCom suffered a breach under ambiguous circumstances. Moreover, attackers do not even need technical exploits to compromise the system; interception capabilities are openly commercialized. GeoTrust openly sells subordinate CA certificates: “if you got the money you can just buy a certificate Authority uh you can get a CA cert from GeoTrust I think it's 50 Grand anybody has 50 Grand to spend get your own CA cert intercept all the communication on the internet.” Highlighting the globe-and-key iconography GeoTrust used in their marketing materials, he remarks that they are effectively handing customers the keys to the entire world.

- A public web-accessible directory belonging to an authorized CA exposed its private key continuously starting from 2009. - Subordinate CA certificates granting arbitrary Internet interception abilities were marketed for roughly $50,000 by GeoTrust. - StartCom was recently compromised under unclear circumstances, demonstrating persistent operational insecurity among root trust anchors.

[20:34](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1234s) State-Sponsored Capabilities and Misdiagnosing the CA Problem

Addressing the high-profile Comodo breach, Marlinspike observes that discussion of nation-state involvement misses a broader geopolitical reality: “the only reason that Iran would have to hack a certificate Authority in order to order in order to issue certificates is because they don't have a certificate authority of their own but you know many other countries do.” Citing the Electronic Frontier Foundation's (EFF) SSL Observatory project, which mapped every entity globally capable of issuing trusted certificates, he notes that numerous sovereign states already possess trusted root or intermediate certificates. The map even highlights a tiny red speck in the middle of the Atlantic—Bermuda—possessing the power to sign certificates and intercept traffic. Marlinspike notes that public sentiment toward CAs has degraded “from the old Vibe of total ripoff which I think was just the general perception of certificate authorities to the new Vibe of total ripoff and mostly worthless.”

As the security community contemplates replacing the CA system, Marlinspike warns against misidentifying the root problems:

1. **The "Too Many CAs" Fallacy:** Critics look at the EFF SSL Observatory data—which revealed that 650 separate organizations have the authority to issue valid certificates—and conclude that the pool must simply be shrunk. Marlinspike rejects this, reminding the audience of the early days of the web when VeriSign operated as a monopoly, charging extortionate prices and doing whatever they pleased. Shrinking the CA count makes little sense when scaling from an era of 20 secure websites to 2 million, with an ultimate target of a billion encrypted domains. 2. **The "Few Bad Apples" Theory:** The assertion that most CAs are pristine while only a rogue few ruin their reputation is historically false. Even VeriSign operated a lawful interception services division for governments simultaneously alongside its public certificate business: “the same organization that we had entrusted to secure our communication was also simultaneously making money by intercepting secure communication.” 3. **The Scoping Argument:** Some argue that national security entities like the U.S. Department of Homeland Security (DHS) and the Chinese government hold equal authority over the same universal namespace, suggesting that restricting DHS to U.S. sites and CNNIC to Chinese sites would solve the problem. Marlinspike calls this an unacceptably low bar, noting that many citizens within China do not trust their own government to certify their communications, just as many Americans do not trust DHS to certify theirs.

[24:35](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1475s) The Root Flaw: The Absence of Trust Agility

To understand why nothing substantive happened to Comodo after its breach, Marlinspike examines the operational reality of revoking trust. If a user decides they no longer trust Comodo and removes the CA certificate from their browser's trust store, roughly 20% to 25% of the secure web immediately breaks. Because of this collateral damage, an individual user cannot reasonably uncheck Comodo, nor can browser vendors like Mozilla, Google, or Microsoft remove them on behalf of their users without breaking significant portions of the web. Describing this permanent vulnerability, Marlinspike explains: “The truth is that somewhere along the line along the line we made a decision to trust Komodo and now we are locked into trusting them forever.”

```mermaid flowchart LR accTitle: The CA Lock-In Trap accDescr: Flowchart illustrating how trusting a Certificate Authority creates irreversible lock-in for browsers and users. A["User or Browser Trusts CA (e.g., Comodo)"] --> B["CA Signs 20-25% of the Web"] B --> C{"CA Suffers Breach or Misbehaves"} C -->|"Remove CA from Trust Store"| D["20-25% of the Web Breaks"] C -->|"Keep CA in Trust Store"| E["Remain Vulnerable to Interception"] ```

Marlinspike synthesizes these failures into a single root diagnosis: the SSL ecosystem completely lacks an architectural property he terms **Trust Agility**. Trust agility relies on two non-negotiable principles:

- **Revision of Trust Over Time:** Decisions about whom to trust must be dynamically revisable at any moment. While it is reasonable to trust specific entities today, Marlinspike stresses: “what seems insane is to think that I could identify an organization or set of organizations that I would be willing to trust not just now but forever regardless of whether they continue to Warrant my trust and without any incentive to continue behaving in a trustworthy way.” - **Client-Side Determination of Trust Anchors:** Trust anchors must be selected by individual users and their client browsers rather than dictated centrally by web servers or static browser trust lists. Relying on websites to change CAs to punish bad actors is unrealistic, especially given how difficult it has historically been to convince websites to deploy HTTPS in the first place. Furthermore, because different users operate in different geographic and threat contexts, no single universal trust list can serve all human beings; ultimately, it is the end user's personal communication data that is at stake.

[27:52](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1672s) Inverting the Trust Model and Trust Agility

Moxie Marlinspike argues that security decisions should fundamentally belong to the user rather than the company running a service. After all, it is the user's data on the line, so users and their browsers ought to decide who to trust. Marlinspike explains that allowing individual users to choose their trust anchors represents a simple yet profound inversion of the current architecture. In the existing model, three entities participate: the client, the server, and the Certificate Authority (CA). The trust transaction is initiated entirely by the server, which asks an authority for a certificate and passes it down to the user. Inverting this dynamic empowers the client to initiate the validation by contacting an authority directly and asking it to verify a site.

This client-driven model resolves the thorny issue of scoping. If a user can select which authority to query, it no longer matters if a foreign agency—such as the Department of Homeland Security—has the authority to sign certificates for domains worldwide. Users in China, for example, could simply bypass that authority altogether and consult a Chinese entity, or an NGO, or any other institution they deem trustworthy. Moxie emphasizes that the twin pillars of trust agility—the freedom to choose and change trust anchors—are precisely what the traditional CA system lacks, and that structural failure is the root cause of the current security crisis.

```mermaid flowchart TD accTitle: Server-Initiated vs User-Initiated Trust Models accDescr: Comparison of traditional CA trust flow initiated by the server against the inverted user-initiated model.

subgraph Traditional["Traditional Model (Server-Initiated)"] S1["Server"] -->|"1. Please certify me"| CA1["Certificate Authority"] CA1 -->|"2. Certificate"| S1 S1 -->|"3. Certificate"| C1["Client / User"] end

subgraph Inverted["Inverted Model (User-Initiated)"] C2["Client / User"] -->|"1. Please certify this site"| CA2["Chosen Authority / Notary"] CA2 -->|"2. Certification result"| C2 S2["Server"] -.->|"Presents cert"| C2 end ```

- “This property that individual users decide where they can anchor their trust is really just a simple but powerful inversion of the way that things already work,” Moxie Marlinspike explains. - Scoping risks disappear when clients pick their verifier, because a user can safely disregard any authority they do not trust.

---

[29:20](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1760s) The Mirage of DNSSEC as an SSL Replacement

Turning to emerging proposals, Moxie examines the push to use DNSSEC to replace the authenticity mechanisms of SSL. The basic concept is deceptively simple: take the SSL certificate for a website and store it inside a DNS record. When a browser initiates a connection, it performs a DNS lookup that returns both the IP address and the server's public key certificate. Upon connecting to the server over SSL, the browser verifies that the certificate presented matches the one returned in the DNS response, with authenticity guaranteed through DNSSEC cryptographic signatures.

Moxie acknowledges the strong emotional appeal of this approach. People hear "DNS" and immediately associate it with the word "distributed," which feels like an attractive escape after years of suffering under the centralized yoke of Certificate Authorities. However, he warns that this appeal conflates data distribution with trust architecture. While the information in DNS records is distributed across zones worldwide, the trust hierarchy itself remains rigidly centralized and top-heavy. In reality, it mirrors the exact failure mode of the current CA ecosystem, where certificates are served across distributed web servers while trust remains consolidated in a tiny handful of centralized bodies.

- “It sounds like exactly what we need after suffering under the centralized yoke of certificate authorities for all these years it would feel good to just wipe them off the page and replace them with a distributed system instead,” Moxie notes, before breaking down why the trust remains centralized. - DNSSEC distributes zone data, but it does not distribute trust.

---

[31:13](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1873s) The Three Untrustworthy Layers of DNSSEC

To evaluate whether DNSSEC offers better integrity or agility, Moxie breaks down the three tiers of entities users are forced to trust under the protocol:

```mermaid flowchart TD accTitle: DNSSEC Trust Hierarchy accDescr: The three mandatory layers of centralized trust required by DNSSEC.

subgraph Hierarchy["DNSSEC Trust Hierarchy"] Root["1. Root (ICANN)<br/>California 501(c)(3) subject to US law"] TLD["2. Top-Level Domains (TLDs)<br/>Verisign (.com,.net), Unknown Registries, ccTLDs"] Reg["3. Domain Registrars<br/>GoDaddy and commercial resellers"]

Root --> TLD TLD --> Reg end ```

1. **Domain Registrars:** If CAs are sketchy, registrars take questionable practices to another level. Moxie draws laughs by pointing out: “Personally I think it should be laughable that the current first step in deploying DNSSEC is to create an account with GoDaddy I think that should be laughable.” 2. **Top-Level Domain (TLD) Registries:** The entities running the TLDs include Verisign for `.com` and `.net`—the very same incumbent CA players under a different name. Other TLDs like `.org` and `.edu` are managed by obscure registries whose executive boards hardly inspire confidence as custodians of global internet communications. Furthermore, country-code TLDs (ccTLDs) force users to place absolute trust in foreign regimes. Moxie highlights trendy ccTLDs like `.io`, `.cc`, and `.ly`, questioning whether developers realize they are delegating security to those respective foreign governments. Looking at countries like Iran (`.ir`) or China (`.cn`), EFF SSL Observatory data already illustrates how many nations intercept traffic; under DNSSEC, state-level control over national domains makes wholesale interception trivial, especially given recent domain seizure precedents. 3. **The Root (ICANN):** While ICANN attempts to maintain a neutral global profile, it remains fundamentally a California 501(c)(3) non-profit organization bound by United States federal law. Pending legislative efforts such as COICA and the PROTECT IP Act (PIPA) reveal a clear governmental ambition to control the domain name system. Even if current resistance blocks these bills, future laws could compel ICANN to comply with domestic surveillance or censorship mandates.

Moxie concludes that DNSSEC drastically reduces trust agility instead of expanding it. In the CA system, a user or browser vendor can theoretically remove Verisign from their root trust store. Under DNSSEC, however, there is zero mechanism to remove Verisign's authority over `.com` and `.net`. Choosing DNSSEC locks users into permanent trust without any recourse: “So if we sign up to trust these people we're signing up not to trust them just now but forever regardless of whether they should continue to warrant our trust with no ability to change our mind about whether we should continue trusting them without any incentives to continue behaving appropriately.”

---

[35:01](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2101s) Network Perspective and the CMU Perspectives Project

Seeking a constructive path forward, Moxie highlights the *Perspectives* project, developed at Carnegie Mellon University by Dan Wendlandt, David G. Andersen, and Adrian Perrig. Originally documented in an academic paper on multi-path probing to authenticate SSH and SSL connections, Perspectives relies on the power of independent network viewpoints.

When a client visits a site like `paypal.com` and receives a certificate, it queries external network authorities called "notaries" to ask what certificate they observe from their own locations. Each notary connects to the destination server over its own distinct network path, collects the public key certificate, and reports it back to the client. The client then verifies that the certificate presented locally matches what the remote notaries received. By querying multiple notaries placed across diverse global vantage points, the user builds a robust "constellation of trust" that neutralizes localized man-in-the-middle attacks.

Moxie points out that relying on network perspective is not actually a radical departure—it is how the CA system already works behind the scenes. When a server administrator orders a certificate, the CA verifies control by emailing a secret confirmation token to the administrator's domain contact address. If the administrator receives the token and submits it back, domain ownership is presumed valid based on basic network reachability. Perspectives takes that exact concept and flips the direction, making the verification check client-initiated rather than site-initiated. Although the original CMU release demonstrated that the concept works, Moxie notes that its initial software implementation suffered from significant practical limitations.

[37:18](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2238s) Limitations of the Perspectives Project

```mermaid flowchart TD accTitle: Perspectives System Challenges accDescr: Diagram illustrating the three core challenges of the original Perspectives design: lack of completeness, privacy leaks, and responsiveness issues due to notary lag. subgraph P["Perspectives Weaknesses"] C["1. Completeness<br/>Only checks initial browser requests;<br/>ignores images, CSS, JavaScript"] PR["2. Privacy<br/>Every secure site lookup leaks<br/>browsing history to notaries"] R["3. Responsiveness (Notary Lag)<br/>Periodic polling caches certificates;<br/>site updates cause false invalid responses"] end ```

The concept of multi-path network probing was pioneered by Dan Wendlandt's Perspectives project, but because it was initially designed only to validate self-signed certificates, it ran into three major architectural limitations. The first hurdle was completeness: the browser extension only handled the top-level initial HTTP connection made by the browser. It completely ignored background page resources such as stylesheets, images, and JavaScript payloads, making it impossible to genuinely retire Certificate Authorities (CAs) using Perspectives alone.

The second critical issue was user privacy. Whenever a client navigates to a secure website, consulting an external notary effectively transmits the user's entire real-time browsing history to that notary. Marlinspike notes that leaking every site visit to third-party verification nodes is an unacceptable compromise.

The third issue was responsiveness, specifically what Marlinspike terms "notary lag." In the Perspectives architecture, when a client asks a notary what certificate it sees for a domain like `paypal.com`, the notary probes the target site and caches the resulting certificate so it does not overwhelm destinations with outbound connections. It then refreshes that cache via periodic polling—for instance, once a day:

> “The problem is that if a site did switch to a different certificate your responses from the notary would be invalid for the duration of the the poll interval.”

- Perspectives was restricted to initial connections, leaving embedded page assets completely unprotected. - Querying a notary on every connection leaked the user's real-time browsing habits. - Notary caching with daily polling intervals meant legitimate certificate rotations were misidentified as invalid or spoofed until the cache expired.

---

[38:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2316s) Convergence: Architecture, Privacy, and Notary Bouncing

```mermaid flowchart LR accTitle: Convergence Notary Bouncing Architecture accDescr: Flow diagram showing an end user establishing an encrypted tunnel through a bounce notary to hide browsing intent from destination notaries. subgraph Client["Client Machine"] Browser["Convergence Extension<br/>(Local Cache Checked First)"] end

subgraph Proxy["Proxying Layer"] Bounce["Random Bounce Notary<br/>(Knows WHO you are,<br/>NOT what you query)"] end

subgraph Validation["Verification Layer"] Dest1["Notary A"] Dest2["Notary B"] Dest3["Notary C"] end

Browser -->|"Tunnel via pre-shared keys"| Bounce Bounce -->|"Forward encrypted payload"| Dest1 Bounce -->|"Forward encrypted payload"| Dest2 Bounce -->|"Forward encrypted payload"| Dest3 ```

To resolve these structural flaws, Marlinspike built Convergence, a ground-up redesign comprising a new protocol, client implementation, and server architecture. Convergence eliminates notary lag entirely by altering the client handshake: when querying a notary, the client includes the exact certificate fingerprint it received from the target server. The notary only needs to connect outbound to the origin server if there is an explicit cache miss or a cache mismatch, making scheduled background polling obsolete.

To solve the privacy problem, Convergence implements a two-fold defense. First, it relies on extensive local caching. Once a trusted notary confirms a certificate is legitimate, the browser caches that verdict locally. On subsequent visits, as long as the origin presents the identical certificate, the client verifies it locally without notifying external servers. Marlinspike points out that this alone still leaves the client leaking metadata on first visits or certificate rotations, leading to the introduction of "notary bouncing."

Under notary bouncing, the client randomly picks one configured notary from its list to serve as an anonymizing proxy. The client establishes an SSL tunnel through this bounce notary out to its remaining destination verification notaries using static, pre-shared public keys set when the notaries were added to the browser. As Marlinspike summarizes the separation of concerns:

> “The bounce notary is just a dumb proxy shoveling bytes around and it's doesn't have any visibility into what you're querying about. The notaries that you're talking to know what you're asking about, but they don't know who you are, and the bounce notary knows who you are, but they don't—but it doesn't know who you're asking about.”

---

[40:40](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2440s) Eliminating CAs and Empowering Trust Agility

Convergence is packaged as a Firefox add-on that blends seamlessly into the standard browser interface, adding a small control button in the top right. Enabling Convergence fundamentally alters the browser's cryptographic trust model:

> “If you click this button and enable Convergence, you are completely divorced from the CA system.”

Every single connection—including all background page assets, scripts, stylesheets, and images—bypasses the operating system and browser Certificate Authority trust stores entirely. Instead of seeing a CA vendor listed in the favicon site-identity tooltip, validation is managed exclusively by Convergence notaries.

The server component is a lightweight, open-source REST service designed with modular backends. While its default engine relies on multi-perspective network probing, administrators can write pluggable validation backends: - A DNSSEC backend that validates certificates against signed DNS records. - A CA-signature backend (if an administrator actually wants to verify traditional hierarchical chains). - A front-end interface querying the EFF SSL Observatory (which the Electronic Frontier Foundation volunteered to host).

Convergence redefines authority trust by establishing a configurable consensus threshold across distinct notary nodes:

> “In the current CA system, you know you have some number of certificate authorities and if one of them is a bad actor you're completely out of luck, and we're inverting that here where the more authorities that you have, the more notaries that you configure, the better off you are because it means that all of them have to be in cahoots to misbehave and intercept your SSL communication.”

Unlike traditional PKI, Convergence introduces true trust agility. If a user loses faith in a particular notary operator, they can revoke or swap out that single notary immediately without breaking connectivity to any websites. Furthermore, web servers require zero configuration changes or software upgrades, completely eliminating the need for an internet-wide migration: the entire legacy CA system could be superseded simply by implementing Convergence natively across the four major web browsers. Under this paradigm, the arbitrary category of a "self-signed certificate" vanishes—certificates are treated purely as cryptographic keys without class distinctions.

---

[43:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2624s) Practical Edge Cases and the Future of Authenticity

Marlinspike highlights two real-world operational challenges encountered during beta testing. The first is what he terms the "Citibank problem." When testing Convergence on `citibank.com`, the browser triggered persistent untrusted certificate warnings:

> “And the problem is that Citibank apparently has like a couple of hundred different SSL certificates and each one is on a different like SSL accelerator, so every time you connect you get a different certificate, which means that all the notaries see different certificates, your browser sees a different certificate, and it looks identical to a—the case of being attacked.”

Fortunately, erratic multi-certificate deployments are an anomaly on the wider web, meaning resolving the issue requires isolated sites to adopt sane operational practices rather than modifying the broader protocol.

The second operational challenge involves captive portals commonly found in hotels and airports. These networks block internet access until the guest signs in or enters payment details on a captive web page. Because the portal intercepts and redirects web traffic while blocking external outbound connections, the Convergence client cannot reach its external notaries to validate the captive portal's own SSL certificate. Marlinspike notes that users currently have to temporarily disable Convergence in these environments. However, because captive portals almost universally allow DNS traffic out, building a lightweight Convergence query protocol over DNS would resolve the captive portal bottleneck without requiring browser deactivation.

Marlinspike announces that the software was released the previous day in beta at `convergence.io`, inviting security researchers to run their own notaries and build networks of mutual trust. He concludes by challenging the audience to re-examine the core premise of security architectures:

> “Whenever someone is proposing another authenticity system, I think the question that we should all ask is: who do we have to trust and for how long? If the answer is a prescribed set of people forever, proceed with caution.”

- Beta code and client extensions published at `convergence.io`. - Citibank was the only major site identified serving hundreds of disparate certificates across separate accelerators for the same host. - Captive network workarounds can leverage port 53 DNS tunneling because network gates routinely leave DNS unblocked. - The ultimate metric for any new authentication framework is whether it locks users into a permanent, non-negotiable set of authoritative gatekeepers.

## Notable quotes > [43:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2624s) Whenever someone is proposing another authenticity system, I think the question that we should all ask is: who do we have to trust and for how long? If the answer is a prescribed set of people forever, proceed with caution. — Moxie Marlinspike

## Mentioned Moxie Marlinspike, Comodo, Netscape, SSLsniff, SSLstrip, Hak5, Bruce Schneier, Applied Cryptography, RSA, Internet Systems Consortium, Kip Hickman, Ivan Ristić, Mike Zusman, Eddy Nigg, VeriSign, sslinabox.com, GeoTrust, StartCom, Electronic Frontier Foundation, EFF SSL Observatory, U.S. Department of Homeland Security, CNNIC, DNSSEC, ICANN, GoDaddy, COICA, PROTECT IP Act, Dan Wendlandt, David G. Andersen, Adrian Perrig, Carnegie Mellon University, Perspectives, Convergence, Firefox, Citibank

## Video description Moxie Marlinspike - SSL And The Future Of Authenticity In the early 90's, at the dawn of the World Wide Web, some engineers at Netscape developed a protocol for making secure HTTP requests, and what they came up with was called SSL. Given the relatively scarce body of knowledge concerning secure protocols at the time, as well the intense pressure that everyone at Netscape was working under, their efforts can only be seen as incredibly heroic. But while it's amazing that SSL has endured for as long as it has, some parts of it -- particularly those concerning Certificate Authorities -- have always caused some friction, and have recently started to cause real problems. This talk will examine authenticity within SSL, shed new light on the current problems, and cover some new strategies for how to move forward.

[Source](https://www.youtube.com/watch?v=UawS3_iuHoA)

中文简报

Marlinspike推出Convergence以打破网络SSL权威机构垄断 网络真实性模型宣告失败,因为浏览器在不破坏网络连接的情况下无法撤销对受损证书颁发机构的信任,这需要由客户端驱动的验证来恢复信任敏捷性。 Moxie Marlinspike审视了SSL中真实性的根本崩溃,认为中心化的证书颁发机构(CA)模型最初只是草率构想的事后补充,如今已在系统层面上变得不可收拾。通过像Comodo数据泄露这样的现实溃败案例,他展示了企业守门人如何无需为自身疏忽承担任何后果,而用户却深陷于永久的信任锁定之中。Marlinspike拒绝了像DNSSEC这类自上而下的替代方案,认为这仅仅是将中心化权力转移给域名注册商和政府,转而提出了“信任敏捷性”原则——允许客户端动态修改其信任的对象。为验证这一概念,他推出了Convergence,这是一个利用多路径网络探测和保护隐私的公证跳板技术的开源系统,允许用户在无需修改Web服务器的情况下完全替代商业CA。 Moxie Marlinspike揭穿了Comodo所宣称的高级国家级网络黑客部队的说法,披露的服务器日志显示,那名伊朗攻击者当时正通过Hak5教程学习基础中间人攻击,并通过Google搜索解决iptables故障。 (6:36) 现代SSL/TLS生态系统的根本缺陷在于完全缺乏“信任敏捷性”,这使得浏览器和用户被永久锁定在必须信任数百个证书颁发机构的境地,若不破坏网络连接就根本无法撤销或修改这种信任。 (24:35) DNSSEC无法作为真实性机制的替代方案,因为它只是分发数据,同时将绝对且不可撤销的信任集中在域名注册商、外国顶级域名运营商以及受美国管辖的ICANN之下。 (31:13) Marlinspike发布了Convergence,作为CA系统的具备信任敏捷性的替代方案,它使用客户端驱动的多视角网络公证人和公证人跳板技术来保护用户隐私,且无需对Web服务器进行任何更改。 (38:36)

Reading summary

Moxie Marlinspike argues that the fundamental flaw of the web's Public Key Infrastructure is not flawed execution, but a structural lack of 'trust agility'—the ability for clients to choose, revise, and revoke trust anchors dynamically. To resolve this, he advocates replacing static, server-driven Certificate Authorities with client-controlled, multi-path network perspectives. The Illusion of CA Security and Accountability (4:54) The Certificate Authority (CA) ecosystem suffers from severe operational insecurity coupled with a total lack of market accountability. Following a March 2011 breach that compromised login certificates for Google, Yahoo, and Skype, Comodo's leadership attributed the incident to a highly sophisticated, state-sponsored Iranian cyber attack. However, server logs from Marlinspike's SSLsniff tool revealed the attacker was operating from a Windows system with US English localization, following introductory Hak5 video tutorials, and troubleshooting basic routing via Google searches. Despite this amateur intrusion and multiple subsequent breaches within weeks, Comodo suffered no business loss, legal action, or client churn, with its CEO even receiving industry honors later that year. Marlinspike highlights that such dysfunction is systemic: commercial CAs have inadvertently left private signing keys exposed in public directories for years, suffered untraced fraudulent issuances, and openly sold subordinate CA certificates—granting arbitrary interception capabilities—for roughly $50,000. Netscape's Legacy and the Trust Agility Deficit (24:35) The fragility of authenticity stems from the protocol's origin during the early 1990s browser wars. Kip Hickman, the Netscape engineer who authored SSL, confirmed to Marlinspike that the protocol was primarily designed to defeat passive eavesdropping; domain authentication via external CAs was a late, unvetted addition never intended to scale from a handful of protected sites to millions of domains across billions of IP addresses. This historical compromise created a permanent lock-in trap: because an entity like Comodo signs 20% to 25% of the secure web, neither an individual user nor a major browser vendor can remove it from their trust store without breaking vast swaths of the internet. Marlinspike diagnoses this as a total absence of 'trust agility.' True trust agility requires two non-negotiable principles: the capacity to revise trust decisions dynamically over time, and the client-side determination of trust anchors, inverting the traditional server-dictated validation model so users can choose whom they trust with their personal communications. Centralization Pitfalls in the DNSSEC Alternative (29:20) Proposals to replace CAs with DNSSEC-signed DNS records present an attractive facade of decentralization, but Marlinspike warns that they conflate distributed data with distributed trust. While DNS records are served across global zones, the underlying trust architecture remains rigidly centralized and top-heavy, locking users into three inherently untrustworthy tiers: commercial domain registrars, Top-Level Domain (TLD) registries, and the ICANN root. Under DNSSEC, users are forced to trust TLD operators such as Verisign for `.com` and `.net`, as well as foreign governments administering national ccTLDs like Iran (`.ir`) or China (`.cn`). Furthermore, the root remains anchored by ICANN, a California corporation subject to United States jurisdiction and legislative control. Crucially, DNSSEC offers far less trust agility than the CA system: while a rogue CA can theoretically be unpinned from a browser, a user cannot revoke Verisign's authority over `.com` without breaking domain resolution entirely. Multi-Path Verification and the Convergence Architecture (38:36) To build an agile trust framework, Marlinspike redesigned the network perspective model pioneered by Carnegie Mellon University's Perspectives project. The original CMU implementation proved the viability of querying external 'notaries' from diverse vantage points, but suffered from three major flaws: it only verified top-level HTTP connections while ignoring embedded page assets, leaked user browsing histories to notaries, and created false-positive warnings due to periodic caching lag when sites updated legitimate certificates. Marlinspike's alternative, Convergence, resolves these issues through a Firefox add-on and an open-source REST server. By including the received certificate fingerprint in client queries, notaries only probe target servers on cache mismatches, eliminating notary lag. Convergence shields user privacy through local caching and 'notary bouncing'—tunneling encrypted queries through a randomized proxy notary so that no single node knows both the user's identity and their destination. Crucially, it divorces the browser entirely from CA root stores, allowing users to configure consensus thresholds across custom notaries without requiring any server-side infrastructure changes. While beta deployments revealed edge cases like captive network portals and anomalous multi-certificate setups (such as Citibank's accelerators), Marlinspike emphasizes that these can be resolved with lightweight protocols like DNS tunneling. He concludes that any future authenticity architecture must be judged strictly by whether it locks users into a permanent, prescribed set of authorities or empowers clients to revise their trust continuously.

精炼阅读摘要

Moxie Marlinspike指出,SSL/TLS体系的核心缺陷在于公钥基础设施(PKI)完全缺乏“信任敏捷性”(Trust Agility),导致用户与浏览器被迫永久受制于集中式证书颁发机构(CA);他提议通过多路径网络探测工具Convergence将信任决策权交还给客户端。 CA生态的脆弱现实与问责机制失效 (4:54) 现代网络安全依赖保密性、完整性和真实性三大支柱,前两者在密码学上大体稳固,但真实性因CA体系的脆弱性而频遭破坏。2011年3月,占据全球20%至25%证书份额的Comodo遭遇入侵,攻击者签发了包括Google、Yahoo和Skype在内的高价值登录凭证。Comodo官方将其定性为来自伊朗的“国家级网络战”,但Moxie Marlinspike通过分析自己发布的SSLsniff工具的服务器日志发现,攻击者的IP完全吻合,运行着英文Windows系统,且通过入门级教学视频和基础搜索(如iptables规则设置)来排查中间人攻击问题,暴露了攻击者实为初学者。除了Comodo之外,历史上还发生过Mike Zusman无需严格验证即获取login.live.com证书、Eddy Nigg违规获取mozilla.com证书,以及VeriSign向未具名虚假主体签发微软代码签名证书等事件。低端供应商sslinabox.com甚至在注册逻辑上出现串号漏洞,将新用户直接登录至陌生人账户;另有CA自2009年起将其私钥置于公开Web目录中长达数年,GeoTrust等机构更以约5万美元公开兜售具有任意签署权限的从属CA证书。尽管Comodo当月及次月接连再次遭黑,其商业利益未受任何动摇,不仅没有流失客户或面临诉讼,其首席执行官反而在同年RSA大会上被评为年度企业家,暴露出整个CA产业缺乏根本的问责机制。 历史妥协与信任敏捷性的缺失 (12:04) 当前CA模式的缺陷植根于早期设计的权衡与历史局限。在20世纪90年代初网景公司(Netscape)设计SSL时,全球主机不足500万台,需要加密的网站仅约10家,中间人攻击在当时被视为纯学术层面的边缘风险。Moxie联系到SSL协议的最初起草者Kip Hickman,对方承认CA验证机制只是为了防御被动嗅探而临时补充的“挥手式”产物,从未预期其能在涵盖数亿域名的全球规模下平稳运行。Moxie强调,当前危机不能简单归咎于“CA机构过多”(早期VeriSign垄断时同样滥用权力并运营政府监听业务)或“少数害群之马”,其实质问题在于缺乏“信任敏捷性”(Trust Agility)。信任敏捷性包含两大核心原则:一是信任决策必须能在时间维度上动态修正,不能被迫永远信任某一实体;二是信任锚点必须由客户端与最终用户决定,而非由服务端绑定或由浏览器静态列表统一指定。现实中,由于Comodo等大型机构签发了全网多达四分之一的证书,单个用户或浏览器厂商根本无法在不破坏大面积网络访问的前提下撤销对它的信任,从而陷入永久锁定的困境。 DNSSEC替代方案的伪分布式陷阱 (29:20) 针对业界试图通过DNSSEC在DNS记录中存储证书以取代传统CA的提议,Moxie指出该方案混淆了“数据分布”与“信任架构”。虽然DNS记录在物理和区域上是分布式的,但其信任传递链条依然高度集中且不可撤销,甚至比CA体系更加僵化。DNSSEC强迫用户依附于三层不可靠的信任实体:第一层是商业域名注册商(如GoDaddy),其运维信誉长期饱受质疑;第二层是顶级域名(TLD)注册局,包括掌控.com和.net的Verisign、管理.org等域名的不知名董事会,以及由各国政权控制的国家代码顶级域(如.ir、.cn、.ly等),这使主权国家能够轻而易举地对本国甚至特定国际域名实施合法拦截与扣押;第三层是ICANN根节点,它作为受美国法律管辖的加利福尼亚州非营利组织,极易受到类似COICA和PIPA等国内版权或监控法案的法令胁迫。在传统CA架构下,浏览器理论上尚有移除Verisign根证书的可能;但在DNSSEC体系下,用户完全没有机制剥夺Verisign对.com域名的解析与验证权威,从而将用户永久锁定在无法动态变更的强制信任链中。 Convergence网络公证与隐私架构设计 (38:36) 为了从底层反转验证模型,Moxie借鉴了卡耐基梅隆大学(CMU)Dan Wendlandt等人提出的Perspectives多路径探测项目,并重新设计出开源系统Convergence。传统Perspectives依赖远程“公证节点”(Notaries)从不同网络视角独立验证服务器公钥,但存在三大缺陷:仅支持顶级HTTP连接而忽略图像及JS等子资源、直接向公证人查询导致实时浏览记录严重泄露,以及因公证节点定时轮询缓存导致的“公证延迟”(合法更换证书会被误报为攻击)。Convergence针对性地做出了重构:客户端在查询时主动携带所收到证书的指纹,公证人仅在缓存未命中或不匹配时发起向外探测,彻底消除了轮询延迟;在隐私保护上,Convergence结合了本地积极缓存与“公证节点弹跳”(Notary Bouncing)机制,客户端通过预共享密钥与随机选取的弹跳节点建立SSL隧道代理查询,使代理节点知晓用户身份却看不见查询内容,而目标公证人知晓查询目标却无法获取用户真实身份。该系统以Firefox扩展形式实现,彻底绕过系统及浏览器内置的CA信任库,并支持可插拔后端(包括多路径探测、DNSSEC或EFF SSL Observatory接口)。在多公证人共识机制下,只有所有公证节点同时合谋才能发动中间人劫持,而用户可随时剔除可疑公证人而不影响任何网站的正常连通。 Moxie指出,任何新兴真实性验证系统的检验标准都在于“必须信任谁、信任多久”。目前Convergence在实际部署中仍面临少数边缘挑战,例如花旗银行在不同SSL加速器上部署不同证书导致的多证书报错,以及酒店、机场强制认证门户(Captive Portal)对外部验证连接的阻断(未来计划通过放行的53端口DNS隧道解决)。他呼吁安全界警惕任何要求用户永久信任固定实体的架构体系。

Detailed notes — zh

## Background 本内容由 YouTube 官方频道 DEFCONConference 于 2013 年 11 月 2 日发布,记录了安全研究员 Moxie Marlinspike 在 DEF CON 19 大会上的精彩技术演讲。视频页面简介指出,SSL 协议诞生于 90 年代初 Netscape 工程师面临巨大压力的草创期,尽管沿用至今堪称壮举,但其证书颁发机构(CA)体系一直存在摩擦并引发了严峻问题;本次演讲旨在深入剖析 SSL 真实性机制的困境,并提出破局的新策略。 ## TL;DR Moxie Marlinspike 以 Comodo 遭到入侵且荒唐推卸责任的真实案例切入,揭穿了 CA 行业虚假宣传“国家级网络攻击”、实则自身管理混乱且缺乏惩戒机制的遮羞布。他追溯了网景早期仓促拼凑 CA 体系的历史背景,指出传统架构与 DNSSEC 方案均违背了“随时撤销信任”与“由终端用户自主选定信任源”的“信任敏捷性(Trust Agility)”核心原则。针对早期 Perspectives 方案在隐私、延迟和覆盖度上的缺陷,Moxie 推出了全新的替代系统 Convergence,通过多路径网络视角探测、跳板公证人隧道与预共享密钥验证,使用户能够在客户端彻底摆脱对中心化 CA 商业垄断的强制依赖。 ## Atmosphere & style 整场演讲呈现出极具个人特色、幽默辛辣且极度硬核的黑客极客氛围。开场以一段充满自嘲的荒诞青春公路故事迅速破冰,随后话锋一转,以冷峻尖锐的手法撕开商业安全公司公关话术的虚伪面具,引发台下阵阵会心大笑。随着对底层协议历史缺陷的层层拆解与新架构 Convergence 的现场推演,演讲逐渐转向深邃而富有建设性的学术与工程反思,散发着对开放互联网自由精神与去中心化安全范式的执着追求。 ## Bulletin - [04:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=284s) Comodo 在 2011 年遭遇入侵并被伪造包括 Google、Yahoo 和 Skype 等顶级域名证书,官方宣称面临国家级网络战,但服务器日志显示攻击者实际是通过入门教程和搜索引擎边学边配的初学者。 - [24:35](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1475s) 现行 CA 体系的致命死结在于缺乏“信任敏捷性(Trust Agility)”,用户和浏览器无法承受从根证书中移除失职 CA 所导致的四分之一互联网服务瘫痪代价。 - [29:20](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1760s) DNSSEC 并未真正实现去中心化信任,其仅在信息存储层面分布式,而信任链条被强制集中在域名注册商、顶级域名运营方(如 VeriSign)及受美国管辖的 ICANN 手中,导致信任无法撤销。 - [38:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2316s) Moxie Marlinspike 发布了替代 CA 体系的开源系统 Convergence,利用网络多视角探测、跳板公证人隧道与共识机制,将身份真实性背书的决定权彻底交回客户端。 ## Key takeaways - [04:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=284s) 2011 年 Comodo 入侵事件揭示了 CA 行业的系统性脆弱,官方将攻击美化为伊朗发起的精密网络战,试图推卸签发把关失职的责任。 - [06:37](https://www.youtube.com/watch?v=UawS3_iuHoA&t=397s) 通过对 SSLsniff 下载日志的排查,证实 Comodo 攻击者仅是查看教学视频与照抄 iptables 命令的新手,彻底击碎了国家级高精尖攻击的神话。 - [09:47](https://www.youtube.com/watch?v=UawS3_iuHoA&t=587s) Comodo CEO 将入侵责任归咎于 DNS 缺乏安全性,暴露出其对 SSL 核心旨在防御中间人攻击这一基本定位的认知颠倒。 - [11:19](https://www.youtube.com/watch?v=UawS3_iuHoA&t=679s) SSL 诞生于 1990 年代初的网景公司,当时仅有不足 10 个安全站点且中间人攻击纯属理论概念,CA 机制只是项目末期匆忙拼凑的产物。 - [15:13](https://www.youtube.com/watch?v=UawS3_iuHoA&t=913s) 网景协议设计师 Kip Hickman 坦承,CA 真实性验证在设计之初就未曾考虑应对未来数十亿个域名的横向扩展能力。 - [18:45](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1125s) CA 行业长期充斥着私钥明文挂网无人问津、数万美元明码标价售卖二级 CA 签发权限等严重安全乱象。 - [21:53](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1313s) 减少 CA 数量、剔除害群之马或按国别划分签发范围都无法解决根源问题,因为根本不存在标准统一且完全清白的可信实体。 - [24:35](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1475s) 当前体系的核心缺陷是缺乏“信任敏捷性”,信任决策必须能够随时无痛撤销,且信任锚点应由承担风险的终端用户而非网站管理员自主裁定。 - [27:52](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1672s) 将信任模型从“服务端申请/出示”反转为“客户端主动探测/核验”,能够从根本上规避跨国地缘政治带来的审查与窃听风险。 - [29:20](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1760s) DNSSEC 并非 CA 的理想替代方案,其将信任永久锁定在注册商、顶级域名管理方及 ICANN 手中,剥夺了用户随时撤回信任的筹码。 - [35:01](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2101s) CMU 的 Perspectives 项目开创了通过中立公证人进行网络多路径探测的思路,但在隐私保护、轮询更新延迟与背景资源覆盖上存在缺陷。 - [38:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2316s) Convergence 协议通过客户端直接上报证书、本地安全缓存以及跳板公证人加密隧道,彻底解决了公证人轮询延迟和用户访问隐私泄露问题。 - [40:40](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2440s) 在 Convergence 体系中,公证人越多安全性越高,因为必须达成共识才能通过验证,彻底扭转了传统 CA 体系中“单点沦陷即全局沦陷”的安全洼地效应。 - [43:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2624s) 评估未来任何真实性认证体系的黄金法则在于审视:我们必须信任谁,以及必须信任多久?若答案是永久固定信任某些实体,则必须保持警惕。 ## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=UawS3_iuHoA&t=0s) 开场:告别套路,来一个完全无关的荒谬故事 在诸如 DEF CON 这样规模庞大的黑客大会上,演讲者往往面临一个心照不宣的技术性难题:会场空间极大,参会人员四处走动、姗姗来迟,在演讲刚开始的几分钟里,大门处总有源源不断的人流还在找座位。通常情况下,演讲者为了不让后进来的听众错过技术干货,会选择慢节奏开场——要么念一段冗长乏味的个人履历,要么把要讨论的问题从盘古开天辟地以来的历史脉络复述一遍。但 Moxie Marlinspike 直言自己极度反感这种套路:“I don't really like that stuff, so I want to try something a little different where I'm just going to tell for the first 3 minutes here a completely unrelated totally random story that has nothing to do with computer security or this talk.” 这个故事发生在他高中刚毕业那会儿。他和几个朋友脑子一热,构想出了一个异想天开的荒唐计划:几个人打算一路奔赴加勒比海,在茫茫大海上找一座无人居住的荒岛去“建立殖民地”。Moxie 自嘲地将这种荒唐的脑抽行为归咎于年轻气盛。由于那年头开车远比坐飞机便宜,他们一行人干脆一路向南横跨美国开到了迈阿密,随后才搭乘短途航班飞入加勒比海域试图找船出海。然而这项宏伟的殖民大计毫无悬念地迅速泡汤,几个人落得个食不果腹的凄惨下场,只能灰溜溜地踏上归途,驾车沿着佛罗里达州一路向北返程。 ### [01:40](https://www.youtube.com/watch?v=UawS3_iuHoA&t=100s) 德州墨西哥餐厅的“砸派”生日仪式与完美整蛊 在北返的路上,一行人垂头丧气、又饿又累,决定找个地方正经吃顿午饭。他们看中了一家带有玉米片、能踏实坐下来的 Tex-Mex(德州墨西哥风味)餐厅。然而就在穿过停车场朝餐厅走去的半路上,同行的两个朋友中有一位突然想起自己似乎有东西落在了车里,或是车门没锁,便转身折返停车场。Moxie 则与另一位朋友先进了店门。恰在此时,餐厅里正在进行一场怪异的顾客生日仪式——不同于常见餐厅里店员拍手唱生日歌的常规场面,这家店的操作堪称暴力奇观:两名服务员端着餐具走出来,其中一人手持一个小茶托,上面只放了一小抹生奶油和一把勺子;服务员让寿星女士闭上双眼张开嘴,仿佛要轻柔地把这抹奶油喂进她嘴里;然而,另一名服务员早已悄无声息地端着一个装满鲜奶油的大号整派盘潜伏在其身后。 就在那位精心打扮的女士闭眼张嘴的一瞬间,身后的服务员猛然挥臂,将整整一盘奶油派严严实实地爆头砸在了她的脸上。没有任何防备的女士彻底陷入凌乱与震惊,而站在一旁目睹整个过程的 Moxie 和朋友则看得目瞪口呆。就在这时,那位回车里拿东西的朋友还在停车场没进门。Moxie 的同伴转头看着他,眼里闪烁着坏笑:“Hey, I think it might be Jack's birthday today.” 入座后,Moxie 趁着就餐空档偷偷离席溜去找服务员,装作不知情地询问朋友今天过生日、店里是否有庆祝活动,服务员心领神会地表示包在他们身上。不久后,服务员们唱着歌鱼贯而出,给不知就里的朋友戴上了一顶小纸帽。这位朋友后来坦白,他当时以为是同伴为了蹭免费生日蛋糕才撒的谎,便毫不设防地极力配合。结果历史精准重演:朋友闭上眼睛张开嘴巴,被身后的服务员一记奶油派狠狠盖脸。而 Moxie 早已在餐桌下备好了一次性胶卷相机,迎面抓拍下了朋友脸部被砸中瞬间那纯粹至极的惊愕表情。 ### [04:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=284s) Comodo 入侵事件:CA 巨头遇袭与“网络战”叙事 讲完这桩荒诞的青春往事,Moxie 将话题硬切回演讲的正题——SSL 以及真实性(Authenticity)的未来。他指出,这个演讲的核心本质上是关于“信任(Trust)”。为了切入当前网络信任体系的严峻现状,他讲述了一起发生在现实中的真实安全事件:2011 年 3 月,全球第二大证书颁发机构(Certificate Authority,简称 CA)Comodo 遭遇了黑客入侵。根据 Netcraft 的统计数据,Comodo 一家机构就签发了当时互联网上大约四分之一到五分之一的 SSL 证书,其地位举足轻重。 在这次入侵中,攻击者非法获取并签发了多个顶级高价值域名的伪造数字证书,包括: - `mail.google.com` - `login.yahoo.com` - `Skype` - 以及其他数个主流网络服务 这些证书足以让攻击者对全网最主流的网页邮件系统及通信服务实施全面的中间人拦截与凭据窃取。事件发生后,Comodo 的创始人兼 CEO 立即发表公开声明,极力将入侵者描绘为不可阻挡的顶尖力量。这位 CEO 在声明中宣称:“This attack was extremely sophisticated and critically executed. It was a very well orchestrated clinical attack and the attacker knew exactly what they needed to do and how fast they had to operate.”随后,他更进一步强调此次攻击中涉及的所有源 IP 地址均来自伊朗,并盖棺定论地断言,所有证据只能导向一个结论——这是一起由国家支持(state-driven)发起的入侵行动。Comodo 借此试图构建一套无懈可击的免责公关叙事:这绝非普通的黑客渗透,而是一场国家级“网络军队(Cyber Army)”发动的全方位战争,区区一家民营商业公司面对主权国家的全力突袭,沦陷自然无可厚非。 ```mermaid flowchart TD accTitle: Comodo 遇袭与公关叙事逻辑 accDescr: 展示 Comodo 遭受入侵后,官方试图将其归咎为国家级网络战的叙事链条与被盗证书影响 subgraph CA_Breach["Comodo CA 遇袭事件 (2011年3月)"] A["全球第二大 CA 机构: Comodo<br/>(签发全网 20%~25% 证书)"] -->|"遭黑客渗透入侵"| B["伪造签发顶级域名证书"] B --> C["被盗域名目标:<br/>mail.google.com / login.yahoo.com / Skype 等"] end subgraph PR_Narrative["官方定调与公关叙事"] B -->|"提取攻击源 IP"| D["IP 地址归属于伊朗 (Iran)"] D --> E["CEO 声明: 极度精密、执行精准 (Clinical)"] E --> F["定性为: 国家级网络攻击 (State-driven Attack)"] end ``` ### [06:37](https://www.youtube.com/watch?v=UawS3_iuHoA&t=397s) 撕开神话:从“国家级黑客”到看网络教学的新手 正是 Comodo 官方这番耸人听闻的言论,迅速引爆了舆论,将这起安全事件从专业圈子推上了各大主流媒体的头条。一时间,众多新闻记者纷纷致电向 Moxie 寻求技术解读,反复追问攻击者究竟能利用这些伪造证书干出什么事。Moxie 解释称攻击者能够借此拦截受害网站的全部加密流量。当记者进一步追问实施此类拦截最简单、最直接的现实手段是什么时,Moxie 坦言:“Well, you know, the attacker could just use SSLsniff, which was a tool that I wrote to perform man-in-the-middle attacks against SSL connections.” 不同寻常的是,Comodo 在其公开发布的事故报告中,为了反复坐实“伊朗威胁论”,直接披露了攻击者的具体 IP 地址。看到这个披露的 IP 后,Moxie 灵光一闪,想起记者关于工具的提问,便好奇地跑去翻阅自己托管 SSLsniff 源码的个人 Web 服务器日志。日志记录呈现出的真相让所谓“高精尖国家级网络特工”的神话瞬间崩塌: - **下载记录**:就在 Comodo 遭遇入侵后的第二天早晨,Comodo 官方报告中公示的那个完全相同的伊朗 IP 地址,赫然访问了 Moxie 的网站,并下载了 SSLsniff 源码。 - **环境指纹**:日志显示,这位神秘黑客的客户端运行的操作系统是 Windows,其浏览器默认语言竟然是美式英语(US English)。 - **来源追踪(Referer)**:顺着日志往前追溯,攻击者首次访问 Moxie 网站的跳转来源,竟然是黑客入门教学节目 Hak5 的一段视频教程,内容是如何使用 Moxie 编写的另一款工具 SSLstrip。 - **搜索关键词**:后续的日志记录还捕获到了该 IP 频繁使用的 Google 搜索关键词,其中包括“SSL protocol man in the middle howto”(SSL协议中间人攻击教程)以及“iptables prerouting”等低级搜索记录,表明这位被指为国家级军团的攻击者当时甚至在配置 Linux 的 iptables 端口重定向时遭遇了挫折。 荒诞的对比由此形成:一边是 Comodo 首席执行官在媒体面前大肆宣扬遭遇了“极其精密、如外科手术般精准(clinical)”的国家级网络攻击;而另一边,真实的攻击者却是在网上边看新手教学视频、边在搜索引擎里照抄命令排查端口配置报错的初学者。正当 Moxie 对着日志里的滑稽发现暗自发笑时,这位攻击者在网上公开发表了一份声明文件,彻底击碎了官方的所有遮羞布。 ### [09:47](https://www.youtube.com/watch?v=UawS3_iuHoA&t=587s) 攻击者的荒诞言行与 Comodo 的危机公关 黑客在黑入数字证书机构 Comodo 后的后续表现让整个事件变得极其难堪。该攻击者在网络上发表言论时,一边做出吹嘘自己“黑掉了 RSA”等宏大且绝无可能的假大空声明,一边又洋洋自得地宣称自己掌握了极其平庸的技术,例如“能够从 DLL 中导出函数”以及“编写自己的 SOAP API”。更糟糕的是,这位攻击者并未就此罢休,前后一共公开发布了六篇内容愈发尴尬的通报,甚至主动接受媒体记者的采访。对于卷入其中的所有人——无论是黑客本人还是 Comodo 公司——这都算得上一场彻头彻尾的尴尬闹剧。 面对这次严重的信任危机,Comodo 创始人兼 CEO 的公开回应却暴露出他对自身业务核心的惊人无知。该 CEO 发表声明称:“如果这是一个安全且受信任的 DNS,这个问题就会变得毫无意义!我们需要一个安全且受信任的 DNS!”Moxie Marlinspike 对此直言讽刺:“这位老哥是在极其热情地向全世界宣布,他根本不懂自己做的是什么生意。”(“So this guy has just very enthusiastically declared that he does not understand the business that he's in.”)一方面,该 CEO 似乎在暗示 DNS 篡改是进行中间人攻击(MITM)的唯一途径,这在技术上完全是无稽之谈;另一方面,即便 DNS 篡改是唯一途径,SSL 证书存在的根本目的正是为了抵御中间人攻击。如果中间人攻击从一开始就无法实现,那人们根本不需要向他购买任何 SSL 证书。更具讽刺意味的是,在同一个月内 Comodo 又被黑了两次,到了次月再次被黑客攻破。 - 攻击者共发布了 6 份公开声明并接受媒体采访,言论充斥着不切实际的吹嘘与平庸技术的炫耀。 - Comodo CEO 错误地将责任推给 DNS 缺乏安全性,把证书体系防范中间人攻击的核心价值全盘推翻。 - 在首次入侵发生后的一个月内,Comodo 接连再次遭受两次黑客攻击;次月又遭遇另一次入侵。 ### [11:19](https://www.youtube.com/watch?v=UawS3_iuHoA&t=679s) 荒诞的行业后果与 90 年代初的协议设计背景 在经历了如此严重的信任崩塌与多次入侵后,Comodo 遭遇的实际后果却令人错愕:什么坏事都没有发生。他们的商业版图没有遭受任何打击,没有流失客户,也没有惹上官司。实际上,Comodo 在当年经历的最重要的一件事,竟然是其 CEO 在 RSA 大会上被评选为“年度企业家”(Entrepreneur of the Year)。Moxie Marlinspike 指出,这种安全违规与商业利益完全脱节的现状,恰恰切中了当前 SSL 信任体系危机的核心本质。 要理清 SSL 今天的结构性困境,必须回到它诞生的 1990 年代初期。任何安全协议都需要提供三个基本要素:机密性(Secrecy)、完整性(Integrity)与真实性(Authenticity),三者缺一不可,任何一环断裂整个协议就会瓦解。然而,SSL 诞生于完全不同的互联网史前时代: - 当时几乎没有关于如何设计安全协议的公开参考资料,《应用密码学》(Applied Cryptography)一书尚未面世。 - 如果想要使用 RSA 算法,开发者必须从 RSA 公司购买专利许可并支付真金白银。 - 当时根本不存在电子商务,在互联网上传输信用卡卡号是不可思议的概念。 - 当时没有成熟的 Web 应用程序,用户也不会通过网站提交账号与密码凭据。 - 根据 ISC 的数据,1994 年整个互联网上的主机数量不足 500 万台,而如今全球公网 IP 地址正以超过 40 亿的数量面临耗竭。 - 当年全网值得进行加密通信的安全站点可能不超过 10 个,而现代互联网上运行着超过 200 万张 SSL 证书。 ### [13:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=816s) 英雄主义、4点钟决策与真实性机制的草率补丁 在网景(Netscape)开发 SSL 的工程师们承受着巨大的商业竞速压力。正是这群人在凌晨 4 点做出的种种仓促决策中孕育出了 JavaScript,而相关技术包袱至今仍在困扰着整个行业。考虑到他们当时匮乏的理论工具和截然不同的环境,SSL 的最初设计者们实际上完成了极其英雄般的壮举。在机密性和完整性方面,协议的表现尚可,但在真实性(Authenticity)这一环节上,早期的摩擦如今演化成了巨大的系统性问题。 真实性机制的核心目的是防止中间人攻击:如果没有真实性保障,恶意攻击者便可以拦截用户与网站之间的连接,分别与两侧建立安全会话并从中转发兼记录所有流量。然而在 1994 到 1995 年间,中间人攻击完全是一个纯理论层面的学术概念。当时根本不存在成熟的网络劫持工具,攻击并未在现实中发生。因此,设计者们构建了一套由证书与数字证书认证机构(Certificate Authority,简称 CA)组成的方案,由人们决定信任的机构为网站数字签名以证明其真实性。 ```mermaid flowchart TD accTitle: 传统中间人攻击与CA验证机制 accDescr: 展示了无真实性验证时的中间人嗅探风险,以及CA证书如何提供身份担保。 subgraph MITM["理论上的中间人劫持风险 (1994年视点)"] Client["用户客户端"] -->|"建立安全会话 A"| Attacker["中间人拦截者"] Attacker -->|"建立安全会话 B"| TargetServer["目标真实站点"] Attacker -.->|"嗅探并记录数据流"| Log[("泄露凭证/机密")] end subgraph CARemedy["Netscape 设计的 CA 补丁方案"] CA["受信任的 CA 机构"] -->|"数字签名背书"| Cert["站点数字证书"] Cert -->|"证明服务器公钥真实性"| ClientValid["客户端完成身份鉴别"] end ``` ### [15:13](https://www.youtube.com/watch?v=UawS3_iuHoA&t=913s) 与 Kip Hickman 的通话与 CA 体系的规模化困境 为了求证 SSL 设计之初的设计考量,Moxie Marlinspike 追踪并电话联系到了 SSL 的最初设计者——前网景工程师 Kip Hickman(自 1995 年起就未在互联网上公开活跃)。在通话中,Kip Hickman 坦承,防范中间人攻击的整套 CA 真实性机制不过是在项目尾声时草率添加的权宜之计。正如 Moxie 转述的那样,Kip Hickman 回忆道:“那个证书体系的玩意儿,说实话有点像是在糊弄(hand wave)……我们当时根本没觉得它能行得通,谁心里都没底。”(“He's like, really, that whole thing with certificates, you know, it was a bit of a hand wave. It's like we didn't think it was going to work, we didn't know, you know.”)SSL 最初主要设计用来防范被动网络嗅探,中间人防御只是临时赶工拼凑的产物。 这种设计在 1994 年具有一定的逻辑自洽性:全网一共可能只有大约 10 个安全站点,依赖一家机构仔细审查并签署这 10 个站点的证书是完全可行的。但当互联网扩展到数十亿个域名并希望全网加密时,指望一两个或一组机构仔细审查每一个域名的合法性完全成了幻想。当 Moxie 询问系统随时间的扩展性(Scaling)时,Kip Hickman 回答他们当时根本没考虑过扩展性,并提醒道:“你要记住,在这个协议设计出来的时代,雅虎(Yahoo!)不过是一个只有 30 个超链接的静态网页罢了。” Ivan Ristić 整理的 SSL 威胁矩阵清晰地揭示了这一历史演变结果: - 机密性与完整性方面的漏洞(如某些密码套件弱点)虽然存在,但协议尚能勉强修补并维系。 - 针对用户交互界面的攻击(例如 Moxie Marlinspike 自己发现的 SSLstrip)暴露出浏览器与协议层连接处的缺陷。 - 协议本身遭遇的最严峻、最系统性的崩溃,完完全全集中在证书机构真实性认证(Authenticity)的环节上。 Comodo 遭入侵事件绝不是什么高大上的国家级网络战(Cyber War),而是日常证书签发审查全面失守的缩影: - 黑客在 Comodo 拿到 `login.live.com` 证书之前,安全研究员 Mike Zusman 早已仅凭简单申请就成功骗取了同一域名的证书,根本不需要掌握导出 DLL 函数等高深手段。 - 安全研究员 Eddie 曾在未经任何资质核实的情况下,顺畅申请并获得了代表 `mozilla.com` 的证书。 - VeriSign 甚至曾误将代表微软公司(Microsoft Corporation)的代码签名证书签发给了一群至今身份不明的恶意攻击者。数字证书滥发与欺诈认证早已成为业界家常便饭。 ### [18:45](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1125s) CA 行业的荒诞现状:从破烂网站到公开私钥与明码标价 Moxie Marlinspike 分享了自己近期的离奇经历:为了申请一张普通的 SSL 证书,他找了一家名为 SSLinABox.com 的廉价证书转售商。注册账号时系统出现离奇故障,每次点击“创建账号”,页面就会随机直接登录进别人的账户;退出再试一次,又进入了另一个完全陌生人的账号。Moxie 无奈吐槽,自己根本不是想黑进系统,只是想买张证书,甚至懒得发邮件反馈,因为对方显然根本不在乎。荒唐的还不止于此:有家证书颁发机构(CA)居然把自家证书的私钥直接扔在 Web 服务器的公开目录下供人随意下载。更不可思议的是,这并非偶发失误后立即被撤下——这把私钥从 2009 年起就一直大摇大摆地公开挂在网上,至今无人处理。 ```mermaid flowchart LR accTitle: CA 安全乱象现状 accDescr: 展示 CA 行业中出现的私钥公开、高价贩售 CA 权限以及全球多国具备解密能力等乱象。 subgraph CA_Chaos["CA 行业乱象"] A["公开目录泄露私钥<br/>(自 2009 年起无人问津)"] B["GeoTrust 商业子 CA<br/>(约 5 万美元即买即用)"] C["伊朗黑客攻击 Comodo<br/>(因自身无受信任根证书)"] end subgraph Impact["安全后果"] D["全球通信面临无差别中间人拦截风险"] end A --> D B --> D C --> D ``` 紧接着,StartCom 遭黑客攻击且细节不明;而黑客甚至不需要真正掌握顶尖技术,只要有足够的资金即可。例如 GeoTrust 曾以大约 5 万美元的价格出售二级 CA 证书,任何人只要掏得起 5 万美元,就能拥有签署任意证书的能力,从而拦截互联网上的加密通信。Moxie 调侃其网站右上角的宣传图标:“I really like their iconography in the top right corner because it really is you know like we're giving you the key to the world, you know they're not hiding anything.” 谈及 Comodo 被黑事件,Moxie 尖锐地指出:伊朗黑客之所以费尽心机去入侵 Comodo 来签发伪造证书,唯一的原因是伊朗自身没有被纳入主流操作系统和浏览器的受信任根 CA;但与此同时,世界上许多其他国家早已合法掌握了这种能力。 - 电子前哨基金会(EFF)的 SSL 天文台项目(SSL Observatory)扫描全网后绘制了全球具备签发证书、拦截加密通信能力的国家地图。 - 地图中甚至包括大西洋中间的小红点——百慕大(Bermuda)同样拥有受信任的证书签发权限。 - 整个 CA 行业在大众眼中的舆论评价,已经从最初的“纯属敲竹杠”(total ripoff)进一步退化为“纯属敲竹杠且基本毫无用处”(total ripoff and mostly worthless)。 --- ### [21:53](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1313s) 对 CA 困境的三种浅层误解:数量、坏苹果与管辖范围 随着替换 CA 机制的呼声日益高涨,Moxie 告诫大家必须准确剖析真正的问题所在,避免重蹈覆辙。他系统梳理并反驳了当时社区中最常见的三个直觉性观点: ```mermaid flowchart TD accTitle: 对 CA 问题的三种浅层诊断及其反驳 accDescr: 结构化对比三种关于 CA 问题的常见误解以及 Moxie Marlinspike 给出的驳论。 subgraph Claim1["假说一:CA 数量过多"] C1["650 家机构能签发证书<br/>应大幅精简机构数量"] R1["驳论:从 20 个站点扩展到 10 亿站点<br/>垄断会导致高价与失控,缩减违背扩容需求"] end subgraph Claim2["假说二:少数害群之马"] C2["大多数 CA 行为良好<br/>只有少数几家败坏了名声"] R2["驳论:几乎无人底子干净<br/>例如 VeriSign 曾同时经营合法监听业务"] end subgraph Claim3["假说三:作用域重叠"] C3["中美等国互相交叉签发<br/>应将 CA 限制在各自国境内"] R3["驳论:标准过低<br/>本国公民同样不信任本国政府部门签发的凭证"] end C1 -.-> R1 C2 -.-> R2 C3 -.-> R3 ``` 第一种观点认为“CA 数量太多了”。EFF 扫描发现全球有 650 家不同机构具备证书签发权限。有人主张减少 CA 数量,但 Moxie 认为这把问题想得过于简单:回想当初 VeriSign 一家独大的时期,他们任意制定高昂价格且行事毫无约束;互联网从最初 20 个安全站点发展到 200 万个,未来需要支持 10 亿个加密站点,面对这种规模扩张,减少服务提供方根本不是出路,理论上反而需要更多能够各司其职的合格机构。 第二种观点认为“只是少数害群之马(Bad Apples)坏了整锅汤”。但仔细审视就会发现没有谁的手是干净的。即便是 VeriSign 独步天下的时代,其一边售卖证书保障通信安全,另一边却开辟专门部门为各国政府承办所谓的“合法监听”(lawful intercept)服务。Moxie 直言:“I think if you look closely there's really nobody here that does not have dirt on their hands.” 第三种观点认为是“管辖范围(Scope)出了错”。例如美国国土安全部(DHS)和中国政府都能签发任意域名的证书,导致 DHS 能签发中国网站,中国也能签发美国网站。有人建议将 CA 的签发范围限制在其所在国家之内。Moxie 驳斥称这种构想标准过低,根本解决不了实质问题:中国有大量网民不信任本国官方机构为其认证通信,同样地,美国境内也有大量公民绝不信任国土安全部来为自己的加密通信保驾护航。 --- ### [24:35](https://www.youtube.com/watch?v=UawS3_iuHoA&t=1475s) 困境本质与出路:缺失的“信任敏捷性”(Trust Agility) 当追问 Comodo 遭到入侵后究竟受到了什么惩罚时,现实却是“什么都没发生”。其根本原因在于当前体系惩罚机制的缺失:如果一名普通用户或浏览器厂商认定 Comodo 不可信并将其从信任根列表中彻底删除,互联网上五分之一到四分之一的网站将立刻陷入瘫痪、无法访问。无论是普通网民还是 Chrome、Firefox 等浏览器厂商,都无法承担破坏四分之一互联网的代价,只能被动绑死在既有的信任选择上。 > “The truth is that somewhere along the line along the line we made a decision to trust Comodo, and now we are locked into trusting them forever.” —— Moxie Marlinspike 针对这一致命死结,Moxie 将现有 CA 体系的核心漏洞归纳为缺失了关键属性——**信任敏捷性(Trust Agility)**。一个健康的信任敏捷体系必须具备两个核心维度: ```mermaid flowchart TD accTitle: 信任敏捷性(Trust Agility)的核心维度 accDescr: 展示信任敏捷性的两大核心原则:可随时撤销修改信任,以及终端用户自主决定信任锚点。 TA["信任敏捷性<br/>(Trust Agility)"] subgraph Prop1["属性一:随时可修正信任决策"] P1A["今天信任某机构不等于永远信任"] P1B["若表现失职必须能够无痛撤销"] P1C["为机构持续保持守信提供外部约束动力"] end subgraph Prop2["属性二:终端用户锚定信任主体"] P2A["个人/浏览器自主决定信任来源"] P2B["摆脱网站管理员滞后决策的绑架"] P2C["适应全球化下千差万别的威胁模型与安全需求"] end TA --> Prop1 TA --> Prop2 ``` 1. **信任决策必须能够随时轻松修正(Trust decisions can be easily revised at any time):** 现实中并非不存在值得信赖的机构,但要求用户挑选出一个机构或一组机构,不仅现在信任它,还要在未来永远信任它,甚至在其失去公信力、没有任何机制激励其保持守信行为的情况下继续被迫信任,这完全是荒谬的。 2. **终端个体能够自主决定将信任锚定在何处(Individuals can decide where to anchor their trust):** 这种决定权应当掌握在每个终端用户或各个客户端浏览器手中,而不是交由网站管理员代劳。当下连推动网站全站部署 HTTPS 都举步维艰,指望网站管理员在证书受损时为了用户利益主动做出最佳抉择无异于天方夜谭。更重要的是,在日益全球化的环境中,根本不可能用一套放之四海而皆准的信任决策满足所有人——不同个体所处的地缘政治环境、威胁模型和信任偏好截然不同;最根本的一点在于,通信中承担隐私与安全风险的是终端用户的数据,而非网站管理员。 ### [027:52] 信任关系的反转与信任敏捷性 在探讨传统数字证书认证机构(Certificate Authority,简称 CA)体系的困境时,Moxie Marlinspike 提出,网络服务所承载的数据终究属于用户本身,因此决定信任哪个机构的权力理应交还给用户或浏览器端。他指出,让单个用户自行决定将信任锚定在何处,实际上是对现有认证逻辑的一种既简单又强有力的“反转”。在现行的三方交互(客户端、服务器、认证机构)模型中,信任关系始终由服务端发起:服务端向 CA 发起申请,CA 颁发证书,最后服务端在通信中将证书出示给用户。 Moxie 强调,若将该流程反转为由客户端发起——即用户主动询问自己认可的认证机构某网站的真实身份,认证机构核验后向用户反馈——就能从根本上化解作用域扩散(Scoping)带来的安全威胁。在反转模型下,即便美国国土安全部(DHS)获得了任意签发证书的能力,中国或世界其他地区的用户也完全可以不受影响,因为他们可以直接选择信任本地机构、非政府组织(NGO)或任意第三方。“我认为信任敏捷性的这两个组成部分非常强大,而且我认为它们正是当今 CA 体系所欠缺的,这也是我们所有问题的根源所在。” ```mermaid flowchart TD accTitle: 传统CA模式与客户端驱动反转模式对比 accDescr: 展示服务端发起信任与客户端发起信任两种架构的数据流动差异 subgraph Traditional ["传统 CA 模式 (服务端发起)"] S1["Web 服务器"] -->|"1. 申请证书"| CA1["CA 认证机构"] CA1 -->|"2. 颁发证书"| S1 S1 -->|"3. 出示证书"| C1["客户端 / 用户"] end subgraph Inverted ["反转信任模式 (客户端发起)"] C2["客户端 / 用户"] -->|"1. 请为我认证该站点"| CA2["用户选定的认证机构"] CA2 -->|"2. 探测/验证站点"| S2["Web 服务器"] CA2 -->|"3. 返回验证结果"| C2 end ``` ### [029:20] DNSSEC 的诱惑与实质:高度中心化的层级信任 针对安全社区近期热议的使用 DNSSEC 替代 SSL/TLS 真实性认证的提议,Moxie 进行了深入剖析。该方案的核心逻辑极为简单:网站管理员直接将 SSL 证书写入 DNS 解析记录中;当客户端发起访问时,DNS 查询响应不仅返回目标 IP,还一并附带该服务器的证书。由于整个 DNS 解析由 DNSSEC 进行数字签名,客户端便可确认证书的真伪,并与建立 SSL 连接时收到的证书进行比对。 这种设计在直觉上极具吸引力,因为大众往往把 DNS 等同于“分布式”(Distributed),在饱受 CA 中心化体制的压迫后,分布式听起来正是亟需的解药。然而 Moxie 剖析道,DNS 和 DNSSEC 真正分布式的仅仅是“信息”(各域名的记录分散在全球各区域),其底层的“信任”却完全是高度中心化且严格层级化的。这与现有的 CA 体系如出一辙——CA 体系中证书信息同样分散在各个 Web 服务器上,而信任却集中于少数根证书节点。 - 提案运作机制:将网站证书直接存入 DNS 记录中。 - 客户端校验:DNS 响应携带签名后的证书,与握手阶段收到的证书做比对。 - 概念混淆点:DNS 的信息存储是分布式的,但验证信任链是完全层级中心化的。 ### [031:14] DNSSEC 架构下的三层信任实体及其固有风险 仔细拆解 DNSSEC 的信任链条后,Moxie 列出了用户必须无条件信任的三类核心实体: 1. **域名注册商(Registrars):** 如果说 CA 机构的声誉已经令人担忧,注册商群体的操守则更为恶劣。“就我个人而言,我认为部署 DNSSEC 的第一步居然是在 GoDaddy 开个账户,这简直荒唐可笑。” 2. **顶级域名运营方(TLD Registries):** 管理 `.com` 和 `.net` 的是 VeriSign(威信),这并未跳出原有商业 CA 的利益圈;而管理 `.org`、`.edu` 或各类新奇后缀的机构,其治理委员会与管理团队不仅鲜为人知,在面对国家安全或商业利益时更难称得上具备崇高信誉。至于国家顶级域名(ccTLD),无论是因科技圈风潮而走红的 `.io`、`.cc`、`.ly`,还是 `.ru` 与 `.cn`,使用这些后缀都意味着必须将加密通信的命脉托付给对应的国家政权。依据电子前沿基金会(EFF)SSL 天文台(SSL Observatory)的拦截能力图谱,DNSSEC 实际上是将审查与解密权限直接合法拱手让给各国政府。 3. **根域名管理机构(ICANN):** 尽管 ICANN 一直致力于树立国际化非营利组织的形象,但它在法律实体上依然是一家位于美国加州的 501(c)(3) 非营利机构,受美国司法管辖。近期美国国会接连推动的 COPA(儿童在线保护法案相关修正)与 PROTECT IP 等监控与网络封锁法案表明,即便当下依靠民间阻击未能成法,未来一旦出台干涉性法规,ICANN 根本无从违抗。 Moxie 尖锐地总结道,DNSSEC 带来的并非进步,而是信任敏捷性的彻底倒退。在传统体系下,用户理论上还能通过配置强行将 VeriSign 从浏览器的根证书信任列表中剔除;但在 DNSSEC 框架中,没有任何人能够阻止 VeriSign 掌控 `.com` 和 `.net`,用户被强制要求“不仅现在信任他们,而且是永远信任”,彻底失去了撤销信任与制约机构作恶的筹码。 ### [035:01] 视角机制:基于多路径探测的 Perspectives 项目 为了寻找更理想的出路,Moxie 介绍了卡内基梅隆大学(CMU)学者 Dan Wendlandt、David Andersen 和 Adrian Perrig 提出的 **Perspectives** 项目。该方案最初发表于学术论文中,主张通过网络多路径探测(Multi-path Probing)为 SSH 与 SSL 提供身份真实性验证。其底层逻辑建立在“网络视角”(Perspective)之上:客户端在连入某个安全站点(例如 `paypal.com`)并收到证书时,若对其合法性存疑,可向分布于不同网络位置的中立机构(被称为公证节点/Notaries)发出询问。 公证节点收到请求后,会以普通浏览器的身份从自己的网络环境向目标站点发起连接并获取证书,随后将观测结果回传给客户端。客户端只要将本地接收到的证书与来自多个公证节点的证书进行比对,若内容一致,即可确认未遭受局域网络劫持或中间人攻击。用户无需依赖单一公证人,而是可以同时向遍布全球的多个节点发起交叉验证,从而构建起一个立体的“信任星群”(Constellation of Trust)。 Moxie 指出,利用网络视角的思路在本质上并非全新事物——传统 CA 验证域名所有权时,向网站管理员邮箱发送包含随机验证码的确认邮件,同样是利用了网络视角的连通性探测。Perspectives 的核心突破在于彻底反转了触发流程,把探测与背书的发起权从服务端交到了终端用户手中。尽管该项目最初发布的参考实现功能相对有限,但其设计思想为新一代去中心化认证提供了极其关键的范式启示。 ### [37:18](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2238s) Perspectives 系统的固有缺陷 早期的 Perspectives 方案虽然提出了基于公证人(Notary)从不同网络视角验证证书的思路,但其最初是针对自签名证书(Self-signed certificates)设计的,这导致它在实际应用中面临三大严峻挑战:完整性(Completeness)、隐私性(Privacy)以及响应速度(Responsiveness)。在完整性方面,由于其最初的设计目标仅限于验证自签名证书,它只能保护浏览器发起的首个网页主连接,完全无法覆盖背景加载的内容,例如图片、CSS 样式表和 JavaScript 脚本等;这意味着依靠原版的 Perspectives 根本无法彻底淘汰 CA 机构(Certificate Authorities)。 在隐私与响应速度方面,缺陷同样致命。用户每次发起安全连接,都必须另行连接公证人进行核验,这导致用户的全部浏览与连接历史都会泄露给公证人节点。此外,Perspectives 还饱受“公证人延迟”(Notary lag)的困扰:当用户向公证人询问诸如 paypal.com 的证书状态时,公证人连接目标网站并获取证书后会将其缓存,避免频繁向外发起到各站点的连接,仅以固定周期(例如每天一次)去轮询(Poll)这些站点,检查证书是否更新。一旦目标网站更换了证书,在公证人下一次轮询更新缓存之前的整个时间段内,公证人向客户端返回的所有验证结果都会是失效的。正如 Moxie Marlinspike 所总结的那样: > “The problem is that if a site did switch to a different certificate your responses from the notary would be invalid for the duration of the the poll interval.” ### [38:36](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2316s) Convergence 协议的设计与架构 为了克服 Perspectives 的缺陷,Moxie Marlinspike 构建了一套名为 Convergence 的全新系统,涵盖了全新的协议、客户端实现与服务端实现。首先,Convergence 彻底消除了公证人延迟:客户端在联系公证人时,会直接把自身收到的证书一同发送过去,这样公证人就无需进行任何周期性轮询,仅在本地缓存未命中(Cache miss)或缓存不匹配(Cache mismatch)时才向目标服务器发起真实连接。其次,在隐私保护上,Convergence 采用了两层机制:第一层是客户端本地缓存(Local caching),用户在公证人确认某张证书安全后将其缓存在本地,下次再访问同一站点且收到相同证书时,仅需比对本地缓存,无需再向公证人发送请求,从而避免了每次连接都泄露历史。 ```mermaid flowchart LR accTitle: Convergence 隐私跳板机制 accDescr: 客户端通过随机选择的跳板公证人建立 SSL 隧道,向目标公证人安全查询证书指纹,实现网络身份与查询目标的分离。 subgraph UserSide["客户端 (Client)"] Browser["Firefox 浏览器<br/>(Convergence 插件)"] end subgraph ProxyLayer["中继代理层"] Bounce["跳板公证人<br/>(Bounce Notary)<br/>知道'你是谁'<br/>不知道'你查谁'"] end subgraph NotaryPool["目标公证人集群 (Destination Notaries)"] N1["公证人 A<br/>(静态预共享密钥 SSL)"] N2["公证人 B<br/>(静态预共享密钥 SSL)"] N3["公证人 C<br/>(静态预共享密钥 SSL)"] end Browser -->|"SSL 隧道流量"| Bounce Bounce --> N1 Bounce --> N2 Bounce --> N3 classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px; ``` 为了彻底解决首次访问依然会泄露访问目标的问题,Convergence 引入了“公证人跳板”(Notary bouncing)技术。用户在其信任的公证人列表中随机选择一个作为跳板,并通过该跳板建立 SSL 隧道,转发至其他想要咨询的目标公证人。在这个架构中,跳板公证人只是一个单纯转发字节的哑代理(Dumb proxy),它知道连接者的 IP 身份,但由于隧道加密,它看不到任何查询内容;而接收查询的目标公证人知道所核验的目标网站,却完全不知道查询发起人是谁。客户端与各个目标公证人之间的 SSL 连接,则是通过在浏览器配置公证人时预设的静态预共享密钥(Static pre-shared keys)完成认证与加密。 - 消除公证人轮询延迟:客户端直接上报所见证书,公证人只在 Cache Miss 或证书不符时发起外部验证。 - 本地证书缓存保护:仅在首次访问安全站点或网站更换证书时才向公证人发包。 - 身份与内容完全解耦:跳板公证人知晓用户是谁但不知查询目标;目标公证人知晓查询目标但不知用户是谁。 - 静态预共享密钥验证:浏览器在添加公证人节点时就已导入其专用密钥,完全脱离传统 CA 体系对公证人自身的认证链条依赖。 ### [40:40](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2440s) 全面替代 CA 与信任敏捷性(Trust Agility) 在客户端形态上,Convergence 是一个 Firefox 浏览器扩展插件。安装后,其使用体验与原生 Firefox 几乎一模一样,唯一的可见改动是浏览器右上角出现了一个小巧的 Convergence 按钮。一旦点击启用,用户的浏览器就彻底与传统的 CA 体系断绝关系:包括页面主体及所有背景静态资源在内,系统完全忽略浏览器内置的 CA 根证书,原本鼠标悬停在网站图标(Favicon)上所显示的证书颁发机构信息,也完全被 Convergence 的公证信息所取代。 ```mermaid flowchart TD accTitle: Convergence 服务端可扩展架构 accDescr: REST 协议公证人支持网络视角、DNSSEC、本地签名及 EFF 观测站等多种验证后端,并采用共识机制判定。 Client["Convergence 客户端"] -->|"REST 请求"| Notary["公证人服务器 (Notary)"] subgraph Backends["可插拔验证后端 (Backends)"] NetPersp["网络多重视角 (Network Perspective)"] DNSSEC["DNSSEC 验证"] CASig["传统 CA 签名 (可选兼容)"] Observatory["EFF SSL 天文台 (SSL Observatory)"] end Notary --> NetPersp Notary --> DNSSEC Notary --> CASig Notary --> Observatory ``` 公证人服务端软件完全开源、免费,且资源消耗极低,任何人都可以自行部署。其核心是一个基于 REST 的通信协议,设计之初就具备高度可扩展性:除了默认的“网络多重视角”验证后端外,还可以挂接 DNSSEC 验证、EFF(电子前沿基金会)自愿运行的 SSL 天文台(SSL Observatory),甚至是传统的 CA 签名。在安全策略上,用户可以配置公证人信任阈值,系统默认要求必须达成共识(Consensus)。Moxie Marlinspike 强调这彻底逆转了 CA 体系的安全短板: > “And we're inverting that here where the more authorities that you have, the more notaries that you configure, the better off you are because it means that all of them have to be in cahoots to misbehave and intercept your SSL communication.” 此外,Convergence 赋予了用户完整的“信任敏捷性”(Trust Agility)。如果你不再信任某个公证人,直接将其从配置列表中删除即可,系统不会因此崩溃,也不会产生破坏性后果;你还可以随时替换为更值得信赖的节点。这带来了巨大的现实优势:现有的网站服务器端完全不需要做任何升级或变动,互联网无需经历漫长阵痛的迁移周期,只要在四大主流浏览器中内置 Convergence 即可宣告 CA 体系的终结。同时,“自签名证书警告”也随之消失,在 Convergence 体系下不再有 CA 签发与自签名的阶级之分,“证书就是证书,仅此而已”(Certificates are certificates, that's it)。 ### [43:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2624s) 现实局限与身份验证的未来 在阐述优势的同时,Moxie Marlinspike 也坦承了 Convergence 当前面临的两个主要实际问题:其一是著名的“花旗银行问题”(CityBank problem)。使用 Convergence 访问 cbank.com 时会弹出证书不受信任警告,原因在于花旗银行拥有多达数百张不同的 SSL 证书,分别部署在不同的 SSL 加速硬件上,导致公证人和浏览器每次连接获取到的证书都截然不同,这在行为上与遭受中间人攻击的表现完全一致。尽管这种极端案例在全网极为罕见,但也表明需要少数这类机构规范自身的运维实践,停止无序混用大量不同证书的做法。 第二个问题是机场、酒店等场所常见的强制网络门户(Captive portals)。用户在公共 Wi-Fi 下被重定向到需要输入信用卡或认证信息的强制门户页面时,由于网络此时尚未放行出站的外网流量,Convergence 无法与外部公证人通信,用户目前只能暂时手动关闭 Convergence 来完成认证。不过,绝大多数强制门户都会放行基础的 DNS 流量,未来的解决方案是构建一个基于 DNS 协议承载的 Convergence 传输层,即可无缝穿透局域网限制。 演讲最后,Moxie Marlinspike 提到相关软件已在 convergence.io 正式发布测试版(Beta),欢迎大家下载试用并自行搭建公证人节点。对于安全领域的从业者与研究人员,他在离场时抛出了一个审视未来所有身份真实性架构的核心判断准则: > “Whenever someone is proposing another authenticity system I think the question that we should all ask is who do we have to trust and for how long? If the answer is a prescribed set of people forever, proceed with caution.” ## Notable quotes > [43:44](https://www.youtube.com/watch?v=UawS3_iuHoA&t=2624s) Whenever someone is proposing another authenticity system I think the question that we should all ask is who do we have to trust and for how long? If the answer is a prescribed set of people forever, proceed with caution. — Moxie Marlinspike ## Mentioned Moxie Marlinspike, Netscape, Kip Hickman, Comodo, SSLsniff, SSLstrip, Convergence, Perspectives, VeriSign, GeoTrust, StartCom, Mike Zusman, Eddie, Ivan Ristić, Dan Wendlandt, David Andersen, Adrian Perrig, EFF (Electronic Frontier Foundation), EFF SSL Observatory, DNSSEC, ICANN, GoDaddy, Firefox, Chrome, Citibank, RSA, Hak5 ## Video description Moxie Marlinspike - SSL And The Future Of Authenticity In the early 90's, at the dawn of the World Wide Web, some engineers at Netscape developed a protocol for making secure HTTP requests, and what they came up with was called SSL. Given the relatively scarce body of knowledge concerning secure protocols at the time, as well the intense pressure that everyone at Netscape was working under, their efforts can only be seen as incredibly heroic. But while it's amazing that SSL has endured for as long as it has, some parts of it -- particularly those concerning Certificate Authorities -- have always caused some friction, and have recently started to cause real problems. This talk will examine authenticity within SSL, shed new light on the current problems, and cover some new strategies for how to move forward. [Source](https://www.youtube.com/watch?v=UawS3_iuHoA)

Source quotes

[43:44] Moxie Marlinspike: Whenever someone is proposing another authenticity system I think the question that we should all ask is who do we have to trust and for how long? If the answer is a prescribed set of people forever, proceed with caution.

Source quotes

[43:44] Moxie Marlinspike: Whenever someone is proposing another authenticity system, I think the question that we should all ask is: who do we have to trust and for how long? If the answer is a prescribed set of people forever, proceed with caution.

Original transcript

[0:00] uh okay so there's a well-known problem [0:03] for speakers at conferences like these [0:05] um you know Devon's a big place people [0:08] are spread out uh people are still [0:09] coming and going and you know at the [0:11] beginning of your talk um probably [0:12] there's still people coming in everyone [0:14] hasn't really made it yet uh and so what [0:16] speakers do is they try and start slow [0:19] so that nobody misses any of the [0:20] interesting stuff uh so you know they'll [0:22] start with a tedious bio about their [0:24] background or go into the you know the [0:27] history of the problem that they're [0:28] going to be talking about but but um I [0:30] don't really I don't really like that [0:31] stuff so I want to try something a [0:33] little different where I'm just going to [0:34] tell for the first 3 minutes here a [0:37] completely unrelated totally random [0:40] story that has nothing to do with [0:41] computer security or this [0:46] talk here he goes story goes like this [0:51] um okay so just after I'd gotten out of [0:53] high school uh me and some friends uh [0:55] had this hair brain schemed where we [0:57] thought that we were going to travel to [0:59] the Caribbean be in find an uninhabited [1:01] Island and like colonize [1:06] it yes I know I blamed the edsc on my [1:09] youth uh so uh you know this was you [1:13] know a long time ago and back then [1:14] driving was cheaper than flying so uh we [1:17] drove all the way to Miami before [1:19] getting on an airplane for a short [1:21] flight into the Caribbean where we tried [1:22] to find a boat [1:24] Etc um and it didn't really work out [1:27] obviously uh we were very hungry hungry [1:31] um and so then you know on the way back [1:34] we were driving back up north through [1:35] Florida uh you know feeling somewhat [1:37] defeated and uh we decided to uh stop [1:40] for lunch at some point and we actually [1:42] wanted to you know stop and get out of [1:43] the car so we we saw this like kind of [1:45] TexMex type restaurant you know the kind [1:47] of place with like chips and you sit [1:49] down that kind of thing so uh you know [1:51] we stopped and we got out of the car and [1:52] we started walking towards this [1:53] restaurant and you know through the [1:55] parking lot about halfway there uh I was [1:57] with two friends and and one of them [1:59] realized that he' left something in the [2:00] car or that he'd left it um unlocked or [2:02] something like that so he turned around [2:04] and went back to the car while my other [2:05] friend and I went into the restaurant [2:07] and when we got into the restaurant we [2:09] caught the end of their birthday ritual [2:12] uh you know every I feel like these [2:13] restaurants all have their own sort of [2:15] unique birthday ritual they have like a [2:17] special song or something that they sing [2:18] when people come out and so we caught [2:20] the end of theirs and it was the [2:21] strangest thing I've I've ever seen in a [2:24] restaurant um so they came out you know [2:27] singing and there's two waiters and uh [2:29] one of them stood in front of the woman [2:31] whose birthday it was with a little like [2:33] um saucer you know plate type you know [2:36] almost like you put a a teacup on it [2:38] with just a little dab of whipped cream [2:40] on it and a spoon and held it in front [2:42] of her and asked her to close her eyes [2:44] and open her mouth as if he was going to [2:46] feed her this whipped cream meanwhile [2:49] there was another waiter standing behind [2:51] her with a full pie tin full of whipped [2:55] cream and she closed her eyes and opened [2:57] her mouth and the dude reaches around it [2:58] just slams her in in the face with the [3:02] with the whipped cream you [3:04] know I mean this lady's shocked you know [3:06] it's her birthday she's dressed up she [3:08] just gets like a pie to the face you [3:09] know no warning at all and uh and so my [3:13] friend and I are standing there like you [3:16] know looking at this you know mouths [3:17] open and uh my other friend is still at [3:21] the [3:27] car so see you know my friend who [3:29] standing there looks at me he says hey [3:30] um I think it might be Jack's birthday [3:33] [Music] [3:34] today so you know we come in and we sit [3:37] down and I surreptitiously during the uh [3:40] meal get up and go and talk to the [3:41] waiter I'm like hey you know it's my [3:43] friend's birthday today I don't know if [3:44] you do anything [3:46] here and he's like oh yeah we got a [3:48] thing we do you know we you know we'll [3:50] come out and so I was like great you [3:51] know I go and sit back down we're [3:52] waiting eventually you know they come [3:53] out singing the song and everything and [3:56] uh you know our friend is looking a [3:57] little bit bewildered you know and he he [4:00] later confessed that he thought um uh [4:03] that we had told them that it was his [4:05] birthday so that we could get like free [4:06] cake or something like that so he starts [4:08] you know willingly playing along and uh [4:11] they put a little hat on him and then [4:12] sure enough they they do the thing where [4:15] they you know hold the the little dab of [4:16] whipped cream in front of him and closes [4:19] his eyes he opens his mouth and the dude [4:21] reaches around behind him just slams him [4:22] in the face and you know I knew this was [4:25] coming so I had one of those disposable [4:27] uh cameras you know that you used to use [4:29] a back then you know and I had it under [4:31] the table was all ready and so I got [4:32] them [4:35] right right at the moment you know just [4:39] it's just the look on his face is just [4:42] pure shock [4:44] you all right anyway I hope that was [4:48] more interesting than a three minute you [4:50] know description of my background um [4:54] okay let's talk about uh SSL on the [4:57] future of [4:58] authenticity uh really this talk is [4:59] about trust and I want to start this [5:02] talk out uh with another story uh it's [5:04] kind of a downer but I feel like it's [5:06] illustrative of the situation that we're [5:08] in and the story uh is about a company [5:10] called [5:11] kodo um there are a certificate [5:14] Authority and uh according to Netcraft [5:16] they certify somewhere between a quarter [5:18] and a fifth of the certificates on the [5:20] internet today so they're the second [5:21] largest certificate Authority in the [5:22] world and um in March of this year they [5:26] were [5:27] hacked um the attacker was able to make [5:30] off with a number of certificates um you [5:32] know mail.google.com uh login. yahoo.com [5:36] Skype uh basically everything that the [5:38] attacker would need to intercept um [5:40] login credentials to uh all of the [5:43] popular web mail providers and a few [5:45] other services uh and so immediately [5:47] after the attack the founder and CEO of [5:50] Komodo issued a statement where he said [5:52] uh this attack was extremely [5:54] sophisticated and critically executed it [5:56] was a very well orchestrated clinical [5:58] attack and the attacker knew exactly [6:00] what they needed to do and how fast they [6:01] had to operate he went on to add that [6:03] all of the IP addresses involved in the [6:05] attack were from [6:07] Iran you know what this means [6:13] cyber but he didn't leave it at anyo he [6:16] actually spelled it out he said all of [6:17] the above leads us to one conclusion [6:19] only that this was likely to be a stat [6:21] driven attack so he's painting a pretty [6:23] complete picture for us here right this [6:25] isn't just a hack You Know This Is War [6:28] and who is to blame kodo for falling [6:29] under the Full Assault of a you know a [6:32] state sponsored invasion you know from a [6:34] cyber [6:35] Army um and so ironically it was these [6:37] statements that really catapulted the [6:39] story out of the trade press and into [6:41] the mainstream media and so a number of [6:43] reporters uh called me and they all had [6:44] the same question you know what does [6:46] this mean what can this attacker do and [6:48] I said well you know it means they can [6:49] intercept communication to these [6:51] websites and uh the reporters would say [6:53] well well how you know how would they [6:55] use these certificates to do that and I [6:57] would say well you know I think this [6:58] commercial solution you know the blue [7:00] code and a few other you know kind of [7:02] scary U interception devices out there [7:05] and I was talking to one reporter who [7:06] asked she said no what is the easiest [7:09] way what is the most straightforward way [7:10] that an attacker would leverage these [7:12] certificates and I thought about it and [7:14] I said well you know the attacker could [7:16] just use SSL sniff which was a tool that [7:18] I wrote to perform Man and Mill attacks [7:20] against SSL [7:21] connections um now interestingly enough [7:24] uh when kodo uh published their incident [7:26] report they also uh published the IP [7:29] address of the attacker which is [7:30] somewhat unusual uh but I think they [7:32] were doing this to you know sort of [7:33] underscore the Iran Iran Iran Iran thing [7:36] you know because this is the IP [7:37] addresses registered to a uh a block in [7:40] Iran and so you know I was thinking [7:42] about that reporter's question you know [7:44] you know SSL Sniff and all that stuff [7:46] and so you know I thought well I wonder [7:48] so I went and I looked at my web logs [7:50] for my web server where I host [7:56] [Music] [7:58] SSL and sure enough the day the morning [8:01] after the attack the same IP address [8:04] that kodo had published downloaded SSL [8:07] sniff from my [8:09] website now there's some other [8:11] interesting things in here first of all [8:12] the attacker is running [8:15] Windows and also interestingly the [8:17] attacker's web browser is localized to [8:20] us English [8:22] H but the most interesting thing was the [8:25] refer so I went back through my web [8:27] blogs and I found the point that the [8:28] attacker you initially made a connection [8:30] with my website so that I could see that [8:32] the website that they had been that they [8:33] had visited before uh and so the referer [8:37] was a hack five [8:42] video on using SSL [8:45] strip for those of you who don't know [8:47] hack five is sort of like um it's like a [8:49] set of video tutorials that are pretty [8:51] introductory uh material for you know [8:53] people that are just getting interested [8:54] in this kind of [8:56] thing so just to break this down for you [8:58] on one hand [9:00] we have the CEO Koto just saying this is [9:05] a clinical attack and on the other hand [9:06] you know we see that the attackers [9:07] literally following video tutorials on [9:10] the [9:12] internet I mean maybe that was a great [9:14] video I don't know I I haven't watched [9:16] it yet it could have turned him into a [9:17] clinical attacker I'm not sure um and [9:21] then there were a number of other sort [9:22] of embarrassing uh searches that led [9:25] them to the my same website and again [9:26] and again throughout the day so I saw I [9:28] caught the Google search for First which [9:29] were things like SSL protocol man INE [9:32] middle howto IP tables pre- routing [9:35] apparently he was having some trouble uh [9:37] setting up their IP [9:39] tables so I was kind of chuckling about [9:41] this to myself you know and then the [9:43] attacker posted a [9:44] communic and it could not have been more [9:47] embarrassing I mean he alternated [9:49] between making these grandiose [9:50] impossible claims about how he's hacked [9:53] RSA and all this stuff uh while [9:55] simultaneously very proudly declaring [9:57] that he's capable of doing extremely [9:59] things like you know he can export [10:01] functions from dlls and create his own [10:03] soap bis and stuff like that so this [10:06] could not could not have been more [10:08] embarrassing for really anybody involved [10:09] uh you know the attacker Komodo you know [10:13] um and but what was worse is he just [10:15] wouldn't shut up he just kept posting [10:17] communic each one more embarrassing than [10:19] the last and um I think he posted six in [10:22] total he also did interviews with the [10:24] press and all this stuff it was [10:25] ridiculous um and so the the kodo CEO [10:28] and founder uh responded to these events [10:32] uh by making a statement where he said [10:33] If This Were a secure and dress to DNS [10:36] this issue would be a Mot point [10:37] Exclamation point we need a secure and [10:39] trusted DNS exclamation point so this [10:42] guy has just very enthusiastically [10:45] declared that he does not understand the [10:46] business that he's [10:49] in on one hand he's uh seems to be [10:51] suggesting that uh DNS tampering is the [10:53] only way to perform a man- in- the- [10:54] middle attack which is just not true and [10:57] on the other hand even if that were true [10:59] the reason that we have SSL certificates [11:02] is to stop man- INE middle attacks if [11:04] man- INE middle attacks weren't possible [11:06] we wouldn't need the certificates that [11:08] he's selling [11:11] us um later that month uh they got [11:14] hacked two more times and the next month [11:17] they got hacked [11:19] again now you know normally I wouldn't [11:21] take this much time to be uh so critical [11:23] of a company like kodo but I I think [11:26] it's an interesting story because I [11:27] think there's an interesting question [11:28] here which is what happened to kodo you [11:31] know after all of this it couldn't have [11:32] been more embarrassing could not have [11:33] been worse really you know what happened [11:35] to [11:36] them [11:38] nothing their business didn't suffer [11:40] they didn't lose customers they didn't [11:42] get [11:43] sued you know really the only thing that [11:45] happened to kodo uh this year was uh [11:47] they were the CEO was named entrepreneur [11:49] of the year at the RSA [11:55] conference and so I think that this is [11:57] the the essence of the problem [11:59] that we're looking at you know this is [12:01] the problem with uh SSL today so let's [12:04] let's take a moment and just sort of [12:05] step back and uh look generally at [12:08] secure protocols any secure protocol [12:10] needs to provide three things secrecy [12:12] integrity and authenticity it it has to [12:15] provide all three if one of these fails [12:17] the whole protocol will fall apart uh [12:19] but we need to remember that SSL which [12:22] is a secure protocol and it's trying to [12:23] meet these objectives uh was designed in [12:25] the early 90s um and things were [12:29] different there you know there there [12:30] wasn't a lot of information available on [12:33] how to design a secure protocol you know [12:35] books like applied cryptography had not [12:37] been published yet um you know if you [12:38] wanted to use RSA the algorithm you had [12:41] to license the patent from RSA the [12:43] company you had to pay money in order to [12:45] just even you know perform these type [12:47] this type of cryptography um e-commerce [12:49] didn't exist the idea of transmitting [12:51] your credit card number over the [12:53] internet was totally foreign uh there [12:55] were no such thing as web applications [12:56] really um you know people weren't really [12:58] transmitting their login and password [13:00] credentials uh through websites and the [13:02] internet itself was Tiny uh you know in [13:05] '94 according to ISC there were less [13:07] than 5 million hosts on the entire [13:08] internet compare that to today where you [13:11] know we're about to run out of public [13:12] facing IP addresses at more than 4 [13:14] billion or at 4 [13:16] billion um you know at the time there [13:18] probably less than 10 secure sites that [13:20] you could think of less than 10 sites [13:22] that for some reason you wanted traffic [13:25] to be encrypted to these websites [13:27] whereas today they're more than 2 m [13:29] million certificates on the internet [13:31] more than 2 million sites that are using [13:33] SSL at the same time you know it's worth [13:36] remembering that SSL was developed at [13:37] Netscape and this was an environment of [13:39] really intense pressure um you know the [13:42] game the race was really on then and [13:43] this is the same place where a series of [13:45] 400 a.m decisions gave us [13:48] JavaScript and we're we're still dealing [13:50] with that [13:51] today so you know actually when you look [13:54] at it the designers of SSL were actually [13:57] pretty heroic you know they didn't have [13:58] a lot to work with with and they were [14:00] working in circumstances that are [14:01] totally different than our circumstances [14:03] today um and yet it served us pretty [14:05] well um you know when it comes to these [14:07] first two things secrecy and integrity [14:09] they did okay there have been some [14:10] problems and there's still some problems [14:12] but um you know the the the piece that [14:15] has always caused some real fune is now [14:17] causing real problems is the [14:18] authenticity piece now authenticity is [14:20] important of course because you know [14:22] normally if you establish a secure [14:24] session with a website the problem is [14:26] that if you don't have authenticity [14:27] someone could have intercepted your [14:29] connection to that website they [14:30] establish a secure session with you they [14:32] make their own secure session with the [14:33] website and just shuttle data back and [14:35] forth logging it in between but you know [14:39] what's easy to forget is that this [14:40] attack a man-in-the-middle attack was [14:42] entirely theoretical in '94 or 95 you [14:46] know the Network Tools didn't exist this [14:47] wasn't the kind of thing that was [14:48] actively happening this is thought of as [14:50] like an academic thing you know it's [14:52] like oh well there's this other thing [14:53] called The Man in the middle attack and [14:55] you know we need to design something you [14:56] know theoretically to prevent against [14:57] that and so um the designers came up [15:01] with a solution that was certificates [15:02] and certificate authorities uh where [15:04] every site has a certificate and you [15:06] know it's known to be uh authentic [15:08] because it's assigned by certificate [15:09] Authority which is you know just some [15:11] organization that we've decided to trust [15:13] so you know I had this hypothesis that [15:15] um you know that we've outgrown the [15:18] outgrown the circumstances in which SSL [15:20] was originally imagined and that this is [15:22] a different world today and then I [15:23] thought well I wonder if that's true you [15:24] know I wonder what they were actually [15:26] thinking and so I thought well I should [15:27] talk to the people that designed SSL and [15:30] so I did some research and um I figured [15:32] out that SSL was originally designed by [15:34] this guy Kip Hickman uh who was a ncape [15:36] employee um back in the day and the last [15:39] thing that Kip Hickman posted to the [15:41] internet was in [15:44] 1995 so uh it was difficult to find him [15:47] you know I talked to some people at [15:47] Netscape who like pointed me in the [15:49] right direction and eventually I tracked [15:50] him down and I basically just cold [15:52] called him and you know I talked to him [15:54] on the phone and he was a great guy and [15:57] uh you know you know he's like oh SSL [16:00] yeah I haven't thought about that in a [16:01] long [16:03] time like wow okay you know and he's [16:06] like he's like oh yeah you and I was [16:07] like so certificate authorities what's [16:09] the deal he's like oh that whole [16:10] authenticity thing he's like yeah we [16:12] just threw that in at the [16:14] end he's like you know SSL it was never [16:17] designed we were designing it to prevent [16:18] passive attacks for the most part you [16:20] know we heard about this thing the man [16:21] in the middle attack and so we just sort [16:22] of threw that in at the end he's like [16:24] really that whole thing with [16:25] certificates you know it was a bit of a [16:26] hand wve [16:29] it's like we didn't think it was going [16:30] to work we didn't know you know um and [16:33] you know like the idea back then you [16:35] could you could say made sense right you [16:36] know if you look at the uh number of [16:39] domain names on the internet you know [16:40] back in '94 when that number the graph [16:42] is approaching zero you know it makes [16:44] sense that okay maybe you have 10 sites [16:46] that you could identify as as secure [16:49] sites and so you have one organization [16:50] that just looks at those 10 sites really [16:52] carefully and you know makes a decision [16:55] and signs those certificates but you [16:57] know if you try and scale that up over [16:59] time you know today to to today when [17:01] there's almost a billion dominans on the [17:02] internet and ideally we'd like all of [17:04] them to be secure um it seems a little [17:07] bit unrealistic to think well we're [17:08] going to have an organization or even a [17:09] set of organizations that's going to [17:11] look you know appropriately closely at [17:14] all of these domain [17:15] names and when I asked uh Kip about how [17:18] he saw the scaling over time he's like [17:19] oh scaling we didn't really think about [17:20] it he's like you got to remember at the [17:22] time when this was designed Yahoo was a [17:25] web page with 30 links on it it's like [17:28] that's what yaho was I like oh okay yeah [17:30] that's different um and history has [17:33] really borne this out uh Ivan ristic put [17:35] together a nice little threat Matrix of [17:37] you know all of the possible uh problems [17:39] with SSL that have cropped up uh in the [17:41] past and you know up over here in this [17:43] corner you see some of the problems with [17:45] secrecy and integrity that have come up [17:47] but you know it's managed to sort of [17:48] squeak by and down here there's some of [17:50] the problems with the you know user [17:52] interaction these are things like SSL [17:53] strip um but in terms of the protocol [17:56] itself this stuff up here with the auth [17:58] authenticity piece has been where all [18:00] the real problems are and I think you [18:02] know looking back at the Komodo thing [18:04] you know the lesson from these events [18:06] shouldn't be that this was cyber War [18:08] because I think pretty clearly it wasn't [18:11] um but that this is happening every day [18:13] you know that's the real story uh you [18:15] know one of these domains the attacker [18:17] got login. live.com I mean you know we [18:20] should remember that Mike zusman got [18:21] this just by asking for it you know he [18:23] didn't have to export functions from [18:25] dlls or create his own soap bpis or [18:28] whatever you know he just sent in a [18:30] request you know Eddie got [18:32] mozilla.com with no validation at all [18:34] just asked for it um ver sign issued a [18:36] code signing certificate for Microsoft [18:38] Corporation to attackers that are still [18:40] unidentified you know they were never [18:42] they were never discovered I mean this [18:44] kind of thing happens all the time just [18:45] recently I needed to get a an SSL [18:47] certificate so I went to this website [18:49] SSL andab box.com you know straight to [18:52] the bottom of the barrel and uh you know [18:55] I it's one of these things where you [18:57] have to like create an account in order [18:58] to you know submit anything so I go to [19:00] create the account and when I click you [19:02] know create it just logged me into [19:03] someone else's [19:05] account it's like the that was broken [19:07] you know and I was like well you [19:09] know I'm not even trying to hack this I [19:10] just want a certificate you [19:13] know so you know I logged out and I like [19:15] create you know tried to create an [19:16] account and it logged me into someone [19:17] else's account and every time I did it I [19:19] just got a different account you know I [19:20] just like and the thing is it's like I [19:22] didn't even bother emailing them about [19:23] it because you know I'm I'm sure that [19:25] they don't even care right um you know [19:28] there's this this certificate Authority [19:29] that published the key to their [19:32] certificate in the [19:34] public directory of their web [19:39] server this is a certificate Authority [19:42] and the thing is like you could you [19:43] could kind of I mean not really but you [19:46] might be able to understand how it's [19:48] possible that someone could have made [19:49] this [19:50] mistake but it's still [19:53] there you know it's not like they like [19:55] were like oh crap you know and like [19:56] removed it what it's since [19:59] 2009 the key to the certificate has been [20:03] available for the [20:04] public um you know starcom recently got [20:07] hacked we don't really know what [20:08] happened and um you know you don't even [20:10] have to hack anybody like if you got the [20:12] money you can just buy a certificate [20:13] Authority uh you can get a caert from [20:16] geot trust I think it's 50 Grand anybody [20:18] has 50 Grand to spend get your own caert [20:20] intercept all the communication on the [20:22] internet I I really like their [20:24] iconography in the top right corner [20:27] because it really is you know like we're [20:28] giving you the key to the [20:31] world you know they're not they're not [20:33] hiding [20:34] anything um and what if this were a [20:37] state sponsored attack this whole Komodo [20:39] thing you know I think it's worth [20:41] realizing that the only reason that Iran [20:44] would have to hack a certificate [20:46] Authority in order to order in order to [20:47] issue certificates is because they don't [20:49] have a certificate authority of their [20:50] own but you know many other countries do [20:54] um the eff put together an excellent [20:56] project called the SSL Observatory where [20:57] they scan the internet [20:59] and um they put together a map of all [21:01] the countries in the world that are [21:02] currently capable of issuing [21:04] certificates and thus intercepting [21:05] secure communication and it looks like [21:07] this I mean I don't know if you can see [21:09] but way out in the middle of the [21:11] Atlantic there there's a little little [21:13] red Speck that's Bermuda Bermuda can [21:17] issue [21:18] certificates uh so I think the good news [21:20] is that the vibe around this sort of [21:22] thing seems to be shifting um from the [21:24] old Vibe of total ripoff which I think [21:27] was just the general perception of [21:28] certificate authorities to the new Vibe [21:30] of total ripoff and mostly [21:33] worthless um but so there's been a lot [21:35] of talk about you know moving forward [21:38] and replacing certificate authorities [21:39] with something else but I think that if [21:40] we're going to do that uh it makes sense [21:42] to really accurately identify the [21:44] problem and um you know figure out what [21:47] it is that we're trying to solve so that [21:48] we don't end up in the same situation [21:50] again um [21:53] now there have been I think a few sort [21:56] of General perceptions of what the [21:58] problem might be um the first is people [22:02] look at the E SSL Observatory data so [22:04] the E scann the internet and they put [22:06] together a graph of all of the [22:08] organizations in the world that are [22:09] currently capable of signing [22:13] certificates and it's a lot of [22:15] organizations uh in fact it's 650 [22:18] different organizations are currently [22:19] capable of intercepting communication uh [22:22] and so I think one simplistic reaction [22:24] to this is just to say well the problem [22:25] is that there's too many certificate [22:27] authorities there's just too many of [22:28] them what we need is fewer certificate [22:30] authorities but I you know I feel like [22:32] this might be a little simplistic uh you [22:34] know like for instance remember when [22:35] there was only one and they could charge [22:38] as much and do really whatever they [22:40] wanted uh and if part of the problem [22:42] here is really a scaling issue where [22:44] we've gone from maybe 20 secure sites to [22:46] 2 million secure sites and ideally we'd [22:48] like a billion secure [22:49] sites you know it seems like less is not [22:52] really the answer right if anything we [22:53] would want more organizations that are [22:55] capable of being on the ball [22:56] here another uh kind of General [22:59] perception is that there's just a few [23:00] bad apples that most of the certificate [23:03] authorities are cool and there's just a [23:05] few certificate authorties that have [23:07] have uh you know given the whole thing a [23:08] bad rap for everybody else but you know [23:11] I also I don't know if this is true I [23:12] think that if you look closely there's [23:14] there's really nobody here that does not [23:16] have dirt on their hands you know even [23:17] veras sign back when they were the only [23:18] game in town um at the same time that [23:20] they had a business issuing certificates [23:22] and securing communication had another [23:25] section of their business where they [23:26] were managing so-called lawful intercept [23:28] services for governments you know so the [23:32] same organization that we had entrusted [23:33] to secure our communication was also [23:35] simultaneously making money by [23:37] intercepting secure communication and I [23:39] think if you look closely there's really [23:40] nobody here that that uh isn't similarly [23:44] distressed um another idea is that it's [23:47] a scoping issue right that the problem [23:48] is that uh the authorities are all in [23:51] the same scope so for instance today two [23:54] authorities who can sign certificates [23:56] and thus intercept secure communication [23:57] on the internet are the department of [23:59] hel security and the state of China uh [24:02] and so this this idea well the problem [24:03] is that the DHS can sign Chinese sites [24:05] and China can sign us sites and really [24:07] if we just separated the scope and you [24:10] know China could only sign sites in [24:12] China and the department of H security [24:13] could only sign sites in the United [24:15] States everything would be cool and [24:17] while this might be an improvement I [24:18] feel like it's kind of a low bar um I [24:21] think there are plenty of people in [24:22] China that probably don't trust the [24:24] state of China to certify sites even [24:26] within their country and likewise I [24:28] think like there are plenty of people in [24:29] the United States who don't trust the [24:30] department of H and security to be [24:32] certifying their communication [24:35] either so in order to answer this [24:37] question of you know what is the problem [24:39] I think it's a good idea to look back at [24:41] this the first question what happened to [24:43] kodo um will nothing happen to Komodo [24:47] but why why did nothing happen you know [24:49] what could we have done if I decide that [24:51] I don't trust kodo and I don't the very [24:55] best thing that I can do is remove them [24:57] from the trust database in my web [24:58] browser I could say okay they are no [25:00] longer a trusted Authority the problem [25:02] is that if I do that somewhere between a [25:04] quarter and a fifth of the internet just [25:06] disappears totally breaks I can't visit [25:09] those sites anymore and sure I could [25:11] take an ideological stance to never [25:13] visit those sites again because they're [25:14] mixed up in the kodo cabal of whatever [25:18] um but really there's no appropriate [25:19] response and the thing to remember is [25:21] that this is as true for browser vendors [25:24] as it is for you or me you know a [25:26] browser vendor cannot remove kodo from [25:28] from their trust database um because [25:30] they're just going to be breaking [25:31] somewhere between a quarter and a fifth [25:32] of the internet for all of their users [25:34] they're in the exact same situation that [25:35] you and I are the truth is that [25:38] somewhere along the line along the line [25:39] we made a decision to trust [25:41] Komodo and now we are locked into [25:44] trusting them [25:46] forever and I think that this is the [25:49] essence of what we're looking at today [25:52] that uh we can void on all the problems [25:55] that we've had to with certificate [25:56] authorities to a single missing property [25:58] and I call this Property Trust [26:01] agility the idea is that trust agility [26:04] provides two things one that a trust [26:07] decision can be easily revised at any [26:09] time that I you know there are plenty of [26:10] people that say oh Moxy don't trust [26:13] anybody but that's not true I mean there [26:14] are plenty of organizations that I could [26:16] identify today that I trust to secure my [26:19] communication for me you know um but [26:21] what seems insane is to think that I [26:24] could identify an organization or set of [26:27] organizations that I would be willing to [26:28] trust not just now but forever [26:31] regardless of whether they continue to [26:33] Warrant my trust and without any [26:34] incentive to continue behaving in a [26:36] trustworthy [26:37] way the second property of trust agility [26:40] is that individuals individual users can [26:42] decide where to Anchor their trust and [26:44] this could be the same thing as saying [26:45] individual browsers can decide where to [26:46] Anchor their trust um and I think this [26:49] is important you know right now there's [26:51] this idea oh there's a scoping problem [26:52] you know that uh veras sign and commod [26:54] are in the same scope and that well if [26:56] we just separated the Scopes uh then if [26:59] verisign did something particularly [27:01] egregious um you know a site like [27:03] Facebook could switch to a different [27:05] certificate Authority and this would [27:07] actually have some significance because [27:09] verisign would be unable to continue [27:10] signing certificates for Facebook which [27:12] is currently not the case but you know I [27:16] think you know if it's been a struggle [27:18] to get websites to deploy https or SSL [27:22] um to begin with it seems a little bit [27:24] far-fetched to think that they're going [27:25] to continue making really active [27:27] decisions in our best interests and [27:30] what's worse in this increasingly [27:31] globalized World it doesn't seem like [27:33] there's really it's really possible to [27:36] make one trust decision for everybody uh [27:38] that you know different people live in [27:39] different contexts with different [27:40] threats and you know have have different [27:43] needs and and probably trust different [27:45] individuals and so you know what's more [27:47] it's our data it's our data that's at [27:50] risk here not the site administrator not [27:52] the company that's you know operating [27:54] this web service it's the users data and [27:56] I feel like it should be the users or [27:57] the browsers who could decide um you [28:00] know who to [28:01] trust this this property that individual [28:03] users decide where they can anchor their [28:05] trust is really just a simple but [28:07] powerful inversion of the way that [28:08] things already work you know currently [28:10] there's three entities involved in any [28:12] one of these transactions you know [28:13] there's the client the server and the [28:16] authority and that this trust [28:17] relationship is initiated by the server [28:20] the server you know talks to an [28:21] authority and says hey please certify me [28:24] the authority responds with a [28:26] certificate that is eventually given [28:28] back back to the user through the site [28:30] and you know what we're talking about [28:31] here is just doing a simple inversion [28:33] where it's the user or the client that [28:35] initiates this trust transaction and [28:38] talks to the authority the authority and [28:40] says please certify this site for me the [28:42] authority certifies that site and [28:44] responds back to the user the reason [28:45] this is so powerful is because now this [28:47] means it could be the user can decide [28:48] what Authority they need to talk to [28:50] which means this issue of scoping is not [28:52] such a big deal right the fact that the [28:53] department of heland security can sign [28:55] sites you know uh in China uh it's not [28:58] an issue because users in China will [29:00] just ignore it and talk to some Chinese [29:02] Authority or they might decide they [29:03] don't trust China either and they talk [29:04] to some NGO or something else instead I [29:07] think that these two components of trust [29:10] agility are um really powerful and I [29:13] think that they are exactly what's [29:15] missing uh from the ca system today and [29:18] and that is where all our problems uh [29:20] have have come from so I want to take a [29:23] few minutes to talk about dnsc uh [29:25] because there's been a little bit of [29:26] talk recently about us using DNS sec to [29:29] replace the authenticity piece of [29:33] SSL and the basic idea is this you take [29:36] your SSL certificate on your site and [29:39] you shove it in your DNS record that's [29:41] basically the gist of it so you have a [29:43] CT you put in your DNS record that way [29:44] when a client goes to contact a site it [29:46] does a DNS lookup it gets back a DNS [29:48] response with not only the IP address [29:50] but also the the server certificate [29:52] embedded in the DNS response that way [29:55] when they connect to the server they [29:56] just make sure that the certificate they [29:57] see is the same same thing they got in [29:58] the DNS response and this thing is known [30:00] to be authentic because it's signed [30:02] because we're using DNS [30:04] SEC now this scheme has a really [30:07] immediately kind of visceral appeal um [30:10] and I think it's because people tend to [30:12] mentally associate DNS with the word [30:15] distributed and distributed sounds [30:17] really good right now you know it sounds [30:19] like exactly what we need after [30:21] suffering under the centralized yoke of [30:23] certificate authorities for all these [30:25] years it would feel good to just wipe [30:27] them off the page and replace them with [30:28] a distributed system [30:30] instead um but when you start to look [30:32] closely at it the way that DNS works and [30:34] DNS SEC works is that it's the [30:36] information that is distributed the [30:38] information in the DNS records is [30:40] distributed across the various zones on [30:42] the internet but the trust is incredibly [30:45] centralized and hierarchical and this is [30:48] actually exactly how the ca system works [30:50] today right the information the [30:51] certificates are distributed across the [30:54] web servers of the sites that are [30:56] serving them on the Internet and and the [30:58] trust is highly centralized in this [31:00] hierarchy of certificate authorities so [31:02] the next question is well okay if it's [31:04] still centralized trust um maybe there's [31:07] something about the people that we have [31:08] to trust or maybe there's some increased [31:10] trust agility here that would be [31:12] appealing so let's look at the uh the [31:14] trust requirements there are three main [31:16] classes of people that you have to trust [31:18] under DNS SEC the first is the [31:22] registrars you know I feel like if CA [31:25] are sketchy these people are they're [31:28] taking it up a notch uh you know uh [31:31] personally I think it should be [31:32] laughable that the current first step in [31:34] deploying DNS SEC is to create an [31:35] account with GoDaddy I think that should [31:38] be [31:39] laughable the second class of people [31:41] that we have to trust here are the tlds [31:43] uh so these are the companies that [31:45] manage the top level domains uh so in [31:47] the case of andet the um you know [31:51] largest tlds on the internet the company [31:54] that manages those is verisign [31:58] same player same [31:59] game uh if you look at other uh tlds [32:02] like.org [32:04] and.edu um the you know the companies [32:08] that manage them are probably not [32:09] companies that you've ever heard of uh [32:12] and I I would at least suggest that if [32:15] you were to think oh who's like a really [32:16] trustworthy uh company you know who's [32:18] who's really you know uh you know have [32:20] has a strong sense of Integrity these [32:22] companies are probably not the first [32:23] that would come to mind um you know take [32:25] a minute to look at the organizations [32:27] that manage the other tlds and look at [32:29] the executive boards look at the people [32:30] managing the operations and ask yourself [32:32] are these the people that I want to [32:33] trust with all of my secure [32:35] communication in the future there's also [32:37] the country code top level domains so [32:40] does everyone that's using uh tlds that [32:42] are kind of hip like. i.cc andly trust [32:46] the corresponding governments for these [32:48] countries uh to secure all of their [32:52] communication what about uh tlds like [32:55] and CN should uh the citizens of these [32:57] countries countes uh have to trust their [32:59] governments with all of their secure [33:01] communication to local sites you know [33:04] this is the current picture of uh what [33:06] countries around the world are capable [33:08] of intercepting secure communication [33:10] based on the eff SSL Observatory data [33:12] this is what that picture would look [33:14] like under [33:15] dnsa and if the recent domain seizures [33:18] are any indication of the future it [33:20] seems like these tlds uh could be [33:23] dangerous uh and then the third class of [33:26] uh people that we have to trust here is [33:27] the rout and that's Ian now um you know [33:32] I don't have any particular beef with [33:33] Ian but while Ian has made um you know a [33:37] great effort to be a sort of global [33:38] organization as far as I know and I [33:41] could be wrong but as far as I know um [33:43] you know fundamentally they are just a [33:45] California 501c3 nonprofit which as far [33:47] as I know means that they have to abide [33:50] by laws in the United States and you [33:53] know if this legislation that's been [33:54] coming up recently like KOA and protect [33:56] IP and this kind of thing you know if to [33:59] me the real lesson here isn't you know [34:01] whether this passes or not because [34:02] there's been you know some kind of [34:03] heroic efforts to prevent this [34:04] legislation from going through but I [34:06] think you know the thing to take away [34:08] from this is that they're trying to pass [34:10] legislation that messes with this stuff [34:12] and maybe one day they'll succeed and I [34:15] think you know I can would be subject to [34:18] that regulation in that case you know [34:20] the worst part about um you know all of [34:23] these organizations is that this system [34:25] actually provides reduced trust agility [34:27] that today even as unrealistic as it [34:29] might be I could still choose to remove [34:31] veras sign from my list of trusted um [34:34] certificate authorities but there is [34:36] nothing that I can do to stop verisign [34:39] from being the company that manages [34:40] theom and.net [34:42] tlds so if we sign up to trust these [34:45] people we're signing up not to trust [34:47] them just now but [34:49] forever regardless of whether they [34:51] should continue to warn our trust with [34:53] no ability to change our mind about [34:55] whether we should continue trusting them [34:57] without any incentives to continue [34:59] behaving [35:01] appropriately so let's talk about things [35:04] that I'm a little bit more inspired [35:07] by um there's a project called [35:10] perspectives uh which came out of carneg [35:11] melan University and it was done by uh [35:14] Dan winland David Anderson and Adrien [35:16] perig uh and it was originally a paper [35:19] that was published on using multi-path [35:21] probing in order to um provide [35:24] authenticity uh for SSH and SSL and and [35:27] the concept is fundamentally about [35:29] perspective uh the basic idea is this uh [35:32] you want to you connect to a secure site [35:34] you get back a certificate and you think [35:36] wow I wonder I wonder if this [35:37] certificate is good or not how do I [35:38] validate it well uh what you do is you [35:41] contact an authority and you say hey [35:44] what certificate do you see for [35:46] paypal.com in this case the authority [35:48] makes its own connection to the website [35:50] gets its own certificate back just like [35:51] a normal web browser would and then [35:53] sends that certificate back to you as [35:54] the client now you compare the thing you [35:56] got from the authority with a thing you [35:58] got from the the site and you make sure [36:00] that they're the same and so what you're [36:01] essentially doing is you're using some [36:02] Network perspective to get a different [36:04] view on the same site uh you know that [36:06] you have a different network path from [36:08] wherever the authority is uh [36:09] communicating from and uh we don't we [36:12] call these authorities [36:13] notaries uh and you can't you don't have [36:15] to talk to just one notary you can talk [36:17] to any number of notaries uh and they [36:19] can be distributed around the world so [36:21] they each have their own unique network [36:23] path uh to the same destination you're [36:25] essentially building a constellation of [36:26] trust [36:28] this idea of using perspective is [36:30] actually not new it's how SSL works [36:33] right now um you know right now if a uh [36:36] site administrator wants to get a [36:39] certificate for its site you know what [36:41] does the administrator do they contact [36:43] an authority and they say hey could you [36:45] please issue a certificate for my site [36:47] and what does the authority do they send [36:48] an email to the site with a verification [36:52] code in [36:52] it and if the administrator can receive [36:55] the verification code uh and to send it [36:57] back to the authority the uh Authority [37:00] uh issues the certificate so it's just [37:02] using another form of network [37:04] perspective to do the same thing we're [37:05] just trying to invert this relationship [37:07] so that instead of being site uh site [37:09] initiated it's user initiated now [37:11] perspectives uh when it was released [37:13] came within implementation uh but uh the [37:16] implementation was kind of limited uh it [37:18] was initially designed for self-signed [37:20] certificates uh and so uh it has had [37:23] some challenges um the first big [37:25] challenge is completeness um since since [37:27] it was initially designed for uh self [37:29] sign certificates uh it uh only works [37:32] for the initial connection on uh your [37:35] web browser sentence uh so it doesn't [37:36] work for any of the background content [37:38] the images CSS JavaScript all that stuff [37:40] so it's not possible to really eliminate [37:41] certificate authorities completely using [37:43] perspectives the second problem is [37:45] privacy if every time I you know connect [37:48] make a secure connection to a website I [37:50] have to make another connection to a [37:51] notary I'm now leaking my entire [37:53] connection history to the notary and [37:55] that seems a little bit unfortunate and [37:58] the last problem is responsiveness um [38:00] perspective suffered from this idea of [38:01] notary lag uh what would happen is you [38:04] get a certificate you contact a notary [38:06] and you say hey what do you see for [38:07] paypal.com and the notary would make a [38:10] connection to paypal.com and see a [38:12] certificate uh the problem is the notary [38:14] would cach the response so that it [38:15] wasn't constantly having to connect out [38:16] to all these sites and then just [38:18] periodically at some interval uh pull [38:21] the site you know like once a day or [38:23] something like that all the sites that [38:24] it had certificates for uh in order to [38:26] see you whether the site had switched to [38:29] a different certificate the problem is [38:30] that if a site did switch to a different [38:32] certificate your responses from the [38:33] notary would be invalid for the duration [38:35] of the the poll [38:36] interval um so what I've done is I've [38:39] taken you know this concept of using [38:41] perspective uh and I've built on it to [38:43] create a system that I call [38:45] Convergence um convergence is a new [38:48] protocol a new client implementation and [38:50] a new server server impl implementation [38:52] of this concept the first thing that we [38:54] do is try and address the prospective [38:56] challenges uh we eliminate notary lag uh [38:59] by um basically when you contact the [39:01] notary you also send what you saw so now [39:04] the notary doesn't have to do any [39:05] polling uh it just has to contact the [39:07] server in the case of a cash cash miss [39:10] or cash mismatch there's no more notary [39:11] lag the next thing that we did was uh [39:14] add privacy uh so this is two parts the [39:17] first part was through local caching uh [39:19] so now whenever you contact a notary and [39:21] you say hey uh what do you think of the [39:23] certificate if it says hey this is AOK [39:25] you go ahead and cash that certificate [39:27] locally that way the next time you [39:29] connect to the site you get the same [39:30] certificate back all you have to do is [39:31] check the local cach and said Yep this [39:33] thing is good and you don't even have to [39:34] talk to a notary so now you're only [39:36] leaking your connection history uh the [39:38] first time you visit a secure site or [39:41] whenever the secure sit's certificate [39:42] changes uh but so that still doesn't [39:44] seem that great um so the next thing we [39:47] do is Implement notary bouncing uh the [39:50] idea is that you have a set of notaries [39:51] uh that you have configured as notaries [39:53] that you trust and you want to talk to [39:55] all of them and the first thing that you [39:57] do is randomly select one of the [39:58] notaries and uh assign it as a bounce [40:02] and you connect to that notary and then [40:03] you tunnel SSL through the notary to all [40:06] the notaries that you want to talk to so [40:09] the uh bounce notary is just a dumb [40:11] proxy shoveling bites around and uh it's [40:15] uh doesn't have any visibility into what [40:17] you're querying about the notaries that [40:19] you're talking to uh know what you're [40:21] asking about but they don't know who you [40:22] are and the bounce notary knows who you [40:24] are but they don't but it doesn't know [40:26] uh who you're asking about um these SSL [40:29] connections to the destination notaries [40:30] are are done using uh static pre-shared [40:33] keys that are configured whenever you [40:35] add the notary to begin with in your [40:36] browser just like with certificate [40:37] authorities now uh convergence is a [40:40] Firefox add-on and it looks exactly like [40:44] uh the normal Firefox experience the [40:45] only difference is in the upper right [40:46] hand corner you get this little [40:47] convergence button if you click this [40:50] button and enable conversions you are [40:53] completely divorced from the ca system [40:56] everything for content background [40:58] content the certificate Authority [41:00] certificates in your web browser are [41:02] completely ignored everything looks [41:04] exactly the same the only difference is [41:06] that you know normally if you visit a [41:08] secure site and you put your mouse over [41:10] the uh favicon you'll see a little tool [41:13] tip about who has certified uh this this [41:16] U communication the only difference with [41:18] convergence is we are taking the [41:19] certificate authorities completely out [41:20] of the picture everything else works the [41:23] same um the notary implementation uh is [41:27] available free open source anybody can [41:28] run their own notary it requires very [41:30] little uh resources and it's designed to [41:33] be extensible uh the protocol is a rest [41:36] protocol uh and the idea is to design a [41:39] protocol that supported a number of [41:40] different back ends so by default the [41:43] default back end for the notary is to [41:44] use Network perspective uh but you could [41:46] write any number of other backends for [41:48] the notary for instance if you like TNS [41:50] secc the notary could do dnsc to [41:52] validate the cic on the back end it [41:53] wouldn't have to use Network perspective [41:55] uh if you're crazy it could use C [41:57] signatures uh to validate uh uh [42:00] certificates um you could even use [42:02] notaries as fraud ends to other services [42:04] like a notary front end the eff's SSL [42:06] Observatory which the efff has [42:08] volunteered to run uh and you can [42:11] configure notaries uh that do different [42:13] things so you could have a set of [42:14] trusted notaries each one does a [42:16] different thing um and the convergence [42:20] implementation also has a um a threshold [42:24] that you can set on you know whether how [42:26] what percent of the notaries have to [42:28] agree uh in order for things to be [42:30] secure I think the default is consensus [42:32] uh so what this means is that um you [42:34] know in the current CA system you know [42:36] you have some number of certificate [42:38] authorities and if one of them is a bad [42:40] actor you're completely out of luck um [42:44] and we're in inverting that here where [42:46] the more uh authorities that you have [42:48] the more notaries that you configure uh [42:51] the better off you are because it means [42:52] that all of them have to be in cahoots [42:55] to misbehave and intercept your ssof [42:56] communication [42:58] and we have full trust agility if we [43:00] decide we we don't like one of these [43:01] people we can just remove it and there [43:03] are no implications everything continues [43:04] to work exactly as it normally would [43:06] nothing breaks and uh if you like you [43:09] could replace it with a different one [43:10] that does the same thing because you [43:11] think that they're more trust [43:13] trustworthy other nice things here are [43:15] that uh the servers do nothing um you [43:18] know people's web servers you don't have [43:19] to make any changes which means we don't [43:20] have to migrate the internet to anything [43:22] else all we have to do is Implement [43:25] convergence in the four major browsers [43:27] and be done that would be it that would [43:29] be the end of the ca system right there [43:30] we don't have to make any changes across [43:32] the internet anywhere else um other nice [43:35] thing that you don't get any more self- [43:36] sign certificate warnings the concept of [43:38] a self- sign certificate uh does not [43:40] exist in the convergence system [43:41] certificates are certificates that's it [43:44] um there are a few problems uh the first [43:48] is the City Bank problem uh what's known [43:50] as the City Bank problem um right now if [43:52] you're running convergence and you visit [43:53] cbank.com you will get a certificate [43:56] warning [43:57] uh you know an untrusted certificate [44:00] warning and the problem is that City [44:03] Bank apparently has like a couple of [44:05] hundred different SSL certificates and [44:08] each one is on a different like SSL [44:10] accelerator so every time you connect [44:12] you get a different certificate which [44:13] means that all the notaries see [44:15] different certificates your browser sees [44:16] a different certificate and it looks [44:17] identical to a uh the case of being [44:21] attacked um the good news is that there [44:23] aren't many sites like this on the [44:24] internet in fact City Bank is the only [44:26] one that I could find I'm sure that [44:27] there are others um but they're pretty [44:29] rare and so while we might not need to [44:31] migrate the internet we might have to [44:34] ask a few of these sites to use same [44:37] practices like not having hundreds of [44:39] different SSL certificates um the other [44:42] problem right now is captive portals so [44:43] if you're running um convergence right [44:46] now and you're like in an airport in a [44:47] hotel you know you want to connect to [44:49] the internet and you'll get redirected [44:50] to this captive portal where you have to [44:52] type in your credit card number before [44:53] you can actually access the internet now [44:55] you want to secure this connection with [44:56] the captive port portal but the captive [44:58] portal is not letting internet traffic [44:59] out so you can't contact your notaries [45:03] um and so um you know right now you have [45:06] to actually just unclick uh convergence [45:08] in order to deal with this thing but you [45:10] know the good news is that um almost uh [45:13] always the in these captive portal [45:14] situations they let DNS out which means [45:16] that we only have to uh treat you know [45:18] we have to build a um a convergence uh [45:22] protocol over DNS and uh it'll work in [45:24] the captive portal situation as well um [45:27] you can download the software I released [45:28] it yesterday from [45:31] convergence. and try it out it's in beta [45:34] look at the server stuff if you want to [45:35] run a notary set one up uh talk to [45:37] people who might trust you and ask them [45:39] to configure you as a notary uh if even [45:42] if you're not going to try convergence [45:44] or you're not into it the one question [45:45] that I want to leave you with here today [45:47] is whenever someone is proposing another [45:51] authenticity system I think the question [45:53] that we should all ask is who do we have [45:55] to trust and for how long if the answer [45:59] is a prescribed set of people [46:02] forever proceed with caution uh in the [46:05] meantime try out convergence thank [46:08] [Applause] [46:19] you and