http://dx.doi.org/10.5369/JSST.2018.27.1.59 pISSN 1225-5475/eISSN 2093-7563
센서 시스템에서의 고신뢰 물리적 복제방지 기능의 저전력 칩 설계 및 구현
최재민1 · 김경기2,+
Design and Implementation of a Low Power Chip
with Robust Physical Unclonable Functions on Sensor Systems
Jae-min Choi1 and Kyung Ki Kim2,+
Abstract
Among Internet of things (IoT) applications, the most demanding requirements for the widespread realization of many IoT visions are security and low power. In terms of security, IoT applications include tasks that are rarely addressed before such as secure com- putation, trusted sensing, and communication, privacy, and so on. These tasks ask for new and better techniques for the protection of data, software, and hardware. An integral part of hardware cryptographic primitives are secret keys and unique IDs. Physical Unclonable Functions(PUF) are a unique class of circuits that leverage the inherent variations in manufacturing process to create unique, unclonable IDs and secret keys. In this paper, we propose a low power Arbiter PUF circuit with low error rate and high reliability compared with conventional arbiter PUFs. The proposed PUF utilizes a power gating structure to save the power consumption in sleep mode, and uses a razor flip-flop to increase reliability. PUF has been designed and implemented using a FPGA and a ASIC chip (a 0.35 um technology).
Experimental results show that our proposed PUF solves the metastability problem and reduce the power consumption of PUF com- pared to the conventional Arbiter PUF. It is expected that the proposed PUF can be used in systems required low power consumption and high reliability such as low power encryption processors and low power biomedical systems.
Keywords: Security, PUF, Physical Unclonable Function, Low Power, Reliability
1. 서 론
최근 모바일과 임베디드(embedded) 장치들의 사용이 늘어나 면서, 전자장치들이 유비쿼터스(ubiquitous)화 되면서 상호 연결 장치(interconnected devices)의 플랫폼, 클라우드(Cloud), IoT (Internet of Things) 디바이스 등의 사용이 폭발적으로 증가하면 서 신용카드의 사용, 온라인 상업 시스템 및 금융거래 또한 증
가하고 있다[1]. IoT 장치 같은 경우 IoT장치가 250억 개가 넘 는 연결 (connection)이 있으며, 휴대폰이나 태블릿PC같은 모바 일 장치에 많은 금융거래를 수행하기도 하며, 지속적인 관찰이 필요한 환자들을 인터넷을 통해 병원이나 보호자 등이 실시간 으로 환자들의 상태를 지켜볼 수 있으며, IoT 장치 내부에 기밀 문서나 개인 이메일(e-mail) 등과 같은 중요한 데이터가 포함되 는 경우가 많다. 이러한 수 많은 민감한 정보를 처리하고 보안 에 민감한 작업들이 온라인에서 이루어짐에 따라 온라인에서 다 루어 지는 개인정보와 같은 민감한 정보들도 많아지면서 개인 정보와 같은 보안정보를 저장하고 인증하는 과정인 보안문제가 자주 이슈에 오르고 있고 또한 매우 중요한 문제가 되고 있다.
이러한 문제들에 대한 해결방법에 대해 EEPROM이나 battery- backup SRAM 등의 많은 연구가 이루어지고 있는데 이런 방법 들은 하드웨어를 설계하기 복잡하고 설계면적을 많이 차지하며 제작비용이 매우 비싸다는 단점 또한 존재한다. 무엇보다도 이 러한 비휘발성 메모리는 침투공격 매커니즘(invasive mechanism) 에 취약하다. 이러한 단점을 보완하기 위한 방법으로 제시된 방법은 본 논문에서 수행하고자 하는 물리적 복제 방지라고 불리는 PUF(physical unclonable function)이다. PUF(Physical unclonable function)은 회로의 물리적 특성을 이용하여 복제 불
1대구대학교 전자공학과(Department of Electronic Engineering, Daegu University)
Engineering B.D. #5-5307, Daegu University, Daegudae-ro 201, Jillyang, Gyeongsan, 38453, Korea
2대구대학교 전자공학과(Department of Electronic Engineering, Daegu University)
Engineering B.D. #5-5307, Daegu University, Daegudae-ro 201, Jillyang, Gyeongsan, 38453, Korea
+Corresponding author: [email protected] (Received: Jan. 22, 2018, Accepted: Jan. 29, 2018)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/
licenses/bync/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
가능한 회로를 만드는 보안 기술로 2000년대 초반에 처음으로 제안되었는데, 이때 당시는 PUF보다 일반적인 개념을 처음으로 정의하였는데 당시 그는 물리적 일방통행 기능으로 소개했다[2].
이후 새로운 실리콘 기반 PUF구조들이 계속 제안되었고[3], 2010 년대에부터 본격적으로 보안이 이슈화가 되면서 주목받기 시작하였다. PUF의 사전적 의미는 Physical은 알고리즘 또는 유 사기능과는 다른 물리적 개체를 의미하며, Unclonable은 복제될 수 없다는 것을 의미하고 Function은 수학적으로 입력 값이 PUF 의 특정 출력과 관련된다는 것을 의미한다.
Fig. 1 은 PUF의 기본 개념을 보여주는 그림이며, 그림에서 서 버가 발생한 challenges에 따라서 사용자의 칩이 고유의 user responses 를 발생하고, 서버에서 저장된 response와 일치는 하는 경우만 승인이 되는 것을 보여주고 있다[3].
예를 들어, 어떠한 상품을 관리하는 유통의 경우, 상품을 개 별 속성으로 인해 식별할 수 있으며, 생산자가 생산라인을 모 니터링 할 수 있을 뿐만 아니라, 고객은 의약품, 보안 관련 부 품 또는 고가의 제품과 같은 민감한 제품들의 출처를 확인할 수 있다. 이러한 이유들로 인해 지난 몇 년 동안 PUF는 점점 더 보안 해결책으로 주목을 받고 있다. 최근 하드웨어 보안 연 구에서 PUF가 이슈화가 되면서 PUF는 몇 가지 종류로 구체 화 되었다. 준 안정성(meta-stability) PUF, 쌍 안정 소자(bi-stable element) PUF 또는 SRAM(static random access memory)을 기 반으로 한 SRAM PUF, Butterfly PUF 등이 있으며, 지연기반 PUF 이라고 부르는 arbiter PUF, 링 오실레이터(ring oscillator) PUF(또는 RO-PUF)등이 있다[3,4].
SRAM PUF 는 Fig. 2와 같이 기존의 6개의 트랜지스터로 구 성된 SRAM(6T-SRAM)을 기반으로 제조하며, 제조공정의 가변 성으로 인한 파라미터의 변화로 인한 소형 인버터(inverter) 트 랜지스터의 불일치 (mismatch)한 문턱전압(threshold voltage)을 이용하여 각각의 SRAM 셀에서 1비트의 출력 데이터를 제공한 다. SRAM PUF는 2007년에 처음 제안되었는데, SRAM PUF 는 FPGA(field programmable gate array) 또는 마이크로 컨트롤 러 (microcontroller)를 사용하여 구현할 수 있다. 하지만 모든 SRAM이 PUF를 구현함에 있어서 적절한 것은 아니다.
Arbiter PUF 는 Fig. 3과 같이 두 개의 디지털 경로 사이의 지 연을 비교하는 방법으로 2004년에 처음 제안되었다[3,4]. 로직 게이트에서 발생하는 지연 시간은 동일하게 설계 하더라도 공 정 편차로 인해 각각의 게이트마다 다르게 발생한다. Arbiter PUF 는 이러한 지연시간의 차이가 다르다는 점을 이용한다.
링 오실레이터 PUF는 제조과정에서의 변동으로 인하여 Fig. 4 와 같은 구조의 링 오실레이터에서 주파수 차이를 측정하는 방식 으로 2002년에 처음 제안되었다[5]. 링 오실레이터 방식에서는 간 단한 표준 논리게이트만 사용하므로 FPGA에서 다른 방식보다 쉽 게 구현할 수 있다. 이러한 종류의 PUF에 대한 추가 처리단계가 필요하지 않으므로 이러한 PUF는 실리콘 PUF 또는 고유 PUF라 고 한다. 최근에는 이보다 더 개선된 설정 가능한 (configurable) PUF 등이 제안되면서[6] 새로운 어플리케이션도 다양하게 제안되었다.
2. 고신뢰 저전력 PUF
본 논문에서는 회로의 지연을 기반으로 하는 arbiter PUF를 기 반으로 고신뢰의 저전력 PUF설계를 하고자 한다. 제안된 arbiter PUF 회로는 Fig. 5와 같이 스위치 회로, 고신뢰도를 가지는 D flip-flop로 구성된arbiter, 그리고 response를 생성하지 않을 때의 소모전력을 줄이기 위한 파워 게이팅(power gating)으로 구성된 Fig. 1. Basic Concept of PUF
Fig. 2. Architecture of SRAM PUF
Fig. 3. Operating sequence of Arbiter PUF
Fig. 4. The structure of Ring oscillator
다. 스위치 회로에서 challenge 신호는 두 종류의 신호 경로 중 하나를 선택할 수 있다. 각각 스위치 회로 지연시간이 다르기 때 문에, 다수의 스위치 회로가 연속적으로 연결되면 두 신호 경로 의 총 지연시간 차이를 예측하는 것은 매우 어렵다. 지연시간의 차이를 확인하기 위한 방법으로는 우선 입력 노드에 입력 신호 를 전달한다. 이 후, challenge 신호에 따라서 노드 Arbiter의 2개 의 입력에 도착하는 지연 시간이 달라지고, 최종 출력은 arbiter 로 사용되는 D flip-flop의 Data 신호와 Clock 신호로 입력된다.
회로는 Fig. 5와 같이 지연시간의 차이에 따라 0 또는 1의 값 으로 결정한다. Fig. 6과 같이 D flip-flop arbiter 입력의 도착시 간이 setup time과 hold time를 만족하지 않으면 출력이 0 또는 1 의 stable state가 아니라, 불안정한 metastable state를 가지게 되어서 올바른 출력이 나올 수가 없다.
기존의 arbiter 물리적 복제방지회로의 구조에서 셋업 타임 위 반 및 홀드 타임 위반은 온도나 지연, 제조공정 상의 변이들로 인해 값이 조금만 바뀌면 발생할 수 있으며, 노화에 의해서도 발생하여 결과 값이 올바르게 나오지 못할 수 있다.
따라서, 본 논문에서 제안하는 물리적 복제방지 기능의 회로 에서는 Fig. 6과 같이 기존의 D flip-flop의 metastability문제점 을 해결하고자 Metastability detector를 사용해서 D flip-flop의 출력이 metastable state가 되었을 때(setup or hold time violation 이 발생했을 때)는 clock을 지연시켜서 항상 논리값 1을 출력하 는 Razor Flip-Flip을 이용하였다 [7].
Fig. 7의 Razor Flip-Flop에서 shadow latch는 delayed clock에 의해 제어된다. XOR 게이트의 출력인 오류 신호가 low로 유지 될 때, flip-flop이 정상적으로 동작을 한다. 만약 setup time violation 혹은 hold time violation 이 일어나는 경우에는 Shadow latch에 서 늦게 도착하는 올바른 값, 즉 logic 1을 최종 출력으로 전송 한다. 회로는 지연된 클럭 clk_del을 전환하는 곳에서의 전력 오 버헤드만 발생시키므로 전력 오버헤드는 크지 않다.
본 논문에서는 response 값을 발생하지 않는 동안 전체 회로 를 휴먼모드(sleep mode)로 들어가게 해서 많은 양의 정적 파워 를 줄일 수 있는 파워게이팅 구조[8]를 적용하였다. 이런 파워 게이팅 구조를 사용함으로써 저전력을 요구하는IoT 시스템에서 사용될 PUF의 전력을 크게 낮출 수 있다. Fig. 8과 같은 파워 스위치로 불리는 높은 문턱전압을 가지는 header와 footer를 가 지며, 일반적으로 header나 footer만으로도 구성된다. 따라서 본 PUF 에서는 회로의 노화에 대한 영향을 작은Header 스위치만을 사용해서 Fig. 5와 같이 전체 PUF에 Header 스위치를 연결하였 다. 파워게이팅은 동작모드 (Active Mode)에서는 고성능을 유 지하면서도, 휴면모드 (Sleep Mode)에서는 회로의 누설 전류를 감소시키는 가장 효과적인 방법으로 알려져 있다.
3. 실험 결과
본 논문에서 제안한 멀티플렉서를 기반으로 한 64비트 고신 뢰 저전력arbiter PUF의 회로는 먼저 Verilog를 사용해서 Xilinx Vivado 와 FPGA 상에서 설계되고 구현이 되었고, UART통신을 이용하여 검증하였다. 그리고, Magna-Chip 0.35µm공정기술을 사용하여 ASIC으로 제안된 PUF를 설계 및 구현하였다. 성능 분석을 위해서 기존 멀티플렉서 기반 arbiter PUF 회로와 제안 된 PUF의 시뮬레이션 결과를 비교하였다.
3.1 FPGA에서의 실험 결과
RTL 레벨에서는 Vivado 2016. 3 프로그램을 이용하여 Verilog 언어를 사용하여 설계하였으며, Xilinx FPGA 보드를 통해 물리 Fig. 5. Proposed Arbiter PUF
Fig. 6. Metastability of D Flip-Flop
Fig. 7. Reliable D Flip-Flop without Metastability
적 복제방지 기능을 구현하였으며, FPGA에 구현할 때 입력과 출력은 UART 통신을 이용하여 Challenge를 입력하고 Response 를 추출하여 시뮬레이션을 진행하고 검증하였다. Fig. 9와 같이 4 개의 FPGA 보드에 같은Challenge를 입력하여서 각각의 FPGA 마다 다른 Response를 가지는 것을 확인하였다.
3.2 Spice Level 실험 결과 및 ASIC 칩 구현
Magna-Chip 0.35 µm 공정기술을 사용하여 전체 회로의 공급 전압은 3.3V으로 칩으로 제작 및 구현되었다. PUF는 1비트의 response 는 각각 64개의 switch를 거쳐 1개의 D 플립플롭을 거 쳐 나오는 형태로 구성된 물리적 복제방지 기능의 회로이다. Fig.
10 과 같이 기존 D flip-flop을 사용한 Arbiter PUF는 올바른 출 력이 나오지 않았지만, 제안된 Arbiter PUF는 올바른 출력 값이 나오는 것을 확인할 수 있었다. 따라서, 제안된 PUF는 기존의 문제점들을 보완함과 동시에 결과 값에 대한 신뢰성 높은 물리 적 복제방지 기능을 가지는 것을 확인할 수 있었다.
또한 기존 PUF와 헤더 스위치를 사용하여 파워게이팅 구조 를 사용한 제안된 PUF를 설계하여 비교하였다. Table 1은 논문 에서 기존 Arbiter PUF와 제안된 Arbiter PUF를 비교하기 위하 여 측정한 결과이다. Power gating 구조를 사용한 제안된 PUF 가 Active mode에서의 기존의 PUF보다 Dynamic Power 에서 는 87%의 전력 감소율을 보였고, Sleep mode에서는 10
4정도 의 감소를 확인 할 수 있다. 제안된 PUF가 에러률이 줄어들면 서 동시에 소모전력에서도 기존 PUF보다 큰 이득이 있음을 확 인할 수가 있었다.
ASIC 과정으로 칩을 제작하기 위해 Design Compiler로 Magna- Chip 0.35µm 의 standard cell과의 합성과정을 진행하였으며, Astro 프로그램을 이용하여 Layout작업과 PNR(Place & Route)작업을 수행하여 칩 제작 단계를 수행하였다. Astro에서 Layout 작업을 수행한 결과 칩의 최종 Layout은 Fig. 11과 같이 완성하였다.
Fig. 8. Conventional Power Gating Structure
Fig. 9. FPGA Verification: (a) block diagram, (b) FPGA Board setup
Fig. 10. Simulation results of the conventional arbiter PUF vs. the proposed PUF
Table 1. Consumption power comparison
Arbiter PUF Proposed PUF
Active Power 9.51E-02W 1.2743E-02W
Sleep Power 1.965E-02W 8.366E-06W
4. 결 론
최근 IoT시대를 맞이하여 보안의 영역이 매우 중요한 영역중 의 하나로 자리 잡으면서 보안에 대한 중요성이 날마다 강조되 고 있다. 기존의 보안 알고리즘은 복잡한 과정을 통해 이루어지 는 것이지만 알고리즘만 알게 된다면 보안에 취약해지기 쉬웠 다. 따라서 본 논문에서는 기존의 arbiter PUF에 비해 낮은 오 류율과 높은 신뢰성을 갖는 저전력 Arbiter PUF 회로를 제안하였다.
제안 된 PUF는 전력 게이팅 구조를 사용하여 휴면 모드에서 전력 소비를 줄이고 Metastability가 존재하지 않는 고신뢰 플립 플롭을 사용하여 신뢰성을 향상시킨다. PUF는 Xilinx FPGA 및 ASIC 칩 (0.35 um 기술)을 사용하여 설계되고 구현되었고, 제 안된 PUF가 기존의 Arbiter PUF와 비교해서 신뢰성을 향상되 고 PUF의 전력 소모를 작아지는 것을 실험 결과에서 확인할 수 있었다. 제안 된 PUF는 저전력 암호화 프로세서 및 저전력 생 체 의학 시스템과 같이 낮은 전력 소모와 높은 신뢰성을 요구 하는 시스템에서 사용될 수 있을 것으로 기대된다.
감사의 글
이 논문은 대구대학교 연구장학기금(연구조교) 지원으로 수행 되었습니다.
REFERENCES