Files
zeekay 9504b4c3ef papers: cover-consistency + build pass on Lux Tier-2/3 catalogue
Sweep across the non-Tier-1 paper catalogue (Tier-1 owned by parallel
agent and excluded). All 113 processed papers already had luxcover
wired up; this commit fixes 14 build breakers and produces fresh
PDFs across the catalogue.

Fixes:
- lux-blockchain-scaling-laws: em-dash inside lstlisting -> --
- lux-corona-pq: stale \input pointing at 03-the-corona-scheme renamed
  to 03-the-corona-scheme (file already renamed on disk)
- lux-lattice-cryptography-primer: same Corona->Corona rename
- lux-formal-verification-lean4: Lean source uses unicode (×, ∀, ∃, ∈,
  ∧, ∨, ∩, ≠, ⟨, ⟩, ·, ¬) inside lstlistings. Added a literate map
  so listings render the math glyphs without UTF-8 fault.
- lux-id-did-specification: ✓/✗ in tabular replaced with \ding{51}
  / \ding{55} (pifont). Added pifont package.
- lux-ntt-simd-implementation: middle-dot in Go assembly listings;
  added literate {·}{\textperiodcentered}.
- lux-ntt-transform: μ, ×, –, — in regular text (no T1 fontenc).
  Replaced with $\mu$/$\times$/--/--- via unicode->latex sweep.
- lux-perpetuals-derivatives, lux-quantum-consensus,
  lux-quasar-consensus, lux-tee-computing-mesh: same unicode->latex
  sweep across body text. Also fixed broken math segment
  `$L_{avg} = 10$\times$$` -> `$L_{avg} = 10\times$`.
- lux-zchain: emoji glyphs in roadmap table replaced with
  parenthetical text.
- lux-triple-proof-consensus: dropped duplicate \usepackage{geometry}
  that clashed with luxcover (geometry option clash).
- pq: defined missing \Rq macro.

PDFs rebuilt for the full Tier-2/3 set.

Excluded (Tier-1, parallel agent): lp-073-pulsar, lp-stricte2epq,
dag-evm-formal, lp-010-quasar-stm-{3,4}, lp-020-quasar-consensus,
lux-institutional-custody, lux-nist-mptc-submission, pqsafe-il5,
pq-rns, plus shared/ and lps/.
2026-05-13 01:27:59 -07:00

158 lines
5.6 KiB
TeX

