Veto: Prohibit Outdated Edge System Software from Booting
A boot control architecture that prevents outdated edge systems from booting by releasing disk keys only after remote attestation.
Overview
This paper presents a research prototype that demonstrates a boot control mechanism designed to prevent outdated but signed edge system software from booting. The system applies full disk encryption and withholds the decryption key until a remote trusted party authorizes the boot based on attestation results.
The prototype separates boot decision logic, network communication, and policy evaluation into distinct components. TrustZone is used to protect boot measurements and key handling, while network communication is delegated to an external Agent using hardware-based TCP/IP via WIZnet W5500.
The implementation focuses on validating the feasibility of a veto-based boot model rather than proposing a production-ready hardware architecture.
Key Features
- Boot authorization enforced by remote attestation
- Disk decryption key released only after policy approval
- TrustZone-protected boot measurement and key handling
- Network communication isolated from Secure World
- Hardware TCP/IP networking using WIZnet W5500
Hardware / System Architecture
System Flow / Operation
- Device powers on and executes the secure boot chain.
- Trusted Firmware-A runs in the Secure World.
- Boot measurements are evaluated by the Governor.
- The Agent sends attestation requests to the remote server via W5500 Ethernet.
- The remote trusted party evaluates policy compliance.
- If approved, the disk decryption key is released.
- The encrypted operating system boots.
- If denied, disk decryption fails and boot is halted.
Hardware Specifications (Implementation Reference)
NXP Nitrogen8M Board
- SoC: NXP i.MX 8M (ARMv8-A)
- CPU: Quad-core ARM Cortex-A53 + Cortex-M4F
- Memory: LPDDR4 (2–4 GB, configuration dependent)
- Storage: On-board eMMC
- Ethernet:
- 1× Gigabit Ethernet (10/100/1000 Mbps)
- MAC integrated in SoC, PHY on board
- Typical Role in Prototype:
- Boot target device
- TrustZone-based secure boot and key control
Raspberry Pi 4B
- SoC: Broadcom BCM2711
- CPU: Quad-core ARM Cortex-A72 (ARMv8-A)
- Memory: 2–8 GB LPDDR4 (model dependent)
- Ethernet:
- 1× Gigabit Ethernet (10/100/1000 Mbps)
- Wireless:
- 802.11ac Wi-Fi
- Bluetooth 5.0
- Typical Role in Prototype:
- Execution platform for the untrusted Agent
- Host for W5500 Ethernet interface
WIZnet Value Proposition
In this prototype, W5500 provides a hardware-based TCP/IP interface used exclusively for attestation communication. By offloading TCP/IP processing into hardware and exposing a simple SPI interface, the implementation minimizes network software complexity and limits the attack surface during the boot authorization phase.
한 줄 요약
본 논문은 ARMv8 TrustZone과 W5500 이더넷을 사용해 원격 증명 결과에 따라 부팅을 허가하는 연구용 프로토타입을 구현한다.
개요
본 논문은 서명은 유효하지만 이미 취약점이 공개된 구버전 엣지 시스템 소프트웨어의 부팅을 방지하기 위한 부팅 제어 구조의 프로토타입 구현을 다룬다. 시스템 디스크는 전체 디스크 암호화로 보호되며, 복호화 키는 원격 신뢰 주체의 승인 이후에만 제공된다.
구현은 부팅 판단, 네트워크 통신, 정책 검증을 분리하는 구조를 취한다. TrustZone은 부팅 측정과 키 처리를 보호하는 데 사용되며, 네트워크 통신은 Secure World 외부의 Agent가 WIZnet W5500을 통해 수행한다.
본 구현은 개념 검증을 목적으로 하며, 양산 제품 구조를 직접 제안하지 않는다.
주요 기능
- 원격 증명 결과 기반 부팅 허가 제어
- 정책 승인 후 디스크 복호화 키 제공
- TrustZone 기반 부팅 측정 및 키 보호
- Secure World와 네트워크 기능 분리
- W5500 하드웨어 TCP/IP 기반 통신
하드웨어 / 시스템 구성
시스템 동작 흐름
- 장비 전원 인가 및 Secure Boot 시작
- Secure World에서 Trusted Firmware-A 실행
- Governor가 부팅 상태를 평가
- Agent가 W5500을 통해 원격 서버에 증명 요청 전송
- 서버가 정책에 따라 승인 여부 판단
- 승인 시 디스크 복호화 키 제공
- 운영체제 부팅
- 거부 시 부팅 중단
하드웨어 사양 (구현 참고)
NXP Nitrogen8M 보드
- SoC: NXP i.MX 8M (ARMv8-A)
- CPU: ARM Cortex-A53 쿼드코어 + Cortex-M4F
- 메모리: LPDDR4 (2–4 GB 구성)
- 저장장치: 온보드 eMMC
- 이더넷:
- 기가비트 이더넷 1포트 (10/100/1000 Mbps)
- 논문 내 역할:
- 부팅 대상 장비
- TrustZone 기반 부팅 제어 및 키 관리
Raspberry Pi 4B
- SoC: Broadcom BCM2711
- CPU: ARM Cortex-A72 쿼드코어 (ARMv8-A)
- 메모리: LPDDR4 (2–8 GB 모델별 상이)
- 이더넷:
- 기가비트 이더넷 1포트 (10/100/1000 Mbps)
- 무선:
- Wi-Fi 802.11ac
- Bluetooth 5.0
- 논문 내 역할:
- Agent 실행 환경
- W5500 이더넷 인터페이스 호스트
WIZnet 관점에서의 기술적 가치
본 사례에서 W5500은 원격 증명 통신 전용 네트워크 인터페이스로 사용된다. TCP/IP 처리를 하드웨어로 오프로딩함으로써, 부팅 제어 단계에서의 네트워크 소프트웨어 복잡도를 낮추고 공격 표면을 제한하는 역할을 수행한다.
저자 / 출처
- 저자: Jonas Röckl 외
- 학회: ICISSP 2023
- 저자 관련 추가 정보: 공개적으로 확인 가능한 정보 없음
의문 출발점!!
이상함에서 시작한다
이 논문을 처음 접하면 가장 먼저 이런 의문이 든다.
- Nitrogen8M 보드에는 이미 기가비트 이더넷 포트가 있다
- Raspberry Pi 4B에도 이더넷과 Wi-Fi가 내장되어 있다
- 그런데도 왜
- 보드를 하나 더 분리하고
- 거기에 다시 W5500을 붙였을까
이 질문은 단순한 트집이 아니라,
이 논문의 핵심을 파고드는 정확한 출발점이다.
질문의 방향을 바꾼다
대부분의 기술 문서는 이렇게 설명한다.
- 무엇을 썼는가
- 어떻게 구현했는가
하지만 이 논문은 애초에 다른 질문을 던진다.
“이 장비는 지금 부팅해도 되는 상태인가?”
이 질문 하나가 모든 설계를 바꾼다.
이 논문은 ‘부팅 방법’이 아니라 **‘부팅 자격’**을 묻는다.
우리가 당연하게 믿어온 Secure Boot의 한계
Secure Boot는 오랫동안 이렇게 이해돼 왔다.
- 서명이 유효하면 부팅 가능
- 무결성이 보장되면 안전
하지만 논문은 분명히 지적한다.
- Secure Boot는 정합성만 확인한다
- 최신성(freshness) 은 보장하지 않는다
즉,
- 이미 취약점이 공개된
- 하지만 서명은 여전히 유효한
- 구버전 시스템은 문제없이 부팅된다
이게 엣지 디바이스 환경에서는 실제 사고로 이어진다.
엣지 디바이스가 놓인 현실
논문이 전제하는 장비 환경은 분명하다.
- 무인 환경
- 원격 설치
- 업데이트 지연
- 물리적 접근 어려움
이런 환경에서는 공격자가 굳이 복잡한 공격을 할 필요가 없다.
재부팅만 유도하면 된다.
그래서 논문은 이렇게 묻는다.
“부팅은 정말 장비 내부에서 자동으로 결정돼야 하는가?”
부팅을 ‘권리’에서 ‘허가’로 바꾼 발상
여기서 논문은 과감한 결론을 내린다.
- 부팅은 자동 절차가 아니다
- 부팅은 외부 정책의 결과다
즉,
- 장비는 부팅을 요청하고
- 외부 신뢰 주체가 승인하며
- 승인되지 않으면 절대 부팅하지 않는다
이 구조를 논문은 Veto 구조로 설명한다.
필연적으로 등장하는 네트워크 문제
이 시점에서 필연적인 요구가 생긴다.
부팅 전에 외부와 통신해야 한다.
하지만 여기서 새로운 문제가 생긴다.
- 네트워크는 복잡하다
- 네트워크 스택은 공격 표면이다
- Linux 네트워크는 Normal World에 속한다
그래서 다음 선택지들은 모두 배제된다.
- Nitrogen8M의 기본 이더넷 사용
- Linux 네트워크 스택 사용
- Secure World 안에 TCP/IP 스택 구현
TrustZone의 역할을 정확히 짚는다
이 지점에서 TrustZone이 등장한다.
TrustZone은 이 논문에서 이렇게 사용된다.
- 장비 내부에서 절대 거짓말하지 않는 영역
- 부팅 상태 측정
- 정책 결과 집행
- 디스크 키 통제
하지만 논문은 TrustZone을 만능 해결책으로 취급하지 않는다.
- TrustZone은 내부 상태만 안다
- 외부 위협 정보는 모른다
- 정책 변화는 알 수 없다
- 네트워크를 직접 다루지 않는다
즉,
TrustZone은 판단자이지, 대화자는 아니다.
네트워크를 밖으로 밀어낸 이유
그래서 논문은 명확한 분리를 선택한다.
- TrustZone: 판단과 키 관리
- 네트워크: 외부에서 수행
여기서 중요한 전제가 등장한다.
네트워크 구성 요소는 신뢰하지 않는다.
그래서 네트워크를 담당하는 Agent는 명시적으로 untrusted로 설정된다.
왜 W5500이었는가
이제 가장 이상해 보였던 선택이 설명된다.
논문은 네트워크에 대해 이렇게 말한다.
네트워크는 필요하다
하지만 네트워크 소프트웨어는 신뢰하지 않는다
그래서 저자들은 다음을 피한다.
- Linux TCP/IP
- BSD socket
- lwIP 같은 소프트웨어 스택
대신 선택한 것이 하드웨어 TCP/IP다.
W5500의 의미는 여기서 분명해진다.
- 네트워크를 코드가 아니라 장치로 격리
- 공격 표면 최소화
- OS 비의존
- 단순한 SPI 인터페이스
W5500은 이 논문에서
‘이더넷 칩’이 아니라 보안 경계 구성 요소다.
왜 구조가 이렇게 복잡할 수밖에 없었는가
이 구조는 다음 상황을 가정한다.
잘못 부팅되면
단순 장애가 아니라
사회적·산업적 피해로 이어지는 장비
그래서 이 시스템은 이렇게 판단한다.
“켜지는 것보다, 안 켜지는 것이 더 안전한 경우.”
이 논문이 궁극적으로 보여주려는 것
이 논문이 말하고 싶은 핵심은 하나다.
- Secure Boot만으로는 부족하다
- TrustZone만으로도 부족하다
- 네트워크도 통제되어야 한다
그리고 그 모든 것을 묶는 질문은 이것이다.
“부팅을 누가 통제하는가?”
이 논문은 그 답을
장비 외부의 정책과 신뢰 주체로 옮긴다.
산업적 의미와 적용 가능성
이 구조가 의미를 갖는 분야는 분명하다.
- 무인 산업 설비
- 에너지·전력 인프라
- 의료 장비
- 국방·공공 시스템
- Zero Trust Device 환경
여기서 부팅은 더 이상 기술 문제가 아니라
운영 정책의 일부가 된다.
결론
“이 논문은
새로운 하드웨어를 제안하지 않습니다.대신 우리가 너무 당연하게 여겨왔던
‘부팅’이라는 행위를
다시 질문하게 만듭니다.그리고 그 질문에
끝까지 책임지는 구조를
실제로 구현해 보입니다.”
