N 뉴스

IoT 노드의 기술적 방어 및 보호 방법

IoT 노드의 기술적 방어 보호 방법
 
글: 스테판 디 비토(Stephane di Vito) 아나로그디바이스 마이크로, 보안 및 소프트웨어 담당 수석 MTS / 로버트 머치셀(Robert Muchsel) 아나로그디바이스 마이크로, 보안 및 소프트웨어 담당 펠로우 / 돈 루미스(Don Loomis) 아나로그디바이스 마이크로, 보안 및 소프트웨어 담당 부사장
 
 
오늘날 연결된 사물 인터넷(IoT) 노드의 수는 불과 10년 전보다 10배 넘게 증가해 오늘날에는 약 100억 대에 달하며, 이러한 추세는 계속 이어지고 있다. 이 같은 성장은 악의적인 공격자에게도 그만큼 기회가 늘어난다는 것을 뜻한다. 사이버 공격으로 인해 소요되는 연간 비용은 수백억 달러에서 1조 달러가 넘는 것으로 추정되며, 이 역시 계속 증가하고 있다. 따라서 이제 보안을 고려하는 것은 IoT의 성공적인 확장을 지속하는 데 있어 필수이다. IoT 보안은 IoT 노드의 보안에서 시작된다.
어떤 회사도 "데이터 침해 사고로 고객 정보 도난"과 같은 제목의 기사에 자신들의 이름이 언급되기를 원하지 않는다. 뿐만 아니라 연결된 장치는 미국 식품의약국(FDA)의 의료 기기 규정, 미국/유럽의 인더스트리 4.0 주요 인프라에 대한 사이버 보안 요건, 그리고 자동차 산업에 대한 새로운 몇 가지 표준과 같은 정부 규정을 따라야 한다. 이러한 요건들은 하드웨어 기반 보안을 사용하도록 명시적으로 규정하지는 않더라도 높은 수준의 보안을 요구한다. 그러나 IoT 노드는 대부분 방대한 양의, 비용 최적화된 기기들이므로 보안과 비용의 균형을 맞추기가 까다롭다.

 

‘신뢰점(Roof of Trust)’을 이용한 보안 노드 구축


그렇다면 비용 효율적이면서도 안전한 IoT 노드를 설계할 수 있는 방법은 없을까. 안전한 IoT 노드의 생성은 노드에 보안 관련 서비스를 제공하도록 설계된, 작고 저렴한 IC인 ‘신뢰점(‘보안 소자’라고도 함)’에서 시작한다. 이러한 기능의 예로는 기밀성을 유지하기 위한 데이터 암호화와, 정보의 진정성과 무결성을 보장하기 위한 디지털 서명이 있다. 신뢰점의 궁극적인 목표는 데이터 암호화 또는 디지털 서명에 사용되는 보안 키가 노출되지 않도록 보호하는 데 있다.


그림 1. ‘신뢰점’ 개념은 보안 관련 서비스의 진정성과 무결성을 보장한다.
‘신뢰점’ 보안 IC의 가장 큰 과제는 직접 계측 및 이른바 ‘사이드 채널 공격’과 같은 물리적 공격을 막아내는 것이다.

 

물리적 복제 방지 기술(PUF)


유감스럽게도 직접 계측은 마이크로 회로의 내부를 관찰하려고 시도하기 때문에 범용 마이크로컨트롤러(EEPROM 또는 플래시)에 일반적으로 사용되는 메모리 기술은 안전하지 않다. 공격자는 SEM(Scanning Electron Microscopy)을 사용하여 비교적 큰 비용을 들이지 않고도 메모리에 저장된 내용을 직접 볼 수 있다. 반도체 업계는 이러한 위험을 완화하기 위해 ‘물리적으로 복제 불가능한(PUF)’ 기술을 개발했다. PUF는 칩 본래의 물리적 특성으로부터 고유한 키를 도출하는 데 사용된다. 이러한 특성은 직접 계측하기가 훨씬 어렵기 때문에 직접 계측을 통해 키를 추출하는 시도는 비실용적이다. 경우에 따라 PUF에서 추출한 키가 신뢰점의 나머지 내부 메모리를 암호화함으로써, 해당 장치에 저장된 다른 모든 키와 인증 정보를 보호한다.


그림 2. PUF 기술은 마이크로 회로의 직접 계측 위험을 완화한다.
 
