Physical unclonable function
다양한 물리적 특성을 이용하는 PUF의 개념은 아주 오래전에 등장했지만, CMOS 집적회로의 물리적 공정 특성을 기반으로 하는 PUF는 2000년대 전후에 제안되었습니다. 특히 2007년 IEEE DAC (design automation conference)에서 발표된 Suh [2]의 논문은 PUF를 연구하는 학자들 사이에서 가장 영향력 있는 고전 논문들 중의 하나입니다. 저자는 wire 및 transistor 고유의 지연 특성을 이용하는 ring oscillator PUF의 구조, 개별 칩 인증 및 휘발성 비밀 키 생성 등에 대한 응용을 제안하였습니다. 국내에서는 2016년경부터 PUF에 대한 연구결과가 발표되기 시작했고, 2019년 말 현재 PUF 성과들이 예년보다 늘어난 것을 확인할 수 있습니다 [3-8]. 미국, 중국, 일본 등의 해외 주요 국가에서는 2000년대부터 꾸준히 많은 논문이 나오고 있으며, 최근에 기술적으로 의미 있는 연구결과가 여러 개 발표되었습니다 [9-20].
가장 간단한 개념의 PUF는 arbiter PUF와 ring oscillator 기반 PUF입니다. Arbiter PUF는 그림 1과 같이 만들 수 있는데, layout으로는 완전히 동일한 2-to-1 mux와 wire를 128개씩 엮은 다음, 하나의 latch가 D와 clock 입력 신호 transition 시점의 선후 관계에 의해 Y 출력 값을 판정하는 arbiter 역할을 하는 구조입니다. 128-bit challenge X[127:0]에 의해 두 개의 delay path가 결정되면 이론적으로는 Y가 metastable 상태에 빠지게 되지만, 실제로 만들어진 집적회로는 물리적으로 delay path가 다르기 때문에 칩마다 어느 것은 0, 어느 것은 1의 값을 갖는 경향이 있습니다. 2^128 가지의 challenge X에 대하여 칩 고유의 Y가 존재하기 때문에 PUF의 보안이 강력한 것입니다.
기초적인 응용 분야는 PUF 기반의 device 인증과 암호화 키 생성입니다. 칩 인증은 그림 2에서 보는 바와 같이 진행되는데, 먼저 PUF를 가진 device A를 생산한 제조업체에서, 예를 들면 2^128개의 challenge-response pair를 생성하여 database에 기록합니다. 임의의 경로를 통해 적대적인 환경으로 device A가 이동한 경우에, challenge를 몇 개 입력하여 해당되는 response가 정확히 계산되어 나오는 지 확인함으로써 device A를 인증할 수 있습니다. 참고로 한번 사용한 CRP는 database에서 제거하여 보안을 강화합니다.