티스토리 뷰
목차
TCM과 FPGA 기반의 안전한 임베디드 시스템
논문 요약 1. INTRODUCTION
- 컴퓨터의 발전과 함께 통신 기술, 특히 인터넷은 넓게 퍼져 있고, 임베디드 시스템은 실생활에 많이 사용되고 있음
- 임베디드 시스템 분야는 빠르게 성장하고 있으며 cellular phones, PDA, 스마트카드, 디지털 뮤직 플레이어와 같은 기기들이 사회에 보급
- 임베디드 디바이스는 점점 더 개인적이고 상업적인 인프라에 통합되고 있어 보안이 최고의 이슈가 됨
- 그러나 전통적인 소프트웨어 보호 기술은 임베디드 시스템을 안전하게 보호하지 못함
따라서 임베디드 시스템에 대한 보안 설계는 매우 중요
공격자는 쉽게 소프트웨어 전용 보호를 피할 수 있다.
임베디드 시스템은 리소스에 따른 제약이 있으므로 방어가 약해지고, 공격자는 손쉽게 물리 계층 및 모든 권한을 획득하여 전체 운영 체제를 엑세스 할 수 있게 된다.
- 시스템 소프트웨어의 보호뿐만 아니라 시스템 하드웨어의 방어 또한 고려
- 임베디드 장치 시장은 비용에 매우 민감하므로 보안, 비용과 성능 사이에서 타협을 만들어야 함
- 본 논문에서는 임베디드 시스템의 보안을 위한 TCM과 FPGA 기술 기반의 저비용, 고성능 하드웨어 플랫폼을 소개
이 보안 플랫폼은 물리적 공격뿐만 아니라 소프트웨어 공격으로부터 애플리케이션의 개인정보와 무결성을 보호하는 매커니즘을 포함
Trusted Computing module(TCM)에는 보안 기능이 있는 컴퓨터 환경, 즉, 부팅에서 데이터 암호화까지 모든 컴퓨팅 환경을 보호한다.
[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 기술은 어떤 응용 프로그램이나 상대 플랫폼이 알 수 없는 콘텐츠에 접근하고자 한다든지, 권한 범위를 벗어나서 플랫폼에 읽기 혹은 쓰기 접근을 시도할 때 즉시 이를 사용자에게 알려주도록 한다.
[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)를 통해서 사용자는 단일 프로세서상에서 보안 관련 애플리케이션과 일반 애플리케이션을 구분해서 운영할 수 있는 이득을 얻을 수 있음
[TCP과 FPGA 임베디드 시스템] TrustZone Processor
TCM과 FPGA 기반의 안전한 임베디드 시스템