1

모바일 장치에 네이티브 응용 프로그램으로 배포되는 내 앱을 확인하는 솔루션을 찾아야하며 내 앱에서만 내 웹 서비스에 액세스하여 다른 곳에서 호스팅 할 수 있습니다. 다른 말로하면, 내 웹 서비스는 다른 방법이 아닌 응용 프로그램의 합법적 인 사용을 통해서만 요청을 받아 들여야합니다.웹 서비스에서 네이티브 응용 프로그램을 인증하는 방법은 무엇입니까?

내가 생각 솔루션은 당신이 더 나은 하나, 또는 생각하면 다음은, 제발 말해입니다이 하나가 충분하지 않은 경우 :

카운터 Synchronyzed 한 시간 암호 (CS-OTP를) 기본적인 개념은 각 측 (WS와 App)이 하드 코딩 된 비밀 키와 동기화 된 카운터를 보유한다는 것입니다. 클라이언트 앱이 WS에 요청을 보낼 때마다 비밀 키와 카운터 값이 포함 된 해시가 생성됩니다. 백엔드 WS는 동일한 작업을 수행하고 해시를 비교하여 해시가 동일한 경우 인증이 성공하고 양측이 카운터를 증가시켜 동기화를 유지합니다. 카운터가 성공할 때마다 카운터가 증가하므로 해시 값이 다를 수 있습니다 (따라서 '일회용 암호').

왜 일회용 암호가 필요하다고 생각하십니까? 비밀번호 또는 해시가 동일하게 유지되는 경우 클라이언트 앱 사용자가 매우 쉽게 가로 챌 수 있으므로 앱이 없어도 혼자서 요청을 위조 할 수 있습니다.

그 해결책에 대해 어떻게 생각하는지 말해주세요.

답변

0

이 방법을 구현하는 여러 가지 방법은 제안 된대로 비밀 키를 사용하여 클라이언트에서 서버로 암호화 된 토큰을 만드는 것입니다. 또한이 암호화 된 키에 유효성 확인에 도움이되는 몇 가지 정보를 포함시킵니다. IP 주소, 만료 날짜/시간, 현재 시간 등을 포함하십시오. 따라서 트래픽을 재생하려고하는 사람은 특정 시간대 등의 동일한 IP 주소에서 나와야합니다. 자신의 필요에 맞게 변경할 수 있습니다. 희망이 도움이됩니다.

0

네이티브 응용 프로그램이 해커의 통제하에있는 한 그는 응용 프로그램을 디버깅하고 보안을 강탈 할 수 있습니다. 비밀이 무엇이든간에. 비밀을 밝히면 그 사람에게 비밀로합니다.

응용 프로그램의 각 인스턴스에 고유 한 비공개 정보를 제공 할 수 있습니다. 그런 다음 sb를 차단할 수 있습니다. 이상한 행동을하는 사람. 이것은 인증의 종류를 제공합니다.

해킹을 어렵게 만들기 위해 코드를 변경하려고 할 수 있지만 해커가 추가 비용을 부담해야합니다. 그러나 "만"이면 충분할 수 있습니다.