This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Logic of Sattestation

Aaron D. Jaggard U.S. Naval Research Laboratory
Washington DC, USA
[email protected]
   Paul Syverson U.S. Naval Research Laboratory
Washington DC, USA
[email protected]
   Catherine Meadows U.S. Naval Research Laboratory
Washington DC, USA
[email protected]
Abstract

We introduce a logic for reasoning about contextual trust for web addresses, provide a Kripke semantics for it, and prove its soundness under reasonable assumptions about principals’ policies.

Self-Authenticating Traditional Addresses (SATAs) are valid DNS addresses or URLs that are generally meaningful—to both humans and web infrastructure—and contain a commitment to a public key in the address itself. Trust in web addresses is currently established via domain name registration, TLS certificates, and other hierarchical elements of the internet infrastructure. SATAs support such structural roots of trust but also complementary contextual roots associated with descriptive properties. The existing structural roots leave web connections open to a variety of well-documented and significant hijack vulnerabilities. Contextual trust roots provide, among other things, stronger resistance to such vulnerabilities.

We also consider labeled SATAs, which include descriptive properties such as that a SATA is an address for a news organization, a site belonging to a particular government or company, a site with information about a certain topic, etc. Our logic addresses both trust in the bound together identity of the address and trust in the binding of labels to it. Our logic allows reasoning about delegation of trust with respect to specified labels, relationships between labels that provide more or less specific information, and the interaction between these two aspects.

In addition to soundness, we prove that if a principal trusts a particular identity (possibly with label), then either this trust is initially assumed, or there is a trust chain of delegations to this from initial trust assumptions. We also present an algorithm that effectively derives all possible trust statements from the set of initial trust assumptions and show it to be sound, complete, and terminating.This is a full version, including proofs, of a paper to appear in the Proceedings of the 37th IEEE Computer Security Foundations Symposium (CSF’24).
Distribution Statement A. Approved for public release: distribution is unlimited.

I Introduction

We introduce a logic for reasoning about contextual trust for web addresses, both for properties essential to the identity of the address and for descriptive properties. These properties, or labels, say things such as: that an address is for a news organization; that it belongs to the U.S. Government, Microsoft, or other specified entity; that it relates to a topic like cooking; etc. Importantly, these are descriptive and not for authorization. Trust in web addresses is currently established via domain name registration, TLS certificates, and other hierarchical components of the internet infrastructure. Formal reasoning about trust in TLS certificates (or predecessors of them) has long been researched [1] as has reasoning about alternatives to hierarchies like X.509 via local naming such as SPKI or SDSI [2]. In our logic, names (addresses) are always global so as to remain entirely compatible with the predominant existing internet naming and authentication infrastructure. It is the descriptive properties of them that can be local or contextual. But we also reason about contextual roots of trust complementary to the existing web authentication infrastructure both for global addresses and for descriptive properties of them.

Traditional domain names like microsoft.com are meaningful: users understand that connecting to https://www.microsoft.com will take them to a website offering information about products and services offered by Microsoft. They are also meaningful to the internet’s infrastructure: microsoft.com is meaningful to DNS, which is generally able to provide an IP address for it. Further, there is structural meaning to domain names understood by both humans and infrastructure systems: support.microsoft.com is understood to be a subdomain of microsoft.com, a subdomain at which users might expect to find support information for Microsoft products and services.

To protect against hijack and other attacks, TLS certificates signed by Certificate Authorities (CAs) are understood by web browsers. These assert that the key authenticating a connection to https://www.microsoft.com is indeed properly bound to that domain. In contrast, an onion address in Tor needs no certificate to assert a binding between the authenticating key and the connection’s address. It is self-authenticating: the onion address is a 56-character string encoding the public key for the private key used to authenticate the connection [3]. However, onion addresses are not meaningful. For humans they appear to be long random strings of letters and numbers; the RFC that recognizes .onion as a reserved TLD also prohibits DNS resolution of onion addresses [4]; and most popular browsers are not set up to use the onion-service protocols needed for address resolution or reaching an onion address or, more generally, for connections via the Tor network.

Self-authenticating traditional addresses (SATAs) were introduced to combine the meaningfulness of traditional web addresses to both humans and the common infrastructure (e.g., DNS and popular browsers) with the self-authentication of onion addresses [5, 6, 7]. A SATA for the Tor Project would combine its traditional domain name, www.torproject.org, with its onion address, thus for example:
www.torproject.org/?onion=2gzyxa5ihm7nsggfxnu52 rck2vv4rvmdlkiu3zzui5du4xyclen53wid.

SATAs do not by themselves bring self-authentication to meaningful domain names. Seeing the above SATA in her browser, how could Alice know whether or not an attacker with a hijacked certificate for www.torproject.org, had associated its own onion address versus one actually belonging to the Tor Project? Prior work that we will briefly review presently sets out the technical means for binding the parts of a SATA. Part of the work of this paper is to provide a logic for reasoning about how Alice can ground trusting that such a SATA is bound together in trust credentials that are based on meaningful associations rather than just structural authority.

The above SATA format has usable security and deployment advantages [7], but the first introduced format was for the onion address to be a subdomain of the traditional domain name [5]. This allowed the onion address to be bound in a Domain Validation (DV) certificate by a CA using then existing industry standards for certificate issuance. And that format is still used in this way, further making onion addresses meaningful to the internet infrastructure, in this case the infrastructure for TLS certificate issuance. The certificate indicates that the CA has done a standard check that someone controlling the traditional domain name intends the binding of the onion address to that domain name. Since onion addresses are self-authenticating, a SATA owner can attest that someone controlling the onion address also intends this binding by signing an HTTP header also containing both addresses, along with a hash of the TLS certificate, a validity interval, etc. This is called a self-sattestation.

If a full SATA is known, such as by being recalled from a browser bookmark, then this might be sufficient. But if address discovery is via the traditional domain name, such as from user memory or via a search engine lookup of, e.g., “microsoft” or “New York Times”, then it is not. Even with self-sattestation, SATA authentication as described so far would only be as strong as the structural guarantees of TLS certificate issuance: an attacker able to obtain a fraudulent TLS certificate for a domain could assert binding of an onion address under their control within that certificate. Since onion addresses are not easily recognized, this could pass undetected. And TLS certificates are subject to significant hijack risk [8] despite substantial efforts to reduce that risk (e.g., via DNSSEC or Extended Validation (EV) certificates) or to detect misissuance (e.g., via Certificate Transparency (CT) logs).

For this reason, one SATA can provide a sattestation for another. An example suggested in [6] would be for a SATA controlled by the Freedom of the Press Foundation or the Berkman Klein Center for Internet & Society to provide a sattestatation for a SATA for CNN that the components comprising CNN’s SATA are properly bound together. As introduced in [7], sattestations are implemented as JSON formatted headers signed using the onion key of the sattestor SATA and may contain descriptive labels, such as that the sattestee is a “news” site. Worked examples of sattestations and showing such JSON headers are provided in Appendix V.

Prior work described implementation and formats of sattestation but not analysis or formalization for reasoning, neither about contextual trust for sattestors asserting the binding of a SATA’s identity nor for the structure of related descriptive labels in sattestations. These are set out in Section III.

I-A Contributions

In this paper we

  • introduce concepts of identity and contextual properties for web addresses and an associated concept of trusted belief in the binding together of such identities with or without associated properties. [Section II]

  • introduce a formal language and axiomatic logic for reasoning about trust in attestations of identity (i.e. binding of a public key in a self-authenticating address with a traditional domain name, e.g., as resolvable via DNS), a logic that supports two specific types of trust delegation, also introduce a Kripke semantics for the language and show soundness of the logic with respect to that semantics. [Section III]

  • contrast and compare the introduced logic with logics of authentication, logics of local names, and authorization and access control logics. [Section IV]

  • prove that any statement a principal trusts is either initially trusted, or that there is a trust chain of delegations to this from initial trust assumptions. [Section VI]

  • present a saturation algorithm that effectively derives all possible trust statements from a finite set of initial trust assumptions and show it to be sound, complete, and terminating. [Section VII]

I-B Related Work

Basic concepts and implementations of SATAs and sattestations as described in this paper are set out in papers by Syverson together with various coauthors [5, 6, 7]. [6] introduces a concept of contextual trust illustrated in the “news” example cited above, as well as an implementation in the form of a list of sattestations a site can post that a browser WebExtension can select to trust. Appendix V presents examples following the JSON format for sattestation headers introduced in [7], which include contextual labels. [7] also mentions in one sentence the possibility of transitivity if a sattestor label is permitted, but does not say anything more about these. None of these papers describes any means, formal or otherwise, to reason about when a sattestation should be trusted. Nor do they mention any structure to labels and how these relate to each other (e.g., as introduced below in Section III-A). Further they do not provide a language for, or any conception of, transitive or iterated trust in any form.

The basic meaning we attach to “trust” is the same as given by Coker et al. [9]: “Principal BB trusts principal AA with regard to the statement φ\varphi if and only if, from the fact that AA has said φ\varphi, BB infers that φ\varphi was true at a given time.” [9] is about formalizing remote attestation for trusted hardware as in the Trusted Platform Modules of the Trusted Computing Group (TCG). While our basic notion of trust is in this sense the same, that paper also does not discuss transitivity or iteration of trust or anything like our concept of contextual trust.

Formalizing transitive trust has previously been described in the context of secure communication [10]. However, that paper is primarily focused on honest messages (known to be true by the sender when sent) and related concepts that help ground a theory of cooperative communication in distributed systems. We do not assume messages are honest, and most of our rules effectively set out conditions under which it is possible to make a valid trust inference from a message. There is also nothing analogous to our notion of contextual trust therein. We further discuss transitive and iterated trust in Section III-C.

Ours is a logic of identity, particularly a logic of identity for web addresses. We will present a detailed comparison to other logics in Section IV, after we have set out our concepts of identity and trust in Section II, and we have set out our logic and language in Section III.

II Identities, Beliefs, and Trust

II-A No entity without identity

An entity comprises an identity and properties. The identity is signified by a domain name DD and an onion address OO. In our notation an arbitrary (D,O)(D,O) is only a potential entity, a may-be. It may or may not signify a real identity. If DD and OO are bound together, then (D,O)(D,O) is a real identity.111By analogy to Thomistic ontology [11], we would say (D,O)(D,O) has esse. In this case we write D,O,𝖻𝗈𝗎𝗇𝖽\langle D,O,\mathsf{bound}\rangle or, more succinctly, D,O\langle D,O\rangle.

Though it is often to be expected that any DD is bound with at most one OO and vice versa, this need not be the case. Amongst other things, this allows multiple domain names to be bound to a single onion address (roughly as multiple domains might be hosted at the same IP address) and allows multiple onion addresses bound to a single domain name (as might be useful during an updating of a domain’s associated onion address).

Properties are expressed using labels, including the 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} label just noted.222The only essential property an identity has is 𝖻𝗈𝗎𝗇𝖽\mathsf{bound}. All other properties are accidental. D,O,\langle D,O,\ell\rangle signifies that DD and OO are bound and that this entity has property \ell. Having a property may entail having a less specific property. For example, a site with the property of being a U.S. Department of Justice (DOJ) site also has the more generic property of being a U.S. Government (USG) site. A site for French recipes could have separate properties pertaining to French things and pertaining to recipes. It could also have a single “French recipes” property; this could entail a more generic “French” property, or it could entail a more generic “recipes” property.333As noted when we formalize our treatment of labels in Sec. III-A, we require that, if two properties are more generic than a third property, then one of the first two properties is more generic than the other.

Sattestations never assert a set of properties of which some are claimed to be bound and others are not, and sattestations never assert multiple non-𝖻𝗈𝗎𝗇𝖽\mathsf{bound} properties. Thus, we do not need to worry about capturing a scenario in which D,O\langle D,O\rangle is known to have 𝖻𝗈𝗎𝗇𝖽\ell\neq\mathsf{bound} and we are reasoning about whether or not it has a different property 𝖻𝗈𝗎𝗇𝖽\ell^{\prime}\neq\mathsf{bound} as well. Also, as mentioned above in Section I, there are currently two implemented SAT address formats in use [7]. The SATA notation we have introduced in this section and that we use in our logic is an abstraction that covers both of them.

II-B Belief, Knowledge, and Trust

Suppose PP is a generic principal—either a client or a SATA—that forms beliefs about entities. These beliefs are expressed in our logic using the   trusts   operator, e.g., as P trustsD,OP\textit{\, trusts}\,\,\langle D,O\rangle. Our logic does not cope with incorrect beliefs; if P trustsD,OP\textit{\, trusts}\,\,\langle D,O\rangle holds, then DD is actually bound to OO. On the other hand, we have no need of anything comparable to a knowledge (T) axiom, because we never express D,O\langle D,O\rangle except when indicating P trustsD,OP\textit{\, trusts}\,\,\langle D,O\rangle or that PP asserts D,O\langle D,O\rangle (or D,O,\langle D,O,\ell\rangle, for some label \ell).

Besides bindings, the other thing a principal, PP, may trust is that a SATA has asserted something about the binding of an identity (either with just the label 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} or possibly an additional label). We capture such assertions using the  says   operator, so that we have, e.g., P trusts((D,O)saysD,O)P\textit{\, trusts}\,\,(\left(D,O\right)\,\textit{says}\,\,\left<D^{\prime},O^{\prime}\right>) (sometimes omitting the outer parentheses). PP’s trust in an assertion may follow from PP receiving or retrieving a sattestation header, as described in [7], or it may follow from PP retrieving a list of entities claimed to be bound from the appropriate page of a SATA-site, as described in [6]. As formalized below, the left-hand side of the  says   operator is always written as a may-be, even if the name and address are known to be bound.

We will formally set out our language and logic in the next section. For purposes of comparison with other logics we note that all atomic formulae of our language are in the following forms (and generalizations of them to be explained when introduced below).

relations between property labels:

\ell\preceq\ell^{\prime}

trust in a binding:

P trustsD,O,P\textit{\, trusts}\,\,\langle D,O,\ell\rangle

trust that others asserted a binding:

P trusts((D,O)saysD,O,)P\textit{\, trusts}\,\,(\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\ell\right>)

Note that it could be practical to support reasoning about arbitrary principals asserting bindings. For example, a client on a company-provided computer might download a list of labeled SATAs from a file on a trusted connection to a company server without a SATA, or Alice might be sent one or more labeled SATAs in an authenticated email message from Bob. For simplicity, we will restrict the reasoning about assertions in our current language and logic to reasoning about assertions made by SATAs. We will simply make appropriate local trust assumptions about the binding and labels of SATAs if based on non-SATA sources. Further, we assume that SATAs only make sattestations they believe. Thus, if a SATA issues a sattestation, then what is asserted will be reflected in the local trust assumptions of that SATA.

Note that this means trust about assertions are always in formulae such as the above P trusts((D,O)saysD,O,)P\textit{\, trusts}\,\,(\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\ell\right>), and we never write P trusts(D,OsaysD,O,)P\textit{\, trusts}\,\,(\left<D^{\prime},O^{\prime}\right>\,\textit{says}\,\,\left<D,O,\ell\right>). Even if PP trusts that DD and OO are bound; the dependence on this in the axioms of our logic is reflected in other antecedent clauses. The only trust a binding assertion indicates is which may-be asserted what binding.

The axioms of our logic reflect circumstances under which it is valid to infer trust in a binding. Our logic does not incorporate time or an entity gaining or losing a property (as might happen, even with 𝖻𝗈𝗎𝗇𝖽\mathsf{bound}, when a domain is sold, a key rotated, etc.). We assume antecedents of a derivation hold when the derivation is made. If an antecedent ceases to be valid, reasoning can be restarted without that statement. Our approach might be extended, e.g., by considering time intervals over which antecedents are valid (and, from those, computing a time interval over which a derivation’s conclusion is valid).

Although we should expect in practice that a client would only accept a SATA binding if it has checked an appropriately associated (non-expired, non-revoked, CT logged, etc.) TLS Certificate, we do not here represent such checks or associated reasoning. More broadly, our purpose in this paper is not to set out a usable tool for formal analysis of sattestation systems in practice, though we believe one could be based on our logic. Rather, our goal is to lay the basis for a rigorous understanding of sattestation.

II-C Contextual Trust Model

The central aspect of SATAs and sattestations that distinguish them from other approaches for authentication (X.509, PGP) or trusted naming (DNS, SPKI/SDSI) is that they are contextual rather than structural. Note that even if PGP supports locally based trust, it is still a purely structural determination. Trust derives from distance and/or numbers of independent paths to primarily trusted nodes in a web rather than X.509’s adequate delegation from hierarchical roots, but this is not based on any context (e.g., association with a particular profession, company, or government agency); thus, it is still a structural determination. Contexts are also not types, and we cannot directly represent contextual trust in a standard type system. The same entity can have multiple contextual properties, and, as we shall see, this makes a difference as to what can be inferred about them. But entities might not have contextual labels at all other than the generic 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} label (so, roughly, are not necessarily typed).

Also, while X.509 and DNS work primarily at large scales, and local names and PGP work primarily at much smaller scales, sattestations scale both up and down. They might operate at a large scale, such as the USG example above, or similarly for large corporations, or organizations, in which case one would expect large classes of browsers to come preconfigured by default to trust those as sattestors. Besides making these widely available to consumers, requiring such on enterprise issued or configured equipment can also protect corporate or governmental internal connections by remote workers against phishing attacks, VPN certificate hijack, and other attacks that could leak sensitive information, such as [12].

Sattestations will also operate fine, however, on a level of small organizations, municipalities and groups of various kinds, possibly without the resources or manpower to perform ongoing checks of CT log monitors or other indicators of certificate problems or hijack. (And those only provide post hoc evidence in any case.) Perhaps especially at a small scale, a basis for contextual trust is in associations and trust structures that already or naturally exist within the culture of an organization. It is generally a higher bar to set oneself up to fool the organizers and participants in a community that one is a member of that community than to fool others with no vested interest in that community per se.

