2013-02-26 2 views
0

다음 논리에 따라 인증을받는 주요 결함은 무엇입니까?인증 토큰 보안

사용자는 a.example.com에 로그인하고 "b.example.com에 로그인"을 클릭합니다. 이 링크는 임의의 문자열을 생성하고 b.example.com 데이터베이스에 저장합니다. 그런 다음 데이터베이스에 해당 문자열이 있는지 확인하고 사용자를 기록하는 b.example.com/remotelogin.php?token=therandomstring으로 리디렉션됩니다.

보안을 위해 필요하다고 생각할 수있는 유일한 문제는 토큰이 유효해야 할 시간 제한이 30 초 또는 뭔가.

+0

나는 이것이 더 나은 것이라고 생각합니다 http://security.stackexchange.com/ – Mike

+0

당신은 OAuth에 대해 읽었습니까? – JamesHalsall

+0

토큰이 시간 제한적이라면 문제의 가능성이 거의 없습니다. – deceze

답변

0

이것은 거의 사용자 인증 체계가 아닙니다. 사용자 인증은 사용자가 누구인지에 대한 것입니다. 또한 실용적이지 않습니다.

30 초 만에 만료되고 사용자가 40 초 내에 새로 고침을하면? 그럼 뭐야?

링크를 보내고 사람들이 웹 페이지에 로그인하는 악성 사용자는 어떻게됩니까? 또는 악의적 인 사용자가 데이터베이스에 로그를 남긴 경우는 어떻습니까?

당신은 ssl을 가지고 계시겠습니까? 아니면 30 초 동안 공격을 다시 할 수 있습니까? 당신이 제안하고있는 계획은 전혀 좋지 않고 잘못 될 수있는 많은 것들을 많이 가지고 있습니다. 당신이 인증 귀찮게 왜 당신은 모든 사용자 관련 정보를 보유하지 않는 경우

:

나는 내가 주로 말하고있는 것은이 (불쾌감 노력없이) 추측? 누가 뭘하고 있니? 예를 들어 소셜 네트워크 앱이나 은행 앱 또는 이와 같은 포럼에서는이 스킴을 사용할 수 없습니다. 보안에 민감한 사항이 없으면 보안 흐름이 없지만 중요한 정보가 포함되어 있지 않으므로 결함이 없습니다.

+0

* "40 초"* : 적절한 시간 제한을 선택하여 고정합니다. * "악의적 인 사용자가 링크를 보내고 있습니다"* : 무대 뒤의 서버 - 서버 통신 및 제한 시간으로 인해 차단됩니다. * "홍수 데이터베이스"* : 어떻게 그 것이 대단히 문제가되는지 설명해주십시오. * "SSL"* : 예, 이것이 SSL을 통해 이루어진다 고 가정하면 문제가 발생할 가능성은 거의 없습니다. 당신의 비판은 너무 공격적이며 약간의 실체가 있습니다. – deceze

+0

30 초 만료는 로그인 요청입니다. 일단 로그인 요청이 이루어지면 만료 날짜가있는 해당 웹 사이트의 세션을 가져 오지만 인증에 사용 된 토큰은 더 이상 유효하지 않습니다. –

+0

내가 공격적이라면 유감입니다. 내 의도가 아니야. 인증은 사용자가 링크를 따라갈 수있는 능력에 관한 것이 아니라는 것입니다. 사용자 관련 정보를 보유 할 수없는 경우 인증이 유용합니다. 또한 봇넷을 쉽게 만들면 악의적 인 사용자가 수백만 명의 링크를 따라 데이터베이스에 기가 바이트를 채울 수 있습니다. 또한 "장면 뒤에서 서버 - 서버 통신으로 막히는 것"을 의미합니까? – idipous