enclosed into the TEE secure world.
The number of features handled in the secure
world is significant and one may wonder if it may
not yield any vulnerability. A software level analysis
of TrustZone OS and trustlets (Behrang, 2013) actu-
ally revealed an issue that could allow unauthorized
communication between low privileged Android pro-
cesses and Mobicore kernel. Now, even if such in-
tegration vulnerabilities were fixed, there would still
be the risk of unauthorized re-acquisition. Content
decoded in the TEE is either forwarded to another de-
vices through a protected link or to the rendering en-
gine. Security flaw or not, content will eventually be
left unprotected, and thus vulnerable, at some point to
be presented in clear to human beings.
3.2 Bit Stream Watermarking
Digital watermarking is the technology of choice to
deter content re-acquisition. This being said, most
video watermarking algorithms feature too much
complexity to be able to watermark content on the fly
on resources-constrained mobile devices. Still, a new
breed of watermarking systems recently emerged that
separate the watermarking process in two elementary
steps (Zou and Bloom, 2008; Zou and Bloom, 2010).
The main objective is to make the watermark em-
bedding module as simple as possible for efficiency.
This calls for watermarking systems that operate prior
to decompression, e.g. by swapping a few bytes at dif-
ferent locations directly at the bit stream level. How-
ever, random alterations of the bit stream is prone to
significantly impair the quality of rendered video. It is
therefore necessary to perform a computationally in-
tensive profiling of the original bit stream to identify
locations that could be modified as well as the asso-
ciated replacement bytes that could be used without
introducing noticeable visual degradation. A key fea-
ture is that this profiling operation only needs to be
performed once, regardless of the number of recipi-
ents whom the video will be sent to.
While the proposed architecture is applicable for
any bit stream watermarking system, we will fo-
cus in the remainder of the article on an algorithm
that operates directly in the H.264 AVC/CABAC bit
stream (Robert and Do¨err, 2013). The profiling mod-
ule essentially generates a sequence of instructions
that will be consumed by the embedding module.
Most instructions can be viewed as a triplet contain-
ing (i) an offset where the modification can be made,
(ii) a 2-bytes word to use to embed a ‘0’, and (iii) a 2-
bytes word to embed a ‘1’. To avoid synchronization
problems, these instructions are finally interleaved at
the H.264 signaling level. An H.264 bit stream is es-
sentially composed of a network abstraction layer unit
(NALU). If a NALU is found to host watermarking
locations, it is preceded by a NALU whose header in-
dicates that it contains supplemental enhancement in-
formation (SEI), namely the instructions required to
watermark the next NALU.
As a result, the embedding module operates
NALU by NALU. If the incoming NALU is a SEI
containing watermarking instructions, the payload of
the NALU is stored in memory. If it is a NALU con-
taining video information, the swaps necessary to em-
bed the bits of the locally stored identifier are per-
formed using the instructions in memory (if there is
any) and the memory is reset afterwards. The local
identifier is loaded at startup in a secure way i.e. it is
impossible to modify the identifier that will be subse-
quently embedded in videos. This identifier can point
to a user/device whose privileges need to be revoked
or the built of a software that needs to be updated. In
some sense, this watermarking system is very similar
to
SequenceKey
proposed by IBM for optical disks
protection (Jin et al., 2004), although it operates at a
much finer granularity.
3.3 Analysis
Figure 2 depicts two alternate media data path im-
plementations. The first one embeds the full video
pipeline, from decryption to rendering, inside the
TEE. In the second one, only the critical path, from
decryption to watermarking is included into the TEE.
The forensic watermarking provides a tracing mecha-
nism in case of leak and subsequent operations, from
decoding to output protection, can be done ‘safely’ in
the REE.
The first solution avoids additional memory trans-
fers and the clear content, compressed or uncom-
pressed, is never accessible from the REE. From a se-
curity and performance perspective, it looks like the
perfect solution. However, it also comes with some
inherent drawbacks. The large number of system fea-
tures in the TEE (secure video driver, decoding, sink
encryption) significantly increases the amount of code
to secure, which exposes to more risks and potential
maintainability issues.
In contrast, the second solution offers a good
trade-off between a good level of security and an
open customizable architecture. The main objective
is to keep the DRM module running in the TEE min-
imal and non CPU intensive. As such, the chosen
bit stream watermarking technology is perfectly in
line with this strategy. Moreover, since the decryp-
tion and watermarking tasks do not require decoding
video content, the proposed DRM module is not tied
to a specific hardware or software codec implementa-
tion or to a system component. The clear separation
SECRYPT2014-InternationalConferenceonSecurityandCryptography
256