DOI QR코드

DOI QR Code

Annotation-guided Code Partitioning Compiler for Homomorphic Encryption Program

지시문을 활용한 동형암호 프로그램 코드 분할 컴파일러

  • Dongkwan Kim ;
  • Yongwoo Lee ;
  • Seonyoung Cheon ;
  • Heelim Choi ;
  • Jaeho Lee ;
  • Hoyun Youm ;
  • Hanjun Kim
  • 김동관 (연세대학교 전기전자공학과) ;
  • 이용우 (연세대학교 전기전자공학과) ;
  • 천선영 (연세대학교 전기전자공학과) ;
  • 최희림 (연세대학교 전기전자공학과) ;
  • 이재호 (연세대학교 전기전자공학과) ;
  • 염호윤 (연세대학교 전기전자공학과) ;
  • 김한준 (연세대학교 전기전자공학과)
  • Received : 2024.05.13
  • Accepted : 2024.06.02
  • Published : 2024.07.31

Abstract

Despite its wide application, cloud computing raises privacy leakage concerns because users should send their private data to the cloud. Homomorphic encryption (HE) can resolve the concerns by allowing cloud servers to compute on encrypted data without decryption. However, due to the huge computation overhead of HE, simply executing an entire cloud program with HE causes significant computation. Manually partitioning the program and applying HE only to the partitioned program for the cloud can reduce the computation overhead. However, the manual code partitioning and HE-transformation are time-consuming and error-prone. This work proposes a new homomorphic encryption enabled annotation-guided code partitioning compiler, called Heapa, for privacy preserving cloud computing. Heapa allows programmers to annotate a program about the code region for cloud computing. Then, Heapa analyzes the annotated program, makes a partition plan with a variable list that requires communication and encryption, and generates a homomorphic encryptionenabled partitioned programs. Moreover, Heapa provides not only two region-level partitioning annotations, but also two instruction-level annotations, thus enabling a fine-grained partitioning and achieving better performance. For six machine learning and deep learning applications, Heapa achieves a 3.61 times geomean performance speedup compared to the non-partitioned cloud computing scheme.

클라우드 컴퓨팅이 널리 사용되면서, 데이터 유출에 대한 관심도 같이 증가하고 있다. 동형암호는 데이터를 암호화된 채로 클라우드 서버에서 연산을 수행함으로써 해당 문제를 해결할 수 있다. 그러나, 프로그램 전체를 동형암호로 연산하는 것은 큰 오버헤드를 가지고 있다. 프로그램의 일부분만 동형암호를 사용하는 것은 오버헤드를 줄일 수 있지만, 사용자가 직접 프로그램의 코드를 분할하는 것은 시간이 오래 걸리는 작업이고 또한 에러를 발생시킬 수 있다. 이 연구는 지시문을 활용하여 동형암호 프로그램의 코드를 분할하는 컴파일러인 Heapa를 제시하였다. 사용자가 프로그램에 클라우드 컴퓨팅 영역에 대한 코드를 지시문으로 삽입하면 Heapa는 클라우드 서버와 호스트사이의 통신 및 암호화를 적용시킨 계획을 세우고, 분할된 프로그램을 생성한다. Heapa는 영역 단위의 지시문뿐만 아니라 연산 단위의 지시문도 사용가능하여 프로그램을 더 세밀한 단계로 분할 가능하다. 이 연구에선 6개의 머신러닝 및 딥러닝 어플리케이션을 통해 컴파일러의 성능을 측정했으며, Heapa는 기존 동형암호를 활용한 클라우드 컴퓨팅보다 3.61배 개선된 성능을 보여주었다.

Keywords

Acknowledgement

이 논문은 2024년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임(No. RS-2020-II201361, 인공지능대학원지원(연세대학교); No. RS-2022-II220050, 데이터 플로우 구조 기반 PIM의 실행 및 프로그래밍 모델 개발; No. RS-2023-00277060, 개방형 엣지 AI 반도체 설계 및 SW 플랫폼 기술개발; No. RS-2024-00395134, 차세대 AI 반도체를 위한 DPU 중심의 데이터센터 아키텍처; No. RS-2024-00358765, 다양한 가속기에 이식 가능한 동형암호 컴파일러 시스템 개발). 또한 이 논문은 삼성전자의 지원을 받아 수행된 연구임.

