개요
https://optee.readthedocs.io 문서를 구글 번역기 + 네이버번역기를 이용하여 번역하였습니다.
즉, 기계가 번역한 내용이므로 대략적인 내용은 확인가능합니다. 제대로 보시려면 원문을 보시길 권유드립니다.
글순서
- [OPTEE 문서번역] OPTEE GettingStarted
- [OPTEE 문서번역] OPTEE Architecture - 1 Core
- [OPTEE 문서번역] OPTEE Architecture - 2 Crypt
- [OPTEE 문서번역] OPTEE Architecture - 3 Device Tree
- [OPTEE 문서번역] OPTEE Architecture - 4 File structure
- [OPTEE 문서번역] OPTEE Architecture - 5 GlobalPlatform API
- [OPTEE 문서번역] OPTEE Architecture - 6 Libraries API
- [OPTEE 문서번역] OPTEE Architecture - 7 Porting Guide
- [OPTEE 문서번역] OPTEE Architecture - 8 Secure Boot
- [OPTEE 문서번역] OPTEE Architecture - 9 Secure storage
- [OPTEE 문서번역] OPTEE Architecture - 10 Trusted Applications
- [OPTEE 문서번역] OPTEE Architecture - 11 Virtualization
1. About OP-TEE
OP-TEE는 ARM에서 실행중인 비보안 Linux 커널과 함께 설계된 신뢰할 수있는 실행 환경 (TEE)입니다. Cortex-A TrustZone 기술을 사용하는 코어. OP-TEE는 신뢰할 수있는 응용 프로그램에 노출 된 API 인 TEE Internal Core API v1.1.x와 TEE와 통신하는 방법을 설명하는 API 인 TEE Client API v1.0을 구현합니다. 이러한 API는 GlobalPlatform API 사양에 정의되어 있습니다. 비보안 OS는 TEE 사양에서 REE (Rich Execution Environment)라고합니다. 일반적으로 GNU / Linux 배포판이나 AOSP와 같은 Linux OS입니다.
OP-TEE는 기본적으로 Arm TrustZone 기술을 기본 하드웨어 분리 메커니즘으로 사용하도록 설계되었습니다. 그러나 가상 컴퓨터 또는 전용 CPU에서 실행하는 것과 같은 TEE 개념 및 목표에 적합한 격리 기술과 호환되도록 구성되어 있습니다.
The main design goals for OP-TEE are:
- Isolation - TEE는 비보안 OS로부터 격리를 제공하고 기본 하드웨어 지원을 사용하여로드 된 신뢰할 수있는 응용 프로그램 (TAs)을 서로로부터 보호합니다.
- Small footprint - TEE는 ARM 기반 시스템에서 볼 수있는 합리적인 양의 온칩 메모리에 상주 할 정도로 작아야하며,
- Portability -TEE는 다른 아키텍처 및 사용 가능한 HW에 쉽게 연결될 수있는 것을 목표로하며 다중 클라이언트 OS 또는 다중 TEE와 같은 다양한 설정을 지원해야합니다.
1.1. OP-TEE components
OP-TEE는 다양한 구성 요소로 나뉩니다.
- Arm 보안 PL-1 (v7-A) 또는 EL-1 (v8-A) 수준에서 실행되는 보안 권한있는 계층
- 신뢰할 수있는 응용 프로그램을 위해 설계된 안전한 사용자 공간 라이브러리 집합.
- 리눅스 커널 TEE 프레임 워크와 드라이버 (v4.12의 공식 트리에 병합).
- GlobalPlatform TEE 클라이언트 API 사양에 따라 설계된 Linux 사용자 공간 라이브러리.
- TEE OS가 예상하는 원격 서비스를 담당하는 Linux 사용자 공간 요청자 데몬 (tee-supplicant).
- 회귀 테스트를 수행하고 API 구현의 일관성을 테스트하기위한 테스트 슈트 (xtest).
- 몇 가지 간단한
host-
와TA-examples
을 포함하는 git 예제입니다. - 또한 일부는 스크립트 작성, 통합을 용이하게하는 디버깅 도구, 신뢰할 수있는 응용 프로그램 개발 및 보안 서비스를 제공.
이러한 구성 요소는 여러 git 저장소에서 사용할 수 있습니다.
The main ones are...
1.2. History
OP-TEE는 처음에 ST-Ericsson (그리고 나중에 STMicroelectronics에 의해)에 의해 개발되었지만 OP-TEE가 "OP-TEE"라는 이름을 가지기 전이었고 오픈 소스 프로젝트로 바뀌었다. 그 당시에는 닫힌 소스 였고 독점적 인 TEE 프로젝트였습니다. ST- 에릭슨은 2013 년에 GlobalPlatform의 준수 자격을 획득하여 GlobalPlatform 사양에 따라 API가 예상대로 작동하고 있음을 입증했습니다.
나중에 같은 해 (2013)에 Linaro는 Security Working Group (SWG)을 구성하려고했으며 SWG의 초기 핵심 작업 중 하나는 오픈 소스 TEE 프로젝트에서 작업하는 것이 었습니다. 다양한 TEE 벤더들과 이야기 한 후 Linaro는 STMicroelectronics TEE 프로젝트 작업을 마무리했습니다. 그러나 소스를 공개하기 전에 일부 독점 구성 요소를 오픈 소스 구성 요소로 대체해야했습니다. 2 개월 동안 Linaro / SWG는 STMicroelectronics의 엔지니어들과 함께 주요 부품 (암호화 라이브러리, 보안 모니터, 시스템 구축 등)을 다시 작성하고 Coding standards을 시행하고 checkpatch 등을 실행하여 프로젝트를 정리했습니다.
2014 년 6 월 12 일 OP-TEE가 오픈 소스 프로젝트로 탄생 한 날이었습니다. 그날 OP-TEE 팀은 first commit을 GitHub로 푸시했습니다. 이 리나로 (Linaro)가 조금 더 나아가서 이것에 대해 press release를 만들었습니다. 그 보도 자료는 조금 더 많은 정보를 담고 있습니다. 오픈 소스 프로젝트의 첫 해에 STMicroelectronics가 소유했지만 Linaro와 STMicroelectronics가 관리했습니다. 2015 년 ST-Microelectronics에서 Linaro로 OP-TEE의 소유권 이전이 있었으며, 그 이후 Linaro는 프로젝트의 주인이자 유지 책임자입니다. 그러나 유지 보수 부분에서는 Linaro, Linaro 회원 및 OP-TEE를 사용하는 다른 회사간에 공유 책임이 있습니다.
2. Coding standards
// 생략 ...
3. Contribute
// 생략 ...
3.1. Developer Certificate of Origin
// 생략 ...
3.2. GitHub
// 생략 ...
3.2.1. Setting up an account
// 생략 ...
3.2.2. Forking
// 생략 ...
3.2.3. Creating pull requests
// 생략 ...
3.2.4. Commit messages
// 생략 ...
3.2.5. Review feedback
// 생략 ...
3.2.6. Finalizing your contribution
// 생략 ...
4. Presentations
// 생략 ...