2019년 11월호 지면기사
/ 글│브라이언 칼슨(Brian Carlson), 커넥티비티 및 보안 제품 총괄, NXP
Safety and Security in Autonomous Systems
자율주행 시스템과 게이트웨이의 안전 및 보안
안전과 보안은 지원 및 자율주행 시스템이 성공적으로 보급되고, 소비자들에게 채택되기 위해 필요한 기본 초석이다. NXP는 ISO 26262와 ISO/PAS 21448(SOTIF)이 안전한 자율주행 시스템을 정의하는데 보완적이며, 필수적이라고 판단하고 있다. ISO 26262는 전장 시스템의 장애로 발생하는 안전 위험을 다룰 뿐만 아니라 ISO/PAS 21448 SOTIF는 설계 검증 및 확인 작업에 지침을 제공해 정의나 설계 단점으로 발생하는 기능 거동에서 장애를 탐지할 수 있도록 지원하고 있다.
글│브라이언 칼슨(Brian Carlson), 커넥티비티 및 보안 제품 총괄, NXP
차량과 관련된 3가지 글로벌 메가트렌드가 혁신 관련 뉴스와 특집기사를 도배하고 있다. 현재 담론을 형성하는 3가지 메가트렌드는 커넥티비티, 전기화, 자율주행이다. 이 3가지 트렌드는 기업이 혁신과 금전적 수익을 창출할 수 있는 풍부한 기회를 제공하고 있지만, 무엇보다도 상당한 책임을 함께 요구한다는 점에서 더욱 중요하다. 예를 들어, 스웨덴에서 자동차 사고 관련 사망자를 줄이기 위한 프로그램으로 처음 도입된 후 세계 각국의 사법 모델로 채택된 “비전제로(Vision Zero)”, 전미안전협회(National Safety Council)의 “로드 투 제로(Road To Zero)”와 같은 프로그램들은 매년 발생하는 130만 명의 도로 교통사고 사망자 수를 “0”으로 줄이는 것을 목표로 진행되고 있다. 즉, 커넥티비티와 자율주행은 안전한 모빌리티를 구현하기 위한 핵심기술인 것이다[1].
자동차가 “바퀴가 달린 서버(serverson wheels)”로 변화하고 있다는 말이 있다.
이는 단순히 신규 차량에 탑재되는 컴퓨터 수준뿐 아니라, 차량 외부의 다양한 시스템과 연결되는 차량 자체의 커넥티비티에 대한 이야기이기도 하다. 위치측정용 GPS와 같은 글로벌 내비게이션 위성 시스템(Global Navigation Satellite Systems, GNSS), 근거리 전용 무선통신(DSRC)이 여기에 해당하는 대표적인 예로 볼 수 있다. 또한, 자동차가 다른 차량 또는 신호등과 같이 외부 인프라와 커뮤니케이션해 상황을 인식하고, 정보 및 엔터테인먼트 제공을 위한 데이터 커넥티비티를 가능케 하는 모바일 네트워크 기반의 V2V(Vehicle-to-Vehicle), V2I(Vehicle-to-Infrastructure) 기술도 이에 해당된다. 커넥티비티는 소프트웨어 유지보수와 업데이트에도 아주 중요한 역할을 수행한다. 하루 중 거의 1시간을 차량 안에서 보내는 미국의 운전자들에게는[2] 그 시간 동안 다양한 즐길 거리와 편리함을 누리기 위해 커넥티비티가 필수적이다.
안전한 시스템에는 기기 신뢰성이 요구된다. 그래야 기기 장애로 인한 사고가 발생하지 않는다. 안전한 시스템에는 기능안전성이 요구된다. 그래야 시스템 장애로 사고가 발생하지 않는다. 안전한 시스템에는 보안이 필요하다. 그래야 시스템 해킹으로 인한 사고가 발생하지 않는다. 이러한 특징이 모두 결합되어 사람의 실수를 방지하는데 필요한 보호장치가 마련되고, 차량 전체의 안전을 확보할 수 있다.
그림 1|안전한 시스템의 요소
커넥티드 카와 자율주행차에 보안은 필수 요소다. 보안이 갖춰지지 않으면 기능 안전이 손상될 우려가 있다. 차량 해킹과 관련된 사고는 2015년 이래로 25건이 넘게 발생했으며, 그 중 대중에게 알려진 가장 큰 규모의 사고는 무려 140만 대의 차량이 피해를 보았다[3]. 2030년이 되면, 자동차에서 생성된 데이터의 가치는 7,500억 달러에 달할 것으로 추정된다[4]. 자동차 한 대당 100개가 넘는 ECU와 1억 개 이상의 코드 라인이 적용되어 차량 시스템은 매우 복잡해질 것이며, 시스템이 복잡하면 대규모 리콜 사태처럼 예측하지 못한 취약성이 발생할 가능성도 증가한다. 무선 인터페이스 사용 증가로 차량에 물리적으로 접근하지 않더라도 보안 취약성을 악용할 수 있게 되는 것이다.
그림 2| 핵심 보안 원칙
업계는 자동차 외 기타 보안 임베디드 전자 시스템과 비슷한 자동차 설계에 최첨단 핵심 보안 원칙을 적용함으로써 보안 문제에 대처하고 있다. 자동차의 외부 인터페이스는 물리적 공격에 견딜 수 있어야 하며, 커뮤니케이션의 무결성과 기밀성을 유지할 수 있어야 한다. 영역은 안전하게 분리될 수 있어야 하고, 시스템은 논리적 공격을 견딜수 있어야 한다. 내부 차량 커뮤니케이션은 안전해야 하며, 차량의 다양한 ECU 및 MCU에 실행되는 소프트웨어 역시 안전해야 한다. 이종 차량 네트워크 간에 데이터를 안전하고, 믿을 수 있게 서로 연결하고, 처리하기 위해서는 차량 게이트웨이가 필요하다. 차량 게이트웨이는 물리적 분리와 프로토콜 변환을 제공해서 데이터 공유를 통해 새로운 기능을 제공하는 기능 영역(파워트레인, 섀시 및 안전, 차체제어, 인포테인먼트, 텔레매틱스, ADAS 등) 간에 데이터를 라우팅해준다.
게이트웨이를 통해 엔지니어들은 더욱 강력하고, 기능이 우수한 차량 네트워크를 구축해서 운전 경험을 향상할 수 있다[5].
자동차 제조업체(OEM)들은 경쟁사와 차별화를 두기 위해 새로운 기능 개발에 매우 적극적이다. 게이트웨이는 기능 영역 ECU 전반에서 안전한 커넥티비티와 높은 대역폭 커뮤니케이션이 필요한 자율주행 자동차를 구현하는 데 필수적이다. 게이트웨이는 차량 네트워크의 중심에 있기 때문에, OEM 서버(클라우드)와의 보안 커뮤니케이션을 통해 OTA(Over-the-Air) 업데이트와 같은 차량 전반 애플리케이션 및 차량 데이터 분석 지원에도 이상적인 역할을 한다.
그림 3| 게이트웨이는 중앙에서 차량 데이터에 접근할 수 있다.
머신러닝(ML) 테크닉을 자율주행 시스템에서 사용하면 잠재적인 공격 통로가 늘어나게 된다. 자율주행 시스템은 ML 모델의 도난 가능성을 방지하고, 도난당한 ML 모델을 인식할 수 있는 방법을 제공할 수 있어야 한다. 또한, 차량에 사용자 인식 기능이 있다면 사용자 생체 정보와 같은 프라이버시 관련 정보 손실을 예방해야 하고, 적대적인 방법으로 시스템을 속이는 활동으로부터 시스템을 보호해야 한다. ML은 변칙을 탐지하고 더 나은 방어 메커니즘을 개발하는데 적용됨으로써 이러한 공격의 방어용으로 활용될 수도 있다.
안전은 일종의 법적 책임이기 때문에 자동차 시장에 매우 중요하다. 사용자들은 차량이 본래 의도한 기능을 발휘할 것이라고 믿을 수 있어야 한다. 안전으로 플랫폼 통합과 시스템 일치화도 구현할 수 있다. 지속적인 주행 환경 모니터링 책임은 자율주행 SAE 레벨의 L2(Level 2)를 넘어서면서 인간 운전자에서 자동화된 시스템으로 이동하고 있다.
그림 4| 안전 개념의 진화
기능안전성 ISO 26262와 같은 표준에서 정의하는 전통적인 자동차 안전은 정도, 노출, 위험 제어가능성을 기준으로 ASIL(Automotive Safety Integrity Levels)을 규정한다. 이 표준은 개발 V 모델도 정의하는데, 이 모델에 따르면 부품의 거동이 완전히 명시화 돼야 하고, 상응하는 검증 및 추적가능성을 갖춰야 하고, 그 규격과 관련한 모든 개량은 검증할 수 있어야 한다. ML 모델을 트레이닝하기 위해서 데이터세트를 사용할 때, 누적 트레이닝은 처음부터 부품 거동이 완전히 명시화 돼 있다는 가정을 위반한다. 게다가, 엔드 투 엔드 솔루션으로 소프트웨어 구성요소의 체계를 실행하는데 ML을 사용하는 자율주행 시스템은 ISO 26262 표준의 모듈 방식을 위반한다[6].
자율주행 시스템의 안전은 전통적인 기능안전성 이상으로 ‘행동 안전’도 고려해야 한다. 자율주행 시스템은 주행 정책의 일환으로 자동화되지 않은 차량 및 보행자와의 상호작용을 학습해야 하며, 다른 요소들의 행동을 예측하는 법도 배워야 한다. 차량은 다소 까다로운 수준의 위험 상황이거나 안전이 중요한 상황이라고 해도 예측할 수 있어야 한다. 자율주행 시스템은 하드웨어나 소프트웨어가 오작동하지 않는 경우에도 역동적인 주변 환경 때문에 발생할 수 있는 위험을 방지할 수 있어야 한다.
자동차 안전 전문가들은 ISO 26262가 미치지 못하는 상황을 커버하기 위해 “의도된 기능의 안전(SOTIF: Safety of the Intended Functionality)”이라고 묘사되는 ISO/PAS 21448 표준을 개발하고 있다. 어떤 이들은 이렇게 상당히 야심찬 ISO/PAS 21448 SOTIF 개발 노력에도 여전히 특수한 상황과 미지의 상황, 안전하지 않은 상황들을 효율적으로 커버하지 못한다고 생각한다. 특히 자율주행의 머신러닝 사용과 관련해 자율주행 시장에서 혁신을 제한하고 저해할 가능성이 있다고 보는 이들도 있다.
안전한 자율주행 모빌리티를 구현하기 위해서 시스템은 다음과 같은 특징을 갖추어야 한다.
▶ 신뢰성 : 초저장애율(자동차급 품질)
▶ 안전성 : 고장 시 높은 수준의 탐지 기능(ISO 26262 ASIL D)
▶ 가용성 : 정확한 작동 준비성(안전 관련 고장과 그렇지 않은 경우를 구별할 수 있는 능력)
▶ 장애 허용 : 장애 발생 시에도 계속해서 작동할 수 있는 능력 (성능/기능을 줄이고, 필수 기능만 계속해서 작동)
▶ 신인성 : 발생 전에 장애를 탐지하는 장애 예측 (오프라인 테스트)
그림 5| 안전 개념 진화, 업계 방식
SAE 자율주행 분류 중 낮은 레벨에서는 대부분의 보조 기능은 “고장안전(Fail-Safe)” 시스템이다. 즉, 고장이 발생하면 시스템이 안전 모드로 전환된다는 의미이다. 자율주행 L0 및 L1에서 시스템은 운전자에 의존해서 차량을 계속해서 안전하게 운행한다. 현 세대 L2 및 L3 시스템에서는 높은 가용성 수준과 시스템이 장애가 있다는 것을 인식할 수 있고, 부분적으로 운전자에 의존하면서 저하 모드로 계속해서 운행을 할 것을 요구한다. L4 및 L5 시스템은 고장 시 안전 작동(fail-operational)을 수행할 것으로 기대된다. 즉, 시스템이 장애를 탐지하면, 시스템에 중복성이 충분히 내재화 돼 있기 때문에 적어도 시스템이 차량을 다시 안전한 상태로 복구하는데 필요한 시간 동안에는 장애를 허용하면서 완전한 기능으로 작동을 지속한다는 의미이다.
장애가 발생하면 제어권을 인간 운전자에게 넘기는 것이 L0~L3 시스템의 핵심이다. 자동화 시스템과 인간 운전자 간에 전환의 어려움에 대한 많은 연구가 있었다. 에릭손(Eriksson)과 스탠톤(Stanton)은 비 응급상황에서 전환 완료 시간이 2초에서 26초로 다양하게 나온 결과를 발표한 바 있다. 전환 요청이 수신됐을 때 운전자가 부수적인 작업을 하고 있을 경우 전환 시간이 오래 걸리는 것으로 나타났다. 차량이 고속도로에서 초당 25미터 이상 고속도로 주행 속도로 자율주행한 경우를 생각하면, 최상의 반응 속도의 경우 차량은 축구장의 반 정도 길이를 주행했을 것이고, 최악의 경우에는 전환이 완료되기 전에 거의 6개 축구장 길이에 해당되는 거리를 주행했을 것이다. 비상 시 운전자의 반응 시간은 빠르지 않을 것이며, 비상 상황에서 인간 운전자에게 운전을 맡기는 결정은 잘못된 것일 수 있고, 사고로 이어 질 수 있다[7]. 이를 바탕으로 NXP는 안전한 모빌리티를 구현하려면 최소한 L2 이상의 자율주행 시스템이 안전 작동(fail-operational)을 할 수 있어야 차량을 안전하게 정지시킬 수 있다고 보고 있다.
그림 6| 안전 개념 진화 , NXP 방식
몇몇 주장과 같이 안전한 자율주행 시스템이란 항상 규칙을 준수하는 시스템이라고 볼 수 있다. 그러나 경성 준칙(hard rules)에 보완적이고, 때로는 상반되기도 하는 실제 세계 상황에서는 ‘사회적 규범’이란 것이 존재하기 때문에, 가장 복잡한 시스템이 더욱 효율적으로 작동할 수 있다. 이러한 사회적 규범은 특정 상황에서는 규칙의 예외를 허용한다. 반대 차선으로 이동해서 주정차된 차량을 피해 가는 것을 허용하는 것이 그 대표적인 예다. 이처럼 때로는 규칙을 벗어나는 것이 선호도의 문제가 아니라 사고 방지에 필수책이 될 수가 있다. 자율주행 시스템에는 규칙의 허용되는 예외를 선택할 수 있는 의사결정 매트릭스가 있어야 보다 안전하고 효율적으로 작동할 수 있다.
그림 7| 준수해야 할 규칙 (때때로)
자율주행 자동차는 자동차가 스스로 결정하는 모든 행동들이 생명을 위태롭게 하지 않는다는 절대적인 확신이 필요하다. 이 때문에 안전 엔지니어들에게 자동차 안전 검증에 대한 엄청난 부담을 주지만, 자율주행차가 항상 안전하게 행동할 것이라고 검증할 통계적인 방법은 없다.
자율주행 시스템 아키텍처는 2가지의 기능 영역으로 나뉠 수 있다. 환경의 모니터링과 모델링을 처리하는 ‘모델링 영역’과 행동 정책 및 기획, 경로 선택 처리 등을 하는 ‘계획 영역’이다. 각각의 영역이 여러 개의 기기로 이루어질 수 있는 두 개의 영역으로 시스템을 분리하면, 확장성과 이종성이 개선될 수 있으며 이를 통해 컴퓨트 아키텍처를 특정 애플리케이션 요건과 효율적으로 매칭할 수 있다. 시스템의 의사결정 방법을 모른다면 안전을 보장할 수 없다. 이것이 바로 인식과 계획을 다루는 대형 엔드 투 엔드 시스템의 문제다. 단일 기기가 센서 인풋을 수신하고 액추에이션 명령어를 제공하는 폐쇄형의 블랙박스 타입 방식은 검증 및 디버깅이 어렵고, 새로운 알고리즘과 센서 해상도, 카운트(counts)로 쉽게 확장되지 않는다. 모델링과 계획이 분리된 아키텍처는 엔드 투 엔드 솔루션과 비교해서 시스템 안전 달성에 더 유리하다.
그림 8| 고차원에서 분리된 자율주행 시스템
전 세계 대부분의 자동차 업체들은 자율주행 기술 개발에 힘을 쏟고 있다. 자율주행 시장은 2050년에는 그 규모가 7조 달러가 될 것으로 추정된다[8]. 안전과 보안은 지원 및 자율주행 시스템이 성공적으로 보급되고, 소비자들에게 채택되기 위해 필요한 기본 초석이다. NXP는 ISO 26262와 ISO/PAS 21448(SOTIF)이 안전한 자율주행 시스템을 정의하는데 보완적이며, 필수적이라고 판단하고 있다. ISO 26262는 전장 시스템의 장애로 발생하는 안전 위험을 다룰 뿐만 아니라 ISO/PAS 21448 SOTIF는 설계 검증 및 확인 작업에 지침을 제공해 정의나 설계 단점으로 발생하는 기능 거동에서 장애를 탐지할 수 있도록 지원하고 있다.
출퇴근 시에 실제로 운전을 하는 대신, 느긋하게 이메일을 읽거나 좋아하는 TV 프로그램을 보는 것은 일부 운전자들이 꿈꾸는 편리한 장면이다. 자율주행차의 실제 목표는 안전한 커넥션을 통해 제공되는 기능을 운전자가 즐기는 데에서 그치지 않는다. 그 시간 동안 운전자와 운전자 주변의 다른 도로 사용자들 모두가 시스템에 구축된 안전한 모빌리티 기술을 통해 도로 주행을 더욱 안전하게 즐길 수 있어야 한다.
참고 문헌
[1] National Safety Council, 17 04 2018. [Online]. Available: https://www.nsc.org/Portals/0/Documents/DistractedDrivingDocuments/Driver-Tech/Road%20to%20Zero/The-Report.pdf?ver=2018-04-17-111652-263.
[2] AAA Foundation for Traffic Safety, "American Driving Survey, 2014-2017," February 2019. [Online]. Available: https://aaafoundation.org/american-driving-survey-2014-2017/.
[3] A. Drozhzhin, "Black Hat USA 2015: The full story of how that Jeep was hacked," 6 August 2015. [Online]. Available: (https://www.kaspersky.com/blog/blackhat-jeep-cherokee-hack-explained/9493/.
[4] McKinsey & Company, "Monetizing Car Data, New service business opportunities to create new customer benefits," September 2016. [Online]. Available: https://www.mckinsey.com/industries/automotive-and-assembly/our-insights/monetizing-car-data.
[5] B. Simacsek, "Can We Trust Our Cars?," 2019. [Online]. Available: https://www.nxp.com/docs/en/white-paper/AUTOSECWP.pdf.
[6] R. Salay and K. Czarnecki, "Using Machine Learning Safely in Automotive Software: An Assessment and Adaption of Software Process Requirements in ISO 26262," 5 August 2018. [Online]. Available: arXiv:1808.01614.
[7] A. Eriksson and N. A. Stanton, "Takeover Time in Highly Automated Vehicles: Noncritical Transitions to and From Manual Control," Human Factors: The Journal of the Human Factors and Ergonomics Society, pp. Volume: 59 issue: 4, page(s): 689-705, 2017.
[8] Strategy Analytics, "Accelerating The Future: The Economic Impact Of The Emerging Passenger Economy," June 2017.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>