\section{IAM Architecture}
\subsection{System Overview}
Lux ID is built on a modular architecture supporting multiple authentication protocols:
\begin{figure}[h]
\centering
\begin{verbatim}
+-------------------------------------------------------------+
| Lux ID Frontend |
| (React 19 + TypeScript + Radix UI + Black Theme) |
+-----------------------+-------------------------------------+
|
+-----------------------+-------------------------------------+
| API Gateway (Beego) |
| - Request routing |
| - Authentication middleware |
| - Rate limiting & CSRF protection |
+-----------------------+-------------------------------------+
|
+---------------+---------------+
| | |
+-------v------+ +------v--------+ +---v----------+
| OAuth/OIDC | | SAML/CAS | | WebAuthn/MFA |
| Controllers | | Controllers | | Controllers |
+-------+------+ +------+--------+ +---+----------+
| | |
+---------------+---------------+
|
+-----------------------v-------------------------------------+
| Business Logic Layer |
| - User Management |
| - Token Generation/Validation |
| - Permission Enforcement (Casbin RBAC) |
| - Verification (Email, Phone, WebAuthn) |
| - Wallet Authentication (MetaMask, WalletConnect) |
+-----------------------+-------------------------------------+
|
+---------------+---------------+
| | |
+-------v------+ +------v--------+ +---v----------+
| MySQL/ | | Redis | | Blockchain |
| PostgreSQL | | (Sessions) | | (Lux C-Chain)|
+--------------+ +---------------+ +--------------+
\end{verbatim}
\caption{Lux ID System Architecture}
\end{figure}
\subsection{Core Components}
\subsubsection{Backend (Go/Beego)}
\begin{itemize}
\item \textbf{Controllers}: Handle HTTP requests for each protocol
\item \textbf{Objects}: Business logic for users, applications, tokens
\item \textbf{Authenticators}: Protocol-specific authentication (OAuth, SAML, WebAuthn)
\item \textbf{IDP Integrations}: Social logins (Google, GitHub, MetaMask)
\item \textbf{RBAC Engine}: Casbin-based permission enforcement
\end{itemize}
\subsubsection{Frontend (React + TypeScript)}
\begin{itemize}
\item Modern single-page application (SPA)
\item Black theme optimized for Lux branding (\#FFD700 gold accents)
\item Responsive design for mobile and desktop
\item Real-time session management
\end{itemize}
\subsubsection{Data Layer}
\begin{itemize}
\item \textbf{SQL Database}: User profiles, organizations, applications, permissions
\item \textbf{Redis}: Session storage, rate limiting counters, temporary tokens
\item \textbf{Blockchain}: DID registry, credential attestations (optional)
\end{itemize}
\subsection{Multi-Protocol Support}
\subsubsection{OAuth 2.0 \& OpenID Connect}
Full implementation of OAuth 2.0 \cite{rfc6749} and OIDC \cite{oidc} flows:
\begin{itemize}
\item Authorization Code Flow (with PKCE)
\item Implicit Flow
\item Client Credentials Flow
\item Resource Owner Password Credentials Flow
\item Device Authorization Flow
\end{itemize}
\textbf{Supported Endpoints}:
\begin{lstlisting}[language=bash]
GET /authorize # Authorization endpoint
POST /token # Token endpoint
GET /userinfo # UserInfo endpoint
GET /.well-known/openid-configuration # Discovery
GET /.well-known/jwks.json # JSON Web Key Set
\end{lstlisting}
\subsubsection{SAML 2.0}
Supports both Identity Provider (IdP) and Service Provider (SP) roles:
\begin{itemize}
\item Single Sign-On (SSO)
\item Single Logout (SLO)
\item Attribute statements (custom claims)
\item POST and Redirect bindings
\end{itemize}
\subsubsection{LDAP \& RADIUS}
Enterprise integration via:
\begin{itemize}
\item LDAP server for directory queries
\item LDAP sync for importing users from Active Directory
\item RADIUS server for VPN/Wi-Fi authentication
\end{itemize}
\subsubsection{WebAuthn \& FIDO2}
Hardware security key support via WebAuthn \cite{webauthn}:
\begin{itemize}
\item Registration flow: Challenge -> Credential Creation -> Storage
\item Authentication flow: Challenge -> Assertion -> Verification
\item Resident keys for passwordless login
\item User verification (biometric or PIN)
\end{itemize}
\subsubsection{Web3 Wallet Authentication}
Native blockchain authentication:
\begin{itemize}
\item \textbf{MetaMask}: Ethereum-compatible wallet via EIP-1193
\item \textbf{WalletConnect}: Mobile wallet protocol
\item \textbf{Web3Onboard}: Multi-wallet aggregator
\item \textbf{Challenge-Response}: Sign nonce to prove ownership
\end{itemize}
\textbf{Authentication Flow}:
\begin{algorithm}
\caption{Web3 Wallet Authentication}
\begin{algorithmic}[1]
\State \textbf{Client}: Request login with wallet address
\State \textbf{Server}: Generate nonce, store in session
\State \textbf{Server}: Return challenge message with nonce
\State \textbf{Client}: Sign challenge with wallet's private key
\State \textbf{Client}: Submit signature to server
\State \textbf{Server}: Recover signer address from signature
\State \textbf{Server}: Verify address matches claimed identity
\State \textbf{Server}: Issue JWT access token
\end{algorithmic}
\end{algorithm}