On-the-Fly Memory Programming for Largely Unmodified Cryptographic Applications
Alice Yeh
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2024-130
May 17, 2024
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-130.pdf
Secure computation (SC) is a family of cryptographic primitives with the potential to enable transformative applications, such as secure sharing of patient data and fraud detection across financial institutions. Unfortunately, SC's high memory overhead makes it difficult to realize such applications in practice. To address this overhead, recent work has proposed memory programming, a technique that leverages the determinism and obliviousness of SC's memory access patterns to efficiently perform demand paging for SC. However, state-of-the-art memory programming requires application and library developers to rewrite their code into a special DSL or framework, so that the system has the necessary visibility into the program's memory accesses.
We propose Osprey, a system that enables memory programming without requiring significant code changes. Osprey integrates with SC libraries with minimal code changes, and in many cases, requires no modifications at all to applications written against those libraries. We adapt three cryptographic frameworks to our system, all of which require code modifications that account for less than 1.1% of library code for integration. Evaluating our system on two distinct and data-intensive SC workloads shows reductions in page faults and context switches compared to classical OS paging. We additionally observe favorable timing performance for one workload and opportunities for optimizations from the other.
Advisors: Raluca Ada Popa
BibTeX citation:
@mastersthesis{Yeh:EECS-2024-130, Author= {Yeh, Alice}, Title= {On-the-Fly Memory Programming for Largely Unmodified Cryptographic Applications}, School= {EECS Department, University of California, Berkeley}, Year= {2024}, Month= {May}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-130.html}, Number= {UCB/EECS-2024-130}, Abstract= {Secure computation (SC) is a family of cryptographic primitives with the potential to enable transformative applications, such as secure sharing of patient data and fraud detection across financial institutions. Unfortunately, SC's high memory overhead makes it difficult to realize such applications in practice. To address this overhead, recent work has proposed memory programming, a technique that leverages the determinism and obliviousness of SC's memory access patterns to efficiently perform demand paging for SC. However, state-of-the-art memory programming requires application and library developers to rewrite their code into a special DSL or framework, so that the system has the necessary visibility into the program's memory accesses. We propose Osprey, a system that enables memory programming without requiring significant code changes. Osprey integrates with SC libraries with minimal code changes, and in many cases, requires no modifications at all to applications written against those libraries. We adapt three cryptographic frameworks to our system, all of which require code modifications that account for less than 1.1% of library code for integration. Evaluating our system on two distinct and data-intensive SC workloads shows reductions in page faults and context switches compared to classical OS paging. We additionally observe favorable timing performance for one workload and opportunities for optimizations from the other.}, }
EndNote citation:
%0 Thesis %A Yeh, Alice %T On-the-Fly Memory Programming for Largely Unmodified Cryptographic Applications %I EECS Department, University of California, Berkeley %D 2024 %8 May 17 %@ UCB/EECS-2024-130 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-130.html %F Yeh:EECS-2024-130