home

기술동향칼럼

지켜야 산다: 보안칩의 물리적 공격 방어기법

고 형 호 교수 | 충남대학교 전자공학과

Ⅰ. 서 론

 최근 결제 시스템, 인증 시스템, 내부 데이터 보호 등의 응용 분야를 중심으로 보안 칩에 대한 요구가 급증하고 있다. 대부분의 경우 칩을 보호하기 위한 일반적인 보호조치는 소프트웨어 보안기술인 암호화 알고리즘에 의존해왔으며, 칩 내부의 데이터를 얻기 위해서 암호해독, 암호화키와 같은 소프트웨어 수준의 공격 기술이 사용된다 [1]. 최근 국내외 여러 기관에서 칩의 물리적 공격에 따른 해킹에 대한 우려에 따라 소프트웨어 보안시스템의 문제점이 크게 제기 되고 있다. 칩에 가해지는 물리적 공격은 칩의 손상 발생 여부에 따라 구분해보면 아래와 같은 분류로 구분할 수 있다.

    • 1) 칩 내부 동작에 따른 전류 소모 패턴 등 부채널 (side-channel) 정보를 분석하여 내부 비밀 정보를 획득하는 부채널 공격 (side channel attack) 또는 비 침투형 공격 (non-invasive attack)
    • 2) 클럭, 전원 등을 이용하거나 레이저 등으로 동작 오류를 발생시키는 오류 주입 공격 (fault injection attack) 또는 준 침투형 공격 (semi-invasive attack)
    • 3) 칩의 decap 및 reverse engineering, microprobing 및 FIB (focused ion beam) 등을 이용하여 칩 내부 정보를 획득하는 침투 공격 (invasive attack)

 소프트웨어 보안시스템은 시스템의 하드웨어가 물리적 공격에 안전하다는 보장이 있을 때 보안이 확립 될 수 있으며, 이러한 소프트웨어 보안 시스템의 한계를 보완하기 위해 다양한 하드웨어 보안시스템이 제안되고 있다.


Ⅱ. 물리적 공격

1. 물리적 공격의 분류
물리적 공격이란 시스템 자체에 물리적인 손상을 가하거나 누설되는 정보들을 고가의 장비 및 기술로 분석하여 공격하는 방법으로 일부 공격의 경우 매우 효과적인 것으로 알려져 있다. 물리적 공격은 공격태도와 공격 시 손상의 발생 여부에 따라 분류할 수 있다. 공격 태도에 따라서는 수동형 공격과 능동형 공격으로 나눌 수 있고, 손상 발생 여부에 따라 침투 공격 (Invasive attack), 준 침투 공격 (Semi-invasive attack), 비 침투 공격 (Non-invasive attack)으로 나뉜다.

2. 침투 공격 (Invasive attack)
침투 공격은 칩 패키지에 직접 접근하여, IC(Integrated circuit)회로를 직접 관측 하거나 칩 내부 구조를 분석하는 공격 방식이다. 고가의 장비와 숙달된 전문 기술이 필요하기 때문에 매우 큰 비용이 필요하나, 각각의 소자나 Metal에 직접 접근하는 것이 가능한 만큼 매우 강력한 공격 수단이다. 이러한 침투 공격은 표 1와 같이 분류 할 수 있다. 그림 1 및 그림 2는 침투 공격의 대표적인 예시인 depackaging 및 microporbing, FIB 를 이용한 회로 변경 공격의 예이며, 이와 같은 공격 방식을 이용하여 보안과 관련된 연산을 수행하는 회로를 무력화할 경우 키 값이나 암호화를 통해 보호했어야 하는 비밀 정보들이 그대로 노출될 수 있다.

<표1> 침투 공격의 종류

