0

Google Authenticator를 사용하여 2 단계 인증을 허용하는 웹 사이트를 개발 중입니다. 내 질문은 : 사용자의 비밀 키를 저장하는 가장 좋은 방법은 무엇입니까? 데이터베이스에 보관하면 해킹 당하면 공격자는 한 번 암호를 생성 할 수 있습니다. 일회용 암호를 생성하려면이 비밀 시드가 필요하기 때문에 단방향 암호화로 암호를 암호화 할 수는 없습니다.Google OTP 보안 키를 안전하게 저장하는 방법은 무엇입니까?

+1

다른 StackExchange 사이트에서 이전 토론이 있습니다. http://security.stackexchange.com/questions/24092/how-to-store-otp-seed-securely-at-the-validating-server – anthonyryan1

답변

0

보안 토큰 (스마트 카드)에 저장할 수 있지만 해당 보안 토큰에 대한 액세스 권한을 구성해야합니다. 그러면 원래 문제로 돌아갑니다. 응용 프로그램을 시작하기 전에 작업을 수행 할 수 있다면 암호 기반 암호화를 사용하여 비밀 키를 보호 (랩핑) 할 수 있습니다. 또는 키를 보유한 스마트 카드에 PIN을 요구할 수 있습니다. USB 메모리 카드를 사용하여 키를 영구적으로 저장할 수도 있습니다 (백업을 잊지 마세요).

분명히 처음부터 응용 프로그램에 대한 액세스를 보호하는 것이 좋습니다. 어떤 시점에서 여전히 메모리에 키가 필요할 수 있기 때문에 공격자는 메모리가 보호되지 않으면 그 키를 어시스트 할 수 있습니다.

키를 난독 화하기 위해 다른 방법이 자주 사용되었습니다. 그러나 결정적인 해커는 일반적으로 난독 화가 수행되는 방식으로 키를 검색하는 데 너무 많은 문제가 없습니다.

관련 문제