skip to content

When a client opens a connection to a broker, what families of proof can it present, and what does each one establish?

level: juniorimportance: must knowfreq 72%

answer

  1. identity, not permission
  2. secret, certificate, ticket, token, or nothing
  3. what the broker must store per client
  4. which of them expires on its own
  5. named at connect, for the connection's life

basics

~20 s

A client proves itself with a shared secret through a salted challenge-response password exchange, with a client certificate, with a directory-issued or issuer-signed short-lived token, or with delegated platform identity where it holds no secret at all.

solid answer

~50 s

Brokers accept a small set of proof families. A **salted challenge-response password exchange** is the password-style mechanism where the secret itself never crosses the wire. **Certificate-based client authentication** has the client present a certificate and prove it holds the matching private key. A **directory-issued ticket** lets an existing enterprise directory vouch for the client. An **issuer-signed short-lived token** is minted by an external issuer and expires by itself. **Delegated platform identity** means the client presents nothing it was given — the platform it runs on signs a statement about it and the broker trusts that signer. All any of them does is give the connection a principal: a name the broker will treat it as. What that principal may then do is decided separately, and some clusters offer only one of these families at all.

go deeper

for a junior

Be able to name the families out loud — a secret exchanged without sending it, a client certificate, a ticket from a directory, a short-lived signed token, or platform identity with no secret at all — and say that all any of them does is name the connection.

for a middle

Explain what each family costs to operate: who must hold what, what the broker has to store, and which of them stops working by itself on a date nobody is watching.

for a senior

Show you have lived with the consequences: that the mechanism decides the principal's name, that the menu differs between self-run and rented clusters, and that the client edge is only one of several addresses.

for a principal

Frame it as an estate choice: whichever family you standardise on becomes a distribution problem for every future client, and the weakest family you keep accepting anywhere sets the floor for all of them.

## What a connect-time proof settles Authentication is the first stage in the life of a broker connection. The client presents evidence, the broker checks it against its **trust set** — the issuers and credentials it is willing to accept — and if the evidence holds, the connection carries a **principal**: the identity the broker will treat it as for the rest of that connection. Nothing more has happened. The principal has been **named, not empowered**. What it may read, write or administer is decided afterwards by rules written against that name. A cluster with authentication switched on and no rules of its own can still be wide open, and an elaborate rule table means nothing if every client arrives as the same unnamed identity. Two things make this stage behave unlike a web login: - Broker connections are usually **long-lived**. A client opens one and holds it for hours or days, so on many designs the proof is checked when the connection opens and not again while it lasts. - A cluster answers on **more than one address**. The public client edge, an internal or administrative address, and the node-to-node hop between cluster members are each configured separately, so "the broker requires authentication" is never one fact about the whole cluster. ## The families of proof | Family | What the client holds | What the broker must hold | Typical lifetime | |---|---|---|---| | Salted challenge-response password exchange | A name and a secret | A salted verifier per identity | Until someone replaces it | | Client certificate | A certificate and its private key | The issuers it is willing to accept | Months, fixed when issued | | Directory-issued ticket | A ticket obtained from a central directory | A trust relationship with that directory | Hours | | Issuer-signed short-lived token | A token fetched from an external issuer | Material to check the issuer's signature | Minutes to hours | | Delegated platform identity | Nothing durable | Trust in the platform's signer | Minutes | - **A salted challenge-response password exchange** never puts the secret on the wire: the broker sends a challenge, the client answers with a value computed from the secret, and both sides demonstrate they know it without transmitting it. It is the cheapest family to switch on and the most expensive to live with, because every client must somehow be handed a secret and nothing expires on its own. - **Certificate-based client authentication** replaces the shared secret with a key pair. The client presents a certificate and proves it holds the matching private key; the broker derives the identity from that certificate. There is no per-client verifier on the broker side to keep in step — only the issuers it trusts — but every client now holds material that stops working on a fixed date. - **A directory-issued ticket** lets an enterprise directory the organisation already runs do the vouching. The broker trusts the directory rather than any individual client, which suits an estate that already has one and suits nothing else. - **An issuer-signed short-lived token** is minted elsewhere, presented at connect, and expires by itself. The broker keeps no per-client secret at all, only what it needs to check the signature. - **Delegated platform identity** goes one step further: the client was never given a credential. The platform it runs on signs a statement about what it is, and the broker accepts that statement. ## What varies between platforms - Some brokers accept several families at once, each on a different address. Others — particularly a **managed tier**, a rented cluster whose operator is not you — offer exactly one, and the choice is not yours. - Where clients hold long-lived connections, the proof is a connect-time event. Where a cluster also exposes a request-per-call interface, the credential travels with every call instead, and expiry bites immediately rather than at the next reconnect. - How the principal is **named** differs: one design names it by the login the client used, another by the identity carried in the certificate, a third by the subject of the signed statement. Rules are written against that name, so changing mechanism can silently change every identity in the cluster. ## What the question is really testing A candidate who has only read about this says "it uses certificates" and stops. A candidate who has switched it on knows the awkward parts: the family you can enable in an afternoon is the one you will be distributing secrets for forever; the expiring families trade a quiet leak for a scheduled outage; and turning authentication on at the public edge says nothing about the other addresses the same cluster is answering on.

  • Which of these families requires the broker to store something per client, and why does that matter operationally?
    Only the password-style exchange does: the broker holds a salted verifier for each identity, so the broker's records and the clients' secrets must stay in step. Certificates, tickets, issuer-signed tokens and platform identity all move that burden outward — the broker holds a small trust set instead, and adding a client touches the issuer rather than the cluster.
  • If the broker authenticates the client, what has it proven about the client's application code?
    Nothing. It has proven that whatever opened the connection had access to the secret, the private key, the ticket or the platform identity. Any process that can read that material, or any code running under that platform identity, is the same principal as far as the broker is concerned. Identity is as coarse as whatever holds the credential.
  • Why can two clusters running the same broker software end up naming the same client differently?
    Because the principal's name comes from the mechanism, not from the client. Connecting with a password-style login names the principal after the login; connecting with a certificate names it after the identity the broker derives from that certificate. Switching mechanism therefore renames principals, and any rule written against the old name stops matching.

A pass shown at a building's door settles which name the guard writes in the book. Some people carry a permanent pass, some a day pass that stops working by itself, and some are simply vouched for by the employer whose van they arrived in.

saying these in an interview costs you the question

  • Says authenticating a client also decides what it may read or write
  • Believes a password-style exchange sends the password across the connection
  • Thinks every broker offers the same menu of mechanisms
  • Assumes the proof is re-checked on every request by default
  • Treats an authenticated connection as also being an encrypted one
  • Claims a certificate means the broker stores a copy for each client