2013-06-19 1 views
1

소스 코드에 저장된 애플리케이션 API 키 및 암호가있는 보관 용 브라우저 클라이언트는 누구나이를 사용하여 애플리케이션을 가장 할 수 있으므로 좋지 않은 아이디어입니다.보안 Dropbox 브라우저 클라이언트를 개발하는 방법은 무엇입니까?

  1. 그러나 무엇 Dropbox API key encoder에 대한 사용할 경우 타사은 원래 키/비밀을 얻을 수 있습니까?
  2. 공격자가 키/암호 쌍을 얻은 경우 손상된 응용 프로그램의 사용자에게 발생할 수있는 가장 최악의 경우 인 시나리오는 무엇입니까?
  3. 구현 (가능한 경우)을 완벽하게 확보하기 위해 브라우저 전용 클라이언트에서 보관 용 보안을 다루는 모범 사례는 무엇입니까?

클라이언트에 저장된 응용 프로그램은 절대 완벽하게 보안 될 수는 없지만 나보다 경험이 많은 개발자의 의견을 듣고 싶습니다.

당신의 도움이 사전에

답변

1

주의해야 할 감사 : 나는 보안 전문가가 아니에요.

인코더를 사용하면 캐주얼 "공격자"가 앱 키와 암호를 가져 오는 것을 방지 할 수 있지만 진정한 보안을 제공하지는 못합니다. 다음은 인코딩되지 않은 키/비밀 쌍으로 다시 인코딩 된 키를 변환하는 JS 라이브러리를 사용하여 코드의 라인입니다 : 말했다

Dropbox.Util.atob(Dropbox.Util.encodeKey(encodedSecret).split('|')[1]).split('?')

가 여기에 보안 위험이 다른 사람이 앱 키와 비밀을 사용한다는 것입니다가, 그것은 틀림없이 세계의 끝이 아니다. OAuth를 사용하는 거의 모든 클라이언트 응용 프로그램 (브라우저, 바탕 화면 및 모바일 플랫폼)은이 문제로 어려움을 겪습니다. 예를 들어, 트위터의 유출 소비자 키/비밀을 논의하는 한 기사가 있습니다 : https://news.ycombinator.com/item?id=5337099.

앱 키와 비밀번호를 공개 할 때 가장 큰 결과는 다른 사람이 코드를 복사/붙여 넣기하고 사용자의 자격 증명을 사용한다는 것입니다. 사용자 (OAuth를 통해 권한을 부여 할 때 앱의 이름이 표시되는 사용자)에게 오해의 소지가 있으며, 다른 앱이 키를 가져와 악의적 인 앱에서 사용하는 경우 합법적 인 앱이 부수적 인 손상을 초래할 수 있습니다.

+0

사용자가 잠재적으로 중요한 데이터를 저장하는 Twitter와 Dropbox는 보안상의 위험이 없습니다. 가짜 트위터 클라이언트에 로그인하는 것은 큰 문제가 아니지만 잘못된 응용 프로그램에 로그인하면 데이터를 조작 할 권한이 이미 부여되어 심각한 결과를 초래할 수 있습니다. –

+0

동의. (최소 문자 요구 사항을 만족시키는 문자가 더 많습니다.) – smarx

관련 문제