This is a cut and paste of the rewrite.xml from June 10, 2008, with normative language called out, and the FF3 conformance statement below each. These statements are based on the soon-to-be-released Firefox 3.0. --JN


5 Applying TLS to the Web

5.1.2 Augmented Assurance Certificates

Web user agents MUST establish that a trust anchor is [Definition:

Mozilla (and hence Firefox 3) establishes that trust anchors are AA-qualified through out of band mechanisms described in our certificate policy, here: http://www.mozilla.org/projects/security/certs/policy/ . This policy requires audits of AA-qualified issuers to ensure their practices are consistent with the underlying specification (CABForum's EV Guidelines).

Implementations MUST NOT enable users to designate trust roots as AA-qualified as part of

Firefox 3 does not enable users to designate trust roots as AA-qualified.

To derive a human-readable subject name from an AAC, user agents MUST use the Subject

Firefox 3 uses the Subject field's O attribute to derive a human readable subject name from AACs.

If the certificate's Subject field does not have an Organization attribute, then user

Firefox 3 only accepts EV certificates as AACs, which are required by definition to have a subject Organization attribute. Trivially conformant.


Firefox 3 does not derive logotype information from certificates. Trivially conformant.

Firefox 3 does not derive logotype information from certificates. Trivially conformant.

Firefox 3 does not derive audio logotype information from certificates. Trivially conformant.


Web user agents MAY support [Definition: pinning] a

Firefox 3's security exception mechanism does allow explicit pinning interactions after warning, but not implicit pinning after multiple visits. Since this is a MAY requirement, I don't believe the distinction impacts conformance.

The interaction that enables users to pin a certificate to a destination SHOULD NOT cause a self-signed certificate to be pinned to more than one site, identified through URI scheme, domain, and port. The interaction MUST NOT cause an untrusted root certificate to be accepted automatically for additional sites. A pinned self-signed certificate SHOULD be considered sufficient identification to allow user agents to associate a petname with the site, if supported.

Explicit pinning does not cause a certificate to be pinned to more than one site, identified through scheme, domain, and port. The interaction does not cause an untrusted root certificate to be accepted. Firefox 3 does not support petnames.

If a client is able to automatically accept a self-signed certificate, or recover from similar problem without user interaction, it MUST NOT do so unless the client also have a history mechanism about security information.

Firefox 3 is not able to automatically accept a self-signed certificate.


5.1.6 Petnames

Firefox 3 does not support petnames.

Firefox 3 does not support petnames.

Firefox 3 does not support petnames.

Firefox 3 does not support petnames.

Firefox 3 does not support petnames.


5.3 Mixed Content

Based on the resolution of ISSUE-200, this text should read:

A user agent that can display an AA indicator MUST NOT display this indicator unless all elements of the page are loaded from servers presenting a validated certificate, over strongly protected TLS connections.

Firefox 3 does not display an AA indicator unless all elements are loaded from servers presenting a validated certificate, over strongly protected TLS connections.


5.4.1 TLS errors

Firefox 3 will apply to most severe signalling level applicable in a given situation.

  1. If a validated certificate (including an
    • augmented assurance certificate) was previously presented by the same destination, then error signalling of class danger (6.4.4 Danger Messages) MUST be used.
  2. If a different certificate was previously pinned to the same destination, then error
    • signalling of class warning or above (6.4.3
      • Warning/Caution Messages
      , 6.4.4 Danger Messages) MUST be used. User agents MAY offer the possibility to pin the newly encountered certificate to the destination at hand.
  3. Otherwise, user agents MAY use error signalling of class notification (6.4.2
    • Notifications and Status Indicators
    • ) to offer pinning a given certificate, consistent with 5.1.5 Self-signed Certificates and Untrusted Root Certificates.
  4. Otherwise, user agents SHOULD use error signalling of class warning or above (6.4.3
    • Warning/Caution Messages
    • , 6.4.4 Danger Messages).

The above section does not apply, since Firefox 3 is not capable of using information about previously encountered certificates. Instead, the section below applies.

  1. Error signalling of class warning or above (6.4.3
    • Warning/Caution Messages
    • , 6.4.4 Danger Messages) MUST be used to signal the error condition.
  2. User agents MAY offer a possibility to encounter newly encountered certificates to
    • the destination at hand.

Firefox 3 will signal this situation using a Warning-style message, including complete interruption of user task flow, and no way to dismiss the warning without deliberate interaction with it. That interaction can include adding a security exception, which is an explicit form of pinning interaction.

Firefox 3 does not remember the state of certificates previously encountered in the generic way described here.

Certificates explicitly trusted by the user for use on a particular domain are identified as "You have added a security exception for this site." Information from the certificate about ostensible subject or issuer identity is not displayed except in the certificate viewer tool.

Firefox 3 treats revoked certificates as a non-bypassable hard stop.

Firefox 3 treats expired certificates as a full stop compatible with the definition for danger level messages. The user task flow is interrupted and the message cannot be bypassed without explicit interaction.

  1. If a certificate check was successfully performed before, or if an Augmented
    • Assurance Certificate is used, then error signalling of level danger (6.4.4 Danger Messages) MUST be used.
  2. Otherwise, error signalling of level warning (6.4.3
    • Warning/Caution Messages
    • ) SHOULD be used.

I believe this section is slated to be removed, per ISSUE-201. Firefox 3 would not be conformant to this text as worded.

Firefox 3 treats domain name mismatch of this type as a full stop, interrupting the user task flow, and requiring explicit interactions to override.

Firefox 3 treats other TLS failures as hard stops, with no bypass possible.


5.4.2 Error Conditions based on Third Party or Heuristic Information

Firefox 3 employs 3rd party services for malware/phishing protection, and uses Danger class signalling when a reported attack site is encountered.


5.4.3 Redirection chains

Web user agents MUST signal an error of class warning or above (6.4.3

Firefox 3 warns during these interactions.

Note that this applies whether or not the resource in which the non-interactive chain of

This section is confusing since it suggests that we are signalling an error, not a warning as mentioned above. It's also not clear how to interpret this text in light of things like image transfers which, if they occurred over unprotected connections would be cause for mixed mode treatment, but not warnings or errors. I can't declare conformance here at the moment, given these confusions.

This section does not apply to situations in which, e.g., an HTML form is served by way of

This is surprising and not something I've noticed before. Firefox 3 warns in this instance.

6.1.1 Identity Signal

This section is normative. Examples are informational.

Web user agents MUST make information about the identity of the Web site that a user

Firefox 3 makes information about the identity of the web site available via the site identity button in primary chrome, and the page info dialog in secondary chrome.

Firefox 3 includes positive identity, if available, as part of primary user interface.

User interactions to access this identity

User agents with a visual user interface that make the identity signal available in

Firefox 3's "Site Identity Button" is available in all identity conditions, including interactions where no trustworthy information is available. The interaction is always the same.

6.1.2 Identity Signal Content

Information displayed in the identity

Firefox 3 derives identity information from validated certificates and user agent state only.

During interactions with a TLS-secured Web page for which a petname has been defined, the identity signal MUST include that petname.

Firefox 3 does not support petnames.

During interactions with a TLS-secured Web

Firefox 3's "Site Identity Button" displays the human readable information about the certificate subject in this situation.

Firefox 3 does not support logotype display.

Firefox 3 does not support audio logotypes.

During interactions with a TLS-secured Web

Firefox 3 displays an applicable DNS name for validated or AA certificates as part of the identity signal retrivable via the site identity button.

Firefox 3's identity information includes the Issuer field's Organization attribute.

Firefox 3 does not support logotypes.

During interactions with a mixed content Web

Firefox 3 does not present verified identity information on mixed content interactions.

During interactions with mixed content, Web user agents MUST NOT render any logotypes

Firefox 3 does not support logotypes.

6.2 Additional Security Context Information

This section is normative.

Web user agents MUST provide additional security context

Firefox 3 presents this information through the site identity button and page info dialog. The mechanisms for this interaction are always and consistently available.

The information sources MUST make the following security context

  1. the Web page's domain name
  2. Owner information, consistent with 6.1.2 Identity Signal Content
  3. Verifier information, consistent with 6.1.2 Identity Signal Content
  4. The reason why the identity information is trusted (or
    • not). This includes whether or not a certificate was accepted interactively, whether a self-signed certificate was used, and whether the self-signed certificate was pinned to the site that the user interacts with, and whether trust relevant settings of the user agent were otherwise overridden through user action.

Firefox 3 presents this information in the identity signal, obtainable by clicking the "Site Identity Button" in primary chrome.

The information sources SHOULD make the following security context

  1. Whether a Web page is TLS-protected, whether the protection is
    • weak or strong, and the reasons for the value of the protection.

Available via Page Info dialog.

  1. When the Web page is TLS-protected and a validated
    • certificate was used, whether or not a certificate status check has been performed.
  2. If a certificate status check has been performed, what
    • the result was.

Only available implicitly since failed checks will result in danger messages.

  1. Whether the user has visited the site in the past.

Available via Page Info dialog.

  1. Whether the user has shown
    • credentials to this site.

Not available

  1. Whether the user has stored credentials for this
    • site.

Available via Page Info dialog.

  1. Whether the site content was encrypted in transmission.

Available via Page Info dialog.

  1. Whether the site content was authenticated.

Available via Page Info dialog.

  1. Logotypes embedded in certificates used, consistent with
    • 6.1.1 Identity Signal and 5.1.4 Logotype Certificates.

Firefox 3 does not support logotype display.

Additionally, the information sources MAY make the following security

  1. When the user most recently visited the site in the
    • past.
  2. When the user first visited the site in the past.
  3. How often the user visited the site in the past.

Available through the history management UI, but not as part of security interactions.

User agents that provide information about the presence or absence of Cookies [RFC2965] MUST NOT make any claims that suggest that the absence of cookies

Firefox 3 makes no claims of this sort.

6.3 TLS indicator

Web user agents MUST make information about the state of TLS protection available. The

Firefox 3's site identity button presents information about the TLS protection available both textually and via the button colouring.

User interactions to access the TLS indicator MUST be consistent across all Web

Firefox uses consistent presentation and visual position across all web interactions.

The TLS indicator MUST present a distinct state that is used only for TLS-secured Web pages. The User Agent SHOULD inform users

The user agent MAY accomplish this by using a third state in the TLS indicator, or via

Firefox employs distinct states for TLS-secured and unsecured pages. Mixed content is treated as unidentified for the purposes of the Site Identity Button, however the Page Info dialog will present information about mixed content status.

6.4 Error handling and signalling

6.4.1 Common Error Interaction Requirements

This feels pretty open to interpretation and difficult to make a binary conformance claim, but we certainly aspire to it.

Again, difficult to make a binary call. Firefox 3 does not phrase errors solely in terms of art, and does attempt to explain the impact of the error, and the potential remedies. For example, our page presented on unpinned self-signed certificates reads, in part:

- This could be a problem with the server's configuration, or it could be someone trying to impersonate the server. - If you have connected to this server successfully in the past, the error may be temporary, and you can try again later.

Firefox 3 does enable to user to return to the state prior to the initiation of the error.

Firefox 3 includes an error code to facilitate lookup of technical details.


6.4.2

Firefox 3 status indicators like the Site Identity Button are always available. Warning/Error messages are all presented in primary chrome.

6.4.3

Firefox 3 uses warning messages to interrupt user task flow. These messages use "caution" styling - yellow warning icons, etc. The heading of these warnings is the locus of attention. The warnings do not present only the option to continue.


6.4.4 Danger Messages

Firefox 3 presents danger messages to warn of positively identified danger. These messages interrupt the task flow by blocking page load and filling the content area of the browser. They can only be dismissed by interacting with them.


6.5 Chrome Reconfiguration

the primary user interface in such a way as to suppress any of the displays required by this specification, then it MUST provide a simple administrative mechanism, such as a single button in a configuration menu, to reset the display to be in conformance with this specification.

Firefox 3 allows users to reconfigure chrome. Firefox 3 provides a single button in a configuration dialog that restores the default toolset (UI).


7.1.1 Use Shared Secrets to Establish a Trusted Path

Firefox 3 does not support the selection of a shared secret as a distinct security-related action, though obviously things like theming support can have this effect, for users that choose to employ them.


7.1.2 Keep Security Chrome Visible

Firefox 3's "Site Identity Button" is always available in primary chrome.

As anticipated, Firefox 3's "Site Identity Button" is scoped to the currently displayed tab in each window.


7.2 Do not mix content and security indicators

Firefox 3 does not use chrome to signal trust information in a way that would be mimicked by site controlled content.

Firefox 3 does not use a 16x16 image in chrome to indicate security status in such a way as would allow the favicon to mimic it.


7.3 Managing User Attention

Firefox 3 employs disabled OK buttons to prevent immediate dismissal of installation prompts. Firefox 3 employs multi-step, non-immediate UI to pin certificate exceptions. Firefox 3 does not grant web content control of the user agent's interaction.


7.4.1 Obscuring or disabling Security User Interfaces

Web user agents MUST

Firefox 3 prevents web content from obscuring, hiding, or disabling security user interfaces, including the identity signal and page info summary.

Web user agents MUST restrict window sizing and

Firefox 3 prevents window sizing and moving operations that would serve to obscure chrome off the visible screen.

Web user agents MUST NOT allow web content to open new windows

Firefox 3 does not allow web content to open new windows with security UI hidden.

Web user agents MUST prevent web content from overlaying

With the exception of favicon and page title, which are hosted in chrome and not the target of this requirement, Firefox 3 prevents web content from overlaying chrome.


7.4.2 Software Installation

Web user agents MUST

Firefox 3 does not expose programming interfaces which permit installation of software or execution of privileged code without user intervention.

Web user agents MUST inform the user and request consent when

Firefox 3 requests consent for addon and plugin installs which, while designed to interact with the browser, will have the same privilege as Firefox to interact with the system at large. These warnings follow the requirements of 6.4.3.

Firefox 3 requests consent for addon and plugin installs which, while designed to interact with the browser, will have the same privilege as Firefox to interact with the system at large. Firefox 3 does not provide a mechanism to pre-consent to software installations.

Web user agents MAY inform the user when web content attempts to execute software

Firefox 3 does not provide mechanisms for web content to directly execute software outside the agent environment. If a downloaded file's content type cannot be displayed internally, Firefox 3 does prompt the user before allowing external programs to open the file.


7.4.3 Bookmarking APIs

Web user agents

Firefox 3 does not expose programmatic interfaces that allow bookmarking.

Web user agents

Firefox 3 does not expose programmatic interfaces that allow bookmarking.


7.4.4 Pop-up Window APIs

Firefox 3 does restrict the opening of pop-up windows from web content that are not initiated by user action.

Firefox 3 does allow a way to extend permission to individual trusted sites.