Shorten and rework Introduction section authored by Richard Pospesel's avatar Richard Pospesel
......@@ -24,7 +24,7 @@ June 15, 2018
1. [Introduction](#1-introduction)
1.1. [Browser Component Overview](#11-browser-component-overview)
1.1. [Tor Browser Component Overview](#11-tor-browser-component-overview)
2. [Design Requirements and Philosophy](#2-design-requirements-and-philosophy)
......@@ -78,18 +78,22 @@ June 15, 2018
## 1. Introduction
This document describes the [adversary model](#3-adversary-model), [design requirements](#2-design-requirements-and-philosophy), and [implementation](#4-implementation) of the browser. It is current as of Tor Browser ~7.0.11~`update to latest version`.
This document is also meant to serve as a set of design requirements and to describe a reference implementation of a Private Browsing Mode that defends against active network adversaries, in addition to the passive forensic local adversary currently addressed by the major browsers.
This document describes the [design requirements](#2-design-requirements-and-philosophy), [adversary model](#3-adversary-model) , and [implementation](#4-implementation) of a browser which defends against active network adversaries and passive local forensic adversaries.
For more practical information regarding Tor Browser development, please consult the [Application's Team Wiki](https://gitlab.torproject.org/tpo/applications/team/-/wikis/Development-Information).
### 1.1. Browser Component Overview
### 1.1. Tor Browser Component Overview
The browser is based on [Mozilla's Extended Support Release (ESR) Firefox branch](https://www.mozilla.org/en-US/firefox/organizations/). We maintain a [series of patches](https://gitlab.torproject.org/tpo/applications/tor-browser) atop ESR Firefox which:
- Backport surgical privacy features, security fixes and bug fixes from Mozilla's Rapid Release (RR) Firefox branch
- Implement non-Tor related privacy and security features
- Integrate Tor network communications capability into the browser
- Implement Tor-specific privacy and security features
The browser is based on [Mozilla's Extended Support Release (ESR) Firefox branch](https://www.mozilla.org/en-US/firefox/organizations/). We have a [series of patches](https://gitlab.torproject.org/tpo/applications/tor-browser) against this browser to enhance privacy and security. We also change a number of Firefox preferences from their defaults.
To provide network anonymity, we integrate the legacy Tor daemon (aka little-t tor or c-tor) into the browser and drive all network communications through the daemons SOCKS5 proxy functionality.
To provide censorship circumvention in areas where the public Tor network is blocked either by IP, or by protocol fingerprint, we include several pluggable transports in the distribution. As of this writing, we include the [lyrebird](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird) and [Snowflake](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake) pluggable transports in the stable release distribution. The [WebTunnel](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel) and [conjure](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conjure) pluggable transports are added additionally to the alpha release distribution.
To provide censorship circumvention in areas where the public Tor network is blocked either by IP or by protocol fingerprint, we include several pluggable transports in the distribution. For the an up-to-date list of the currently included pluggable transports, please refer to the [tor-expert-bundle](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/main/projects/tor-expert-bundle?ref_type=heads) project in tor-browser-build.
## 2. Design Requirements and Philosophy
......
......