Sattestations also do not require organizations to take on the overhead and responsibility of becoming a CA, nor do those need the active support of such structural entities, even if they utilize and leverage CAs, CT logs, etc., for the trust provided. CAs might also offer sattestation services, and this can provide some additional assurance and attack resistance. But to the extent these services are based on purely structural criteria for issuance of sattestations, they will be bound for most domains by the trust that a DV (Domain Validation) level check of identity can provide, even if they do build security (in the form of public keys) into the web itself.

II-D Trust in Implementation

Though our focus is on the logic of SATAs and sattestation, we briefly describe their implementation and use in practice, especially in contrast to TLS certificates. SATAs and sattestations have had research implementation and deployment on both the client and server sides [13, 14], which have also been described in research publications [6, 7]. On the client side the implementation uses a WebExtension for Firefox or Tor Browser that checks headers such as shown in Sec. V, although the cited publications note that the longer-term desirability is implementation natively in browsers. In the Firefox deployment, clients receive the strengthened authentication and hijack resistance properties described herein. In The Tor Browser implementation, clients also receive the routing and lookup protections that come from routing over the Tor network and using onion service protocols (thus, e.g., lookup via the onion-service Distributed Hash Table rather than via DNS). Unlike Tor’s onion addresses, SATAs are fully backwards compatible: browsers knowing nothing of SATAs will offer none of these additional protections. But access using them will succeed as normal (assuming no attacks).

Because SATAs are represented in TLS certificates using subdomains of registered domains, site owners can straightforwardly obtain needed DV certificates for free, e.g., from Let’s Encrypt. Because SATAs are generally formatted in one of the two formats described in Section I, no reconfiguring is necessary to make a site SATA-compatible. Besides the TLS certificate just noted, a front end is all that is needed to provide the sattestation headers.

III Formal Language, Logic, and Semantics

III-A Labels

We start with the labels used in our logic. We assume that we have a “basic” label set Λ^\widehat{\Lambda} whose elements are free of the distinguished operators 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}() and 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}(). (These operators will be explained below.) We expand this to a set Γ^\widehat{\Gamma} of “general” labels by single applications of either 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋\mathsf{sattestor} or 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋\mathsf{sattestor}^{*}:

Γ^=Λ^Λ^{𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()}Λ^{𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()}\widehat{\Gamma}=\widehat{\Lambda}\cup\bigcup_{\ell\in\widehat{\Lambda}}\{\mathsf{sattestor}(\ell)\}\cup\bigcup_{\ell\in\widehat{\Lambda}}\{\mathsf{sattestor}^{*}(\ell)\}

In presenting rules below, we assume that labels \ell, \ell^{\prime}, i\ell_{i} are elements of Λ^\widehat{\Lambda}, and we will use, e.g., Λ\Lambda^{\prime} and Λi\Lambda_{i} for subsets of Λ^\widehat{\Lambda}. We assume labels gg, gg^{\prime}, and gig_{i} are elements of Γ^\widehat{\Gamma}, and we will use, e.g., Γ\Gamma^{\prime} and Γi\Gamma_{i} for subsets of Γ^\widehat{\Gamma}.

The operators 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}() and 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}(), which take as a single argument Λ^\ell\in\widehat{\Lambda}, always occur as labels for bound SATAs. E.g., D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\left<D,O,\mathsf{sattestor}(\ell)\right> indicates that (D,O)(D,O) may assert the binding of \ell to any SATA, while D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\left<D,O,\mathsf{sattestor}^{*}(\ell)\right> indicates that (D,O)(D,O) may indefinitely delegate the binding of label \ell. In other words (D,O)(D,O) may assert for any (D,O)(D^{\prime},O^{\prime}) that D,O,\left<D^{\prime},O^{\prime},\ell\right> or that D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\left<D^{\prime},O^{\prime},\mathsf{sattestor}(\ell)\right> or that D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell)\right>. These notions are made more precise by our axioms and truth conditions below and are further glossed after those are presented.

We assume that there is a partial order \prec on Λ^\widehat{\Lambda}; if 12\ell_{1}\prec\ell_{2}, then we say that 1\ell_{1} “narrows” 2\ell_{2} and that 2\ell_{2} “broadens” 1\ell_{1}. We use \preceq to allow for 1=2\ell_{1}=\ell_{2}, and we use \succ and \succeq for (weak) broadening. Λ^\widehat{\Lambda} includes the distinguished label 𝖻𝗈𝗎𝗇𝖽\mathsf{bound}, which we discuss further below and which is incomparable to all other labels in Λ^\widehat{\Lambda}. We make the following additional assumptions about \prec:444While the first two assumptions are stated in terms of what principals “can determine,” these are assumptions about information conveyed by labels that a principal may not have seen before rather than principals’ computational power. These assumptions are satisfied by the label system we use here and the canonical label representation described in the following paragraphs.

  • For every Λ^\ell\in\widehat{\Lambda}, the set {}={|}\uparrow\{\ell\}=\{\ell^{\prime}|\ell^{\prime}\succeq\ell\} is finite. Furthermore, given \ell, any principal can determine the elements of {}\uparrow\{\ell\}.

  • Given 1\ell_{1} and 2\ell_{2}, any principal can determine whether 12\ell_{1}\prec\ell_{2}, 12\ell_{1}\succ\ell_{2}, 1=2\ell_{1}=\ell_{2}, or 1\ell_{1} and 2\ell_{2} are incomparable under \prec.

  • For every \ell, {}\uparrow\{\ell\} is linearly (totally) ordered under \prec.

Equivalent to the third condition above is that \prec induces the structure of an ordered, rooted forest on Λ^\widehat{\Lambda}. The root of each tree in the forest is the \prec-maximum element of that tree. We observe that

12 iff {1}{2},\ell_{1}\succeq\ell_{2}\text{ iff }\uparrow\{\ell_{1}\}\subseteq\uparrow\{\ell_{2}\},

with equality holding on one side iff it holds on the other.

If every Λ^\ell\in\widehat{\Lambda} can be represented by a distinct finite string, then, given our first and third assumptions on the label poset, we may without loss of generality represent each Λ^\ell\in\widehat{\Lambda} as a finite string λ()\lambda(\ell), where these strings satisfy the property that 12\ell_{1}\succeq\ell_{2} if, and only if, λ(1)\lambda(\ell_{1}), concatenated with a distinguished symbol, is a prefix of λ(2)\lambda(\ell_{2}).

To see the previous claim: Let ‘:\mathsf{:}’ be a distinguished symbol, and (re-encoding if necessary) let σ()\sigma(\ell) be a finite, ‘:\mathsf{:}’-free string representing the label \ell (and no \ell^{\prime}\neq\ell). Given \ell, we define its string label λ()\lambda(\ell) as follows. Let ^\widehat{\ell} be the maximum element in {}\uparrow\{\ell\}. Define λ(^)\lambda(\widehat{\ell}) as σ()\sigma(\ell). Inductively, let \ell^{\prime} be the largest element of {}\uparrow\{\ell\} for which λ()\lambda(\ell^{\prime}) has not yet been defined. Let ′′\ell^{\prime\prime} be the label covering \ell^{\prime}.555xx covers yy iff xyx\succ y and xzyx\succeq z\succeq y implies z=xz=x or z=yz=y. We define λ()\lambda(\ell^{\prime}) as the concatenation (indicated by the ^\widehat{\ } operator) λ(′′)^:^σ()\lambda(\ell^{\prime\prime})\ \widehat{\ }\ \text{`}\mathsf{:}\text{'}\ \widehat{\ }\ \sigma(\ell^{\prime}).

Because λ()\lambda(\ell^{\prime}) is defined inductively in terms of the string representations of the elements of the finite, linearly ordered set {}\uparrow\{\ell^{\prime}\}, it will not be defined in conflicting ways in the process of defining the λ\lambda labels of multiple elements of Λ^\widehat{\Lambda}.

By our inductive construction, in this canonical representation of labels, λ(1)^:\lambda(\ell_{1})\ \widehat{\ }\ \text{`}\mathsf{:}\text{'} is a prefix of λ(2)\lambda(\ell_{2}) if, and only if, 12\ell_{1}\succeq\ell_{2}. Furthermore, if s=σ()s=\sigma(\ell) and λ\lambda is any canonical label representation, then :^s^:\text{`}\mathsf{:}\text{'}\ \widehat{\ }s\ \widehat{\ }\ \text{`}\mathsf{:}\text{'} appears at most once as a substring of :^λ^:\text{`}\mathsf{:}\text{'}\ \widehat{\ }\lambda\ \widehat{\ }\ \text{`}\mathsf{:}\text{'}.

Our examples of labels will all have the form of canonical λ\lambda-labels as just described and as specified in the following grammar.

σ\displaystyle\sigma =\displaystyle= :’-free string that is not ‘𝖻𝗈𝗎𝗇𝖽\displaystyle\text{`}\mathsf{:}\text{'-free string that is not `}\mathsf{bound}\text{'}
λ\displaystyle\lambda =\displaystyle= 𝖻𝗈𝗎𝗇𝖽|σ|λ^:^σ\displaystyle\text{`}\mathsf{bound}\text{'}\ |\ \sigma\ |\ \lambda\ \widehat{\ }\ \text{`}\mathsf{:}\text{'}\ \widehat{\ }\ \sigma
 (where :^σ^: is not a substring of :^λ^:’)\displaystyle\ \text{ (where }\text{`}\mathsf{:}\text{'}\ \widehat{\ }\sigma\ \widehat{\ }\ \text{`}\mathsf{:}\text{'}\text{ is not a substring of }\text{`}\mathsf{:}\text{'}\ \widehat{\ }\lambda\ \widehat{\ }\ \text{`}\mathsf{:}\text{')}

If we use two labels λ1,λ2\lambda_{1},\lambda_{2}, then we have λ1λ2\lambda_{1}\succ\lambda_{2} if, and only if, λ1^:\lambda_{1}\ \widehat{\ }\ \text{`}\mathsf{:}\text{'} is a prefix of λ2\lambda_{2}.

Example 1.

Assume ‘𝖴𝖲𝖦\mathsf{USG}’, ‘𝖣𝖮𝖩\mathsf{DOJ}’, and ‘𝖥𝖡𝖨\mathsf{FBI}’ are σ\sigma-strings corresponding to the U.S. Government, Department of Justice, and the Federal Bureau of Investigation, respectively. Then:

𝖴𝖲𝖦\displaystyle\mathsf{USG} \displaystyle\succ 𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨,\displaystyle\mathsf{USG:DOJ:FBI},
𝗋𝖾𝖼𝗂𝗉𝖾𝗌\displaystyle\mathsf{recipes} \displaystyle\succ 𝗋𝖾𝖼𝗂𝗉𝖾𝗌:𝖥𝗋𝖾𝗇𝖼𝗁,\displaystyle\mathsf{recipes:French},
𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨\displaystyle\mathsf{USG:DOJ:FBI} \displaystyle\succ 𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨:𝗋𝖾𝖼𝗂𝗉𝖾𝗌:𝖥𝗋𝖾𝗇𝖼𝗁\displaystyle\mathsf{USG:DOJ:FBI:recipes:French}

but the label ‘𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨:𝗋𝖾𝖼𝗂𝗉𝖾𝗌\mathsf{USG:DOJ:FBI:recipes}’ and the label ‘𝗋𝖾𝖼𝗂𝗉𝖾𝗌:𝖥𝗋𝖾𝗇𝖼𝗁\mathsf{recipes:French}’ are incomparable.

Because we are using the canonical label format described above, no string may appear multiple times as a σ\sigma-string in a label; e.g., ‘𝗋𝖾𝖼𝗂𝗉𝖾𝗌:𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨:𝗋𝖾𝖼𝗂𝗉𝖾𝗌\mathsf{recipes:USG:DOJ:FBI:recipes}’ is not permitted as one of our example labels.

III-B Grammar, axioms, and rules

We now present a grammar (Sec. III-B1) for terms that may appear in our logic, our logical axioms and local axiom schemata (Sec. III-B2), and the deduction rules (Sec. III-B3) that we use. The local axiom schemata describe the forms of axioms that a principal may optionally use; they capture trust decisions specific to a principal and not inherent in our logic. We provide further discussion of the axioms and local axiom schemata in Sec. III-C.

III-B1 Grammar

We start with a grammar for the terms that may appear in our logic.

𝗆𝖺𝗒𝖻𝖾\displaystyle\mathsf{maybe} :=\displaystyle:= (𝖽𝗈𝗆𝖺𝗂𝗇,𝗈𝗇𝗂𝗈𝗇);\displaystyle\left(\mathsf{domain},\mathsf{onion}\right);
𝗉𝗋𝗂𝗇𝖼\displaystyle\mathsf{princ} :=\displaystyle:= P𝒫|𝖽𝗈𝗆𝖺𝗂𝗇,𝗈𝗇𝗂𝗈𝗇|𝗆𝖺𝗒𝖻𝖾;\displaystyle P\in\mathcal{P}\ |\ \left<\mathsf{domain},\mathsf{onion}\right>|\ \mathsf{maybe};
𝖻𝖽_𝗅𝖺𝖻𝖾𝗅\displaystyle\mathsf{bd\_label} :=\displaystyle:= ``𝖻𝗈𝗎𝗇𝖽";\displaystyle``\mathsf{bound}";
𝖻𝖽_𝗉𝖺𝗂𝗋\displaystyle\mathsf{bd\_pair} :=\displaystyle:= 𝖽𝗈𝗆𝖺𝗂𝗇,𝗈𝗇𝗂𝗈𝗇|𝖽𝗈𝗆𝖺𝗂𝗇,𝗈𝗇𝗂𝗈𝗇,𝖻𝖽_𝗅𝖺𝖻𝖾𝗅;\displaystyle\left<\mathsf{domain},\mathsf{onion}\right>\ |\ \left<\mathsf{domain},\mathsf{onion},\mathsf{bd\_label}\right>;
𝗌𝖿_𝗅𝖺𝖻𝖾𝗅\displaystyle\mathsf{sf\_label} :=\displaystyle:= Λ^;\displaystyle\ell\in\widehat{\Lambda};
𝗀𝖾𝗇_𝗅𝖺𝖻𝖾𝗅\displaystyle\mathsf{gen\_label} :=\displaystyle:= gΓ^;\displaystyle g\in\widehat{\Gamma};
𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\displaystyle\mathsf{bd\_l\_pair} :=\displaystyle:= 𝖻𝖽_𝗉𝖺𝗂𝗋|𝖽𝗈𝗆𝖺𝗂𝗇,𝗈𝗇𝗂𝗈𝗇,𝗀𝖾𝗇_𝗅𝖺𝖻𝖾𝗅;\displaystyle\mathsf{bd\_pair}\ |\ \left<\mathsf{domain},\mathsf{onion},\mathsf{gen\_label}\right>;
𝗌_𝗌𝗍𝗆𝗍\displaystyle\mathsf{s\_stmt} :=\displaystyle:= 𝗆𝖺𝗒𝖻𝖾says𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋;\displaystyle\mathsf{maybe}\,\textit{says}\,\,\mathsf{bd\_l\_pair};
𝗍_𝗌𝗍𝗆𝗍\displaystyle\mathsf{t\_stmt} :=\displaystyle:= 𝗉𝗋𝗂𝗇𝖼 trusts𝗌_𝗌𝗍𝗆𝗍|𝗉𝗋𝗂𝗇𝖼 trusts𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋;\displaystyle\mathsf{princ}\textit{\, trusts}\,\,\mathsf{s\_stmt}\ |\ \mathsf{princ}\textit{\, trusts}\,\,\mathsf{bd\_l\_pair};
𝗐𝗄_𝗈𝗋𝖽𝖾𝗋\displaystyle\mathsf{wk\_order} :=\displaystyle:= 𝗌𝖿_𝗅𝖺𝖻𝖾𝗅𝗌𝖿_𝗅𝖺𝖻𝖾𝗅;\displaystyle\mathsf{sf\_label}\preceq\mathsf{sf\_label};
𝗌𝗍𝗆𝗍\displaystyle\mathsf{stmt} :=\displaystyle:= 𝖻𝖽_𝗉𝖺𝗂𝗋|𝗌_𝗌𝗍𝗆𝗍|𝗍_𝗌𝗍𝗆𝗍|𝗐𝗄_𝗈𝗋𝖽𝖾𝗋;\displaystyle\mathsf{bd\_pair}\ |\ \mathsf{s\_stmt}\ |\ \mathsf{t\_stmt}\ |\ \mathsf{wk\_order};
𝖿𝗈𝗋𝗆\displaystyle\mathsf{form} :=\displaystyle:= 𝗌𝗍𝗆𝗍|𝖿𝗈𝗋𝗆𝖿𝗈𝗋𝗆|𝖿𝗈𝗋𝗆𝖿𝗈𝗋𝗆;\displaystyle\mathsf{stmt}\ |\ \mathsf{form}\rightarrow\mathsf{form}\ |\ \mathsf{form}\land\mathsf{form};

The definition of 𝗌_𝗌𝗍𝗆𝗍\mathsf{s\_stmt}s captures that, as noted above, only 𝗆𝖺𝗒𝖻𝖾\mathsf{maybe}s make assertions via  says   statements.

III-B2 Axioms and local axiom schemata

We start with our axioms.

  1. A1
    (12(P trustsD,O,2))P trustsD,O,1\begin{split}&\Bigl{(}\ell_{1}\succeq\ell_{2}\ \land\\ &\bigl{(}P\textit{\, trusts}\,\,\left<D,O,\ell_{2}\right>\bigr{)}\Bigr{)}\\ &\rightarrow\ P\textit{\, trusts}\,\,\left<D,O,\ell_{1}\right>\end{split}
  2. A2
    (123P trustsD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1)(P trusts(D1,O1)saysD2,O2,2)(P trusts(D2,O2)saysD2,O2,3))P trustsD2,O2,2\begin{split}&\Bigl{(}\ell_{1}\succeq\ell_{2}\succeq\ell_{3}\ \land\\ &P\textit{\, trusts}\,\,\left<D_{1},O_{1},\mathsf{sattestor}(\ell_{1})\right>\ \land\\ &\bigl{(}P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\ell_{2}\right>\bigr{)}\land\\ &\bigl{(}P\textit{\, trusts}\,\,\left(D_{2},O_{2}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\ell_{3}\right>\bigr{)}\Bigr{)}\\ &\rightarrow P\textit{\, trusts}\,\,\left<D_{2},O_{2},\ell_{2}\right>\end{split}
  3. A3
    (123P trustsD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1)(P trusts(D1,O1)saysD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(2))(P trusts(D2,O2)saysD3,O3,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(3)))P trustsD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(3)\begin{split}&\Bigl{(}\ell_{1}\succeq\ell_{2}\succeq\ell_{3}\ \land\\ &P\textit{\, trusts}\,\,\left<D_{1},O_{1},\mathsf{sattestor}^{*}(\ell_{1})\right>\ \land\\ &\bigl{(}P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{sattestor}^{*}(\ell_{2})\right>\bigr{)}\ \land\\ &\bigl{(}P\textit{\, trusts}\,\,\left(D_{2},O_{2}\right)\,\textit{says}\,\,\left<D_{3},O_{3},\mathsf{sattestor}(\ell_{3})\right>\bigr{)}\Bigr{)}\\ &\rightarrow P\textit{\, trusts}\,\,\left<D_{2},O_{2},\mathsf{sattestor}^{*}(\ell_{3})\right>\end{split}
  4. A4
    (123P trustsD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1)(P trusts(D1,O1)saysD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(2))(P trusts(D2,O2)saysD3,O3,3))P trustsD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(3)\begin{split}&\Bigl{(}\ell_{1}\succeq\ell_{2}\succeq\ell_{3}\ \land\\ &P\textit{\, trusts}\,\,\left<D_{1},O_{1},\mathsf{sattestor}^{*}(\ell_{1})\right>\land\\ &\bigl{(}P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{sattestor}(\ell_{2})\right>\bigr{)}\land\\ &\bigl{(}P\textit{\, trusts}\,\,\left(D_{2},O_{2}\right)\,\textit{says}\,\,\left<D_{3},O_{3},\ell_{3}\right>\bigr{)}\Bigr{)}\\ &\rightarrow P\textit{\, trusts}\,\,\left<D_{2},O_{2},\mathsf{sattestor}(\ell_{3})\right>\end{split}
  5. A5
    P trustsD,O,gP trustsD,O,𝖻𝗈𝗎𝗇𝖽\begin{split}&P\textit{\, trusts}\,\,\left<D,O,g\right>\\ &\rightarrow\ P\textit{\, trusts}\,\,\left<D,O,\mathsf{bound}\right>\end{split}
  6. A6
    (P trusts(D,O)saysφ)(P trusts(D,O)saysD,O,𝖻𝗈𝗎𝗇𝖽)\begin{split}&\bigl{(}P\textit{\, trusts}\,\,\left(D,O\right)\,\textit{says}\,\,\varphi\bigr{)}\\ &\rightarrow\bigl{(}P\textit{\, trusts}\,\,\left(D,O\right)\,\textit{says}\,\,\left<D,O,\mathsf{bound}\right>\bigr{)}\end{split}
  7. A7
    P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\begin{split}&P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\ell)\right>\\ &\rightarrow P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\ell)\right>\end{split}
  8. A8
    P trusts(D1,O1)saysD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P trusts(D1,O1)saysD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\begin{split}&P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{sattestor}^{*}(\ell)\right>\\ &\rightarrow P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{sattestor}(\ell)\right>\end{split}
  9. A9
    12(P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1))(P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(2)))\begin{split}&\ell_{1}\succeq\ell_{2}\ \land\\ &\bigl{(}P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\ell_{1})\right>\bigr{)}\\ &\rightarrow\ \bigl{(}P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\ell_{2})\right>\bigr{)})\end{split}
  10. A10
    12(P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1))(P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(2))\begin{split}&\ell_{1}\succeq\ell_{2}\ \land\\ &\bigl{(}P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\ell_{1})\right>\bigr{)}\\ &\rightarrow\ \bigl{(}P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\ell_{2})\right>\bigr{)}\end{split}
  11. A11
    (D,O)saysφ(P trusts(D,O)saysφ)\begin{split}&\left(D,O\right)\,\textit{says}\,\,\varphi\\ &\rightarrow\bigl{(}P\textit{\, trusts}\,\,\left(D,O\right)\,\textit{says}\,\,\varphi\bigr{)}\end{split}
  12. A12
    1. (a)
      (φψ)φ(\varphi\land\psi)\rightarrow\varphi
    2. (b)
      (φψ)(ψφ)(\varphi\land\psi)\rightarrow(\psi\land\varphi)
    3. (c)
      (φ(ψδ))((φψ)δ)(\varphi\land(\psi\land\delta))\rightarrow((\varphi\land\psi)\land\delta)