References

  1. Z. Brakerski, C. Gentry, and V. Vaikuntanathan, "(Leveled) Fully Homomorphic Encryption without Bootstrapping," in Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, pp.309-325, 2012.
  2. J. Cheon, K. Han, A. Kim, M. Kim, and Y. Song, "A full RNS variant of approximate homomorphic encryption," in Selected Areas in Cryptography, 2019.
  3. J. Cheon, A. Kim, M. Kim, and Y. Song, "Homomorphic encryption for arithmetic of approximate numbers," in Advances in Cryptology-Asiacrypt, pp.409-437, 2017.
  4. I. Chillotti, N. Gama, M. Georgieva, and M. Izabachene, "TFHE: Fast fully homomorphic encryption over the torus," in Journal of Cryptology, pp.34-91, 2020.
  5. J. Fan and F. Vercauteren, "Somewhat practical fully homomorphic encryption," in Cryptology ePrint, 2012.
  6. C. Gentry, "Fully homomorphic encryption using ideal lattices," in Proceedings of the Forty-First Annual ACM Symposium on Theory of Computing, pp.169-178, 2009.
  7. N. Giang, M. Blackstock, R. Lea, and V. Leung, "Developing IoT applications in the fog: A distributed dataflow approach," in Proceedings of 2015 International Conference on the Internet of Things, 2015.
  8. N. Giang, M. Blackstock, R. Lea, and V. Leung, "Distributed data flow: A programming model for the crowdsourced internet of things," in Proceedings of the Doctoral Symposium of the 16th International Middleware Conference, 2015.
  9. K. Hong, D. Lillethun, U. Ramachandran, B. Ottenwalder, and B. Koldehofe, "Mobile fog: A programming model for large-scale applications on the internet of things," in Proceedings of the Second ACM SIGCOMM Workshop on Mobile Cloud Computing, 2013.
  10. R. Newton, S. Toledo, L. Girod, H. Balakrishnan, and S. Madden, "Wishbone: Profile-based partitioning for sensornet application," in Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation, 2009.
  11. T. Szydlo, R. Brzoza-Woch, J. Sendorek, M. Windak, and C. Gniady, "Flow-based programming for IoT leveraging fog computing," in IEEE 26th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2017.
  12. R. Dathathri, B. Kostova, O. Saarikivi, W. Dai, K. Laine, and M. Musuvath, "EVA: An encrypted vector arithmetic language and compiler for efficient homomorphic computation," in Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, 2020.
  13. Y. Lee, S. Cheon, D. Kim, D. Lee, and H. Kim, "ELASM: Error-latency-aware scale management for fully homomorphic encryption," in 32nd USENIX Security Symposium, 2023.
  14. Y. Lee, S. Heo, S. Cheon, S. Jeong, C. Kim, E. Kim, D. Lee, and H. Kim, "HECATE: Performance-aware scale optimization for homomorphic encryption compiler," in 2022 IEEE/ACM International Symposium on Code Generation and Optimization, pp.193-204, 2022.
  15. A. Viand, P. Jattke, M. Haller, and A. Hithnawi, "HECO: Fully homomorphic encryption compiler," in 32nd USENIX Security Symposium, 2023.
  16. J. Duchi, M. Jordan, and M. Wainwright, " Local privacy and statistical minimax rates," in 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, 2013.
  17. C. Dwork, K. Kenthapadi, F. McSherry, I. Mironov, and M. Naor, "Our data, ourselves: Privacy via distributed noise generation," in Advances in Cryptology-Asiacrypt, 2006.
  18. N. Holohan, D. Leith, and O. Mason, "Optimal differentially private mechanisms for randomised response," in IEEE Transactions on Information Forensics and Security, 2017.
  19. P. Kairouz, K. Bonawitz, and D. Ramage, "Discrete distribution estimatino under local privacy," in International Conference on Machine Learning, pp.2436-2444, 2016.
  20. V. Kolesnikov and T. Schneider, "Improved garbled circuit: Free XOR gates and applications," in Proceedings of the 35th International Colloquium on Automata, Languages and Programming, pp.486-498, 2008.
  21. A. Shamir, "How to Share a Secret," in Commun, 1979.
  22. A. Yao, "How to generate and exchange secrets," in 27th Annual Symposium on Foundations of Computer Science, 1986.
  23. A. Choudhury, J. Loftus, E. Orsini, A. Patra, and N. Smart, "Between a rock and a hard place: Interpolating between MPC and FHE," in Advances in Cryptology-Asiacrypt, 2013.
  24. N. Cao, C. Wang, M. Li, K. Ren, and W. Lou, "Privacypreserving multi-keyword ranked search over encrypted cloud data" in IEEE Transactions on Parallel and Distributed Systems, pp.222-233, 2014.
  25. Z. Mo, Y. Qiao, and S. Chen, "Two-Party Fine-Grained Assured Deletion of Outsourced Data in Cloud Systems," in 2014 IEEE 34th International Conference on Distributed Computing Systems, 2014.
  26. W. Sun, B. Wang, N. Cao, M. Li, W. Lou, Y. Hou, and H. Li, "Privacy-preserving multi-keyword text search in the cloud supporting similarity-based ranking," in Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and Communications Security, 2013.
  27. Y. Tang, P. Lee, J. Lui, and R. Perlman, "Secure overlay cloud storage with access control and assured deletion," in IEEE Transactions on Dependable and Secure Computing, 2012.
  28. Z. Xia, X. Wang, X. Sun, and Q. Wang, "A secure and dynamic multi-keyword ranked search scheme over encrypted cloud data," in IEEE Transactions on Parallel and Distributed Systems, pp.340-352, 2016.
  29. SEAL, Microsoft SEAL (release 3.5.9), 2020.
  30. J. Kim, M. Lee, A. Yun, and J. Cheon, "CRT-based fully homomorphic encryption over the integers," in Cryptology ePrint, 2013.