[FPGA]

FPGA 디자인 보안[1] : 개요

Neo Park 2012. 3. 4. 15:23

 

높은 개발비가 요구되는 ASIC과 비교할 때, FPGA의 재-프로그래머블 기능은 매우 매력적인 옵션이다. 게다가 FPGA는 32 비트

소프트 프로세서, SERDES, DSP 블록과 높은 성능의 인터페이스 등을 포함한 것처럼, 더욱더 강력한 성능과 기능을 제공한다.

심지어 현재의 저가 FPGA는 높은 수량의 애플리케이션에 적합하다.
FPGA 원격 업데이트 기능과 빠른 개발 시간의 제공으로 타임-투-마켓의 요구를 만족시킬 수 있다.

 

 

 

생산을 위해 외부 용역(필드 업데이트와 펌웨어의 원격재구성 등)은 FPGA의 복제 또는 도용을 가능하게 한다. 몇몇 비즈니스에 대해,

이는 아주 심각한 문제가 된다. 이는 회사의 경쟁적으로 장점이 되는 알고리즘이 착취될 수 있기 때문이다.

그 결과 FPGA 디자인의 보안은 매우 중요하게 고려된다.


FPGA는 두 가지 형태가 있다. 외부 부트 디바이스를 사용하여 구성되는, SRAM기반의 휘발성 FPGA와 외부 디바이스가 필요 없이

구성 메모리가 있는 비휘발성 FPGA가 있다. SRAM FPGA는 휘발성 요소이다. 전원공급이 없어지면 컨피규레이션은 삭제되고,

다시 동작수행 전에 재컨피규레이션이 필요하다. 병렬 Flash 또는 SPI와 같은 외부 메모리에서 JTAG 포트 또는 프로세서를 위해

프로그래밍 될 수 있다. 보안 관점에서 이런 요소들은 약점이 있다. 이는 시스템 파워-업시, FPGA 비트스트림을 획득하기 쉬워진다.


Flash와 안티퓨즈 FPGA는 비휘발성 요소이다. 외부 메모리 디바이스 없이 파워-업시 프로그램이 된다.

이 비휘발성요소들은 높은 수준의 보안을 가지고 있다.

안티퓨즈 FPGA의 두 가지 주요 제한은:

   1) 재 프로그램 되는 것이 아니고,

   2) 메모리 용량과 성능에 제약이 있다.

 

또 다른 SRAM FPGA와 같은 Flash FPGA는 재 프로그램이 가능하다.여러 형태의 저작 침해가 있다.

복제 내부 로직을 알 수없어도 시스템의 동작을 복제 할 수 있다. 저가 SRAMFPGA는 FPGA의 비트스트림을 가로채거나

컨피규레이션복사를 통해, 쉽게 복제 될 수 있다. 리버스 엔지니어링은 저작 침해를 위해 FPGA 로직을 이해하는 것이 요구된다.

비암호화된 비트스트림은 원 디자인의 복제 또는 내용 분석디- 캡 등에 의해 분석될 수 있다.

또 다른 침해 기술은 고객의 요구에서 보다 시스템 생산에서 많이 사용된다.

이런 비도덕적인 하청을 멈추게 하는 것은 없고, 해당 소유자의 이득없이 시장에 과잉 시스템을 판매한다.

침해의 최종 방법 서비스 침해다. 이는 위성 TV 프로그램과 같이 특정 서비스를 위해 시스템 보안을 방해할 때 발생한다.

 

FPGA의 컨피규레이션 데이터를 가로채는 것으로부터 예방하기 위해 보안-비트를 사용하는 것처럼, 다양한 보안을강구하고 있다.

보안-비트와 함께, 컨피규레이션 데이터를 중간에서 참조를 시도 할 시, 모두‘0’으로 읽혀질 것이다.

이런 예방 형식은 모두 FPGA 안에서 찾아 볼 수 있다. 그러나상대적으로 외부에 위치된 부트-업 파일은 쉽게 복사 될 수 있다.

이는 표준 SRAM FPGA의 경우에 해당한다. 이런 보안-비트와 함께 컨피규레이션 데이터가 내부에 있다면(비휘발성 FPGA),

아주 높은 수준의 보안을 제공할 것이다.


안티퓨즈 FPGA가 아닌, SRAM과 Flash FPGA는 전혀 새로운 기능과 여러 애플리케이션을위해 재프로그래밍이 가능하다.

더욱이 원격으로 시스템과 FPGA의 컨피규레이션 파일을 수정하는 것이 가능하다. 그러나 몇몇 애플리케이션을 위해선 장점인

재프로그래밍은 새로운 비트스트림을 얻거나 가로챌 수 있는 보안 약점이 있는게 사실이다.

이것은 전송되는 비트스트림의예방을 통해 극복될 수 있다.


SRAM FPGA보다 좀 더 보안을 고려한다면, 단점이 있음에도 불구하고 플래쉬 FPGA가 된다.

단점은 로직의 양과 메모리 용량의 제한과 I/O 속도와 기능의 제한도 가지고 있다는 점이다.

래티스 반도체는 두 가지 기술의 장점을 조합하여, 이런 단점들을 극복한 새롭고 혁신적인 디바이스를 개발했다.

 

•성능과 메모리 용량을 위한 저가 SRAM
•재컨피규레이션 데이터를 위한 내부 Flash


Lattice의 획기적인 flexiFLASH 기술은 동일 FPGA 내에 SRAM과 플래쉬의 조합을 가능케하며, 이는 아래의 여러 가능성을 제공한다.

•비트스트림 컨피규레이션
•시스템 중단을 최소화하는 원격 재컨피규레이션
•데이터 보호와 락킹