Google은 사용자가 가입 할 수있는 서비스를 제공하고 있습니다. 이 프로세스는 자동 로그인을 방지하기 위해 reCAPTCHA의 보호를받습니다. 문제는 모바일 장치에서 reCAPTCHA는 편리하지 않다는 것입니다. 따라서 우리는 가입 API가 reCAPTCHA 응답 대신 토큰도 허용 할 것이라고 결정했습니다.휴대 기기에서 보안 문자 대체
이제 토큰을 구현하는 방법에 대해 질문합니다. 우리의 첫 번째 접근법은 모바일 애플리케이션에 서버에 토큰으로 전송되는 일정한 비밀을 부여하는 것이 었습니다. 그러나 해커가 요청을 서버로 리디렉션하면 API 도메인의 DNS 레코드를 업데이트하고 모바일 장치에 신뢰할 수있는 인증서를 설치하여이 비밀을 밝힐 수 있습니다.
우리의 마지막 접근 방식은 username + secret에 대해 HMAC-SHA1이라는 토큰을 계산하는 것입니다. 여기에 secred가 필요합니까? 입력을 충분히 길게 만드는 것일 수도 있습니다. 사용자 이름은 가입 입력에서 가져옵니다. 그런 다음 서버는 해시의 유효성을 검사하여 권한을 부여합니다. 그의 경우에는 재생 공격을 할 수는 있지만 중복 된 사용자 이름이 거부되므로 문제가되지 않습니다.
이 방법이 맞습니까? 모바일 장치에 captcha의 다른 대안이있을 수 있습니까?
iOS (ipa 파일)에서 응용 프로그램을 가져오고 리버스 엔지니어링 할 수도 있습니다. 응용 프로그램이 Appstore에서 호스트되고 키 (및 암호)를 추출한다는 점을 감안할 때 가능합니까?
안드로이드의 경우 가능합니다 -이를 방지 할 수있는 방법이 있습니까?