물리적복제방지함수(PUF) (Physical Unclonable Function)
쉽게 풀면
같은 나무로 만든 두 개의 도마라도 나뭇결의 무늬가 완전히 똑같을 수 없는 것처럼, 똑같은 설계도로 찍어낸 반도체 칩이라도 제조 과정에서 생기는 아주 미세한 물리적 차이는 칩마다 다릅니다. 물리적복제방지함수(PUF)는 이런 미세한 차이를 측정해 각 칩마다 고유한 값(지문)을 만들어냅니다. 이 지문은 설계도만으로는 예측하거나 복제할 수 없기 때문에, 별도의 비밀키를 저장해두지 않고도 칩의 정체성을 확인하는 열쇠로 쓸 수 있습니다.
왜 중요한가
일반적인 방식으로 비밀키를 메모리에 저장해두면 펌웨어 리버스엔지니어링이나 물리적 공격으로 유출될 위험이 있지만, PUF는 키를 상시 저장하지 않고 필요할 때마다 물리적 특성으로부터 즉석에서 생성하기 때문에 유출 위험을 크게 줄일 수 있습니다. 이러한 특성 덕분에 IoT 및 임베디드 보안 분야에서 저비용 기기 인증과 위조품 방지의 핵심 기술로 주목받고 있습니다.
논문에서는 이렇게 쓰입니다
PUF를 이용해 저비용 IoT 기기의 인증을 구현하는 연구의 예문입니다.
PUF 출력의 실용적 신뢰성을 개선하는 연구 예문입니다.
조금 더 깊게 보면
PUF는 구현 방식에 따라 지연시간 차이를 이용하는 아비터(Arbiter) PUF, SRAM 초기화 값의 편차를 이용하는 SRAM PUF 등 여러 유형이 있습니다. PUF는 환경(온도, 전압 등) 변화에 따라 출력값이 미세하게 흔들릴 수 있어, 실제 활용에서는 오류정정 코드를 결합해 안정적인 키를 재현하는 과정이 함께 필요합니다.
주의할 점
PUF가 이론적으로 복제가 어렵다고 해서 모든 공격에 안전한 것은 아니며, 머신러닝 기반 모델링 공격으로 PUF의 입출력 패턴을 학습해 예측하려는 시도가 연구되어 있어 PUF 설계 시 이러한 취약점도 함께 고려해야 합니다.