Zynq-7000 장치는 다양한 암호화 표준의 전용 하드웨어 지원,
안전한 시스템 부팅 기능, 소프트웨어 실행 보호 등
시스템 내부 기능을 보호하는 다양한 보안 기능을 제공합니다.
Secrue Boot
Zynq-7000 장치의 주요 아키텍처 포인트 중 하나는
부팅 방법이 단일 소스로 제한된다는 점입니다.
장치 부팅은 프로세서에 의해 구동되어야 합니다.
전원이 켜지거나 초기화되면 PS의 첫 번째 코어가
외부 메모리에서 부팅된 후 PL을 구성합니다.
부팅 방법을 단일 소스로 제한함으로써 PL이 구성된 후에는
수동으로 악성 소프트웨어를 로드할 방법이 없고,
프로세서가 초기화된 후에는 PL에 악성 이미지를 로드할 방법도 없습니다.
1단계 부트 로더(FSBL), U-Boot, PL 비트스트림 및 사용자 소프트웨어
(OS 및 사용자 애플리케이션)의 비대칭 및 대칭 인증이 모두 지원됩니다.
비대칭 인증의 경우, RSA-2048 기본 및 보조 공개 키가 사용되며,
HMAC(SHA-256)는 대칭 인증의 경우 사용됩니다.
부팅 파일의 암호화는 256비트 AES/CBC 키로 지원되며,
이 키는 휘발성(배터리 백업) 또는 비휘발성(eFuses)일 수 있습니다.
보안 부팅을 용이하게 하는 또 다른 기능 중 하나는 OCM으로,
외부 탐색 공격으로부터 자유로운 내부 위치에서 FSBL을 실행할 수 있을 만큼
충분히 큰(256KB) 크기로 제공됩니다.
또한 OCM은 TrustZone 소프트웨어 루틴을 안전하게 저장할 수 있을 만큼 충분히 큽니다.
Hardware Support
모든 zynq-7000 장치는 PS 내의 하드 IP 블록 또는 PL 내의 소프트 IP로 구현되는
다양한 하드웨어 보안 IP의 이점을 누릴 수 있습니다.
이러한 보안 IP의 기능에는 변조 방지, 신뢰 및 정보 보장이 포함되며,
이를 통해 시스템이 전원이 켜지거나 실행될 때까지 보호됩니다.
사용 가능한 보안 IP 외에도 Zynq-7000 디바이스에는
보안 시스템 생성을 지원할 수 있는 여러 개의 임베디드 블록이 있습니다.
이러한 블록에는 인증, 복호화 엔진, 키 저장 및 고유 장치 식별 가능성이 포함됩니다.
-. AES-256 암호화(BBRAM 키 및 eFUSE 키)
-. 안전한 구성 및 부팅(PS and PL)
-. HMAC 비트스트림 인증
-. FSBL RSA-2048 인증
-. Hardened readback 비활성화
-. JTAG 비활성화/모니터
-. SEU checker
* SEU (Single Event Upset)
단일 이벤트 오류라고도 알려진 단일 이벤트 혼란은
하나의 단일 이온화 입자가 마이크로프로세서, 반도체 메모리 또는 전력 트랜지스터와 같은
실제 마이크로 전자 장치의 민감한 노드에 충돌하여 발생하는 상태 변화입니다.
Runtime Security
부팅 프로세스가 완료된 후에도 내부 장치 데이터나 메모리에 대한
원치 않는 접근을 방지가 필요하므로 런타임 보안을 제공할 필요가 있습니다.
3가지 Runtime security
-. Processing System to programmable Logic
Zynq PS에서 실행되는 소프트웨어가 하드웨어 기반 IP와 PL에서 실행되는 Slave에 접근하는 것을 방지합니다.
Zynq 장치는 이러한 보호를 구현하는 두 가지 방법이 있습니다.
1. ARM TrustZone 기술의 징크별 구현
2. 마스터의 AXI 포트 트랜잭션과 해당 슬레이브 주소를 모니터링
-. Processing System to Processing System
이전 세대의 임베디드 시스템은 다양한 독립적인 시스템의 통합으로 구성되었으며,
각각 전용 하드웨어, 운영 체제 및 소프트웨어로 구성되었습니다.
이 아키텍처는 각 하위 시스템이 고유한 전용 하드웨어를 사용했기 때문에
런타임 보안 측면에서 본질적으로 안전했습니다.
Zynq-7000 장치를 기반으로 한 임베디드 시스템이
PS, PL 및 구성 가능한 인터커넥트와 같은 공유 자원을 사용함에 따라
런타임 보안이 더 큰 문제로 대두되고 있습니다.
충분한 보안이 필요한 분야 중 하나는 MMU입니다.
메모리 관리 장치 보안 (MMU, Memory Management Unit)
MMU 페이지 테이블을 보안 인식 방식으로 구성함으로써,
특정 메모리 영역, 장치, 구성 레지스터 및 IP 코어에 대한 비인가 소프트웨어 애플리케이션과
하드웨어 드라이버의 접근을 제한함으로써 시스템 보안이 향상됩니다.
각 MMU의 페이지 테이블은 DDR 메모리, OCM, 시스템 레벨 제어 레지스터,
PS의 메모리 매핑 블록, PL 내의 메모리 매핑 IP 블록에 대해 세밀한 접근을 제어할 수 있게 해줍니다.
Zynq-7000 and ARM TrustZone Technology
이러한 취약점을 방지할 수 있는 Zynq 장치의 한 가지 특징은 ARM TrustZone 기술의 Zynq 전용 구현입니다.
TrustZone 아키텍처는 시스템 설계 전반에 걸쳐 보안 프레임워크를 확장할 수 있는
하드웨어 아키텍처를 구축하여 임베디드 시스템 내에서 신뢰할 수 있는 컴퓨팅을 가능하게 합니다.
'Engineering > ZYNQ' 카테고리의 다른 글
[ ZYNQ ] 징크 공부하기 #7. 설계에 앞서 알아두기 (0) | 2025.03.20 |
---|---|
[ ZYNQ ] 징크 공부하기 #5. AXI Standard (0) | 2025.02.28 |
[ ZYNQ ] 징크 공부하기 #4. 디바이스 징크 세번째 (1) | 2019.09.01 |
[ ZYNQ ] 징크 공부하기 #3. 디바이스 징크 두번째 (0) | 2019.08.17 |
[ ZYNQ ] 징크 공부하기 #2. 디바이스 징크 첫번째 (0) | 2019.08.10 |