KR20110083592A - 프로그래머블 로직 회로에 대한 구성 파일의 암호 해독으로부터의 보호 방법 및 그 방법의 구현 회로 - Google Patents

프로그래머블 로직 회로에 대한 구성 파일의 암호 해독으로부터의 보호 방법 및 그 방법의 구현 회로

Info

Publication number
KR20110083592A
KR20110083592A KR1020117003338A KR20117003338A KR20110083592A KR 20110083592 A KR20110083592 A KR 20110083592A KR 1020117003338 A KR1020117003338 A KR 1020117003338A KR 20117003338 A KR20117003338 A KR 20117003338A KR 20110083592 A KR20110083592 A KR 20110083592A
Authority
KR
South Korea
Prior art keywords
programmable logic
logic circuit
decryption
programmable
decryption module
Prior art date
Application number
KR1020117003338A
Other languages
English (en)
Inventor
실뱅 귀레
쟝-뤽 당제
로랑 소바쥬
Original Assignee
앵스띠뛰 텔레콩-텔레콩 파리 테끄
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 앵스띠뛰 텔레콩-텔레콩 파리 테끄 filed Critical 앵스띠뛰 텔레콩-텔레콩 파리 테끄
Publication of KR20110083592A publication Critical patent/KR20110083592A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

본 발명의 청구물은 프로그래머블 로직 회로 (100, 200) 의 보호 방법으로서, 프로그래머블 로직 회로의 프로그래머블 자원들의 구성에 이용되는 데이터 파일(들) 은 암호화된 후에 (112) 비휘발성 메모리 (107, 207) 에 저장되고, 프로그래머블 로직 회로 내부의 암호 해독 모듈 (103, 203) 은 프로그래머블 로직 회로에 저장된 비밀 키 (102, 202) 를 이용함으로써 데이터 파일(들) 의 암호 해독을 수행하며, 그 암호 해독 모듈은 적어도 하나의 역탐지 기술을 구현함으로써 암호 해독 동작 동안에 비밀 키를 획득하기 위한 공격들에 대하여 보호되는 것을 특징으로 한다.
본 발명의 다른 청구물은 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 프로그래머블 로직 회로의 보호 방법을 이용함으로써 암호 해독 동작 동안에 관찰 및/또는 오류 주입 공격들에 대하여 보호되는 FPGA 타입의 프로그래머블 로직 회로이다.

Description

