이 질문이 여기에 있어야 할지 암호화 포럼에 있어야 할지 100% 확신할 수는 없지만 어쨌든 시도해 보겠습니다.
Google Authenticator, Duo, Okta 등과 같은 소프트웨어 인증 앱이 TOTP 및 HOTP 인증을 위해 비밀(예: 시드)을 저장하는 방법에 대해 알고 싶습니다. 모두 오프라인으로 작업할 수 있으므로 시드가 클라이언트 장치 어딘가에 저장된다는 의미입니다. 전혀 암호화되어 있나요? 아니면 기기 자체의 소유권이 OTP 인증의 유일한 요구사항이므로 보호할 필요가 없는 걸까요?
답변1
그들은 장치에서 제공하는 보안에 의존합니다.
Android와 iOS는 데스크톱 컴퓨터보다 보안 모델이 훨씬 더 엄격합니다. 각 앱에는 다른 사람이 접근할 수 없는 개인 저장소가 있습니다. 일반적인 상황에서는 이 저장소에 시드를 저장하는 것으로 충분하며 이를 앱에 추출하는 수단을 추가하지 않습니다. 또한 이 스토리지는 시드 추출을 허용하거나 충분히 안전하다고 간주되지 않는 스토리지(타사 클라우드)에 저장하므로 백업 불가능으로 표시해야 합니다.
이 개인 저장소는 장치가 루팅되거나 탈옥된 경우에 접근할 수 있으므로 TOTP 토큰과 같은 장치를 사용하는 것은 안전하지 않습니다.