pulseproof-sentinel

PPS Threat Model

This document describes the threat model for PulseProof Sentinel Protocol, abbreviated PPS.

PPS is experimental. This threat model is informative and should be expanded during implementation and deployment.


1. Purpose

The purpose of this threat model is to identify:


2. Assets

2.1. User Private Keys

The most important asset is the authenticator private key.

If an attacker obtains the private key, they may generate valid Pulses.

2.2. Duress Private Keys

Duress keys are also sensitive. If an attacker can force disclosure of the duress key, duress protection may fail.

2.3. Server Public-Key State

The server stores:

Integrity of this state is critical.

2.4. Nonces

Server nonces must be unpredictable and single-use.

Nonce reuse can enable replay attacks.

2.5. Transaction Data

For transaction signing, the integrity of transaction details is critical.

2.6. Audit Logs

Logs may contain:

Logs must be protected.

2.7. User Safety

In duress scenarios, user safety may be more important than asset protection.

Silent alerts and restrictions must be designed carefully.


3. Trust Boundaries

3.1. Authenticator Device

The authenticator is trusted to:

3.2. Relying Party Server

The server is trusted to:

3.3. Network

The network is assumed to be hostile.

PPS assumes TLS or another secure transport for online flows.

Offline flows assume the Pulse may be intercepted.

3.4. User

The user is trusted to:

The user may be:

3.5. Secondary Devices

In threshold mode, secondary devices are trusted to:


4. Attacker Models

4.1. Remote Phisher

Capabilities:

PPS mitigations:

Residual risk:


4.2. Man-in-the-Middle

Capabilities:

PPS mitigations:

Residual risk:


4.3. Server Breacher

Capabilities:

PPS mitigations:

Residual risk:


4.4. Malware on Authenticator

Capabilities:

PPS mitigations:

Residual risk:


4.5. Physical Coercion

Capabilities:

PPS mitigations:

Residual risk:


4.6. Insider at Relying Party

Capabilities:

PPS mitigations:

Residual risk:


4.7. Relay Attacker

Capabilities:

PPS mitigations:

Residual risk:


4.8. Future Quantum Attacker

Capabilities:

PPS mitigations:

Residual risk:


5. Threat Catalog

5.1. Shared Secret Theft

Traditional TOTP stores shared secrets on the server.

PPS mitigation:

Server stores only public keys.

Result:


5.2. Phishing of OTP Code

TOTP codes can be phished and relayed.

PPS mitigation:

Residual risk:


5.3. Replay Attack

An attacker captures a valid Pulse and replays it.

PPS mitigations:

Requirements:


5.4. Downgrade Attack

An attacker tries to force weaker policy or Trust Code length.

PPS mitigations:


5.5. Transaction Tampering

An attacker changes amount or recipient.

PPS mitigations:


5.6. Key Extraction

An attacker extracts private key from authenticator.

PPS mitigations:

Residual risk:


5.7. Ratchet State Desynchronization

An attacker replays rotation certificates or causes key state drift.

PPS mitigations:

Residual risk:


5.8. Duress Detection Leakage

If server response differs for duress, attacker may detect it.

PPS mitigations:


5.9. Threshold Collusion

Multiple devices collude or are compromised.

PPS mitigations:

Residual risk:


5.10. Privacy Correlation

A stable kid may allow correlation across services.

PPS mitigations:


5.11. Denial of Service

An attacker sends many invalid Pulses.

PPS mitigations:


5.12. CBOR Parser Attacks

Malformed CBOR may exploit parser bugs.

PPS mitigations:


6. STRIDE Summary

Threat Category Example PPS Mitigation
Spoofing Fake authenticator Ed25519 signature, registered public key
Tampering Modify Pulse or transaction signature over canonical CBOR, tx_hash binding
Repudiation User denies action signed Pulse, audit logs
Information Disclosure Server secret leak no shared secret stored
Denial of Service Flood invalid Pulses rate limiting, nonce expiration
Elevation of Privilege Bypass policy policy hash binding, server enforcement

7. Security Assumptions

PPS assumes:

  1. Ed25519 is secure against classical attackers.
  2. SHA-256 and HKDF-SHA256 are secure.
  3. Random values are generated using a CSPRNG.
  4. TLS protects online transport.
  5. Authenticator private keys are protected by the device.
  6. Server state integrity is protected.
  7. Users verify displayed transaction details.
  8. Duress mechanisms are configured safely.

8. Residual Risks

PPS does not eliminate:


9. Recommendations

For implementers

For deployers

For users


10. Conclusion

PPS improves security compared with shared-secret OTP systems by removing shared secrets and adding strong binding mechanisms.

However, PPS is not a complete solution by itself.

Security depends on: