iPhone 응용 프로그램을 만들고 있습니다.안전한 통신 iPhone to Database
응용 프로그램에서 데이터베이스와 통신해야합니다. 나는 주변을 둘러 보았고 가장 좋은 방법은 iPhone -> webserver -> mysql이라는 것을 알았다.
https를 사용하는 경우 트래픽이 일반 텍스트로 표시되지 않습니다.
하지만 여전히 보안에 대해 우려하고 있습니다.
웹 서버와 현재 세션을 인증하는 auth.php가 있다고 가정 해 봅시다. 그런 다음 게임이나 무언가를 가지고 registerresult.php로 결과를 등록하면 사용자는 여전히 웹 사이트를 통해 auth.php를 통해 로그인하고 registerresult.php에 자신의 결과를 등록하십시오.
(데이터를 게시하려면 POST 방법을 사용하고 있습니다.)
문제가 있습니까?
하지만, 정말 좋은 방법, 또는 더 나은 있다는 것입니다? (각 문장에 하드 코딩 된 "키"보내기)
https가 사용되지 않은 경우 해당 키는 일반 텍스트로 사용됩니다.
결과 데이터를 'registerresult.php'로 보내기 전에 암호로 서명 한 경우에도 (사람이 위조하기가 훨씬 어려워 질 것입니다.) 서명 키는 여전히 휴대 전화의 앱에 임베드되어야합니다. 따라서 결정된 크래커는 여전히 결과를 위조 할 수 있습니다. 나는 사용자가 위조 된 결과를 제출할 수 없다는 것을 확신하기 위해 서버에서 게임을 실행해야만 상태 정보가 유지 될 것이라고 생각합니다. (하지만 나는 다른 사람들의 대안을 듣고 자합니다!) . – eggyal
그래, 내 말은, 키를 로컬에 저장하는 것이 최적이 아닌 것 같습니다. 그 순간 내가 아마 할 일이지만, 나는 사람들이 가짜를 제출하기 위해 얼마나 많은 노력을 기울일지를 말하고있다. :) (나는 그것을 먹어서는 안되기를 바랍니다 : P) – netigger
사람들이 넣을 수있는 노력의 양은 게임의 성공/중요성 또는 수상 할 수있는 상품의 기능. 이 경로를 따라 가면 인용 한 기사의 접근 방식이 좋지 않습니다 (단순한 패킷 스니퍼가 비밀 키를 보게됩니다) - 보안 해시 (데이터, 무작위 소금 값, 비밀 키)를 취하는 것이 좋습니다. 알려진 비밀 키의 해시를 다시 계산할 수있는 서버에 (데이터, 동일한 소금 값, 해시)를 보내고 확인하는지 확인하십시오. – eggyal