LTI 1.3 · Trust

Trust ledger

DE | EN

After registration, who holds which value - and where does the trust in it come from? The same relationship, seen from both sides.

How the trust is built

0

Out-of-band

The operator hands the school the registration URL and an access code. This happens outside the protocol - by contract, mail, ticket. It is the only human-verified step, and the permission to build a trust relationship at all.

1

Registration

The tool checks the access code, reads the platform's configuration, registers itself. Only now do both sides exchange IDs and the JWKS URLs they will later use to verify signatures. Once.

2

Steady state

On every launch the platform signs its JWT and the tool verifies it against the platform JWKS - and vice versa for grades (AGS) and the roster (NRPS). No more key exchange, plus a license check on every call.

What each side now holds
ValueMoodle (platform)ToolOrigin / basis of trust
Issuer (platform identity)https://moodle.bzu.chown valuehttps://moodle.bzu.chstoredThe platform's identity; known to both sides.
client_idafter access codebgDUvGD82ysDLIkown valuebgDUvGD82ysDLIkstoredAssigned by the platform during registration.
deployment_idafter access code12own value12storedCreated by the platform; may be filled in at first launch.
Authorization endpoint (platform)after access codehttps://moodle.bzu.ch/mod/lti/auth.phpown valuehttps://moodle.bzu.ch/mod/lti/auth.phpstoredRead from the platform's openid-configuration.
Token endpoint (platform)after access codehttps://moodle.bzu.ch/mod/lti/token.phpown valuehttps://moodle.bzu.ch/mod/lti/token.phpstoredRead from the platform's openid-configuration.
Platform JWKS URLroot of trusthttps://moodle.bzu.ch/mod/lti/certs.phpown valuehttps://moodle.bzu.ch/mod/lti/certs.phpstoredFrom the openid-configuration; the tool verifies the platform's signature with it.
Tool login URLhttps://lti.mybzu.ch/loginstoredhttps://lti.mybzu.ch/loginown valueReported by the tool to the platform at registration.
Tool launch URLhttps://lti.mybzu.ch/launchstoredhttps://lti.mybzu.ch/launchown valueReported by the tool; the only URL the platform may launch to.
Tool JWKS URLroot of trusthttps://lti.mybzu.ch/jwksstoredhttps://lti.mybzu.ch/jwksown valueReported by the tool; the platform verifies the tool's signature with it.
License statusdoes not hold itactivestoredPurely tool-internal, re-checked on every login/launch.
after access codeOnly fetched after the access code passed - without the permission from phase 0 these rows would be empty.
root of trustThe two JWKS URLs are the actual root of trust: each side verifies the other's signature with them.

Three things the ledger shows