OpenID를 사용하여 사용자를 로그인하는 웹 사이트가 있습니다. 내가 사용하고있는 라이브러리는 사용자 로그인시 사용자 프로필을 반환합니다.이 프로필에는 사용자의 전자 메일, 이름, 아바타에 대한 링크 및 OpenID 공급자가 반환 한 ID이 포함되어 있습니다.OpenID를 사용할 때 로그인 상태를 유지하기위한 안전한 전략
에 로그인 한 사용자를 유지하기위한 나의 전략은 이것이다 : 처음에 사용자 logges, 내가 오픈 ID의 반환 ID에 근거하는 해시 코드를 생성 할 때
이- 는
- 내가이 해시 코드를 저장 쿠키 2 개에 사용자 ID가 표시됩니다.
- 사용자가 내 웹 사이트에 관해서, 나는이 쿠키를 확인하고 사용할 수 있다면, ID와 해시 코드를 일치하도록 시도가 정확하다면, 나는에서 사용자를 로그인합니다.
이제 문제는입니다. 어떻게 든이 쿠키 정보가 사용자로부터 도난 당하면 해커가 사용자 대신 쉽게 로그인 할 수 있습니다. 사용자가 로그인하고 사용자의 cookeis를 업데이트 할 때마다 새 해시 코드를 만들 수 있지만 다른 브라우저/컴퓨터 쿠키의 정보는 유효하지 않게됩니다.
StackOverflow 웹 사이트에서 이러한 문제가 발생하지 않으므로 로그인 전략을 보호하고 사용자를 위해 로그인 기능을 추가하려면 어떻게해야하는지 알고 싶습니다.
'해시 코드'란 무엇을 의미합니까? 쿠키가 단순히 사용자의 openid URL의 보안 해시 인 경우 공격자는 처음부터 원래 쿠키를 가져 오는 문제로 이동할 필요가 없다고 추측 할 수 있습니다. –
StackOverflow 웹 사이트에서이 문제가 발생하지 않는다는 것을 어떻게 알 수 있습니까? –
@NickJohnson 당신 말이 맞아요.하지만 그들이 추측하기가 어렵도록 최선을 다하고 있습니다. 하지만 어쨌든 난 당신이 언급 한 임의의 세션 ID를 더 나은 솔루션이 될 것이라고 생각합니다. –