We also specify the form of local axiom schemata that a principal may, optionally, use to reflect local trust. These are parameterized either by two 𝗀𝖾𝗇_𝗅𝖺𝖻𝖾𝗅\mathsf{gen\_label}s (𝖣𝖤𝖫(,)\mathsf{DEL}(,)) or by a 𝖽𝗈𝗆𝖺𝗂𝗇\mathsf{domain} and 𝗈𝗇𝗂𝗈𝗇\mathsf{onion} (𝖲𝖠𝖳𝖳(,)\mathsf{SATT}(,) and 𝖲𝖠𝖳𝖳(,)\mathsf{SATT}^{*}(,)).

P trustsD,O,g1P trustsD,O,g2for given g1,g2 and for any D,O.P\textit{\, trusts}\,\,\langle D,O,g_{1}\rangle\ \rightarrow\ P\textit{\, trusts}\,\,\langle D,O,g_{2}\rangle\\ \text{for given }g_{1},g_{2}\text{ and for any }D,O. (1)
P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋() for given D,Oand for any and all labels .P\textit{\, trusts}\,\,\langle D,O,\mathsf{sattestor}(\ell)\rangle\text{ for given }D,O\\ \text{and for any and all labels }\ell. (2)
P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋() for given D,Oand for any and all labels .P\textit{\, trusts}\,\,\langle D,O,\mathsf{sattestor}^{*}(\ell)\rangle\text{ for given }D,O\\ \text{and for any and all labels }\ell. (3)

III-B3 Rules

Finally, we note the logical rules that we allow.

φ and φψψ\varphi\text{ and }\varphi\rightarrow\psi\ \implies\ \psi (𝖬𝖯\mathsf{MP})
φ and ψφψ\varphi\text{ and }\psi\ \implies\ \varphi\land\psi (𝖨\mathsf{\land I})

We now describe the reasoning reflected in our axioms and motivation for these as well as for our linguistic and logical choices, after which we will present our semantics.

III-C Motivation for linguistic and logical design decisions

This section describes the intent behind our axioms and rule schemata as well as decisions for the linguistic and logic design choices we have made.

The only rules are Modus Ponens (𝖬𝖯\mathsf{MP}) and Adjunction (𝖨\mathsf{\land I}, a.k.a. And-Introduction). Local axiom schemata reflect local trust assumptions particular principals might hold about nonlogical trust relations between labels or which principals to trust as sattestor.

Axiom A1 effectively says that any SATA that PP trusts to have a particular property label is also trusted to have any broader label, e.g., being a U.S. Government Dept. of Justice SATA (label 𝖴𝖲𝖦:𝖣𝖮𝖩\mathsf{USG:DOJ}) implies being a U.S. Government SATA (label 𝖴𝖲𝖦\mathsf{USG}). A1 guides other design choices and how labels should be interpreted. It is important to understand that in our view labels do not capture authorization. We instead view narrowing a label as providing more specific information: for \ell\succ\ell^{\prime}, we view D,O,\left<D,O,\ell^{\prime}\right> as more specific than D,O,\left<D,O,\ell\right>.

The 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} label is incomparable to all other labels. If it were narrower than one or more other labels, A1 would allow us to infer that a SATA had those labels simply because it is bound. And if 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} were broader than one or more other labels, A9 would allow a SATA that is trusted to have 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖻𝗈𝗎𝗇𝖽)\mathsf{sattestor}(\mathsf{bound}) to sattest to D,O,\left<D,O,\ell^{\prime}\right> for any DD and OO and any of those narrower labels \ell^{\prime}. An analogous problem would also arise with A10 and 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖻𝗈𝗎𝗇𝖽)\mathsf{sattestor}^{*}(\mathsf{bound}).

Axioms A2A4 tell us a label that one can infer is bound to a particular SATA based on a label that a trusted sattestor has attested is bound to that SATA. The first antecedent conjunct of each of these (about the relation between the three labels occuring in the other antecedent conjuncts) allows for the possibility that the labels in each of them need not be identical but can be appropriate narrowings or broadenings of the others. These axioms also reflect (in the fourth antecedent conjunct of each) the goal of authority independence. As originally stated, authority independence means that a misbehaving or misled CA will not be trusted by itself to bind an onion address and a domain in a TLS certificate. The owner of the domain and the onion address must concur for this binding to be trusted by a SATA-aware client [6, 7]. The authority independence aspect introduced herein applies not to CAs but to sattestors: a sattestor’s assertion that a sattestee has a label will not be trusted unless the sattestee concurs. For Axiom A2, this is an explicit assertion of a label 3\ell_{3} that weakly narrows the sattested label; for Axioms A3 and A4, this is a statement in which the sattestee acts as a sattestor in the appropriate way. We need three axioms to cover the different kinds of labels in the ultimate consequent: sattestor-free, delegatable sattestor, or simple sattestor, respectively.

For practical simplicity, a sattestor knows the label i\ell_{i} for which it is providing a sattestation and only states it under a role qualified to do so. We assume any sattestor can detect and resist an attacker attempting to somehow confuse that sattestor about the state it is in so as to cause it to utter a sattestation under a sattestor role different from one appropriate for the sattestation uttered. This allows us to avoid having to include a label 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(j)\mathsf{sattestor}(\ell_{j}) (or respectively 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(j)\mathsf{sattestor}^{*}(\ell_{j})) under which (D1,O1)(D_{1},O_{1}) is making a sattestation in the second trust conjunct of Axiom A2—or indeed having a sattestor making any statement be anything beyond a may-be.

We do not include an analogue of Axiom A2 that replaces the restriction 123\ell_{1}\succeq\ell_{2}\succeq\ell_{3} with the restrictions 12\ell_{1}\succeq\ell_{2} and 32\ell_{3}\succ\ell_{2}, i.e., in which the label claimed by the sattestee is (strictly) broader than the label given by the sattestor. We now explain why.

If we derived the narrower label given by the sattestor—i.e., we derived P trustsD2,O2,2P\textit{\, trusts}\,\,\left<D_{2},O_{2},\ell_{2}\right>—then we would be giving the sattestee a label that is more specific than what it claims about itself. This contradicts the motivation for requiring the sattestee to say a label consistent with what the sattestor says. For example, we would not want a sattestor to be able to give the label 𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨:𝗋𝖾𝖼𝗂𝗉𝖾𝗌:𝖥𝗋𝖾𝗇𝖼𝗁\mathsf{USG:DOJ:FBI:recipes:French} to a site that only claims the label 𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨\mathsf{USG:DOJ:FBI} for itself.

If we derived the broader label claimed by the sattestee—i.e., we derived P trustsD2,O2,3P\textit{\, trusts}\,\,\left<D_{2},O_{2},\ell_{3}\right>—then the concern is a bit more subtle. As an example, consider labels that reflect the structure of a hierarchical organization. Suppose that (D1,O1)(D_{1},O_{1}) is a directory site in the engineering division of ACME Corp. that can label other sites as research sites within that division, i.e., it has the property 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖠𝖢𝖬𝖤:𝖤𝗇𝗀:𝗋𝖾𝗌𝖾𝖺𝗋𝖼𝗁)\mathsf{sattestor}(\mathsf{ACME:Eng:research}). Suppose that (D2,O2)(D_{2},O_{2}) is an internal server for the marketing division of ACME Corp. (D2,O2)(D_{2},O_{2}) claims that it is an ACME Corp. site by saying it has the label 𝖠𝖢𝖬𝖤\mathsf{ACME}. If (D1,O1)(D_{1},O_{1}) says that (D2,O2)(D_{2},O_{2}) has the label 𝖠𝖢𝖬𝖤:𝖤𝗇𝗀:𝗋𝖾𝗌𝖾𝖺𝗋𝖼𝗁\mathsf{ACME:Eng:research}, then—using the hypothetical axiom we are considering—we could derive that (D2,O2)(D_{2},O_{2}) has the label 𝖠𝖢𝖬𝖤\mathsf{ACME}. On one hand, this seems reasonable; if (D2,O2)(D_{2},O_{2}) had the label 𝖠𝖢𝖬𝖤:𝖬𝖺𝗋𝗄𝖾𝗍𝗂𝗇𝗀:𝗂𝗇𝗍𝖾𝗋𝗇𝖺𝗅\mathsf{ACME:Marketing:internal}, then it would also have the label 𝖠𝖢𝖬𝖤\mathsf{ACME} (by A1). On the other hand, the derivation that we are considering makes use of a sattestation by a site (D1,O1)(D_{1},O_{1}) that is in a different administrative division from (D2,O2)(D_{2},O_{2}) and whose 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}() authority does not cover the division containing (D2,O2)(D_{2},O_{2}). On balance, we think this is undesirable, so we do not include such a derivation here. If (D2,O2)(D_{2},O_{2}) wanted the broader label 3\ell_{3}—here, 𝖠𝖢𝖬𝖤\mathsf{ACME}—based on the sattestation from (D1,O1)(D_{1},O_{1}), then it needs to claim the narrower label 2\ell_{2}—here 𝖠𝖢𝖬𝖤:𝖤𝗇𝗀:𝗋𝖾𝗌𝖾𝖺𝗋𝖼𝗁\mathsf{ACME:Eng:research}—so that 123\ell_{1}\succeq\ell_{2}\succeq\ell_{3}, and A2 would apply.

Many notions called ‘trust’ are transitive, though this is also sometimes criticised [15]. Following previous work on SATAs, our notion is not inherently transitive. Just because PP trusts that a D,O,\left<D,O,\ell\right> is bound and has property \ell, does not mean that PP trusts sattestations by (D,O)(D,O). And even if PP trusts sattestations by (D,O)(D,O), it may not trust (D,O)(D,O) to sattest who else is a sattestor. See [6] for an illustrative example.

Rather than simply prohibit transitive trust, our axioms (above) and truth conditions (below) set out the contextual assumptions under which we support it.

Axiom A5 ensures that a SATA trusted to be bound with any label is also trusted to be simply bound.

Axiom A6 tells us that if a principal trusts that a SATA has asserted anything, that SATA is trusted to be implicitly asserting that it is itself a bound SATA.

Axiom A7 indicates that when a principal trusts that a SATA is a delegatable-sattestor of a label it also trusts that SATA is simply a sattestor of that same label. Axiom A8 reflects that principal trust in an assertion about a delegatable-sattestor label similarly implies trust in an assertion about a simple sattestor of the label. Note that A8, combined with A7, allows for a simplification of the logic with respect to Axioms A2A4. It could have been necessary to have two versions of each of those axioms: wherever 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}() occurs in an antecedent clause of those axioms we could have also needed to have a version of the axiom with 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}() in that clause. But Axioms A7 and A8 allow us to infer trust in a simple sattestor label (assertion about such a label) from trust in a delegatable-sattestor label (assertion about such a label).

Axioms A9 and A10 describe trust that a (delegatable) sattestor of any label is also a (delegatable) sattestor of any narrowing of that label.

Axiom A11 indicates that any statement is effectively a public announcement. Every principal knows every assertion made by any SATA. (Principals do not necessarily trust what is asserted; they only trust that it is asserted.) Note that we are not concerned in this logic with capturing reasoning about the sending of messages or authenticated propagation of information. Rather we are concerned with what can be inferred from assertions made by any principal together with assumptions regarding who is trusted to assert which bindings.

Axiom A12 comprises collectively the standard axioms for use of the sentential connective for conjunction. We will in general be liberal in our writing of conjunctions when the usage is clear and consistent with propositional logic, thus allowing, e.g., ‘φψδ\varphi\land\psi\land\delta’. (We have similarly allowed, .e.g., ‘123\ell_{1}\succeq\ell_{2}\succeq\ell_{3}’.)

For the local axiom schemata, a principal would use an instance of 1 to trust that any SATA bound to a label g1g_{1} is also bound to the label g2g_{2}. The 2 and 3 schemata allow a principal to trust a specified SATA to be a (delegatable) sattestor for any label. This is useful if the principal wants to trust whatever her employer (or a trustworthy friend, etc.) says.

III-D Semantics

A frame \mathcal{F} comprises a tuple (W,{RP})(W,\{R_{P}\}) where WW is a set of worlds, and for each principal PP there is a relation RPW×WR_{P}\subseteq W\times W on worlds such that (w,w)RP(w,w^{\prime})\in R_{P} indicates ww^{\prime} is accessible from ww by PP. A model \mathcal{M} consists of: a frame \mathcal{F}, a client cc, a set 𝒟\mathcal{D} of domain names, a set 𝒪\mathcal{O} of onion addresses, a label set Λ^\widehat{\Lambda} and a partial order \prec on it, the set Φ\Phi of all well-formed formulae (all 𝖿𝗈𝗋𝗆\mathsf{form}s in our grammar above), and a (world-dependent) assignment function awa_{w} based on those. Note that all names, labels (and the partial order on them), and statements are shared globally across worlds, while local differences (between worlds) are all reflected in the assignment function awa_{w}. So, in a frame =(W,{RP})\mathcal{F}=(W,\{R_{P}\}), a world wWw\in W is a tuple (c,𝒟,𝒪,Λ^,,Φ,aw)(c,\mathcal{D},\mathcal{O},\widehat{\Lambda},\prec,\Phi,a_{w}). Because we do not attempt in this logic to capture faulty trust reasoning (where a principal can trust something that is false), our accessibility relation on worlds RR is reflexive.

