2013-05-14 1 views
-1

사용자가 위치를 확인할 수 있도록하려는 Phonegap 모바일 애플리케이션을 구축 중입니다. 사용자 위치 정보를 가져와 내 API에 게시 할 수 있으며 모든 기능이 작동합니다. 내가 찾고있는 것은 API 호출을 스푸핑하는 것을 막기위한 방법입니다.API에 전달 된 데이터가 유효한 모바일 애플리케이션에서 나온 것인지 확인하십시오.

현재 나의 생각은 모바일 앱과 서버에서 공유 개인 키를 가질 수 있다는 것입니다. 그런 다음 키 클라이언트 측 사용자 위치를 해시 (?) 한 다음 게시하고 동일한 키 서버 측을 사용하여 데이터를 복원합니다.

+0

누군가 개인 키를 찾으면 지그가 생깁니다! – Pointy

+0

그건 내 관심사 야. 나는 그 열쇠가 클라이언트 쪽에서 안전 할 것이라고 확신하지는 않는다. 나는 다른 누군가가 내 생각에 순진한 메커니즘보다 더 똑똑한 생각을 가지고 있기를 바라고 있습니다. – jdehlin

+1

또한, 비슷한 질문과 함께 andriod에 키 저장 장치가 있습니다. http://stackoverflow.com/questions/3339870/android-secure-storage –

답변

1

최종 사용자가 장치에 완전히 액세스 할 수있는 경우 실행해야하는 소프트웨어를 완전히 보호하는 것은 매우 어렵습니다.

일반적으로 보안에 대한 주요 관심사는 최종 사용자를 외부 위협으로부터 보호하는 것입니다.

SSL/HTTPS를 사용하고 있는지 확인하십시오.이 경우 공격자 유형이 느려집니다. 또한 서버가 일반 HTTP에 응답하지 않도록하십시오.

인증서의 해시를 유지하고 정책 변경시 전략을 수립함으로써 HTTPS 구현을 강화할 수 있습니다. 예. 누군가가 자신의 네트워크에서 프로토콜을보기 위해 MITM을 시도하거나 인증서가 만료되어 갱신 된 경우 오히려 mundanely.

통신 채널을 "보안"으로 설정하고 공격자가 소스 코드 및 암호화 키에 대한 전체 액세스를 차단할 수있는 방법이 없습니다. 남은 유일한 방법은 obfustication입니다.

기본적으로 (중요도에 따라) 1 ~ 2 개의 보호 층을 설정 한 다음 API 엔드 포인트에 탐지 메커니즘을 구축하여 해킹 시도를 경고합니다.

관련 문제