<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>AI-based user identification method for web services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ihor Zakutynskyi</string-name>
          <email>ihor.zakutynskyi@nau.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksandr Kalishuk</string-name>
          <email>akalishuk@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maksim Iavich</string-name>
          <email>miavich@cu.edu.ge</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vitalii Nebylytsia</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasyl</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Caucasus University</institution>
          ,
          <addr-line>Paata Saakadze Str., 1, Tbilisi, 0102</addr-line>
          ,
          <country country="GE">Georgia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Aviation University</institution>
          ,
          <addr-line>Liubomyra Huzara Ave. 1, Kyiv, 03058</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In our paper, we introduce a universal web service user's identification method. This method is based on analyzing the digital fingerprint of the visitor using a neural network. Within the scope of our research, we performed a comparative analysis between our developed method and the existing fingerprint detection services. The testing results indicate that the accuracy of fingerprint identification using our method surpasses fingerprint.com by 3.1% on desktop platforms and 6.3% on mobile devices. Furthermore, the utilization of our method significantly reduces the number of false positive errors, thereby enhancing the robustness of user identification against variations in browser and device parameters.</p>
      </abstract>
      <kwd-group>
        <kwd>digital fingerprint</kwd>
        <kwd>user identification</kwd>
        <kwd>neural network</kwd>
        <kwd>LSTM 1</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>identification.</p>
      <p>Browser fingerprint or device fingerprint, combined into the concept of a digital fingerprint, is
information collected about the software and hardware of a remote device for the purpose of its</p>
      <sec id="sec-2-1">
        <title>2.1. Fingerprinting techniques</title>
        <p>The technique of digital fingerprinting has existed for many years. The first mentions of various
techniques for obtaining and analyzing digital fingerprints in scientific literature appeared in 2003
[4], and they have been widely studied since 2009 [5].</p>
        <p>Since then, many different techniques for determining the digital fingerprint have been described:
•
•
•
•
•
•
•
•</p>
        <p>JavaScript-Based Fingerprints
CSS-Based Fingerprints
Canvas-Based Fingerprint
Hardware and Software-Based Fingerprints
Fingerprint Based on Audio API
Plugin-Based Fingerprint
TLS Fingerprint
Other Browser Fingerprint Acquisition Technologies (correlation between visitor's gaze and
mouse movement; characteristics of HTML parser; font sets (font glyphs); methods based on
calculation of JavaScript scripts set execution time; based on user lag time on websites; on
the nature of user interaction with touchpad; speed and specificity of typing on keyboard;
speed and directions of mouse movement).</p>
        <p>In most cases, to identify a digital fingerprint, a scheme is used in which code based on a special
JS library is executed on the client side. The code performs a set of tests and checks defined by the
library and send the received parameters to the server. Usually, the server is deployed as a separate
service (Figure 1).</p>
        <p>All modern methods of identifying digital fingerprinting have both advantages and
disadvantages.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Fingerprinting advantages and disadvantages</title>
        <p>The main drawbacks of fingerprinting solutions include:
•
•
•</p>
        <p>Low user identification accuracy,
Computation time for generating a digital fingerprint,</p>
        <p>Time required for matching with previously known digital fingerprints in the system,
•
•
•</p>
        <p>Short lifespan of a specific digital fingerprint,
High device load on the user's end,
Dependence on JavaScript,
Challenges in computing a digital fingerprint in homogeneous environments (computer labs,
internet cafes, mobile network environments),
Cross-browser digital fingerprinting,
Low accuracy in identifying users operating in incognito mode,</p>
        <p>Matching digital fingerprints over VPN.</p>
        <p>In addition to the mentioned drawbacks of existing methods for digital fingerprinting based on
open solutions, ready-made commercial services are characterized by additional disadvantages:</p>
        <p>High cost,
Closed source nature,
Data stored on third-party servers,</p>
        <p>Dependence on the service provider.</p>
        <p>In our assessment, there are currently no effective methods that reliably identify a user based on
their digital fingerprint over an extended period, especially when using VPN, incognito mode, or
engaging in cross-browser surfing.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. The literature review</title>
        <p>We reviewed some research papers that address the problems of fingerprinting and user