공격 분류 특 징
De-packaging 회로에 접근하기 위해 회로를 덮고 있는 물질을 제거한다.
Layout reconstruction Delayering 을 통하여 reverse engineering 을 수행하여 회로의 레이아웃을 복원하고 회로 구조를 파악한다.
Probing Probe를 이용하여 정보를 읽거나 변경, 주입한다.
회로 수정 FIB를 이용하여 fuse를 연결해 test-mode를 재동작 시키거나 일부 회로를 bypass하는 방법 등을 이용하여 원하는 형태로 회로를 변경한다

그림 1. 침투 공격의 예시: depackaging 및 microprobing [4]

그림 1. 침투 공격의 예시: depackaging 및 microprobing [4]

그림 2. 침투 공격의 예시: FIB 를 이용한 회로 변경 공격 [4]

그림 2. 침투 공격의 예시: FIB 를 이용한 회로 변경 공격 [4]


3. 준 침투 공격 (Semi-Invasive attack)
칩에 직접적인 물리적 접근 없이, 레이저 광선 등을 이용하여 오류를 주입하고 그에 따른 오동작을 분석하는 공격 방식이다. 칩의 Packaging을 제거한 후 오류를 유발시키는 방법과 외부에서 전기적 스파이크를 일으켜 오류를 유발시키는 방법 등이 있다. 공격 방법에 따라 De-package가 필요한 경우도 존재하며, 이 경우 칩은 동작 가능한 상태로 패키지를 제거할 수 있어야 한다. 준 침투 공격을 통해 오류를 유발하는 방법은 표 2과 같다. 오류는 원상복구의 유무에 따라 Provisional / Transient fault, Destructive / Permanent fault로 크게 두 가지로 분류할 수 있다. Provisional / Transient fault는 일시적이라 원상복구가 가능하여 오류 요인 중단 시 칩은 일반 상태로 복구할 수 있다. 따라서 공격 후 시스템 동작이 가능하므로 동일 칩에 많은 실험이 가능하다. Destructive / Permanent fault는 영구적으로 원상복구가 불가능하여 칩의 전체 구조를 수정하는 방식의 공격이다. 위의 두 가지 오류의 종류는 표 2과 같다[5].

<표2> 준 침투 공격의 오류 유발 방법[5]

구 분 설 명
전압 변화 전압을 비정상적으로 바꾸는 방법으로 정확한 타이밍이 필요하지 않다.
균일하게 오류가 발생하여 크기에 상관없이 효과적이며, 쉽고 증거가 남지 않는다.
Power supply glitch 전압 공급 시 Spike나 Brownout을 발생시켜 특정 주기에서 명령어가 수행되지 않도록 한다.
별도로 제작한 회로로 동기와 지속시간을 정확히 맞출 수 있어야 한다. (상호 유도 현상으로 인해 어려움)
Clock 변화 클락 주기를 늘리거나 줄여서 오동작을 유발한다. 공격 장비는 공격 대상보다 빠른 Clock 스피드를 가지고 있어야한다.
(제품들의 속도가 계속 빨라지고 있어 공격도 어려워지고 있음)
Clock glitch Glitch를 주입하여 오동작을 유발한다.
Xray & Ion beams X-ray, Ion beams 등으로 RNG나 일부 회로의 오동작을 유발한다.
De-packaging 없이 공격 가능하다. (방어 대책이 적용된 특수 Package된 경우 De-packaging 필요)
Heat 온도가 올라갈 경우, DRAM에서 오류가 발생한다. (100℃ 이상에서 32-bit 워드 당 약 10-bit이 반전됨)
너무 강한 열에 의해 회로가 파괴될 수 있음
High energy light 매우 짧은 순간 집중된 빛을 비추고, 광전효과로 인한 전류를 통해 오류를 유발한다.
UV lamp를 통해 Erasable EPROM이나 FLASH 메모리 셀의 내용을 지울 수 있다.
Laser 방향성/직진성으로 인해 매우 좁은 특정 부분에 에너지를 집중하여 오류 (bit flip 등) 을 주입할 수 있다.
강도, 파장, 지속력, Spot size 등의 조절이 용이하다.

