DOI QR코드

DOI QR Code

Implementation of a Logic Extraction Algorithm from a Bitstream Data for a Programmed FPGA

프로그램된 FPGA의 비트스트림 데이터로부터 로직추출 알고리즘 구현

  • 정민영 (충북대학교 전자정보대학 정보통신공학과) ;
  • 이재흠 (충북대학교 전자정보대학 정보통신공학과) ;
  • 장영조 (한국기술교육대학 전자공학과) ;
  • 정은구 (ETRI 부설연구소) ;
  • 조경록 (충북대학교 전자정보대학 정보통신공학과)
  • Received : 2017.12.19
  • Accepted : 2018.01.12
  • Published : 2018.01.28

Abstract

This paper presents a method to resynthesize logic of a programmed FPGA from a bitstream file that is a downloaded file for Xilinx FPGA (Field Programmable Gate Array). It focuses on reconfiguring the LUT (Look Up Table) logic. The bitstream data is compared and analyzed considering various situations and various input variables such as composing other logics using the same netlist or synthesizing the same logic at various positions to find a structure of the bitstream. Based on the analyzed bitstream, we construct a truth table of the LUT by implementing various logic for one LUT. The proposed algorithm extracts the logic of the LUT based on the truth table of the generated LUT and the bitstream. The algorithm determines the input and output pins used to implement the logic in the LUT. As a result, we extract a gate level logic from a bitstream file for the targeted Xillinx FPGA.

본 논문은 Xilinx FPGA(Field Programmable Gate Array)에 다운로드하는 비트스트림으로부터 FPGA의 리소스 중 하나인 LUT(Look Up Table)로직을 재합성하는 방법을 제안한다. 비트스트림과 디바이스 구조는 밀접한 관계가 있기 때문에, 비트스트림을 분석하기 위해서 FPGA디바이스 구조를 분석해야 한다. 동일한 네트리스트를 사용하여 여러 가지 로직을 합성하거나, 위치를 변경하면서 로직을 합성하는 등 다양한 상황, 여러 입력 변수에 대한 비트스트림과 FPGA 디바이스 구조를 비교분석해 비트스트림 구조를 파악한다. 분석된 비트스트림 구조와 다양한 논리함수의 비트스트림을 바탕으로 하나의 LUT에 대한 진리표를 구성하고, 구성된 LUT의 진리표와 제안한 알고리즘을 기반으로 LUT의 로직을 재합성 한다. 제안한 알고리즘은 LUT에 로직을 구현할 때 사용되는 입력 핀과 출력 핀을 결정할 수 있으며, FPGA에 다운로드 되는 비트스트림으로부터 게이트 레벨의 로직회로를 얻을 수 있었다.

Keywords

References

  1. Jean-Baptiste and Eric Rannaud, "From the bitstream to the netlist," FPGA, Vol.8, 2008.
  2. Benz, Florian, Andre Seffrin, and Sorin A. Huss, "Bil: A tool-chain for bitstream reverseengineering," Field programmable logic and applications (FPL), 2012 22nd International Conference on. IEEE, pp.735-738, 2012.
  3. Soni, Ritesh K. Open-Source Bitstream Generation for FPGAs. Diss. Virginia Tech, 2013.
  4. https://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf
  5. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug893-vivado-ide.pdf
  6. A. Moradi, A. Barenghi, T. Kasper, and C. Paar, "On the vulnerability of FPGA bitstream encryption against power analysis attacks: extracting keys from xilinx Virtex-II FPGAs," Proceedings of the 18th ACM conference on Computer and communications security. ACM, 2011.
  7. M. Young, The Technical Writer's Handbook. Mill Valley, CA: University Science, 1989.
  8. J. L. Zhang, W. Z. Wang, X. W. Wang, and Z. H. Xia, "Enhancing Security of FPGA-Based Embedded Systems with Combinational Logic Binding," Journal of Computer Science and Technology, Vol.32, No.2, pp.329-339, 2017. https://doi.org/10.1007/s11390-017-1700-8
  9. Y. Hori, A. Satoh, H. Sakane, and K. Toda, "Bitstream encryption and authentication with AES-GCM in dynamically reconfigurable systems," Field Programmable Logic and Applications, 2008. FPL 2008. International Conference on. IEEE, 2008.