2011-09-09 2 views
2

웹 응용 프로그램을 작성 중입니다. 다른 서비스에서 인증하기 위해 oauth를 사용합니다. 이러한 토큰과 비밀을 데이터베이스에 직접 보안 할 위험이 있습니까? 아니면 암호화해야합니까? Oauth Token 및 Secret의 보안 패턴

는 OAuth는 토큰과

답변

4

이 스레드는 질문에 모두 답

Securly Storing OpenID identifiers and OAuth tokens

을 본질적으로, 다음은 하나 또는 다른 방법으로 자신 사이에 의존 :

  • 비밀 소비자 키
  • 소비자
  • 액세스 토큰
  • 액세스 토큰 s ecret

소비자 키/암호도 위험하지 않으면 액세스 토큰/암호를 암호화 할 필요가 없습니다. 액세스 토큰은 생성 된 고객 키/암호와 함께 만 사용할 수 있습니다.

-1

난 당신이 전형적인 "서비스 제공자", "소비자"와 "사용자"설정에 대해 얘기하고 있으리라 믿고있어 비밀 저장하기위한 일반적인 보안 패턴 무엇입니까? 그렇다면 세션과 쿠키로 토큰을 저장할 수 있지만 문제는 고객이 아닌 고객을 저장해야하는 소비자 (이해할 수있는 고객)입니다. API 호출 범위에서 세션/쿠키를 사용할 수 있습니까?

토큰이 세션이나 쿠키에 저장되어 있으면 "임시"키가되고 사용자가 만료되면 다시 인증해야합니다. 하지만 oAuth 사양에 관한 한 사용자가 다시 인증하는 것을 신경 쓰지 않는 한 아무 문제가 없습니다.

또한 토큰은 특정 서비스 및 사용자에 묶여 있으며 IP 주소 나 장치 UUID와 연결되어 있지 않습니다. 다른 API 및 비밀 키와 함께 사용할 수 없습니다. API 및 보안 키는 발급 된 응용 프로그램과 연결되어 있기 때문입니다.

이렇게하면 사용자는 애플리케이션별로 비 승인 할 수 있으며 모든 앱은 다른 권한 집합 (예 : 읽기 전용 액세스)을 가질 수 있습니다. 그래서 당신의 대답은 당신이 그들을 암호화 할 필요가 없다는 것입니다, 당신은 일반 텍스트 어쨌든 필요합니다 (만약 당신이 사용자).

+0

죄송합니다. 서비스 제공 업체가 아닙니다. 나는 페이스 북과 같은 서비스를 사용하는 앱을 개발 중이며 사용자가 인증 할 때 데이터베이스에 토큰을 저장하려고합니다. –

+1

이상한. 이 답변은 http://stackoverflow.com/questions/3284260/oauth-storing-access-token-and-secret에서 복사 한 것으로 질문에 대한 답변이 거의 없습니다. –