https://github.com/codetronik/optee-aes
1. 키 설정
TA에서는 OP-TEE API를 활용하여 eMMC의 RPMB(Replay Protected Memory Block) 파티션에 키를 생성하고 삭제할 수 있다. 이 영역은 Normal World에서 접근할 수 없다.
별칭(alias)을 지정하여 키에 접근한다. (TA간 키는 공유할 수 없다. 즉, alias가 동일하더라도, 다른 TA의 alias에 접근할 수 없다.) RPMB에 키가 존재하지 않으면, 키를 생성하여 저장한다.
TA 관련 주요 API들은 중요 데이터 저장을 위해 세션을 제공한다. 뭘 저장할 지는 자유이며, 필자는 이 곳에 키를 저장하였다.
2. AES-GCM을 구현
![]() |
![]() |
세션에서 키를 불러온 후, 이를 사용하여 데이터를 암/복호화한다. TA에서는 암호화 과정에서 IV를 랜덤하게 생성하며, 최종적으로 생성된 태그(tag)와 암호문(cipher)을 함께 반환한다.
'Embedded' 카테고리의 다른 글
[OP-TEE with QEMU] 2. 예제 코드 컴파일 및 실행 (0) | 2025.02.26 |
---|---|
[OP-TEE with QEMU] 1. 환경 구축 (0) | 2025.02.25 |
라즈베리파이5 환경 구축 (0) | 2025.02.23 |