모바일 장치에 네이티브 응용 프로그램으로 배포되는 내 앱을 확인하는 솔루션을 찾아야하며 내 앱에서만 내 웹 서비스에 액세스하여 다른 곳에서 호스팅 할 수 있습니다. 다른 말로하면, 내 웹 서비스는 다른 방법이 아닌 응용 프로그램의 합법적 인 사용을 통해서만 요청을 받아 들여야합니다.웹 서비스에서 네이티브 응용 프로그램을 인증하는 방법은 무엇입니까?
내가 생각 솔루션은 당신이 더 나은 하나, 또는 생각하면 다음은, 제발 말해입니다이 하나가 충분하지 않은 경우 :
카운터 Synchronyzed 한 시간 암호 (CS-OTP를) 기본적인 개념은 각 측 (WS와 App)이 하드 코딩 된 비밀 키와 동기화 된 카운터를 보유한다는 것입니다. 클라이언트 앱이 WS에 요청을 보낼 때마다 비밀 키와 카운터 값이 포함 된 해시가 생성됩니다. 백엔드 WS는 동일한 작업을 수행하고 해시를 비교하여 해시가 동일한 경우 인증이 성공하고 양측이 카운터를 증가시켜 동기화를 유지합니다. 카운터가 성공할 때마다 카운터가 증가하므로 해시 값이 다를 수 있습니다 (따라서 '일회용 암호').
왜 일회용 암호가 필요하다고 생각하십니까? 비밀번호 또는 해시가 동일하게 유지되는 경우 클라이언트 앱 사용자가 매우 쉽게 가로 챌 수 있으므로 앱이 없어도 혼자서 요청을 위조 할 수 있습니다.
그 해결책에 대해 어떻게 생각하는지 말해주세요.