본문 바로가기
C++ 200제/코딩 IT 정보

TCM과 FPGA 기반의 안전한 임베디드 시스템

by vicddory 2017. 2. 11.

TCM과 FPGA 기반의 안전한 임베디드 시스템


논문 요약 1. INTRODUCTION


- 컴퓨터의 발전과 함께 통신 기술, 특히 인터넷은 넓게 퍼져 있고, 임베디드 시스템은 실생활에 많이 사용되고 있음

- 임베디드 시스템 분야는 빠르게 성장하고 있으며 cellular phones, PDA, 스마트카드, 디지털 뮤직 플레이어와 같은 기기들이 사회에 보급

- 임베디드 디바이스는 점점 더 개인적이고 상업적인 인프라에 통합되고 있어 보안이 최고의 이슈가 됨

- 그러나 전통적인 소프트웨어 보호 기술은 임베디드 시스템을 안전하게 보호하지 못함


따라서 임베디드 시스템에 대한 보안 설계는 매우 중요

공격자는 쉽게 소프트웨어 전용 보호를 피할 수 있다.


임베디드 시스템은 리소스에 따른 제약이 있으므로 방어가 약해지고, 공격자는 손쉽게 물리 계층 및 모든 권한을 획득하여 전체 운영 체제를 엑세스 할 수 있게 된다.


- 시스템 소프트웨어의 보호뿐만 아니라 시스템 하드웨어의 방어 또한 고려

- 임베디드 장치 시장은 비용에 매우 민감하므로 보안, 비용과 성능 사이에서 타협을 만들어야 함

- 본 논문에서는 임베디드 시스템의 보안을 위한 TCM과 FPGA 기술 기반의 저비용, 고성능 하드웨어 플랫폼을 소개


이 보안 플랫폼은 물리적 공격뿐만 아니라 소프트웨어 공격으로부터 애플리케이션의 개인정보와 무결성을 보호하는 매커니즘을 포함


Trusted Computing module(TCM)에는 보안 기능이 있는 컴퓨터 환경, 즉, 부팅에서 데이터 암호화까지 모든 컴퓨팅 환경을 보호한다.


TPM 스토리지 계층 구조[TCP과 FPGA 임베디드 시스템] TPM 스토리지 계층 구조


또한 TPM을 사용하여 하드웨어 레벨에서부터 보호하는 것을 시도한다.


Trusted Computing

- 컴퓨터가 애초 의도된 대로 동작할 수 있도록 신뢰성을 부과하는 기술

- 하드웨어 기반의 보안 칩인 TPM을 모든 컴퓨팅 파워가 있는 기기들에 공통으로 적용하도록 하고, 이를 위한 소프트웨어를 개방형 표준으로 제공


TPM (Trusted Platform Module)

- Protected storage 제공

- 데이터, 키, 인증서 등을 안전하게 보호할 수 있는 저장 영역 제공

- 제공 기능

 : Protected Storage 및 Shielded Locations

 : Cryptographic Capabilities

 : Protected Execution

 : Remote Attestation

앞서 기술한 것처럼 의도된 대로만 작동하는 플랫폼을 신뢰 컴퓨팅이라 한다.


예를 들어 e-mail을 송ㆍ수신할 때, e-mail의 송ㆍ수신 기능 이외의 PC 변화가 일어난다면 의도된 것과 다르게 작동하는 것이다. 현재는 사용자가 이를 인식할 수 없지만 TC 기술을 채용하면 이러한 상황을 인식할 수 있게 된다.


즉, TC 기술은 어떤 응용 프로그램이나 상대 플랫폼이 알 수 없는 콘텐츠에 접근하고자 한다든지, 권한 범위를 벗어나서 플랫폼에 읽기 혹은 쓰기 접근을 시도할 때 즉시 이를 사용자에게 알려주도록 한다.


Aegis secure computing model[TCP과 FPGA 임베디드 시스템] Aegis secure computing model


2. RELATED SOLUTIONS

Aegis - a single-chip secure processor


- Architecture EnGines for Information Security

- Tamper-Evident(이하 TE)와 Private Tamper-Resistant(이하 PTR)의 환경을 제공하면서도 성능의 저하는 최소로 할 수 있는 구조를 제시하였고, 이를 FPGA 칩으로 구현

- 물리적인 공격에 대해서 프로세서 자체는 안전하고 신뢰할 수 있는 반면에, 외부 메모리나 주변장치(peripheral) 그리고 운영체제는 신뢰할 수 없다는 것이 AEGIS의 기본 가정

- 외부 메모리에 저장된 데이터의 유효성(validity)은 무결성의 검증으로 확인할 수 있다는 가정을 바탕으로 AEGIS는 TE(temper evident) 환경을 제공


TE

- 시스템에서 동작하는 프로그램의 비정상 행동을 초래할 수 있는 모든 물리적인 혹은 소프트웨어 기반의 훼손(tampering) 행위를 검증할 수 있다는 것을 의미

- 해시(hash)와 키(key)를 이용해서 프로그램 실행의 무결성을 검증하는 TE 환경은 프로그램의 초기 상태, 인터럽트가 발생하였을 때의 상태, 내외부의 메모리 등을 관리 대상으로 함


- AEGIS는 해시나 암호화에 사용되는 키의 안정성을 높이기 위해서 Physical Random Function(Physical Unclonable Function) 이라는 기능을 추가


PTR

- TE 환경에 프로그램이나 데이터를 위한 은닉(privacy) 기능을 추가


- 훼손 행위를 시도하는 공격자가 프로그램이나 데이터에 대한 정보를 획득하는 것이 불가능하게 만들기 위한 PTR은 AES를 통한 암호화로 구현


- 집적회로의 지연 성분의 편차는 임의적(random)이고 이를 측정하는 것도 불가능한 것으로 여겨지기 때문에 보안의 측면에서 PUF 는 큰 장점을 가지는 것으로 평가

- PUF는 일종의 난수 발생장치로 집적회로의 예측 불가능한 지연(delay) 성분을 이용


TrustZone - a dual-virtual CPU system

- ARM사가 제안하는 TrustZone은 휴대폰, PDA와 같은 장치에 적용되는 임베디드 프로세서를 대상으로 한 보안 구조


- 일반 프로세서보다 칩의 크기가 증가하고 전력의 소모가 커지기는 하지만, TrustZone이 구현된 프로세서는 그 위에서 동작하는 소프트웨어가 마치 2개의 분리된 프로세서에서 동작하는 것처럼 보이게 함 


- 이러한 추상화(virtualization)를 통해서 사용자는 단일 프로세서상에서 보안 관련 애플리케이션과 일반 애플리케이션을 구분해서 운영할 수 있는 이득을 얻을 수 있음


TrustZone Processor[TCP과 FPGA 임베디드 시스템] TrustZone Processor


TCM과 FPGA 기반의 안전한 임베디드 시스템

댓글