4. 비 침투 공격 (Non-invasive attack)
비 침투 공격은 부채널 공격(Side channel Attack)을 통해 데이터를 분석 및 획득하는 공격이다. 이러한 부채널 공격은 칩이 동작할 때 물리적 공격을 통해 누설되는 비밀 정보를 이용할 수 있다. 이 공격은 대부분 중요한 암호화 알고리즘을 파괴할 수 있는 강력한 공격이다 [1]. 부채널 공격은 부채널 정보에 따라 시차 공격, 전력 분석 공격, 전자기파 분석 공격 등으로 분류할 수 있다.
시차 공격은 각각의 입력 데이터에 따라 달라지는 연산의 시간이나 연산 회수를 관찰하여 분석하는 방법이다 [2, 6]. 전력 분석 공격은 공격 대상의 전력 소모를 통해 비밀 키를 추출하는 방식으로 부채널 공격 중 가장 위협적인 공격이다 전자기파 분석은 공격 대상 암호 장치로부터 방사되는 전자기파 신호를 분석하는 방법이다. 원거리에서 정보의 습득이 가능하며 다중 채널로 구성되고 있어서 전력 분석 공격 대응 장치에서도 전자기파 정보의 분석이 가능하다는 장점이 있다[2, 7]. 자세한 부채널 공격의 종류는 표 3과 같다.

<표3> 부채널 공격의 종류

구 분 종 류
시차공격[2, 6] 대표적인 공개키 알고리즘인 RSA의 경우 키의 각 bit 값에 따라 내부에서 수행되는 연산의 종류가 달라지므로 이를 관찰하여 키 값을 추출한다.
전력 분석 공격[2, 7] 단순 전력 분석(Simple power analysis : SPA) : 특정명령어가 수행되는 한 시점에서 데이터에 따라 달라지는 소비전력을 분석하여
비밀정보를 유추하는 방법이다. SPA는 공격자가 공격하고자 하는 시점의 구현 방법을 정확히 알고 있어야 하는 단점이 있다.

차동 전력 분석 (Differential power analysis : DPA) : 비밀정보 bit와 소비전력의 통계적인 상관관계를 이용하여
비밀 정보를 유추할 수 있는 방법으로 노이즈에 강인하고 아주 적은 자원을 사용하기 때문에 가장 강력한 공격방법이다.
전자기파 분석 공격[7] 단순 전자기파 분석 (Simple electro-magnetics analysis : SEMA)과 차동 전자기파 분석 (Differential electro magnetics analysis : DEMA) 은
SPA와 DPA 기술을 전자기파로 측정하는 공격으로 소비전력이 측정되지 않을 때 유용한 방법이다.

Ⅲ. 물리적 공격에 대한 방어 기법

 침투 공격에 대한 대표적인 방어 기법은 내부 회로의 파악, microprobing, FIB 등을 을 어렵게 하기 위한 그림 3과 같은 top metal mesh 의 형태가 있다. 그러나 metal의 구조가 파악될 경우 FIB 등을 이용하여 구멍을 뚫거나 우회하는 것이 가능하다. 또한 reverse engineering 을 어렵게 하기 위하여 dummy 모듈을 삽입하는 방법이 있다. Dummy 모듈이나 dummy bus를 추가하여 칩의 분석을 어렵게 하고, 그 외에도 시차의 연산시간, 전력 소모 등의 변화를 통해 Leakage reduction에도 유용하다 [1]. 그러나 Dummy 만큼 면적과 비용이 증가하는 단점이 있다.

그림 3. Top layer Sensor mesh의 모습[3]

