HSMs: add text & pics on mesh construction

This commit is contained in:
jaseg 2025-09-03 18:26:22 +02:00
parent 16dc9b187b
commit 7b2f003b77
12 changed files with 229 additions and 21 deletions

View file

@ -314,9 +314,7 @@ heat from a heat gun as necessary to soften polymer compounds and to break glue
\subsection{Results}
\subsubsection{Overall observations}
\paragraph{Mesh materials.}
\subsubsection{Mesh materials.}
We found meshes constructed from rigid PCBs as well as a number of Flexible Printed Circuit (FPC) processes.
Tamper-sensing meshes constructed from PCBs sometimes used parts of an existing PCB, and sometimes additional PCBs only
containing a mesh were added. Sometimes, multiple rigid PCB meshes were assembled in a house of cards fashion to enclose
@ -328,9 +326,157 @@ Overall, etched PCBs showed better resolution compared to silkscreen-printed mes
flexible etched PCB meshes was generally in the order of \qtyrange{100}{200}{\micro\meter}, while feature size for
printed foil meshes was coarser at between \qtyrange{500}{3000}{\micro\meter}.
\paragraph{Mesh layout.}
\subsubsection{Mesh layout.}
\paragraph{Contact construction.}
\begin{figure}
\centering
\begin{subfigure}[t]{0.45\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_mesh_offset.jpg}
\caption{Offset layers for more complete coverage}
\label{hsm_fig_mesh_layout_offset}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.45\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_mesh_orthogonal.jpg}
\caption{Orthogonal patterns on subsequent layers}
\label{hsm_fig_mesh_layout_orthogonal}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.45\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_utimaco_mesh_gore.jpg}
\caption{Combining orthogonal layers with area-covering pattern}
\label{hsm_fig_mesh_layout_utimaco}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.45\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_mesh_stack_epp.jpg}
\caption{Spacing mesh layers apart to constrict angular freedom of an attack tool}
\label{hsm_fig_mesh_layout_epp}
\end{subfigure}
\caption{Mesh trace layout approaches for multi-layer meshes.}
\label{hsm_fig_mesh_layout}
\end{figure}
A key goal in tamper-sensing mesh design is to avoid any gaps in coverage. In single-layer meshes, gaps between adjacent
mesh traces cannot be avoided, and provide an easy approach for an attack. In multi-layer meshes, these structure
size-dependent gaps can be mitigated in multiple ways as shown in Figure~\ref{hsm_fig_mesh_layout}.
\paragraph{Offset patterns.} In a two-sided foil mesh, most of the gaps between adjacent traces can be covered by simply
offsetting the pattern by one structure size in both axes between the foil's top and bottom layers as shown in
Figure~\ref{hsm_fig_mesh_layout_offset}. Depending on the mesh layout, only a small number of point-shaped gaps remain
at corners in mesh traces on one of the layers. The number of these gaps can be reduced by reducing the number of
misaligned corners between both layers for instance by choosing a systematic serpentine or spiral trace layout.
\paragraph{Orthogonal patterns.} In some other specimens, the manufacturer chose the opposite approach of keeping the
mesh pattern mostly orthogonal on the mesh's two layers as shown in Figure~\ref{hsm_fig_mesh_layout_orthogonal}. While
this leads to a larger amount of gaps compared to offset patterns as described above, it also reduces the largest gap
size to about one structure size by one structure size.
\paragraph{Combined approaches.} Figure~\ref{hsm_fig_mesh_layout_utimaco} shows the layout of a Gore tamper-sensing mesh
foil used in an Utimaco HSM. This mesh consists of two foil layers bonded to each other. The outer foil is patterned on
both sides with a sparse pattern of thin serpentine traces with the patterns on both layers being orthogonal to each
other. Both patterns are oriented at a \qty{45}{\degree} angle relative to the sides of the rectangular enclosed volume.
The inner foil is only patterned on one side, and contains a thicker serpentine trace laid out in a zigzag pattern. The
two foil layers are aligned such that no gaps remain between the layers.
\paragraph{Using layer spacing.} Figure~\ref{hsm_fig_mesh_layout_epp} shows how an ATM Encrypting Pin Pad (EPP)
implemented the mesh on its keypad. Off-the-shelf metal snap dome contacts were used on the surface of a conventional
rigid PCB to create the keys. On top of the rigid PCB and contact domes, a two-layer copper/polyimide FPC with an
additional polyimide cover layer was glued down. Meshes were placed on both layers of the FPC, as well as on one
internal layer of the rigid PCB. The resulting structure had the FPC mesh layers separated from the rigid PCB mesh layer
by several hundred micrometers of the rigid PCB's substrate. The meshes on both the FPC and the rigid PCB used a
structure size of \qty{150}{\micro\meter}. The vertical separation between the two meshes was several times that
structure size, which limits the possible angles an attack tool could be inserted through both mesh layers.
\subsubsection{3D construction.}
\begin{figure}
\centering
\begin{subfigure}[t]{0.3\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_3d_style_fold_overlap.jpg}
\caption{Folded with overlap}
\label{hsm_fig_3d_struct_folded_overlap}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.3\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_3d_style_fold_no_overlap.jpg}
\caption{Folded without overlap}
\label{hsm_fig_3d_struct_folded_no_overlap}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.3\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_3d_style_vacform.jpg}
\caption{Thermoformed}
\label{hsm_fig_3d_struct_vacuum_form}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.3\textwidth}
\centering\includegraphics[width=\linewidth]{example-image-1x1.pdf}
\caption{House-of-Cards construction}
\label{hsm_fig_3d_struct_house_of_cards}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.3\textwidth}
\centering\includegraphics[width=\linewidth]{hsm_3d_style_lds.jpg}
\caption{Laser Direct Structuring, Image from \cite{mahungORWLPCMost2016}}
\label{hsm_fig_3d_struct_lds}
\end{subfigure}
\caption[3D mesh construction styles]{Construction styles used to fit tamper sensing meshes into 3D envelopes.}
\label{hsm_fig_3d_struct}
\end{figure}
In practice, meshes are almost always manufactured in planar processes first, and then transformed into a
three-dimensional shape. Figure~\ref{hsm_fig_3d_struct}
\subref{hsm_fig_3d_struct_folded_overlap}-\subref{hsm_fig_3d_struct_house_of_cards} show the construction styles we saw
among our samples that shape a planar mesh into a three-dimensional structure.
Figure~\ref{hsm_fig_3d_struct_folded_overlap} and Figure~\ref{hsm_fig_3d_struct_folded_no_overlap} have meshes produced
as flexible printed circuits, in Figure~\ref{hsm_fig_3d_struct_folded_overlap} using a standard photolithographic
copper/polyimide FPC process usually used for flexible PCBs, and in Figure~\ref{hsm_fig_3d_struct_folded_overlap} using
a standard silver ink screenprinting process. The choice in Figure~\ref{hsm_fig_3d_struct_folded_no_overlap} not to
overlap the mesh in the corner is likely caused by manufacturing considerations, since it might be difficult to ensure
proper folding of a small foil tab with adhesive pre-applied.
Figure~\ref{hsm_fig_3d_struct_vacuum_form} shows a sample of a flexible circuit manufactured in a screenprinted
silver-ink process thermoformed into a three-dimensional shape. The flexible circuit mesh is first produced in a
standard planar printing process. After printing and curing, the resulting foil is then heated to soften it, and forced
into a three-dimensional shape using a mold. Depending on the process, one or two molds, and vacuum or pressured air can
be used to shape the foil. The process requires a screenprinted flexible circuit, and would not work with
copper/polyimide flexible PCBs since their copper layer is too thick to plastically deform without tearing, and because
polyimide is not sufficiently thermoplastic at low temperatures.
Thermoforming is a cheap industry standard process, but applied to flexible circuits it has some limitations. First,
only 2.5-dimensional structures can be created since the starting product is always a planar sheet. Second, the sheet
cannot be cut or contain slots or large holes before forming since it needs to be kept under a constant tension from all
sides to ensure it evenly stretches into the mold. Finally, the depth achievable in such a process is rather limited,
with no sample in our survey exceeding \qty{2}{\milli\meter}\todo{Get proper number}. Higher depths would require
extensive deformation of the mesh circuit's plastic substrate, which could lead to tears in the mesh traces since the
particle-based conductive inks used for screen-printed electronics are inelastic.
The specimen in Figure~\ref{hsm_fig_3d_struct_vacuum_form} shows one further design defect. The mesh shown does not
extend to the edges of the plastic cover it has been molded into. When this cover is placed on top of a PCB to protect
components on the PCB from tampering, this leaves a large gap between the bottom edge of the mesh and the PCB surface,
through which probes can be inserted to access either the payload circuit or the mesh monitoring circuitry.
\todoplaceholder{take pic of sample H08 card slot cover}
Figure~\ref{house of cards pcb construction} shows a card slot being protected by several rigid PCBs assembled into a
three-dimensional structure. Solder connections between large pads are used to mechanically and electrically join the
boards. While the rigid PCBs used in such as structure can be produced in a highly inexpensive, standard process, this
style of construction requires manual assembly leading to increased labor cost. Furthermore, the construction leaves
large gaps at edges and corners, which is not a problem for card slot protection in payment applications but which would
be a flaw in a more standard HSM application.
Figure~\ref{hsm_fig_3d_struct_lds} shows the resutl of Laser Direct Structuring (LDS), a process that avoids some of the
limitations of thermoformed planar meshes. In LDS, a plastic part is covered in a conductive pattern in a combination of
selective laser erosion of its surface and a series of preparation and electroless metal plating steps. LDS allows
covering complex three-dimensional shapes, with the main limitation being that all patterned areas must have a direct
line of sight to the outside for the scanning laser to reach it. Thus, the outside of complex parts can be covered, but
internal cavities cannot. LDS is commonly used to create complex antenna shapes on the surface of internal structural
plastic parts for smartphones, but is more costly compared to screenprinting processes due to its complexity. A further
disadvantage of LDS is that it is only suitable for single-layer patterns, while two layers are easily achievable in
silkscreen and photolithographic PCB processes by patterning both sides of the substrate. More layers can be achived in
these processes by simply stacking multiple foil layers and adding vias (through contacts), or by folding.
\subsubsection{Contact construction.}
\subsubsection{Payment Terminal Construction}
@ -338,18 +484,18 @@ printed foil meshes was coarser at between \qtyrange{500}{3000}{\micro\meter}.
\centering
\includegraphics[width=0.7\textwidth]{mesh_fold_screenshot.pdf}
\caption[HSM appliance CT scan]{Computed Tomography (CT) scan of a corner of the PCIe HSM module from an Utimaco
rackmount HSM appliance. Visible are several capacitors, the edge of a large IC, and a large Flat Flexible Cable
(FFC) connector. Two layers of metal enclosures with resin potting in between are visible, and the security mesh can
be seen folded between layers of the folded FFC cable connecting to the outside.}
rackmount HSM appliance. Visible are several capacitors, the edge of a large IC, and a large Flat Flexible Cable
(FFC) connector. Two layers of metal enclosures with resin potting in between are visible, and the security mesh
can be seen folded between layers of the folded FFC cable connecting to the outside.}
\label{hsm_fig_utimaco_ct}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=\textwidth]{cut_chip_scene.pdf}
\caption[Ingenico Payment Terminal HSM CT Section Cut]{CT Section cut across the Ingenico potted module sample. The fold pattern of the mesh foil can be seen
clearly. The mesh traces can be seen on both sides of the foil. The two-layer PCB and the lead frame and bond wires
of a chip soldered on its top side are visible.}
\caption[Ingenico Payment Terminal HSM CT Section Cut]{CT Section cut across the Ingenico potted module sample. The
fold pattern of the mesh foil can be seen clearly. The mesh traces can be seen on both sides of the foil. The
two-layer PCB and the lead frame and bond wires of a chip soldered on its top side are visible.}
\label{fig_ingenico_cut}
\end{figure}
@ -357,8 +503,8 @@ printed foil meshes was coarser at between \qtyrange{500}{3000}{\micro\meter}.
\centering
\includegraphics[width=\textwidth]{mesh_pitch.pdf}
\caption[Ingenico Payment Terminal HSM Mesh Pitch]{A horizontal cut through the Ingenico potted module with
millimeter scale next to the mesh foil. As is visible, the mesh has a trace pitch of \qty{1.0}{\milli\meter} and
traces are offset between the two mesh layers to reduce the amount of gaps between traces.}
millimeter scale next to the mesh foil. As is visible, the mesh has a trace pitch of \qty{1.0}{\milli\meter} and
traces are offset between the two mesh layers to reduce the amount of gaps between traces.}
\label{fig_ingenico_pitch}
\end{figure}
@ -366,9 +512,9 @@ printed foil meshes was coarser at between \qtyrange{500}{3000}{\micro\meter}.
\centering
\includegraphics[width=\textwidth]{mesh_contact_joint.pdf}
\caption[Ingenico Payment Terminal HSM Mesh Contacts]{Mesh contact joints in the Ingenico potted module sample. The
mesh is a foil that is attached to the PCB through bent stamped metal contacts. The contacts are riveted into large
contact pads patterend onto the mesh foil, and are soldered to the PCB. Next to the contacts, the mesh layout is
visble clearly.}
mesh is a foil that is attached to the PCB through bent stamped metal contacts. The contacts are riveted into
large contact pads patterend onto the mesh foil, and are soldered to the PCB. Next to the contacts, the mesh
layout is visble clearly.}
\label{fig_ingenico_contacts}
\end{figure}
@ -376,7 +522,7 @@ printed foil meshes was coarser at between \qtyrange{500}{3000}{\micro\meter}.
\centering
\includegraphics[width=\textwidth]{open_end_detail.pdf}
\caption[Ingenico Payment Terminal HSM End Closure]{Connector end of the Ingenico potted module sample. This cut
shows that the mesh only encloses the PCB on three sides, and the connector side is left unprotected.}
shows that the mesh only encloses the PCB on three sides, and the connector side is left unprotected.}
\label{fig_ingenico_end}
\end{figure}
@ -384,10 +530,10 @@ printed foil meshes was coarser at between \qtyrange{500}{3000}{\micro\meter}.
\centering
\includegraphics[width=\textwidth]{mesh_geom.pdf}
\caption[Ingenico Payment Terminal HSM Mesh 3D]{3D reconstruction of the mesh from the Ingenico potted module
sample. The mesh layout can clearly be seen. From this 3D view, the mesh construction is evident: A T-shaped mesh
foil is wrapped around the PCB on three sides, with PCB tabs at two corners acting as locating and fixturing
features. In the corners, cylindrical components are visible that likely serve as an attempt at sensing intrusion
through the corners.}
sample. The mesh layout can clearly be seen. From this 3D view, the mesh construction is evident: A T-shaped
mesh foil is wrapped around the PCB on three sides, with PCB tabs at two corners acting as locating and
fixturing features. In the corners, cylindrical components are visible that likely serve as an attempt at
sensing intrusion through the corners.}
\label{fig_ingenico_3d}
\end{figure}

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 KiB