aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-18Revert "Model points at infinity as malicious public keys"HEADmasterOsmium Sorcerer
This reverts commit c48736a18976a8d1c62fec3dbfa5c8c4dce38bc6. The authentication indeed breaks down if an identity element is provided as a public key, but this is merely a specific variant of a more general algebraic issue. What actually matters is rejecting points at infinity when they appear *as the result of the secret derivation* (the exponentiation), not as the client public keys. This might happen whenever an element from any non-prime subgroup is used in secret derivation. All-zero shared secrets must be rejected. This is correct, robust, and doesn't rely on enumeration of all possible "bad" curve points. This is tricky to model because Tamarin's Diffie-Hellman primitives assume prime-order group, but implementations usually aren't. In particular, X25519 has a cofactor and thus small-order points that end up as an identity element after multiplying them by a clamped scalar. One such point is: e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800 Checks remain implicit in the model, but must be explicitly done in real implementations.
2026-06-18Add the specificationOsmium Sorcerer
While the symbolic model is useful to demonstrate security properties, a concrete, self-contained specification that said model proves and can be referenced is essential. This repository shall hold everything related to the protocol.
2026-03-25Model points at infinity as malicious public keysOsmium Sorcerer
If the server doesn't check that the user's public key is an identity element O (point at infinity), authentication breaks down. Because O^x = O, no matter the verification secret, the final result will be: h(<O, challenge, O, username>). Username is assumed to be public information in the model, and the challenge is openly sent into the network. What's supposed to prove authenticity of the client via its secret key and identity, now becomes a trivial universal backdoor with the server challenge acting as a direct invitiation.
2026-03-13InitializeOsmium Sorcerer