포괄적 하드웨어 보안 구현 | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

포괄적 하드웨어 보안 구현


PDF 다운로드



자료제공 / 래티스 반도체


요즘 뉴스의 중심은 인터넷 연결 디바이스의 취약점을 발판 삼아서 데이터 도용이나 디바이스 하이재킹이 발생하고 있다는 것이다. 2018년 한 해에만, 하드웨어에 대한 공격으로 인해서 다양한 종류의 시스템에 사용되는 30억 개 칩이 데이터 도용, 부적절한 동작, 그 밖에 다른 보안 관련 위협을 당했다. 보안이 되지 않은 하드웨어는 시스템 신뢰성과 성능을 해칠 뿐만 아니라 고객의 만족도를 떨어뜨릴 수 있다. 더 심하게는 기업의 재무 성과와 브랜드 명성에도 영향을 미치고 기업의 평판과 수익성을 떨어뜨릴 수 있다.


기업들은 데이터 도용, 데이터 손상, 장비 하이재킹, 복제, 설계 도용 같은 보안 위협을 방어할 수 있는 보안 하드웨어를 원하고 있다. 보안 위협은 더 이상 현장에 구축되어 있는 시스템에만 국한되지 않는다. 공격자들은 제품의 전체 수명에 걸쳐서 허점이 보이는 어느 지점에서나 공격을 하려고 노리고 있다. 여기에는 최초의 부품 제조에서부터 조립 제품 제조사나 시스템 통합 기업으로의 출하단계까지, 그리고 전체적인 작동 수명에 이르는 모든 단계들이 포함된다. 그러므로 시스템의 제품 수명 주기 전반에 걸쳐서 하드웨어를 이러한 위협들로부터 보호할 수 있는 견고한 보안 솔루션이 필요하다.
그러면 이 문제를 어떻게 해결해야 할까? 해결책은, 시스템 보호를 위한 암호화 기능을 제공하는 플랫폼으로 사용할 수 있는 한 개 이상의 RoT(root-of-trust) 디바이스를 구축하는 것이다. 여기에는 데이터 암호화, 데이터 인증, 펌웨어 인증, 시스템 인증, 코드/구성 암호화를 포함한다.
RoT 디바이스는 전체적인 시스템을 보호하기 위한 신뢰 사슬에 있어서 첫 번째 고리이다. 맨 먼저 신뢰할 수 있는 디바이스(통상적으로 PLD, FPGA, MCU)를 식별한 다음에, 이를 토대로 시스템 하드웨어를 보호하기 위해서 필요한 암호화 기능들을 실행할 수 있다. RoT 디바이스는 스스로의 설정을 검증하기 위한 하드웨어를 포함해야 하며, 파워업을 할 때 맨 먼저 부트를 하고 파워오프를 할 때에는 맨 나중에 셧오프 하는 디지털 디바이스여야 한다.
보안에 대한 위협이 나날이 증가하고 정교해지고 있는 상황에서, 시스템 설계자들은 보안 아키텍처를 어떻게 설계해야 할 것인가? 가장 우선적이고 중요한 점은, 펌웨어에 대한 새로운 공격 기법과 기존 공격 기법을 모두 방어할 수 있도록 솔루션이 견고해야 한다는 것이다. 설계자들은 자신이 설계하는 솔루션의 능력을 평가할 수 있도록 하기 위해서, 미국 국립 표준 기술 연구소 (NIST)는 최근에 새로운 보안 메커니즘 통일안을 정의했다. NIST SP 800 193 플랫폼 펌웨어 복원(PFR) 가이드라인은 모든 시스템 펌웨어에 대해서 RoT를 포괄적으로 구축할 수 있도록 설계되었다.
이 가이드라인은 다음과 같은 3가지 원칙을 염두에 두고 개발되었다:
* 보호: 액세스 제어를 통해서 비휘발성 펌웨어 메모리 보호
* 감지: 악의적인 코드를 사용해서 부팅하려는 것을 암호학적으로 감지하고 방지
* 복구: 손상이 발생했을 경우, 가장 최근의 신뢰할 수 있는 양호한 펌웨어로 복구

엔진 옵션

하드웨어 보안을 위한 엔진은 전력 소모가 적고 설계 유연성이 높으며 확장성이 뛰어나고 공간적으로 풋프린트를 적게 차지해야 한다. MCU는 컴퓨팅 자원면에서는 우수하나, 다른 시스템 프로세서나 장치들을 부팅하기 위해서 필요한 여러 기능들을 제공하지 못한다. 일단 MCU를 실행하고 있는 동안에는 자체적인 부트 메모리를 모니터링하기가 어렵다.
FPGA는 MCU에 비해 훨씬 유리하다. 많은 경우에 FPGA는 맨 먼저 파워업하고 시스템 부트를 중재하며 시스템 셧다운을 한 다음에 맨 나중에 셧다운한다. 이처럼 맨 먼저 켜지고 맨 나중에 꺼진다는 점에서 RoT를 구축하기 위한 용도로 적합하다. FPGA의 병렬적 특성을 활용해서 여러 메모리를 병렬로 검사할 수 있어 부트 시간도 크게 줄일 수 있다. MCU와 달리, FPGA는 실시간 모니터링을 통해 비휘발성 저장 장치를 보호할 수 있다. 끝으로, FPGA는 시스템 손상이 발생한 경우, 펌웨어 복구에 필요한 로직과 인터페이스를 제공한다.

