2012-03-30 2 views
0

코어 데이터를 사용하여 sqlite 데이터베이스에 데이터를 저장하고 있습니다. 그들을 보호하기 위해 추가적인 조치가 필요합니까?.iOS 앱에서 sqlite 데이터베이스를 보호하기 위해 추가 작업이 필요합니까?

또한 appstore에서 일부 sqlite 브라우저 앱을 발견했습니다. 내 의심,이 응용 프로그램은 내 응용 프로그램에서 사용되는 sqlite db에 액세스 할 수 있습니까 또는 어떻게 이러한 응용 프로그램이 작동/개발자에게 유용합니다.

미리 감사드립니다.

+0

보안을 위해 키가있는 암호화 된 db를 사용할 수 있습니다. 앱을 열 때 키를 사용하여 db의 암호를 해독 할 수 있습니다. db가 암호화되어 있기 때문에 아무도 db를 사용할 수 없습니다. – Invincible

+1

보세요, http://sokol8.blogspot.in/2011/05/iphone-sqlite-data-encryption-sqlcipher.html – Invincible

답변

2

DB를 보호하려는 정도에 따라 다릅니다. 탈옥 된 장치를 고려하지 않는다면 다른 누구도 액세스 할 수없는 응용 프로그램의 개인 폴더에 db를 저장하는 것으로 충분합니다.

그러나 jailbreaked 장치의 사용자는 sqlite db를 포함한 전체 파일 시스템을 읽을 수 있습니다. 이 위험도 고려해야 할 경우 @Invincible에서 제시하는대로 데이터베이스를 암호화 할 수 있습니다. 여기서 문제는 응용 프로그램의 어딘가에 암호를 저장해야하는데, 암호를 역 설계하고 추출 할 수 있어야합니다. 암호를 저장하는 데 약간의 난독 화 방법을 사용할 수 있고 사용해야하지만 100 % 보안을 제공하지는 않습니다.

"열린"(jailbreaked) 플랫폼의 보안 문제는 공격자가 액세스 할 수없는 정보에 대한 액세스 권한이 없다는 것입니다. 그러나 서로 다른 난독 화 및 암호화 기술을 적용하여 공격자의 상황을 훨씬 더 어렵게 만들 수 있습니다. 얼마나 많은 노력을 기울여야합니까? 다음과 같은 요인을 고려해야합니다 <는 => 공격자의 이득 당신이 <을 투자 할 준비가

  • 당신의 노력 => 공격자가 투자 얼마나 많은 노력이 중요한 데이터를 잃어버린

    • 위험을
  • 관련 문제