사이드 채널 공격은 비용이 덜 들고 덜 직접적이다. 공격자는 그들이 조작하고자 하는 데이터 서명이 예컨대 전원 공급장치나 무선 또는 열 방출을 통해 전자 회로로부터 누출되는 경향이 있다는 점을 이용한다. 측정된 신호와 처리된 데이터 사이에는 미묘한 상관관계가 있기 때문에, 회로가 예를 들어 데이터를 해독하기 위해 해당 키를 사용할 때 적당히 복잡한 통계 분석을 수행하면 비밀 키의 값을 성공적으로 추측할 수 있다. 신뢰점은 다양한 대응조치를 사용하여 이러한 데이터 유출을 방지하도록 설계된다.

 

보안 IC를 사용하는 애플리케이션 사례


하드웨어 기반 ‘신뢰점’의 이점은 그림 3의 보안 애플리케이션 유형에서 분명하게 나타난다. 사용된 프로토콜은 시도/응답(challenge/response) 인증 프로토콜이다.
1.           계량기가 명령 전송을 준비하기 위해 펌프에 시도(challenge)를 요청한다.
2.           펌프는 난수 R을 사용하여 요청자에게 시도 값을 전송한다.
3.           계량기는 개인 키를 사용하여 명령, 난수 R 및 일부 고정 패딩에 서명한다. 이 작업은 계량기의 신뢰점으로 넘겨진다.
4.           펌프는 유효한 명령의 사소한 재전송을 피하기 위해 서명이 정확한지, 그리고 난수가 앞에서 보낸 동일한 번호인지 검증한다. 이 작업은 펌프의 신뢰점 IC로 넘겨진다.


그림 3. 인슐린 펌프 인증은 신뢰점의 간단한 사례이다.
 
이 프로토콜의 보안은 명령을 보내려는 새로운 시도를 할 때마다 새로운 난수를 필요로 한다는 사실 외에, 명령 인증에 사용되는 개인 키의 비밀성과 인증 검증에 사용되는 공개 키의 무결성에 의존한다. 이러한 키가 일반 마이크로컨트롤러 내부에 저장된다면, 이들 키를 추출하거나 조작할 수 있으며, 가짜 계량기 또는 펌프를 만들어 환자의 안전을 위협할 수 있다. 이 경우, 신뢰점 IC는 계량기나 펌프를 위조하거나, 인증 정보를 조작 또는 통신 프로토콜을 변조하는 것을 훨씬 더 어렵게 만든다.

 

전용 보안 IC의 이점


통상적으로 노드 장치 설계가 견고하면 해당 장치를 침해하는 비용이 공격자가 얻을 수 있는 잠재적인 보상보다 훨씬 크다. 전용 보안 IC를 사용하는 아키텍처는 다음과 같은 커다란 이점을 제공한다.
  • IoT 보안은 끝이 없는 전쟁이다. 공격 기법은 계속 발전하고 있으며, 동시에 보안 IC 공급회사는 보안 IC 공격에 막대한 비용이 들도록 대응책을 계속 강화하고 있다. 보안 IC를 업그레이드함으로써 전반적인 장치 설계와 비용에는 거의 영향을 미치지 않으면서 연결된 장치에 대한 보안성은 높일 수 있다.
  • 애플리케이션 프로세서와는 별도로 분리되어, 강력하게 변조 방지된 물리적 환경에서 핵심 기능에 집중함으로써 규정 준수성에 대한 평가 시 보다 수월하게 ‘보안 증명’을 달성할 수 있다. 이 같은 격리는 또한 장치의 애플리케이션 프로세서의 취약점을 악용하기 어렵게 만들기 때문에 완전히 탐지하고 제거하기가 매우 어렵다.
  • 보안 IC에 대한 커미션 작업을 보안 IC 제조회사가 조기에 맡으면 IoT 노드의 보안성을 제품 수명 내내 보다 쉽게 보장할 수 있다. 이러한 접근법은 민감한 정보를 계약 제조회사와 공유할 필요성을 없앨 뿐 아니라, 안전한 개인화 흐름과 안전한 OTA 업데이트가 가능하게 한다. 오버빌딩과 복제도 훨씬 더 어려워진다.
 

결론


일반적으로 연결 시스템은 많은 요소들로 구성되며, 보안은 설계 초기부터 고려되어야 한다. IoT 노드를 안전하게 보호하는 것은 비록 유일한 단계는 아니지만, 필수적인 단계이다.
ADI의 임베디드 보안 디바이스에 대한 정보는 여기에서 확인할 수 있다.