Ours is not a normal modal logic, primarily because we do not capture trust of arbitrary formulae. Given our motivating application, our focus is ultimately on reasoning about contextual trust (the binding of labeled SATAs) while relying on the types of utterances that are made in sattestations. While extensions of our logic may be of future interest from a logical perspective, here we intentionally restrict our language to trust in SATA bindings and specified types of assertions. Thus, as already noted, in our current language only a may-be can say anything. Further, the only thing that can be said is a bound SATA, which may have any type of label. And the only formulae that a principal can trust are those expressing such bound SATAs and those expressing utterances of bound SATAs by a may-be SATA. To minimize notation we do not introduce separate notation for the formulae that a may-be can say or for the formulae that a principal can trust. But it should be kept in mind that these cannot be arbitrary formulae.

To capture binding of identities we introduce a pair of functions β1,β2\beta_{1},\beta_{2} on 𝒟×𝒪\mathcal{D}\times\mathcal{O}, where β1((D,O))=\beta_{1}((D,O))= the set of all (Di,Oi)𝒟×𝒪(D_{i},O_{i})\in\mathcal{D}\times\mathcal{O} s.t. DiD_{i} is bound with OO, and
β2((D,O))=\beta_{2}((D,O))= the set of all (Di,Oi)𝒟×𝒪(D_{i},O_{i})\in\mathcal{D}\times\mathcal{O} s.t. OiO_{i} is bound with DD. Those preliminaries out of the way, we now set out the conditions that our assignment function must satisfy. The specification of an assignment function awa_{w} satisfying these then determines the truth conditions. For a world ww and a label \ell, aw()a_{w}(\ell) defines those (D,O)(D,O) for which D,O,\left<D,O,\ell\right> in ww. Similarly, aw(Φ(D,O))a_{w}(\Phi_{(D,O)}) defines the set of statements that (D,O)(D,O) utters in ww. We discuss constraints on the assignment function in Sec. III-C.

  1. AF1

    aw(c)=ca_{w}(c)=c, aw(D𝒟)=Da_{w}(D\in\mathcal{D})=D, aw(O𝒪)=Oa_{w}(O\in\mathcal{O})=O

  2. AF2

    aw(Λ^)𝒟×𝒪a_{w}(\ell\in\widehat{\Lambda})\subseteq\mathcal{D}\times\mathcal{O}

  3. AF3

    aw(Φ(D,O)){φ|φ is a 𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋}a_{w}(\Phi_{(D,O)})\subseteq\{\varphi|\varphi\text{ is a }\mathsf{bd\_l\_pair}\}

  4. AF4

    aw(β1((D,O)))β1((D,O))a_{w}(\beta_{1}((D,O)))\subseteq\beta_{1}((D,O)),
    aw(β2((D,O)))β2((D,O))a_{w}(\beta_{2}((D,O)))\subseteq\beta_{2}((D,O)),

By uttering a formula, any SATA implicitly asserts that it is an entity. We thus restrict aw(Φ(D,O))a_{w}(\Phi_{(D,O)}) so that if aw(Φ(D,O))a_{w}(\Phi_{(D,O)}) is nonempty, then D,O,𝖻𝗈𝗎𝗇𝖽aw(Φ(D,O))\langle D,O,\mathsf{bound}\rangle\in a_{w}(\Phi_{(D,O)}). (In general, note that an element of aw(Φ(D,O))a_{w}(\Phi_{(D,O)}) is a 𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{bd\_l\_pair} π\pi and not an 𝗌_𝗌𝗍𝗆𝗍\mathsf{s\_stmt} of the form (D,O)saysπ(D,O)\,\textit{says}\,\,\pi.) Also, the set of SATAs with a given label can vary from world to world. Nonetheless, we do not permit that \ell^{\prime}\prec\ell in one world but not in another. Thus if aw()aw()a_{w}(\ell^{\prime})\subseteq a_{w}(\ell) at any world ww, then aw()aw()a_{w^{\prime}}(\ell^{\prime})\subseteq a_{w^{\prime}}(\ell) at all worlds ww^{\prime}. We reflect this in our truth conditions, which we set out following some preliminary remarks.

We give truth conditions to expressions in our language in terms of satisfaction at a world ww. (We take the model, 𝒲\mathcal{W} to be set and implicit.) We begin with the various logically atomic formulae: first expressing the narrowing relation on labels, then various types of formulae for SATAs bound with different types of labels. Next we present truth conditions for formulae reflecting assertions, then trust formulae, and finally formulae containing logical connectives.

Our semantics is model-theoretic in structure, not operational, but we are also motivated by an operational perspective reflected in the truth conditions for various individual kinds of formulae. Together, the truth conditions allow us to evaluate wϕw\models\phi, where ϕ\phi is a 𝖿𝗈𝗋𝗆\mathsf{form} in our grammar. Truth conditions rely on the function awa_{w} and truth conditions weakly earlier in the list; for convenience, the first line of each truth condition indicates the type of ϕ\phi for which it defines the truth of wϕw\models\phi.

  1. TC1

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝗐𝗄_𝗈𝗋𝖽𝖾𝗋\mathsf{stmt:wk\_order}]
    ww\models\ell\preceq\ell^{\prime} iff
    (^:\ell^{\prime}\ \widehat{}: is an initial string of \ell) \land
    ( for all ww^{\prime}, aw()aw()a_{w^{\prime}}(\ell)\subseteq a_{w^{\prime}}(\ell^{\prime}))

  2. TC2

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝖻𝖽_𝗉𝖺𝗂𝗋\mathsf{stmt:bd\_pair}]
    wD,O,𝖻𝗈𝗎𝗇𝖽w\models\langle D,O,\mathsf{bound}\rangle iff
    wD,Ow\models\langle D,O\rangle iff
    (aw(D)=𝗉𝗋𝗈𝗃1(D,O)a_{w}(D)=\mathsf{proj}_{1}(D^{\prime},O^{\prime})
    for some (D,O)aw(β1(D,O))(D^{\prime},O^{\prime})\in a_{w}(\beta_{1}(D,O))) \land
    (aw(O)=𝗉𝗋𝗈𝗃2(D′′,O′′)a_{w}(O)=\mathsf{proj}_{2}(D^{\prime\prime},O^{\prime\prime})
    for some (D′′,O′′)aw(β2(D,O))(D^{\prime\prime},O^{\prime\prime})\in a_{w}(\beta_{2}(D,O)))

  3. TC3

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝗍_𝗌𝗍𝗆𝗍:𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{stmt:t\_stmt:bd\_l\_pair} with gΛ^{𝖻𝗈𝗎𝗇𝖽}g\in\widehat{\Lambda}\setminus\{\mathsf{bound}\}]
    wD,O,w\models\langle D,O,\ell\rangle iff
    (wD,O,𝖻𝗈𝗎𝗇𝖽w\models\langle D,O,\mathsf{bound}\rangle) \land ((D,O)aw())(D,O)\in a_{w}(\ell)\big{)}

  4. TC4

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝗍_𝗌𝗍𝗆𝗍:𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{stmt:t\_stmt:bd\_l\_pair} with g=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()g=\mathsf{sattestor}(\ell)]
    wD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()w\models\langle D,O,\mathsf{sattestor}(\ell)\rangle iff
    (wD,O,𝖻𝗈𝗎𝗇𝖽w\models\langle D,O,\mathsf{bound}\rangle) \land
    (if (D,O,aw(Φ(D,O))\langle D^{\prime},O^{\prime},\ell^{\prime}\rangle\in a_{w}(\Phi_{(D,O)}) \land
       D,O,′′aw(Φ(D,O))\langle D^{\prime},O^{\prime},\ell^{\prime\prime}\rangle\in a_{w}(\Phi_{(D^{\prime},O^{\prime})}) \land
       w′′w\models\ell^{\prime\prime}\preceq\ell^{\prime} \land
       ww\models\ell^{\prime}\preceq\ell)
    then wD,O,w\models\langle D^{\prime},O^{\prime},\ell^{\prime}\rangle)

  5. TC5

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝗍_𝗌𝗍𝗆𝗍:𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{stmt:t\_stmt:bd\_l\_pair} with g=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()g=\mathsf{sattestor}^{*}(\ell)]
    wD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(())w\models\langle D_{1},O_{1},\mathsf{sattestor}^{*}((\ell))\rangle iff
    wD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(())w\models\langle D_{1},O_{1},\mathsf{sattestor}((\ell))\rangle \land
    ( if (w′′w\models\ell^{\prime\prime}\preceq\ell^{\prime} \land ww\models\ell^{\prime}\preceq\ell), then
    ((if (D2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()aw(Φ(D1,O1))\langle D_{2},O_{2},\mathsf{sattestor}^{*}(\ell^{\prime})\rangle\in a_{w}(\Phi_{(D_{1},O_{1})}) \land
    D3,O3,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)aw(Φ(D2,O2))\langle D_{3},O_{3},\mathsf{sattestor}(\ell^{\prime\prime})\rangle\in a_{w}(\Phi_{(D_{2},O_{2})})) then
    wD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)w\models\langle D_{2},O_{2},\mathsf{sattestor}^{*}(\ell^{\prime\prime})\rangle) \land
    (if (D2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()aw(Φ(D1,O1))\langle D_{2},O_{2},\mathsf{sattestor}(\ell^{\prime})\rangle\in a_{w}(\Phi_{(D_{1},O_{1})}) \land
    D3,O3,′′aw(Φ(D2,O2))\langle D_{3},O_{3},\ell^{\prime\prime}\rangle\in a_{w}(\Phi_{(D_{2},O_{2})}) ) then
    wD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)w\models\langle D_{2},O_{2},\mathsf{sattestor}(\ell^{\prime\prime})\rangle )) )

  6. TC6

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝗌_𝗌𝗍𝗆𝗍\mathsf{stmt:s\_stmt}, i.e., of form 𝗆𝖺𝗒𝖻𝖾says𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{maybe}\,\textit{says}\,\,\mathsf{bd\_l\_pair}]
    w(D,O)saysφw\models(D,O)\,\textit{says}\,\,\varphi iff
    (for all PP, RP(w,w)φaw(Φ(D,O))R_{P}(w,w^{\prime})\Rightarrow\varphi\in a_{w^{\prime}}(\Phi_{(D,O)})) \land
    (if φ=D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\varphi=\langle D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell)\rangle for some DD^{\prime}, OO^{\prime}, and \ell,
    then D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()aw(Φ(D,O))\langle D^{\prime},O^{\prime},\mathsf{sattestor}(\ell)\rangle\in a_{w^{\prime}}(\Phi_{(D,O)}))

  7. TC7

    [ϕ\phi is 𝗌𝗍𝗆𝗍:𝗍_𝗌𝗍𝗆𝗍\mathsf{stmt:t\_stmt}; φ\varphi must be 𝗌_𝗌𝗍𝗆𝗍\mathsf{s\_stmt} or 𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{bd\_l\_pair}]
    wP trustsφw\models P\textit{\, trusts}\,\,\varphi iff
    wW\forall w^{\prime}\in W (if RP(w,w)R_{P}(w,w^{\prime}), then wφw^{\prime}\models\varphi)

  8. TC8

    [ϕ\phi is 𝖿𝗈𝗋𝗆𝖿𝗈𝗋𝗆\mathsf{form}\rightarrow\mathsf{form}]
    wφψw\models\varphi\rightarrow\psi iff
    w⊧̸φw\not\models\varphi or wψw\models\psi.

  9. TC9

    [ϕ\phi is 𝖿𝗈𝗋𝗆𝖿𝗈𝗋𝗆\mathsf{form}\land\mathsf{form}]
    wφψw\models\varphi\land\psi iff
    wφw\models\varphi and wψw\models\psi.

Note that it is possible for circular dependencies involving TC5. Thus, e.g., the condition wD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()w\models\left<D,O,\mathsf{sattestor}^{*}(\ell)\right> might depend on wD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()w\models\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell)\right> and vice versa. For our motivating scenario in Section V, this is not a problem: as shown by Thm. VI.4, a principal will not derive trust in a SATA of the form D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\left<D,O,\mathsf{sattestor}^{*}(\ell)\right> unless this is rooted in an explicit local assumption (and not a cycle of dependencies). We now further describe scenarios motivating choices for the semantics of 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}().

Repeated delegation of same label for redundancy

A (hypothetical) motivating case for the 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}() operator is: the Department of Defense (DoD) is a trusted root for saying that a server is usable by operational forces via the label 𝖣𝗈𝖣𝗈𝗉𝗌\mathsf{DoDops}. These forces may be operating in a communication-denied/-degraded environment. If one server Di,Oi,𝖣𝗈𝖣𝗈𝗉𝗌\left<D_{i},O_{i},\mathsf{DoDops}\right> is being replaced or augmented by another server (Dj,Oj)(D_{j},O_{j}), it may not be possible to get DoD to provide a sattestation for (Dj,Oj)(D_{j},O_{j}) in a timely manner. It would be useful if (Di,Oi)(D_{i},O_{i}) could do this, so that there would be a chain of trust from DoD to Di,Oi,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖣𝗈𝖣𝗈𝗉𝗌)\left<D_{i},O_{i},\mathsf{sattestor}^{*}(\mathsf{DoDops})\right>. (Di,Oi)(D_{i},O_{i}) could then provide a sattestation of Dj,Oj,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖣𝗈𝖣𝗈𝗉𝗌)\left<D_{j},O_{j},\mathsf{sattestor}^{*}(\mathsf{DoDops})\right>; if needed, this would allow (Dj,Oj)(D_{j},O_{j}) to provide a sattestation of Dk,Ok,𝖣𝗈𝖣𝗈𝗉𝗌\left<D_{k},O_{k},\mathsf{DoDops}\right>, etc.

Delegating narrower authority without needing to know how it might be narrowed further

A (hypothetical) motivating case for the 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}() operator that makes use of label narrowing is: the General Services Administration (GSA, assumed to be a trusted root for 𝖴𝖲𝖦\mathsf{USG}) sattests to D1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦:𝖣𝖮𝖩)\left<D_{1},O_{1},\mathsf{sattestor}^{*}(\mathsf{USG:DOJ})\right> for the DOJ. (D1,O1)(D_{1},O_{1}) sattests to D2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨)\left<D_{2},O_{2},\mathsf{sattestor}^{*}(\mathsf{USG:DOJ:FBI})\right> for the FBI. This eventually works its way down to a sattestation that effectively asserts that the FBI’s New York field office website is a U.S. Government website. GSA should not need to know DOJ or FBI structure and delegations in order for this to work.

Delegation is permitted to “break” narrowing

The the U.S. Dept. of Justice, Bureau of Justice Assistance maintains on the web [16] a list of civil liberties organizations including the Electronic Frontier Foundation (EFF). One could imagine using SATAs to capture (with stronger authentication) trust in this list by using local axiom schema 1 to state that if PP trusts D,O,𝖴𝖲𝖦:𝖣𝖮𝖩\left<D,O,\mathsf{USG:DOJ}\right> then PP trusts D,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌)\left<D,O,\mathsf{sattestor}^{*}(\mathsf{civil\_liberties})\right>. This could then permit a trust that is ultimately rooted in a GSA SATA with the label 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦)\mathsf{sattestor}^{*}(\mathsf{USG}) to permit trust in an EFF SATA with label 𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌\mathsf{civil\_liberties} even though, 𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌𝖴𝖲𝖦\mathsf{civil\_liberties}\not\preceq\mathsf{USG}. Section V presents a worked example elaborating on this and illustrating the implementation of it.

III-E Soundness and incompleteness

III-E1 Soundness

A derivation is a sequence of formulae, where each line in the derivation is either an assumption or follows from the set of assumptions Γ\Gamma by an application of one of the two rules to previously derived lines or instances of an axiom. Assumptions include instances of local trust axiom schemata and specific trust statements that a principal has preloaded, each being either a bound SATA or an assertion by a SATA about a bound SATA. Assumptions also include facts about narrowings and broadenings of labels otherwise occurring in the set of assumptions.

We present new notation needed to state our soundness result. Let Γ\Gamma stand for a finite set of formulae666We recognize the notation overload from the use of ‘Γ\Gamma’ for a set of labels introduced above. We nonetheless stick with the common use of ‘Γ\Gamma’ for a finite set of formulae when speaking of derivations and soundness, and we rely on context to keep the usages clear. with and φ\varphi as before be an arbitrary formula. ‘Γφ\Gamma\vdash\varphi’ means that φ\varphi is derivable from Γ\Gamma and the axioms using the inference rules of the logic. ‘Γ|φ\Gamma\,|\kern-3.00003pt\models\,\varphi’ means that, in all models, φ\varphi is true at all the worlds at which all the members of Γ\Gamma are true. Our use of ‘|\,|\kern-3.00003pt\models\,’ follows [17]. The more common notation corresponding to this use of ‘|\,|\kern-3.00003pt\models\,’ is ‘\models’. But, ‘\models’ is being used to represent satisfaction of a formula at a given world. We thus avoid this notational overload.

Theorem III.1.

(Soundness) If Γφ\Gamma\vdash\varphi, then Γ|φ\Gamma\,|\kern-3.00003pt\models\,\varphi.

Proof.

To begin we need the following lemma.

Lemma III.2.

All axioms are valid in all models.

Proof.

This result follows directly by inspection of the truth conditions, which amounts to tedious case checking. We thus set out just one axiom as an example. We choose Axiom A3 because it uses all of the linguistic expressions of our language, thus invokes multiple truth conditions.

Suppose ww satisfies the antecedent of Axiom A3, where the labels are 1,2,3\ell_{1},\ell_{2},\ell_{3} and the SATAs are (D1,O1)(D_{1},O_{1}), (D2,O2)(D_{2},O_{2}), and (D3,O3)(D_{3},O_{3}). Then by TC9, ww satisfies each of the conjuncts. Thus we suppose w123w\models\ell_{1}\succeq\ell_{2}\succeq\ell_{3}. Let PP be a principal for which wP trustsD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1)w\models P\textit{\, trusts}\,\,\langle D_{1},O_{1},\mathsf{sattestor}^{*}(\ell_{1})\rangle. Then by TC7, for all ww^{\prime} s.t. RP(w,w)R_{P}(w,w^{\prime}), we have wD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(1)w^{\prime}\models\langle D_{1},O_{1},\mathsf{sattestor}^{*}(\ell_{1})\rangle. Thus, by TC7 applied also to the other antecedent conjuncts and then by clause (a) of TC5, wD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(3)w^{\prime}\models\langle D_{2},O_{2},\mathsf{sattestor}^{*}(\ell_{3})\rangle. Thus by a final invocation of TC7, wP trustsD2,O2,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(3)w\models P\textit{\, trusts}\,\,\langle D_{2},O_{2},\mathsf{sattestor}^{*}(\ell_{3})\rangle.

