# A self-gravitating system composed of baryonic and dark matter analysed from
the post-Newtonian Boltzmann equations

Gilberto M. Kremer<EMAIL_ADDRESS>Departamento de Física, Universidade
Federal do Paraná, Curitiba 81531-980, Brazil  Kamel Ourabah
<EMAIL_ADDRESS>Theoretical Physics Laboratory, Faculty of Physics,
University of Bab-Ezzouar, USTHB, Boite Postale 32, El Alia, Algiers 16111,
Algeria

###### Abstract

We study the Jeans gravitational instability for a mixture of baryonic and
dark matter particles, in the post-Newtonian approximation. We adopt a kinetic
model consisting of a coupled system of post-Newtonian collisionless Boltzmann
equations, for each species, coupled to the post-Newtonian Poisson equations.
We derive the stability criterion, accounting for both post-Newtonian
corrections and the presence of dark matter. It is shown that both effects
give rise to smaller Jeans masses, in comparison with the standard Jeans
criterion, meaning that a smaller mass is needed to begin the gravitational
collapse. Taking advantage of that, we confront the model with the
observational stability of Bok globules, and show that the model correctly
reproduces the data.

##  I Introduction

The analysis of instabilities of self-gravitating fluids is an old subject in
the literature which goes back to the pioneer work of Jeans [1], who
determined from the hydrodynamic equations coupled with the Newtonian Poisson
equation a dispersion relation where one solution is interpreted as a growth
of mass density perturbations in time.

One is referred to the books [2, 3, 4] for a description of the mass density
perturbations which grow exponentially with time – known as Jeans instability
– which is associated with the gravitational collapse of self-gravitating
interstellar gas clouds, where the outwards pressure force becomes smaller
than the inwards gravitational force.

Although formulated 120 years ago, the process of Jeans instability still
constitutes an active area of research, revisited from various modern
standpoints. One may cite for instance its generalisation to general
relativity [5] and to an expanding universe background [5, 6, 7], its
formulation in the language of kinetic theory [8, 9], and its generalisation
to alternative theories of gravity [10, 11, 12, 13], where it is regularly
used to constraint the free parameters of the theory.

Presently the matter content of the Universe is known to be composed by
baryonic matter – which consists of all categories of atoms – and dark matter
– a still unknown component which does not interact with electromagnetic
radiation. Cold dark matter is important in the structure formation, since it
interacts only with gravity, collapses earlier and forms the seeds where
baryons fall later. The formation of structures would occur later if the cold
dark matter was not present.

The Jeans instability for a system composed by baryonic and dark matter
particles was investigated within the framework of a coupled system of
collisionless Boltzmann equations and the Newtonian Poisson equation in [14,
15, 16] and by using a hybrid quantum-classical fluid approach in [17].

The Jeans instability was also investigated on the basis of the first post-
Newtonian hydrodynamic equations [18, 19] and of the first [20] and second
[21] post-Newtonian Boltzmann equations coupled with the Newtonian and the
post-Newtonian Poisson equations.

In the present work the Jeans instability for a system consisted of baryonic
and cold dark matter is analysed within the framework of the system of first
post-Newtonian collisionless Boltzmann equations which are coupled with the
Newtonian and post-Newtonian Poisson equations. From a perturbation analysis
of the one-particle distribution functions and gravitational potentials in
terms of plane wave representations a dispersion relation is obtained and the
post-Newtonian Jeans mass is derived. As an application of the post-Newtonian
Jeans mass for the system of baryons and dark matter the observational
stability data of Bok globules is investigated.

The paper has the following structure: in Section II the coupled system of
post-Newtonian Boltzmann and Poisson equations are introduced as well as the
equilibrium Maxwell-Jüttner distribution functions. The perturbations from
equilibrium background states of the one-particle distribution functions and
of the gravitational potentials are the subject of Section III. In Section IV
the perturbations are represented as plane waves of small amplitudes from
which a dispersion relation is derived and the influence of the post-Newtonian
approximation in the Jeans mass of the baryonic and dark matter system is
investigated . The application of the theoretical prediction for the post-
Newtonian Jeans mass with the observational stability data of Bok globules is
the topic of Section V. In Section VI the conclusions of the work are stated.

##  II The system of Boltzmann equations

We are interested in analysing a system composed of baryonic and dark matter
particles within the framework of collisionless post-Newtonian Boltzmann
equations, since dark matter interacts with other particles only through
gravity. For that end we introduce the subscripts $b$ and $d$ to denote the
baryonic and dark matter, respectively, so that the post-Newtonian Boltzmann
equation for the one-particle distribution function
$f_{\alpha}=f(\mathbf{x},\mathbf{v}_{\alpha},t)$ of the constituent
$\alpha=b,d$ – defined in the phase space spanned by the spatial coordinates
$\mathbf{x}$ and particle three-velocity $\mathbf{v}_{\alpha}$ – reads [22,
24, 23, 20]

$\displaystyle\frac{\partial f_{\alpha}}{\partial
t}+v^{\alpha}_{i}\frac{\partial f_{\alpha}}{\partial x^{i}}+\frac{\partial
U}{\partial x^{i}}\frac{\partial f_{\alpha}}{\partial
v^{\alpha}_{i}}+\frac{1}{c^{2}}\bigg{[}\left(v_{\alpha}^{2}-4U\right)\frac{\partial
U}{\partial x^{i}}-4v^{\alpha}_{i}v^{\alpha}_{j}\frac{\partial U}{\partial
x^{j}}-3v^{\alpha}_{i}\frac{\partial U}{\partial
t}+2\frac{\partial\Phi}{\partial x^{i}}+\frac{\partial\Pi_{i}}{\partial t}$
$\displaystyle\qquad+v^{\alpha}_{j}\left(\frac{\partial\Pi_{i}}{\partial
x^{j}}-\frac{\partial\Pi_{j}}{\partial x^{i}}\right)\bigg{]}\frac{\partial
f_{\alpha}}{\partial v^{\alpha}_{i}}=0.$ (1)

Here the Newtonian $U$ and the post-Newtonian $\Phi$ and $\Pi_{i}$
gravitational potentials satisfy the Poisson equations

$\displaystyle\nabla^{2}U=-\frac{4\pi
G}{c^{2}}\left({\buildrel\\!\\!\\!\\!{}_{0}\over{T_{b}^{00}}}+{\buildrel\\!\\!\\!\\!{}_{0}\over{T_{d}^{00}}}\right),$
(2) $\displaystyle\nabla^{2}\Phi=-2\pi
G\left({\buildrel\\!\\!\\!\\!{}_{2}\over{T_{b}^{00}}}+{\buildrel\\!\\!\\!\\!{}_{2}\over{T_{b}^{ii}}}+{\buildrel\\!\\!\\!\\!{}_{2}\over{T_{d}^{00}}}+{\buildrel\\!\\!\\!\\!{}_{2}\over{T_{d}^{ii}}}\right),$
(3) $\displaystyle\nabla^{2}\Pi^{i}=-\frac{16\pi
G}{c}\left({\buildrel\\!\\!\\!\\!{}_{1}\over{T_{b}^{0i}}}+{\buildrel\\!\\!\\!\\!{}_{1}\over{T_{d}^{0i}}}\right)+\frac{\partial^{2}U}{\partial
t\partial x^{i}}.$ (4)

Above $G$ is the universal gravitational constant and we have denoted the
$1/c^{n}$-order of the energy-momentum tensor of constituent $\alpha$ by
${\buildrel\\!\\!\\!\\!{}_{n}\over{T_{\alpha}^{\mu\nu}}}$.

The energy-momentum tensor of constituent $\alpha$ is defined in terms of the
one-particle distribution function $f_{\alpha}$ and of the particle four-
velocity $u_{\alpha}^{\mu}$ by [26, 23]

$\displaystyle T_{\alpha}^{\mu\nu}=m_{\alpha}^{4}c\int
u_{\alpha}^{\mu}u_{\alpha}^{\nu}f_{\alpha}\frac{\sqrt{-g}\,d^{3}u_{\alpha}}{u^{\alpha}_{0}},$
(5)

where $m_{\alpha}$ denotes the rest mass of a particle of constituent
$\alpha$.

The components of the $\alpha$ constituent particle four-flow in the first
post-Newtonian approximation read [25, 23]

$\displaystyle
u_{\alpha}^{0}=c\left[1+\frac{1}{c^{2}}\left(\frac{v_{\alpha}^{2}}{2}+U\right)\right],\qquad
u_{\alpha}^{i}=\frac{u_{\alpha}^{0}v_{\alpha}^{i}}{c}.$ (6)

For a relativistic gas the one-particle distribution function at equilibrium
is determined by the Maxwell-Jüttner distribution function (see e.g. [26]). In
a stationary equilibrium background where the hydrodynamic velocity vanishes
the Maxwell-Jüttner distribution function for the constituent $\alpha$ in the
first post-Newtonian approximation is given by [27]

$\displaystyle
f^{\alpha}_{MJ}=f^{\alpha}_{0}\left\\{1-\frac{\sigma_{\alpha}^{2}}{c^{2}}\left[\frac{15}{8}+\frac{3v_{\alpha}^{4}}{8\sigma_{\alpha}^{4}}+\frac{2Uv_{\alpha}^{2}}{\sigma_{\alpha}^{4}}\right]\right\\},$
(7)

where $f^{\alpha}_{0}$ is the Maxwellian distribution function