identification on the Internet.</p>
        <p>In [6], the authors reviewed and classified the existing fingerprinting techniques and their
applications for user identification on the Internet and analyzed in detail the development of different
research directions of browser fingerprinting. Based on the analysis of existing results, the problems
faced by different research directions are pointed out. Also, the research achievements in the field of
browser fingerprint recognition are summarized and the trend of future development is pointed out.
The authors also discussed the privacy issues associated with the use of fingerprinting techniques.</p>
        <p>The authors of the paper [7] show that GPU information obtained using WebGL and other
technologies can be used to create a unique device fingerprint that can be used for user identification.
At the same time, the authors note that changing GPU settings and parameters can change the device
fingerprint, which makes identification more difficult.</p>
        <p>In the study [8], the authors demonstrate the correlation between gaze and mouse movements
and argue that this serves as a valuable source for obtaining browser fingerprints. Simultaneously,
the authors point out that collecting data on a person's gaze in the browser has drawbacks, such as
inaccuracies when using a webcam and the limitation that users must grant permission for camera
access. The study also reveals that, in the case of computers used by multiple users, browser statistics
may malfunction and can no longer differentiate between individuals.</p>
        <p>In the article [9] authors analyze the popularity of the Transport Layer Security (TLS) protocol
on the Internet and its use in censorship circumvention tools. The researchers collected and analyzed
a huge volume of real-world TLS traffic to identify the different implementations of TLS clients used
on the Internet. Censors can use deep packet inspection (DPI) to identify and block such tools based
on their TLS fingerprints. That said, many circumvention tools fail to properly mimic popular TLS
implementations, leading to their detection and blocking. To solve the censorship circumvention
problem, the authors proposed a solution that allows developers to automatically mimic other
popular TLS implementations. Using real-world data, the authors of the paper propose methods to
flexibly adapt TLS-fingerprint to the dynamic TLS ecosystem with minimal manual effort.</p>
        <p>The authors of the paper [10] propose a new mobile device user's identification method based on
the study and analysis of touch dynamics, which has stable patterns of interaction between the user
and his mobile device, including factors such as touch force, swipe speed and duration of touch.</p>
        <p>This method has shown excellent results, but its scope is limited to only a subset of mobile devices
and depends on the availability of APIs for interacting with physical device elements.</p>
        <p>In the paper [11], the authors propose a browser fingerprinting defense tool to anonymize users'
browsers. The authors show that browser fingerprinting cannot be prevented by the user. Although
new methods are constantly being developed that can prevent browser fingerprinting, they cannot
prevent it completely.</p>
        <p>In the article [12], presents new algorithms for encoding and comparing fingerprints, which focus
on the values of parameters with low stability and low entropy.</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4. Benefits of our method</title>
        <p>The method proposed by the authors allows for:</p>
        <p>Improved accuracy in user identification under specified conditions,
Reduce the percentage of false positives,
Increased lifespan of the calculated digital fingerprint,</p>
        <p>Maintenance of the speed of digital fingerprint identification at an industry-standard level.</p>
        <p>All of these improvements are achieved through the implementation of a novel neural network
training algorithm. The results of determining the digital fingerprint of a web service user are a
nonlinear time series consisting of a set of browser and user device parameters and may vary over time
[13, 14]. As the practice of the last 10 years shows, recurrent neural networks (RNN) are the most
effective architecture for solving time series problems that cannot be solved by feedforward
networks [15]. We performed comparative tests of the two most common RNN architectures LSTM
and GRU by the methodology described in [16]. The results of the digital fingerprint accuracy tests
are presented in Figure 2.</p>
        <p>For our solution, we utilized the LSTM architecture as it demonstrated significantly better results
over a small number of training epochs (50-100 epochs). This implies that, with equal resource
consumption, LSTM yields superior results, which can be expressed by:
→
! →
"
#.</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
Fonts
Plugins
Canvas
Touchscreen
OS CPU
Languages
Color depth
Memory
Resolution
Hardware
concurrency
Time zone
Session storage
Local storage
Indexed DB
Open DB
CPU class
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Experiment</title>
      <sec id="sec-3-1">
        <title>3.1. Competitor</title>
        <p>Currently, the majorities of systems for obtaining a digital fingerprint are based on the fingerprint.js