프로그래머블 로직 회로에 대한 구성 파일의 암호 해독으로부터의 보호 방법 및 그 방법의 구현 회로{METHOD OF PROTECTING CONFIGURATION FILES FOR PROGRAMMABLE LOGIC CIRCUITS FROM DECRYPTION AND CIRCUIT IMPLEMENTING THE METHOD}
본 발명은 FPGA 타입의 프로그래머블 로직 회로들에 대한 구성 파일들의 암호 해독을 보호하는 방법, 및 그 방법을 구현하는 회로에 관한 것이다.
본 발명은 특히 프로그래머블 로직 회로들의 보안 및 전자 분야에 적용한다.
전자 컴포넌트 시장의 경제 모델은 가치 변환을 경험한 지 10년이 넘었다. 따라서, 예를 들어 VHDL 또는 베릴로그 (Verilog) 언어를 이용하여 생성된 하드웨어의 고레벨 기술 (description) 은 가장 전략적인 분야이고, 그 결과, 위조에 대비해 그 고레벨 기술을 보호할 필요가 있다.
또한, 일부 회로들은 비밀 구현들을 내재하였다. 위성 텔레비전과 같은 컨텐츠 유통 시장 세분화를 갖는 경우 또는 기밀 알고리즘들 및 프로토콜들을 갖는 군대가 그러하다.
따라서, 저작권 침해에 대한 다툼에 관한 것이기 때문에, 회로들의 리버스 엔지니어링 (reverse engineering) 을 불가능하게 하거나, 또는 적어도 어렵게 할 필요가 있다. ASIC 회로들과 같은 고객 주문에 의해 설계된 제품들에 있어서, 리버스 엔지니어링은 현재 나노미터급의 특징적인 치수가 감소함에 따라 점점 어려워지고 있다. 그러나, 높은 전략적 가치를 갖거나, 또는 기밀 데이터를 저장/처리하는 민감한 부품들은, 예를 들어:
- 직접적인 현미경 관찰을 방지하는 금속층에 의한 차폐;
- 자원들의 시각적 식별을 복잡하게 하는 로직의 배치;
- 임의의 식별 자원들을 해석하는 것을 가능하게 하기 위해 쉬운 암호 해독 수단을 요구하는 데이터 버스들의 스크램블링
과 같은 애드 혹 방법에 의해 여전히 보호되고 있다.
반대로, 예를 들어, FPGA 와 같은 재구성 가능한 컴포넌트들에 있어서, 보호되어야 하는 정보는 통상적으로 용어 "비트 스트림" 으로 지칭되는 구성 파일의 형태로 이용가능하다. 일부 FPGA 계열들에 있어서, 이러한 구성 파일은, 비휘발성 메모리, 예를 들어, 솔더링되어 완전히 판독 가능하기 때문에 용이하게 추출될 수 있는 PROM에 저장된다. 이러한 메모리는 FPGA 제품 설계자들의 가치 체인 상에 존재하지 않기 때문에, 그 비용을 가능한 한 저렴하게 하는 것이 필수이다. 그 결과, 이들 컴포넌트들은 통상적으로 보안 보호를 갖고 있지 않다. 다른 FPGA 계열들에 있어서, 구성 파일은 액세스하는 것을 더욱 복잡하게 하는 FPGA 매트릭스 내에 직접 저장된다.
그러나, 예를 들어 시프트 레지스터를 사용함으로써, 대기하는 수단 그리고 이따금 이러한 파일을 판독하는 수단도 존재한다. FPGA 는 특히 그들의 구성 파일을 검색하는 것을 겨냥한 공격들에 취약하기 때문에, 대형 제조업체들은 회로에 통합된 역탐지 (countermeasure) 솔루션들을 제공한다.
현재의 구현들에 있어서는, 예를 들어, 3DES 및 AES 알고리즘들과 같은 대칭 방법들로 구성 파일을 암호화함으로써 그 구성 파일의 판독이 어려워진다. 또한, 프로그래머블 로직 회로의 칩 상에서 암호 해독이 통상적으로 수행되기 때문에, 상기 메모리와 프로그래머블 로직 회로 사이의 통신도 보호된다.
그것의 물리적 구현에 대한 공격에 대하여 암호 해독 로직 동작 자체가 보호되지는 않는다. 따라서, 스마트 공격은 잠재적으로 암호화 키를 검색할 수 있어서 구성 파일 내에 포함된 데이터에 액세스할 수 있다.
이러한 암호화 키를 검색하기 위해, 두가지 계열의 공격들, 즉, 관찰 공격들 및 교란 또는 오류 주입 공격들이 구현될 수 있다.
관찰 공격들이라고 지칭되는 제 1 계열의 공격들은, 암호화를 다루는 회로의 순시 전기 소모가, 처리되는 데이터에 특히 의존한다는 사실을 이용한다. 몇가지 타입의 관찰 공격들이 공지되어 있다. SPA (Simple Power Analysis; 단순 전력 분석) 는 중앙 유닛에 의해 실행된 동작들을, 암호 동작 동안에 측정된 그의 전기 소모의 측정값에 기초하여 구별하려고 시도한다. 차동 소모 분석 DPA (Differential Power Analysis; 차동 전력 분석) 는 랜덤한 메시지들에 대해 고정 키를 갖는 암호 동작들 동안에 수행된 다수의 전기 소모 측정값에 대한 통계 동작들을 이용하여 키의 제한된 부분에 관해 이루어진 가정을 유효화 또는 무효화한다. "템플릿" 타입 공격들은, 제 1 페이즈 (phase) 에서, 공격받고 있는 디바이스와 동일한 디바이스가 어떠한 비밀도 포함하고 있지 않은 사실과는 별개로, 이 동일한 디바이스를 이용하여, 키의 제한된 부분의 값으로 인덱싱된 소모 모델들을 구성하고, 제 2 페이즈에서는, 공격받고 있는 디바이스의 몇몇 소모 측정값들을 이용하여, 측정된 소모량이 가장 근접한 모델을 결정하여 이 서브 키의 값을 결정한다. 또한, 도체 내의 임의의 전류 흐름은 전자기장을 발생시키고, 그것의 측정값은 특히 DPA 에 의한 전기 소모에 의존하는 공격들과 대체로 동일한 공격들을 일으킬 수도 있다.
교란 또는 오류 주입 공격들이라고 지칭되는 제 2 계열의 공격들은, 예를 들어, 전력 공급시 또는 전자기장, 레이저 발사 등에 의한 온도 또는 전압 변동, 강한 불요파 신호 (spurious signal) 에 의해 교란을 시스템에 도입한다. 발생된 오류들은, 공격받고 있는 회로의 노드의 값이 변경되도록 한다. 오류들은 실리콘에 대한 영향에 따라 영속적 또는 일시적일 수도 있고, 단일 또는 다수일 수도 있다. 일시적 오류 주입의 유연성은 다수의 테스트를 행하여 성공의 기회를 증가시킴으로써 더욱 강력한 공격들을 일으킨다. 단일 오류에 의한 공격들은 공격 절차를 단순화한다. 오류 기반 공격들은 에러가 없는 (non-errored) 암호화 출력과 오류를 가진 출력 사이의 차동 분석에 기초한다.
프로그래머블 컴포넌트들의 구성 파일들에 대한 보안 모델은 실패하고 있고, 즉, 그 구성 파일을 포함하는 비휘발성 메모리에 대한 물리적 공격들은 암호화로 대응하지만, 프로그래머블 컴포넌트에 대한 암호 해독 회로는 보호되지 않아서 물리적 공격을 받을 수도 있다. 따라서, 예를 들어, 구성 클록에 대한 트리거를 이용하고 순시 자기 신호 (magnetic signature) 를 측정함으로써, 구성 파일의 데이터 블록들의 암호화를 잠재적으로 분리시키는 것이 가능하다. 이러한 분석은 암호화 키를 리어셈블링하는 것을 가능하게 하여, 구성 파일을 암호 해독한다.
본 발명의 일 목적은 특히 상술한 결점을 극복하기 위한 것이다.
이를 위해, 본 발명의 청구물은 프로그래머블 로직 회로를 보호하는 방법이다. 프로그래머블 로직 회로의 프로그래머블 자원들의 구성에 이용되는 데이터 파일(들) 은 암호화된 후에 비휘발성 메모리에 저장되고, 프로그래머블 로직 회로 내부의 암호 해독 모듈은 프로그래머블 로직 회로에 저장된 비밀 키를 이용함으로써 데이터 파일(들) 의 암호 해독을 수행하며, 그 암호 해독 모듈은 차동 로직에 의한 보호, 마스킹에 의한 보호 및 오류 검출에 의한 보호를 포함하는 적어도 하나의 역탐지 기술을 구현함으로써 암호 해독 동작 동안에 비밀 키를 획득하기 위한 은닉 채널 공격들 또는 오류 기반 공격들에 대하여 보호된다.
프로그래머블 로직 회로는, 예를 들어, FPGA 타입이다.
암호 해독 모듈은, 예를 들어, 프로그래머블 로직 회로 내부의 전용 로직 회로일 수도 있고 그렇지 않으면 프로그래머블 로직 회로의 구성 가능한 자원들을 프로그래밍함으로써 인스턴스화될 수도 있다.
본 발명의 다른 청구물은 FPGA 타입의 프로그래머블 로직 회로로서, 프로그래머블 로직 회로 내부의 적어도 하나의 암호 해독 모듈을 포함하고, 그 암호 해독 모듈은, 프로그래머블 로직 회로에 저장된 비밀 키를 이용함으로써 프로그래머블 로직 회로의 프로그래머블 자원들에 대한 구성 파일(들) 의 암호 해독을 수행하며, 그 암호 해독 모듈은 청구항 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 프로그래머블 로직 회로의 보호 방법을 이용함으로써 암호 해독 동작 동안에 관찰 및/또는 오류 주입 공격들에 대하여 보호되는 것을 특징으로 한다.
본 발명의 다른 특징들 및 이점들은 첨부한 도면을 참조하여, 예시적이나 비제한적인 예로서 주어진 이하의 설명으로부터 명백해질 것이다.
도 1 은 FPGA 타입의 프로그래머블 로직 회로를 구성하는 예시적인 절차를 예시한다.
도 2 는 본 발명에 따라 암호 해독 회로가 보호되는 방식 및 FPGA 타입의 프로그래머블 로직 회로를 초기화하는 예시적인 절차를 예시한다.
도 1 은 FPGA 타입의 프로그래머블 로직 회로를 구성하는 예시적인 절차를 예시한다. 이 예에서, FPGA (100) 는 프로그래머블 자원 영역 (101) 으로 구성되어 있다. 일단 프로그래밍되면, 상기 영역은 설계자에 의해 타겟팅된 애플리케이션에 요구되는 함수들을 생성하는 데에 이용될 수 있다. 프로그래머블 자원 영역은 특히 구성 가능한 로직 블록들 및 이들 블록들 간의 상호 접속된 자원들로 구성되어 있다. 프로그래머블 자원 영역은 또한 통상적으로 입/출력 블록 (IOB) 들이라고 지칭되는 것을 포함한다. 이들 블록들은 프로그래밍에 의해 상호 접속되어, IOB들이 FPGA 의 입/출력 포트 (118) 의 사용을 정의하는 것을 가능하게 한다. FPGA (100) 는 특히 구성 파일을 저장하는 데에 사용되는 RAM 휘발성 메모리 (104) 를 포함한다. 구성 로직 모듈 (105) 은 구성 파일에서의 휘발성 메모리 (104) 에 포함된 프로그램에 따라 로직 블록들과 IOB들을 서로 접속시키는 데에 사용된다. FPGA (100) 는 구성 파일을 암호 해독하는 데에 사용될 수 있는 암호 해독 모듈 (103) 및 암호 해독에 요구되는 키 (102) 를 포함하는 비휘발성 메모리의 영역을 포함한다. 예를 들어 PROM 타입의 비휘발성 메모리 (107) 는 암호화된 구성 파일을 저장하는 데에 사용된다. 따라서, 시스템이 파워 다운되는 경우라도, 구성 정보는 메모리에 유지되어 임의의 공격자들에 대하여 보호된다.
시스템의 설계 동안에, FPGA 회로는 타겟팅된 애플리케이션에 따라 하나 이상의 함수를 생성하도록 프로그래밍된다. 이를 위해, 설계자는, 예를 들어, 컴퓨터 지원 설계 소프트웨어 (CAO) 를 갖는 컴퓨터 (108) 를 이용한다. 설계자는 VHDL 언어와 같은 고레벨 하드웨어 기술 언어를 이용하여 상기 함수 또는 함수들 (110) 을 프로그래밍한다. 대응하는 프로그램들 및 데이터 (111) 로 인해 컴퓨터의 메모리에 저장된 구성 파일이 발생된다. 설계자는 상기 구성 파일을 보호하도록 암호화 키 K (109) 를 정의하는 옵션을 갖는다. 이 키는 파라미터 (113) 로서 입력된다. 구성 파일에 포함된 구성 데이터 (111) 는 키 K (113) 를 이용하여, 예를 들어, AES 또는 3DES 와 같은 암호화 알고리즘 (112) 을 이용하여 암호화된다. 그 후에, 암호화된 구성 파일은 비휘발성 메모리 (107) 에 배치된다 (116). 다른 방법으로는 입력 포트 (114) 를 통해 FPGA 내부의 휘발성 메모리 (104) 에 암호화된 구성 파일을 직접 배치하는 것이며 (117), 예를 들어 시스템 테스트 목적으로 그렇게 한다. 프로그래머블 자원 영역 (101) 을 구성하기 위해, 구성 파일이 FPGA 에 의해 암호 해독될 필요가 있다. 이를 위해, 키 K (102) 가, 컴포넌트 내부에 저장되고 FPGA 의 포트 (106) 를 통해 설계 페이즈 동안에 송신된다 (115).
도 2 는 본 발명에 따라 암호 해독 회로가 보호되는 방식 및 FPGA 타입의 프로그래머블 로직 회로를 초기화하는 예시적인 절차를 예시한다. 상술한 바와 같이, 암호화된 구성 파일은 통상적으로 FPGA (200) 외부의 비휘발성 메모리 (207) 에 저장된다. 시스템이 파워 업되면, 암호화된 구성 파일은 다운로드되어 (208), 예를 들어, 입력 포트 (213) 를 통해 FPGA 내부의 암호 해독 모듈 (203) 에 대한 입력으로서 제공된다. 키 K (202) 가 암호 해독 모듈 (203) 에 의해 이용되어 구성 파일을 암호 해독하고 (209), 상기 파일이 휘발성 메모리 (205) 내부로 송신된다 (210). 그 후에, 구성 파일이 구성 로직 모듈 (206) 에 의해 이용되어 (212) 프로그래머블 자원 영역 (201) 을 구성한다 (211).
상술한 초기화 절차는 시스템이 파워 업될 때마다 시스템적으로 트리거된다. FPGA 에 저장된 키 K (202) 를 식별한 후에 구성 파일을 암호 해독하는 것이 목적인 공격자는, 시스템의 초기화 동안에 암호 해독 모듈 (203) 의 동작을 연구하기 위해 선택할 수도 있다. 이 초기화는, 예를 들어, ROM (207) 과 FPGA (200) 사이의 통신 프로토콜에 의해 사용된 동기 클록을 사용함으로써 공격자에 의해 모니터링된다. 그 후에, 암호 해독 모듈은 관찰 또는 교란 주입에 의해 공격받는다 (204).
이들 공격들 (204) 로부터 보호되도록, 암호 해독 모듈 (203) 은 다양한 역탐지 방법들을 구현할 수도 있다.
예를 들어, 암호 해독 모듈은 차동 로직을 이용함으로써, 특히 DPA 타입의 관찰 공격들에 대하여 보호된다. 가장 일반적인 차동 로직들 중에서, 특히:
- "Logic Level Design Methodology for a Secure DPA Resistant ASIC or FPGA Implementation" (date, '04, pages 246-251, February 2004, Paris) 라는 제목의 K. Tiri 및 I. Verbauwhede 에 의한 문헌에 기재된 WDDL (Wave Dynamic Differential Logic). 이 경우, 암호 해독 모듈은 모듈의 소모를 실질적으로 일정하게 하기 위해 상보성 로직에 의해 동작하는 2 개의 듀얼 로직 어레이들로 구성된다;
- "CMOS structures suitable for secured Hardware" (date, '04, pages 1414-1415, February 2004, Paris) 라는 제목의 S. Guilley, P. Hoogvorst, Y. Mathieu, R. Pacalet, J. Provost 에 의한 문헌에 기재된 SECLIB (Secured Library);
- "A dynamic and Differential CMOS Logic with Signal Independant Power Consumption to Withstand Differential Power Analysis on Smart Cards" (ESSCIRC, pages 403-406, September 2002) 라는 제목의 K. Tiri, M. Akmal 및 I. Verbauwhede 에 의한 문헌에 기재된 SABL;
- "A Simulation-Based Methodology for Evaluating DPA-Resistance of Cryptographic Functional Units with Application to CMOS and MCML Technologies" (SAMOS IC, July 2007) 라는 제목의 F. Regazzoni 외에 의한 문헌에 기재된 MCML;
- "Dynamic Current Mode Logic (DyMCL), a new low-power/high-performance logic family" (10.1109/CICC.2000.852699, pages 421-424, 2000) 라는 제목의 M.W. Allam 및 M.I. Elmasry 에 의한 문헌에 기재된 DyMCL;
- "Three-phase dual-rail pre-charge logic" (CHESS, volume 4249 of LNCS, pages 232-241, Springer 2006) 라는 제목의 M. Burcci, L. Giancane, R. Luzzi 및 A. Trifiletti 에 의한 문헌에 기재된 TDPL
이 존재한다.
은닉 채널들에 대한 공격들에 대하여 보호하는 다른 방법은 변수들에 대해 마스크를 이용하는 것이다. 이 마스크는 로직 게이트와 같은 함수의 레벨에서 이용될 수 있다.
차동 로직 또는 마스킹에 기초한 역탐지 기술들은 "Power Analysis Attacks : Revealing the Secrets of Smart Cards" (Springer, 2007) 라는 제목의 Mangard Stefan, Oswald Elisabeth 및 Popp Thomas 에 의한 도서에 특히 기재되어 있다.
오류 주입 타입의 교란 공격들에 대하여 보호되기 위해, 암호 해독 회로는, 예를 들어:
- "Concurrent Error Detection Schemes for Fault Based Side-Channel Cryptanalysis of Symmetric Block Ciphers" (IEEE Transactions on Computer-Aided Design, 21(12), pages 1509-1517, December 2002) 라는 제목의 Y. Kim, R. Karri 및 K. Wu 에 의한 문헌;
- "Robust Protection against Fault-Injection Attacks on Smart Cards Implementing the Advanced Encryption Standard" (IEEE Transactions on Computer-Aided Design, 21(2), May 2004) 라는 제목의 M. Karpovsky, K. Kulikowski 및 A. Taubin 에 의한 문헌;
- "Error Analysis and Detection Procedures for a Hardware Implementation of the Advanced Encryption Standard" (IEEE Transactions on Computer-Aided Design, 52(4), April 2003) 라는 제목의 G. Bertoni, L. Breveglieri, I. Koren, P. Maistri, 및 V. Piuri 에 의한 문헌
에 기재된 오류 검출 기술들을 이용함으로써 보호될 수도 있다.
상술한 기술들 중 하나 이상을 이용함으로써, 암호 해독 모듈의 보호가 강화되고 이는 기존의 FPGA들에서 관찰된 오류를 회복시킨다. 따라서, 프로그래머블 로직 회로들에 대한 보호 메커니즘의 보안 상세는 물리적 관찰 또는 오류 주입 공격들을 처리하기 위해 내장형 암호화 프로세서를 안전하게 하는 것으로 보완된다.

Claims (5)

  1. 프로그래머블 로직 회로 (100, 200) 를 보호하는 방법으로서,
    상기 프로그래머블 로직 회로의 프로그래머블 자원들의 구성 (configuration) 에 이용되는 데이터 파일(들) 은 암호화된 후에 (112) 비휘발성 메모리 (107, 207) 에 저장되고,
    상기 프로그래머블 로직 회로 내부의 암호 해독 모듈 (103, 203) 은 상기 프로그래머블 로직 회로에 저장된 비밀 키 (102, 202) 를 이용함으로써 상기 데이터 파일(들) 의 암호 해독을 수행하며,
    상기 암호 해독 모듈은 차동 로직에 의한 보호, 마스킹에 의한 보호 및 오류 검출에 의한 보호를 포함하는 적어도 하나의 역탐지 기술 (countermeasure technique) 을 구현함으로써 상기 암호 해독 동작 동안에 상기 비밀 키를 획득하기 위한 은닉 채널 공격들 또는 오류 기반 공격들에 대하여 보호되는 것을 특징으로 하는 프로그래머블 로직 회로의 보호 방법.
  2. 제 1 항에 있어서,
    상기 프로그래머블 로직 회로 (100, 200) 는 FPGA 타입인 것을 특징으로 하는 프로그래머블 로직 회로의 보호 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 암호 해독 모듈 (103, 203) 은 상기 프로그래머블 로직 회로 (100, 200) 내부의 전용 로직 회로인 것을 특징으로 하는 프로그래머블 로직 회로의 보호 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 암호 해독 모듈 (103, 203) 은 상기 프로그래머블 로직 회로 (100, 200) 의 구성 가능한 자원들을 프로그래밍함으로써 인스턴스화되는 것을 특징으로 하는 프로그래머블 로직 회로의 보호 방법.
  5. FPGA 타입의 프로그래머블 로직 회로 (100, 200) 로서,
    상기 프로그래머블 로직 회로 내부의 적어도 하나의 암호 해독 모듈 (103, 203) 을 포함하고,
    상기 암호 해독 모듈은, 상기 프로그래머블 로직 회로에 저장된 비밀 키 (102, 202) 를 이용함으로써 상기 프로그래머블 로직 회로의 프로그래머블 자원들에 대한 구성 파일(들) 의 암호 해독을 수행하며,
    상기 암호 해독 모듈은 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 프로그래머블 로직 회로의 보호 방법을 이용함으로써 상기 암호 해독 동작 동안에 관찰 및/또는 오류 주입 공격들에 대하여 보호되는 것을 특징으로 하는 FPGA 타입의 프로그래머블 로직 회로.
KR1020117003338A 2008-08-12 2009-07-30 프로그래머블 로직 회로에 대한 구성 파일의 암호 해독으로부터의 보호 방법 및 그 방법의 구현 회로 KR20110083592A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0855536 2008-08-12
FR0855536A FR2935078B1 (fr) 2008-08-12 2008-08-12 Procede de protection du decryptage des fichiers de configuration de circuits logiques programmables et circuit mettant en oeuvre le procede

Publications (1)

Publication Number Publication Date
KR20110083592A true KR20110083592A (ko) 2011-07-20

Family

ID=40377212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117003338A KR20110083592A (ko) 2008-08-12 2009-07-30 프로그래머블 로직 회로에 대한 구성 파일의 암호 해독으로부터의 보호 방법 및 그 방법의 구현 회로

Country Status (8)

Country Link
US (1) US20110258459A1 (ko)
EP (1) EP2316096A1 (ko)
JP (1) JP2012505442A (ko)
KR (1) KR20110083592A (ko)
CN (1) CN102119390A (ko)
CA (1) CA2733546A1 (ko)
FR (1) FR2935078B1 (ko)
WO (1) WO2010018072A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077887B2 (en) 2012-05-22 2015-07-07 Samsung Techwin Co., Ltd. Camera having reconfigurable logic blocks in integrated circuit embedded thereon and system having the camera

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
CN102725737B (zh) 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US9298438B2 (en) 2012-06-20 2016-03-29 Microsoft Technology Licensing, Llc Profiling application code to identify code portions for FPGA implementation
US9230091B2 (en) 2012-06-20 2016-01-05 Microsoft Technology Licensing, Llc Managing use of a field programmable gate array with isolated components
US9424019B2 (en) 2012-06-20 2016-08-23 Microsoft Technology Licensing, Llc Updating hardware libraries for use by applications on a computer system with an FPGA coprocessor
CN103873227A (zh) * 2012-12-13 2014-06-18 艺伦半导体技术股份有限公司 一种fpga加密数据流的解密电路及解密方法
JP6026324B2 (ja) * 2013-03-14 2016-11-16 株式会社富士通アドバンストエンジニアリング 電子機器、回路データ保護装置、及び回路データ保護方法
CN104484615B (zh) * 2014-12-31 2017-08-08 清华大学无锡应用技术研究院 适用于可重构阵列架构的基于空间随机化抗故障攻击方法
US10708073B2 (en) * 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
FR3059447A1 (fr) * 2016-11-28 2018-06-01 Proton World International N.V. Brouillage du fonctionnement d'un circuit integre
US10741997B2 (en) 2018-10-31 2020-08-11 Jennifer Lynn Dworak Powering an electronic system with an optical source to defeat power analysis attacks
CN109614826B (zh) * 2018-11-23 2021-05-07 宁波大学科学技术学院 一种基于tdpl逻辑的译码器
CN111339544B (zh) * 2019-04-24 2023-03-14 上海安路信息科技股份有限公司 离线下载装置及离线下载方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356637B1 (en) * 1998-09-18 2002-03-12 Sun Microsystems, Inc. Field programmable gate arrays
US6654889B1 (en) * 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
JP2001325153A (ja) * 2000-05-15 2001-11-22 Toyo Commun Equip Co Ltd フィールドプログラマブルゲートアレイの回路情報保護方法
ATE406698T1 (de) * 2000-07-04 2008-09-15 Sun Microsystems Inc Anwenderprogrammierbare gatterfelder (fpga) und verfahren zur bearbeitung von fpga- konfigurationsdaten
JP2002050956A (ja) * 2000-07-13 2002-02-15 Sun Microsyst Inc フィールド・プログラマブル・ゲート・アレイ
US6981153B1 (en) * 2000-11-28 2005-12-27 Xilinx, Inc. Programmable logic device with method of preventing readback
US7117373B1 (en) * 2000-11-28 2006-10-03 Xilinx, Inc. Bitstream for configuring a PLD with encrypted design data
US20020150252A1 (en) * 2001-03-27 2002-10-17 Leopard Logic, Inc. Secure intellectual property for a generated field programmable gate array
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
JP2004007472A (ja) * 2002-03-22 2004-01-08 Toshiba Corp 半導体集積回路、データ転送システム、及びデータ転送方法
US7660998B2 (en) * 2002-12-02 2010-02-09 Silverbrook Research Pty Ltd Relatively unique ID in integrated circuit
JP4748929B2 (ja) * 2003-08-28 2011-08-17 パナソニック株式会社 保護回路および半導体装置
US7417468B2 (en) * 2003-09-17 2008-08-26 The Regents Of The University Of California Dynamic and differential CMOS logic with signal-independent power consumption to withstand differential power analysis
FR2863746B1 (fr) * 2003-12-10 2006-08-11 Innova Card Circuit integre protege par bouclier actif
WO2005081085A2 (en) * 2004-02-13 2005-09-01 The Regents Of The University Of California Logic system for dpa and/or side channel attack resistance
US7853799B1 (en) * 2004-06-24 2010-12-14 Xilinx, Inc. Microcontroller-configurable programmable device with downloadable decryption
JP4617110B2 (ja) * 2004-07-29 2011-01-19 富士通セミコンダクター株式会社 セキュリティ支援方法および電子機器
US7788502B1 (en) * 2005-03-10 2010-08-31 Xilinx, Inc. Method and system for secure exchange of IP cores
US7408381B1 (en) * 2006-02-14 2008-08-05 Xilinx, Inc. Circuit for and method of implementing a plurality of circuits on a programmable logic device
US7675313B1 (en) * 2006-08-03 2010-03-09 Lattice Semiconductor Corporation Methods and systems for storing a security key using programmable fuses
US9866370B2 (en) * 2007-12-05 2018-01-09 Itt Manufacturing Enterprises, Llc Configurable ASIC-embedded cryptographic processing engine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077887B2 (en) 2012-05-22 2015-07-07 Samsung Techwin Co., Ltd. Camera having reconfigurable logic blocks in integrated circuit embedded thereon and system having the camera

Also Published As

Publication number Publication date
EP2316096A1 (fr) 2011-05-04
FR2935078B1 (fr) 2012-11-16
US20110258459A1 (en) 2011-10-20
CN102119390A (zh) 2011-07-06
WO2010018072A1 (fr) 2010-02-18
JP2012505442A (ja) 2012-03-01
CA2733546A1 (en) 2010-02-18
FR2935078A1 (fr) 2010-02-19

Similar Documents

Publication Publication Date Title
KR20110083592A (ko) 프로그래머블 로직 회로에 대한 구성 파일의 암호 해독으로부터의 보호 방법 및 그 방법의 구현 회로
Schellenberg et al. Remote inter-chip power analysis side-channel attacks at board-level
Moradi et al. Black-box side-channel attacks highlight the importance of countermeasures: An analysis of the Xilinx Virtex-4 and Virtex-5 bitstream encryption mechanism
Moradi et al. On the vulnerability of FPGA bitstream encryption against power analysis attacks: Extracting keys from Xilinx Virtex-II FPGAs
Ngo et al. Linear complementary dual code improvement to strengthen encoded circuit against hardware Trojan horses
Bhasin et al. Hardware Trojan horses in cryptographic IP cores
Karam et al. Robust bitstream protection in FPGA-based systems through low-overhead obfuscation
Duncan et al. FPGA bitstream security: a day in the life
Wallat et al. A look at the dark side of hardware reverse engineering-a case study
Alasad et al. Strong logic obfuscation with low overhead against IC reverse engineering attacks
Guilley et al. SoC security: a war against side-channels
Majzoobi et al. FPGA-oriented Security
Alasad et al. Resilient and secure hardware devices using ASL
Yu et al. Hardware hardening approaches using camouflaging, encryption, and obfuscation
Cho et al. Towards bidirectional LUT-level detection of hardware Trojans
Roy et al. Reconfigurable LUT: A double edged sword for security-critical applications
Yu et al. Hardware obfuscation methods for hardware Trojan prevention and detection
Durvaux et al. A survey of recent results in FPGA security and intellectual property protection
Roy et al. The conflicted usage of RLUTs for security-critical applications on FPGA
Kaedi et al. A DPA attack on IOA data-dependent delay countermeasure based on an inherent tempo-spatial data dependency
Saxena et al. ISPLock: A hybrid internal state locking method using polymorphic gates
Sunkavilli et al. Dpredo: Dynamic partial reconfiguration enabled design obfuscation for fpga security
Kavand et al. Securing hardware through reconfigurable nano-structures
Qu Hardware security and trust: A new battlefield of information
Moraitis et al. Interconnect-aware bitstream modification

Legal Events

Date Code Title Description
E601 Decision to refuse application