$\displaystyle
f^{\alpha}_{0}=\frac{\rho^{\alpha}_{0}}{m_{\alpha}^{4}(2\pi\sigma_{\alpha}^{2})^{\frac{3}{2}}}e^{-\frac{v_{\alpha}^{2}}{2\sigma_{\alpha}^{2}}},$
(8)

which is given in terms of the mass density $\rho_{0}^{\alpha}$, the gas
particle three-velocity $\bf v_{\alpha}$, and the dispersion velocity
$\sigma_{\alpha}$ of constituent $\alpha$.

The expression for the invariant integration element of the energy-momentum
tensor (5) in the first post-Newtonian approximation reads [27]

$\displaystyle\frac{\sqrt{-g}\,d^{3}u_{\alpha}}{u_{0}^{\alpha}}=\left\\{1+\frac{1}{c^{2}}\left[2v_{\alpha}^{2}+6U\right]\right\\}\frac{d^{3}v_{\alpha}}{c}.$
(9)

##  III Field perturbations

In this section we shall consider perturbations from equilibrium background
states of the one-particle distribution functions and of the gravitational
potentials. The subscripts zero will denote the background states and the
subscripts one the perturbed states, namely

$\displaystyle
f(\mathbf{x},\mathbf{v}_{\alpha},t)=f^{\alpha}_{MJ}(\mathbf{x},\mathbf{v}_{\alpha},t)+f_{1}^{\alpha}(\mathbf{x},\mathbf{v}_{\alpha},t),\quad\alpha=b,d$
(10) $\displaystyle
U(\mathbf{x},\mathbf{v},t)=U_{0}(\mathbf{x})+U_{1}(\mathbf{x},\mathbf{v},t),$
(11)
$\displaystyle\Phi(\mathbf{x},\mathbf{v},t)=\Phi_{0}(\mathbf{x})+\Phi_{1}(\mathbf{x},\mathbf{v},t),$
(12)
$\displaystyle\Pi_{i}(\mathbf{x},\mathbf{v},t)=\Pi_{i}^{0}(\mathbf{x})+\Pi_{i}^{1}(\mathbf{x},\mathbf{v},t).$
(13)

We begin by introducing the representations (10) – (13) into the Boltzmann
equation for the constituent $\alpha$ (1) and get that the resulting
background equation is identically satisfied if $\nabla U_{0}=0$,
$\nabla\Phi_{0}=0$ and $\nabla\Pi_{i}^{0}=0$, while the perturbed equation
reduces to

$\displaystyle\frac{\partial f_{1}^{\alpha}}{\partial
t}+v^{\alpha}_{i}\frac{\partial f^{\alpha}_{1}}{\partial x^{i}}+\frac{\partial
U_{1}}{\partial x^{i}}\frac{\partial f_{MJ}^{0\alpha}}{\partial
v_{\alpha}^{i}}-\frac{2v_{\alpha}^{2}f^{\alpha}_{0}}{\sigma_{\alpha}^{2}c^{2}}\bigg{(}\frac{\partial
U_{1}}{\partial t}+v^{\alpha}_{i}\frac{\partial U_{1}}{\partial
x^{i}}\bigg{)}+\frac{1}{c^{2}}\Bigg{[}\left(v_{\alpha}^{2}-4U_{0}\right)\frac{\partial
U_{1}}{\partial x^{i}}+2\frac{\partial\Phi_{1}}{\partial x^{i}}$
$\displaystyle-3v^{\alpha}_{i}\frac{\partial U_{1}}{\partial
t}+\frac{\partial\Pi^{1}_{i}}{\partial
t}-4v^{\alpha}_{i}v^{\alpha}_{j}\frac{\partial U_{1}}{\partial
x^{j}}+v^{\alpha}_{j}\left(\frac{\partial\Pi^{1}_{i}}{\partial
x^{j}}-\frac{\partial\Pi^{1}_{j}}{\partial x^{i}}\right)\Bigg{]}\frac{\partial
f^{\alpha}_{0}}{\partial v_{\alpha}^{i}}=0.\quad$ (14)

Here $f_{MJ}^{0\alpha}$ is the background Maxwell-Jüttner distribution
function

$\displaystyle
f_{MJ}^{0\alpha}=f_{0}^{\alpha}\left\\{1-\frac{\sigma_{\alpha}^{2}}{c^{2}}\left[\frac{15}{8}+\frac{3v_{\alpha}^{4}}{8\sigma_{\alpha}^{4}}+2\frac{U_{0}v_{\alpha}^{2}}{\sigma_{\alpha}^{4}}\right]\right\\}.$
(15)

For the Poisson equations (2) and (3) we assume ”Jeans swindle” (see e.g. [3,
4]) and consider that they are valid only for the perturbed gravitational
potentials and distribution functions. First we have to evaluate the
components of the energy-momentum tensor of each constituent and next to
insert the perturbed values into the Poisson equations which lead to

$\displaystyle\nabla^{2}U_{1}=-4\pi G\sum_{\alpha=b}^{d}m_{\alpha}^{4}\int
f^{\alpha}_{1}d^{3}v_{\alpha},$ (16)
$\displaystyle\nabla^{2}\Pi_{1}^{i}=-16\pi
G\sum_{\alpha=b}^{d}m_{\alpha}^{4}\int
v^{\alpha}_{i}f^{\alpha}_{1}d^{3}v_{\alpha}+\frac{\partial^{2}U_{1}}{\partial
t\partial x^{i}},$ (18) $\displaystyle\nabla^{2}\Phi_{1}=-2\pi
G\sum_{\alpha=b}^{d}m_{\alpha}^{4}\int\big{(}4v_{\alpha}^{2}+8U_{0}\big{)}f^{\alpha}_{1}d^{3}v_{\alpha}+4\pi
G\sum_{\alpha=b}^{d}\rho_{0}^{\alpha}U_{1}.$

##  IV Plane wave representations

We represent the instabilities as plane waves of frequency $\omega$, wave
number vector $\mathbf{k}$ and small amplitudes
$\overline{f}^{\alpha}_{1},\overline{U}_{1},\overline{\Phi}_{1}$ and
$\overline{\Pi_{1}^{i}}$:

$\displaystyle
f^{\alpha}_{1}(\mathbf{x},\mathbf{v},t)=\overline{f}^{\alpha}_{1}e^{i(\mathbf{k}\cdot\mathbf{x}-\omega
t)},\quad
U_{1}(\mathbf{x},\mathbf{v},t)=\overline{U}_{1}e^{i(\mathbf{k}\cdot\mathbf{x}-\omega
t)},$ (19)
$\displaystyle\Phi_{1}(\mathbf{x},\mathbf{v},t)=\overline{\Phi}_{1}e^{i(\mathbf{k}\cdot\mathbf{x}-\omega
t)},\quad\Pi^{i}_{1}(\mathbf{x},\mathbf{v},t)=\overline{\Pi_{i}^{1}}e^{i(\mathbf{k}\cdot\mathbf{x}-\omega
t)}.$ (20)

From the insertion of the above plane wave representations into the perturbed
Boltzmann equation for constituent $\alpha$ (14) we get the following equation
which gives the perturbed amplitude of the distribution function of
constituent $\alpha$ in terms of the perturbed gravitational potentials

$\displaystyle({\bf v_{\alpha}\cdot
k}-\omega)\overline{f}^{\alpha}_{1}-\frac{f_{0}^{\alpha}}{\sigma_{\alpha}^{2}}\bigg{\\{}({\bf
v_{\alpha}\cdot
k})\overline{U}_{1}\bigg{[}1-\frac{\sigma_{\alpha}^{2}}{c^{2}}\bigg{(}\frac{15}{8}+\frac{3v_{\alpha}^{4}}{8\sigma_{\alpha}^{4}}-\frac{v_{\alpha}^{2}}{2\sigma_{\alpha}^{2}}+\frac{2v_{\alpha}^{2}U_{0}}{\sigma_{\alpha}^{4}}\bigg{)}\bigg{]}$
$\displaystyle+\frac{1}{c^{2}}\bigg{[}v_{\alpha}^{2}\omega\overline{U}_{1}+2({\bf
v_{\alpha}\cdot k})\overline{\Phi}_{1}-\omega
v^{\alpha}_{i}\overline{\Pi^{1}_{i}}\bigg{]}\bigg{\\}}=0.$ (21)

Without loss of generality we consider the wave number vector in the
$x$-direction, i.e., ${\bf k}=(\kappa,0,0)$ and insert the perturbed amplitude
of the distribution function of constituent $\alpha$ from (21) and the plane
wave representations of the gravitational potentials into the Poisson
equations (16) – (18) and integrate the resulting equations, yielding

