2012-01-03 2 views
5

일부 일반 설정 외에도 iOS 앱은 자체적으로 생성 된 [NSUserDefaults standardUserDefaults]의 콘텐츠 만 볼 수 있음을 알고 있습니다. 나는 OS가 이것을 보장하기 위해 앱의 식별자를보고 있다고 생각 하겠지? 내가 알고 싶은 것은 다른 응용 프로그램이 사용자의 기본 앱에 저장된 정보를 수집 할 수있는 방법이 있는지입니다.iOS : [NSUserDefaults standardUserDefaults]에 합리적인 사용자 정보를 저장하는 것이 안전합니까?

답변

8

다른 앱은 앱의 사용자 기본값에 저장된 정보에 액세스 할 수 없습니다. 그러나 이것이 정보를 얻을 수 없다는 것을 의미하지는 않습니다. 기기를 Xcode에 연결하고 앱을 실행할 수 있습니다. 기기 아래에서 앱 정보를 볼 수 있으며 사용자 기본값에 저장된 정보가 여기에 표시됩니다.

중요한 사용자 데이터를 저장하는 것은 일반적으로 좋지 않지만 액세스하기 쉽지는 않지만 여전히 액세스 할 수 있습니다. 일반적인 비 개인 데이터 또는 설정의 경우 큰 문제는 아닙니다. 기본 제공 키 체인 액세스를 사용하여 사용자 이름 및 암호 정보를 저장하고 필요한 경우 사용자 기본값을 사용할 수 있습니다.

내 앱 중 하나에서 고유 토큰을 생성하기 위해 사용자 이름과 비밀번호를 소금물과 해시로 처리합니다. 사용자 기본값으로 저장합니다. 그것은 그 자체로 가치가 없지만 그것은 일을하는 나의 방법입니다. 행운을 빕니다.

0

일반적으로 다른 어떤 앱도 샌드 박스 외부의 정보를 볼 수 없습니다. 그러나 누군가 jailbroken 장치가있는 경우 예, NSUserDefaults에 저장된 정보는 사용자가 내용을 암호화하지 않는 한 볼 수 있습니다.

1

언 제일 브리핑 된 장치에 없습니다. 그러나 사용자 (또는 기기에 물리적으로 액세스 할 수있는 다른 사용자)가 앱의 사용자 기본값을 기기에서 쉽게 끌 수 있습니다. 사용자 이름이나 인증 토큰과 같은 것을 기본값에 저장하는 동안 비밀번호와 재무 정보와 같은 더 중요한 데이터를 키 체인에 저장하거나 암호화해야합니다.

관련 문제