래티스 MachXO3D ? 포괄적인 하드웨어 보안을 위한 RoT FPGA
다양한 애플리케이션에서 갈수록 높아지는 펌웨어 보안 요구를 충족하기 위해서, 래티스는 MachXO3D FPGA를 출시했다. MachXO3D는 시스템 펌웨어 보안을 위한 시스템 제어 애플리케이션용 최초의 소형 저전력 FPGA로서, 컴퓨팅, 통신, 산업 제어, 자동차 같은 다양한 애플리케이션에 사용할 수 있다. 이 새로운 디바이스를 사용해서 제품 수명 주기 전반에 걸쳐서 포괄적이고 유연하고 견고한 하드웨어 보안 시스템을 구현함으로써 데이터 도용, 데이터 무단변경, 설계 도용, 제품 복제, 오버빌드, 디바이스 무단변경, 하이재킹으로부터 시스템을 보호할 수 있다. 앞서 출시되어서 다양한 제어 PLD 애플리케이션에 널리 사용 중인 MachXO3 디바이스와 핀 호환이 가능하다.

통합 간소화

MachXO3D를 설계할 때 가장 염두에 둔 것은, 펌웨어 보안을 간편하게 구현할 수 있도록 하는 것이었다. 어떻게 하면 개발자들이 새로운 디바이스를 보다 쉽게 사용할 수 있게 할 것인가 고민했다. 모든 통신 시스템과 서버의 50퍼센트 이상에 MachXO 아키텍처를 기반으로 한 제어 PLD가 사용되고 있기 때문에, 새로운 디바이스를 기존 아키텍처와 핀 호환이 가능하도록 설계했다. 따라서 개발자들은 기존 제어 솔루션에 새로운 보안 기능을 손쉽게 추가할 수 있다. 새로운 보안 기능에 대한 요구가 갈수록 높아지고 있고 XO 아키텍처가 널리 채택되어 있다는 점을 고려할 때, 5개 이상의 주요 서버 업체들이 MachXO3D 기반의 서버 설계를 위해서 래티스와 협력하고 있다는 점은 그리 놀랄 일이 아니다. MachXO3D를 맨 먼저 켜지고 맨 나중에 꺼지는 디바이스로 사용함으로써 RoT와 신뢰 사슬을 쉽고 빠르게 구축할 수 있다.


유연한 보안성 구현 및 시스템 무결성 유지
* 대부분의 제어 PLD에 MachXO 아키텍처 사용 
* MachXO3와 MachXO3D가 핀 호환 가능
* MachXO3D를 맨 먼저 켜지고 맨 나중에 꺼지는 디바이스로 사용함으로써 간편하게 신뢰 사슬 구현
* 이미 5개 이상의 서버 업체들이 MachXO3D 채택? 이미 5개 이상의 서버 업체들이 MachXO3D 채택

AR(포괄적)-1.jpg

[그림 1]

포괄적 보안 구현
갈수록 높아지는 하드웨어 보안 요구를 충족하기 위해서, 래티스는 MachXO3D FPGA의 제어 PLD 기능에 임베디드 보안 블록을 추가했다. 이로써 다양한 보안 위협을 방어할 수 있도록 하드웨어 RoT와 다양한 암호화 기능들을 제공한다.

* 설계 보안과 IP 도용을 방지하도록 비트 스트림 암호화 기능을 제공한다.
* 기업의 수입원과 브랜드를 보호하도록 보안 디바이스 ID 기능을 제공한다. 이 기능을 다른 보안 기능들과 결합해 사용함으로써 디바이스/플랫폼 인증을 할 수 있다.
* 타원 곡선 암호화, 공용 키 사설 키 기능, AES 암호화 및 암호해독 기능을 사용해서 데이터 도용을 방지한다.
* 타원 곡선 인증과 서명 생성 기능을 사용해서 펌웨어와 데이터를 인증하고 검사할 수 있다.

AR(포괄적)-2.jpg
[그림 2] MachXO3D 아키텍처

공고한 NIST 호환성 실현
MachXO3D는 최초로 NIST SP 800 193 플랫폼 펌웨어 복원(PFR) 가이드라인을 충족하는 제어용 FPGA이다. 액세스 제어를 통해서 비휘발성 메모리를 보호하고, 악의적인 코드를 사용한 부트를 감지하고 차단하며, 손상이 발생했을 경우 가장 최근의 신뢰할 수 있는 펌웨어로 복구한다. 또한 MachXO3D는 어느 때나 I/O 포트를 역동적으로 재구성할 수 있으므로 시스템의 공격 표면적을 최소화한다.

