2014-01-27 2 views
0

서버에서 수신 한 메시지가 스마트 폰에서 내 앱을 실행중인 클라이언트로부터 전송 된 것임을 어떻게 보증 할 수 있는지 궁금합니다.서버에서받은 메시지가 내 앱을 실행하는 클라이언트에서 전송되는 것을 어떻게 보장할까요?

내 앱을 실행하는 클라이언트에서 보낸 메시지는 SSL 암호화로 보안이 설정되므로 기기와 서버에 저장된 다음과 같은 메시지 본문에 포함 된 일종의 비밀 키를 포함하는 것이 좋습니다. ? (그러나이 키는 리버스 엔지니어링을 통해 발견되는 경향이 있습니다.)

+0

프로토콜 관련 질문은 실제로 http://security.stackoverflow.com/에 속해 있습니다. –

답변

1

코드를 신뢰할 수없고 어떤 종류의 보호 된 키 저장소에 대한 액세스 권한이없는 경우 (예 : TPM 등)을 사용하면 누구든지 키를 훔칠 수 있습니다. 인증이 필요한 경우 물론 사용자 비밀번호와 같은 일반적인 인증 방법을 사용할 수 있습니다.

메시지를 보호해야하는 경우 암호 (예 : PBKDF2와 같은 PBKDF2 사용)에서 키를 파생시키고 개인 키를 해독하여 메시지에 서명 할 수 있습니다. 속도가 너무 느린 경우 개인 키를 사용하여 세션 키를 암호화하고 메시지 인증 코드를 사용할 수 있습니다.

관련 문제