신뢰 실행 환경(Trusted Execution Environment)이란 무엇인가?
A Trusted Execution Environment는 IoT/커넥티드 기기에 관한 논의에서 충분한 주목을 받지 못하는 근본적인 주제 중 하나입니다. 데이터의 무결성과 보호된 환경에서 프로그램을 실행할 수 있는 능력이 무엇보다 중요한 분야가 많습니다. 비밀번호, 개인 키 등과 같은 매우 민감한 정보를 신뢰 실행 환경(TEE)에서 처리하고 저장하면 가장 신뢰할 수 있는 IoT 데이터를 얻을 수 있습니다.
최고 수준의 보안이 필요한 데이터는 TEE를 갖춘, 즉 변조에 매우 강한 기기에서 나와야 합니다. IoT 데이터 사용 사례는 요구되는 데이터 무결성의 스펙트럼에 따라 나뉩니다. 그 스펙트럼의 한쪽 끝에는 금융 거래와 건강 데이터가 있습니다. 때로는 무결성의 정도가 그다지 중요하지 않을 수도 있습니다. 하지만 어떤 경우에는 그것이 매우 중요하며 TEE가 반드시 필요합니다.
신뢰 실행 환경(TEE)은 특정 데이터와 프로세스를 외부의 변조나 간섭으로부터 보호하도록 설계된, 기기의 하드웨어와 소프트웨어의 보안 영역입니다.
IoTeX의 Pebble Tracker는 TEE를 사용하므로 최고 수준의 데이터 무결성이 필요한 경우에 사용할 수 있습니다.
이 환경에서는 어떤 일이 일어날까요?
IoTeX의 Pebble Tracker는 신뢰 실행 환경을 사용하여 실제 세계의 데이터를 캡처하고 암호학적으로 서명함으로써 데이터의 무결성을 보장합니다. 이는 스마트폰에서 FaceID/지문을 관리하는 칩이나 개인 키를 관리하는 암호화폐 하드웨어 지갑과 유사합니다. Pebble Tracker가 생성하는 서명은 IoT 데이터 메시지에 첨부됩니다. 이를 통해 변조 여부를 검증할 수 있으며 데이터를 생성한 정확한 기기를 식별할 수 있습니다. 모든 Pebble Tracker는 제조 시 IoTeX 블록체인에 등록됩니다.
블록체인 + IoT 기술 기업인 enviroBLOQ와 AhoyDAO의 경우, 제3자가 이 기업들이 사용하는 기기에서 나온 데이터에 대해 비용을 지불하고 있습니다. 이 제3자들은 데이터, 또는 그 데이터에 기반한 증명이 완전히 신뢰할 수 있다는 사실에 의존합니다. 신뢰할 수 있는 기기에서 어떤 dApp에 이르기까지 전체 과정을 획기적으로 만드는 것이 바로 이것입니다. 기기 데이터의 무결성을 증명할 수 있는 것입니다. 이러한 데이터 무결성은 머신파이(MachineFi) 경제의 근간이 됩니다.
일반적인 설명을 위해, 신뢰 실행 환경에 관한 다음 위키백과 항목이 유익하다고 판단했습니다. (발췌)
신뢰 실행 환경(TEE)은 메인 프로세서의 보안 영역입니다. 이는 내부에 로드된 코드와 데이터가 기밀성과 무결성 측면에서 보호되도록 보장합니다. 데이터 무결성 — TEE 외부의 어떤 엔티티가 데이터를 처리할 때 권한이 없는 엔티티가 데이터를 변경하는 것을 방지합니다 ... 격리된 실행 환경으로서의 TEE는 격리된 실행, TEE 내에서 실행되는 애플리케이션의 무결성, 그리고 해당 자산의 기밀성과 같은 보안 기능을 제공합니다. 일반적으로 TEE는 리치 운영체제(OS)보다 더 높은 수준의 보안을, '보안 요소(SE)'보다 더 많은 기능을 제공하는, 기기에서 실행되는 신뢰할 수 있는 애플리케이션을 위한 실행 공간을 제공합니다.
TEE는 어디에 사용되나요?
알고 보면, 신뢰 실행 환경은 우리 삶 곳곳에 존재합니다. 스마트폰, 노트북, 그 외 다양한 종류의 컴퓨팅 기기에 탑재되어 있습니다. TEE는 이러한 기기가 여러분의 지문을 안전하게 저장하거나 얼굴로 신원을 확인할 수 있게 해주는 요소입니다.
TEE는 신용카드나 여권과 같은 일부 스마트카드에서도 발견되는데, 이들은 민감한 데이터를 안전한 환경에서 저장하고 처리하기 위해 TEE를 사용합니다. 그 외에는 어떻게 유용할까요?
- 민감한 데이터 보호: TEE는 비밀번호, 금융 정보, 개인 신분 증명 서류와 같은 민감한 데이터를 기기의 나머지 부분과 격리된 안전한 환경에서 저장하고 처리하는 데 사용할 수 있습니다.
- 안전한 거래 지원: 온라인 뱅킹이나 전자상거래 거래와 같은 안전한 거래를 가능하게 합니다. 민감한 금융 정보를 처리하기 위한 안전한 환경은 사기를 방지하고 금융 거래의 무결성을 보장하는 데 도움이 됩니다.
- 보안 정책 시행: TEE는 기기에서 접근 제어와 같은 보안 정책을 시행하는 데 사용할 수 있습니다. 이는 민감한 데이터에 대한 무단 접근을 방지하고 승인된 사용자만 특정 리소스에 접근할 수 있도록 보장합니다.
- 악성코드로부터 보호: TEE는 악성코드로부터 보호하는 데 사용할 수 있습니다. 특정 프로세스를 기기의 나머지 부분과 격리함으로써, TEE는 악성코드가 확산되어 기기를 감염시키는 것을 방지하는 데 도움을 줍니다.
- 소프트웨어 업데이트의 무결성 보장: TEE는 소프트웨어 업데이트의 무결성을 보장하는 데 사용할 수 있습니다. 소프트웨어 업데이트가 설치되기 전에 변조되지 않았는지 확인함으로써, TEE는 소프트웨어 업데이트를 통해 악성코드가 유입되는 것을 방지하는 데 도움을 줍니다.
TEE를 사용하는 이러한 변조 방지 기기의 데이터는 앞으로 어떻게 활용될까요?
IoTeX의 개발자 관계 책임자인 Simone Romano에게 문의한 결과, 다음과 같은 답변을 들을 수 있었습니다:
TEE는 IoT 기기에서는 어디에나 존재하지만, 블록체인 산업에서는 사용자의 개인 키를 저장하는 데 사용하는 하드웨어 지갑을 제외하고는 사실상 활용되는 곳이 없습니다. 하지만 오프라인에서 블록체인 거래에 서명하는 것은 이 기술의 매우 제한적인 활용에 불과합니다. 거의 모든 스마트 기기에 TEE가 탑재되면, 이들은 분명 미래에 자율적으로 거래에 서명하고 전송하며, 블록체인 상에서 서로 상호작용할 수 있게 될 것입니다. 그러나 이는 TEE가 블록체인 애플리케이션에 활용될 때 실현할 수 있는 것의 빙산의 일각에 불과합니다. 각 기기에 대한 탈중앙화된 온체인 신원을 등록함으로써, 기기들은 자신의 TEE를 사용하여 캡처된 모든 IoT 데이터를 자율적으로 생성하고 서명할 수 있게 되며, 이는 스마트 계약이 온체인에서 검증할 수 있는 실제 사실의 증거를 생성하는 기반으로 사용될 수 있어, 신뢰할 수 있는 IoT 데이터에 기반한 진정한 탈중앙화 경제의 탄생으로 이어질 것입니다.