개요
자동차 산업은 차량 시스템의 안전 및 보안에 대한 엄격한 요구 사항을 해결하기 위해 변화하고 있습니다.
관련된 요구 사항은 고객뿐만 아니라 규제 당국에서도 차량의 안전과 보안을 강화하도록 요구하고 있습니다.
이러한 요구 사항에는 고대역폭 네트워크, 향상된 데이터 보안, 기능 안전 준수 및 에너지 소비 감소와 같은 내용이 포함됩니다.
ISO 26262 표준은 자동차의 전자 및 전기 관련 시스템의 수명 주기 전반에 적용할 수 있는 차량 기능 안전을 정의합니다.
자동차 시스템을 안전하게 사용하려면 실시간 결함으로부터 보호해야 합니다. 실시간 결함에는 내부 오류 및 외부 오류 (e.g. 차량 통신 네트워크)가 포함될 수 있습니다.
자동차 데이터 보안은 차량 도난 방지, 스마트폰, 내비게이션 장치와 같은 외부 장치와의 안전한 통신, 해커에 대한 보호 등 다양합니다. 만약, 해커가 접근 권한을 얻게 되면 엔터테인먼트 시스템에서부터 제동 시스템에 이르기까지 차량의 모든 것을 제어할 수도 있습니다.
Safety Options for automotive chips
아래는 IC 수준에서 안전과 관련되어 고려할 수 있는 몇 가지 옵션을 설명합니다.
Redundant critical hardware modules
프로세서, DMA 컨트롤러, 내부 클럭 생성기 및 통신 주변 장치와 같은 온칩 모듈에 대한 중복은 차량이 운행하는 동안 기본 하드웨어 모듈이 작동하지 않는 상황에서 전체 시스템의 안전성을 향상 시킬 수 있습니다. 이러한 시스템은 운전자에 대한 위협을 완화하기 위해 시스템에 내장된 오류 감지 매커니즘과 동일한 기능을 수행하는 하드웨어로의 즉각적인 전환을 수행할 수 있습니다.
그러나 이러한 하드웨어가 중복된 아키텍처는 넓은 면적과 높은 전력 소비라는 단점을 가지고 있습니다. 이러한 단점을 해결하기 위한 방법으로 먼저, 면적을 최소화 하는 방법으로는 전체를 복제하는 것이 아니라 복제해야 하는 기능을 선택하여 면적에 대한 패널티를 최소화 하는 것입니다. 두 번째는 전력 소비를 최소화 하는 방법으로 중복 모듈에 전원 및 클록 게이팅을 채택하여 전력 소비를 최소화 하는 것입니다.
일부 중복 모듈은 기본 및 중복 모듈이 동일한 입력을 처리하는 Lockstep 으로 구현될 수 있으며 Lockstep 모듈 출력의 불일치는 모듈 중 하나에 결함이 있음을 나타냅니다. 이러한 결함이 발생하였을 때 시스템은 자체적으로 스위치를 끄거나 적절한 안전 조치를 취하여 실시간 오류를 방지할 수 있습니다. 추가로, 하드웨어 중복은 두 모듈이 동시에 변조되어 결함을 발생시키는 것을 막기 위해 물리적인 거리를 멀리하여 배치하여야 합니다.
Self-corrective Hardware
칩의 경우 하드웨어 모니터를 구현하여 결함으로 인한 장애를 감지할 수 있습니다. PLL 의 잠금 손실, 갑작스러운 온도 변화, 클록 주파수의 변화, 신호/전력 전압 레벨의 변화 등과 같은 결함은 하드웨어를 이용하여 모니터링 할 수 있습니다. SoC 는 이러한 결함을 제어하고 사용자를 보호하기 위해 자가 수정 조치를 취할 수 있습니다.
Glitch Filters
잡음 또는 일시적인 스파이크로 인해 발생하는 입력 핀의 의도하지 않는 이벤트는 칩에 기능 장애를 일으킬 수 있습니다. 리셋 및 인터럽트와 같은 중요한 핀에는 Glitch Filter가 있어 잡음과 일시적인 스파이크가 들어오는 것을 막을 수 있습니다.
Watchdog Timers
Soc 에는 프로세서나 다른 컨트롤러를 안전한 상태로 전환하여 정지 상태에서 벗어나게 하는 타이머가 있을 수 있습니다. 타이머를 이용하여 주기적으로 작업을 실행하는 안전 기능을 구현할 수 있습니다. 타이머는 작업을 실행해야 하는 기간을 지정할 수 있으며 해당 작업이 미리 정의된 기간 내에 실행되지 않으면 시스템이 정지된 것으로 간주합니다. 따라서, SoC 는 Watchdog Timer 를 이용하여 작업 실행을 모니터링하고 적절한 안전 조치를 취할 수 있습니다.
Logic & Memory BIST
자동차 기능 안전 표준에서는 ASIL (Automotive Safety Integrity Level) 수준에 따라 BIST(Built-In Self-Test) 를 칩의 일부로 권장합니다. 기능 모드로 전환하기 전에 논리 및 메모리 BIST 를 거쳐 칩에 제조 또는 노화 오류가 발생하지 않았는지 확인하도록 합니다. 칩은 휴면 오류를 감지하기 위해 하드웨어 모니터와 같은 중요한 모듈에 대해 BIST 를 구현할 수 있습니다. 또한, 칩은 컨트롤러를 구현하여 BIST 작업을 제어하고 관리할 수도 있습니다.
ECC and CRC
데이터 무결성은 안전 (safe) 하고 보안(security) 이 중요한 차량 네트워크를 만들기 위한 중요한 요구 사항입니다. CRC (Cyclic Redundancy Check) 메커니즘은 시스템 내부 및 외부에서 안정적인 데이터 통신을 제공합니다. ECC (Error Correcting Code) 메커니즘은 데이터 전송에서 다중 비트 오류를 감지할 뿐만 아니라 작은 비트 오류를 수정할 수도 있습니다.
Security Options
차량 보안은 자동차 시스템의 전자 장치에 크게 의존합니다. 따라서 전자 시스템과 그 안에 저장된 데이터를 보호하는 것이 매우 중요합니다. 아래는 IC 수준에서 보안과 관련되어 고려할 수 있는 몇 가지 옵션을 설명합니다.
Locking the system
칩의 적절한 기능을 방해하는 Configuration 데이터 조작을 방지하기 위해 시스템을 잠금 할 수 있습니다. 암호 메커니즘을 배포하여 Re-configuration 을 잠금 해제하고 활성화 할 수 있습니다. 이러한 아키텍처는 간단하고 비용이 효율적인 단일 계층 보안 조치입니다.
Prevent write, read, and erase of flash memory
칩은 메모리 데이터를 보호하기 위해 보안 기능을 구현할 수 있습니다. 온칩 및 오프칩 플래시 메모리는 무단 삭제, 읽기 및 쓰기 액세스를 방지하도록 보호됩니다. 만약 그렇게 하지 않으면 차량 통신 네트워크를 통해 저장되거나 전송되는 정보를 추출하려는 다양한 유형의 공격에 시스템이 노출될 수 있습니다.
Register Protection
설계에는 칩의 실행 단계 동안 Configuration 이 변경되지 않아야 하는 모듈이 있을 수 있으며 만약 해당 모듈에 변경이 일어나면 시스템의 적절한 작동에 영향을 미칠 수 있습니다. 이러한 모듈의 경우 실행 단계에서 관련된 레지스터에 대한 접근을 비활성화하거나 1회 Write 만 가능하도록 만들 수 있습니다.
Secure Boot
자동차 시스템은 애플리케이션을 실행하기 위해 부팅 단계에서 구성됩니다. 일부는 외부 메모리에 저장된 코드를 사용하여 부팅하는 옵션이 있을 수 있습니다. 이러한 시스템에서 IC 는 스퓨리어스 코드로 부팅되는 것을 방지하는 메커니즘을 가질 수 있습니다. 부팅하는 동안 시퀀스의 일부는 응용 프로그램과 함께 제공되는 서명을 확인하기 위해 보안 장치가 필요합니다. 이러한 부팅은 서명이 확인된 경우에만 애플리케이션이 실행됩니다.
※ 스퓨리어스 코드(Spurious Code)는 코드 내에 포함되어 있지만, 실행되지 않는 불필요한 코드를 의미합니다
Secure Debug and Test
펌웨어의 테스트 및 개발을 용이하게 하기 위해 SoC 에는 테스트 및 디버그 포트가 제공되며 이를 통해 설계/개발자는 SoC Configuration 을 외부에 노출합니다. 이러한 노출된 내용은 해커가 칩 기능을 조작하고 안전을 손상시키는데 사용할 수 있습니다. 이에 따라, 디버그 및 테스트 기능을 잠금 해제하기 위해 암호를 작성하지 않는 한 기본적으로 디버그 및 테스트 기능을 잠그는 메커니즘이 있어야 합니다.
정리
중요한 기능을 관리하기 위해 차량에서 전자 시스템의 사용이 증가함에 따라 자동차 칩 아키텍처의 안전 및 보안에 대한 요구 사항이 가장 중요해지고 있습니다. 무작위 오류의 감지 및 수정을 통해 Runtime 동안 칩의 적절한 기능으로 칩을 포함하는 전체 시스템의 안전을 보장할 수 있어야 합니다. 보안은 리버스 엔지니어링에 의한 데이터 및 IP 도난을 방지합니다. 또한 해커가 승객의 안전에 심각한 영향을 미칠 수 있는 시스템 조작하는 것을 막을 수 있습니다.
오늘날 자동차 칩 설계자는 칩의 일반 기능 외에도 안전 및 보안 기능을 구현해야 합니다.
설계자가 시장에서 요구하는 안전 및 보안 수준을 식별하면 위에서 논의한 솔루션의 범위를 탐색하여 업계 표준 및 고객 요구 사항을 충족하는 솔루션을 선택할 수 있습니다.
'자율주행 개발 프로세스 > Functional Safety (ISO26262)' 카테고리의 다른 글
[이중화/Redundancy] 기능안전 달성을 위한 차량 및 부품의 이중화 컨셉 정리 (2) (0) | 2023.03.12 |
---|---|
[이중화/Redundancy] 기능안전 달성을 위한 차량 및 부품의 이중화 컨셉 정리 (1) (2) | 2023.03.11 |
자동차 산업에서 기능 안전(Functional Safety) 을 준수하는 방법 (종합 가이드) (0) | 2023.03.10 |
E-GAS Monitoring Concept 의 ISO 26262 - Part 3 Concept Part 까지 정리 (Safety Goal, Functional Safety Requirement) (0) | 2022.04.15 |
ISO26262 - E-GAS Monitoring Concept 간단 정리 (0) | 2022.03.20 |