MoSign: Challenge-Response Motion-Watermark Authentication for Anonymous Virtual-Reality Users
Organizations: University of North Carolina at Charlotte · Utah State University
Abstract
Social virtual reality (VR) creates a paradox. A user's body motion is a high-entropy biometric: head and hand trajectories alone re-identify users among tens of thousands with over accuracy, so anonymizing the rendered avatar is a practical necessity. Yet a user often still wants to prove their identity to a chosen party from inside that anonymity. We present MoSign, which recasts digital watermarking as a challenge-response authentication protocol on the motion channel. MoSign embeds a time-varying keyed message into the style latent of a motion variational autoencoder via keystream-whitened Gaussian-Shading: watermarked motion is provably indistinguishable from watermark-free motion, since any detector's advantage reduces to breaking a pseudorandom function, so the mark composes with anonymization. The message is a keyed MAC over an epoch counter, a session nonce, and a deployment context, making MoSign replay-resistant and bounding forgery by the verifier's measured false-accept rate times the adversary's online query budget. A key-holding verifier decides with a sequential test. We identify renderrecordre-estimate ("recapture") as the realistic VR attack surface: a generic pose estimator strips the necessarily subtle watermark, but a recapture-robust keyed reader recovers it (up to codeword accuracy on a projected-2D channel, through a full render-to-video loop), while without the key recovery stays at chance. On HumanML3D, MoSign authenticates every legitimate user at a false-accept rate of on clean and most channels and stays undetectable (detection AUC , chance ); on the BOXRR-23 VR dataset it carries the mark through a real anonymizer at codeword accuracy and adds no de-anonymization side channel.
Figures & tables
| Channel | acc. | TPR@ | SPRT |
|---|---|---|---|
| clean | 0.98 | 1.00 | 0.99 |
| resample | 0.98 | 1.00 | 0.95 |
| smooth | 0.98 | 1.00 | 0.99 |
| noise | 0.98 | 1.00 | 0.99 |
| retarget | 0.97 | 1.00 | 0.99 |
| recapture (oracle) | 0.97 | 1.00 | 0.99 |
| Construction | worst-case AUC |
|---|---|
| MoSign (symmetric, final) | 0.51 |
| + amplitude correction | |
| + imprint objective |
| Reader of the recaptured motion | synth. | real loop |
| generic estimator (no key) | 0.52 | 0.50 |
| generation-side, in-distribution | 0.74 | – |
| generation-side, held-out | 0.64 | 0.52 |
| receiver-side keyed (conv) | 0.61 | – |
| receiver-side keyed (transformer) | 0.95 | – |
| receiver-side keyed (recurrent) | 0.96 | 0.81 |
| Condition | re-id (rank-1) |
|---|---|
| clean | 0.884 |
| anonymized (DMM) | 0.034 |
| VAE recon | 0.026 |
| watermarked (MoSign) | 0.024 |
| chance | 0.001 |
| Scheme | WM-IND | pair | Replay | Codeword | Recapture | MPJPE (m) |
|---|---|---|---|---|---|---|
| in-generation | ||||||
| MoSign | 0.52 | 0.51 | 0.49 | 0.97 | 0.62 | 0.044 |
| static message | 0.52 | 0.50 | 0.51 | 0.98 | 0.63 | 0.044 |
| static keystream | 0.52 | 1.00 | 0.48 | 0.98 | 0.64 | 0.044 |
| Gen-Static | 1.00 | 1.00 | 0.97 | 0.97 | 0.57 | 0.043 |
| Stable-Sig static | 1.00 | – | 0.98 | 0.98 | 0.63 | 0.044 |
| Replay scenario | false-accept | TTA |
|---|---|---|
| fresh (legit, ) | s | |
| delayed epoch (within slack) | s | |
| delayed epochs (stale) | ||
| delayed epochs (stale) | ||
| cross-session (fresh nonce) |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Backbone | Read-out | Codeword | WM-IND |
|---|---|---|---|
| VAE (deployed) | extractor | ||
| MDM (frozen) | DDIM inv. |
| Removal attack | needs | auth. at |
|---|---|---|
| (added MPJPE, m) | ||
| collusion avg. | keys | |
| multi-epoch avg. | epochs | |
| white-box PGD | extractor wts | |
| re-generation | generative AE | |
| purification AE | generic AE |
Virtual Reality
Virtual reality studies immersive, interactive environments and the technologies and human experiences that make them useful.
See all 40 papers