In light of the possible attacks in the graphics pipeline as described
in the previous section, we have considered a number of approaches
for sharing and rendering protected 3D graphics.
Software-only rendering. A 3D graphics viewing system that does
not make use of hardware acceleration may be easier to protect from
the application programmer’s point of view. Displaying graphics
with a GPU can require transferring the graphics data in precisely
known and open formats, through a graphics driver and hardware
path that is often out of the programmer’s control. A custom 3D
viewing application with software rendering allows the 3D content
distributor to encrypt or obfuscate the data in a specific manner, all
the way through the graphics pipeline until display.
Hybrid hardware/software rendering. Hybrid hardware and software
rendering schemes can be used to take at least some advantage
of hardware accelerated rendering, while benefiting from software
rendering’s protections as described above. In one such scheme, a
small but critically important portion of a protected model’s geometry
(such as the nose of a face) is rendered in software, while the
rest of the model is rendered normally with the accelerated GPU
hardware. This technique serves as a deterrent to attackers tampering
with the graphics drivers or hardware path, but the two-phase
drawing with readback of the color and depth buffers can incur a
696