LINE 사용자의 기밀 데이터를 백업하는 솔루션을 개발하던 중 '신뢰할 수 있는 코드를 어떻게 구현할 것인가'하는 문제에 직면했습니다. 어떻게 내외적 보안 위협으로부터 서비스를 안전하게 운영할 수 있을까요? 저희는 신뢰 실행 환경(trusted execution environment)에서 작동하는 안전한 서비스를 구축하기 위해 여러 솔루션을 조사 및 검증했습니다.
이 발표에서는 저희가 사용한 두 개의 주요 솔루션인 HSM과 Intel SGX에 대해서 설명하고, 이를 이용해서 어떻게 신뢰할 수 있는 소프트웨어 체인을 구축할 수 있는지 소개하겠습니다. 그리고 저희가 직면했던 배포 문제에 대해서 자세히 설명한후, 신뢰 실행 환경에서의 소프트웨어 보안 문제와 왜 저희가 Rust를 사용할 수 밖에 없었는지에 대해서 이야기 하겠습니다.