$\displaystyle\kappa^{2}\overline{\Pi_{x}^{1}}=\frac{16\pi
G\omega}{\kappa}\sum_{\alpha=b}^{d}\frac{\rho^{\alpha}_{0}}{\sigma_{\alpha}^{2}}\bigg{\\{}\bigg{[}I^{\alpha}_{2}-\frac{3\sigma_{\alpha}^{2}}{2c^{2}}\left(I^{\alpha}_{6}+\frac{5}{4}I^{\alpha}_{2}\right)-\frac{4U_{0}}{c^{2}}\left(I^{\alpha}_{2}+I^{\alpha}_{4}\right)\bigg{]}\overline{U}_{1}$
$\displaystyle\qquad+\frac{I^{\alpha}_{2}}{c^{2}}\left[2\overline{\Phi}_{1}-\frac{\omega}{\kappa}\overline{\Pi_{x}^{1}}\bigg{]}\right\\}-\kappa\omega\overline{U}_{1},$
(22) $\displaystyle\kappa^{2}\overline{U}_{1}=4\pi
G\sum_{\alpha=b}^{d}\frac{\rho^{\alpha}_{0}}{\sigma_{\alpha}^{2}}\bigg{\\{}\bigg{[}I^{\alpha}_{2}+\left(I^{\alpha}_{0}+I^{\alpha}_{2}\right)\frac{\omega^{2}}{c^{2}\kappa^{2}}-\frac{3\sigma_{\alpha}^{2}}{2c^{2}}\bigg{(}I^{\alpha}_{6}+\frac{4}{3}I^{\alpha}_{4}+\frac{31}{12}I^{\alpha}_{2}\bigg{)}-\frac{4U_{0}}{c^{2}}\left(I^{\alpha}_{2}+I^{\alpha}_{4}\right)\bigg{]}\overline{U}_{1}$
$\displaystyle\qquad+\frac{I^{\alpha}_{2}}{c^{2}}\bigg{[}2\overline{\Phi}_{1}-\frac{\omega}{\kappa}\overline{\Pi_{x}^{1}}\bigg{]}\bigg{\\}},$
(23) $\displaystyle\kappa^{2}\overline{\Phi}_{1}=4\pi
G\sum_{\alpha=b}^{d}\rho^{\alpha}_{0}\overline{U}_{1}+16\pi
G\sum_{\alpha=b}^{d}\rho^{\alpha}_{0}\bigg{\\{}2\bigg{(}I^{\alpha}_{0}+I^{\alpha}_{2}+\frac{I^{\alpha}_{4}}{2}\bigg{)}\frac{\omega^{2}}{\kappa^{2}c^{2}}+I^{\alpha}_{2}+I^{\alpha}_{4}-\frac{3\sigma_{\alpha}^{2}}{2c^{2}}\bigg{(}I^{\alpha}_{8}+\frac{7}{3}I^{\alpha}_{6}$
$\displaystyle\qquad+\frac{71}{12}I^{\alpha}_{4}+\frac{71}{12}I^{\alpha}_{2}\bigg{)}+\frac{U_{0}}{\sigma_{\alpha}^{2}}\bigg{[}I^{\alpha}_{2}-\frac{\sigma_{\alpha}^{2}}{c^{2}}\bigg{(}\frac{11}{2}I^{\alpha}_{6}+10I^{\alpha}_{4}+\frac{95}{8}I^{\alpha}_{2}\bigg{)}-\frac{4U_{0}}{c^{2}}(I^{\alpha}_{2}+I^{\alpha}_{4})$
$\displaystyle\qquad+\frac{\omega^{2}}{c^{2}\kappa^{2}}(I^{\alpha}_{0}+I^{\alpha}_{2})\bigg{]}\bigg{\\}}\overline{U}_{1}+\frac{16\pi
G}{c^{2}}\sum_{\alpha=b}^{d}\rho_{0}^{\alpha}\left(I^{\alpha}_{2}+I^{\alpha}_{4}+I^{\alpha}_{2}\frac{U_{0}}{\sigma_{\alpha}^{2}}\right)\left[2\overline{\Phi}_{1}-\frac{\omega}{\kappa}\overline{\Pi_{x}^{1}}\right].$
(24)

The components $\overline{\Pi^{1}_{y}}$ and $\overline{\Pi^{1}_{z}}$ vanish
and above we have introduced the integrals

$\displaystyle
I_{n}^{\alpha}(\kappa,\omega)=\frac{2}{\sqrt{\pi}}\int_{0}^{\infty}\frac{x^{n}e^{-x^{2}}}{x^{2}-(\omega/\sqrt{2}\sigma_{\alpha}\kappa)^{2}}dx,$
(25)

where $x=v_{x}^{\alpha}/\sqrt{2}\sigma_{\alpha}$.

Equations (22) – (24) for the amplitudes $\overline{\Pi_{x}^{1}}$,
$\overline{U}_{1}$ and $\overline{\Phi}_{1}$ compose an algebraic system of
equations which admits a solution if the determinant of the coefficients of
the amplitudes vanishes. Up to the $1/c^{2}$-order it follows the dispersion
relation

