보안 칩의 물리 공격 기법에 대해 잘 정리된 글이다.
반도체 설계교육센터에서 발간하는 웹진에 포함된 칼럼이지만 언젠가 콘텐츠가 업데이트되지 않고 페이지가 사라질까 생각해 아카이브를 해 두기 위해 퍼져 왔다.
소스는 다음과 같습니다.
http://www.idec.or.kr/webzine/?news_id=20190704
지켜야 한다: 보안 칩의 물리 공격 방어 기법
고호 교수 충남대학교 전자공학과
Ⅰ.서론
최근 결제 시스템, 인증 시스템, 내부 데이터 보호 등의 응용 분야를 중심으로 보안 칩에 대한 요구가 급증하고 있다.
대부분의 경우 칩을 보호하기 위한 일반적인 보호 조치는 소프트웨어 보안 기술인 암호화 알고리즘에 의존하며, 칩 내부의 데이터를 얻기 위해 해독, 암호화 키 등의 소프트웨어 수준 공격 기술이 사용된다(1). 최근 국내외의 여러 기관에서 칩의 물리적 공격에 의한 해킹에 대한 우려로 소프트웨어 보안 시스템의 문제점이 크게 제기되고 있다.
칩에 가해지는 물리 공격은 칩의 손상이 발생했는지 여부에 따라 구별해 보면 다음과 같은 분류로 구분할 수 있다.
- 칩 내부의 동작에 수반하는 전류 소비 패턴 등의 서브 채널 정보를 해석하여 내부 비밀 정보를 취득하는 서브 채널 공격(side channel attack) 또는 비침입형 공격(non-invasive attack)
- 클럭, 전원 등을 이용하거나 레이저 등에서 동작 에러를 발생시키는 에러 주입 공격(fault injection attack) 또는 준삼투형 공격(semi-invasive attack)
- 칩의 디캡이나 리버스 엔지니어링, 마이크로 프로브, FIB(focused ion beam) 등을 이용하여 칩 내부 정보를 취득하는 침입 공격(invasive attack)
소프트웨어 보안 시스템은 시스템의 하드웨어가 물리적 공격에 대해 안전하다는 보장이 있을 때 보안을 확립할 수 있으며, 이러한 소프트웨어 보안 시스템의 한계를 보완하기 위해 다양한 하드웨어 보안 시스템이 제안되었다.
Ⅱ.물리 공격
1. 물리 공격의 분류
물리 공격이란 시스템 자체에 물리적 손상을 가하거나 누설하는 정보를 고가의 기기나 기술로 분석하여 공격하는 방법으로 일부 공격의 경우 매우 효과적임을 알 수 있다.
되었습니다.
물리적 공격은 공격의 태도와 공격 시 손상이 발생하는지 여부에 따라 분류될 수 있다.
공격의 태도에 따라 수동형 공격과 능동형 공격으로 나눌 수 있으며, 데미지 발생 여부에 따라 침입 공격(Invasive attack), 준침입 공격(Semi-invasive attack), 비침입 공격(Non-invasive) attack)으로 분할된다.
2. 침입 공격(Invasive attack)
침투 공격은 칩 패키지에 직접 접근해 IC(Integrated circuit) 회로를 직접 관측하거나 칩 내부 구조를 분석하는 공격 방식이다.
고가의 장비와 숙련된 전문 기술이 필요하기 때문에 매우 큰 비용이 필요하지만, 각각의 소자나 메탈에 직접 접근하는 것이 가능한 한 매우 강력한 공격 수단이다.
이러한 침입 공격은 표 1과 같이 분류될 수 있다.
도 1 및 도 2는 침입 공격의 대표적인 예인 depackaging 및 microporbing, FIB를 이용한 회로 변경 공격의 예이며, 이러한 공격 방식을 이용하여 보안 관련 연산을 수행하는 회로를 무력화하는 경우 키 값이나 암호화로 보호되어야 하는 비밀 정보는 그대로 공개될 수 있습니다.
<表1>침투 공격의 종류
De-packaging | 회로에 접근하기 위해 회로를 덮는 물질을 제거합니다. |
Layout reconstruction | Delayering을 통해 리버스 엔지니어링을 수행하여 회로 레이아웃을 복원하고 회로 구조를 식별합니다. |
Probing | Probe를 사용하여 정보를 읽고, 변경하고, 주입합니다. |
회로 수정 | FIB를 이용하여 fuse를 접속하여 test-mode를 재동작시키거나 일부 회로를 bypass하는 방법 등을 이용하여 원하는 형태로 회로를 변경 |
그림 1. 침입 공격의 예: depackaging 및 microprobing (4)
그림 2. 침입 공격의 예: FIB를 통한 회로 변경 공격 (4)
3. 준침투 공격(Semi-Invasive attack)
칩에 직접적인 물리적 액세스 없이 레이저 광선 등을 이용해 에러를 주입하고 거기에 따른 오동작을 분석하는 공격 방식이다.
칩의 Packaging을 제거한 후에 에러를 유발시키는 방법이나 외부로부터 전기적 스파이크를 일으켜 에러를 유발시키는 방법 등이 있다.
공격 방법에 따라 De-package가 필요한 경우도 존재하며, 이 경우 칩은 동작 가능한 상태로 패키지를 제거할 수 있어야 한다.
준침투 공격에 의한 오차를 일으키는 방법은 표 2와 같다.
에러는 원상복구의 유무에 따라 Provisional/Transient fault, Destructive/Permanent fault와 크게 2개로 분류할 수 있다.
Provisional / Transient fault는 일시적이며 원상 복구가 가능하며, 에러 요인 중단시에 칩은 정상 상태로 복구할 수 있다.
따라서 공격 후 시스템 작동이 가능하며 동일한 칩에서 많은 실험이 가능합니다.
Destructive / Permanent fault는 영구적으로 원상 복구가 불가능하며 칩의 전체 구조를 수정하는 방식의 공격이다.
위의 두 가지 오류 유형은 표 2와 같습니다(5)
<表2> 준 침투 공격의 오류 유도 방법 (5)
전압 변화 | 전압을 비정상적으로 변경하는 방법으로 정확한 타이밍은 필요하지 않습니다. 균일하게 오차가 발생하고 크기에 관계없이 효과적이며 쉽고 증거가 남지 않습니다. |
전원 공급 글리치 | 전압 공급시에 Spike나 Brownout를 발생시켜 특정 주기로 명령이 실행되지 않도록 한다. 별도 제작한 회로에서 동기와 지속시간을 정확하게 맞출 수 있어야 한다. (상호 유도 현상으로 인한 어려움) |
시계 변화 | 클록주기를 증가 또는 감소시켜 오동작을 유도한다. 공격 장치는 공격 대상보다 빠른 클럭 속도를 가져야 합니다. (제품의 속도가 빨라지고 있고, 공격도 어려워지고 있다) |
시계 글리치 | Glitch를 주입하여 오작동을 일으킵니다. |
Xray & Ion beams | X-ray, Ion beams 등으로 RNG나 일부 회로의 오동작을 유발한다. De-packaging 없이 공격 가능하다. (방어 대책이 적용된 특수 패키지된 경우, 디패키징이 필요) |
히트 | 온도가 상승하면 DRAM에서 오류가 발생합니다. (100℃ 이상에서 32-bit 워드당 약 10-bit가 반전) 너무 강한 열로 인해 회로가 파괴될 수 있습니다. |
High energy light | 매우 짧은 순간에 집중된 빛을 비추고, 광전 효과에 의한 전류를 통해 오차를 일으킨다. UV 램프를 사용하면 Erasable EPROM 또는 FLASH 메모리 셀의 내용을 지울 수 있습니다. |
레이저 | 방향성/직진성은 매우 좁은 특정 부분에 에너지를 집중시켜 오류(예: 비트 플립)를 주입할 수 있습니다. 강도, 파장, 지속력, 스폿 사이즈 등의 조정이 용이합니다. |
4. 비침입 공격 (Non-invasive attack)
비침입 공격은 서브채널 공격(Side channel Attack)을 통해 데이터를 분석하고 획득하는 공격입니다.
이러한 서브채널 공격은 칩이 동작할 때 물리적 공격을 통해 유출되는 비밀 정보를 이용할 수 있다.
이 공격은 주로 중요한 암호화 알고리즘을 파괴할 수 있는 강력한 공격입니다(1). 서브 채널 공격은 서브 채널 정보에 따라 시차 공격, 전력 분석 공격, 전자기파 분석 공격 등으로 분류될 수 있다.
시차 공격은 각 입력 데이터에 따라 변화하는 연산의 시간과 연산 횟수를 관찰하여 분석하는 방법이다(2, 6). 전력 분석 공격은 공격 대상의 전력 소비를 통해 비밀 키를 추출하는 방식으로, 부채널 공격 중 가장 위협적인 공격인 전자파 분석은 공격 대상 암호화 장치에서 방사되는 전자파 신호를 분석하는 방법 이다.
원거리로부터의 정보의 습득이 가능하고 다채널로 구성되어 있어, 전력 해석 공격 대응 장치에서도 전자파 정보의 해석이 가능하다는 이점이 있다(2, 7). 상세한 서브채널 공격의 종류는 표 3과 같다.
<表3> 서브 채널 공격 유형
시차 공격 (2, 6) | 대표적인 공개키 알고리즘인 RSA의 경우, 키의 각 비트값에 의해 내부에서 행해지는 연산의 종류가 다르기 때문에, 이것을 관찰하여 키값을 추출한다. |
전력 분석 공격(2, 7) | 단순 전력 분석(Simple power analysis: SPA) : 특정 명령이 실행되는 한 데이터에 의존하는 전력 소비를 분석합니다. 비밀정보를 추측하는 방법이다. SPA는 공격자가 공격하고 싶은 시점을 구현하는 방법을 정확하게 알아야 할 단점이 있습니다. 차동 전력 분석 (Differential power analysis : DPA) : 비밀정보비트와 소비전력의 통계적 상관관계를 이용하여 |
전자파 분석 공격(7) | 단순 전자기파 분석(Simple electro-magnetics analysis: SEMA)과 차동 전자기파 분석(Differential electro magnetics analysis: DEMA) SPA와 DPA 기술을 전자파로 측정하는 공격으로 소비 전력이 측정되지 않는 경우에 유용한 방법이다. |
Ⅲ.물리 공격에 대한 방어 기술
침입 공격에 대한 대표적인 방어 기술은 내부 회로 파악, 마이크로 프로브, FIB 등을 어렵게 하기 위한 그림 3과 같은 톱 메탈 메쉬의 형태가 있다.
그러나 금속의 구조가 파악되는 경우 FIB 등을 이용하여 구멍을 열거나 우회하는 것이 가능하다.
또한 리버스 엔지니어링을 어렵게 하기 위해 dummy 모듈을 삽입하는 방법도 있습니다.
Dummy 모듈과 dummy bus를 추가하여 칩 분석을 어렵게 하고, 그 밖에도 시차의 연산 시간, 전력 소비 등의 변화를 통해 Leakage reduction에도 유용하다(1). 그러나 Dummy만큼 면적과 비용이 증가하는 단점이 있다.
그림 3. Top layer Sensor mesh의 모습(3)
또한, 준침투 공격(에러 주입 공격)의 방어를 위해 에러를 발생시키기 위해 비정상적인 환경(너무 높고, 저전압, 온도 등)이 만들어지거나, 빛이나 레이저 등이 사용되기 때문에, 을 감지할 수 있는 센서를 갖추고 있거나 외부의 영향을 받지 않도록 내부에서 전압이나 클럭 주파수를 제어하는 방법이 사용됩니다.
센서 방어 기술은 온도, 자외선, 적외선, X선, 전리 방사선, 클록 주파수, 전압 등을 감지하는 센서를 내장한다.
특정 범위를 벗어나는 경우, 동작을 정지시키는 것과 같은 방어 기술을 수행한다.
그러나, FIB 등으로 센서 출력 신호를 우회하여 무력화시킬 수 있는 단점이 있다.
서브 채널 공격의 방어 기법의 종류로는 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) 등의 설계 기법, 서브 채널에 흐르는 전류와 비밀 정보의 의존성을 감소시키는 방법 적용됩니다.
노이즈 주입 방어 기술은 SNR을 측정하여 서브채널에 인공적인 노이즈를 주입하여 서브채널 정보를 줄이는 방법입니다.
Key update 방어 기술은 비밀 키를 정기적으로 update 하는 방식이며, secure scan chains 방어 기법은 내부 민감한 레지스터에의 액세스를 차단한다.
Ⅵ.단어
보안 칩에 대한 물리 공격 기술과 이에 대한 방어 기술은 마치 창이나 방패처럼 끊임없이 발전하고 있다.
세계적으로 보안 칩의 물리적 공격과 방어 기술에 대한 관심이 높아지고 있으며, 향후 보안 칩의 물리적 공격에 대한 대응 기술의 중요성은 점점 증가할 것으로 예상된다.
참고문헌 (1) Rostami, Mohamad, Farinaz Koushanfar 및 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페이지) (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, JM, Danger, JL, Guilley, S., Naccache, D. 및 Porteboeuf, T. (2012, 9월). 랜덤 액티브 실드. 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월 서울대 전기공학부 공학사 관심 |