신뢰 실행 환경
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
신뢰 실행 환경(TEE)은 하드웨어와 소프트웨어 구성 요소의 집합으로, 애플리케이션을 지원하는 데 필요한 기능을 제공하며, 보안을 강화하기 위해 설계되었다. 최초 TEE 표준은 OMTP에서 정의되었으며, ARM TrustZone 기술을 기반으로 하는 상용 TEE 솔루션이 출시되었다. TEE는 하드웨어 격리 메커니즘과 보안 운영 체제로 구성되며, 원격 증명 기능을 제공하여 무결성을 검증한다. AMD, ARM, IBM, 인텔, RISC-V 등 다양한 하드웨어 기술을 지원하며, TEE는 모바일 금융 서비스, 디지털 권리 관리, 인증, 기업, 정부, 클라우드, 보안 모듈형 프로그래밍 등 다양한 분야에서 활용된다.
더 읽어볼만한 페이지
- 모바일 보안 - 삼성 녹스
삼성 녹스는 삼성전자의 모바일 보안 플랫폼으로, 개인 및 업무용 데이터를 분리하여 보호하는 컨테이너 기술과 다양한 보안 기능을 통해 기기 보호 및 기업의 모바일 기기 관리를 지원한다. - 모바일 보안 - 애플리케이션 보안
애플리케이션 보안은 애플리케이션의 무결성, 기밀성, 가용성을 보호하기 위해 위협을 인식하고 개발 프로세스에 보안을 통합하며 다양한 방법론과 기술을 활용하는 것을 목표로 한다. - 표준 - 국제단위계
국제단위계(SI)는 7개의 기본 상수 값을 고정하여 정의되는 국제적인 측정 단위 체계로, 2019년 재정의를 통해 자연 상수에 기반하여 측정의 정확도와 재현성을 향상시켰다. - 표준 - QR 코드
QR 코드는 1994년 일본 덴소 웨이브가 개발한 2차원 바코드로, 기존 바코드보다 많은 정보를 저장하고 오류 정정 기능이 있으며, 자동차 부품 관리에서 시작하여 다양한 분야에서 활용되지만 악성 QR 코드에 의한 피해에도 주의해야 한다. - 보안 - 금고
금고는 현금, 귀중품, 중요 문서 등을 도난, 화재, 외부 위협으로부터 안전하게 보관하기 위한 잠금장치가 있는 견고한 상자 또는 보관 시설로, 기원전 13세기 이집트에서 기원하여 다양한 재료와 잠금 방식으로 발전해왔으며, 내화 금고, 방도 금고, 대여 금고 등 다양한 종류와 UL, EN 등의 국제적인 표준에 따른 성능 등급이 존재한다. - 보안 - 경비원
경비원은 시설 및 인력을 보호하고 출입을 통제하며 순찰, 위험 감지 및 보고 등의 업무를 수행하는 직업으로, 화재, 도난, 침입 등으로부터 보호하며 방문객 안내, 배달물 접수 등의 부가적인 서비스를 제공하기도 한다.
신뢰 실행 환경 | |
---|---|
개요 | |
종류 | 하드웨어 기반 보안 기술 |
설명 | 메인 프로세서의 보안 영역 |
추가 정보 | |
관련 기술 | ARM TrustZone |
2. 역사
개방형 모바일 터미널 플랫폼(OMTP)은 "Advanced Trusted Environment:OMTP TR1" 표준으로 신뢰 실행 환경(TEE)를 처음 정의하였다. 최초 보안 레벨인 프로파일 1은 소프트웨어 공격만을 대상으로 한 반면, 프로파일 2는 소프트웨어와 하드웨어 공격 모두를 대상으로 하였다.[58]
이후, 트러스티드 로직의 트러스티드 파운데이션스 등 TR1 표준을 준수하는 ARM TrustZone 기술 기반의 상용 TEE 솔루션들이 출시되었다.[59]
OMTP 표준 작업은 2010년 중반에 종료되었고, OMTP는 홀세일 애플리케이션 커뮤니티(WAC)로 전환되었다.[60] OMTP 표준은 GSMA에서 관리하고 있다.[61]
2. 1. 개방형 모바일 단말 플랫폼 (OMTP)
개방형 모바일 단말 플랫폼(OMTP)은 "Advanced Trusted Environment:OMTP TR1" 표준으로 TEE를 처음 정의하였다. OMTP TR1은 TEE를 "응용 프로그램을 지원하는 데 필요한 기능을 제공하는 하드웨어 및 소프트웨어 구성 요소 집합"으로 정의하고, 두 가지 보안 수준(프로파일 1, 프로파일 2) 가운데 하나를 충족하도록 하였다.[58] 프로파일 1은 소프트웨어 공격만을 대상으로 한 반면, 프로파일 2는 소프트웨어와 하드웨어 공격 모두를 대상으로 하였다.[58]이후 트러스티드 로직이 개발한 트러스티드 파운데이션스와 같이 TR1 표준을 준수하는 ARM TrustZone 기술 기반의 상용 TEE 솔루션들이 출시되었다.[59]
OMTP 표준 작업은 2010년 중반에 종료되었고, OMTP는 도매 애플리케이션 커뮤니티(WAC)로 전환되었다.[60] TEE 정의를 포함한 OMTP 표준은 GSMA에서 관리하고 있다.[61]
2. 2. 초기 상용 TEE 솔루션
오픈 모바일 터미널 플랫폼(OMTP)은 "Advanced Trusted Environment:OMTP TR1" 표준으로 신뢰 실행 환경(TEE)을 처음 정의하였다. 이 표준은 TEE를 "응용 프로그램을 지원하는 데 필수적인 기능을 제공하는 하드웨어, 소프트웨어 구성 요소의 집합"으로 정의하고, 두 가지 보안 수준을 제시했다. 프로파일 1은 소프트웨어 공격만을, 프로파일 2는 소프트웨어와 하드웨어 공격 모두를 대상으로 하였다.[58]이후 ARM TrustZone 기술에 기반하여 TR1 표준을 준수하는 상용 TEE 솔루션들이 출시되었는데, 트러스티드 로직의 트러스티드 파운데이션스 등이 대표적이다.[59]
OMTP 표준 관련 작업은 2010년 중순에 종료되었고, 해당 그룹은 홀세일 애플리케이션 커뮤니티(WAC)로 전환되었다.[60] TEE 정의를 포함한 OMTP 표준은 현재 GSMA에서 관리하고 있다.[61]
2. 3. 표준화 노력과 현재
개방형 모바일 단말 플랫폼(OMTP)은 "Advanced Trusted Environment:OMTP TR1" 표준으로 신뢰 실행 환경(TEE)를 처음 정의하였다. 2010년 중반 OMTP 표준 작업은 종료되었고, 이 그룹은 홀세일 애플리케이션 커뮤니티(WAC)로 전환되었다.[60] OMTP 표준은 GSMA에서 관리하고 있다.[61]3. TEE의 특징 및 작동 원리
TEE는 하드웨어 격리 메커니즘과 해당 격리 메커니즘 위에서 실행되는 보안 운영 체제로 구성되지만, 이 용어는 더 넓은 범위의 보호 솔루션을 의미하기도 한다.[8][9][10][11] GlobalPlatform TEE는 하드웨어 격리를 요구하지만, EMVCo와 같은 다른 TEE는 하드웨어 및 소프트웨어 기반 솔루션을 모두 지칭한다.[12] FIDO는 하드웨어 격리 기반 TEE에 대한 제한된 운영 환경에서 TEE 개념을 사용한다.[13] TEE 내부의 소프트웨어 및 암호화 기능은 TEE 내의 신뢰할 수 있는 애플리케이션을 서로 보호한다.[14]
서비스 제공업체, 이동 통신사(MNO), 운영 체제 개발자, 애플리케이션 개발자, 장치 제조업체, 플랫폼 제공업체, 실리콘 공급업체 등이 TEE 관련 표준화에 참여한다.
소비자 전자 제품의 TEE 시스템은 칩 제조업체가 증명 및 알고리즘 접근을 제어하도록 설계된다. 이는 제조업체가 TEE 접근 권한을 특정 개발자에게만 부여하여 수익 창출, 티보화, DRM 등의 사용 사례를 활성화하고, 특정 하드웨어 기능을 벤더 제공 소프트웨어에서만 사용하도록 하여 안티피처에도 사용자가 사용하도록 강제할 수 있다.
3. 1. 하드웨어 격리
TEE는 프로세서, 메모리 등 하드웨어 자원을 일반 영역(Rich Execution Environment, REE)과 분리하여 보안 영역을 구성한다.[8][9][10][11] 하드웨어 격리 메커니즘을 통해 TEE에서 실행되는 코드는 REE의 운영체제나 애플리케이션의 접근 및 간섭으로부터 보호된다. TEE에서 실행되는 신뢰할 수 있는 애플리케이션만 장치의 주 프로세서, 주변 장치 및 메모리의 모든 기능을 사용할 수 있으며, 하드웨어 격리는 메인 운영 체제에서 실행되는 사용자가 설치한 앱으로부터 이를 보호한다.[14]"하드웨어 신뢰 루트"는 사용자가 제어하는 소프트웨어를 사용하여 하드웨어를 시뮬레이션하는 것을 방지하기 위해 사용된다. 이는 제조 과정에서 칩에 직접 내장된 개인 키 세트이며, eFuse와 같은 일회성 프로그래밍 가능 메모리가 일반적으로 모바일 장치에 사용된다. 이러한 키는 장치가 재설정된 후에도 변경할 수 없다.
하드웨어는 신뢰할 수 있는 측의 키로 서명되지 않은 모든 소프트웨어가 권한 있는 기능에 접근하는 것을 방지하는 방식으로 설계되었다. 공급업체의 공개 키는 런타임에 제공되고 해시되며, 이 해시는 칩에 내장된 해시와 비교된다. 해시가 일치하면, 공개 키는 신뢰할 수 있는 벤더 제어 펌웨어(Android 장치의 부트로더 체인 등)의 디지털 서명을 확인하는 데 사용된다.
원격 인증을 통과할 수 있도록 하드웨어를 시뮬레이션하려면 공격자가 하드웨어에서 키를 추출해야 하는데, 이는 실행에 필요한 장비와 기술적 기술로 인해 비용이 많이 든다. 예를 들어, 집속 이온 빔, 주사 전자 현미경, 마이크로프로빙, 칩 디캡핑[17][18][19][20][21][22]을 사용하는 것은 하드웨어가 리버스 엔지니어링 시 키를 파괴하는 방식으로 설계된 경우 어렵거나 불가능하다.
3. 2. 보안 운영체제
TEE는 일반적으로 하드웨어 격리 메커니즘과 해당 격리 메커니즘 위에서 실행되는 보안 운영 체제로 구성된다.[8][9][10][11] TEE 내부의 소프트웨어 및 암호화 기능은 TEE 내에 포함된 신뢰할 수 있는 애플리케이션을 서로 보호한다.[14]서비스 제공업체, 이동 통신사(MNO), 운영 체제 개발자, 애플리케이션 개발자, 장치 제조업체, 플랫폼 제공업체 및 실리콘 공급업체가 TEE와 관련된 표준화 노력에 기여하는 주요 관계자이다.
3. 3. 하드웨어 신뢰 루트
하드웨어 신뢰 루트(Hardware Root of Trust)는 사용자가 제어하는 소프트웨어로 하드웨어를 시뮬레이션하는 것을 방지하기 위해 사용된다. 이는 제조 과정에서 칩에 직접 내장된 개인 키 세트이다. eFuse와 같은 일회성 프로그래밍 가능 메모리가 일반적으로 모바일 장치에 사용된다. 이러한 키는 장치가 재설정된 후에도 변경할 수 없으며, 공개 키는 신뢰할 수 있는 측(일반적으로 칩 공급업체)의 데이터베이스에 비공개 해시값과 함께 보관된다. 이 해시값과 키는 암호화 작업을 수행하고 접근을 제어하는 회로와 함께 신뢰할 수 있는 펌웨어에 서명하는 데 사용된다.[15]하드웨어는 신뢰할 수 있는 측의 키로 서명되지 않은 소프트웨어가 권한 있는 기능에 접근하는 것을 막도록 설계되었다. 공급업체의 공개 키는 런타임에 제공되어 해시되며, 이 해시값은 칩에 내장된 해시값과 비교된다. 해시값이 일치하면, 공개 키는 신뢰할 수 있는 벤더 제어 펌웨어(Android 장치의 부트로더 체인 또는 SGX의 '아키텍처 인클레이브' 등)의 디지털 서명을 확인하는 데 사용된다. 이후 신뢰할 수 있는 펌웨어는 원격 증명을 구현하는 데 사용된다.[15]
애플리케이션이 증명되면, 신뢰할 수 없는 구성 요소는 신뢰할 수 있는 구성 요소를 메모리에 로드한다. 신뢰할 수 있는 애플리케이션은 하드웨어를 사용하여 신뢰할 수 없는 구성 요소에 의한 수정을 방지한다. 논스는 검증자의 서버에서 신뢰할 수 없는 측에 요청되며, 신뢰할 수 있는 애플리케이션의 무결성을 증명하는 암호화 인증 프로토콜의 일부로 사용된다. 증명은 검증자에게 전달되어 확인을 거친다. 유효한 증명은 시뮬레이션된 하드웨어(예: QEMU)에서는 계산할 수 없다. 증명을 구성하려면 하드웨어에 내장된 키에 접근해야 하기 때문이다. 신뢰할 수 있는 펌웨어만이 이러한 키 또는 이 키에서 파생되거나 이를 사용하여 얻은 키에 접근할 수 있다. 플랫폼 소유자만 파운드리에 기록된 데이터에 접근할 수 있으므로, 검증 측은 벤더가 설정한 서비스와 상호 작용해야 한다. 이 방식이 부적절하게 구현되면, 칩 벤더는 어떤 애플리케이션이 어떤 칩에서 사용되는지 추적하고, 인증 실패 메시지를 반환하여 선택적으로 서비스를 거부할 수 있다.[16]
원격 인증을 통과하기 위해 하드웨어를 시뮬레이션하려면 공격자가 하드웨어에서 키를 추출해야 한다. 이는 실행에 필요한 장비와 기술적 기술 때문에 비용이 많이 든다. 예를 들어, 집속 이온 빔, 주사 전자 현미경, 마이크로프로빙, 칩 디캡핑[17][18][19][20][21][22]을 사용하는 것은 하드웨어가 리버스 엔지니어링 시 키를 파괴하도록 설계된 경우 어렵거나 불가능하다. 대부분의 경우 키는 각 하드웨어마다 고유하므로, 한 칩에서 추출한 키를 다른 칩에서 사용할 수 없다(예: 물리적 복제 방지 기능[23][24]).
3. 4. 원격 증명
TEE는 원격 서버에 자신의 무결성을 증명하는 원격 증명(Remote Attestation) 기능을 제공한다. 원격 증명은 하드웨어 신뢰 루트를 기반으로 하며, TEE가 변조되지 않았음을 검증하는 데 사용된다.[15]"하드웨어 신뢰 루트"는 사용자가 제어하는 소프트웨어를 사용하여 하드웨어를 시뮬레이션하는 것을 방지하기 위해 사용된다. 이는 제조 과정에서 칩에 직접 내장된 개인 키 세트이다. eFuse와 같은 일회성 프로그래밍 가능 메모리가 일반적으로 모바일 장치에 사용된다. 이러한 키는 장치가 재설정된 후에도 변경할 수 없으며, 공개 키는 신뢰할 수 있는 측(일반적으로 칩 공급업체)에 속하는 공개 키의 비(非) 비밀 해시와 함께 제조업체 데이터베이스에 있으며, 이는 암호화 작업을 수행하고 액세스를 제어하는 회로와 함께 신뢰할 수 있는 펌웨어에 서명하는 데 사용된다.
하드웨어는 신뢰할 수 있는 측의 키로 서명되지 않은 모든 소프트웨어가 권한 있는 기능에 접근하는 것을 방지하는 방식으로 설계되었다. 공급업체의 공개 키는 런타임에 제공되고 해시된다. 이 해시는 칩에 내장된 해시와 비교된다. 해시가 일치하면, 공개 키는 신뢰할 수 있는 벤더 제어 펌웨어(Android 장치의 부트로더 체인 또는 SGX의 '아키텍처 인클레이브' 등)의 디지털 서명을 확인하는 데 사용된다. 그런 다음 신뢰할 수 있는 펌웨어는 원격 증명을 구현하는 데 사용된다.[15]
애플리케이션이 증명되면 신뢰할 수 없는 구성 요소는 신뢰할 수 있는 구성 요소를 메모리에 로드한다. 신뢰할 수 있는 애플리케이션은 하드웨어를 사용하여 신뢰할 수 없는 구성 요소에 의한 수정으로부터 보호된다. 논스는 검증자의 서버로부터 신뢰할 수 없는 측에서 요청되며, 신뢰할 수 있는 애플리케이션의 무결성을 증명하는 암호화 인증 프로토콜의 일부로 사용된다. 증명은 검증자에게 전달되며, 검증자는 이를 확인한다. 유효한 증명은 시뮬레이션된 하드웨어(예: QEMU)에서 계산할 수 없다. 증명을 구성하려면 하드웨어에 내장된 키에 접근해야 하기 때문이다. 신뢰할 수 있는 펌웨어만이 이러한 키 및/또는 이 키에서 파생되거나 이를 사용하여 얻은 키에 접근할 수 있다. 플랫폼 소유자만 파운드리에 기록된 데이터에 접근하도록 되어 있으므로, 검증 측은 벤더가 설정한 서비스와 상호 작용해야 한다. 이 방식이 부적절하게 구현되면, 칩 벤더는 어떤 애플리케이션이 어떤 칩에서 사용되는지 추적하고, 인증에 실패했음을 나타내는 메시지를 반환하여 선택적으로 서비스를 거부할 수 있다.[16]
원격 인증을 통과할 수 있도록 하드웨어를 시뮬레이션하려면 공격자가 하드웨어에서 키를 추출해야 하며, 이는 실행에 필요한 장비와 기술적 기술로 인해 비용이 많이 든다. 예를 들어, 집속 이온 빔, 주사 전자 현미경, 마이크로프로빙, 칩 디캡핑[17][18][19][20][21][22]을 사용하는 것은 하드웨어가 리버스 엔지니어링이 키를 파괴하는 방식으로 설계된 경우 어렵거나 불가능하다. 대부분의 경우 키는 각 하드웨어에 대해 고유하므로, 한 칩에서 추출한 키를 다른 칩에서 사용할 수 없다(예: 물리적 복제 방지 기능[23][24]).
4. 하드웨어 지원
TEE는 일반적으로 하드웨어 격리 메커니즘과 해당 격리 메커니즘 위에서 실행되는 보안 운영 체제로 구성되지만, 이 용어는 보호된 솔루션을 의미하는 데 더 일반적으로 사용되어 왔다.[8][9][10][11] GlobalPlatform TEE는 하드웨어 격리를 필요로 하지만, EMVCo와 같은 다른 TEE는 하드웨어 기반 솔루션과 소프트웨어 기반 솔루션 모두를 지칭하는 데 TEE라는 용어를 사용한다.[12] FIDO는 하드웨어 격리를 기반으로 하는 TEE에 대한 제한된 운영 환경에서 TEE의 개념을 사용한다.[13] TEE에서 실행되는 신뢰할 수 있는 애플리케이션만 장치의 주 프로세서, 주변 장치 및 메모리의 모든 기능을 사용할 수 있으며, 하드웨어 격리는 메인 운영 체제에서 실행되는 사용자가 설치한 앱으로부터 이를 보호한다. TEE 내부의 소프트웨어 및 암호화 기능은 TEE 내에 포함된 신뢰할 수 있는 애플리케이션을 서로 보호한다.[14]
서비스 제공업체, 이동 통신사(MNO), 운영 체제 개발자, 애플리케이션 개발자, 장치 제조업체, 플랫폼 제공업체 및 실리콘 공급업체가 TEE와 관련된 표준화 노력에 기여하는 주요 관계자이다.
사용자가 제어하는 소프트웨어를 사용하여 하드웨어를 시뮬레이션하는 것을 방지하기 위해 소위 "하드웨어 신뢰 루트"가 사용된다. 이는 제조 과정에서 칩에 직접 내장된 개인 키 세트이다. eFuse와 같은 일회성 프로그래밍 가능 메모리가 일반적으로 모바일 장치에 사용된다. 이러한 키는 장치가 재설정된 후에도 변경할 수 없으며, 공개 키는 신뢰할 수 있는 측(일반적으로 칩 공급업체)에 속하는 공개 키의 비(非) 비밀 해시와 함께 제조업체 데이터베이스에 있으며, 이는 암호화 작업을 수행하고 액세스를 제어하는 회로와 함께 신뢰할 수 있는 펌웨어에 서명하는 데 사용된다.
하드웨어는 신뢰할 수 있는 측의 키로 서명되지 않은 모든 소프트웨어가 권한 있는 기능에 접근하는 것을 방지하는 방식으로 설계되었다. 공급업체의 공개 키는 런타임에 제공되고 해시된다. 이 해시는 칩에 내장된 해시와 비교된다. 해시가 일치하면, 공개 키는 신뢰할 수 있는 벤더 제어 펌웨어(Android 장치의 부트로더 체인 또는 SGX의 '아키텍처 인클레이브' 등)의 디지털 서명을 확인하는 데 사용된다. 그런 다음 신뢰할 수 있는 펌웨어는 원격 증명을 구현하는 데 사용된다.[15]
애플리케이션이 증명되면 신뢰할 수 없는 구성 요소는 신뢰할 수 있는 구성 요소를 메모리에 로드한다. 신뢰할 수 있는 애플리케이션은 하드웨어를 사용하여 신뢰할 수 없는 구성 요소에 의한 수정으로부터 보호된다. 논스는 검증자의 서버로부터 신뢰할 수 없는 측에서 요청되며, 신뢰할 수 있는 애플리케이션의 무결성을 증명하는 암호화 인증 프로토콜의 일부로 사용된다. 증명은 검증자에게 전달되며, 검증자는 이를 확인한다. 유효한 증명은 시뮬레이션된 하드웨어(예: QEMU)에서 계산할 수 없다. 증명을 구성하려면 하드웨어에 내장된 키에 접근해야 하기 때문이다. 신뢰할 수 있는 펌웨어만이 이러한 키 및/또는 이 키에서 파생되거나 이를 사용하여 얻은 키에 접근할 수 있다. 플랫폼 소유자만 파운드리에 기록된 데이터에 접근하도록 되어 있으므로, 검증 측은 벤더가 설정한 서비스와 상호 작용해야 한다. 이 방식이 부적절하게 구현되면, 칩 벤더는 어떤 애플리케이션이 어떤 칩에서 사용되는지 추적하고, 인증에 실패했음을 나타내는 메시지를 반환하여 선택적으로 서비스를 거부할 수 있다.[16]
원격 인증을 통과할 수 있도록 하드웨어를 시뮬레이션하려면 공격자가 하드웨어에서 키를 추출해야 하며, 이는 실행에 필요한 장비와 기술적 기술로 인해 비용이 많이 든다. 예를 들어, 집속 이온 빔, 주사 전자 현미경, 마이크로프로빙, 칩 디캡핑[17][18][19][20][21][22]을 사용하는 것은 하드웨어가 리버스 엔지니어링이 키를 파괴하는 방식으로 설계된 경우 어렵거나 불가능하다. 대부분의 경우 키는 각 하드웨어에 대해 고유하므로, 한 칩에서 추출한 키를 다른 칩에서 사용할 수 없다(예: 물리적 복제 방지 기능[23][24]).
소유권 박탈은 TEE의 고유한 속성은 아니지만(자신의 키 해시를 e-퓨즈에 구워 넣어 장치의 소유권을 먼저 획득한 사용자만 시스템을 제어하도록 설계할 수 있다), 실제로 소비자 전자 제품의 모든 그러한 시스템은 칩 제조업체가 증명 및 해당 알고리즘에 대한 접근을 제어할 수 있도록 의도적으로 설계되었다. 이를 통해 제조업체는 (일반적으로 상업적인) 비즈니스 계약을 맺은 소프트웨어 개발자에게만 TEE에 대한 접근 권한을 부여하여 하드웨어 사용자 기반을 수익 창출하고, 티보화 및 DRM과 같은 사용 사례를 활성화하며, 특정 하드웨어 기능을 벤더가 제공하는 소프트웨어에서만 사용할 수 있도록 하여, 안티피처 (예: 광고, 추적 및 시장 세분화를 위한 사용 사례 제한)에도 불구하고 사용자가 사용하도록 강요할 수 있다.
TEE 구현을 지원하는 주요 하드웨어 기술은 다음과 같다:
- AMD: 플랫폼 시큐리티 프로세서(PSP), AMD Secure Execution Environment, AMD 보안 암호화 가상화(SEV) 및 보안 중첩 페이징 확장
- ARM: 트러스트존, Realm 관리 확장 / 기밀 컴퓨팅 아키텍처(CCA)
- IBM: IBM 시큐어 서비스 컨테이너, IBM 보안 실행
- 인텔: 신뢰 실행 기술(TXT), 소프트웨어 가드 확장(SGX), "사일런트 레이크"
- RISC-V: MultiZone™ Security Trusted Execution Environment, 키스톤 사용자 정의 TEE 프레임워크, RISC-V용 펑라이 확장 가능 TEE
4. 1. AMD
AMD는 다음과 같은 신뢰 실행 환경(TEE) 구현 기술을 제공한다.- 플랫폼 시큐리티 프로세서 (PSP)[62][63][64]
- AMD Secure Execution Environment[65]
- AMD 보안 암호화 가상화(SEV)[43] 및 보안 중첩 페이징 확장[44]
4. 2. ARM
ARM은 트러스트존[66] 기술과 Realm 관리 확장 / 기밀 컴퓨팅 아키텍처(CCA)를 통해 TEE 구현을 지원한다.4. 3. IBM
IBM 시큐어 서비스 컨테이너[67] (이전 zACI, 드라이버 레벨 27에서 IBM z13세대 머신 및 모든 LinuxONE 머신에 처음 도입)[68], IBM 보안 실행[48] (2020년 4월 14일 IBM z15 및 LinuxONE III세대 머신에 도입)4. 4. 인텔
인텔은 다음과 같은 신뢰 실행 환경(TEE) 구현 기술을 제공한다.- 신뢰 실행 기술(Trusted Execution Technology, TXT)[65]
- 소프트웨어 가드 확장(Software Guard Extensions, SGX)[69]
- "사일런트 레이크" (아톰 프로세서에서 사용 가능)[70][71][72] [50][51][52]
4. 5. RISC-V
- RISC-V:
- * MultiZone™ Security Trusted Execution Environment[73]
- * 키스톤 사용자 정의 TEE 프레임워크[54]
- * RISC-V용 펑라이 확장 가능 TEE[55]
5. TEE 운영체제
TEE는 일반적으로 하드웨어 격리 메커니즘과 해당 격리 메커니즘 위에서 실행되는 보안 운영 체제로 구성된다.[8][9][10][11] 그러나 이 용어는 더 일반적으로 보호된 솔루션을 의미하는 데 사용된다. GlobalPlatform TEE는 하드웨어 격리를 필요로 하지만, EMVCo와 같은 다른 TEE는 하드웨어 기반 솔루션과 소프트웨어 기반 솔루션 모두를 지칭하는 데 TEE라는 용어를 사용한다.[12] FIDO는 하드웨어 격리를 기반으로 하는 TEE에 대한 제한된 운영 환경에서 TEE의 개념을 사용한다.[13]
TEE에서 실행되는 신뢰할 수 있는 애플리케이션만 장치의 주 프로세서, 주변 장치 및 메모리의 모든 기능을 사용할 수 있으며, 하드웨어 격리는 메인 운영 체제에서 실행되는 사용자가 설치한 앱으로부터 이를 보호한다. TEE 내부의 소프트웨어 및 암호화 기능은 TEE 내에 포함된 신뢰할 수 있는 애플리케이션을 서로 보호한다.[14]
서비스 제공업체, 이동 통신사(MNO), 운영 체제 개발자, 애플리케이션 개발자, 장치 제조업체, 플랫폼 제공업체 및 실리콘 공급업체가 TEE와 관련된 표준화 노력에 기여하는 주요 관계자이다.
다음은 주요 TEE 운영체제들이다.
회사 | 제품 | 사용 하드웨어 | API 표준 | 인증 유형 | 참고 자료 |
---|---|---|---|---|---|
알리바바(Alibaba) | 클라우드 링크 TEE | GlobalPlatform | 전체 | [27] | |
애플(Apple Inc.) | 보안 인클레이브 | 별도 프로세서 | 독점 | [28] | |
BeanPod | ARM TrustZone | GlobalPlatform | [29] | ||
화웨이(Huawei) | iTrustee | ARM TrustZone | GlobalPlatform | 전체 | [30] |
구글(Google) | Trusty | ARM / 인텔(Intel) | 독점 | [31] | |
리나로(Linaro) | OPTEE | ARM TrustZone | GlobalPlatform | [32] | |
ProvenRun | ProvenCore | ARM TrustZone | [33] | ||
퀄컴(Qualcomm) | QTEE | ARM TrustZone | GlobalPlatform + 독점 | [34] | |
삼성(Samsung) | TEEgris | ARM TrustZone | GlobalPlatform | 전체 | [35] |
TrustKernel | T6 | ARM / 인텔(Intel) | GlobalPlatform | [36] | |
Trustonic | Kinibi | ARM TrustZone | GlobalPlatform | 전체 | [37] |
Trustonic | SW TEE | SW TEE on | GlobalPlatform | [37] | |
uberSpark | uberXMHF | ARM TrustZone / 인텔(Intel) | 형식화된 기계적 증명 | [38] | |
Watchdata | WatchTrust | ARM TrustZone | GlobalPlatform | 전체 | [39] |
6. 활용 분야
신뢰 실행 환경(TEE)은 다양한 분야에서 활용된다. TEE는 소유권 박탈을 활용하는 경우가 많지만, 모든 사용 사례가 그런 것은 아니다.
하위 섹션에서 이미 자세히 다루고 있으므로, 여기서는 간략하게만 언급한다.
- 모바일 금융 서비스: TEE는 모바일 결제, 암호화폐 지갑 등 금융 거래의 보안을 강화하는 데 사용된다.
- 디지털 권리 관리(DRM): TEE는 4K 영화와 같은 고화질 콘텐츠의 불법 복제 및 배포를 방지하는 데 사용된다.
- 인증: TEE는 PIN, 비밀번호, 생체 인식(지문, 얼굴 인식 등)을 안전하게 처리하고 인증하여 사용자 정보를 보호한다.
- 기업, 정부 및 클라우드: TEE는 기업 및 정부 기관에서 모바일 장치 및 서버의 기밀 정보를 보호하는 데 활용된다.
- 보안 모듈형 프로그래밍: TEE는 소프트웨어 모듈 간의 안전한 통신을 지원하여 시스템 보안을 강화한다.
6. 1. 모바일 금융 서비스
모바일 지갑, 개인 간 결제, 비접촉 결제 또는 모바일 장치를 POS(판매 시점 정보 관리) 단말기로 사용하는 것과 같은 모바일 상거래 애플리케이션은 종종 잘 정의된 보안 요구 사항을 갖는다. 신뢰 실행 환경(TEE)은 근거리 무선 통신(NFC), SE(보안 요소) 및 신뢰할 수 있는 백엔드 시스템과 함께 사용하여 금융 거래를 가능하게 하는 데 필요한 보안을 제공하는 데 사용될 수 있다.[26]일부 시나리오에서는 최종 사용자와의 상호 작용이 필요하며, 이로 인해 사용자는 사용자를 인증하기 위해 PIN, 비밀번호 또는 생체 인식 식별자와 같은 민감한 정보를 모바일 OS에 노출해야 할 수 있다. TEE는 선택적으로 모바일 장치에서 사용자 인증을 구성하는 데 사용할 수 있는 신뢰할 수 있는 사용자 인터페이스를 제공한다.
암호화폐의 부상과 함께 TEE는 일반 운영 체제보다 토큰을 더 안전하게 저장할 수 있고 필요한 계산 및 인증 응용 프로그램을 제공할 수 있으므로 암호화폐 지갑을 구현하는 데 점점 더 많이 사용되고 있다.[26]
6. 2. 디지털 권리 관리 (DRM)
많은 TEE 관련 문헌에서는 이 주제를 "프리미엄 콘텐츠 보호"라는 정의로 다루고 있으며, 이는 많은 저작권 소유자가 선호하는 명칭이다. 프리미엄 콘텐츠 보호는 디지털 권리 관리(DRM)의 특정 사용 사례이며, 자유 소프트웨어 재단과 같은 일부 커뮤니티에서는 논란의 대상이 되고 있다.[25] 저작권 소유자는 4K 고화질 영화와 같은 콘텐츠를 최종 사용자가 소비할 수 있는 방식을 제한하기 위해 이를 널리 사용한다.TEE는 스마트폰, 태블릿, HD TV와 같은 연결된 장치에서 디지털로 인코딩된 정보(예: HD 영화 또는 오디오)를 보호하기에 적합한 환경이다. 이러한 적합성은 TEE가 장치 소유자로부터 저장된 비밀에 대한 접근을 차단할 수 있다는 점과 TEE와 장치의 디스플레이 및/또는 하위 시스템 사이에 보호된 하드웨어 경로가 자주 존재한다는 사실에서 비롯된다.
TEE는 콘텐츠가 장치에 들어온 후 콘텐츠를 보호하는 데 사용된다. 콘텐츠는 전송 또는 스트리밍 중에 암호화를 사용하여 보호되는 반면, TEE는 해독된 콘텐츠가 앱 개발자 또는 플랫폼 공급업체가 승인하지 않은 환경에 노출되지 않도록 보장하여 장치에서 해독된 콘텐츠를 보호한다.
6. 3. 인증
TEE는 얼굴 인식, 지문 센서, 음성 인증과 같은 생체 인식 방법을 지원하는 데 적합하다. 이러한 인증 프로세스는 일반적으로 다음 세 가지 주요 단계로 이루어진다.1. "이미지"와 비교하기 위해 장치에 참조 "템플릿" 식별자를 저장한다.
2. "이미지"를 추출한다.(지문을 스캔하거나 음성 샘플을 캡처)
3. 일치 엔진을 사용하여 "이미지"와 "템플릿"을 비교한다.
TEE는 모바일 장치 내에서 일치 엔진과 사용자를 인증하는 데 필요한 관련 처리를 수용하기에 적합한 영역이다. 이 환경은 데이터를 보호하고 모바일 운영 체제에 있는 보안되지 않은 앱에 대한 버퍼를 설정하도록 설계되었다. 이러한 추가적인 보안은 휴대폰 개발자의 비용을 절감하는 것 외에도 서비스 제공업체의 보안 요구 사항을 충족하는 데 도움이 될 수 있다.
6. 4. 기업, 정부 및 클라우드
TEE는 정부, 기업 및 클라우드 서비스 제공업체가 모바일 장치와 서버 인프라에서 기밀 정보를 안전하게 처리할 수 있도록 지원하는 데 사용될 수 있다. TEE는 모바일 OS에서 발생하는 소프트웨어 공격에 대해 일정한 수준의 보호 기능을 제공하며, 접근 권한 제어를 돕는다. 이는 모바일 OS와 존재할 수 있는 악성 코드로부터 격리되고 보호되어야 하는 민감한 '신뢰할 수 있는' 애플리케이션을 수용함으로써 이를 달성한다. TEE가 제공하는 기능과 보안 수준을 활용하여 정부와 기업은 자체 기기를 사용하는 직원이 안전하고 신뢰할 수 있는 방식으로 사용하고 있음을 확신할 수 있다. 마찬가지로, 서버 기반 TEE는 백엔드 인프라에 대한 내부 및 외부 공격으로부터 방어하는 데 도움이 된다.6. 5. 보안 모듈형 프로그래밍
모듈형 프로그래밍은 기능을 작고 독립적인 모듈로 분리하여 소프트웨어 아키텍처를 설계하는 생산적인 프로세스이다. 신뢰 실행 환경(TEE)은 각 모듈이 원하는 기능을 실행하는 데 필요한 모든 것을 포함하도록 하여, 높은 수준의 신뢰성과 보안을 갖춘 완전한 시스템을 구성하고 각 모듈이 다른 모듈의 취약성으로부터 보호되도록 한다.TEE는 모듈 간 통신 및 데이터 공유를 위해 객체 직렬화 및 프록시와 같은 메커니즘을 사용하여 모듈 간에 페이로드를 안전하게 송수신할 수 있는 수단을 제공한다.
컴포넌트 기반 소프트웨어 공학 참고.
참조
[1]
웹사이트
Introduction to Trusted Execution Environment: ARM's TrustZone
https://blog.quarksl[...]
[2]
웹사이트
Security evaluation of Trusted execution environments: Why and how?
https://globalplatfo[...]
2024-02-15
[3]
웹사이트
Trusted Execution Environment, millions of users have one, do you have yours?
https://poulpita.com[...]
2014-02-18
[4]
웹사이트
Omtp Hardware Requirements And Defragmentation
http://www.gsma.com/[...]
[5]
웹사이트
Gemalto's website has moved to Thales
http://www.trusted-l[...]
[6]
웹사이트
OMTP announces final documents prior to transition into Wholesale Application Community
http://www.mobileeur[...]
2014-08-27
[7]
웹사이트
OMTP documents
http://www.gsma.com/[...]
2012-05
[8]
서적
2015 IEEE Trustcom/BigDataSE/ISPA
https://hal.archives[...]
IEEE
2020-04-19
[9]
간행물
Demystifying Arm TrustZone: A Comprehensive Survey
https://doi.org/10.1[...]
2019
[10]
간행물
TEE based session key establishment protocol for secure infotainment systems
Springer
[11]
서적
2016 IEEE Trustcom/BigDataSE/ISPA
https://core.ac.uk/d[...]
IEEE
2021-05-14
[12]
웹사이트
Software-Based Mobile Payment Evaluation Process
https://www.emvco.co[...]
EMVCo
2021-10-13
[13]
웹사이트
FIDO Authenticator Allowed Restricted Operating Environments List
https://fidoalliance[...]
FIDO Alliance
2021-10-13
[14]
웹사이트
Solutions - Trustonic- Securing Smart Devices & Mobile Applications
https://www.trustoni[...]
2014-07-31
[15]
웹사이트
Towards Formalization of Enhanced Privacy ID (EPID)-based Remote Attestation in Intel SGX
https://www.research[...]
[16]
웹사이트
QEMU v7 — OP-TEE documentation documentation
https://optee.readth[...]
[17]
웹사이트
Editing Circuits with Focused Ion Beams
https://hackaday.com[...]
2014-04
[18]
웹사이트
Advanced IC reverse engineering techniques: in depth analysis of a modern smart card
https://www.blackhat[...]
2020-11-14
[19]
문서
Finding the AES Bits in the Haystack: Reverse Engineering and SCA Using Voltage Contrast by Christian Kison, Jürgen Frinken, and Christof Paar - https://www.iacr.org/archive/ches2015/92930620/92930620.pdf
https://web.archive.[...]
2020-11-16
[20]
뉴스
How codebreakers cracked the secrets of the smart card
https://www.theguard[...]
2002-03-13
[21]
웹사이트
X-Ray Tech Lays Chip Secrets Bare - IEEE Spectrum
https://spectrum.iee[...]
2019-10-07
[22]
문서
Design Principles for Tamper-Resistant Smartcard Processors by Oliver Kömmerling Advanced Digital Security and Markus G. Kuhn University of Cambridge https://www.usenix.org/legacy/events/smartcard99/full_papers/kommerling/kommerling.pdf
https://web.archive.[...]
2021-01-21
[23]
웹사이트
Physically Unclonable Functions (PUFs)
https://semiengineer[...]
2020-11-15
[24]
문서
Areno, Matthew & Plusquellic, J.. (2012). Securing Trusted Execution Environments with PUF Generated Secret Keys. 1188-1193. 10.1109/TrustCom.2012.255.
[25]
웹사이트
Digital Restrictions Management and Treacherous Computing Free Software Foundation working together for free software
https://www.fsf.org/[...]
2019-08-20
[26]
웹사이트
Ethereum Wallet in a Trusted Execution Environment / Secure Enclave
https://medium.com/w[...]
Medium
2018-06-07
[27]
웹사이트
Alibaba Cloud Link Tee V1.1.3
https://globalplatfo[...]
GlobalPlatform
2021-10-13
[28]
웹사이트
Secure Enclave overview
https://support.appl[...]
Apple Inc.
2021-10-13
[29]
웹사이트
GlobalPlatform Welcomes New Participating Member Beijing Beanpod Technology
https://globalplatfo[...]
GlobalPlatform
2021-10-13
[30]
웹사이트
Huawei iTrustee V3.0 on Kirin 980
https://globalplatfo[...]
GlobalPlatform
2021-10-13
[31]
웹사이트
Trusty TEE
https://source.andro[...]
Google Android
2021-10-13
[32]
웹사이트
Security, Trustzone and OP-TEE
https://www.linaro.o[...]
Linaro
2021-10-13
[33]
웹사이트
ProvenCore
https://provenrun.co[...]
ProvenRun
2024-06-23
[34]
웹사이트
Guard your Data with Qualcomm Snapdragon Mobile Platform
https://www.qualcomm[...]
Qualcomm
2021-10-13
[35]
웹사이트
Samsung TeeGris V4.1
https://globalplatfo[...]
GlobalPlatform
2021-10-13
[36]
웹사이트
Enhance Device Security With T6
https://www.trustker[...]
TrustKernel
[37]
웹사이트
Certificate of Security Evaluation - Kinibi 410A
https://globalplatfo[...]
GlobalPlatform
[38]
웹사이트
uberXMHF
https://www.uberxmhf[...]
[39]
웹사이트
WatchTrust 2.1.1 on SC9860
https://globalplatfo[...]
GlobalPlatform
[40]
웹사이트
AMD Secure Processor (Built-in technology)
https://www.amd.com/[...]
2017-09-17
[41]
웹사이트
Secure Hardware and the Creation of an Open Trusted Ecosystem
https://classic.rego[...]
2017-05-17
[42]
웹사이트
AMD Beema and Mullins Low Power 2014 APUs Tested - Page 2
https://web.archive.[...]
HotHardware
2014-04-29
[43]
웹사이트
AMD MEMORY ENCRYPTION
https://developer.am[...]
2016-04-21
[44]
웹사이트
AMD SEV-SNP: Strengthening VM Isolation with Integrity Protection and More
https://www.amd.com/[...]
2020-01
[45]
웹사이트
GlobalPlatform based Trusted Execution Environment and TrustZone Ready
https://community.ar[...]
2020-04-24
[46]
웹사이트
IBM Secure Service Container
https://www.ibm.com/[...]
2019-07-12
[47]
웹사이트
Family 2965+01 IBM z13s Models N10 and N20
https://www-01.ibm.c[...]
2018-05-22
[48]
웹사이트
Technical overview of Secure Execution for Linux on IBM Z
https://developer.ib[...]
2020-04-15
[49]
웹사이트
The Trusted Execution Environments on Mobile Devices
http://www.cs.helsin[...]
2017-05-17
[50]
웹사이트
WW46_2014_MCG_Tablet_Roadmap_图文_百度文库
http://wenku.baidu.c[...]
2017-01-04
[51]
웹사이트
CyanogenMod/android_device_asus_mofd-common
https://github.com/C[...]
2017-01-04
[52]
웹사이트
heidiao/sfp_m2_bt
https://github.com/h[...]
2017-01-04
[53]
웹사이트
Hex Five Security Adds MultiZone™ Trusted Execution Environment to the SiFive Software Ecosystem
https://hex-five.com[...]
2018-08-22
[54]
웹사이트
Keystone Paper and Customizable TEEs
https://keystone-enc[...]
2019-07-22
[55]
웹사이트
Penglai Enclave
https://penglai-encl[...]
2021-06-10
[56]
웹인용
Trusted Execution Environment, millions of users have one, do you have yours?
https://poulpita.com[...]
2014-02-18
[57]
웹인용
The benefits of Trusted Execution Environment (TEE)
https://www.youtube.[...]
유튜브
2013-10-26
[58]
웹인용
Omtp Hardware Requirements And Defragmentation
http://www.gsma.com/[...]
""
[59]
문서
https://web.archive.org/web/20140903041544/http://www.trusted-logic.com/IMG/pdf/TRUSTED_LOGIC_TRUSTED_FOUNDATIONS_OMTP_FINAL.pdf
[60]
웹인용
OMTP announces final documents prior to transition into Wholesale Application Community
https://web.archive.[...]
2019-11-13
[61]
웹인용
OMTP documents
http://www.gsma.com/[...]
2012-05
[62]
웹인용
AMD Secure Processor (Built-in technology)
https://www.amd.com/[...]
[63]
웹인용
Secure Hardware and the Creation of an Open Trusted Ecosystem
https://classic.rego[...]
2017-05-17
[64]
웹인용
AMD Beema and Mullins Low Power 2014 APUs Tested - Page 2
https://web.archive.[...]
HotHardware
2014-04-29
[65]
웹인용
ARM TrustZone Software - Open Virtualization FAQ
https://web.archive.[...]
2019-11-13
[66]
웹인용
GlobalPlatform Trusted Execution Environment & TrustZone… - ARM
http://www.arm.com/a[...]
[67]
웹인용
IBM Secure Service Container
https://www.ibm.com/[...]
[68]
웹인용
Family 2965+01 IBM z13s Models N10 and N20
https://www-01.ibm.c[...]
[69]
웹인용
The Trusted Execution Environments on Mobile Devices
http://www.cs.helsin[...]
2017-05-17
[70]
웹인용
WW46_2014_MCG_Tablet_Roadmap_图文_百度文库
http://wenku.baidu.c[...]
[71]
웹인용
CyanogenMod/android_device_asus_mofd-common
https://github.com/C[...]
[72]
웹인용
heidiao/sfp_m2_bt
https://github.com/h[...]
[73]
웹인용
Hex Five Security Adds MultiZone™ Trusted Execution Environment to the SiFive Software Ecosystem
https://hex-five.com[...]
2018-09-13
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com