library or incorporate some of its functions. This library, one of the earliest to emerge, is dynamically
evolving and includes prospective developments that emerge periodically. The library is actively
developing, and the project repository is frequently updated. As of December 2023, the latest version
is 4 [17]. Starting from this version, the developer has changed the distribution terms, and it is now
offered under the Business Source License 1.1. Currently, the FingerprintJS service is considered an
industry standard.</p>
        <p>The service allows for the identification of numerous browser and operating system parameters.
The key modules of the fingerprint.js library are outlined in Table 2.
Color inverted mode areColorsInverted()
Colors forced</p>
        <p>areColorsForced()
Monochrome depth getMonochromeDepth()
Reduced motion</p>
        <p>isMotionReduced()
Video card (WebGL) getVideoCard()
Contrast
HDR
Math calc
Font width
PDF viewer
Architecture
getContrastPreference()
isHDR()
getMathFingerprint()
getFontPreferences()
isPdfViewerEnabled()
getArchitecture()
boolean | undefined
number | undefined
number | undefined</p>
        <p>The general algorithm of operation for the fingerprint.js library is presented in Figure 3.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Neural network training</title>
        <p>At the initial stage of preparing data for training the neural network, we have a multidimensional
dataset about the user collected in the previous stage. To optimize time and computational resource
costs, this multidimensional dataset is transformed into a linear vector. Thus, the neural network
receives a one-dimensional vector as input.</p>
        <p>Next, after normalization, the data is randomly split into testing and training sets in a 30%/70%
ratio.</p>
        <p>Based on the testing set, a prediction is made to determine if the visitor is known in our service,
and the prediction result is compared with the result obtained based on the predefined parameters
of the model. The schematic process of training the neural network is illustrated in Figure 4.</p>
        <p>The initial training of the model was conducted using the "Login Data Set for Risk-Based
Authentication" dataset from Kaggle [13]. This dataset includes a list of parameters associated with
each login attempt.</p>
        <p>The structure of the dataset is presented in Table 2.
HTTP Accept Headers
Language
Screen Resolution
Timezone
Browser Plugins
Platform (Operating
System)
Browser Version
Device Memory
Canvas Fingerprint
WebGL Vendor and
Renderer
Cookies Enabled</p>
        <p>Type
String
String
String
Integer
(Width x
Height)
String
List of
Strings []
String
String
Integer (in
gigabytes)
String
(hashed or
raw data)
String</p>
        <p>Range or example
Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/58.0.3029.110 Safari/537.36.</p>
        <p>Access-Control-Allow-Origin: *,
Cache-Control: max-age=604800,
Content-Type: multipart/form-data,
If-Unmodified-Since: Mon, 27 Nov 2023 12:43:00 EET
uk
2073600
Europe/Kiev
Linux x86_64
Chrome 119
8
[PDF Viewer, Chrome PDF Viewer, Chromium PDF
Viewer, Microsoft Edge PDF Viewer, WebKit built-in
PDF]
93a13b9b08d18393f5c731f8f5c58a11
WebKit WebGL</p>
        <p>TRUE
Boolean
FALSE
["4274,142 default, cursive, fantasy",
"4314,143 sans-serif, Arial, Arimo, Helvetica,
Liberation Sans",
"4249,142 serif",
"3780,149 monospace",
"4431,143 system-ui, Ubuntu",
"4189,143 aakar"]
13b9b08d18393f5c731f8f5c58a116dcb
4
FALSE
FALSE
4g
FALSE
TRUE
4
Desktop</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Experiment conditions</title>
        <p>To perform an experiment comparing the effectiveness of the developed method and the method of
digital fingerprinting using the FingerprintJS service, a set of parameters from 2134 devices of
different types (desktop computers, mobile devices, tablets) and a set of user agents that was
generated using the npm package User-Agents [18] were used. User-Agents are a JavaScript package
for generating random user agents based on how often they are used in a real environment.</p>
        <p>The generated data includes hard-to-find browser fingerprint properties, and powerful filtering
