2013-03-13 1 views
0

Android 보안에 대한 특정 질문이 있습니다.Android 보안 : 비공개 문자열 저장

첫째, 나는 병이 내 문제를 설명합니다 내가 PHP를 통해 데이터베이스에 연결합니다. 하지만 모두가 PHP 파일에 연결하는 데 사용하는 apk에서 링크를 추출 할 수 있습니다. 이것으로 문제가 발생합니다. 모든 사람이이 링크를 호출하여 내 데이터베이스를 조작 할 수 있습니다. 나는 SQL Injection을 막고 싶다.

이 문제에 대한 해결책을 모색 중입니다. 첫 번째 아이디어는 PHP 파일의 액세스를 인증하는 데 사용되는 완전히 전용 문자열을 만드는 것입니다. 그러나 코드에서 추출 할 위험이없이 (예 : Strings.xml을 사용하거나 단순히 코드에 쓰는 등의) 위험을 무릅 쓰지 않고 이러한 String을 어떻게 저장할 수 있는지 전혀 모르겠습니다. 문자열을 내 APK에서 완전히 비공개로 설정하여 (아무도 추출 할 수 없도록하는) 간단한 방법이 있습니까? 아니면 더 좋은 해결책이 있습니까?

답변

1

역 귀하의 응용 프로그램을 설계하고, "비밀"URL을 찾는에 대한 실제 보안이 없습니다.

나는 어떤 종류의 사용자 인증으로 해당 URL을 보호 할 것을 권장합니다. 어떤 클라이언트가 액세스하려고해도 URL은 보안되어야합니다. 클라이언트에 저장된

+0

사용자가 인증해야 할 경우 (예 : 사용자 이름과 암호를 제공) 사용자는 쉽게 데이터를 조작 할 수 있습니다. 이런 식으로 일을, 난 단지 afterwords 반응하여 조작되지 데이터를 복원 할 수 있습니다 (하지만 신속한 답변을 주셔서 감사합니다 당신은 더 나은 서버에 API를 캡슐화 할 필요가 같은 – user2167430

+1

는 소리 악의 하나로서 모든 API 호출 생각 – Sean

0

모든 것은 등/스푸핑/검색 할 수 있습니다. 데이터베이스에 대해 명령을 실행하기 전에 클라이언트를 서버에 인증해야합니다.

무단 액세스로부터 데이터베이스를 보호해야합니다. 지금은 URL을 숨김으로써 "무명을 통한 보안"을 사용하는 것처럼 들립니다. 이것은 나쁜 습관입니다. 누군가 그것을 발견하기를 원하지 않는 사람을 발견 할 때까지는 시간 문제 일뿐입니다. 리버스 엔지니어링을하지는 않지만 라우터 로그를 한 눈에 볼 수 있습니다. 누군가가 제대로 소독하지 않는 코드에 의해 제작되는 SQL 쿼리에 악성 코드를 삽입 할 때

또한, SQL injection이다. 이 공격은 인증 된 세션 내에서 작동합니다. 이것은 당신이 너무 조심해야 할 것이지만 질문에서 설명한 위험은 아닙니다.

+0

당신을... 아이디어를 가지고, 내가 서버에 클라이언트를 인증 할 수 있습니까? – user2167430

+0

아마도 튜토리얼이나 뭐예요? 매우 도움이 될 것입니다 :) – user2167430

+0

@ user2167430 클라이언트를 인증하는 데는 여러 가지 방법이 있습니다. 일반적인 방법은 사용자 이름과 암호를 제공하는 것입니다. 나는 데이터베이스 세계에 접근 가능하게 만들지는 않을 것이지만, 대신에 당신을 위해 인증을 처리하고 데이터베이스에 자신을 인증하는 RESTful 웹 서비스를 시작해야 할 것이다. –