<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>De-anonymizing VR Avatars using Non-VR Motion Side-channels</title></titleStmt>
			<publicationStmt>
				<publisher>ACM</publisher>
				<date>05/27/2024</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10590920</idno>
					<idno type="doi">10.1145/3643833.3656135</idno>
					
					<author>Mohd Sabra</author><author>Nisha Vinayaga-Sureshkanth</author><author>Ari Sharma</author><author>Anindya Maiti</author><author>Murtuza Jadliwala</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[Virtual Reality (VR) technology offers an immersive audio-visual experience to users through which they can interact with a digitally represented 3D space (i.e., a virtual world) using a headset device. By (visually) transporting users from their physical world to realistic virtual spaces, VR systems enable interactive and true-to-life versions of traditional applications such as gaming, remote conferencing and virtual tourism. However, VR applications also present significant user-privacy challenges. This paper studies a new type of privacy threat targeting VR users which attempts to connect their activities visible in the virtual world to their physical state sensed in the real world. Specifically, this paper analyzes the feasibility of carrying out a de-anonymization or identification attack on VR users by correlating visually observed movements of users' avatars in the virtual world with some auxiliary data (e.g., motion sensor data from mobile/wearable devices) representing their context/state in the physical world. To enable this attack, the paper proposes a novel framework which first employs a learning-based activity classification approach to translate the disparate visual movement data and motion sensor data into an activity-vector to ease comparison, followed by a filtering and identity ranking phase outputting an ordered list of potential identities corresponding to the target visual movement data. A comprehensive empirical evaluation of the proposed framework is conducted to study the feasibility of such a de-anonymization attack.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">INTRODUCTION</head><p>Virtual Reality (VR) is a transformative technology which has fundamentally changed how we interact with digital spaces. By utilizing specialized hardware such as VR headsets and input controllers, users can immerse themselves in three-dimensional, computergenerated realistic virtual environments. This level of immersion has propelled VR from a specialized niche to a mainstream platform for a range of applications including gaming <ref type="bibr">[16]</ref>, social interaction <ref type="bibr">[10]</ref>, remote conferencing <ref type="bibr">[9]</ref> and virtual tourism <ref type="bibr">[2]</ref>. As VR technologies continue to mature, their adoption rates have skyrocketed. As of February 2023, over 171 million people worldwide, with 65.9 million in the U.S. alone, were using VR applications <ref type="bibr">[1]</ref>.</p><p>While the VR technology enables exciting new applications, it also raises pressing security and privacy concerns. These concerns are not merely hypothetical and could be a significant barrier to VR technology adoption <ref type="bibr">[23]</ref>. These issues are further exacerbated by the fact that VR platforms often interface with other smart devices, such as mobile phones and wearables, creating a complex ecosystem ripe for security and privacy vulnerabilities. Existing research efforts in the literature have exposed a variety of security/privacy vulnerabilities in VR platforms, ranging from motion sensor-based inference attacks <ref type="bibr">[82]</ref> and eye-tracking exploits that harvest sensitive personal data <ref type="bibr">[41]</ref> to exploring how gait and movement data from VR headsets can be used to create deepfake videos <ref type="bibr">[78]</ref>.</p><p>In this paper, we focus on an unexplored, yet highly relevant, privacy risk that arises when a user is simultaneously engaged with a VR platform and a non-VR mobile/wearable device equipped with motion sensors. Individually, an adversary's access to data from either system is usually considered non-threatening. However, within the broader ecosystem, is it possible that a user's privacy may suddenly become vulnerable if an adversary gains access to both data streams? Our work attempts to answer this question by studying if a combination of these disparate data sources can be potentially used to de-anonymize users and compromise their privacy within the VR application ecosystem. Despite recent research efforts focusing on uncovering and overcoming privacy challenges in VR applications, the potential threat (and associated risks) of correlating real-world motion sensor data with in-VR visual data has been largely overlooked. This paper aims to address this specific, yet critical, gap.</p><p>This work is the first to systematically investigate the user anonymity and privacy implications stemming from a combination of data from VR and non-VR (mobile/wearable) platforms, with the following specific contributions: &#8226; Correlation Framework: We develop a framework for correlating motion sensor data from users' mobile/wearable devices with the visual movement of their virtual avatars in VR applications. &#8226; Empirical evaluation: To validate the performance and efficacy of our correlation framework, we collect test data from human subject participants and perform a comprehensive empirical evaluation under various practical settings. &#8226; Optimization: We propose improvements and optimizations to our correlation framework, tailored for large-scale attacks. These enhancements provide a more efficient and scalable solution to the identified user-privacy issue. &#8226; Mitigation strategies: We discuss potential mitigation policies and recommendations that provide actionable insights for both developers and policy-makers.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">RELATED WORK</head><p>We categorize related research efforts into those that attempt to infer private information from mobile device motion sensors and those that employ VR systems and applications.</p><p>Information leakage from mobile device motion sensors: Mobile and wearable device motion sensors such as accelerometers and gyroscopes have been heavily scrutinized in the research literature for their potential to be employed as a side-channel for leaking users' private information. For instance, motion sensor data have been utilized to infer keystrokes and passwords <ref type="bibr">[27,</ref><ref type="bibr">46,</ref><ref type="bibr">47,</ref><ref type="bibr">64]</ref>, identify lock screen patterns <ref type="bibr">[85]</ref>, deduce travel routes and location <ref type="bibr">[36,</ref><ref type="bibr">58,</ref><ref type="bibr">60]</ref>, infer speeches <ref type="bibr">[35,</ref><ref type="bibr">37,</ref><ref type="bibr">52]</ref>, infer handwritten text <ref type="bibr">[79]</ref>, reconstruct 3D models from printer vibrations <ref type="bibr">[67]</ref>, and estimate demographic information <ref type="bibr">[31,</ref><ref type="bibr">66]</ref>. Application of such on-body motion sensors for user authentication <ref type="bibr">[44,</ref><ref type="bibr">80,</ref><ref type="bibr">84]</ref> has also received significant attention. However, such biometric authentication systems require training data from individual users. Information leakage in VR systems and applications: Albeit relatively new as a consumer technology, VR has garnered a host of security and privacy concerns. Attacks such as password inference from finger movements (using motion sensors) when typing a password in the virtual world can become a security problem if the same password is reused by the user in real world <ref type="bibr">[30]</ref>. Some VR headsets include eye-tracking, which can reveal valuable personal information <ref type="bibr">[41]</ref>. VR, when used in conjunction with Deepfakes <ref type="bibr">[78]</ref>, can also become a serious threat as an adversary can potentially utilize personal gait and movement data collected from a VR headset to create a very authentic-looking fake video. These type of attacks can be used to damage personal reputation <ref type="bibr">[12]</ref>, conduct social engineering attacks <ref type="bibr">[81]</ref>, and spread misinformation <ref type="bibr">[34,</ref><ref type="bibr">40]</ref>. Authentication using authorized sensors on the VR headset or paired on-body controllers <ref type="bibr">[68]</ref> and synchronization among multiple (on-body) VR sensors <ref type="bibr">[28,</ref><ref type="bibr">39]</ref> for utility focused applications are another closely related research topics. Unlike these prior research efforts, in our attack we focus on out-of-band motion sensor data, which are not natively paired with the VR system. Deanonymization solely using movements observed in the virtual world is difficult, especially when the confusion set size is large. In this work, we attempt to de-anonymize VR users by correlating visually observed movements of their virtual world avatars with available out-of-band motion data.</p><p>One of the most desirable features in a VR experience is the ability to use anonymous avatars and identity transformation. Without appropriate identity protection VR users can be hesitant to participate in the ecosystem <ref type="bibr">[23]</ref>. Previous works on de-anonymization of VR users utilized in-band data, such as sensors on the VR systems and/or movement characteristics of virtual avatars, to infer users' identity <ref type="bibr">[53,</ref><ref type="bibr">54]</ref>, anthropometrics <ref type="bibr">[59]</ref>, environment <ref type="bibr">[59]</ref>, device information <ref type="bibr">[59,</ref><ref type="bibr">72]</ref>, and demographics <ref type="bibr">[59]</ref>. To the best of our knowledge, the proposed de-anonymization attack using out-of-band motion data has never been studied before.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">SYSTEM AND ADVERSARY MODEL</head><p>The target in our proposed attacks are users participating in a VR application. For this, users employ a primary VR device/hardware (from manufacturers such as Microsoft, Meta, Apple and HTC), which typically comprises of a headset running a manufacturerprovided platform or OS. Users are able to execute a variety of manufacturer-provided or third-party VR applications <ref type="bibr">[7, 9-11, 18, 19, 21]</ref> on the headset. Users may optionally also employ additional manufacturer-provided or third-party hardware such as hand controllers and headphones/earphones. In addition to the application that the user is directly interacting with, the VR headset may also be running other support applications (in parallel and/or in the background), for example, for live streaming the VR experience.</p><p>We refer to all these apps running on the VR headset as VR-apps. VR-apps often generate visual/video streams comprising of the users' virtual embodiment (in the form of an avatar) interacting with other virtual users (or avatars) or the virtual environment. Depending on the VR-app, these visual or video stream data may be publicly available to all users of the VR-app or to everyone (in case it is live streamed on a public platform).</p><p>While interacting with VR-apps, users may also have in their possession other smart devices such as smartphones and smartwatches. There may be applications running on these smart devices, typically distinct from the VR-apps (e.g., operated by different manufacturers or providers), and are referred by us as non-VR-apps. These non-VR-apps may be able to access local sensors on these devices (smartphones and smartwatches) either with or without the explicit permissions of the user. For instance, accessing camera and microphone may require explicit user permissions, while accessing motion sensors such as accelerometers and gyroscopes may not.</p><p>We consider an adversary whose goal is to de-anonymize a target VR user (or users) by correlating the visual movements of his/her anonymous virtual world avatar from the publicly-accessible visual/video stream data generated by the VR-app with out-of-band, but identifiable, mobile/wearable motion sensor data from a set of potential target users collected through non-VR-apps. The size of the labeled motion dataset of users (collected from non-VR-apps) in the possession of the adversary, representing the confusion set of the target VR user or avatar, may vary between a large-scale where the cardinality (of the dataset) may be very high, to a small-scale. Similarly, the video recordings of VR users or avatars will result</p><p>Correlate Avatars' Visual Movements to Users' Motion Sensor Data User A Wears VR Headset Anonymous Virtual Avatar Virtual World Adversary Adversary Observes a Set of Virtual Avatars and Composes a Visual Movement Dataset (V) Phone In Pocket Adversary's Malicious App Motion Sensor Data (Accelerometer + Gyroscope) Motion Sensors Dataset (M) User A Identified ? User J User K v i m j Figure 1: Threat model and Attack Summary in a visual movement dataset, which can also range between a large-scale where its cardinality may be very high, to a significantly smaller small-scale such as avatars present within a (targeted) virtual room or playing a (targeted) virtual game. The goal of the adversary, as depicted in Figure <ref type="figure">1</ref>, is to de-anonymize a target user (i.e., its avatar) in the VR space by matching an element in the labeled motion dataset to the element (corresponding to the target user or avatar) in the visual movement dataset. This adversarial goal can also be extended to include de-anonymization of multiple VR users or avatars. In order to compile the visual movement dataset (denoted by &#119881; = {&#119907; 1 , &#119907; 2 , . . . , &#119907; &#119901; }, with cardinality &#119901;), the adversary has to join the virtual world, observe and record each avatar for a baseline duration of time within which a series of movements are likely observed. In case of the VR service provider being the adversary, this process can scale easily. In order to compile the labeled motion dataset (denoted by &#119872; = {&#119898; 1 , &#119898; 2 , . . . , &#119898; &#119902; }, with cardinality &#119902;), the adversary promiscuously records zero-permission motion (accelerometer and gyroscope) sensor data from a targeted set of users. Typically, this can be achieved by means of a malicious SDK and/or a trojan app that offers some utility to the users on the front-end (e.g., a game or a social networking service), while surreptitiously recording the motion data on the back-end. User may also be compelled by a higher authority, for example an employer, school, or government, to download such a (malicious) app onto their smartphone or smartwatch <ref type="bibr">[3,</ref><ref type="bibr">4,</ref><ref type="bibr">13,</ref><ref type="bibr">17,</ref><ref type="bibr">24]</ref>. Several research efforts in the literature have studied/uncovered other significant privacy issues under a similar assumption <ref type="bibr">[27, 45, 48-50, 55, 57, 63, 75-77, 87, 89]</ref>. We also assume that both datasets (&#119881; and &#119872;) contains timestamps which are fairly in sync with the standard global time.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">CORRELATION FRAMEWORK</head><p>Our proposed correlation framework (Figure <ref type="figure">2</ref>) is composed of two key components. The first component converts both the (out-ofband) motion sensor data and the visual movement data into a comparable format, referred as activity-vector series. The activityvector series enables us to directly compare and match elements from the two datasets (&#119881; and &#119872;) using a matching heuristic. The second component ranks the closest matches across the elements of both the datasets, such that the highly ranked matches are most likely associated with the target user (identifiable from &#119872;).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Activity-Vector Series</head><p>Our motivation behind defining an activity-vector series stems from the fact that the two data sources (&#119881; and &#119872;) are not directly comparable to each other. The motion sensor data &#119872; comprises of samples measuring linear acceleration and orientation changes of a user's body, whereas the visual movement data &#119881; consists of video frames recording an anonymous avatar's movements. Consequently, we define an activity-vector series as a sequence of activities observed (classified by a ML model), combined with a pairwise sequence of "magnitudes" for each observed activity from each of the data sources. The magnitude quantification (Section 4.5) associated with an observed activity is approximate, but serves as a critical attribute in our correlation framework.</p><p>More precisely, our activity-vector series is composed of the following commonly observed activities: idle, body rotation, head rotation, hand movements, walking, bending, jumping, and "other". These were the common movements observed in over 2000 hours of activity data collected by us inside VRChat <ref type="bibr">[21]</ref> (more details in Section 5). These activity classifications combined with magnitude calculations form a vector-like representation where each observed activity has a corresponding magnitude information. An activityvector series from either data sources can be depicted as:</p><p>walking walking idle bending walking walking jumping idle walking jumping &#119886; 4 &#119886; 3 &#119886; 1 &#119886; 7 &#119886; 6 &#119886; 10 &#119886; 8 &#119886; 2 &#119886; 5 &#119886; 9 Activity Magnitude Left-front Hip Pocket (Motion Sensor)</p><p>where &#119886; &#119894; &#8712; R + is the positive real magnitude of an activity time window, such that &#119886; 1 &gt; &#119886; 2 &gt; . . . &gt; &#119886; 10 . In order to generate this activity-vector series, we next detail the steps taken to preprocess and utilize supervised machine learning models to classify the activities observed in individual sequences.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Pre-Processing</head><p>We first segment both the physical motion data (obtained from the mobile device motion sensors) and the visual movement data (obtained from the VR apps) into small time windows (of &#119908; seconds each) and classify each window as one of the eight aforementioned actions. We empirically evaluate the effect of the size of &#119908; on correlation accuracy in Section 6.1 and use the optimal value for rest of the evaluation. For the visual movement data, we further separate individual user's avatar from the background, so as to better classify the movements of the avatar without any background noise. Pad-dleSeg <ref type="bibr">[29]</ref>, an open-source toolkit that applies image segmentation using different techniques, was used to segment out the individual avatars. More specifically, we used a pre-trained ORCNet model with HRNet backbone that was trained using the Cityscapes dataset <ref type="bibr">[15]</ref>. For the motion sensor data, we apply a Savitzky-Golay filter <ref type="bibr">[61]</ref> to smooth the signals for noise reduction before classification.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Training Data Generation</head><p>To generalize and scale our activity classification for a large-scale attack, we generate a training dataset by adding synthetically generated variations that capture a wide range of bodily variances and anomalies (often caused by imperfections in the VR systems), otherwise imfeasible to collect from real human subjects, to a wellknown visual movement dataset in the literature. Specifically, we generate the training data of our visual movement classifier using the 3D game engine Unity <ref type="bibr">[20]</ref> (Figure <ref type="figure">3</ref>), utilizing the CMU MoCap <ref type="bibr">[5]</ref> dataset and synthetically generated variations of motions captured in the CMU MoCap dataset. The CMU MoCap dataset was created using a motion capture system where the subjects wore 41 markers and performed various activities. It is a well-known dataset for evaluation of activity recognition frameworks <ref type="bibr">[26,</ref><ref type="bibr">56,</ref><ref type="bibr">65]</ref>, and can be applied to reproduce avatar movements inside Unity using corresponding body keypoints.</p><p>Our synthetically generated movement variations randomized the speed between 0.25&#215; and 2&#215; of CMU MoCap speeds, and rotation angle between -10&#176;and +10&#176;of CMU MoCap rotation angles. In addition to the CMU MoCap model avatar, we also train using another freely available avatar, namely the Futuristic soldier -Scifi character <ref type="foot">1</ref> . As the video movement data is dependent on the viewpoint of the adversary, we also capture varying camera positions around the virtual avatar in Unity (Figure <ref type="figure">3</ref>). Specifically, the camera position was randomized around the avatar (across all angles for which the avatar is visible), enabling different visual perspectives and thus improving classifier training. The visual movements of avatars were recorded using OBS Studio <ref type="bibr">[14]</ref>.</p><p>Additionally, in Unity we attached a custom-made virtual motion sensor to the avatar (Figure <ref type="figure">3</ref>), which is able to capture acceleration and orientation changes of the avatar. This virtual motion sensor closely captures the kinematic forces experienced by the avatar in the same way a smartphone or smartwatch motion sensor on a real person would experience, and it allows us to collectively train a classifier for the motion sensor data alongside the visual movement classifier. Such a strategy of using virtual sensors enables training data collection without requiring real human subject participants and also eliminates related synchronization errors. Even though our activity classifiers were trained with publicly-available avatar datasets (and synthetically generated variants of it), for the experimental evaluation and testing of our framework (from an adversarial standpoint) we compose a test dataset with the help of real/actual human subject participants and also address synchronization errors between the motion sensor and visual movement data (Section 6). Such a strategy is not only easily generalizable but also realistic, as in practice an adversary may be unable to train activity classifiers using the target users' data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4">Activity Classification</head><p>We collectively utilize Apple's Core ML <ref type="foot">2</ref> and Create ML<ref type="foot">foot_2</ref> libraries to generate two classification models (each trained separately), one using the video movement training data and another using the motion sensor training data as described above. Core ML is a state-of-the-art model pre-trained by Apple for generic action and activity classification, and we further fine-tuned it with the help of transfer learning <ref type="bibr">[51]</ref> using the training data described in Section 4.3. Prior research has already demonstrated the feasibility of such activity recognition using Core ML <ref type="bibr">[42]</ref>. Moreover, Apple's Vision framework <ref type="foot">4</ref> is already pre-trained for keypoint detection on humans, which can also be utilized with Core ML on humanoid avatars. Applying these trained models on test visual movement and motion sensor data (as described in Section 5.4), split into &#119908; second windows, will result in a sequence of activities observed on the two data sources, which is one of the two sequences in the activity-vector series described earlier.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.5">Activity Magnitude</head><p>Intuitively, when the same classified activity is observed in both data sources (in a given time window), we can improve our identity correlation by ranking smaller magnitude differences above larger magnitude difference. For example, if an anonymous avatar is observed to be jumping fast in the virtual world (high magnitude), it is likely that their activity magnitude will also be high on the motion sensor data. As mentioned earlier, our magnitude quantification of an observed activity is approximate. For the motion sensor, we calculate magnitude of each &#119908; second activity window as the average magnitude of acceleration vectors in the motion sensor data. For the visual movement data, we utilize optical flow to compute the average acceleration of areas on the avatar's body where the motion sensor may be attached. Optical flow estimates the motion of objects between consecutive frames in a video, caused by the relative movement between the object and camera <ref type="bibr">[33,</ref><ref type="bibr">38]</ref>.</p><p>However, as some activities tend to generate disproportionate levels of motion in various parts of the body, it may result in different magnitudes of movements for the same activity. Furthermore, as the adversary may not have knowledge of the motion sensor's positioning for each user's data, the visually observed magnitude of movement experienced by an avatar's different body keypoints is another attribute that should be factored in to improve our correlation model. We consider six usual body positions where the motion sensor is likely to be attached, such as a smartphone in pant pocket or a smartwatch on the wrist: left-front hip pocket, right-front hip pocket, left-back hip pocket, right-back hip pocket, left wrist, and right wrist. As a result, the activity-vector series calculated from the visual movement dataset will consists of six different magnitude sequences (for the same activity sequence) as follows:</p><p>walking idle bending walking walking jumping idle idle jumping &#119886; 4 &#119886; 3 &#119886; 1 &#119886; 7 &#119886; 6 -&#119886; 8 &#119886; 2 &#119886; 5 &#119886; 9 Activity Magnitude walking walking idle bending walking walking jumping idle idle jumping &#119886; 4 &#119886; 3 &#119886; 2 &#119886; 7 &#119886; 6 &#119886; 10 &#119886; 8 &#119886; 1 &#119886; 5 &#119886; 9 Activity Magnitude walking walking idle bending walking walking jumping idle idle jumping &#119886; 4 &#119886; 2 &#119886; 3 &#119886; 7 &#119886; 6 &#119886; 10 &#119886; 8 &#119886; 1 &#119886; 5 &#119886; 9 Activity Magnitude walking walking idle bending walking walking jumping idle idle jumping &#119886; 4 &#119886; 3 &#119886; 1 &#119886; 7 &#119886; 6 &#119886; 9 &#119886; 8 &#119886; 2 &#119886; 5 -Activity Magnitude walking walking idle bending walking walking jumping idle idle jumping &#119886; 3 &#119886; 4 &#119886; 1 &#119886; 6 &#119886; 7 &#119886; 8 -&#119886; 2 &#119886; 5 &#119886; 9 Activity Magnitude walking walking idle bending walking walking jumping idle idle jumping &#119886; 1 &#119886; 3 &#119886; 4 &#119886; 6 &#119886; 7 &#119886; 9 &#119886; 8 &#119886; 2 &#119886; 5 &#119886; 10 Activity Magnitude Left-front Hip (Visual) Right-front Hip (Visual) Left-back Hip (Visual) Right-back Hip (Visual) Left Wrist (Visual) Right Wrist (Visual)</p><p>where "-" implies unobservable position for optical flow calculations, all &#119886; &#119894; in red depict mismatched magnitude rank with the left-front hip pocket motion sensor activity-vector series shown in Section 4.1, and all green &#119886; &#119894; imply matching magnitude rank. Moreover, there is an activity misclassification in this example at the ninth window, highlighted as &#119894;&#119889;&#119897;&#119890;. All of these seven magnitude sequences (one from motion sensor data and six from visual movement data) are utilized in the correlation and identity ranking processes described next.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.6">Correlation and Identity Ranking</head><p>The first intuitive assumption in our correlation framework is that the order of activities by a user (and his/her avatar) will be unique when observed for a long enough duration. Intuitively, this observation duration can be shorter in a small-scale attack where the confusion set is smaller. In a large-scale attack, the observation duration has to be longer because with a large confusion set the occurrence of more than one anonymous user conducting the same sequence of activities within a short observation duration is more probable, thus creating confusion between them. We use this assumption to filter out unlikely matches from our identity ranking calculations, using the activity sequences in the activity-vector series.</p><p>Our second intuitive assumption is that varying activity magnitudes caused by disproportional levels of motion in various parts of the body can be utilized to identify closely correlated visual movement and motion sensor sequences. Accordingly, we utilize magnitude correlation rankings to rank known identities (from dataset &#119872;) such that users with motion sensor magnitude sequence closely matching to a visual movement magnitude sequence (best of the six visual positions) are ranked closer to 1.</p><p>4.6.1 Activity-based Filtering. As the activity classification is not perfect, we cannot reliably use the sequence of activities for correlation. Instead, we use a high degree of mismatch between sequences of activities (across visual movement and motion sensor data) to filter out identities whose motion sensor data are objectively different from an anonymous avatar being observed. More specifically, we calculate the Hamming distance between the motion sensor activity sequence and the visual movement activity sequence (which is the same for all six activity-vector series generated from the visual movement data). Thereafter, we eliminate pairs with distance threshold &gt; &#119905; from further magnitude-based identity rankings. We empirically evaluate threshold &#119905; in Section 6.1 as part of our framework parameter optimization. For example, between the pair of activity-vector series illustrated in Section 4.1 and Section 4.5, this Hamming distance is 1 (or 10%) due to the activity mismatch in the ninth time window. 4.6.2 Magnitude-based Ranking. After filtering, we are left with identities whose motion sensor activity sequences closely matched at least one of the six visual movement activity sequences. We utilize Spearman's rank correlation coefficient <ref type="bibr">[88]</ref> to correlate and rank potential identities based on magnitude sequences, which is computed as follows:</p><p>where &#119899; is the number of observations (of &#119908; second windows) in the activity-vector series and &#119889; &#119894; is the difference in the paired ranks of the two magnitudes (across the visual movement and motion sensor data sequences) at the &#119894; &#119905;&#8462; time window. The higher the Spearman's coefficient, the more likely the two sequences correlate to each other, and thus the corresponding identity from &#119872; would be ranked closer to 1 out of the &#119902; (minus the identities that did not pass the activity-based filtering). As the adversary does not have positioning information of the motion sensor on the users' body, we compute Spearman's correlation coefficient for the six likely positioning of the motion sensors (Section 4.5), and consider only the maximum for identity ranking. Between the examples shown in Section 4.1 and Section 4.5, magnitude from the visual data sequence of the left-front hip will have the highest Spearman's correlation coefficient with the left-front hip pocket motion sensor magnitudes. When activity-based filtering threshold &#119905; is set very low (i.e., only tolerance for very minor or no mismatches in the activity sequences), it is also possible that all identities are eliminated from this magnitude-based raking, thus resulting in no identity ranking. The entire correlation procedure is described in Algorithm 1.</p><p>Algorithm 1 Correlation Algorithm.</p><p>1: Input: 2: &#119907;&#119894;&#119889;&#119890;&#119900;[] &#8882; Video's activity-vectors series 3: &#119898;&#119900;&#119905;&#119894;&#119900;&#119899;[] &#8882; Motion's activity-vectors series 4: &#119905; &#8882; Filtering threshold 5: Output: 6: &#119903;&#119886;&#119899;&#119896;&#119890;&#119889;[] &#8882; Ranked list of correlated motion-video indexes with maximum Spearman's RCC 7: procedure Correlate 8: &#119888;&#119900;&#119903;&#119903;&#119890;&#119897;&#119886;&#119905;&#119890;&#119889;[] &#8882; Maps motion indexes to correlated video indexes 9: &#119906;&#119899;&#119903;&#119886;&#119899;&#119896;&#119890;&#119889;[] &#8882; Unranked list of correlated motion-video indexes with maximum Spearman's RCC 10: for &#119894; in range(&#119907;&#119894;&#119889;&#119890;&#119900;.&#119904;&#119894;&#119911;&#119890;() -1) do 11: for &#119895; in range(&#119898;&#119900;&#119905;&#119894;&#119900;&#119899;.&#119904;&#119894;&#119911;&#119890;() -1) do 12: if &#119867;&#119886;&#119898;&#119898;&#119894;&#119899;&#119892;&#119863;&#119894;&#119904;&#119905;&#119886;&#119899;&#119888;&#119890;(&#119907;&#119894;&#119889;&#119890;&#119900;[&#119894;], &#119898;&#119900;&#119905;&#119894;&#119900;&#119899;[&#119895;]) &lt; &#119905; then 13: &#119888;&#119900;&#119903;&#119903;&#119890;&#119897;&#119886;&#119905;&#119890;&#119889;[&#119894;].&#119886;&#119901;&#119901;&#119890;&#119899;&#119889;(&#119895;) 14: end if 15: end for 16: end for 17: for &#119894; in range(&#119907;&#119894;&#119889;&#119890;&#119900;.&#119904;&#119894;&#119911;&#119890;() -1) do 18: for &#119895; in range(&#119888;&#119900;&#119903;&#119903;&#119890;&#119897;&#119886;&#119905;&#119890;&#119889;[&#119894;].&#119904;&#119894;&#119911;&#119890;() -1) do 19: &#119898; &#119894;&#119889;&#119909; = &#119888;&#119900;&#119903;&#119903;&#119890;&#119897;&#119886;&#119905;&#119890;&#119889;[&#119894;][&#119895;] &#8882; Motion index 20: &#119898;&#119886;&#119909;&#119878;&#119901;&#119890;&#119886;&#119903;&#119898;&#119886;&#119899; = &#119898;&#119886;&#119909;(&#119878;&#119901;&#119890;&#119886;&#119903;&#119898;&#119886;&#119899;(&#119907;&#119894;&#119889;&#119890;&#119900;[&#119894;], &#119898;&#119900;&#119905;&#119894;&#119900;&#119899;[&#119898; &#119894;&#119889;&#119909; ])) 21: &#119906;&#119899;&#119903;&#119886;&#119899;&#119896;&#119890;&#119889;[&#119894;].&#119886;&#119901;&#119901;&#119890;&#119899;&#119889;({&#119898;&#119886;&#119909;&#119878;&#119901;&#119890;&#119886;&#119903;&#119898;&#119886;&#119899;, &#119898; &#119894;&#119889;&#119909; }) 22: end for 23: &#119903;&#119886;&#119899;&#119896;&#119890;&#119889;[&#119894;] = &#119906;&#119899;&#119903;&#119886;&#119899;&#119896;&#119890;&#119889;[&#119894;].&#119904;&#119900;&#119903;&#119905; () &#8882; Sorted based on Spearman's RCC 24: end for 25: end procedure</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">EXPERIMENTAL SETUP</head><p>To evaluate our proposed correlation framework and training methodology, we collect test data (visual and motion sensor) from human subject participants using a real VR application. Here we outline details of our test data collection procedure.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Participants' Task</head><p>Our participants (details in Section 5.3) carry out a set of representative activities in a virtual reality app while carrying a smartphone and smartwatch on their body. The controlled activities include movement of the head, arms, palms, legs, and also actions that require combinations of them. These different actions were chosen to generate a wide variety of different movements within the limited time we had with the participants. During the uncontrolled activity phases, participants were free to interact with the VR app on their own volition, not limited by the aforementioned activities.</p><p>The average time each of our participants spent on the VR app to provide us data for our study was 1 hours and 8 minutes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Adversarial Viewpoint</head><p>We continuously observe and record the participants' avatar in the virtual world by means of five different virtual camera positions, where each camera position represents a different adversarial viewpoint. Four of these positions are static and positioned at different corners of the virtual room, each of which represents the fixed (or static) position of an adversarial avatar observing the target participant from that position. The fifth camera is mobile, and represents the view of an adversarial avatar moving and navigating in the proximity of the (target) participant's avatar. We carried out our experiments in two different virtual worlds -one in a public world (called Black Cat) where other users' avatars may be present, and second in a private world (called Home) where access is restricted to a select group of users. We refer to these five adversarial viewpoints in these two worlds by means of a legend outlined in Table <ref type="table">1</ref>. In our evaluation (Section 6), we will also analyze the effect of combining these five viewpoints on the accuracy of activity classification  (where the viewpoints are referred to as HCC and BCC for Home and Black Cat, respectively).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Participants</head><p>We recruited 64 participants for test data collection, however, due to various personal, technical, and medical challenges, only 35 of them completed the study and whose data is included in our evaluation. The participants' ages were between 18 and 48, with a median age of 19. Additional demographic and other details about our participants are listed in Table <ref type="table">2</ref>. Participants were appropriately compensated for their time and our study was approved by our institution's Institutional Review Board (IRB).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">Data Collection Apparatus</head><p>VR Device and App. We utilize the Meta Quest 2 VR device <ref type="foot">5</ref> and the popular VRChat <ref type="bibr">[21]</ref> app (installed on the Quest 2) for generating and collecting test data from the participants in our study. As of July 2022, VRChat had more than 200,000 daily active users and more than 7 million registered users <ref type="bibr">[22]</ref>. Although other popular apps also have full-body avatars <ref type="bibr">[8]</ref>, the fundamental nature of data generation (and collection) does not significantly differ across a majority of the VR apps. Motion Sensors. Participants' body motion was captured at 20 &#119898;&#119904; sampling interval on a smartwatch (TicWatch 2) worn by the participants on their wrist and on a smartphone (Moto G7 Play) placed in their pocket. 10 participants chose to wear the smartwatch on their right wrist, while the rest chose to wear it on their left wrist. 23 participants placed the smartphone in one of their front pockets, while the rest place it in one of their back pockets. Data Logging. The VRChat app was installed on five different desktops to record the viewpoints/perspective of an adversary as described in Section 3, and OBS Studio <ref type="bibr">[14]</ref> was used to record the each adversarial perspective into individual video files with timestamps. The motion sensors were logged in respective devices with timestamps, and later transferred to another desktop for analysis. Analysis Computer. A MacBook Pro, equipped with 10-Core M1 CPU, 16-Core GPU, 16GB memory, 1TB SSD storage and 16-core Neural Engine, was used to train and classify activities, and for the activity-based filtering and magnitude-based ranking tasks. For the large-scale analysis (Section 7), we used a desktop with Ryzen 5 3600 6-Core 3.6GHz CPU, RTX 3060 12GB GPU, 1TB SSD storage, and 16GB memory, to train and generate large datasets using CTGAN <ref type="bibr">[6,</ref><ref type="bibr">83]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">EVALUATION</head><p>We evaluate the proposed correlation framework utilizing the test data collected from participants, which represents a small-scale attack with confusion set size of 271 (accumulating different motion sensor locations from individual participants). After comprehensively evaluating the framework in the small-scale setting, we generate and evaluate a representative dataset for a large-scale correlation in Section 7.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1">Framework Parameters</head><p>Our correlation framework has two key parameters: (i) activity window size (&#119908;), which is the time duration used to classify an action, and (ii) Hamming distance used as the activity-based filtering threshold (&#119905;), which is the minimum requirement for an activity-vector to be considered in the identity ranking. As the total observation time, and thus the number of observed activity windows, will vary between different target users, the activity-based filtering threshold (&#119905;) is normalized with respect to the number of observed activity windows. No filtering occurs when the filtering threshold is set at 100%, whereas at 0% even one mismatch in the activity sequence will result in that activity-vector being filtered out. Figures <ref type="figure">4</ref> and <ref type="figure">5</ref> show the correlation accuracy, where "None Correlated" occurs when the activity-based filtering filters all candidate activity-vectors, Correlated" occurs when the top ranked identity is incorrect, and "Correctly Correlated" occurs when the top ranked identity is correct. From these figures, we can see that as we increase &#119908;, the percentage of identities that passes the activity-based filtering and then used for identity ranking also grows. Conversely, the percentage of "None Correlated" is diminished as &#119908; is increased. This can primarily be attributed to: (i) the size of activity sequence in the activity-vector is inversely proportional to &#119908; for a constant observation time period thereby reducing the number of probable mismatches, and (ii) the activity inference tends to perform more accurately for larger &#119908;.</p><p>While the above observation should compel us to select a larger &#119908;, in Figures <ref type="figure">4</ref> and <ref type="figure">5</ref> we also observe that there exists a trade-off between &#119908; and correctly correlated identities for different activitybased filtering thresholds. For instance, when &#119908; = 5&#119904; we observe that the percentage of correctly correlated identities starts to decrease beyond the filtering threshold of 70% in Figure <ref type="figure">4e</ref>. This is most likely because as the size of activity-vector is reduced with increasing &#119908;, the probability of confusion with another person's activity magnitudes is increased. This trend was consistent across other experimental variables, such as different adversarial viewpoints, motion sensors, and motion sensor positions on the body.</p><p>Based on empirical observations across different experimental variables, we set &#119908; = 1&#119904; and &#119905; = 30% for the rest of our analyses. On average, these selected values are best suited for maximizing the percentage of correctly correlated identities. The average correctly correlated identities using these parameter values within top-1 of the ranking was 16.3%, and 17.0% of the identities were within top-3. These values are significant as training did not consider participant data at all! In an alternate adversarial model where the motion sensor positions on the body is known to the adversary, more specific (i.e., per target user) &#119908; and &#119905; values can be selected to further improve the percentage of correctly correlated identities.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2">Activity Confusions</head><p>The accuracy of the activity classification models play an important role in the correlation framework's overall success rate. Activity classification between visual and motion sensor data differs significantly due to the modality of input signal, and is subject to different types of noises and interference signals. Different adversarial viewpoint angles, distances, and occlusion levels affect the visual data classification. For instance, if only half of the avatar is visible due to being behind a coach or another avatar is in front of the target avatar, the chance of a misclassification is significantly increased. The positioning and orientation of the device used to collect motion sensor data also imposes certain limitations on the activity classification accuracy, especially as we assume that the adversary is unaware of the exact position of the motion sensor. For instance, if the motion sensor data is from a smartwatch worn on the right hand, it is very useful to classify activities involving the right hand, but may result in high misclassification of activities not involving the right arm.</p><p>Due to these apparent limitations, we analyze the direct consequence of misclassifications, i. e., the confusion of activities between the visual and motion sensor data. In Figure <ref type="figure">6</ref>, we observe that the idle activity has noticeably low accuracy (36% and 22% for right wrist smartwatch and front right pocket smartphone, respectively), and is often confused with other activities. An unexpected, yet clearly discernible, confusion exists between motion sensor idle and visual walking. One possible factor behind this observation is that VR users may be using the VR joystick to walk in the virtual world. As a result, the target user appears idle in the motion sensor data, while their virtual avatar is visually walking. Another noteworthy observation is that head movements had high confusion due to the fact that placement of motion sensors around hip and wrist areas is not suitable for capturing the target user's head movements, whereas a head-mounted VR device is accurately able to capture head movements and apply them to the avatar in the virtual world.</p><p>In light of these insights, we further optimize our framework as follows. Rather than considering all the classified actions, we only utilize activities with less than 60% of confusion -body, hand, walk, bend, jump, and others -for our activity-based filtering. Remaining activities in the activity-vector are ignored from the Hamming distance calculations. The average correctly correlated identities after this optimization within top-1 of the ranking was 37.3%, while 38.7% of the identities were within top-3. The correlation accuracy plateaued beyond top-3 due instances of the real identity's activityvector series being eliminated from the rankings by the activitybased filter. This suggests that as activity classification models improve in the future, our attack's correlation accuracy will also improve. (a) &#119908; = 0.5&#119904; (b) &#119908; = 1&#119904; (c) &#119908; = 2&#119904; (d) &#119908; = 3&#119904; (e) &#119908; = 5&#119904; Idle Body Head Hand Walk Bend Jump Other Video Action Other Jump Bend Walk Hand Head Body Idle Motion Sensor Action 0.01 0.18 0.05 0.03 0.02 0.09 0.00 0.62 0.00 0.02 0.00 0.01 0.00 0.00 0.91 0.06 0.01 0.13 0.00 0.01 0.00 0.72 0.00 0.12 0.00 0.08 0.01 0.01 0.81 0.02 0.00 0.07 0.03 0.09 0.00 0.75 0.03 0.01 0.00 0.09 0.26 0.27 0.09 0.16 0.06 0.00 0.03 0.14 0.01 0.68 0.03 0.11 0.04 0.06 0.00 0.07 0.36 0.00 0.04 0.01 0.58 0.00 0.00 0.00 0.0 0.2 0.4 0.6 0.8 (a) Using right wrist smartwatch. Idle Body Head Hand Walk Bend Jump Other Video Action Other Jump Bend Walk Hand Head Body Idle Motion Sensor Action 0.04 0.15 0.11 0.07 0.04 0.06 0.01 0.51 0.00 0.00 0.00 0.03 0.00 0.00 0.95 0.02 0.00 0.04 0.01 0.00 0.02 0.87 0.02 0.03 0.00 0.10 0.06 0.02 0.79 0.02 0.00 0.01 0.15 0.27 0.01 0.34 0.13 0.01 0.04 0.05 0.72 0.02 0.10 0.01 0.00 0.00 0.07 0.07 0.06 0.53 0.08 0.17 0.10 0.00 0.00 0.07 0.22 0.08 0.14 0.14 0.38 0.00 0.00 0.03 0.0 0.2 0.4 0.6 0.8 (b) Using front right pocket smartphone.   </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.4">Different Sensor Locations</head><p>We next detail how different positions of the motion sensor on the (human) body and different adversarial viewpoints affect the correct correlation of our proposed framework. Overall, smartwatch (motion sensor) on left or right wrist performed better than the smartphone in the hip pockets (Figure <ref type="figure">8</ref>). For example, for the Home world the smartwatch yielded about 41% and 68% correct correlations (top-1 rank), for left and right wrists, respectively. In contrast, the front left-front pocket smartphone data resulted in about 9.1% correct correlations, while other smartphone locations are in a similar range. Intuitively, one of the main factors behind this observation is the inability of smartphone motion sensors to pick up hand movements when they are located in the hip area pockets. This causes higher confusion between activities (Figure <ref type="figure">6</ref>), resulting in the activity-vector of the target user being filtered out with high likelihood. As far as the impact of different adversarial viewpoints on the correlation accuracy of our framework is concerned, we can see from Figure <ref type="figure">8</ref> that, except for BC1, all other camera locations (or adversarial viewpoints) yielded comparable results within each of the motion sensor locations. The reason behind BC1 performing particularly poorly is that its location was near the entrance point of the Black Cat world and most participants eventually moved away from the field-of-view of this camera during the data collection experiments. In summary, combining multiple viewpoints and the availability of wrist-based motion sensor data are the most favorable conditions for the adversary.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.5">Similar Activity Sequences</head><p>There can be situations where multiple users perform a similar or even an identical sequence of activities. In such cases, the magnitudebased ranking should ideally still rank the real identity (of the target user) higher than others. In this part of our analysis, we study the extent to which our magnitude-based ranking is able to do so, by comparing correlation accuracy when participants (and their avatars) performed the same sequence of activities. In Figure <ref type="figure">9b</ref>, we observe 16.5% correct correlation for motion data from the right wrist in top-1 of identity rankings and 50.1% correct correlation within the top-3 ranks. This demonstrates that magnitude-based ranking is able to, to an extent, discern the difference between identities based on the magnitude of movements.    activity matching and filtering. However, as even a single mismatch between two activity sequences will result in completely different hash values (i.e., the keys in a hash table), we design a larger hash table that allows for some degree of mismatch. Specifically, we populate a hash table with keys based on permutations of the &#119902; activity sequences in &#119872; (each of length &#119896;) from the motion sensors data, accounting for possible errors allowable within the Hamming distance threshold (&#119905;). Let us assume that the numbers 0 to 7 denotes each of the eight activities we classify. If &#119896; = 5, an example of the activity string would be &#10216;47634&#10217;. If our hamming distance threshold is &#119905; = 2, then any two activities can be mismatched and still pass the threshold. Now, assume the character * as a wildcard activity that may or may not be a match. To populate the hash table exhaustively, we compute every possible permutation of each activity sequence in &#119872; including up to two * . For our previous example, &#10216;47634&#10217;, some of the permutations generated would be &#10216; * * 634&#10217;, &#10216;4 * 6 * 4&#10217;, and &#10216;47 * 3 * &#10217;. All these permutations are then used as the key in our hash table, while the corresponding value is the identity of users from the motion sensor data (&#119872;). Thereafter, during the correlation process, each activity sequence from the video dataset also undergoes permutations with up to two * , and then queried against the above hash table for a match. If a matching key exists, the corresponding identity and activity-vector has satisfied the activity-based filtering and is included in the identity ranking.</p><p>Optimized Performance Analysis. The number of permutations per activity-vector does not scale with the size of datasets and thus can be treated as &#119874;(1) time complexity. Similarly, hash table search and insertion is &#119874;(1) time complexity. Therefore, with the use of our hash table, the new time complexity becomes &#119874;(&#119901; + &#119902;), where &#119874;(&#119902;) time is required to create the hash table, and &#119874;(&#119901;) time is require to iterate through &#119881; for filtering. Our empirical results show that with this optimization, the activity-filtering is significantly faster. For instance with &#119901; = &#119902; = 100000, &#119896; = 10, and &#119905; = 3, using the optimization technique was 575 times faster than the default activity-based filter. Another important aspect we also evaluate in the empirical results is the number of collisions, which occur when multiple unique data sources satisfies the activitymatching threshold. For &#119896; = 5, we observe 1594.87 average number of collisions, and for &#119896; = 10, we observe only 4.26 average collisions (with &#119901; = &#119902; = 100000). This implies that the adversary should increase the value of &#119896; if it observes a very high number of collisions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8">CONCLUSION</head><p>We proposed a novel framework to correlate anonymous avatars in virtual worlds with identified out-of-band motion sensor data.</p><p>Our work highlights a newfound privacy risk to users of the growing VR ecosystem. Specifically, VR users can be vulnerable to deanonymization attack if they carry a smartphone or wear a smartwatch while using a VR system. Our evaluation of the proposed framework is a step towards demonstrating the feasibility of such an attack, utilizing real-world data from human participants. Through our empirical analyses, we were able to optimize framework parameters, improve scalability, and identified current limitations and potential for further improvements.</p></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0"><p>https://assetstore.unity.com/packages/3d/characters/humanoids/sci-fi/futuristicsoldier-scifi-character-202085</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1"><p>https://developer.apple.com/documentation/coreml</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2"><p>https://developer.apple.com/documentation/createml</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3"><p>https://developer.apple.com/documentation/vision</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4"><p>https://www.meta.com/quest/products/quest-2</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_5"><p>OPTIMIZING FOR LARGE-SCALE ATTACKSAn adversary trying to correlate thousands (or even millions) of anonymous avatars with identified motion sensors data is presented with a significant computational task. As there are various ongoing research efforts on improving human activity classification performance[25, 32, 43, 62, 69-71, 73, 74,  </p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_6"><p>86] which can improve our attack accuracy, in this section, we only focus on the computational complexity of the correlation task and propose related optimizations to our framework. Synthetic Data Generation To test the scalability of our framework, we must first generate a very large synthetic dataset utilizing real participant data collected in Section 5. While it was not feasible for us to collect real-world data from a very large number of participants, due to the time and resources required for systematic data collection per participant, we still want to test using a dataset that has some resemblance to the small-scale dataset instead of generating random activity-vectors. Nonetheless, as we are only analyzing computational complexity of a large-scale attack, the realism and diversity of our synthetic dataset, and corresponding correlation accuracy results, is not a significant concern.The activity classification and magnitude calculation tasks take constant time, and will grow linearly with the size of each dataset (&#119901; and &#119902;, for visual movement and motion sensor datasets, respectively). For large &#119901; and &#119902;, the more complex task is that of calculating the correlation of all &#119902; identities against all &#119901; anonymous avatars. However, as seen in Section 6, the activity-based filtering is very effective in reducing the complexity of the magnitude-based identity rankings. Therefore, for large &#119901; and &#119902; the most computationally complex task in the entire framework comes down to the activitybased filtering. Accordingly, we generate our large-scale dataset to test the scalability of our activity-based filtering, which only requires activity sequences as input. Our first large-scale dataset was generated using a modern tabular Generative Adversarial Network (GAN) technique<ref type="bibr">[6]</ref>, called CTGAN<ref type="bibr">[83]</ref>, which is trained using activity sequences from real participants, as outlined in Section 5. Our second large-scale dataset was generated using random permutations of our activity sequences from Section 5. Each of these large-scale datasets contained 1 million activity sequences for both the motion sensor and avatar visual movement data. Activity-based Filtering without Optimizations. Without any optimizations, the activity-based filtering has a time complexity of &#119874;(&#119901;&#119902;&#119896; 2 ), where &#119901; is the number of unique avatars from the visual movement data, &#119902; is the number of different identities from the motion sensor data, and &#119896; is the size of the activity sequences. As such, we can further assume that increasing the size of &#119896; would have diminishing returns (computationally), making it less attractive for an adversary to record each target for too long. Therefore, we assume &#119896; would not be scaled, unlike &#119901; and &#119902;, and treat &#119896; as constant, thus resulting with a complexity of &#119874;(&#119901;&#119902;). For instance, our setup takes 2.2&#215;10 1 ms to finish activity-based filtering when &#119901; = &#119902; = 100. However, when we scale up to &#119901; = &#119902; = 10 5 , it requires 3.15 &#215; 10 7 ms (or about 8 hours). We estimate that for &#119901; = &#119902; = 10 6 , it will take approximately 30 days to finish, and about 3000 days when &#119901; = &#119902; = 10 7 , which is not very scalable. Optimization. We propose the use of a hash table to store our activity sequence data in order to reduce the time complexity of</p></note>
		</body>
		</text>
</TEI>