We now proceed to prove the theorem by showing that all the ways that φ\varphi can follow from Γ\Gamma are ways that preserve truth. This is also straightforward.

φ\varphi is an axiom or member of Γ\Gamma.

Then Γ|φ\Gamma\,|\kern-3.00003pt\models\,\varphi trivially.

φ\varphi is obtained by modus ponens from ψ\psi and ψφ\psi\rightarrow\varphi.

This follows by a trivial argument via strong induction and by the definition of the truth conditions. Suppose that soundness holds for all lines of a derivation up to the one in question, where φ\varphi occurs. Then, by inductive hypothesis, Γ|ψ\Gamma\,|\kern-3.00003pt\models\,\psi and Γ|ψφ\Gamma\,|\kern-3.00003pt\models\,\psi\rightarrow\varphi. So, Γ|φ\Gamma\,|\kern-3.00003pt\models\,\varphi by TC8.

φψ\varphi\land\psi is obtained by \land-introduction from φ\varphi and ψ\psi.

The same as for MP: Suppose soundness holds for all lines of a derivation up to the one in question, where φψ\varphi\land\psi occurs. Then, by inductive hypothesis, Γ|φ\Gamma\,|\kern-3.00003pt\models\,\varphi and Γ|ψ\Gamma\,|\kern-3.00003pt\models\,\psi. So, Γ|φψ\Gamma\,|\kern-3.00003pt\models\,\varphi\land\psi by the definition of aw(φψ)a_{w}(\varphi\land\psi).

III-E2 Incompleteness

Our logic is intentionally not complete by design for practical considerations. As one example, our axioms are all based on premises it is legitimate to assume and on what can follow from them. We thus do not have to cope with negation in our logic or language. So if (D,O)β1((D,O))β2((D,O))(D,O)\not\in\beta_{1}((D,O))\cup\beta_{2}((D,O)), then at all ww, w⊧̸D,Ow\not\models\left<D,O\right>. Given any \ell\neq\ell^{\prime}, such that \ell\prec\ell^{\prime} or \ell^{\prime}\prec\ell, by TC8, at all ww both wD,Ow\models\left<D,O\right>\rightarrow\ell\preceq\ell^{\prime} and wD,Ow\models\left<D,O\right>\rightarrow\ell^{\prime}\preceq\ell. But both formulae cannot be derivable in our logic (indeed, neither is).

IV Our logic of identities versus other logics

We present a more detailed comparison below, but in this paragraph we list specific distinguishing features of our logic making it not a simple extension (nor restriction) of others. Authentication logics have no means to reason about delegation or contextual trust. Logics for local names support delegation but not global entities with local properties. Delegation logics have also been proposed for authorization and access control. Sattestation is an assigned permission, so somewhat similar. But, unlike authorization, we place no restrictions on which principals can create a sattestation. There are however conditions for when to trust what is sattested. Also unlike either authentication logics or authorization logics, our logic supports authority independence: for a principal to trust that a may-be is an entity or an entity with particular properties, the principal must trust that the entity has itself concurred. Finally, logics of authentication and authorization generally address the distribution of session keys to appropriate principals or propagation of authorizations to appropriate relying parties. The logic we present herein does not capture any sending or receiving of messages or acquiring of new information and is incompatible with those logics. Indeed, as reflected in our Axiom A11, it is not possible for any principal to say anything unless all principals know that she did.

Burrows, Abadi, and Needham in their logic of authentication [18] introduced a construct that formalizes basic trust as used by us and, as noted above, by Coker et al. In the language of BAN logic (as it is commonly known) ‘PP controls φ\varphi’ means that PP has jurisdiction over the truth of φ\varphi. They also have constructs for binding keys to principals, which allows them to have “message-meaning” rules in their logic, that say, e.g., if PP believes KK is QQ’s public key, and PP sees a message stating φ\varphi that is signed with the private cognate of KK, then PP believes QQ said φ\varphi. A primary sort of statement made in messages that principals (e.g., key servers) send is about a session key being good for two principals to communicate. Thus if the conclusion of an application of a message meaning rule is AA believes SS said good(K,{A,B}K,\{A,B\}) if also AA believes that SS controls statements about the goodness of session keys, then their “jurisdiction” rules allows the derivation of AA believes good(K,{A,B}K,\{A,B\}). (The jurisdiction rule actually refers to what AA believes SS believes rather than what SS says, but since BAN is also a logic for honest principals—who only say things that they believe—we elide this as aside for our purposes.) Note also, however, that this is still reflecting AA privately receiving KK about which she is forming a belief. Indeed, AA only believes good(K,{A,B}K,\{A,B\}) if she believes that awareness of KK is limited to principals AA and BB (and SS or other trusted server).

Our logic thus shares much with BAN logic. Though they do analyze a draft X.509 protocol from the eighties, their work is all pre-web and is thus not designed for reasoning about TLS (or SSL) authentication. More importantly, they explicitly recognize the complexity of delegation of jurisdiction and note that they do not attempt to reason about nested jurisdiction [18]. Further, though they can express jurisdiction over particular statements, they have no notion comparable to our contextual labels much less one with structure such as in our narrowing relation. BAN logic was reformulated and given a Kripke semantics by Abadi and Tuttle [19]. In this respect, our logic is closer to the Abadi-Tuttle reformulation than to the original BAN logic. Although, as previously noted, our logic of trust is not a normal modal logic while their logic of belief is. In this sense we may be closer to the original BAN, which limited beliefs to things like key bindings, utterances made in encrypted messages, and jurisdiction, rather than representing beliefs about formulae containing logical connectives.

Note that our labels are meant to convey descriptive information about SATAs. They are simply not roles that can be authorized to perform an action. Trust in a sattestation might depend on the labels that the sattestation asserts apply to the sattestee, as well as labels already trusted to apply to the sattestor. But the only action SATAs can be “authorized” (more accurately ‘trusted’) to do is sattestation.

Various delegation logics have been published that capture forms of transitive or iterated trust, and that do express contextual names and contextual trust, for example as formalizations of reasoning about SPKI (Simple Public Key Infrastructure), SDSI (Simple Distributed Security Infrastructure), or their combination. (See [20] and related work referenced therein for papers on reasoning about delegation and local names.)

Our contextual labels are not local names (nor global names). Our labels are not names at all but descriptive labels for principals, more akin to predicates than individuals to which predicates apply. It would, nonetheless, be straightforward to express linked-name-based contextual trust in our logic if reflected in SATAs.

Also, logics for local names generally have linking axioms giving principals complete jurisdiction over their local namespace. But sattestor jurisdiction over a contextual label is not absolute. For example, even if a SATA is trusted as sattestor for a label, we cannot infer that a sattestee has that label unless the sattestee has also asserted of itself that it has that label, or a narrowing of it. (See Axiom A2 and associated discussion in Sec. III-C.) Conversely, a principal will also not automatically trust the label in a self-sattestation.

Leaving aside for the moment labels (besides 𝖻𝗈𝗎𝗇𝖽\mathsf{bound}), SATAs do provide a sort of local-name. These are, however, comprised of the binding of two different types of global names. Unlike local names, it is only the binding that is local, and a (local) sattestor cannot use locally either global name (domain or onion address) that someone else controls as part of its local namespace. And like other labels, trust that D,O,𝖻𝗈𝗎𝗇𝖽\langle D,O,\mathsf{bound}\rangle depends on either trust that (D,O)(D,O) has 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋\mathsf{sattestor} label wrt itself, or trust in another sattestor for D,O,𝖻𝗈𝗎𝗇𝖽\langle D,O,\mathsf{bound}\rangle and that (D,O)(D,O) has implicitly or explicitly asserting such binding about itself.

While we do have something that is very roughly akin to authorization (sattestation), this is primarily in support of inferring trust that a may-be is an entity or is an entity with a particular property label. Access control and authorization logics primarily support inferences about whether a principal (or in the case of trust management, a key) should have read or write access to a resource. Reasoning about the binding of an entity to a key (authentication) is generally not part of an authorization logic per se. Also, unlike authorizations, we place no restriction on who may perform a sattestation. And our logics are designed to work in environments where everyone has global access to everything (except private keys).

V Worked Example

In this section, we describe example scenarios wherein a SATA-aware browser receives sattestations that are JSON formatted as in the implementation described in [7]. And, as a result, the browser is then able to infer trust in a SATA with specific labels based on initial trust assumptions.

Assume principal PP is a browser with a WebExtension capable of processing sattestations, evaluating whether it has sufficient sattestations to trust various SATAs. We will assume for simplicity that when contacting a SATA, PP receives from that SATA, or already possesses, all sattestations needed for such judgments. We leave as beyond our current scope the important questions of credential discovery and delivery for various practical scenarios as well as any discussion of how and if trust negotiation should be managed. Also out of scope is any discussion of how PP stores or processes assumptions or inferences; when we state what PP trusts, we intend by this only what PP assumes or is entitled to infer based on our logic.

Assume that PP already trusts
gsa.gov,𝗈𝗇𝗂𝗈𝗇𝟣,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦)\left<\texttt{gsa.gov},\mathsf{onion1},\mathsf{sattestor}^{*}(\mathsf{USG})\right>, i.e., that a SATA for U.S. General Services Administration (GSA) is delegatable sattestor for U.S. Government SATAs. Assume further that PP receives the JSON formatted sattestations in Figures 1,2. (In these figures and throughout this appendix, actual onion addresses are replaced with 𝗈𝗇𝗂𝗈𝗇n\mathsf{onion}n in interest of space. Similarly convenience applies to sattestor signatures in figures.)

{ "sattestation":  {
    "sattestation_version":1,
    "sattestor_domain":"gsa.gov",
    "sattestor_onion":"onion1",
    "sattestor_refresh_rate":"7 days",
    "sattestees": [
    {
    // bind domain to a self auth. address
      "domain": "justice.gov",
      "onion": "onion2",   // onion address
      "labels": "USG:DOJ",
                "sattestor*(USG:DOJ)",
      "issued": "2023-12-08",
      "refreshed_on": "2024-01-25"
    },
    {
    // bind domain to a self auth. adress
      "domain": "hhs.gov",
      "onion": "onion3",   // onion address
      "labels": "USG:HHS",
                "sattestor*(USG:HHS)",
      "issued": "2023-12-08",
      "refreshed_on": "2023-01-25"
    } ... ]  },
  // signature by sattestor
  "signature": "sig-gsa-1" }
Figure 1: A sattestation by GSA of SATAs for various USG Departments
{ "sattestation":  {
    "sattestation_version":1,
    "sattestor_domain":"justice.gov",
    "sattestor_onion":"onion2",
    "sattestor_refresh_rate":"7 days",
    "sattestees": [
    {
    // bind domain to a self auth. address
      "domain": "fbi.gov",
      "onion": "onion4",   // onion address
      "labels": "USG:DOJ:FBI",
                "sattestor*(USG:DOJ:FBI)",
      "issued": "2023-12-14",
      "refreshed_on": "2024-01-27"
    },
    {
    // bind domain to a self auth. address
      "domain": "bja.ojp.gov",
      "onion": "onion5",   // onion address
      "labels": "USG:DOJ:OJP:BJA",
      "issued": "2023-12-14",
      "refreshed_on": "2024-01-27"
    }  ]  },
  // signature by sattestor
  "signature": "sig-justice-1" }

Figure 2: A sattestation by DOJ of FBI and BJA SATAs
{ "sattestation":  {
    "sattestation_version":1,
    "sattestor_domain":"fbi.gov",
    "sattestor_onion":"onion4",
    "sattestor_refresh_rate":"7 days",
    "sattestees": [
    {
    // bind domain to a self auth. address
      "domain": "fbi.gov",
      "onion": "onion4",   // onion address
      "labels": "USG:DOJ:FBI",
                "sattestor*(USG:DOJ:FBI)",
      "issued": "2023-12-20",
      "refreshed_on": "2024-01-20"
    }  ]  },
  // signature by sattestor
  "signature": "sig-fbi-1" }
Figure 3: A self-sattestation by an FBI SATA

Suppose Alice is looking at an FBI webpage. Her browser, PP, is configured with the trust assumptions we have described and has received sattestations as in the Figures 13. We will use our axioms to derive from this P trusts𝖿𝖻𝗂.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟦,𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨P\textit{\, trusts}\,\,\left<\mathsf{fbi.gov},\mathsf{onion4},\mathsf{USG:DOJ:FBI}\right>. We begin by using an instance of Axiom A3 to derive
P trusts𝖽𝗈𝗃.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟤,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦:𝖣𝖮𝖩)P\textit{\, trusts}\,\,\left<\mathsf{doj.gov},\mathsf{onion2},\mathsf{sattestor}^{*}(\mathsf{USG:DOJ})\right>.

𝖴𝖲𝖦𝖴𝖲𝖦:𝖣𝖮𝖩𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨\mathsf{USG}\succeq\mathsf{USG:DOJ}\succeq\mathsf{USG:DOJ:FBI}, which gives us the first conjunct of the axiom antecedent. Our initial trust assumption provides the second conjunct. From receipt of the Figure 1 sattestation, we get
P trusts(𝗀𝗌𝖺.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟣)saysP\textit{\, trusts}\,\,\left(\mathsf{gsa.gov},\mathsf{onion1}\right)\,\textit{says}\,\,
𝖽𝗈𝗃.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟤,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦:𝖣𝖮𝖩)\left<\mathsf{doj.gov},\mathsf{onion2},\mathsf{sattestor}^{*}(\mathsf{USG:DOJ})\right>,
providing the third conjunct. From receipt of the Figure 2 sattestation we also know that
P trusts(𝖽𝗈𝗃.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟤)saysP\textit{\, trusts}\,\,\left(\mathsf{doj.gov},\mathsf{onion2}\right)\,\textit{says}\,\,
𝖿𝖻𝗂.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟦,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨)\left<\mathsf{fbi.gov},\mathsf{onion4},\mathsf{sattestor}^{*}(\mathsf{USG:DOJ:FBI})\right>.
Thus by Axiom A8, we also have the fourth conjunct, P trusts(𝖽𝗈𝗃.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟤)saysP\textit{\, trusts}\,\,\left(\mathsf{doj.gov},\mathsf{onion2}\right)\,\textit{says}\,\,
𝖿𝖻𝗂.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟦,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨)\left<\mathsf{fbi.gov},\mathsf{onion4},\mathsf{sattestor}(\mathsf{USG:DOJ:FBI})\right>.
We now have all the antecedents of Axiom A3, allowing us to apply the axiom and derive its consequent.

If PP has also received a self-sattestation from an FBI SATA as in Figure 3, we have P trusts(𝖿𝖻𝗂.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟦)saysP\textit{\, trusts}\,\,\left(\mathsf{fbi.gov},\mathsf{onion4}\right)\,\textit{says}\,\, 𝖿𝖻𝗂.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟦,𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨\left<\mathsf{fbi.gov},\mathsf{onion4},\mathsf{USG:DOJ:FBI}\right>. Then by an application of Axiom A2 similar to the application of Axiom A3 just illustrated, we can derive
P trusts𝖿𝖻𝗂.𝗀𝗈𝗏,𝗈𝗇𝗂𝗈𝗇𝟦,𝖴𝖲𝖦:𝖣𝖮𝖩:𝖥𝖡𝖨P\textit{\, trusts}\,\,\left<\mathsf{fbi.gov},\mathsf{onion4},\mathsf{USG:DOJ:FBI}\right>.

Continuing to build on the above, our next example illustrates both the applicability of local axioms and how delegation can effectively “break” narrowing. Suppose that PP also trusts Justice Department sattestations concerning which SATAs are civil liberties organizations and which SATAs are competent to issue sattestations thereof.

This is reflected in instances of local axiom schema
1, in particular 𝖣𝖤𝖫(𝖴𝖲𝖦:𝖣𝖮𝖩,𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌)\mathsf{DEL}(\mathsf{USG:DOJ},\mathsf{civil\_liberties})
and 𝖣𝖤𝖫(𝖴𝖲𝖦:𝖣𝖮𝖩,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌))\mathsf{DEL}(\mathsf{USG:DOJ},\mathsf{sattestor}^{*}(\mathsf{civil\_liberties})), as noted in the above discussion leading into this worked example.

A trustsD,O,𝖴𝖲𝖦:𝖣𝖮𝖩A trustsD,O,𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌A trustsD,O,𝖴𝖲𝖦:𝖣𝖮𝖩A trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌)\begin{split}&A\textit{\, trusts}\,\,\left<D,O,\mathsf{USG:DOJ}\right>\\ &\rightarrow A\textit{\, trusts}\,\,\left<D,O,\mathsf{civil\_liberties}\right>\\ &\\ &A\textit{\, trusts}\,\,\left<D,O,\mathsf{USG:DOJ}\right>\\ &\rightarrow A\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\mathsf{civil\_liberties})\right>\end{split}

At time of writing, the Dept. of Justice, Bureau of Justice Assistance (BJA) maintains on the web a list of privacy and civil liberties organizations [16]. To provide authenticated, hijack resistant credentials for both the addresses of these organizations and endorsement of them being competent privacy and civil liberties organizations, a BJA SATA could provide sattestations as in Figure 4.