유연한 구현

MachXO3D를 개발할 때 염두에 둔 또 다른 중요한 점은 설계 유연성이다. 래티스의 많은 고객들이 장비를 현장에 구축한 후에 시스템을 향상시킬 수 있기를 원했다. 이러한 재프로그램 가능성은 공격에 역동적으로 대처할 수 있게 해준다. FPGA를 손쉽게 업데이트해서 새로운 펌웨어 공격을 막아낼 수 있다. 래티스의 개발자들은 프로그램 가능성을 해치지 않으면서 견고한 보안 기능을 제공하도록 개발했다.

이러한 상충적인 요구들을 충족하기 위해서 MachXO3D는 두 가지 기능을 추가하고 있다. 하드웨어 기반 구성 엔진의 일부로서 코드 인증 기능을 지원하므로, 로드된 각각의 구성이 올바른 디지털 서명인지 확인한다. 또한 MachXO3D는 추가적인 온칩 플래시 메모리를 사용해서 항상 두 버전의 디바이스 구성을 저장한다. 이러한 듀얼 부트 기능 덕분에, 손상이 발생되었을 경우에 자동으로 백업 구성으로 전환한다.

주요 애플리케이션

MachXO3D는 다양한 시장의 다양한 애플리케이션에 사용할 수 있도록 설계되었다. 대표적인 애플리케이션으로는 스위치와 라우터를 비롯한 5G 무선 통신 장비, 서버와 엔터프라이즈 컴퓨터, 공장 자동화, 산업용 IoT 디바이스를 들 수 있다.

아래 그림은 보안 서버에서 MachXO3D를 사용한 구현 사례를 나타낸 것이다. MachXO3D 외에도 보드 관리 컨트롤러(BMC), 메인 CPU, 다수의 CPU 또는 FPGA를 포함한다. 통상적으로 제어 PLD라고 하는 소형 FPGA가 모든 리셋과 전원 공급 제어를 관리한다. 모든 프로세서가 SPI나 Quad SPI 메모리를 통해서 부트를 한다. 이 소형 FPGA에 MachXO3D를 사용하고 소형 스위치를 추가함으로써 서버 보안을 업그레이드할 수 있다. 이 구성은 FPGA가 스스로 부팅하고, 각각의 SPI 메모리를 검사하고, 이들 장치를 부팅할 수 있도록 한다(단, 메모리가 올바르고 적절하게 서명되어 있어야 한다). 만약 SPI 메모리가 올바르지 않으면 MachXO3D가 시스템을 셧다운하거나 사용자 지정에 따라서 다른 소스로 재구성하는 것과 같은 조치를 취할 수 있다. 또한 시스템이 부팅을 한 후에는 다양한 SPI 메모리에 대한 액세스를 모니터링해서 허가되지 않은 쓰기를 방지한다.

AR(포괄적)-3.jpg

[그림 3]

제품의 전체 수명 주기에 걸친 보안

제품 수명 주기 전반에 걸쳐서 갈수록 높아지는 보안 요구를 충족하기 위해서 래티스는 공용 키 암호화를 사용해서 보안적이지 않은 환경에서 프로그래밍을 보안적으로 할 수 있도록 디바이스 테스트 통합 플로우를 변경했다. 이로써 각각의 디바이스에서 수명 주기 전반에 걸쳐서 보안을 유지한다. 디바이스가 래티스 공장을 떠나는 순간부터 제품 수명이 다할 때까지 보안을 계속해서 유지할 것으로 확신할 수 있다.

맺음말

오늘날의 디지털 시스템은 갈수록 더 많은 공격에 노출되고 있다. 해커들이 시스템 취약성을 찾아내고 이를 통해서 데이터와 설계를 도용하거나, 제품을 무단으로 조작하거나, 복제 제품을 만들 수 있다. 이러한 공격은 제품 수명 주기의 모든 단계에서 일어날 수 있다. 2018년만 하더라도 보안적이지 않은 펌웨어에 대한 공격으로 컴퓨팅, 통신, 산업 제어, 자동차 시스템 등에 사용되는 수십억 개의 IC가 보안 위험에 노출되었다. 궁극적으로, 보안에 취약한 하드웨어는 기업들에게 금전적으로 막대한 손해뿐만 아니라 브랜드 명성에도 악영향을 끼칠 수 있다.

그렇다면 설계자들이 이러한 위협을 어떻게 방어하고 시스템을 보호할 것인가? 해결책은 바로 하드웨어 RoT와 신뢰 사슬 기법을 기반으로 한 포괄적이고 유연하고 견고한 보안 시스템을 구현하는 것이다. 래티스의 새로운 MachXO3D FPGA를 사용함으로써 하드웨어 RoT와 듀얼 부트 기능을 사용해서 보안을 향상시킬 수 있다. 또한 이 새로운 디바이스를 사용함으로써 수명 주기 전반에 걸쳐서 보안 솔루션 구현을 대폭 간소화할 수 있다.

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정