2010-04-23 4 views
2

앱 자체와 서버 측 구성 요소의 두 부분으로 구성된 iphone 애플리케이션을 만들고 싶습니다.맞춤형 iphone 앱에서만 사용할 웹 서비스 보안 설정

사용자 요청에 따라 앱이 데이터를 서버로 보내고 조작자가 처리합니다.

아이폰 앱 사용자의 남용을 방지하기 위해 아이폰의 ID가 요청과 함께 전송되며 운영자는 장난 꾸러기를 블랙리스트에 등록하여 서비스에 대한 아이폰 액세스를 거부 할 수 있습니다.

지금까지 그렇게 좋았습니다. 이제 문제는 다음과 같습니다. 누군가가 서버 측 구성 요소의 주소를 쉽게 발견하고 여러 IP 주소 등을 사용하여 가짜 요청을 보내는 스크립트를 작성할 수 있습니다.

제 질문은 다음과 같습니다.

스크립트 공격으로부터 보호하거나 사용자가 직접 등록하도록 요구하는 보안 문자는이 특정 응용 프로그램에 대한 옵션이 아닙니다.

다운로드를 제어 할 수 있다면 다운로드 한 각 앱마다 고유 한 ID를 연관 짓지 만 분명히 앱 스토어에서는 옵션이 아닙니다.

서버 쪽을 더 안전하게 만드는 방법은 무엇입니까?

편집 :

어떤 클라이언트가 알고리즘을 사용하여 새 토큰이 모두 알고 구축 것을 기반으로 서버가 클라이언트에 토큰을 전송하는 챌린지 응답 방식에 대해?

적어도 ARM 바이너리를 리버스 엔지니어링해야하기 때문에 공격자가이 작업을 어렵게 만듭니다. 비슷한 접근 방식으로 어떤 경험이 있습니까?

+0

닫기 ... 완전하고 완전히 불가능합니다. – rook

답변

-1

iPhone 앱의 일부로 가입/등록 기능을 포함 할 수 있으며 그 과정에서 iPhone의 ID를 수집 할 수 있습니다. 따라서 서버에서 VALID ID 목록을 가지게되며 목록에없는 모든 iPhone의 요청 (위조/위조 된 요청)을 무시할 수 있습니다.

+0

내가 등록 단계를 포함한다면, 실제로 아이폰에서 등록 요청이 왔고 ID가 위조 된 것이 아닌지 어떻게 확신 할 수 있습니까? – user238707

+0

@mme 좋은 질문입니다. 나는 할 수 있다고 생각하지 않습니다. – rook

-1

iPhone 응용 프로그램이 등록 메시지 (장치 ID 포함)에 디지털 서명하여 웹 응용 프로그램에 보낼 수 있습니다. 물론 이것은 누군가가 iPhone 응용 프로그램에서 키를 추출 할 때까지만 작동하지만 30 분 동안은 잠길 수 있습니다.

정말 그렇습니다. 죄송합니다.