Root by DID: SSH with no ports, no passwords, and a signed receipt — the XionIA demo
276 seconds of root shell over a direct P2P tunnel. The key was born with the session and died with it. Six Ed25519-signed records — including the failed attempts.
$ tldr
Today we opened a root SSH session on a remote host without opening a port, without a password, and with no .pem to steal. Identity was a DID (an Ed25519 keypair, not a user account). Transport was the end-to-end encrypted session that already existed between the two nodes. Authorization was explicit: the host's owner enabled our DID in a signed catalog — and revoked it afterwards, with the rejection itself leaving a receipt. The session lasted 4m36s, moved 61.6 KB, and when it closed nothing was left behind. The entire episode — successful session, two failed attempts, one administrative rejection — was recorded and signed: 6 records, every signature verifiable.
01The lesson the largest theft in history wrote down
A week ago we dissected the US$6.36 billion Binance theft: no cryptographic primitive failed — the trust model did. The authority to move billions sat one hop from a laptop, identity was network position, and the legitimate signatures were the weapon. Four principles were written in fire: identity is not network position, zero one-hop signing routes, discovery must not be authority, and hosts are potentially hostile.
This post is the other half of that conversation: what it looks like when those principles are taken seriously in host administration. Spoiler: one command, three gates, and a signed receipt.
02What was built: three gates, zero paraphernalia
XionIA runs a P2P kernel with sovereign DID identity, end-to-end Noise transport, and NAT traversal that opens no ports. The new remote command builds the missing layer on top: a real administrative shell into another host — stock OpenSSH, unpatched, with the kernel's identity and authorization.
What did NOT survive the design
- Ports: the session sshd listens on no interface (it serves one connection over stdin/stdout, wired to the tunnel)
- Passwords and .pem files: the Ed25519 key is generated in memory and dies with the session — nothing to steal afterwards
- Relays: the administrative session rides only the direct channel between the two kernels, never a third party
- Authorization inherited from the network: being "inside" gets you nothing
What is there instead
- Gate 1 · Node ACL — who may talk (the same list as chat)
- Gate 2 · ROOT_ADMIN catalog — who may touch the host: off by default, DID-by-DID, signed by the owner
- Gate 3 · Ephemeral key — for how long: a new key per session, dead with the session
- An Ed25519 receipt for every session and every attempt — rejections included
03The demo, with real numbers
Two real nodes: a linux/amd64 console and an ARM board (a Raspberry Pi on Arch), each with its DID, both behind home networks, introduced by the project's beacon and connected directly.
# on the target host, the owner enables — nothing works without this:
$ remote allow xeon
✅ ROOT_ADMIN enabled for xeon — catalog re-signed
# on the initiator (an unprivileged user, nothing more):
$ remote jubilarte root
🕳 opening SSH tunnel to jubilarte (direct only, never relay)...
✅ Tunnel ready — the remote node ran its session openssh (local port 35563).
Ephemeral key SHA256:Gkb1gmbD… · session host SHA256:fcAVmc9H…
# and inside:
[root@alarm ~]# whoami
root
[root@alarm ~]# curl ifconfig.me ← real egress via the normal route
190.220.45.26
exit closed the session, the tunnel, and the key — all together. What both ends logged:
And the part almost no product can show: the failures left receipts too. Two earlier attempts were recorded in the signed log with their duration (0 s), their traffic (~3 KB of handshake), and each attempt's key fingerprint. After the authorization was revoked, a retry was rejected (NOT_ADMIN) with a 0-byte tunnel — and that rejection was signed too. No session and no attempt goes unrecorded.
04Audit without curiosity
Metadata is audited; content is not exposed to the auditor. That double wall is the difference between a log a compliance officer signs off and a promise a compliance officer distrusts. And the accounting closes on both ends: the 61.6 KB are signed by the node that entered and by the node that received, mirrored.
05What this is NOT (honesty up front)
Arbitrary ip:port tunneling is prohibited by design. Reaching other machines on the node's LAN will happen only through authorized aliases, without revealing IPs.
The published test covers two real nodes with a direct path. Restrictive double-NAT on both sides is next in the project's field-test queue.
ROOT_ADMIN enables the full host layer, DID by DID. Granularity (jail / host / bastion by alias) is the catalog's next rung.
It is the authenticated-communication and verifiable-authorization layer — the bottleneck the Binance theft exposed, not the vault.
06Closing
Traditional administrative access carries decades of debt: reused passwords, .pem files in repositories, exposed IPs, jump hosts whose security is an outdated VPN client. The alternative demonstrated today asks for no credentials: it asks for identity. The owner authorizes a DID, the session lives and dies with its key, and the whole episode is signed — rejections included.
Fernando López (Mamanga) — XionIA Project, Corrientes, Argentina.
Data: transcript of the project's internal test of 2026-11-06 between two real nodes (captura-test.txt), xionia-kernel v9.2. On the Binance theft: on-chain analysis by TRM Labs and public confirmations (2026-10-29/31).




No hay comentarios:
Publicar un comentario