그림 3. Top layer Sensor mesh의 모습[3]

 또한 준 침투 공격 (오류 주입 공격) 의 방어를 위하여 오류를 발생시키기 위하여 비정상적인 환경(너무 높거나 낮은 전압 또는 온도 등)이 조성되거나 빛이나 레이저 등이 사용되므로 이를 감지할 수 있는 센서를 갖추거나 외부의 영향을 받지 않도록 내부에서 전압이나 Clock 주파수를 통제하도록 하는 방법이 사용된다. 센서 방어 기법은 온도, 자외선, 적외선, X선, 전리 방사선, Clock 주파수, 전압 등을 감지하는 센서를 내장한다. 특정 범위를 벗어날 경우 동작을 중지하는 등의 방어 기법을 수행한다. 그러나 FIB 등으로 센서 출력 신호를 bypass 하여 무력화시킬 수 있는 단점이 있다.

 부채널 공격의 방어 기법의 종류로는 Leakage reduction, Noise injection, Key update, Secure scan chain 등이 존재한다. 주로 부채널의 누설 신호의 신호대잡음비를 낮추어 분석을 어렵게 하는 방법이 주로 사용된다. Leakage reduction 방어 기법은 부채널에 흐르는 전류와 비밀정보 사이의 의존성을 감소시키는방법으로, Dynamic, Differential logic, Asynchronous logic, Current-mode logic, DRP(Dual-rail precharge logic style) 등의 설계 기법이 적용된다. Noise injection 방어 기법은 SNR을 측정하여 부채널에 인공적인 Noise를 주입하여 부채널 정보를 감소시키는 방법이다. Key update 방어 기법은 비밀 키를 주기적으로 update 하는 방식이며, secure scan chains 방어기법은 내부 민감한 레지스터에 접근을 차단한다.


Ⅵ. 맺음말

 보안 칩에 대한 물리적 공격 기법과, 이에 대한 방어 기법은 마치 창과 방패처럼 지속적으로 발전하고 있다. 전 세계적으로 보안 칩의 물리적 공격 및 방어 기법에 대한 관심이 높아지고 있으며, 향후 보안 칩의 물리적 공격에 대한 대응 기술의 중요성은 점차 증대될 것으로 예상된다.


참고문헌
  • [1]Rostami, Mohamad, Farinaz Koushanfar, and Ramesh Karri. "A primer on hardware security: Models, methods, and metrics." Proceedings of the IEEE 102.8 (2014): 1283-1295.
  • [2]최필주, 최원섭, 김동규, "하드웨어 칩 기반 보안시스템 및 해킹동향", 한국통신학회지, 2014. 4, 46-52 (7 pages)
  • [3]Oliver Kömmerling, Markus Kuhn, "Design Principles for Tamper-Resistant Smartcard Processors", USENIX Workshop on Smartcard Technology Proceedings, Chicago, Illinois, USA, May 10-11, 1999.
  • [4]Briais, S., Cioranesco, J. M., Danger, J. L., Guilley, S., Naccache, D., & Porteboeuf, T. (2012, September). Random active shield. IEEE Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC), 2012 (pp. 103-113)
  • [5]Bar-El, H., Choukri, H., Naccache, D., Tunstall, M., & Whelan, C. (2006). The sorcerer's apprentice guide to fault attacks. Proceedings of the IEEE, 94(2), 370-382.
  • [6]Kocher, Paul C. "Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems." Advances in Cryptology—CRYPTO’96. Springer Berlin Heidelberg, 1996.
  • [7]Kocher, P., Jaffe, J., Jun, B., & Rohatgi, P. (2011). Introduction to differential power analysis. Journal of Cryptographic Engineering, 1(1), 5-27.
  • 고 형 호
    고 형 호 교수
    • 2003년 2월 서울대학교 전기공학부 공학사
      2008년 8월 서울대학교 전기공학부 공학박사
      2008년 11월 ~ 2010년 8월 삼성전자 반도체 사업부 책임연구원
      2010년 9월 ~ 현재 충남대학교 전자공학과 부교수
    • 관심분야
      아날로그 집적회로, 회로 보안 기술, 센서 인터페이스, 생체신호 계측회로, 데이터 컨버터
상단으로