Files
zooqueen a415cfa425 security: canonical home for the high-assurance framework + posture
Establish luxfi/security as the discoverable security home (relocated from
luxfi/proofs, which is for the mathematical proofs themselves):

  framework/ASSURANCE.tex     the normative standard + assurance vocabulary
  framework/check.sh          the one runnable gate (any crypto repo)
  framework/checks/           circular-proof / proof-by-rename / fail-open /
                              axiom-budget / claims-vs-reality detectors
  framework/redteam/          per-family red-team checklists (lattice/hash/STARK)
  framework/REVIEW-GUIDE.tex  external cryptographer's entry point

LLM.md is now a real security-home index: the framework, the per-repo .assurance
trust surfaces + review packages, the honest posture (review-ready, NOT
externally audited), the shared security invariants (KMS-only secrets,
fail-closed novel-crypto verifiers, no secret reconstruction, interop-tested
byte-equality), and pointers to luxfi/compliance, luxfi/proofs, luxfi/kms.
2026-06-21 14:14:19 -07:00

68 lines
3.6 KiB
TeX

\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{enumitem}
\title{Red-team checklist: lattice threshold signatures\\(Pulsar = threshold ML-DSA, Corona = threshold Module-LWE/Raccoon)}
\date{}
\begin{document}\maketitle
\noindent Apply this to Fiat--Shamir-with-aborts lattice threshold schemes. It
encodes the PULSAR-V13 findings. ``FAIL'' = do not ship.
\section{Leakage of long-term key material}
\begin{enumerate}[leftmargin=*]
\item Does any round broadcast a per-party value that, summed over the
\emph{public} challenge $c$ across attempts, reconstructs a secret? (The
V13 leak: unmasked $c\!\cdot\!s_2$, $c\!\cdot\!t_0$ shares $\Rightarrow$
$c\!\cdot\!s_{2,\mathrm{master}}$ over varying $c$ $\Rightarrow$ master
key by linear system.) Masking a single share is necessary but NOT
sufficient if the \emph{aggregate} still reconstructs.
\item Is the rejection/hint sequence secret-dependent and exposed? The hint
must be recovered from PUBLIC data ($w' = A z - c t_1 2^d$, $w_1$) via the
FIPS \texttt{UseHint}, never from $c\!\cdot\!s_2$/$c\!\cdot\!t_0$/$r_0$.
\item Is full $w$ (or $\mathrm{LowBits}(w)$, boundary distances) ever
published? $w' - w = c t_0 - c s_2$ leaks the residual.
\item Does DKG / reshare / keygen reconstruct the master at any party or
aggregator on a PRODUCTION path? (A trusted-dealer/TEE path must be
explicitly named and gated.)
\end{enumerate}
\section{Norm bounds and the L2/L$\infty$ trap}
\begin{enumerate}[leftmargin=*]
\item Every small-norm claim ($\|s_1\|,\|s_2\|\le\eta$, $\|t_0\|$, boundary
margin) is an L$\infty$ (per-coefficient) bound. A uniform-mask $\Sigma$
protocol carries ZERO norm information; BDLOP/LNS norm proofs certify L2,
and $\|x\|_\infty\le\|x\|_2$ is loose by $\sqrt{\dim}$ (often vacuous,
$>q$). A range gate that cannot imply the L$\infty$ bound must FAIL CLOSED,
not approximate.
\item Is the parameter set inside the proven scope? (BCC/CEF: $\|c t_0\|_\infty
\le \tau 2^{d-1} < \gamma_2$ holds for ML-DSA-65/87, NOT 44.) A threshold
that underflows/saturates a bound check for an out-of-scope set is a leak.
\end{enumerate}
\section{Nonce / session safety}
\begin{enumerate}[leftmargin=*]
\item Can a session id collide for a fixed key share? (Corona CRIT-1: same
$(\mathrm{sid},\mathrm{skShare})\Rightarrow$ same $R\Rightarrow$
$(z_\Sigma - \sum s_i\lambda_i c)u^{-1}=R$ reopens.) The nonce-PRF key MUST
derive from $\ge256$ bits of fresh entropy (hedge), not a 64-bit counter,
and not rest on the consensus layer for uniqueness.
\item Is the challenge validated as a genuine \texttt{SampleInBall} ($\tau$
coefficients $\pm1$)? A degenerate $c=0$ strips the $s_1$ binding from a
partial-$z$ proof.
\item Is nonce selection canonical / non-grindable (a coordinator cannot pick
among many valid $w_1$ after seeing the message)?
\end{enumerate}
\section{Accountability and aggregation}
\begin{enumerate}[leftmargin=*]
\item Is the signer bitmap cryptographically bound to the signature (not a
free field a forger can rewrite)? Threshold ML-DSA does not encode its
signer set in the joint key, so accountability needs its own QC.
\item Does cert verification actually verify the quorum signatures (not a
fail-open no-op default)? Run \texttt{framework/checks/fail-open.sh}.
\item Aggregator-host trust: a root-compromised aggregator that sees $c$ and
all $z_i$ across enough quorum subsets recovers $s_\Sigma$. State this
limitation in the deployment posture; it is mitigated by TEE/mlock, not
cryptographically.
\end{enumerate}
\end{document}