title: Homomorphic-Encrypted Volume Rendering
Creators: name: Mazza, Sebastian
Publisher: name: TU Wien
Year: 2021
Subjects: subject: Volume Rendering
subject: Transfer Function
subject: Homomorphic-Encryption
subject: Paillier
subject: Big-Integer
subject: GPU

description: Rechenintensive Aufgaben werden oft in Rechenzentren verarbeitet und auch die Echzeit-Visualisierung folgt diesem Trend. Allerdings erfordern einige Rendering-Aufgaben ein Höchstmaß an Sicherheit, damit niemand außer dem Eigentümer die vertraulichen Informationen lesen oder sehen kann. Wir präsentieren in dieser Arbeit einen Ansatz zum direkten Rendern von Volumen-Datensätzen, bei dem die für das Rendern notwendigen Berechnungen direkt auf den verschlüsselten Volumendaten mithilfe des homomorphen Paillier-Verschlüsselungsalgorithmus durchgeführt werden. Dieser Ansatz stellt sicher, dass die Volumendaten und die gerenderten Bilder für den Server, der das Rendering ausführt, nicht interpretierbar sind. Unsere Volume-Rendering-Pipeline führt neuartige Ansätze zur Komposition, Interpolation und Transparenz-Modulation von verschlüsselten Dichte-Informationen ein, und zeigt eine Möglichkeit zum einfachen Design von Transferfunktionen auf. Dabei gewährleisten all diese neuen Routinen ein Höchstmaß an Datenschutz. Wir präsentieren eine Analyse für den Leistungs- als auch Speicher-Overhead, der mit unserem den Datenschutz gewährleistenden Rendering-Ansatz verbunden ist. Unser Ansatz ist offen und sicher durch sein algorithmisches Design und versucht nicht Sicherheit durch das Verbergen von Implementierungsdetails vorzutäuschen. Die Eigentümer der Daten müssen lediglich ihren privaten Schlüssel geheim halten, um die Vertraulichkeit ihrer Volumendaten und der gerenderten Bilder zu gewährleisten. Unseres Wissens nach repräsentiert diese Arbeit den ersten Ansatz, der den Schutz der Daten beim entfernten Rendern von Volumendaten garantiert, auch wenn keiner der involvierten Server als vertrauenswürdig betrachtet wird. Selbst wenn der Server kompromittiert ist, ist es für Fremde nicht möglich, Zugang zu sensiblen Daten zu erlangen. Darüber hinaus haben wir eine Big-Integer (Zahlen die länger als native Maschinenwörter sind) Bibliothek für die Vulkan-Grafikpipeline entwickelt. Diese ermöglicht das Rendern mit sicher verschlüsselten Daten auf der GPU. Die entwickelte Bibliothek unterstützt die Berechnungen gängiger mathematischer Operationen wie Addition, Subtraktion, Multiplikation und Division. Weiters werden spezielle Operationen für die asymmetrische Kryptographie, wie zum Beispiel die modulare Potenzierung mit Montgomery-Reduktion, unterstützt. Außerdem zeigen wir noch ein Testframework, das wir zum automatisierten Testen von Big-Integer Berechnungen auf der GPU entwickelt haben.
description: Computationally demanding tasks are typically calculated in dedicated data centers, and real-time visualizations also follow this trend. Some rendering tasks, however, require the highest level of confidentiality so that no other party, besides the owner, can read or see the sensitive data. Here we present a direct volume rendering approach that performs volume rendering directly on encrypted volume data by using the homomorphic Paillier encryption algorithm. This approach ensures that the volume data and rendered image are uninterpretable to the rendering server. Our volume rendering pipeline introduces novel approaches for encrypted-data compositing, interpolation, and opacity modulation, as well as simple transfer function design, where each of these routines maintains the highest level of privacy. We present performance and memory overhead analysis that is associated with our privacy-preserving scheme. Our approach is open and secure by design, as opposed to secure through obscurity. Owners of the data only have to keep their secure key confidential to guarantee the privacy of their volume data and the rendered images. Our work is, to our knowledge, the first privacy-preserving remote volume-rendering approach that does not require that any server involved be trustworthy; even in cases when the server is compromised, no sensitive data will be leaked to a foreign party. Furthermore, we developed a big-integer (multiple-precision, or multiple word integer) library for Vulkan graphics pipeline. It facilitates the rendering of securely encrypted data on the GPU. It supports the calculation of common mathematical operations like addition, subtraction, multiplication, division. Moreover, it supports specialized operations for asymmetric cryptography like modular exponentiation with Montgomery reduction. We also introduce a testing framework for Vulkan that allows the automated testing of big-integer computations on the GPU.