Trust model
Summary. The trust model defines whom TrustBridge trusts, whom it protects itself against, and what an attacker who takes over a single component can achieve. At its core, each organization has a small trusted computing base made up of the CA worker, the HSM, the offline root, and the personal approval keys. Database, management, distribution, and web services sit outside it; compromising them leads to delay or disclosure, not to unauthorized certificates. Between organizations, trust is two-sided, defined per direction, and never passed on through third parties. And a certificate is not an authorization: it shows who is speaking, not what is allowed.
Terms
- Asset – something that has to be protected.
- Trusted computing base – the components whose compromise allows an unauthorized issuance or status statement.
- Trust anchor – a certificate that a relying party trusts without further checks; in TrustBridge, an organization's root certificate, or an issuing CA's certificate that a trust relationship explicitly admits.
- Name constraint – the
nameConstraintsextension (RFC 5280, Section 4.2.1.10) in a CA certificate, which defines which names subordinate certificates may carry. - Trust relationship – an agreement between exactly two organizations to recognize the other side's trust anchors for specific services and purposes.
- Relationship policy – an organization's settings for one direction of a trust relationship: services, purpose, cryptographic requirements, duration, right to change, revocation.
- Authorization – a target application's decision whether a specific operation is allowed for a verified identity.
- Relying-party contract – the rules a relying party must follow for the security commitments to hold on its side.
Assets
| Asset, by weight | Threat | Consequence if breached |
|---|---|---|
| Identity binding across partner boundaries | One partner impersonates another | Access to another company's orders, control data, or updates |
| The boundary of every trust relationship | A partner stretches a relationship beyond its purpose or passes it on to third parties | Access by organizations with which no relationship was ever agreed |
| CA keys | Theft or misuse | Arbitrary issuance until the CA is replaced |
| Revocation status and relationship revocation | Suppression or delay | Compromised systems or ended relationships remain trusted |
| Confidentiality of connections | Recording today, decryption later | Business data disclosed years later |
| Confidentiality of tenant data | Insight into inventory and requests | Supplier relationships and system landscape disclosed |
| Availability | Outage of issuance, status information, or key agents | Supply chain processes stop; validations fail |
Out of scope: Web PKI requirements, arbitrary internet participants as requesters, load attacks from the internet on issuance.
Adversaries
| Adversary | Assumed capabilities |
|---|---|
| External attacker | Reaches the enrollment interfaces, distribution, and key agents over the network; records traffic |
| Compromised or malicious partner | Holds valid certificates and its own CA in its own namespace; has its own relationships with third parties |
| Compromised online service | Full control over management, enrollment, or distribution |
| Database administrator or compromised database | Can read, change, and delete any row and recompute hash chains |
| Operating partner in the Managed model | Runs an organization's hosts and services within the agreed scope |
| Misconfiguration | Wrong profile template, wrong permissions, misconfigured relying party or relationship policy |
| Insider with approval rights | Holds a personal approval key |
Trusted computing base
graph TD
subgraph AUS [Outside the trusted computing base]
ADM[Management application] --> VW[Management]
EN[Protocol adapters]
VW --> DB[(Database)]
EN --> DB
VT[Distribution]
end
subgraph TCB [Trusted computing base]
RW[Rule set]
FS[Personal<br/>approval keys]
EA[Enrollment attestation<br/>automatic classes only]
RT[Offline root]
WK[CA worker<br/>host, account, clock]
REG[Ledger]
HSM[HSM]
end
PRF[Relying party<br/>last line]
DB -->|unverified input| WK
RW --> WK
FS ==>|approval| WK
EA ==>|attestation| WK
RT -.->|CA certificate| WK
WK --> REG
WK ==>|signs| HSM
WK -->|CRL| VT
VT --> PRF
classDef tcb fill:#fde7e9,stroke:#a4262c,color:#201f1e
classDef aus fill:#f3f2f1,stroke:#605e5c,color:#201f1e
classDef par fill:#deecf9,stroke:#0078d4,color:#201f1e
class WK,RW,REG,HSM,FS,RT,EA tcb
class DB,VW,EN,VT aus
class ADM,PRF par
style AUS fill:#ffffff,stroke:#8a8886,color:#201f1e
style TCB fill:#ffffff,stroke:#8a8886,color:#201f1eEvery organization has its own trusted computing base. One organization's trusted computing base is never part of another's: a relationship only recognizes trust anchors; it shares no keys, approvers, or ledgers.
The relying party is the last line: the name constraint in the CA certificate only works if it is enforced there. The TrustBridge TLS adapter enforces it itself.
Compromise analysis
| Compromised | Reachable | Not reachable | Limiting measure |
|---|---|---|---|
| Database | Delay, disclosure, suppression of orders | Issuance, un-revocation, a forged CRL | The worker checks approvals against the rule set; revocation is monotonic in the ledger; distribution verifies signatures |
| Management | Propose and cancel orders, trigger revocations, read tenant data | Issuance without approval keys | Approval is a signature; approvers live in the rule set |
| One staff member's management application | Like management, within that person's permissions; with their approval key, approval of their own requests | Approval in classes with a two-person rule | Second approver; approval key on a personal hardware token |
| Enrollment | Issuance in automatic classes, within the partner's namespace, short lifetime | CA certificates, other tenants, manual classes | The rule set limits automatic classes |
| Distribution | Serving an older CRL that is still valid | Forgery | CRL signature; the relying party rejects an expired list |
| Partner administrator | Issuance within its own namespace with approval by a person assigned to it | Another namespace; relationships the other side has not recognized | nameConstraints, relying-party contract, the other side's relationship policy |
| A host's key agent | The secrets of this host's connections | Other hosts' secrets, certificate issuance | The secret never leaves the host; revoking the agent certificate ends all of its relationships |
| Operating partner in the Managed model | Availability, insight into operational data within the agreed scope | Issuance without the organization's approval, the agents' secrets | Approvers come only from the organization itself; operating is not owning keys |
| CA worker or HSM | Issuance with the CA keys present | The root, other generations without their keys | Revocation of the CA by the root; detection through signature counters |
| Offline root | Full compromise of this organization's hierarchy | Other organizations' hierarchies | Physical security, multi-person rule, rebuild; partners revoke the relationship |
Why a compromised database or management interface cannot issue
graph TD
G[Attacker's goal:<br/>valid certificate for someone else's name] --> P1[Create an order in the database]
P1 --> C1{Approval signature<br/>from a person listed<br/>in the rule set?}
C1 -- no --> X1[Worker rejects]
C1 -- yes, stolen --> C2{Name within the namespace<br/>of the chosen CA?}
C2 -- no --> X2[Worker rejects]
C2 -- no, worker bypassed --> X3[Relying party rejects:<br/>nameConstraints]
C2 -- yes --> R[Certificate only in<br/>its own namespace]
classDef x fill:#dff6dd,stroke:#107c10,color:#201f1e
classDef r fill:#fde7e9,stroke:#a4262c,color:#201f1e
class X1,X2,X3 x
class R r
classDef neu fill:#f3f2f1,stroke:#605e5c,color:#201f1e
class C1,C2,G,P1 neuThe chain of reasoning step by step:
- A certificate only comes into being when the worker signs. The worker cannot be reached from outside; an attacker can only put orders in front of it through the database.
- The worker trusts no content of the database. It verifies the approval signature with public keys from its local rule set. Whoever controls the database cannot add an approver.
- An approval applies to exactly one order hash. Carrying an old approval over to a new order fails, because the hash changes; every order is executed at most once and has an expiry.
- The worker checks the name against the CA's namespace. Even if the worker has a bug, the name constraint in the CA certificate takes effect at the relying party.
- Revocations are monotonic in the ledger. A database that “forgets” a revocation does not change the next CRL; distribution serves only correctly signed lists with increasing numbers.
Limits of this argument. It does not hold against: an approver who also controls management or the
database, in classes with a single approval; the worker host's administrator, who can change the rule
set; a relying party that does not enforce nameConstraints. These residual risks are contained
organizationally (two-person rule, four-eyes principle on the worker host, relying-party contract with
test certificates).
Certificate versus authorization
A valid certificate answers a single question: who is speaking? Whether what that identity wants to do is allowed is not for TrustBridge to decide. Six things are therefore kept apart:
| Concept | Shows | Who decides |
|---|---|---|
| Identity of the organization | This certificate comes from organization B's hierarchy | Trust anchor in the relationship |
| Identity of the service | This system is erp.b.example within B's namespace | dNSName and name constraint |
| Certificate | B's certificate authority has confirmed this binding | B's CA worker |
| Possession of the private key | The counterpart holds the matching private key right now | Signature in the TLS handshake |
| Relationship policy | A has admitted B for this service and purpose | Organization A, for its own direction |
| Authorization | Exactly this operation on exactly this data is allowed | A's target application, such as the Database Gateway |
graph TD
V[Connection from B] --> K1{Chain up to an<br/>anchor of the relationship?}
K1 -- no --> X1[TLS adapter rejects]
K1 -- yes --> K2{Service and purpose in<br/>A's policy?}
K2 -- no --> X2[TLS adapter rejects]
K2 -- yes --> K3{Operation authorized<br/>for this identity?}
K3 -- no --> X3[Application rejects]
K3 -- yes --> OK[Operation executed<br/>and logged]
classDef onl fill:#f3f2f1,stroke:#605e5c,color:#201f1e
classDef auth fill:#fff4ce,stroke:#8a6d00,color:#201f1e
classDef par fill:#deecf9,stroke:#0078d4,color:#201f1e
classDef x fill:#dff6dd,stroke:#107c10,color:#201f1e
class V par
class K1,K2 onl
class K3,OK auth
class X1,X2,X3 xOnly the third check opens data. Anyone who steals a valid certificate without the private key fails at the signature in the handshake; anyone who steals a certificate together with its key gets only what the target application allows that identity, and only until revocation.
Extended attack scenarios
The following scenarios test the security commitments against attacks that go beyond compromising a single component. The commitments are described on Security commitments.
| Scenario | Attack | Effect on the commitments | Countermeasure | Remaining risk |
|---|---|---|---|---|
| Compromised management workstation | Malware uses a staff member's sign-in and session | S-01 holds as long as the approval key cannot be used without the person's confirmation; S-08 only within that person's permissions | Approval key on dedicated hardware; two-person rule | Falsified display with a single approval |
| Copyable sign-in secret | Theft of the personal key | S-10 holds as long as the second factor is not intercepted too | Second factor, origin rules, expiry | Real-time phishing |
| Replay of an approval | Old approval applied to a new order | No effect: an approval applies to exactly one order hash | Binding to the hash, expiry, single execution | – |
| Replay of an order | The same order is submitted again | No effect: the worker returns the certificate already issued | Idempotency via the order hash | – |
| Collusion between two approvers | Two approvers jointly approve an unauthorized order | S-01 breached | Approvers from separate business units; evidence in the ledger; review of issuances | Remains; to be contained organizationally |
| Operator approves on a supplier's behalf | Staff of the operator of a partner CA would also be the supplier's approvers | The operator could issue within the supplier's namespace | A supplier's approvers come only from its own organization and approve through the partner portal | Collusion within the supplier's organization |
| Passing on trust | B forwards a connection from C to A, or issues C a certificate | C appears at A at most as a system within B's namespace | No cross-certificates; A recognizes only anchors that A itself has added to the relationship; name constraint | B is accountable to A for systems in its namespace |
| Confusion of trust domains | A relying party trusts public CAs alongside TrustBridge and recognizes partners by DNS name | A publicly issued certificate for l.example would pass as partner L | Relying-party contract item 4: partners only through the issuing CA; the TLS adapter accepts only the relationship's anchors | Relying parties without a TLS adapter that do not implement this |
| Overlapping namespaces | Two partners are assigned overlapping namespaces (l.example and plant.l.example) | S-02 does not hold within the overlap | Overlap check before every ceremony and every new relationship | – |
| Signature downgrade | Stripping the alternative signature once the classical one can be forged | S-09 holds only at relying parties that require PQ verification | Relying-party contract item 9; the relationship policy requires PQ verification; no silent fallback | Relying parties without a PQ requirement |
| TLS key agreement downgrade | A relying party accepts purely classical groups alongside hybrid ones | Confidentiality against later decryption would hinge on the additional secret alone | The TLS adapter allows only hybrid groups for TrustBridge connections | – |
| Suppressing the additional secret | A man in the middle strips the extension for the external PSK | Connection without the additional protection layer | The TLS adapter aborts if the extension is not confirmed | – |
| Protocol downgrade | A request through a weaker enrollment protocol (such as SCEP instead of EST) | Initial provisioning with weaker authentication | Permitted protocols per profile class in the rule set | – |
| Tampering with enrollment | An adapter changes the name, lifetime, or class of an order | The worker rejects whatever contradicts the profile class or namespace; for automatic classes the attestation remains valid within the permitted limits | Limits of automatic classes in the rule set | Issuance within those limits |
| Direct access to the HSM | The worker host's administrator uses the HSM connection to sign around the worker | S-01 breached, not technically prevented | Reconciling signature counters against the ledger (detection); roles and quorum in the HSM; four-eyes principle on the host | The time until detection |
| Tampering with the worker's clock | Backdating certificates or revocations | Lifetimes and revocation times falsified | The clock belongs to the trusted computing base; backdating limit (default 5 minutes) | Deviation within the limit |
Relying-party contract
Every relying party that verifies TrustBridge certificates must:
- validate the complete chain up to a trust anchor of the relationship;
- check
basicConstraintsandpathLenConstraint; - actually enforce the
nameConstraintsof every CA certificate; - identify the partner exclusively through the issuing CA;
- identify the system exclusively through the
dNSName; - check
keyUsageandextendedKeyUsage; - check the validity of the entire chain;
- evaluate the issuing CA's CRL and reject when no valid CRL is available;
- where PQ protection has been agreed, also verify the ML-DSA alternative signature of every certificate in the chain, and reject a chain without a matching alternative signature;
- reload the CRL on the generation schedule (6 hours), not only when it expires.
The TrustBridge TLS adapter meets all ten items. For relying parties without a TLS adapter, TrustBridge supplies test certificates, including certificates with forbidden names, an expired chain, a revoked status, and a missing alternative signature, all of which a correctly configured relying party must reject.
Side channels
CA keys are used exclusively within the HSM; TrustBridge itself performs no operation with secret CA keys. Protecting those keys against timing, cache, and power side channels is a property of the certified HSM and a criterion for choosing it. The key agents use constant-time implementations for ML-KEM and ML-DSA.
Mutual trust in the supply chain
| Building block | Meaning in TrustBridge |
|---|---|
| Organization, tenant | The dividing line between organizations; each has its own keys, approvers, and ledger |
| Partner identity | An issuing CA with a name constraint, in the partner's own hierarchy or as a partner CA in the customer's hierarchy |
| System identity | Exactly one DNS name within the partner's namespace |
| Mutual authentication | mTLS with the relying-party contract on both sides, enforced by the TLS adapter |
| Trust relationship | Bilateral, one relationship policy per direction; see Federation and bilateral trust |
| Authorization | A matter for the target application; TrustBridge hands it the verified identity |
| Peer binding | Binding of the additional post-quantum secret to the counterpart's identity; see PQ key exchange for TLS |
Topology of trust anchors
TrustBridge offers two ways to connect a partner. Both lead to the same check at the TLS adapter.
graph TD
subgraph A [Partner CA in the customer's hierarchy]
WA[Customer root] --> CA1[CA partner 1<br/>nameConstraints]
WA --> CA2[CA partner 2<br/>nameConstraints]
end
subgraph B [Own hierarchy, bilateral recognition]
W1[Root organization 1] --> CB1[CA organization 1]
W2[Root organization 2] --> CB2[CA organization 2]
end
CB1 -.->|anchor in the relationship,<br/>limited to namespace| CB2
classDef s fill:#f3f2f1,stroke:#605e5c,color:#201f1e
class WA,CA1,CA2,W1,W2,CB1,CB2 s
style A fill:#ffffff,stroke:#8a8886,color:#201f1e
style B fill:#ffffff,stroke:#8a8886,color:#201f1e| Criterion | Partner CA in the customer's hierarchy | Own hierarchy, bilateral recognition |
|---|---|---|
| Suited for | Partners without a PKI of their own | Partners with their own TrustBridge installation or their own PKI |
| Who holds the root | The customer | Each organization holds its own |
| The partner's approvers | The partner's people, through the partner portal | The partner's people, in its own installation |
| Enforcement of namespaces | In the partner's CA certificate | In the relationship policy and at the TLS adapter |
| A partner leaving | Revocation of its CA by the root | Each side revokes the relationship on its own |
| Cross-certificates | None | None; recognition applies only within the relationship, not in third parties' certificate chains |
A partner can switch from the first path to the second when it sets up its own installation; its systems then receive certificates from its own hierarchy, and the relationship switches anchors.
Initial provisioning and attestation
Before a system receives its first certificate, TrustBridge has to be sure it is talking to the right system. The profile class defines which proof is required:
| Proof | Use |
|---|---|
| Pre-registered one-time value with an expiry | The baseline for servers and services; the value is handed to the person responsible for the system through a separate channel |
| The device's manufacturer certificate (IEEE 802.1AR) | Machines and devices whose manufacturer provides a device identity |
| Attestation of the platform state through a TPM | Systems with elevated protection needs |
A signed software artifact on its own does not prove a secure runtime state; every proof has an explicit verification rule in the rule set.
What this page does not define
- Authorizations. Which operation a partner may perform is defined by the target application.
- Any proof of the provenance or state of a partner's software; that is not a PKI's job.
- Identity provisioning for short-lived workloads inside a data center (such as SPIFFE); TrustBridge identifies systems and services between organizations.
- Protection at relying parties that neither implement the relying-party contract nor use a TLS adapter.