본문 바로가기

시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리/14장: 트러스트존(Trustzone)

[Arm프로세서] 트러스트존(TrustZone)의 유래

트러스트존의 유래를 소개하려면 먼저 시스템의 공격을 방지하기 위한 시스템의 설계 과정에 대해 언급할 필요가 있습니다. 
 
2000년 초부터 다양한 소프트웨어 기술들이 소개되고 발전되는데, 이에 비례해 해킹 기술이 업그레이드됩니다. 해커들이 다양한 소프트웨어 기법을 활용해 시스템을 공격하면서 해킹의 공격 루트가 다양해집니다. 애플리케이션에서 디바이스 드라이버 그리고 네트워트 패킷이나 서버를 통해 시스템을 침입하는 경로가 늘어난 것입니다. 
 
많은 IT 업체들이 해킹으로 피해를 보면서 보안 수준이 높은 시스템 아키텍처의 필요성을 절감합니다. 
 
그래서 IT업체들은 중요한 데이터를 암호화해서 저장하거나 해커의 공격으로 보호 받을 수 있게 시스템을 설계하게 됩니다. 고육지책으로 보안과 관련된 기능(Feature)를 제공하는 하드웨어 부품을 시스템에 탑재합니다. 이런 노력으로 중요한 데이터는 보호할 수 있으나 회로 설계나 소프트웨어의 복잡도가 늘어나는데, 그 결과 제품의 가격이 높아지게 됩니다.
 
결국 CPU 아키텍처에서 보안과 관련된 기능(데이터 암호화, 복호화)이나 아예 보안을 고려해 시스템을 설계할 수 있는 기능을 제공하면 좋겠다는 요구 사항이 불거집니다. Arm 사는 이런 요구 사항을 수집한 다음에, 보안 기능을 어떤 방식으로 구현하고 설계할 지 고민합니다. 그 중 가장 큰 고민을 다음과 같았습니다.
 
    "소프트웨어가 공격 당할 수 있는 취약점이 너무 다양한데, 어떻게 방어할 것인가?"
 
여러 고민 끝에 아예 보안 수준을 높힌 운영체제(Trusted OS)를 개발해 해커로 받는 공격 포인트를 하나로 줄이자는 방향으로 시스템을 설계하게 됐고, 이 과정에서 트러스트존을 고안한 것입니다.
 
트러스트존은 2004년 Arm1176JZ-S™ 프로세서에 탑재됐으며, 현재 Cortex-A 패밀리 제품군에 포함돼 있습니다. 이후 Arm 아키텍처에서 지원하는 트러스트존을 활용해 SoC 칩 설계 업체나 보안 하드웨어 업체는 보안의 수준을 높인 운영체제(Trusted OS)와 보안 애플리케이션을 개발하고 있습니다. 

 

<관련 강의>

 

06.01.2024