{ "sattestation":  {
    "sattestation_version":1,
    "sattestor_domain":"bja.ojp.gov",
    "sattestor_onion":"onion5",
    "sattestor_refresh_rate":"7 days",
    "sattestees": [
    {
    // bind domain to a self auth. address
      "domain": "aclu.org",
      "onion": "onion6",   // onion address
      "labels": "civil_liberties",
                "sattestor*(civil_liberties)",
      "issued": "2023-12-05",
      "refreshed_on": "2024-01-24"
    },
    {
    // bind domain to a self auth. address
      "domain": "adl.org",
      "onion": "onion7",   // onion address
      "labels": "civil_liberties",
                "sattestor*(civil_liberties)",
      "issued": "2023-12-05",
      "refreshed_on": "2024-01-24"
    },
    {
    // bind domain to a self auth. address
      "domain": "eff.org",
      "onion": "onion8",   // onion address
      "labels": "civil_liberties",
                "sattestor*(civil_liberties)",
      "issued": "2023-12-05",
      "refreshed_on": "2024-01-24"
    },
    {
    // bind domain to a self auth. address
      "domain": "epic.org",
      "onion": "onion9",   // onion address
      "labels": "civil_liberties",
                "sattestor*(civil_liberties)",
      "issued": "2023-12-05",
      "refreshed_on": "2024-01-24"
    },
    {
    // bind domain to a self auth. address
      "domain": "splc.org",
      "onion": "onion10",   // onion address
      "labels": "civil_liberties",
                "sattestor*(civil_liberties)",
      "issued": "2023-12-05",
      "refreshed_on": "2024-01-24"
    }  ]  },
  // signature by sattestor
  "signature": "sig-bja-1" }
Figure 4: Sattestation by the DoJ Bureau of Justice Assistance of civil liberties SATAs

Note that unlike the prior figures, Figure 4 does not include sattestee labels reflecting a narrowing of labels for which the sattestor is assumed or derived to be trusted by PP. Nonetheless, because of the local axioms mentioned above, it can ground derivation of P trustseff.org,𝗈𝗇𝗂𝗈𝗇𝟪,𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌P\textit{\, trusts}\,\,\left<\texttt{eff.org},\mathsf{onion8},\mathsf{civil\_liberties}\right> in PP’s trust of gsa.gov,𝗈𝗇𝗂𝗈𝗇𝟣,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖴𝖲𝖦)\left<\texttt{gsa.gov},\mathsf{onion1},\mathsf{sattestor}^{*}(\mathsf{USG})\right>.

And despite this break of narrowing, because that same sattestation by the Bureau of Justice Assistance SATA covers eff.org,𝗈𝗇𝗂𝗈𝗇𝟪,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌)\left<\texttt{eff.org},\mathsf{onion8},\mathsf{sattestor}^{*}(\mathsf{civil\_liberties})\right>,
this could continue. For example, if PP receives a (current) sattestation signed by this EFF SATA for
torproject.org,𝗈𝗇𝗂𝗈𝗇𝟣𝟣,𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌:𝗍𝖾𝖼𝗁_𝗉𝖺𝗋𝗍𝗇𝖾𝗋\left<\texttt{torproject.org},\mathsf{onion11},\mathsf{civil\_liberties:tech\_partner}\right> as well as a current self-sattestation from that Tor Project SATA, then this is sufficient to ground
P trustsP\textit{\, trusts}\,\,
torproject.org,𝗈𝗇𝗂𝗈𝗇𝟣𝟣,𝖼𝗂𝗏𝗂𝗅_𝗅𝗂𝖻𝖾𝗋𝗍𝗂𝖾𝗌:𝗍𝖾𝖼𝗁_𝗉𝖺𝗋𝗍𝗇𝖾𝗋\left<\texttt{torproject.org},\mathsf{onion11},\mathsf{civil\_liberties:tech\_partner}\right>.

VI Properties of Trust Derivations

We prove properties of the trust derivations obtained with our logic. These properties describe conditions that must hold if PP is able to derive trust in a 𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{bd\_l\_pair} D,O,g\left<D,O,g\right>. We give separate results depending on the form of gg. These cover whether gg is: 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} (Prop. VI.1); a 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}()-free label Λ^{𝖻𝗈𝗎𝗇𝖽}\ell\in\widehat{\Lambda}\setminus\{\mathsf{bound}\} (Prop. VI.2); of the form 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}(\ell) for some Λ^\ell\in\widehat{\Lambda} (Prop. VI.3); or of the form 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}(\ell) for some Λ^\ell\in\widehat{\Lambda} (Thm. VI.4). Here, we present the proof of Prop. VI.3. The other proofs, presented in the extended version [21] of this paper, are similar.

Each of these results guarantees that one of a list of conditions must hold, including the possibility that a term of a certain form appears in 𝖳P0\mathsf{T}_{P}^{0} (PP’s initial trust assumptions). Other possibilities include that certain types of terms are derivable or that 𝖫𝖠𝖲P\mathsf{LAS}_{P} (PP’s trusted instances of local-axiom schemata) includes a certain schema instance. In the case of Thm. VI.4, our most complex result, there is a chain of triples (Di,Oi,i)(D_{i},O_{i},\ell_{i}), ending with (D,O,)(D,O,\ell), in which successive triples show how PP’s trust is transferred and whose initial triple shows that this trust is rooted in something local to PP (either a local trust assumption or a local axiom schemata).

If the conclusion holds that certain terms are derivable, at least one such term is such that we may then again apply one of our results. This allows us to eventually show that the derivation is rooted in something explicitly trusted by PP (as an element of 𝖳P0\mathsf{T}_{P}^{0} or 𝖫𝖠𝖲P\mathsf{LAS}_{P}) and that (if applicable) certain sattestations were made by a chain of SATAs and that PP trusted corresponding SATAs as sattestors. We state this formally as a combined result that gives all the possible conditions when starting with the derivability of P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> for an arbitrary gg; however, we think that the lengthy case enumeration that would entail would not provide any more insight or utility than what we state here.

VI-A Definitions and assumptions

We use 𝖳P0\mathsf{T}_{P}^{0} to capture the trust that PP assumes rather than derives. We assume that the elements of 𝖳P0\mathsf{T}_{P}^{0} are all 𝗍_𝗌𝗍𝗆𝗍\mathsf{t\_stmt}s of the form P trustsXP\textit{\, trusts}\,\,X. Considering our grammar, each of these is conjunction free.

We use 𝖫𝖠𝖲P\mathsf{LAS}_{P} for the set of local-axiom schema instances that PP assumes. Each element of 𝖫𝖠𝖲P\mathsf{LAS}_{P} is assumed to be of one of the forms given above (i.e., 𝖣𝖤𝖫(g1,g2)\mathsf{DEL}(g_{1},g_{2}), 𝖲𝖠𝖳𝖳(D,O)\mathsf{SATT}(D,O), and 𝖲𝖠𝖳𝖳(D,O)\mathsf{SATT}^{*}(D,O)). We note that antecedent and conclusion of an instantiation of 𝖣𝖤𝖫(g1,g2)\mathsf{DEL}(g_{1},g_{2}), and the terms in instantiations of 𝖲𝖠𝖳𝖳(D,O)\mathsf{SATT}(D,O), and 𝖲𝖠𝖳𝖳(D,O)\mathsf{SATT}^{*}(D,O), are all conjunction free.

We use 𝖳𝖲\mathsf{TS} for the set of  says   statements that PP sees and may use for derivations. Each element of 𝖳𝖲\mathsf{TS} is an 𝗌_𝗌𝗍𝗆𝗍\mathsf{s\_stmt} and thus of the form (D,O)saysφ\left(D,O\right)\,\textit{says}\,\,\varphi, where φ\varphi is a 𝖻𝖽_𝗅_𝗉𝖺𝗂𝗋\mathsf{bd\_l\_pair}. Recall that, using 𝖬𝖯\mathsf{MP} and Axiom A11, if (D,O)saysφ𝖳𝖲\left(D,O\right)\,\textit{says}\,\,\varphi\in\mathsf{TS}, then we can derive P trusts(D,O)saysφP\textit{\, trusts}\,\,\left(D,O\right)\,\textit{says}\,\,\varphi. Considering our grammar, each element of 𝖳𝖲\mathsf{TS} is conjunction free.

We consider derivations of terms that use applications of 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms and the elements of 𝖳P0\mathsf{T}_{P}^{0}, 𝖫𝖠𝖲P\mathsf{LAS}_{P}, and 𝖳𝖲\mathsf{TS}. As observed in the definitions of these sets, each element of these sets is conjunction free. Thus, if a derivation of a term φ\varphi includes the application of 𝖬𝖯\mathsf{MP} to Axiom A12a (to extract one conjunct from a conjunction), there is also a derivation of φ\varphi that does not include any applications of 𝖬𝖯\mathsf{MP} to Axiom A12a. We thus assume that any derivation in which we are interested does not include any applications of 𝖬𝖯\mathsf{MP} to Axiom A12a.

Recall that 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} is incomparable with every other label.

VI-B Formal results

The proofs of these results are similar to each other. Each fixes a derivation Δ\Delta of a statement P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> and iterates backwards through the derivation. Inspection of the various axioms and local axiom schemata identifies which instantiations of these could produce the statement we are then considering. If g=𝖻𝗈𝗎𝗇𝖽g=\mathsf{bound} (Prop. VI.1), then the trust statement may be in 𝖳P0\mathsf{T}_{P}^{0}; otherwise, we immediately have that P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g^{\prime}\right>, for g𝖻𝗈𝗎𝗇𝖽g^{\prime}\neq\mathsf{bound}, or that another SATA sattests to D,O,𝖻𝗈𝗎𝗇𝖽\left<D,O,\mathsf{bound}\right>. If g𝖻𝗈𝗎𝗇𝖽g\neq\mathsf{bound} is sattestor-free (Prop. VI.2), then moving backwards through the derivation narrows the label associated with D,O\left<D,O\right> until reaching one that is sattested to by another SATA, is produced by an instance of 𝖣𝖤𝖫(,)\mathsf{DEL}(,), or is in 𝖳P0\mathsf{T}_{P}^{0}. If g=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()g=\mathsf{sattestor}(\ell) (Prop. VI.3), which might arise after working backwards from the sattestor-free case, then moving backwards through the derivation can broaden the label in the argument to 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}(); this broader label may serve as an argument to a 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}() label bound to D,O\left<D,O\right> (in 𝖳P0\mathsf{T}_{P}^{0}, produced by 𝖲𝖠𝖳𝖳(,)\mathsf{SATT}(,), or produced by 𝖣𝖤𝖫(,)\mathsf{DEL}(,)). A broader label may also serve as an argument to 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}(), either bound to D,O\left<D,O\right> or bound to a different SATA D,O\left<D^{\prime},O^{\prime}\right> that sattests to a 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}() label for D,O\left<D,O\right>. Finally, if g=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()g=\mathsf{sattestor}^{*}(\ell) (Thm. VI.4), then there are conditions for initial trust and local schema analogous to the 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}(\ell) case. The difference here is that there can be a sequence of multiple sattestations in which each SATA sattests to a 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}() property of the next SATA in the sequence.

We now turn to the formal statements of our results that we have just sketched. The proof of Prop. VI.3 is presented here; the other proofs are in the extended version [21] of this paper.

Proposition VI.1.

If

P trustsD,O,𝖻𝗈𝗎𝗇𝖽P\textit{\, trusts}\,\,\left<D,O,\mathsf{bound}\right>

is derivable by repeatedly applying Rules 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms, the instances of the Local Axiom Schemata in 𝖫𝖠𝖲P\mathsf{LAS}_{P}, the elements of 𝖳𝖲\mathsf{TS}, and the elements of 𝖳P0\mathsf{T}_{P}^{0}, then one of the following conditions holds:

  1. 1.

    For some gΓ^g\in\widehat{\Gamma}, P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> is derivable; or

  2. 2.

    For some (D,O)\left(D^{\prime},O^{\prime}\right):

    1. (a)

      P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖻𝗈𝗎𝗇𝖽)P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}(\mathsf{bound})\right> is derivable; and

    2. (b)

      P trusts(D,O)saysD,O,𝖻𝗈𝗎𝗇𝖽P\textit{\, trusts}\,\,\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\mathsf{bound}\right> is derivable;

    or

  3. 3.

    P trustsD,O,𝖻𝗈𝗎𝗇𝖽P\textit{\, trusts}\,\,\left<D,O,\mathsf{bound}\right> is in 𝖳P0\mathsf{T}_{P}^{0}.

Proof of Prop. VI.1.

Let γ=P trustsD,O,𝖻𝗈𝗎𝗇𝖽\gamma=P\textit{\, trusts}\,\,\left<D,O,\mathsf{bound}\right> and consider a derivation Δ\Delta of γ\gamma.

  1. 1.

    If γ\gamma is produced by an application of 𝖬𝖯\mathsf{MP} to Axiom A1, then (because 𝖻𝗈𝗎𝗇𝖽\mathsf{bound} is incomparable to all other labels), the antecedent in this instance of the axiom was also γ\gamma, and we consider the previous step in Δ\Delta.

  2. 2.

    If γ\gamma was produced by an application of 𝖬𝖯\mathsf{MP} to Axiom A2, then this instance of the axiom has, as a conjunct in its antecedent, the term P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖻𝗈𝗎𝗇𝖽)P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}(\mathsf{bound})\right> for some (D,O)\left(D^{\prime},O^{\prime}\right). The antecedent also includes a conjunct P trusts(D,O)saysD,O,𝖻𝗈𝗎𝗇𝖽P\textit{\, trusts}\,\,\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\mathsf{bound}\right> (for the same (D,O)\left(D^{\prime},O^{\prime}\right)). Thus, we satisfy the claimed Condition 2.

  3. 3.

    If γ\gamma was produced by an application of 𝖬𝖯\mathsf{MP} to Axiom A5, then the term P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> is derivable for some gΓ^g\in\widehat{\Gamma}. Similarly, if γ\gamma was produced by an application of 𝖬𝖯\mathsf{MP} to an instance of 𝖣𝖤𝖫(g,𝖻𝗈𝗎𝗇𝖽)𝖫𝖠𝖲P\mathsf{DEL}(g,\mathsf{bound})\in\mathsf{LAS}_{P}, then P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> is again derivable. In either of these cases, we satisfy the claimed Condition 1.

No other steps could produce γ\gamma in Δ\Delta if it was not in 𝖳P0\mathsf{T}_{P}^{0}, completing the proof. ∎

Proposition VI.2.

If, for Λ^\ell\in\widehat{\Lambda}, 𝖻𝗈𝗎𝗇𝖽\ell\neq\mathsf{bound},

P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right>

is derivable by repeatedly applying Rules 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms, the instances of the Local Axiom Schemata in 𝖫𝖠𝖲P\mathsf{LAS}_{P}, the elements of 𝖳𝖲\mathsf{TS}, and the elements of 𝖳P0\mathsf{T}_{P}^{0}, then one of the following conditions holds:

  1. 1.

    P trustsD,O,~P\textit{\, trusts}\,\,\left<D,O,\widetilde{\ell}\right> is in 𝖳P0\mathsf{T}_{P}^{0} for some ~\widetilde{\ell}\preceq\ell; or

  2. 2.

    For some gΓ^g\in\widehat{\Gamma} and ~\widetilde{\ell}\preceq\ell:

    1. (a)

      𝖣𝖤𝖫(g,~)𝖫𝖠𝖲P\mathsf{DEL}(g,\widetilde{\ell})\in\mathsf{LAS}_{P}; and

    2. (b)

      P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> is derivable;

    or

  3. 3.

    For some (D,O)\left(D^{\prime},O^{\prime}\right) and ^\widehat{\ell} and ~\widetilde{\ell} such that ^~\widehat{\ell}\succeq\widetilde{\ell}\preceq\ell:

    1. (a)

      P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}(\widehat{\ell})\right> is derivable; and

    2. (b)

      P trusts(D,O)saysD,O,~P\textit{\, trusts}\,\,\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\widetilde{\ell}\right> is derivable

Proof of Prop. VI.2.

Fix a derivation Δ\Delta of γ=P trustsD,O,\gamma=P\textit{\, trusts}\,\,\left<D,O,\ell\right>. Start with γ~=γ\widetilde{\gamma}=\gamma. Inductively, we assume γ~\widetilde{\gamma} has been defined to be of the form P trustsD,O,~P\textit{\, trusts}\,\,\left<D,O,\widetilde{\ell}\right> for ~Λ^\widetilde{\ell}\in\widehat{\Lambda} and ~\widetilde{\ell}\preceq\ell, and we consider how it was produced in Δ\Delta.

  1. 1.

    If γ~𝖳P0\widetilde{\gamma}\in\mathsf{T}_{P}^{0}, then we have satisfied Condition 1 and we terminate the induction.

  2. 2.

    If γ~\widetilde{\gamma} results from an application of 𝖬𝖯\mathsf{MP} to Axiom A1, then the antecedent of the axiom instance includes as a conjunct P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell^{\prime}\right> for some ~\ell^{\prime}\preceq\widetilde{\ell}. We update γ~\widetilde{\gamma} to be this conjunct (setting ~=\widetilde{\ell}=\ell^{\prime}) and continue the induction.

  3. 3.

    If γ~\widetilde{\gamma} results from an application of 𝖬𝖯\mathsf{MP} to Axiom A2, then the antecedent of this instance of the axiom includes as conjuncts, for some ^~\widehat{\ell}\succeq\widetilde{\ell} and some (D,O)\left(D^{\prime},O^{\prime}\right), the terms P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}(\widehat{\ell})\right> and P trusts(D,O)saysD,O,~P\textit{\, trusts}\,\,\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\widetilde{\ell}\right>. This satisfies the claimed Condition 3, and we terminate the induction.

  4. 4.

    If γ~\widetilde{\gamma} results from the application of 𝖬𝖯\mathsf{MP} to an instance of 1, then that instance must be of the form 𝖣𝖤𝖫(g,~)\mathsf{DEL}(g,\widetilde{\ell}) for some gΓ^g\in\widehat{\Gamma}, and P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> is derivable. This satisfies the claimed Condition 2, and we terminate the induction.

By inspection, and our assumption that Δ\Delta contains no applications of Axiom A12a, there are no other ways to derive γ^\widehat{\gamma}, completing the proof. ∎

Proposition VI.3.

If

P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\ell)\right>