capabilities allow the generated user agents to be constrained to fit specific needs.</p>
        <p>An experiment to measure the qualitative performance of the developed web service user
identification method was performed on the current web service using the algorithm that is shown
in Figure 5.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. The results of the experiment</title>
        <p>The results of the experiment are summarized in Tables 3 – 5.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions</title>
      <p>The accuracy comparison data for digital fingerprint identification indicate that for desktop
computers, the accuracy of the existing identification method (FingerprintJS) is 90.7%, while the
accuracy of our developed method is 93.7%, representing a 3.1% improvement.</p>
      <p>For mobile devices, the accuracy of the existing user identification method (FingerprintJS) is
89.7%, whereas the accuracy of our developed method is 96%, showcasing an improvement of 6.3%.</p>
      <p>In the case of tablets, the accuracy of the existing identification method (FingerprintJS) is 89.2%,
which is 5.4% lower than that of our developed method (94.6%).</p>
      <p>The weighted average accuracy of the method developed by us is 3.8% higher than the existing
method (94.2% versus 90.4%).</p>
      <p>
        The stability of the algorithm directly depends on reducing the percentage of false positives and
false negatives in user identification. The stability of the algorithm can be determined using equation
$ %&amp;'&amp; () + (+ , (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
      </p>
      <p>() + (+ + ,) + ,+
where TP - true positive, TN - true negative, FP - false positive, FN - false negative.</p>
      <p>The method developed by us shows a lower number of false positive fingerprint identification
results on all investigated platforms:
•
•
•</p>
      <p>Desktop computers: 52 versus 105,
Mobile devices: 8 versus 26,</p>
      <p>Tablets: 3 versus 7.
•
•
•</p>
      <p>Desktop computers: 49 versus 47,
Mobile devices: 7 versus 16,</p>
      <p>Tablets: 3 versus 4.</p>
      <p>The weighted average number of false positive errors for the developed method is 41.0, compared
to 84.9 for the existing method.</p>
      <p>The number of false negative results in digital fingerprint identification is comparable for both
methods on all investigated platforms, with the advantage of the developed method being notably
better only on mobile devices:</p>
      <p>
        The weighted average number of false negative errors for the developed method is 38.6, compared
to 38.9 for the existing method. According to formula (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), with a decrease in the number of errors,
the overall stability of the method increases. Based on the results obtained, due to a significant
reduction in the number of false positive results for the developed method, its stability to changes is
higher by 2% compared to the results of the existing method. The number of false negative results is
comparable, so it did not significantly impact the final comparison result.
      </p>
      <p>The duration of the identification process using the developed method varies in the ranges of
5977 ms for desktop computers, 143-181 ms for mobile devices, and 92-110 ms for tablets. Based on the
comparison results, it can be concluded that the speed of user identification using the developed
method is comparable to the speed of identification using existing modern methods.</p>
      <p>The analysis of the obtained results shows that the developed method has higher accuracy on all
investigated types of devices and platforms. Additionally, it exhibited a lower overall error rate in
the accuracy of identification and comparable speed in the process of digital fingerprint
determination.</p>
    </sec>
    <sec id="sec-5">
      <title>Declaration on Generative AI</title>
      <p>The author(s) have not employed any Generative AI tools.
[6] D. Zhang, J. Zhang, Y. Bu, B. Chen, C. Sun, T. Wang, A survey of browser fingerprint research
and application, Wireless Communications and Mobile Computing, 2022. doi:
10.1155/2022/3363335.
[7] DRAWNAPART: A Device Identification Technique based on Remote GPU Fingerprinting, 2022.</p>
      <p>URL: https://arxiv.org/abs/2101.03793.
[8] W. Fuhl, N. I. Sanamrad, E. Kasneci, The Gaze and Mouse. Signal as additional Source for User</p>
      <p>Fingerprints in Browser, 2022. URL: https://arxiv.org/abs/2101.03793.
[9] E. Wustrow, S. Frolov, (University of Colorado Boulder), The use of TLS in Censorship</p>
      <p>
        Circumvention, doi:10.14722/ndss.2019.23511.
