배너
닫기

테크노트

배너

[기고] IoT에 보안을 더하다 (下)

  • 등록 2019.04.30 15:32:29
URL복사

[첨단 헬로티]



개인키

개인키 자체가 보안에 매우 중요하기 때문에 개인키는 장치의 애플리케이션 데이터에 사용되는 영역과 분리된 메모리 영역에 저장할 필요가 있다. 신뢰할 수 있도록 이들 키와 인증서는 유효해야 하고, 허가 받지 않은 사용자가 읽지 못하도록 방지하는 하드웨어에 있는 보안 회로에 의한 검사로부터 보호되어야 한다.


암호화 프로세서는 전체 비밀키와 인증서를 장치 내에서 실행하는 다른 소프트웨어에 노출하는 위험 없이 장치를 안전하게 인증하고 통신하는 데 필요한 프로토콜에 대한 직접적인 지원을 제공함으로써 구현을 완성한다. 이러한 기능들이 결합하여 임베디드 디바이스를 위한 '신뢰 기반(root of trust, RoT)’을 생성한다.


신뢰 기반(RoT)

초기 IoT 제품의 미흡한 보안에 대해 많은 비판이 있었지만, RoT 개념을 기반으로 하는 기반 구조가 이미 존재하며, 광범위하게 구현되고 있다. 일례로 GSM과 이후의 3GPP 표준을 지원하도록 설계된 디지털 모바일폰은 구성의 핵심 부분으로 강력한 보안을 통합하고 있다. 모바일폰에 공통적으로 들어가는 가입자 식별 모듈(SIM)은 암호화 프로세서와 보안 메모리를 결합하여 완전한 일련의 PKI 동작을 지원한다.


SIM 제조업체는 완벽하게 신뢰할 수 있는 공급망 구현을 통해 마스터 개인키가 보호되도록 보장한다. 이는 제조 중에 위험을 무릅쓰고 키와 인증서를 손상시키면서 장치를 조작할 방법이 없도록 보장한다. 모바일폰 SIM 시장의 장기간에 걸친 경험은 IoT도 마찬가지로 안전하게 보호할 수 있다는 것을 보여준다.


공격자가 잠재적으로 그러한 보안 시스템에 접근할 수 있는 한 가지 방법은 시스템 펌웨어를 훼손하여 키를 읽거나 펌웨어를 변경함으로써 보호되지 않은 데이터를 도청자에게 중계하는 것이다. 모바일폰에서 사용되는 것과 같은 보안 아키텍처의 성공에서 핵심적인 요소는 RoT를 제공하는 데 사용되는 하드웨어 모듈로서, 이는 근본적으로 공격의 경로를 차단할 수 있다.


RoT의 주요 기능과 여기에 포함된 보안 메커니즘은 장치가 부팅될 때 인증된 코드만 실행하도록 하고 알 수 없는 외부자가 이를 손상시키지 못하도록 보장하는 것이다. 이것은 보안 부트로 알려져 있다. 장치가 시동을 하고 온보드 ROM으로부터 코드를 읽을 때 장치는 각 주요 세그먼트가 인증된 공급업체에 의해 서명되었는지 확인한다. 공급업체는 개인키를 사용하여 코드 블록에 서명한다. 이러한 서명 과정은 코드 자체가 개인키와 결합된 단방향 해시를 생성한다. 하드웨어 신뢰 구성요소는 해시를 검사하여 진위여부를 확인한다. 코드베이스에 대한 어떠한 변경도 설치 또는 업데이트 전에 신뢰 모듈에 의해 검사되는 적절한 키를 사용하여 서명되어야 한다.


장치가 부적절하게 서명된 코드 블록을 만나면, 장치는 일반적으로 영향을 받은 소프트웨어 로딩을 차단하고, 복구 상태로 이동해 원래의 공급업체로부터 인증된 코드를 얻는(보통 ROM에 저장된 공장 출고 시 코드로 되돌리는) 시도를 하고, 가능한 경우에는 서버에 경보를 전송한다.


하드웨어 신뢰 모듈 없이 일부 형식의 보안 부트를 구현할 수는 있지만, 해커가 펌웨어까지 충분히 깊이 침투했다면 부트 과정을 적절히 멈추도록 보장하기 어렵다. 하드웨어 신뢰 모듈의 프로세서는 해시가 올바른 경우에만 호스트 프로세서를 대신해 펌웨어의 주요 부분의 암호 해독을 수행하고, 그리고 올바른 해시나 키를 가지고 있지 않은 모든 소프트웨어 구성요소에 대해서는 암호 해독 서비스를 거부함으로써 보안을 실행한다.



IoT 기기의 보안

장치가 적절히 부팅되면, PKI 메커니즘을 사용하여 네트워크에 자체적으로 인증할 수 있다. 보통 장치는 일반적으로 사용되는 HTTP(HyperText Transfer Protocol)에 부속된 TLS(Transport Layer Security)와 같은 프로토콜을 사용하여 안전한 통신을 구성한다. 반대로 IoT 기기는 신뢰할 수 있는 다른 장치나 서버로부터만 명령을 받도록 보장할 필요가 있다. 하드웨어 신뢰 모듈이 다른 장치의 디지털로 서명된 인증서를 보호된 메모리에 저장된 키와 비교해 검사함으로써 장치는 인증된 시스템하고만 통신하도록 보장할 수 있다.


서비스 프로파일은 시간이 지남에 따라 변하기 때문에 PKI 교환을 사용하여 인증서를 추가하거나 삭제할 수 있다. 이렇게 하면 시간이 지나도 서비스를 향상시킬 수 있고, 더 이상 네트워크의 일부가 아니거나 훼손된 것으로 알려진 다른 시스템을 신뢰 목록에서 제거할 수 있다. 이와 같이 IoT 제조업체는 다른 시장의 경험을 바탕으로 장치와 데이터, 그리고 연결된 애플리케이션의 무결성을 보호할 수 있다.


글 / 마크 패트릭(Mark Patrick), 마우저 일렉트로닉스(Mouser Electronics)



















주요파트너/추천기업