is derivable by repeatedly applying Rules 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms, the instances of the Local Axiom Schemata in 𝖫𝖠𝖲P\mathsf{LAS}_{P}, the elements of 𝖳𝖲\mathsf{TS}, and the elements of 𝖳P0\mathsf{T}_{P}^{0}, then one of the following conditions holds:

  1. 1.

    P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\widehat{\ell})\right> is in 𝖳P0\mathsf{T}_{P}^{0} for some ^\widehat{\ell}\succeq\ell; or

  2. 2.

    𝖲𝖠𝖳𝖳(D,O)𝖫𝖠𝖲P\mathsf{SATT}(D,O)\in\mathsf{LAS}_{P}; or

  3. 3.

    For some gΓ^g\in\widehat{\Gamma} and ^\widehat{\ell}\succeq\ell:

    1. (a)

      𝖣𝖤𝖫(g,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^))𝖫𝖠𝖲P\mathsf{DEL}(g,\mathsf{sattestor}(\widehat{\ell}))\in\mathsf{LAS}_{P}; and

    2. (b)

      P trustsD,O,gP\textit{\, trusts}\,\,\left<D,O,g\right> is derivable;

    or

  4. 4.

    P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\widehat{\ell})\right> is derivable for some ^\widehat{\ell}\succeq\ell; or

  5. 5.

    For some (D,O)\left(D^{\prime},O^{\prime}\right) and ′′\ell^{\prime}\succeq\ell^{\prime\prime}\succeq\ell:

    1. (a)

      P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell^{\prime})\right> is derivable; and

    2. (b)

      P trusts(D,O)saysD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)P\textit{\, trusts}\,\,\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\mathsf{sattestor}(\ell^{\prime\prime})\right> is derivable

Proof of Prop. VI.3.

Fix a derivation Δ\Delta of γ^=P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\widehat{\gamma}=P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\ell)\right> using applications Rules 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms other than Axiom A12a, the instances of the Local Axiom Schemata in 𝖫𝖠𝖲P\mathsf{LAS}_{P}, the elements of 𝖳𝖲\mathsf{TS}, and the elements of 𝖳P0\mathsf{T}_{P}^{0}.

We work inductively backwards through Δ\Delta. We assume that γ^=P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)\widehat{\gamma}=P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}(\widehat{\ell})\right> for some ^\widehat{\ell}\succeq\ell, and we consider how γ^\widehat{\gamma} was derived in Δ\Delta.

  1. 1.

    If γ^𝖳P0\widehat{\gamma}\in\mathsf{T}_{P}^{0}, then the claimed Condition 1 is satisfied, and we terminate the induction.

  2. 2.

    If γ^\widehat{\gamma} is obtained by an application of 𝖬𝖯\mathsf{MP} to an instance of Axiom A4, then the antecedent of that axiom instantiation includes conjuncts P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell^{\prime})\right> and P trusts(D,O)saysD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)P\textit{\, trusts}\,\,\left(D^{\prime},O^{\prime}\right)\,\textit{says}\,\,\left<D,O,\mathsf{sattestor}(\ell^{\prime\prime})\right> for some (D,O)\left(D^{\prime},O^{\prime}\right) and ′′^\ell^{\prime}\succeq\ell^{\prime\prime}\succeq\widehat{\ell}. The conjuncts are thus derivable, satisfying the claimed Condition 5, and we terminate the induction.

  3. 3.

    If γ^\widehat{\gamma} is obtained by an application of 𝖬𝖯\mathsf{MP} to an instance of Axiom A7, then the antecedent of that axiom instantiation is P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\widehat{\ell})\right>; this is derivable, satisfying claimed Condition 4, and we terminate the induction.

  4. 4.

    If γ^\widehat{\gamma} is obtained by an application of 𝖬𝖯\mathsf{MP} to an instance of Axiom A9, then the antecedent of that axiom instantiation is P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell^{\prime})\right> for some (D,O)\left(D^{\prime},O^{\prime}\right) and ^\ell^{\prime}\succeq\widehat{\ell}\succeq\ell. We update γ^\widehat{\gamma} to be this antecedent and continue the induction.

  5. 5.

    If γ^\widehat{\gamma} is obtained by an application of 𝖬𝖯\mathsf{MP} to an instance of 𝖣𝖤𝖫(g1,g2)\mathsf{DEL}(g_{1},g_{2}), then we have g2=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)g_{2}=\mathsf{sattestor}(\widehat{\ell}) and the term P trustsD,O,g1P\textit{\, trusts}\,\,\left<D,O,g_{1}\right> must be derivable. This satisfies the claimed Condition 3, and we terminate the induction.

  6. 6.

    If γ^\widehat{\gamma} is obtained by an application of 2, then 𝖲𝖠𝖳𝖳(D,O)𝖫𝖠𝖲P\mathsf{SATT}(D,O)\in\mathsf{LAS}_{P}, satisfying claimed Condition 2, and we terminate the induction.

By inspection and our assumption that Δ\Delta contains no applications of Axiom A12a, there are no other ways to derive γ^\widehat{\gamma}, completing the proof. ∎

Theorem VI.4.

If

P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\ell)\right>

is derivable by repeatedly applying Rules 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms, the instances of the Local Axiom Schemata in 𝖫𝖠𝖲P\mathsf{LAS}_{P}, the elements of 𝖳𝖲\mathsf{TS}, and the elements of 𝖳P0\mathsf{T}_{P}^{0}, then there is a sequence {(Di,Oi,i)}i=0k\{(D_{i},O_{i},\ell_{i})\}_{i=0}^{k} such that the following conditions hold

  1. 1.

    (Dk,Ok,k)=(D,O,)(D_{k},O_{k},\ell_{k})=(D,O,\ell); and

  2. 2.

    One of the following holds:

    1. (a)

      P trustsD0,O0,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(0)𝖳P0P\textit{\, trusts}\,\,\left<D_{0},O_{0},\mathsf{sattestor}^{*}(\ell_{0})\right>\in\mathsf{T}_{P}^{0} and 0\ell_{0}\succeq\ell; or

    2. (b)

      𝖲𝖠𝖳𝖳(D0,O0)𝖫𝖠𝖲P\mathsf{SATT}^{*}(D_{0},O_{0})\in\mathsf{LAS}_{P}; or

    3. (c)

      For some gΓ^g\in\widehat{\Gamma} and some 0\ell_{0}\succeq\ell:

      1. i.

        𝖣𝖤𝖫(g,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(0))𝖫𝖠𝖲P\mathsf{DEL}(g,\mathsf{sattestor}^{*}(\ell_{0}))\in\mathsf{LAS}_{P}; and

      2. ii.

        P trustsD0,O0,gP\textit{\, trusts}\,\,\left<D_{0},O_{0},g\right> is derivable;

    and

  3. 3.

    For 0i<k0\leq i<k:

    1. (a)

      ii+1\ell_{i}\succeq\ell_{i+1}; and

    2. (b)

      P trustsDi,Oi,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(i)P\textit{\, trusts}\,\,\left<D_{i},O_{i},\mathsf{sattestor}^{*}({\ell_{i}})\right> is derivable;

    and

  4. 4.

    For 1i<k1\leq i<k, PP can derive

    P trusts(Di,Oi)saysDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(i+1~)P\textit{\, trusts}\,\,\left(D_{i},O_{i}\right)\,\textit{says}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\widetilde{\ell_{i+1}})\right>

    for some i+1~\widetilde{\ell_{i+1}} such that ii+1~i+1\ell_{i}\succeq\widetilde{\ell_{i+1}}\succeq\ell_{i+1}; and

  5. 5.

    (D0,O0)=(D1,O1)\left(D_{0},O_{0}\right)=\left(D_{1},O_{1}\right)

Proof of Thm. VI.4.

Fix a derivation Δ\Delta of P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\ell)\right> using applications Rules 𝖬𝖯\mathsf{MP} and 𝖨\mathsf{\land I} to the axioms other than Axiom A12a, the instances of the Local Axiom Schemata in 𝖫𝖠𝖲P\mathsf{LAS}_{P}, the elements of 𝖳𝖲\mathsf{TS}, and the elements of 𝖳P0\mathsf{T}_{P}^{0}. Set (Dk,Ok,k)=(D,O,)(D_{k},O_{k},\ell_{k})=(D,O,\ell), where kk is the number of applications of Modus Ponens in Δ\Delta. Let

γk=P trustsDk,Ok,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(k),\gamma_{k}=P\textit{\, trusts}\,\,\left<D_{k},O_{k},\mathsf{sattestor}^{*}(\ell_{k})\right>,

and let γ^=γk\widehat{\gamma}=\gamma_{k}.

We work inductively backwards through Δ\Delta. Assume that γi+1=P trustsDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(i+1)\gamma_{i+1}=P\textit{\, trusts}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\ell_{i+1})\right> has been defined but that γi\gamma_{i} has not been defined for some ii, 0i<k0\leq i<k. Assume that γ^\widehat{\gamma} has been defined as the statement P trustsDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)P\textit{\, trusts}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\widehat{\ell})\right> for some ^i+1\widehat{\ell}\succeq\ell_{i+1} and that γ^\widehat{\gamma} appears as (a conjunct in) the precondition of an axiom to which 𝖬𝖯\mathsf{MP} is applied in Δ\Delta.

  1. 1.

    If γ^\widehat{\gamma} is not obtained in Δ\Delta by applying 𝖬𝖯\mathsf{MP}, then it must be either the instantiation of 𝖲𝖠𝖳𝖳(Di+1,Oi+1)\mathsf{SATT}^{*}(D_{i+1},O_{i+1}) or an element of 𝖳P0\mathsf{T}_{P}^{0}; it does not match the form of the other local-axiom schemata, any axiom (without the application of 𝖬𝖯\mathsf{MP}), the (𝗌_𝗌𝗍𝗆𝗍\mathsf{s\_stmt}) elements of 𝖳𝖲\mathsf{TS}, or the result of applying Rule 𝖨\mathsf{\land I}. We set γi=γ^\gamma_{i}=\widehat{\gamma}. If i>0i>0, we renumber the γj\gamma_{j} by subtracting ii from each index; this gives (D0,O0)=(D1,O1)\left(D_{0},O_{0}\right)=\left(D_{1},O_{1}\right). This puts us in Condition 2a or 2b, and we stop the induction.

  2. 2.

    If γ^\widehat{\gamma} is obtained in Δ\Delta by applying 𝖬𝖯\mathsf{MP}, then it must be an application of 𝖬𝖯\mathsf{MP} to Axiom A3, Axiom A10, or 𝖣𝖤𝖫(g1,g2)\mathsf{DEL}(g_{1},g_{2}); by inspection, no other axioms (including instances of local-axiom schemata, and excluding Axiom A12 by the discussion above) can produce a statement including 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}(). We consider these three cases.

    1. (a)

      If γ^\widehat{\gamma} is obtained by applying 𝖬𝖯\mathsf{MP} to Axiom A3, then the precondition of the axiom includes a unique term of the form P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{*}(\ell^{\prime})\right>, where γ^i+1\ell^{\prime}\succeq\widehat{\gamma}\succeq\ell_{i+1}. We let (Di,Oi,i)=(D,O,)(D_{i},O_{i},\ell_{i})=(D^{\prime},O^{\prime},\ell^{\prime}) and set γi=P trustsDi,Oi,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(i)\gamma_{i}=P\textit{\, trusts}\,\,\left<D_{i},O_{i},\mathsf{sattestor}^{*}(\ell_{i})\right>. Note that, in the precondition of the axiom, we also have a unique conjunct of the form P trusts(Di,Oi)saysDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)P\textit{\, trusts}\,\,\left(D_{i},O_{i}\right)\,\textit{says}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\ell^{\prime\prime})\right> for some ′′\ell^{\prime\prime} such that i′′^i+1\ell_{i}\succeq\ell^{\prime\prime}\succeq\widehat{\ell}\succeq\ell_{i+1}. We set γ^=γi\widehat{\gamma}=\gamma_{i} and continue the induction.

    2. (b)

      If γ^=P trustsDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)\widehat{\gamma}=P\textit{\, trusts}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\widehat{\ell})\right> is obtained by applying Modus Ponens to Axiom A10, then the precondition of the axiom includes a unique conjunct of the form P trustsDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(~)P\textit{\, trusts}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\widetilde{\ell})\right> for some ~^\widetilde{\ell}\succeq\widehat{\ell}. We set γ^=P trustsDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(~)\widehat{\gamma}=P\textit{\, trusts}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\widetilde{\ell})\right> and continue the induction.

    3. (c)

      If γ^\widehat{\gamma} is obtained by applying Modus Ponens to an instance of 𝖣𝖤𝖫(g1,g2)\mathsf{DEL}(g_{1},g_{2}), then we must have g2=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(^)g_{2}=\mathsf{sattestor}^{*}(\widehat{\ell}). Furthermore, P trustsDi,Oi,g1P\textit{\, trusts}\,\,\left<D_{i},O_{i},g_{1}\right> must be derivable. By assumption, ^k=\widehat{\ell}\succeq\ell_{k}=\ell. We set γi=γ^\gamma_{i}=\widehat{\gamma}. If i>0i>0, we renumber the γj\gamma_{j} by subtracting ii from each index; this gives (D0,O0)=(D1,O1)\left(D_{0},O_{0}\right)=\left(D_{1},O_{1}\right) (satisfying Condition 5). This puts us in Condition 2c, and we terminate the induction.

The proof cases that terminate the induction identify which of Conditions 2a, 2b, and 2c is satisfied. We consider the other conditions that are also claimed to hold.

Condition 1 is satisfied by construction. For Condition 3a, every update to the definition of ^\widehat{\ell} ensures that ^j\widehat{\ell}\succeq\ell_{j}, where jj is the smallest index such that i\ell_{i} has been defined. When a new γi\gamma_{i} is defined, it weakly broadens the then-current value of ^\widehat{\ell}, which (as just noted) weakly broadens i+1\ell_{i+1}.

Condition 3b says that γi\gamma_{i} is derivable. Each γi\gamma_{i} is defined as the then-current value of γ^\widehat{\gamma}; that, in turn, is (a conjunct in) a precondition to which 𝖬𝖯\mathsf{MP} is applied in Δ\Delta. Thus, the precondition is derivable in Δ\Delta, and the conjunct defining γi\gamma_{i} may be derived from that precondition (or, as discussed above, directly).

Condition 4 follows from the fact that, when γi\gamma_{i} is defined for 1i<k1\leq i<k, it must be by application of 𝖬𝖯\mathsf{MP} to Axiom A3. In this case, we have as a conjunct of the precondition the term P trusts(Di,Oi)saysDi+1,Oi+1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(′′)P\textit{\, trusts}\,\,\left(D_{i},O_{i}\right)\,\textit{says}\,\,\left<D_{i+1},O_{i+1},\mathsf{sattestor}^{*}(\ell^{\prime\prime})\right> for some ′′\ell^{\prime\prime} such that i′′^i+1\ell_{i}\succeq\ell^{\prime\prime}\succeq\widehat{\ell}\succeq\ell_{i+1}. From the precondition, PP may apply Axiom A12a and 𝖬𝖯\mathsf{MP} to obtain the claimed term.

D0D_{0} and O0O_{0} are defined when the induction is terminated. This is done by either Case 1 or Case 2c in the proof; in either case, Condition 5 of the lemma holds. ∎

VII Saturation Algorithm

We now describe a saturation algorithm, that, given a principal PP and a finite initial set 𝖳P0\mathsf{T}_{P}^{0} of statements, can be used to derive all sattestor-free trust statements derivable from using the axioms and rules. We assume the elements of 𝖳P0\mathsf{T}_{P}^{0} are 1) 𝗌_𝗌𝗍𝗆𝗍\mathsf{s\_stmt}s, and 2) 𝗍_𝗌𝗍𝗆𝗍\mathsf{t\_stmt}s of the form P trustsφP\textit{\, trusts}\,\,\varphi (“PP-  trusts  ” statements). We characterize a finite superset of 𝖳P0\mathsf{T}_{P}^{0} that the algorithm uses to construct derivations, and we show that this can be done without sacrificing completeness. This means that the number of statements the algorithm has to derive is a function of 𝖳P0\mathsf{T}_{P}^{0} and PP’s local axioms, not of the set of all possible statements. In particular, this guarantees termination even if the set of labels is infinite.

We begin by making some necessary definitions.

Definition VII.1.

If SFSF is a set of 𝗌𝗍𝗆𝗍\mathsf{stmt}s and/or 𝖿𝗈𝗋𝗆\mathsf{form}s, we let 𝗅𝖺𝖻𝖾𝗅𝗌(SF)\mathsf{labels}(SF) be the set of labels appearing in SFSF, and 𝖨𝖣𝗌(SF)\mathsf{IDs}(SF) be the set of identities D,OD,O appearing in SFSF. Given a label gg, and a set of labels Γ\Gamma, we define 𝖻𝗅𝖺𝖻𝖾𝗅(g)\mathsf{blabel}(g) to be \ell if g=g=\ell or g=𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()()g=\mathsf{sattestor}^{(*)}(\ell), where we will use 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()()\mathsf{sattestor}^{(*)}(\ell) to include both 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}(\ell) and 𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()\mathsf{sattestor}^{*}(\ell). We then define 𝖻𝗅𝖺𝖻𝖾𝗅𝗌(Γ)\mathsf{blabels}(\Gamma) to be {=𝖻𝗅𝖺𝖻𝖾𝗅(g)gΓ}\{\ell=\mathsf{blabel}(g)\mid g\in\Gamma\}. Given a set of labels Γ\Gamma, we define 𝗅𝖼(Γ)\mathsf{lc}(\Gamma) to to be the set of all labels gg such that 𝖻𝗅𝖺𝖻𝖾𝗅(g)\mathsf{blabel}(g) is in the closure above under \prec of the set 𝖻𝗅𝖺𝖻𝖾𝗅𝗌(Γ)\mathsf{blabels}(\Gamma).