[10] B. Pelto, M. Vanamala, R. Dave, Your Identity is Your Behavior -- Continuous User
Authentication based on Machine Learning and Touch Dynamics, 2022. URL:
https://arxiv.org/abs/2305.09482.
[11] D. Moad, V. Sihag, G. Choudhary, Fingerprint defender: Defense against browser-based user
tracking. In: I. You, H. Kim, TY., Youn, F. Palmieri, I. Kotenko (Eds.), Mobile Internet Security.
MobiSec 2021, volume 1544 of Communications in Computer and Information Science, Springer,
Singapore, 2021. doi: 10.1007/978-981-16-9576-6_17.
[12] M. Gabryel, K. Grzanek, Y. Hayashi, Browser Fingerprint Coding Methods Increasing the
Effectiveness of User Identification in the Web Traffic, Journal of Artificial Intelligence and Soft
Computing Research 10(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) (2020). doi: 10.2478/jaiscr-2020-0016.
[13] Login Data Set for Risk-Based Authentication, 2022. URL:
https://www.kaggle.com/datasets/dasgroup/rba-dataset.
[14] O. I. Abiodun, A. Jantan, A. E. Omolara, K. V. Dada, N. A. Mohamed, H. Arshadf,
State-of-theart in artificial neural network applications: A surveyб Heliyon. 4(11):e00938 (2018). doi:
10.1016/j.heliyon.2018.e00938.
[15] A. Lheureux, Feed-forward vs feedback neural networks, 2022. URL:
https://blog.paperspace.com/feed-forward-vs-feedback-neural-networks/.
[16] L.V. Sibruk, I.V. Zakutynskyi, Recurrent Neural Networks for Time Series Forecasting.
      </p>
      <p>Choosingthe best Architecture for Passenger Traffic Data. Automation and computer-integrated
technologies 2(72) (2022) 38–44. doi: 10.18372/1990-5548.72.16941.
[17] GitHub, fingerprintjs/fingerprintjs: Browser fingerprinting library, 2023. URL:
https://github.com/fingerprintjs/fingerprintjs.
[18] User Agents, 2022. URL: https://www.npmjs.com/package/user-agents.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Al-Azzeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Al</given-names>
            <surname>Hadidi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Odarchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnatyuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shevchuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <article-title>Analysis of selfsimilar traffic models in computer networks</article-title>
          ,
          <source>International Review on Modelling and Simulations</source>
          <volume>10</volume>
          (
          <issue>5</issue>
          ) (
          <year>2017</year>
          )
          <fpage>328</fpage>
          -
          <lpage>336</lpage>
          . doi:
          <volume>10</volume>
          .15866/iremos.v10i5.
          <fpage>12009</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zaliskyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Odarchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnatyuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Petrova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chaplits</surname>
          </string-name>
          ,
          <article-title>Method of traffic monitoring for DDoS attacks detection in e-health systems and networks</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>2255</volume>
          (
          <year>2018</year>
          )
          <fpage>193</fpage>
          -
          <lpage>204</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2255</volume>
          /paper18.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Tkachuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yechkalo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kislova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hladyr</surname>
          </string-name>
          ,
          <article-title>Using mobile ICT for online learning during COVID-19 lockdown</article-title>
          , Communications in Computer and Information Science,
          <volume>1308</volume>
          (
          <year>2021</year>
          )
          <fpage>46</fpage>
          -
          <lpage>67</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -77592-
          <issue>6</issue>
          _
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hintz</surname>
          </string-name>
          ,
          <article-title>Fingerprinting websites using traffic analysis</article-title>
          , in: R. Dingledine, P. Syverson (Eds.),
          <source>Privacy Enhancing Technologies. PET</source>
          <year>2002</year>
          , volume
          <volume>2482</volume>
          of Lecture Notes in Computer Science, Springer, Berlin,
          <year>2003</year>
          . doi:
          <volume>10</volume>
          .1007/3-540-36467-6_
          <fpage>13</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Mayer</surname>
          </string-name>
          ,
          <article-title>Any person a pamphleteer: Internet Anonymity in the Age of Web 2</article-title>
          .0, Princeton University,
          <year>2009</year>
          , Undergraduate Senior Thesis. URL: http://arks.princeton.edu/ark:/88435/dsp01nc580n467.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>