$\displaystyle\kappa_{*}^{4}-\kappa_{*}^{2}\bigg{\\{}I_{2}^{d}\bigg{(}1+\frac{I_{2}^{b}\rho_{0}^{b}\sigma_{d}^{2}}{I_{2}^{d}\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}+\frac{\sigma_{d}^{2}}{c^{2}}\bigg{[}I_{2}^{d}\bigg{(}1+\frac{I_{2}^{b}\rho_{0}^{b}\sigma_{d}^{2}}{I_{2}^{d}\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}\bigg{(}\frac{33}{8}+4\frac{U_{0}}{\sigma_{d}^{2}}\bigg{)}+6I_{4}^{d}\bigg{(}1+\frac{I_{4}^{b}\rho_{0}^{b}}{I_{4}^{d}\rho_{0}^{d}}\bigg{)}$
$\displaystyle-\frac{3}{2}I_{6}^{d}\bigg{(}1+\frac{I_{6}^{b}\rho_{0}^{b}}{I_{6}^{d}\rho_{0}^{d}}\bigg{)}-4\frac{U_{0}}{\sigma_{d}^{2}}I_{4}^{d}\bigg{(}1+\frac{I_{4}^{b}\rho_{0}^{b}\sigma_{d}^{2}}{I_{4}^{d}\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}\bigg{]}\bigg{\\}}-\frac{\sigma_{d}^{2}}{c^{2}}\bigg{[}I_{0}^{d}\omega^{2}_{*}\bigg{(}1+\frac{I_{0}^{b}\rho_{0}^{b}\sigma_{d}^{2}}{I_{0}^{d}\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}$
$\displaystyle+2I_{2}^{d}\bigg{(}1+\frac{\rho_{0}^{b}}{\rho_{0}^{d}}-\omega^{2}_{*}\bigg{)}\bigg{(}1+\frac{I_{2}^{b}\rho_{0}^{b}\sigma_{d}^{2}}{I_{2}^{d}\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}\bigg{]}=0.\qquad$
(26)

The dispersion relation relates the the dimensionless frequency
$\omega_{*}=\omega/{\sqrt{4\pi G\rho^{d}_{0}}}$ with the dimensionless
wavenumber $\kappa_{*}={\kappa}/{\kappa_{J}}$, which are given in terms of the
dark matter Jeans wave number defined by $\kappa_{J}=\sqrt{4\pi
G\rho^{d}_{0}}/\sigma_{d}$. The reason to take the dark matter to build the
dimensionless quantities is that the dark matter begins to collapse into a
complex network of dark matter halos well before the ordinary matter.

From the analysis of the dispersion relation algebraic equation (26) we infer
two distinct regimes: in one of them the frequency assumes real values
implying that the perturbations will propagate as harmonic waves in time,
while in the other the frequency has pure imaginary values and the
perturbations will grow or decay in time.

Here we are interesting in analysing the case where an instability happens
which corresponds to the Jeans instability and is related to the minimum mass
where an overdensity begins the gravitational collapse. In this case the
limiting value of the frequency where the instability occurs is when
$\omega_{*}=0$ and the dispersion relation (26) reduces to

$\kappa_{*}^{4}-\bigg{(}1+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}\kappa_{*}^{2}+2\frac{\sigma_{d}^{2}}{c^{2}}\bigg{\\{}1+3\bigg{(}1+\frac{\rho_{0}^{b}}{\rho_{0}^{d}}\bigg{)}\kappa_{*}^{2}+\frac{\rho_{0}^{b}}{\rho_{0}^{d}}\bigg{[}1+\frac{\sigma_{d}^{2}}{\sigma_{b}^{2}}\bigg{(}1+\frac{\rho_{0}^{b}}{\rho_{0}^{d}}\bigg{)}\bigg{]}+\frac{U_{0}}{\sigma_{d}^{2}}\bigg{(}1+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}\kappa_{*}^{2}\bigg{\\}}=0,$
(27)

since the integrals have the values $I_{2}^{b}=I_{2}^{d}=1$,
$I_{4}^{b}=I_{4}^{d}=1/2$ and $I_{6}^{b}=I_{6}^{d}=3/4$.

The minimum mass for an overdensity to star the gravitational collapse is
related with the real positive value of $\kappa_{*}$ obtained from (27), which
by considering terms up to the $1/c^{2}$ order reads

$\displaystyle\kappa_{*}=\bigg{(}1+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}\bigg{)}^{-\frac{1}{2}}\bigg{\\{}1+\frac{\sigma_{d}^{2}}{c^{2}}\bigg{(}4+\frac{U_{0}}{\sigma_{d}^{2}}\bigg{)}+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}\bigg{[}1+\frac{\sigma_{b}^{2}}{c^{2}}\bigg{(}4+\frac{U_{0}}{\sigma_{b}^{2}}\bigg{)}\bigg{]}\bigg{\\}}.$
(28)

From (28) two limiting cases are interesting to analyse. The first one is when
we have only one component present, which we choose as the dark matter
component, in this case we take a vanishing mass density of the baryonic
matter $\rho_{0}^{b}=0$ and get

$\displaystyle\kappa_{*}=1+\frac{\sigma_{d}^{2}}{c^{2}}\bigg{(}4+\frac{U_{0}}{\sigma_{d}^{2}}\bigg{)},$
(29)

which is the expression given in [20].

On the other hand without the relativistic correction we have from (28) by
neglecting the $1/c^{2}$ terms

$\displaystyle\kappa_{*}=\sqrt{1+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}},$
(30)

and we recover the result given in [14, 15].

The Jeans mass is associated with the mass contained in a sphere of radius
equal to the wavelength of the mass perturbation. By building the ratio of the
Jeans masses corresponding to the dark-baryonic system $M_{J}^{db}$ and the
dark matter system $M_{J}^{d}$ we get up to $1/c^{2}$ terms

$\displaystyle\frac{M_{J}^{db}}{M_{J}^{d}}=\bigg{(}1+\frac{\rho_{0}^{b}}{\rho_{0}^{d}}\bigg{)}\bigg{(}{1+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}}\bigg{)}^{-\frac{5}{2}}\bigg{\\{}1-3\frac{\sigma_{d}^{2}}{c^{2}}\bigg{(}\frac{U_{0}}{\sigma_{d}^{2}}+4\bigg{)}+\frac{\rho_{0}^{b}\sigma_{d}^{2}}{\rho_{0}^{d}\sigma_{b}^{2}}\bigg{[}1-3\frac{\sigma_{d}^{2}}{c^{2}}\bigg{(}\frac{U_{0}}{\sigma_{d}^{2}}+4\frac{\sigma_{b}^{2}}{\sigma_{d}^{2}}\bigg{)}\bigg{]}\bigg{\\}}.$
(31)

##  V Comparison with observational data

To assess the physical viability of the present model, it is interesting to
confront it with the observation of regions in the Universe that can
experience star formation. Here, we compare the theoretical prediction for the
Jeans mass (31), with the observational stability data of Bok globules. The
latter are nearby isolated clouds of interstellar gas and dust with simple
shapes. They have characteristic temperatures of the order of $10K$, and
masses of $\sim 10M_{\odot}$, which are close to their corresponding Jeans
masses. This last characteristic places them among the most interesting
astrophysical objects to test a deviation from the standard Jeans criterion,
since a small modification of their Jeans mass leads to a different prediction
for their stability.

We are mainly interested in the data of [28] (see also [29]), consisting of a
set of 11 Bok globules, reproduced in Table 1, together with their kinetic
temperature, density, mass, Jeans mass (assuming Newtonian gravity and in the
absence of a dark matter background), and their observed stability.

Bok Globule | $T\text{[K]}$ | $n_{H_{2}}\text{[cm${}^{-3}$]}$ | $M[M_{\odot}]$ | $M_{J}[M_{\odot}]$ | Stability
---|---|---|---|---|---
CB 87 | 11.4 | $(1.7\pm 0.2)\times 10^{4}$ | $2.73\pm 0.24$ | 9.6 | stable
CB 110 | 21.8 | $(1.5\pm 0.6)\times 10^{5}$ | $7.21\pm 1.64$ | 8.5 | unstable
CB 131 | 25.1 | $(2.5\pm 1.3)\times 10^{5}$ | $7.83\pm 2.35$ | 8.1 | unstable
CB 134 | 13.2 | $(7.5\pm 3.3)\times 10^{5}$ | $1.91\pm 0.52$ | 1.8 | unstable
CB 161 | 12.5 | $(7.0\pm 1.6)\times 10^{4}$ | $2.79\pm 0.72$ | 5.4 | unstable
CB 184 | 15.5 | $(3.0\pm 0.4)\times 10^{4}$ | $4.70\pm 1.76$ | 11.4 | unstable
CB 188 | 19.0 | $(1.2\pm 0.2)\times 10^{5}$ | $7.19\pm 2.28$ | 7.7 | unstable
FeSt 1-457 | 10.9 | $(6.5\pm 1.7)\times 10^{5}$ | $1.12\pm 0.23$ | 1.4 | unstable
Lynds 495 | 12.6 | $(4.8\pm 1.4)\times 10^{4}$ | $2.95\pm 0.77$ | 6.6 | unstable
Lynds 498 | 11.0 | $(4.3\pm 0.5)\times 10^{4}$ | $1.42\pm 0.16$ | 5.7 | stable
Coalsack | 15 | $(5.4\pm 1.4)\times 10^{4}$ | $4.50$ | 8.1 | stable
Table 1: Kinetic temperature, particle number density, mass, Jeans mass, and
observed stability for several Bok globules [28, 29].

One may observe from Table 1 that 7 out of the 11 considered Bok globules are
predicted to be stable while observation reveals that they exhibit star
formation. As the criterion (31) allows for critical masses smaller than the
usual Jeans mass, it may potentially account for this discrepancy. For that,
we impose that the critical mass of the model is equal to the mass of the Bok
globule; this provides the maximal value of the critical mass in order to
account for the data. We set $U_{0}=\sigma^{2}$ (Virial theorem), and we
assume that the ratio $\rho_{0}^{d}/\rho_{0}^{b}$ corresponds to the ratio of
the density parameter $\Omega_{d}/\Omega_{b}\approx 5.5$ today, as it has not
changed that much during the evolution of the Universe (see e.g., [14, 17]).
With these assumptions, we are left with a single free parameter, i.e.,
$\sigma_{d}^{2}$. The lower values of $\sigma_{d}^{2}$ allowing to match with
the observational data are given in Table 2, for each Bok globule.

Bok Globule | $\sigma_{b}^{2}[10^{4}m^{2}/s^{2}]$ | $n_{H_{2}}\text{[cm${}^{-3}$]}$ | $M[M_{\odot}]$ | $M_{J}[M_{\odot}]$ | $\sigma_{d}^{2}[10^{6}m^{2}/s^{2}]$
---|---|---|---|---|---
CB 110 | $17.98$ | $(1.5\pm 0.6)\times 10^{5}$ | $7.21\pm 1.64$ | 8.5 | $8.53$
CB 131 | $20.70$ | $(2.5\pm 1.3)\times 10^{5}$ | $7.83\pm 2.35$ | 8.1 | $49.81$
CB 161 | $10.31$ | $(7.0\pm 1.6)\times 10^{4}$ | $2.79\pm 0.72$ | 5.4 | $1.02$
CB 184 | $12.78$ | $(3.0\pm 0.4)\times 10^{4}$ | $4.70\pm 1.76$ | 11.4 | $0.87$
CB 188 | $15.67$ | $(1.2\pm 0.2)\times 10^{5}$ | $7.19\pm 2.28$ | 7.7 | $18.44$
FeSt 1-457 | $8.99$ | $(6.5\pm 1.7)\times 10^{5}$ | $1.12\pm 0.23$ | 1.4 | $3.08$
Lynds 495 | $10.39$ | $(4.8\pm 1.4)\times 10^{4}$ | $2.95\pm 0.77$ | 6.6 | $0.80$
Table 2: $\sigma_{b}^{2}$, particle number density, mass, and Jeans mass for 7
of the Bok globules of Table 1, whose predicted stability is contradicted by
observation, together with the saturation bounds for $\sigma_{d}^{2}$ obtained
with Eq. (31).

One may see that the observational stability is correctly accounted for, with
$\sigma_{d}^{2}\sim 10^{6}m^{2}/s^{2}$. One may ask whether such values of
$\sigma_{d}^{2}$ are physically well-motivated and whether they match with
what is known about the properties of dark matter. To see that, one may use
the observational evidence that there are no dark matter halos with a radius
smaller that $R\sim 1kpc$ and a mass smaller than $M\sim 10^{8}M_{\odot}$
[30]. These ultracompact dark matter halos correspond typically to dwarf
spheroidal galaxies like Fornax. If we assume that Fornax is the smallest halo
observed in the Universe and associate their mass and radius to the Jeans mass
and Jeans length, we find $\sigma_{d}^{2}\sim 0.13\times 10^{6}m^{2}/s^{2}$,
which is comparable to the values of $\sigma_{d}^{2}$ given in Table 2,
required to account for the stability of Bok globules.

##  VI Conclusions

In this work, we have analysed the Jeans-type gravitational instability for a
mixture of baryonic and dark matter particles, in the post-Newtonian
approximation. We have laid out a kinetic model consisting of two post-
Newtonian collisionless Boltzmann equations, for each particle species, and
the post-Newtonian Poisson equations. The relativistic Maxwell–Jüttner
distribution function was used to evaluate the components of the
energy–momentum tensor in the Poisson equations. By considering perturbations,
around background state, in the form of plane waves, we have established the
post-Newtonian dispersion relation, for a mixture of baryonic and dark matter
particles. This leads to a Jeans mass smaller than the standard Jeans mass,
meaning that smaller masses are required to initiate the gravitational
collapse.

We have used this to study to what extent the model can account for the
observational stability of Bok globules. In particular, a set of Bok globules
are theoretically predicted as stable (using the standard Jeans mass), yet
they are observed to exhibit star formation [28]. We have shown that the
present model can correctly account for this discrepancy, with physically
reasonable values of the dark matter velocity dispersion.

## Acknowledgments

(GMK) was supported by Conselho Nacional de Desenvolvimento Científico e
Tecnológico (CNPq), grant No. 304054/2019-4.

## References

  * [1] J. H. Jeans, Philos. Trans. R. Soc. A 199, 1 (1902).
  * [2] S. Weinberg, Gravitation and cosmology. Principles and applications of the theory of relativity (Wiley, New York, 1972).
  * [3] P. Coles and F. Lucchin, _Cosmology. The Origin and Evolution of Cosmic structures_ , 2nd, edn. (John Wiley, Chichester, 2002).
  * [4] J. Binney and S. Tremaine _Galactic Dynamics_ , 2nd. edn. (Princeton University Press, Princeton, 2008). S. D. Odintsov, Phys. Rev. D 85, 044022 (2012).
  * [5] M. Lifshitz, J. Phys. (USSR) 10, 116 (1946).
  * [6] W. B. Bonnor, Mon.Not. R. Astron. Soc. 117, 104 (1957).
  * [7] I. H. Gilbert, Astrophys. J. 144, 233 (1966).
  * [8] B. P. Pandey, G. S. Lakhina, V. Krishan, Phys. Rev. E 60, 7412 (1999).
  * [9] S. A. Trigger, A. I. Ershkovich, G. J. F. van Heijst, and P. P. J. M. Schram, Phys. Rev. E 69, 066403 (2004).
  * [10] I. De Martino, A. Capolupo, Eur. Phys. J. 77, 715(2017).
  * [11] A. Bessiri, K. Ourabah, and T.H. Zerguini, Phys. Scr. 96, 125208 (2021).
  * [12] S. Capozziello, M. De Laurentis, I. De Martino, M. Formisano, and S. D. Odintsov, Phys. Rev. D 85, 044022 (2012).
  * [13] M. Roshan and S. Abbassi, Phys.Rev. D 90, 044010 (2014).
  * [14] G. M. Kremer and R. André, Int. J. Mod. Phys. D 25, 1650012 (2016).
  * [15] G. M. Kremer, AIP Conference Proceedings 1786, 160002 (2016).
  * [16] G. M. Kremer, M. G. Richarte and E. M. Schiefer, Eur. Phys. J. C 79, 492 (2019).
  * [17] K. Ourabah, Eur. Phys. J. C 82, 565 (2022).
  * [18] E. Nazari, A. Kazemi, M. Roshan and S. Abbassi, Ap. J. 839, 839 (2017).
  * [19] H. Noh and J-C Hwang, ApJ, 906, 22 (2021).
  * [20] G. M. Kremer, Eur. Phys. J. C 81, 927 (2021).
  * [21] G. M. Kremer, Int. J. Geom. Methods Mod. Phys., 20 2350039 (2023).
  * [22] C. A. Agón, J. F. Pedraza and J. Ramos-Caro, Phys. Rev. D 83, 123007 (2011).
  * [23] G. M. Kremer, _Post-Newtonian hydrodynamics: theory and applications_ , (Cambridge Scholars Publishing, Newcastle upon Tyne, 2022).
  * [24] G.M. Kremer, Annals of Physics 426, 168400 (2021).
  * [25] S. Chandrasekhar, Ap. J. 142, 1488 (1965).
  * [26] C. Cercignani and G. M. Kremer, _The relativistic Boltzmann equation: theory and applications_ (Birkhäuser, Basel, 2002).
  * [27] G. M. Kremer, M. G. Richarte and K. Weber, Phys. Rev. D 93, 064073 (2016).
  * [28] R. Kandori et al., Astrophys. J. 130, 2166 (2005).
  * [29] J. Vainio, I. Vilja, Gen. Relativ. Gravit. 48, 129 (2016).
  * [30] P.-H. Chavanis, Phys. Rev. D 103, 123551 (2021).


S. Kerrison Fingerprint Theft Using Smart Padlocks: Droplock Exploits and
Defenses

# Fingerprint Theft Using Smart Padlocks:
Droplock Exploits and Defenses

Steve Kerrison
James Cook University  Singapore Campus
<EMAIL_ADDRESS>
There is growing adoption of smart devices such as digital locks with remote
control and sophisticated authentication mechanisms. However, a lack of
attention to device security and user-awareness beyond the primary function of
these IoT devices may be exposing users to invisible risks. This paper extends
upon prior work that defined the “droplock”, an attack whereby a smart lock is
turned into a wireless fingerprint harvester. We perform a more in-depth
analysis of a broader range of vulnerabilities and exploits that make a
droplock attack easier to perform and harder to detect. Analysis is extended
to a range of other smart lock models, and a threat model is used as the basis
to recommend stronger security controls that may mitigate the risks of such as
attack.

##  1 Introduction

Biometrics are a commonly used authentication factor, particularly on
smartphones, but also on smart devices such as physical locks. However, the
cost and sophistication of the devices, and the degree to which they protect
fingerprint data, varies significantly. A smartphone, which may contain
banking applications that require biometric authentication, has far more
security controls in place than a smart padlock.

In information security, prevailing advice is to avoid using the same password
on multiple platforms, in case a compromise of one platform leads to
credential reuse on another. We cannot do the same with biometric data,
however, as we have a limited number of fingers. This leads to a potential
problem: using a compromised or counterfeit device to steal fingerprints, then
use them against a victim on other systems.

This issue was initially explored in [1], where the “IoT droplock” concept was
introduced. A droplock is a smart padlock with fingerprint reader, left to be
encountered by potential victims, who may interact with its fingerprint
scanner, unknowingly having their biometrics wirelessly transmitted to a
nearby attacker. The prior work focuses on turning a single candidate device
into a droplock by reverse engineering it and replacing its firmware. This
work seeks to extend those contributions with further exploration of the issue
as a concept, a broader survey of devices, and more detailed recommendations
for security controls.

###  1.1 Contributions

Expanding upon [1], in this paper we make the following new contributions:

  1. 1.

Comprehensive details of all vulnerabilities exploited in the making of a
droplock from a COTS device.

  2. 2.

A survey of five COTS smart padlocks, to understand the broader security
posture of this class of devices.

  3. 3.

Investigation into and discussion of the feasibility of producing a convincing
self-made droplock.

  4. 4.

Expanding the best practice and security controls recommendations in light of
further investigations, supported by new threat modelling of the scenario.

In combination, these contributions highlight a gap in the understanding of
the severity of weak security in devices that do not themselves necessarily
need it, but risk compromising immutable authentication factors that may be
used elsewhere in more secure systems.

###  1.2 Structure

We refer to the prior work detailed in [1, § IV] as the basis for the related
work of this piece. In Section 2, extensive details of additional hacks of the
original droplock target device are given, with recommendations made for
improving the device- and implementation-specific vulnerabilities that were
found. In Section 3, we examine a wider range of commercially available smart
padlocks to gain an impression of general susceptibility of devices to
droplock attacks, and explore the feasibility of custom-building a practical
droplock. We present threat model of the droplock scenario in Section 4, and
use it to support security control recommendations. Section 5 summarizes and
concludes this paper along with discussion of potential future work.

##  2 Wireless takeover of COTS locks

(a) Original cloud-dependent implementation (b) Hacked version Figure 1:
Sequence diagrams of exchanges required to establish session encryption with a
TLL05A and enrol/control it.

Prior work [1] demonstrates the proof-of-concept and how this concept can be
applied to reverse-engineered commercial devices, with appropriate physical
access. Remote takeover via Over The Air (OTA) Device Firmware Update (DFU)
was also shown in limited detail. This was performed on a paricular lock
model, the TLL05A. In this section, continuing analysis of the same lock, we
expand upon a series of vulnerabilities and associated exploits that enabled
brand-new locks to be reprogrammed as droplocks without physical disassembly
or registration. Other lock models are considered in Section 3.

#### Disclosure of vulnerabilities

For the lock targeted in this section of our work, we disclosed all related
vulnerabilities to the manufacturer via their bug bounty program on or before
5th May 2022. We received no non-automated response from them prior to
presenting our initial findings in August 2022, and at the time of producing
this extended work have yet to receive anything further. As this work focuses
on more in-depth details, and the general applicability of them to this class
of device, we have opted not to disclose disassembly of the manufacturer’s
code and instead discuss the tools and approaches that were required to
successfully mount an attack, which would be repeatable by suitably skilled
individuals.

Table 1: Defenses, their vulnerabilities and exploits for the target device and associated Android app. Component | Ref | Objective | Defense |  Vulnerability | Exploit / evade
---|---|---|---|---|---
Mobile app | A | Intercept data between app and cloud API | Certificate pinning |  Patchable | Frida patching
| B |  | API payload encryption |  Static keys | Key extraction
| C | Identify device to app comms and algorithms | Java obfuscation |  Reverse engineering | JADX, manual effort
| D |  | Stripped C / Rust libraries |  | Ghidra, manual effort
Device | E |  | Stripped binary |  | Ghidra, debug, manual effort
| F | Onboard device without original app or cloud API | Enrollment key |  Hard-coded key | Reverse engineer, re-implement
| G | Establish device session without original app or cloud API | Ephemeral session keys |  Derived from observable values |
| H | Update device with malicious firmware | DFU checksum |  No signature check | Generate new checksum

###  2.1 Attacks and failed defenses

In an ideal attack, any candidate device could be wirelessly converted into a
droplock. While the target lock possesses a number of defenses against some,
many can be defeated to create an almost-ideal candidate. Table 1 summarizes
the defenses and how they were overcome, which will be explained in further
detail in this section, where each ID that is discussed matches its subsection
label (A, B, etc.).

Figure 1(a) provides a sequence of communications between the target device
and its smartphone and cloud API (Figure 1(a)), or attacker after
circumventing the cloud-dependent mechanisms (Figure 1(b)). Dashed lines
indicate unencrypted communication, while solid lines are encrypted, either by
TLS and additional payload encryption for the case of smartphone to cloud
communication, or session encryption of data within BLE payloads to and from
the smart lock.

####  A Certificate pinning

Applications that use SSL/TLS must trust one or more root Certificate
Authorities (CAs) in order to verify the identity and validity of any server
certificate that is presented to them. This can be provided by the Operating
System (OS) or be application specific. Additionally, certificate pinning can
be used to restrict allowed certificates for a host to a pre-defined list [2].
This assumes that app updates will be frequent enough to accommodate any
future certificate updates.

Certificate pinning frustrates analysis of an app’s API calls by preventing
the use of a Man-in-the-Middle (MitM) proxy and injected CA that would
otherwise be seen as valid to the phone’s OS. The app will still not validate
the MitM certificate as it is not one of those predefined. This approach is
discouraged by best practices documents, for example for Android developers
[3], due to manageability problems that can arise from its use.

Tools such as Frida [4, p. 37] can be used to unpack and repack applications
to remove or replace their pinning [4, pp 184–186]. Although this can also be
thwarted by use of customized TLS libraries, the effort involved may deter
going to such lengths. In the case of the target lock, Frida was able to
repack the application. This made it possible to intercept and decrypt the
HTTPS traffic between the lock’s phone app and the vendor’s cloud API.

####  B API payload encryption

Despite defeating defense A, the app and API server also encrypt the majority
of HTTP payloads and responses. However, the key is static and stored within
the application binary using the Cipher.so library, which is known to be
reversible [5].

During packet capture, it was noted that identical payloads were sometimes
received and that the payload sizes were aligned to 16 byte boundaries. This
suggested that AES-ECB encryption was being used, which in itself is
considered weak in the majority of use cases [6, p. 228].

The secrets protected by Cipher.so were extracted and one of them was found to
be a key able to decrypt the captured AES-ECB payloads. This allowed observing
the app and server’s traffic, as well as writing an independent client able to
communicate with the cloud service.

####  C Java obfuscation

Unpacking the APK revealed code that appears to have been obfuscated with
ProGuard [7]. This obfuscation tool employs layers of indirection and symbol
renaming in order to make reverse engineering harder. However, using a tool
such as JADX allows variable and method renaming, which in combination with
inspection of the code and observation of interactions with system libraries
whose symbols cannot be renamed, can lead to adequate reverse engineering
results.

####  D Stripped C / Rust libraries

Despite being able to reverse engineer parts of the app, the communication
between the lock and app was implemented in a shared object containing code
generated from C and Rust. Ghidra [8] was used to examine this to some extent,
although at the time of writing Ghidra does not have much support for
analyzing Rust code, increasing the time taken to reverse engineer some data
structures. We note that if Rust continues to gain popularity in memory-safe
embedded development, then analysis of Rust binaries will become more
important in security testing and malware analysis.

####  E Stripped binary

As is expected on a low-memory embedded device, the firmware image extracted
from the target lock (or obtained from the decrypted cloud API), is stripped
of all debug symbols and has very few meaningful symbol names in the symbol
table.

Reverse engineering of this binary required by-hand renaming of functions and
variables, in conjunction with real-time debugging of the device. Stepping
through the firmware with a debug device sped up the identification of the
most interesting code segments, and while still time-consuming, did eventually
reveal the enrollment process, session key derivation algorithm and presence
of standard DFU capabilities.

####  F Enrollment key

When a target lock is purchased, the owner must register it with the vendor’s
cloud via phone app. During this process, a hard-coded key is used to
establish a session between the lock and app, then a new unique pair of serial
and key are assigned to the lock. These are used for the derivation of all
future sessions and ordinarily are known only to the lock and the vendor’s
servers.

In combination with the reverse engineering of the enrollment process, a
script was developed that could use the hard-coded key to enrol a lock with a
key and serial chosen by the attacker, with no cloud API interaction
necessary. The script is available via this work’s accompanying data
publication [9]. This means a purchased lock is not known by the vendor as
activated, which improves secrecy for the attacker, and means the attacker
doesn’t need to have a registered user account.

Although this attack only works on fresh, unenrolled locks, it may be possible
to perform this attack during legitimate enrollment. If the attacker is in
range of a target lock while it is being enrolled, the lower latency of a
locally-implemented enrollment process may beat the legitimate cloud-based
process. The device would appear unusable to the original owner, however, so
this attack is not particularly useful.

####  G Ephemeral session keys

Normal communication with between the lock and app _requires_ cloud
connectivity in order to establish a session key. The lock and app use a
standard BLE UART interface, without any encryption at the Bluetooth layer.
Instead, AES-ECB is used after establishing the session key. This is performed
by requesting a random number from the lock, which is then provided to the
cloud, itself returning the session key that the app can then use to perform
AES-ECB.

While the cloud is used to keep knowledge of the key derivation from the app
and any observer of the app’s traffic, the lock must also implement the
derivation function. The device reverse engineering allowed this to be re-
implemented on a local PC. It requires the serial, a separate key and the
random number. The first two can be obtained from the cloud API and the third
is provided on request by the lock over BLE.

A registered user can use the exploit against defense B to obtain the serial
and key, then run a local script to interact directly with the lock
thereafter. The exploit against defense F allows an unregistered attacker to
do the same.

####  H DFU checksum

Nordic’s standard DFU mechanism is used on the target lock. However,
activation of DFU mode is performed within the encrypted session between lock
and app. A combination of BLE packet capture, payload decryption and library
reverse engineering revealed the command sequence needed to activate it.

Beyond this, the protections are minimal, as PKI signing is not used to
protect the integrity of firmware updates. The firmware package metadata
obtained via the cloud API showed that the firmwares were only CRC16
checksummed, with no signatures or chain of trust. Once a viable replacement
firmware was developed, it was trivial to create a new update package using
old versions of Nordic’s nrfutil program, activate DFU mode and then transfer
the package using Nordic’s Android DFU app.

###  2.2 Non-intrusive attack

By combining the above exploits, a new, off-the-shelf TLL05A smart padlock can
be taken over, without registration with the manufacturer, and be given an
over-the-air firmware update to turn it into a droplock. This was first
discussed in [1, § III.D], and is based on the exploits detailed in this
section.

###  2.3 Specific recommendations

The descriptions of defenses, vulnerabilities and exploits in this section
show how a successful over-the-air droplock attack was made possible. While in
totality, the attack is far from trivial, some significant improvements to the
defenses in such devices are possible. Specific recommendations would include:

  * •

Avoid AES-ECB encryption and instead use a more robust AES such as AES-GCM or
an alternative such as ChaCha.

  * •

Use Diffie-Hellman to agree a key to encrypt HTTP API payloads, turning API
snooping into a dynamic, per-session attack rather than a static global one.

  * •

Do not rely on obscurity of the key derivation function to ensure reliance on
cloud when establishing session keys.

  * •

Implement mutual authentication between lock and cloud prior to establishing a
session key to prevent offline (cloud-less) sessions, or support two modes of
operation, with some activities requiring cloud, others not.

  * •

Keep the processing of fingerprint images within an isolated environment so
that they cannot be accessed in their original form (discussed further in the
following section).

These recommendations may not apply directly to other smart locks, nor are
they in themselves novel, but should be taken into consideration during the
design and implementation process.

###  2.4 On smartphone biometric security

To conclude this section, we refer to the Android 12 Compatibility Definitions
Document (CDD) treatment of biometric sensors [10] and assess whether the
target lock was better or worse protected than what is required of many modern
smartphones. Three classes of biometrics are referenced by the specification:
class 1, class 2 and class 3, with a higher class number implying stronger
security. Much of the strength relates to biometric performance. For example
minimizing the acceptance of spoof, impostor or false biometric samples, such
as those that might be collected by a droplock and then reproduced [11].
However, the security of the biometric pipeline is also consideration, wherein
raw biometric data cannot be extracted from the pipeline, or false data
injected directly into it.

The CDD stipulates requirements for sensors depending on which class they are
to be treated as, along with that functionality and behavior can be provided
using the authorization of a sensor of such a class. Of particular interest to
this work are remarks regarding chain of trust and use of a Trusted Execution
Environment (TEE). At class 1, the CDD requires that new biometric data can
only be added once trust has been established through other authentication
factors. While we interpret this as an assurance that the biometric data
represents the correct user, we note that it may also make it less likely to
collect others’ data inadvertently.

In class 2 devices, the CDD requires biometric matching to performed in a TEE
or equivalent, preventing the raw biometric data from being leaked or tampered
with. Complementary to this is the requirement that biometric data must not be
accessible to the application processor outside the TEE. In the case of the
target lock, the fingerprint reader chip does not operate with any isolation
in force, and will release the biometric data unencrypted over UART. Were this
not the case, the attacks presented in this section would be moot. Class 3
goes further still by requiring hardware-based protection of encryption keys.
This is significantly beyond the capabilities observed on the target lock.

To summarize, the fingerprint sensing capabilities of the target lock closest
resembles a class 1 sensor, intended for convenience rather than security. At
this level, not only is the security of the authentication system relatively
weak, so too is the protection of the biometric data, and we have shown why
this poses a risk beyond the intended application.

##  3 Applicability to other devices

Thus far a single smart padlock model has been used as a droplock
demonstrator, and while that is a sufficient risk to motivate putting
mitigations in place, we must also seek to understand the scale of the
problem. We do this in two ways: Assessing several other fingerprint-reading
smart padlocks to estimate their vulnerability to a similar attack, and
discussing other fingerprint-reading devices to identify ways in which they
may also play a part in a biometric theft attack. Candidate devices would all
need to possess some form of wireless communication capability, such as Wi-Fi
or Bluetooth.

###  3.1 Smart padlock survey

We acquired a selection of other lock models to perform a broader assessment.
Locks were selected based on their availability at the time of purchase,
seeking to avoid models that appeared to be re-badged versions of others
already selected (based on product photographs). While the obtained devices
have different shapes, weights, strengths, connectivity and application
support, they are all padlocks that possess fingerprint readers and wireless
connectivity. Ergo, if the firmware on the device can be reprogrammed, then
there is potential to extract fingerprint data from the reader and transmit it
over whatever radio is present in the device.

Hacking the original droplock was a time-consuming process, but once the DFU
update method was cracked, the attack became significantly easier to perform.
We do not seek to recreate this process in full for the surveyed locks, but
rather perform an initial investigation into the likelihood that these devices
could be similarly compromised.

For each lock, we assess the following aspects of its design and
implementation, suggesting a rating of its security level in each of these
areas. As with any such assessment, future discoveries may significantly
change these, so this is only a point-in-time assessment constrained by time,
resources and current knowledge.

The areas assessed are:

  * •

Disassembly: A more secure lock is harder to disassemble, ideally being
impossible without causing visible irreparable damage.

  * •

Interface: Easily accessible JTAG, SWD or SPI flash pads may make dumping,
analyzing or modifying device firmware simpler to carry out. The most secure
device would not include these post-production, or they would be very
difficult to attach to.

  * •

Debug: Regardless of interface accessibility, the most secure devices will
have debug or external access to flash memory disabled, with no known
workarounds.

  * •

DFU: If a DFU package can be obtained and determined to be protected with PKI
signatures, then replacing the firmware, particularly using FOTA, may be
significantly harder for such a device.

We rate each of these areas based on the difficulty in leveraging them to
perform a droplock style attack, with low (L) being trivial, medium (M)
requiring some skill or special equipment, and high (H) being highly complex
or so-far unachievable. We exclude an assessment of whether each fingerprint
chip prevents uploading whole images, as this would was not feasible to
conduct with available equipment and resources at the time.

Table 2: Summary of security assessment of surveyed devices ID | Brand | Model | Source | Price | Notes
---|---|---|---|---|---
TLL05A | Tapplock | Lite | Retail | $50 |  The droplock demonstrator.
TL203A | Tapplock | One+ | Retail | $100 |
TY | — | — | AliExpress | $42 | Tuya compatible.
MJ | — | — | AliExpress | $22 | Xiaomi Mijia compatible.
TT | — | — | AliExpress | $30 | TTLock platform-based.
Figure 2: From top-left, clockwise: TLL05A, TL203A, TT, MJ and TY locks.

The locks surveyed are detailed in Table 2 and pictured in various states of
disassembly in Figure 2. Those purchased from AliExpress have no, or confusing
branding, typically featuring branding relating to the platform they are
compatible with, though the lock itself is effectively no-name. For
identifying the locks, we have used the branded product code, or a self-
determined identifier based on some unique attribute. All of these locks use
Bluetooth and have a fingerprint reader.

Tapplock devices are supported by Tapplock’s own app and cloud. Tuya111Tuya:
https://www.tuya.com/ is a Chinese smart device platform that provides
libraries that OEMs can integrate into their products for compatibility with
the platform and associated apps. Mijia and TTLock are similar in nature, with
Mijia being a platform from Xiaomi (known for smartphones and other smart
devices) and TTLock222TTLock: https://www.ttlock.com/ focusing purely on the
smart lock ecosystem.

Table 3: Summary of security analysis of surveyed devices Device | Disassembly | Interface | Debug | DFU |  Notes
---|---|---|---|---|---
TLL05A | L | M | L | L |  Easy to disassemble/reassemble. Debug pads are small but labelled and unprotected. Only CRC16 on firmware images.
TL203A | H | L | L | L |  Very difficult to disassemble non-destructively. Once inside, interfacing is comparatively easy. Only CRC16 on firmware images.
TY | M | L | H | ? |  Appears to have flash/JTAG interface but could not detect.
MJ | M | L | H | ? |  Undetectable over SWD debug pins.
TT | L | H | H | ? |  RF-cover is glued, but rubber covering will mask any damage. MCU pins are epoxy-coated.
_Notes_ |  Firmware packages were not obtained for some devices, therefore their DFU security was not assessable.

In the initial droplock attack work, soldering and an ST-Link debugger were
used to gain access to the device. In this survey, we introduced new tools to
both speed up the work and reduce the risk of damage to devices. We used a
series of pogo pin assemblies, combined with electrical tape to mask off areas
of circuits if needed, to help attach to debug pads or pins solder-free.
Additionally, a Raspberry Pi 4B was used alongside the ST-Link to provide an
alternative debug interface when attempting to communicate with the various
types of debug ports that were identified.

Table 3 summarises our findings after assessing the devices. We were not as
successful at accessing the firmware of other locks as we had been with the
TLL05A. Some amount of luck may be to thank for our initial discoveries being
based around this device. However, based on the extent of information
gathering done, the locks do have varying degrees of protection in different
areas.

Figure 3: TL203A PCB with debug attachment via spring-loaded pogo pins.

The TL203A is significantly harder to disassemble than the cheaper TLL05A from
the same manufacturer, requiring drilling to remove the back of the lock.
However, once inside, the same lack of debug protection and relative ease of
interfacing make it possible to dump firmware and debug the device. Figure 3
shows the TL203A rigged for debug, using a combination of soldered
power/ground reference cables and a pogo pin clip on the device’s debug clock
and data pads.

We observe from a brief analysis of the TL203A’s firmware and API data that
its encryption implementation is different to the TLL05A, but believe that it
could also be reverse engineered in a similar way, given sufficient time. This
is supported largely by the fact that the BLE chips are the same and the DFU
packages both lack any signature-based protection. We also note that the
fingerprint chip on this device is labelled ID808+, which bears a striking
similarity to the DF Robot device [12] used as reference for the fingerprint
reader chip command protocol that was reverse engineered in [1, §III.B].

The TT lock appeared to have good physical construction, but the PCB is
accessible behind a glued-in plastic cover. A protective rubberized cover
could help mask any physical damage to the lock from disassembly and
reassembly. The ML and TY locks are also relatively easy to get inside, but
some evidence of this (scratches or dents) may remain afterwards. A prepared
attacker could unlock any of the unbranded locks once their panels were
removed, although this is not a concern in a droplock attack. We note that
unlike the Tapplock devices, which need to be woken by pressing some kind of
button first, the TY, MJ and TT locks all wake when skin makes contact with
their sensor. It is slightly easier to perform an attack on a victim if this
wake-method can be used.

A variety of application MCUs were observed, including Nordic NRF51822, Telink
TLSR8251, Beken BK3431 and Realtek/RealMCU RTL8762. Fingerprint chips include
GigaDevices GDFFPR variants, Edward/IDWorld ID808+ and BYD BF5622A. This
variation frustrates an attacker by requiring a different debug interface, SDK
and system knowledge each time, assuming debug and/or reprogramming are even
possible. More drastic approaches, such as de-soldering chips, may also aid in
the hacking process, but we did not have the means to attempt this.

This survey of devices shows that varying level of protections are in place,
mitigating different kinds of potential vulnerabilities. While defenses
against disassembly may also be desirable for physical protection of the
locking function, the other defenses mainly serve to protect the device from
reverse engineering and reprogramming. Amongst the four additional locks, the
TL203A was found likely to also be vulnerable to a droplock conversion attack.
Ultimately, any device will be convertible with sufficient effort, so the
trade-off to be struck is the difficulty of doing so versus the likelihood of
droplock attack being successful, giving consideration to the value targeted
individuals.

###  3.2 Smart door locks

Unlike padlocks, door locks are fixed, either to the door, or to the frame of
the door that they protect. We distinguish these from door entry systems used
in enterprises, which have been in use for some time, whereas smart door locks
have only entered the market in recent years.

For a droplock-like attack to be feasible with these devices, the lock must be
hacked in-situ, without triggering any alarm or anyone noticing. This is
significantly more challenging than preparing a droplock. Alternatively, if a
target lock is identified, an attacker might purchase the same model, hack it,
and assuming a FOTA process exists and is vulnerable to compromise, prepare an
update that can be sent to the in-situ lock. Gaining adequate access to this
unnoticed would still be a challenge.

While it does seem that such an attack would still be possible, the likelihood
of any one door lock being compromised in this way is less, and the lack of
portability reduces attack flexibility. However, lock manufacturers should
still be mindful of protecting fingerprint data in such devices, as devices
that might connect to owners’ smart home networks may in the future be found
vulnerable to being turned en masse into fingerprint harvesters, which would
cause significant reputational damage to the affected vendors.

Finally, we note that mounting an attack from a fixed device such as a door
lock may help the attacker in selecting victims — targeting those who use the
particular entry-way — rather than hoping a suitable target picks up a
droplock.

###  3.3 Do it yourself

We earlier posited that hacking an existing, recognized brand would help a
droplock attack be more successful. However, smart padlocks are thus far less
mainstream than fixed smart door locks, which at the time of writing have
products from well-known lock brands such as Yale and Assa Abloy.
Additionally, USB thumb drives have many brands and styles, and yet people
will recognize their function and be able to use any of them. As such, a
custom-made droplock may be feasible to produce if the time, skill and cost
investment in making it is lower than hacking a COTS device.

We inquired for quotes from a number of smart lock OEMs, to determine if we
could obtain a sample quantity of locks along with the ability to modify the
firmware through an SDK. We also indicated an intention to purchase in bulk if
the proof-of-concept was successful, in-line with any reasonable product
development process.

The outcome of this inquiry was that none of the responding vendors of pre-
assembled PCBs (PCBAs) were willing or able to offer firmware customization.
This may be due the software and hardware supply chain, wherein we note the
following:

  * •

Devices with a separate fingerprint chip may have a higher bill-of-materials
and allow more feature customization, but the fingerprint handling firmware
may not be under device manufacturer’s control.

  * •

Many devices integrate with smart device ecosystems (e.g. Tuya, TTLock,
Mijia), wherein some libraries come from the platform provider, and device
manufacturers may be unable to make an SDK for their product’s firmware
available due to 3rd party licensing restrictions.

While most OEMs could refuse to provide the firmware sources or SDK, that does
not guarantee that all OEMs would do so. As such, a determined attacker could
expect to find a source for manufacturing their own droplocks without having
to create the whole product end-to-end themselves. And if not, existing
designs could be used as reference for creating their own and developing a
suitable firmware from scratch, with support from the chip-maker’s SDK.

If this is the case, then even legitimate manufacturers can only do so much to
protect users from a droplock, as protecting genuine products may be
insufficient. Additional steps may need to be taken to prove the genuine
nature and purpose of a product to users, beyond simple visual cues, in real-
time. This also requires increased awareness from users.

##  4 Recommendations

Figure 4: A data-flow / interaction-oriented threat model for threats, assets
and controls relating to droplock types of attacks.

In Figure 4 we present a threat model for a droplock attack, labelling key
threat actors, TA, assets, A and security controls C amongst data flows and
interactions between manufacturer, IoT device, attacker and user. The goal of
biometric data retrieval (TA04) can be achieved via physical attack (combining
TA01 and TA02), wireless attack (TA03) or use of an impostor device (TA05).
The assets involved and our recommended security controls to mitigate the
risks, are discussed herein.

###  4.1 Make devices tamper-evident

Physical protection (C01) of devices (A03) against tampering (TA01) is
desirable to preserve their primary function, but it is also useful in
preventing an attacker from gaining access to reprogram the device (if
wireless DFU is otherwise secure). If physical disassembly is possible, it
should at least be evident that this has been done, to give users an
opportunity to raise suspicion about the device.

###  4.2 Disable debug

Disabling debug capabilities (C02), especially on production models, makes
reverse engineering and reprogramming of devices significantly harder,
delaying both development and deployment of a droplock.

###  4.3 Use PKI signed firmware updates

Section 2 showed how inadequately protected DFU processes can be used to
replace device firmware with malicious versions (TA03). Chip-makers provide
PKI (firmware signing) solutions (C03) in their SDKs that should be used to
protect firmware integrity (A04). Using old SDK versions may mean such
features are unavailable.

###  4.4 Prevent image upload

Biometric data scanned by the fingerprint sensor (A02) should not be made
available to other components in the smart device. Where this feature is
configurablem, production devices should disable this capability (C04). It may
be acceptable to extract template data, however, even these can be used to
reproduce prints that may fool some sensors [13, 14]. We note that adhering to
criteria similar to a class 2 biometric device, per Android’s CDD, as
discussed in Section 2.4, would address this concern.

###  4.5 Increase user awareness

A community effort should be made to educate potential IoT device users (i.e.
everyone) that an untrustworthy device could affect their security (C05).
Aside from fingerprint theft, these devices could be bugged, used as wireless
attack vectors or another invisible threat.

###  4.6 Establishing user trust

Unlike PCs or smartphones, there are few ways for a smart device to make known
its integrity, principally due to the lack of a screen. It may be discernible
upon trying to wirelessly connect with such a device, but by that time, it may
be too late, as the victim may have picked up the device and touched the
sensor. Building verification into a device’s wireless capabilities would help
to mitigate this (C06). It would also combat counterfeit devices, including
custom-made droplocks copying recognizable products (TA06). It would need to
be accompanied by a security attitude of “scan first, then interact”, and so
must lean upon user awareness (C05) as well.

Mitigations in the former category alone are not sufficient protection, as a
self-made droplock (Section 3.3) would not be affected by them. This makes the
user-focused mitigations equally important, although a trade-off should be
made between the cost and effort of implementing all of these mitigations, and
the likelihood of these kinds of attacks actually being carried out.

###  4.7 Supply chain security integration

Although not depicted in Figure 4, we wish to emphasize that device security
is dependent on more than the manufacturer of the end-product. The supply
chain is important too, including the robustness of the security features
built into any chips used, the design of the PCBAs and the capabilities of the
IoT cloud ecosystem with which the device communicates.

##  5 Conclusion

This paper has extended the understanding of the feasibility of performing
droplock style attacks from a technical standpoint. The attack is previously
demonstrated as a proof-of-concept with simple hardware, then on a reverse-
engineered COTS device, is ultimately achieved via remote firmware update of a
brand new, unregistered / unenrolled COTS device. A detailed analysis of the
vulnerabilities and exploit steps that can be used against the targeted lock
is given, along with mitigation recommendations. A selection of other
commercially available smart padlocks are then assessed with the same attack
method in mind, with $40\%$ of the surveyed devices likely to be vulnerable to
droplock conversion, albeit of the same brand, and the others possibly
vulnerable if more sophisticated approaches were attempted.

Construction of a self-made droplock was discussed, which may become a viable
approach for a suitably motivated attacker if commercially available smart
padlocks have enough countermeasures in place. General recommendations of such
countermeasures were given, including the need for better user-awareness of
the potential risks of interacting with biometrics-enabled IoT devices.
Additional human behavioral research, standards for user-awareness and new
methods of establishing device-user trust, were proposed as future work.

Having provided deeper technical insight into this scenario, a logical next
step is to determine how susceptible users of various profiles would be to
such an attack. This information would better motivate the effort required in
responding to this threat. It may also be beneficial to consider
susceptibility to non-biometric interactions, such as scanning QR codes found
on dropped devices. Addressing unsolved recommendations proposed in Section 4
would also be beneficial to the cybersecurity community, along with a
cost/benefit analysis of the solutions with respect to the likelihood and
impact of such attacks.

## Funding acknowledgment

This research was funded by James Cook University internal research grant
IRG20210022.

## References

  * Kerrison [2022a] Steve Kerrison.  IoT Droplocks: Wireless Fingerprint Theft Using Hacked Smart Locks.  In _2022 IEEE International Conferences on Internet of Things (iThings) and IEEE Green Computing & Communications (GreenCom) and IEEE Cyber, Physical & Social Computing (CPSCom) and IEEE Smart Data (SmartData) and IEEE Congress on Cybermatics (Cybermatics)_, pages 107–112, 2022a.  10.1109/iThings-GreenCom-CPSCom-SmartData-Cybermatics55523.2022.00054.
  * Bhor and Karia [2017] Mahesh Bhor and Deepak Karia.  Certificate pinning for android applications.  In _2017 International Conference on Inventive Systems and Control (ICISC)_ , pages 1–4, 2017.  10.1109/ICISC.2017.8068748.
  * Android Developers [2022] Android Developers.  Security with network protocols: Restricting your app to specific certificates, 2022.  URL https://developer.android.com/training/articles/security-ssl#Pinning.
  * Kotipalli and Imran [2016] Srinivasa Rao Kotipalli and Mohammed A Imran.  _Hacking Android_.  Packt Publishing, Limited, Birmingham, 2016.  ISBN 9781785883149.
  * max-r-b [2018] max-r-b.  Insecure key storage: secrets are very easy to retreive, 2018.  URL https://github.com/linisme/Cipher.so/issues/30.
  * Menezes et al. [2001] Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone.  _Handbook of Applied Cryptography_.  CRC Press, 2001.  URL https://cacr.uwaterloo.ca/hac/.
  * Shah et al. [2018] Yash Shah, Jimil Shah, and Krishna Kansara.  Code obfuscating a kotlin-based app with proguard.  In _2018 Second International Conference on Advances in Electronics, Computers and Communications (ICAECC)_ , pages 1–5, 2018.  10.1109/ICAECC.2018.8479507.
  * [8] NSA.  Ghidra.  URL https://ghidra-sre.org/.
  * Kerrison [2022b] Steve Kerrison.  IoT Droplock source code and demonstration.  James Cook University, Jun 2022b.
  * [10] Android Source.  Android 12 compatibility definition: Biometric sensors.  URL https://source.android.com/compatibility/12/android-12-cdd#7310_biometric_sensors.
  * Levalle [2020] Yamila Levalle.  Bypassing biometric systems with 3D printer and enhanced grease attacks.  Technical report, Dreamlab Technologies, 2020.  URL https://dreamlab.net/media/img/blog/2020-08-31-Attacking_Biometric_Systems/WP_Biometrics_v5.pdf.
  * [12] DF Robot.  DFRobot_ID809.  URL https://github.com/DFRobot/DFRobot_ID809/.
  * Cappelli et al. [2007] Raffaele Cappelli, Alessandra Lumini, Davide Maio, and Dario Maltoni.  Fingerprint image reconstruction from standard templates.  _IEEE Transactions on Pattern Analysis and Machine Intelligence_ , 29, 2007.  ISSN 01628828.  10.1109/TPAMI.2007.1087.
  * Arakala et al. [2011] Arathi Arakala, K. J. Horadam, Jason Jeffers, and Serdar Boztaş.  Protection of minutiae-based templates using biocryptographic constructs in the set difference metric.  _Security and Communication Networks_ , 4, 2011.  ISSN 19390122.  10.1002/sec.205.