Let PP be a principal, and let 𝖫𝖠𝖲P\mathsf{LAS}_{P} be the set of axioms local to PP. Let SS be a collection of  says   and PP-  trusts   statements. We define the local axiom label closure of SS, or 𝗅𝖼(S,P,\mathsf{lc}(S,P,), to be 𝗅𝖼(𝗅𝖺𝖻𝖾𝗅𝗌(S𝖫𝖠𝖲P))\mathsf{lc}(\mathsf{labels}(S\cup\mathsf{LAS}_{P})). If S0S_{0} and S1S_{1} are two sets of says and PP trusts statements we say that S1S_{1} is (S0,P)(S_{0},P)-limited if 𝗅𝖺𝖻𝖾𝗅𝗌(S1)𝗅𝖼(S0,P,\mathsf{labels}(S_{1})\subseteq\mathsf{lc}(S_{0},P,) and 𝖨𝖣𝗌(S1)𝖨𝖣𝗌(S0𝖫𝖠𝖲P)\mathsf{IDs}(S_{1})\subseteq\mathsf{IDs}(S_{0}\cup\mathsf{LAS}_{P}). For any two sets of statements S0S_{0} and S1S_{1}, we denote the maximal (S0,P)(S_{0},P)-limited subset of S1S_{1} by 𝗆𝖺𝗑𝗅𝗂𝗆(S1,S0\mathsf{maxlim}(S_{1},S_{0}).

We use the following proposition in proving Thm. VII.6:

Proposition VII.2.

Given any set TT of  says   and PP-  trusts   statements there is a (T,P)(T,P)-limited set 𝒬\mathcal{Q} such that a) P trustsD,O,𝒬P\textit{\, trusts}\,\,\left<D,O,\ell\right>\in\mathcal{Q} if and only if b) any statement P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> that can be derived from TT can be derived using a sequence of statements from 𝒬\mathcal{Q}.

We present three lemmata that we need to prove Prop. VII.2. The first lemma shows that any statement of the form P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> that can be derived from a set SS is in 𝗆𝖺𝗑𝗅𝗂𝗆(Σ,S\mathsf{maxlim}(\Sigma,S).

Lemma VII.3.

For any set of statements SS, let P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> be derivable from SS. Then P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> is in 𝗆𝖺𝗑𝗅𝗂𝗆(Σ,S\mathsf{maxlim}(\Sigma,S).

Proof.

This follows from the fact that P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> cannot be derived unless (D,O)saysD,O,\left(D,O\right)\,\textit{says}\,\,\left<D,O,\mathsf{\ell^{\prime}}\right> is present, where \ell^{\prime}\preceq\ell. That statement is not derivable from any other statement, hence it must be in SS. Thus P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> is in 𝗆𝖺𝗑𝗅𝗂𝗆(Σ,S\mathsf{maxlim}(\Sigma,S) ∎

The next two lemmata are used to help show that any statement ss of the form P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> such that 𝗅𝖺𝖻𝖾𝗅𝗌({s})𝗆𝖺𝗑𝗅𝗂𝗆(Σ,S\mathsf{labels}(\{s\})\subseteq\mathsf{maxlim}(\Sigma,S), that is derivable using statements from Σ\Sigma, can be derived using statements from 𝗆𝖺𝗑𝗅𝗂𝗆(Σ,S\mathsf{maxlim}(\Sigma,S).

Lemma VII.4.

For any set of statements SS, and any statement ss of the form P trusts(D1,O1)saysϕP\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\phi that is derivable from SS, we have 𝗅𝖼(ϕ)𝗅𝖼(S,P)\mathsf{lc}(\phi)\subseteq\mathsf{lc}(S,P).

Proof.

This follows directly from the fact that the only way such a statement could be derived from SS is if the statement S=(D1,O1)saysϕS=\left(D_{1},O_{1}\right)\,\textit{says}\,\,\phi appears in SS. ∎

Lemma VII.5.

For any SS, let 𝖠\mathsf{A} be a valid instantiation of either axiom A2, any global axiom A , whose consequent is P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{*}(\ell)\right>, or a member of the local axiom schema 1. Then, if the labels of the consequent are in 𝗅𝖼(S,P)\mathsf{lc}(S,P), so are the labels of the antecedent.

Proof.

The proof follows by inspection of the axioms and local axiom schemata, and by the fact that, by Lemma VII.4, for any derivable statement P trusts(D1,O1)saysϕP\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\phi, then 𝗅𝖼(ϕ)𝗅𝖼(S,P)\mathsf{lc}(\phi)\subseteq\mathsf{lc}(S,P). ∎

We now turn to the proof of Prop VII.2.

Proof of Prop. VII.2.

The b) implies a) direction follows directly from Lemma VII.3.

We prove the a) implies b) direction by assuming a 𝒬\mathcal{Q} that satisfies a), and then show that when unnecessary statements are removed it satisfies b). To prove b), we begin by proving that any sattestor-free statement P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right> that is derivable from 𝒮\mathcal{S} is (T,P)(T,P)-limited. .Next we need to show that if there is a derivation DerDer of a (T,P)(T,P)-limited statement P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right>, there is a (T,P)(T,P)-limited derivation of P trustsD,O,P\textit{\, trusts}\,\,\left<D,O,\ell\right>.

We first prove that 𝖨𝖣𝗌(Der)𝖨𝖣𝗌(T𝖫𝖠𝖲P)\mathsf{IDs}(\textit{Der})\subseteq\mathsf{IDs}(T\cup\mathsf{LAS}_{P}). We note that every SATA (D,O)\left(D,O\right) that appears in the the conclusion of an axiom also appears in the antecedent, except for instances of the schemata 2 and 3. However, in order for those local axioms to prove anything except more instances of P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()()P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{(*)}(\ell^{\prime})\right>, we need PP to trust either that (D,O)\left(D^{\prime},O^{\prime}\right) has said something, or somebody has said something about (D,O)\left(D^{\prime},O^{\prime}\right). In that case (D,O)𝖨𝖣𝗌(T𝖫𝖠𝖲P)\left(D^{\prime},O^{\prime}\right)\in\mathsf{IDs}(T\cup\mathsf{LAS}_{P}). Otherwise, we can remove this unnecessary P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()()P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{(*)}(\ell^{\prime})\right> statements.

The proof that 𝗅𝖺𝖻𝖾𝗅𝗌(Der)𝗅𝖼(T,P)\mathsf{labels}(Der)\subseteq\mathsf{lc}(T,P) is similar but is complicated by the use of the narrowing relation, so it takes a little more work. Let s=P trustsD,O,gs^{\prime}=P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},g\right> be the last statement in DerDer such that 𝖻𝗅𝖺𝖻𝖾𝗅(g)𝗅𝖼(T,P)\mathsf{blabel}(g)\not\in\mathsf{lc}(T,P). We note that ss cannot be used as input to an instantiation of an antecedent Axiom A2, or any axiom whose consequent is of the form P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()()P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{(*)}(\ell^{\prime})\right> and contains P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()(′′)P\textit{\, trusts}\,\,\left<D^{\prime},O^{\prime},\mathsf{sattestor}^{(*)}(\ell^{\prime\prime})\right> in the antecedent, because by Lemma VII.5, this would result in a consequent s=P trustsD,O,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋()(^)s=P\textit{\, trusts}\,\,\left<D,O,\mathsf{sattestor}^{(*)}(\hat{\ell})\right> such that ^\ell\succeq\hat{\ell}, so that ^𝗅𝖼(T,P)\hat{\ell}\not\in\mathsf{lc}(T,P), contradicting the assumption. Thus it can be removed without affecting the correctness of the derivation. ∎

Our saturation algorithm is as follows: Let TT be a set of non-negated atomic statements. Let S=𝗆𝖺𝗑𝗅𝗂𝗆(𝖠𝗅𝗅,TS=\mathsf{maxlim}(\mathsf{All},T), where 𝖠𝗅𝗅\mathsf{All} is the set of all possible non-negated atomic statements.

  1. 1.

    Initialize: Present=T\textit{Present}=T, Past:=\textit{Past}:=\emptyset, Rest:=SPresent\textit{Rest}:=S\setminus\textit{Present}.

  2. 2.

    While PresentPast\textit{Present}\neq\textit{Past}, do:

  3. 3.

    U:=PresentU:=\textit{Present}

  4. 4.

    V:=RestV:=\textit{Rest}

  5. 5.

    U:=UQU:=U\cup Q, where QQ is the set of all elements of VV derivable from UU in one step.

  6. 6.

    Past:=Present\textit{Past}:=\textit{Present}, Present:=U\textit{Present}:=U, Rest:=SPresent\textit{Rest}:=S\setminus\textit{Present}

  7. 7.

    End while

  8. 8.

    Resulta=Present\textit{Resulta}=\textit{Present}

  9. 9.

    Resultb=𝗌𝖺𝗍𝗍𝖿𝗋𝖾𝖾(Present)\textit{Resultb}=\mathsf{sattfree}(\textit{Present})

  10. 10.

    Return Resulta, Resultb

We give an example of the saturation algorithm at work below. Step 0 gives the statements PP trusts initially, while Steps 1 and 2 gives the statements PP derives at each respective step.

Step 0
  • 01

    P trustsD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖺)P\textit{\, trusts}\,\,\left<D_{1},O_{1},\mathsf{sattestor}(\mathsf{a})\right>

  • 02

    P trusts(D1,O1)saysD2,O2,𝖺:𝖻P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{a:b}\right>

  • 03

    (D2,O2)saysD2,O2,𝖺:𝖻\left(D_{2},O_{2}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{a:b}\right>

Step 1
  • 11

    P trustsD1,O1,𝗌𝖺𝗍𝗍𝖾𝗌𝗍𝗈𝗋(𝖺:𝖻)P\textit{\, trusts}\,\,\left<D_{1},O_{1},\mathsf{sattestor}(\mathsf{a:b})\right> (from statement 01 via Axiom A9)

  • 12

    P trusts(D1,O1)saysD2,O2,𝖺:𝖻P\textit{\, trusts}\,\,\left(D_{1},O_{1}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{a:b}\right> (from statement 02 via Axiom A11)

  • 13

    P trusts(D2,O2)saysD2,O2,𝖺:𝖻P\textit{\, trusts}\,\,\left(D_{2},O_{2}\right)\,\textit{says}\,\,\left<D_{2},O_{2},\mathsf{a:b}\right> (from statement 03 via Axiom A11)

Step 2
  • 21

    P trustsD2,O2,𝖺:𝖻P\textit{\, trusts}\,\,\left<D_{2},O_{2},\mathsf{a:b}\right> (from statements 01, 12, and 13 via Axiom A2)

Theorem VII.6.

The saturation algorithm is sound (any statement in the saturation set Resultb is derivable from TT), complete (if a sattestation-free statement is derivable from TT, it appears in Resultb), and terminating, with 𝗅𝖺𝖻𝖾𝗅𝗌(Resultb)𝗅𝖼(T)\mathsf{labels}(\textit{Resultb})\subseteq\mathsf{lc}(T) and 𝖨𝖣𝗌(Resultb)𝖨𝖣𝗌(T)\mathsf{IDs}(\textit{Resultb})\subseteq\mathsf{IDs}(T).

Proof.

Soundness follows directly from the definition of derivation. Termination follows from the finiteness of SS, and 𝗅𝖺𝖻𝖾𝗅𝗌(Resultb)𝗅𝖼(T)\mathsf{labels}(\textit{Resultb})\in\mathsf{lc}(T) and 𝖨𝖣𝗌(Resultb)𝖨𝖣𝗌(T)\mathsf{IDs}(\textit{Resultb})\in\mathsf{IDs}(T) follows from the fact that same is true of SS.

For completeness, Prop. VII.2 gives us that any sattestation-free statement in SS derivable from TT is derivable using statements in SS, and that any sattestation-free statement derivable from TT is itself in SS. All that remains is to show that such a derivation can be constructed using the elements of Resulta.

We first note that all statements added by the algorithm are non-negated, so addition of a statement ss to Present does not invalidate any statement that could be derived from the statements in Present alone. Thus all we need to show is that Resulta contains every statement derivable from TT via statements in SS. We prove this by induction on 𝗆𝗅𝖾𝗇(s)\mathsf{mlen}(s), the minimum length of any derivation Der of ss from TT using only statements from SS, where the length of Der is defined to be the length of the longest path in Der, considered as a graph. First, if 𝗆𝗅𝖾𝗇(s)=0\mathsf{mlen}(s)=0, then sTResultas\in T\subseteq\textit{Resulta}. Suppose now that if 𝗆𝗅𝖾𝗇(s)<n\mathsf{mlen}(s)<n then sResultas\in\textit{Resulta}. Suppose that there is a statement ss such that 𝗆𝗅𝖾𝗇(s)=n\mathsf{mlen}(s)=n and sResultas\not\in\textit{Resulta}. That means that, if Der is a derivation of ss from TT using only statements from SS then at least one statement ss^{\prime} used in Der is not in Resulta. However, by construction, 𝗆𝗅𝖾𝗇(s)<n\mathsf{mlen}(s^{\prime})<n, contradicting the induction hypotheses. ∎

VIII Conclusion

We have set out a logic of sattestation that is a foundation for reasoning about contextual roots of trust for internet domains if they are SATAs. Previous work has presented logics for reasoning about contextual trust in the sense of trust in statements of any kind by a principal on a topic about which the principal is trusted to have expertise [22]. But we believe this is the first logic to support reasoning about the identity and authentication of internet addresses grounded in the contextual trust of the attesting principal. Contextual trust is based in sattestations, an implemented technology for creating, distributing, and validating credentials issued by SATAs contextually trusted to issue them [7]. Sattestations have been previously implemented, but we introduce a logic to reason about sattestations in the rich practical enviroments where contextual trust may depend on organizational or social structure and where trust might be delegated within such structures. Despite the richness and complexity of our logic, we prove that it is sound with respect to the set of sattestation credentials trusted by a principal at a given time. We also prove results about what trust statements can be derived from a set of initial trust assumptions.

References

  • [1] K. Gaarder and E. Snekkenes, “Applying a formal analysis technique to the CCITT X.509 strong two-way authentication protocol,” Journal of Cryptology, vol. 3, no. 2, pp. 81–98, 1991.
  • [2] M. Abadi, “On SDSI’s linked local name spaces,” Journal of Computer Security, vol. 6, no. 1-2, pp. 3–21, 1998.
  • [3] D. Goulet, G. Kadianakis, and N. Mathewson, “Next-generation hidden services in Tor (Tor proposal 224),” https://gitweb.torproject.org/torspec.git/tree/proposals/224-rend-spec-ng.txt.
  • [4] J. Appelbaum and A. Muffett, “The .onion special-use domain name,” https://tools.ietf.org/html/rfc7686, 2015.
  • [5] P. Syverson, “The once and future onion,” in Computer Security – ESORICS 2017, S. N. Foley, D. Gollmann, and E. Snekkenes, Eds.   Springer-Verlag, LNCS 10492, 2017, pp. 18–28.
  • [6] P. Syverson and M. Traudt, “Self-authenticating traditional domain names,” in 2019 IEEE Secure Development (SecDev).   IEEE, September 2019, pp. 147–160.
  • [7] P. Syverson, M. Finkel, S. Eskandarian, and D. Boneh, “Attacks on onion discovery and remedies via self-authenticating traditional addresses,” in ACM Workshop on Privacy in the Electronic Society (WPES ’21).   ACM, November 2021.
  • [8] D. Goodin, “A DNS hijacking wave is targeting companies at an almost unprecedented scale: Clever trick allows attackers to obtain valid TLS certificate for hijacked domains,” Ars Technica, Jan. 10 2019.
  • [9] G. Coker, J. Guttman, P. Loscocco, A. Herzog, J. Millen, B. O’Hanlon, J. Ramsdell, A. Segall, J. Sheehy, and B. Sniffen, “Principles of remote attestation,” International Journal of Information Security, vol. 10, no. 2, pp. 63–81, 2011.
  • [10] R. Fagin and J. Y. Halpern, “I’m OK if you’re OK: On the notion of trusting communication,” Journal of Philosophical Logic, vol. 17, pp. 329–354, 1998.
  • [11] Aquinas, On Being and Essence, ch. 4, See also https://aquinasonline.com/essence-and-existence/.
  • [12] 502nd Air Base Wing Public Affairs, “CYBER HYGIENE: Beware of fake DoD SAFE site,” JBSA News, April 27 2023.
  • [13] M. Traudt, “Self-authenticating domains,” https://github.com/pastly/satis-selfauth-domains.
  • [14] M. Finkel, “Self-authenticating domains,” https://github.com/sysrqb/satis-selfauth-domains.
  • [15] B. Christianson and W. S. Harbison, “Why isn’t trust transitive?” in Security Protocols: International Workshop, Cambridge United Kingdom, April 10-12 1996, Proceedings, M. Lomas, Ed.   Springer-Verlag, LNCS 1189, 1996.
  • [16] “Privacy and civil liberties organizations: Justice information sharing,” https://bja.ojp.gov/program/it/privacy-civil-liberties/agencies-org/pcl-organizations, Bureau of Justice Assistance, U.S. Dept. of Justice.
  • [17] P. Syverson, Logic, Convention, and Common Knowledge.   CSLI Lecture Notes, Volume 142, 2002.
  • [18] M. Burrows, M. Abadi, and R. Needham, “A logic of authentication,” ACM Transactions on Computer Systems, vol. 8, no. 1, pp. 18–36, Feb 1990.
  • [19] M. Abadi and M. R. Tuttle, “A semantics for a logic of authentication,” in Proceedings of the Tenth Annual ACM Symposium on Principles of Distributed Computing (PODC).   ACM Press, August 1991, pp. 201–216.
  • [20] J. Y. Halpern and R. van der Meyden, “A logical reconstruction of SPKI,” J. Computer Security, vol. 11, no. 4, p. 581–613, July 2003.
  • [21] A. D. Jaggard, P. Syverson, and C. Meadows, “A logic of sattestation,” 2024, version with full proofs to appear on arXiv.
  • [22] M. Dastani, A. Herzig, J. Hulstijn, and L. van der Torre, “Inferring trust,” in Computational Logic in Multi-Agent Systems, J. Leite and P. Torroni, Eds.   Springer-Verlag, LNAI 3487, 2005, pp. 144–160.