개발자
구글otp앱을 활용해서 TOTP로 2FA 구현중에 있습니다. 사용자에게 qr코드로 등록하게 하려고 합니다. 시크릿키를 암호화해서 저장하는게 맞는거죠? 근데 Qr코드 url에 시크릿키가 복호화되어 보이게되는데 이런건 어쩔 수 없는거죠? Otp 도입해보신 분의 조언이 필요합니다!
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 05월 01일
네, 맞습니다. TOTP 시크릿 키는 일반적으로 사용자 데이터베이스에 암호화되어 저장됩니다. 이렇게 하는 이유는, 만약 데이터베이스가 침해되더라도 TOTP 키는 안전하게 보호되기 때문입니다. QR 코드를 생성할 때이 시크릿 키를 복호화해야합니다. QR 코드 자체는 단지 문자열을 그래픽 형태로 변환하는 것뿐이기 때문에 원본 문자열을 복호화할 수 있으며 원본 정보를 포함하지 않습니다. 따라서 사용자가 이 QR 코드를 스캔하면 자신의 장치에 시크릿 키가 저장되고, 이후 로그인 프로세스에서 TOTP 코드 생성에 사용됩니다. 사실상, 사용자의 OTP 앱은 보안된 환경에서 실행되므로 이 시점에서의 시크릿키 노출은 크게 문제되지 않습니다. 왜냐하면 핵심적인 부분은 장치와 서버 사이에서 공유한 '비밀'을 안전하게 유지하는 것이기 때문입니다. 단, 다음과 같은 점들을 고려해야 합니다: 1. QR코드를 주의해서 관리해야 하며 누설되거나 타인에 의해 스캔 당하는 것을 방지해야 합니다. 2. 시스템 내부에서 TOTP 시크릿 키를 다룰 때는 언제나 암호화하여 저장하고, 이를 복호화하거나 전송할 때에는 반드시 보안된 채널(예: HTTPS)을 사용해야 합니다. 이런 접근을 통해 2FA 프로세스의 안전성을 높일 수 있습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!