2014-01-09 3 views
1

샌드 박스에 다운로드하여 저장하려는 일부 파일이 있습니다. 그러나 항상 보안을 유지해야합니다 (예 : 암호화). 이제 문서 자체에 다운로드하는 동안 암호화 할 수 있습니다. 그러나 파일을 사용할 필요가있을 때 전에 해독해야합니다. 문제는 이러한 해독 된 파일을 어디에 둘 것인지입니다.iOS 샌드 박스 - 문서 디렉토리의 데이터 보안

tmp - 유지하기 좋은 곳처럼 보이지만 앱을 며칠간 최소화했을 때 콘텐츠가 삭제되면 어떻게 될까요?

문서 - 여기에서 암호 해독 된 파일을 별도의 장소에 보관하는 것은 좋은 생각이 아닙니다. 앱이 다시 시작될 때 자동으로 정리되지 않으며 앱이 실행 중일 때 배터리가 소모되면 해독 된 파일이 노출됩니다.

그래서 문제는 문서 디렉토리의 데이터 보안을 보장하는 가장 좋은 방법입니다.

+2

보호 지점을 무효화 할 때 어디에서나 해독 된 파일을 원하지는 않습니다. 당신은 정말로 데이터를 메모리로 읽어 들이고 싶습니다 ... – Wain

+0

그러면 어떻게 될까요? 샌드 박스의 Documents 디렉토리에 암호화 된 mp4 파일이 있다고 가정 해보십시오. 이제 MPMoviePlayerController를 사용하여이 로컬 암호화 된 mp4 파일을 재생하려고 할 때 어떻게해야할까요? – OutOnAWeekend

+0

나는 그것이 항상 가능하다고 (또는 쉬운) 말하지 않았다. 단지 당신이하려는 일의 보안 함의를 알아야합니다. 100 % 보안을 유지할 수는 없습니다. – Wain

답변

0

UNIX 기반 시스템의 유용한 측면 중 하나는 파일을 작성/열기 한 다음 파일을 즉시 삭제할 수 있다는 것입니다. 파일은 앱 외부에서 액세스 할 수 없지만 앱은 데이터를 파일에 읽고 쓸 수 있으며 파일 핸들이 닫힐 때까지 파일이 실제로 삭제되지는 않습니다.

이것은 앱의 접근 가능한 파일 구조 내 어디에서나 해독 된 파일을 만들거나 열 수 있음을 의미합니다.

iOS에서 테스트하지는 않았지만 제대로 작동 할 가능성이 높습니다.

+0

하지만 내용이 암호화되지 않은 다른 jailbroken 앱을 찾기 위해 여전히 디스크에 있습니다. – zaph

+0

예. 또한 액세스 할 때 jailbroken 장치가 필요하지 않습니다. – OutOnAWeekend

+0

@Zaph 다른 프로세스가 디렉토리에 항목이없는 파일에 어떻게 액세스합니까? – trojanfoe

0

NSDataNSDataWritingFileProtectionComplete 옵션으로 암호화 된 암호화 된 파일을 Documents 디렉토리에 보관합니다.

파일을 직접 암호화 한 다음 필요에 따라 해독해야하는 경우 NSDataNSDataWritingFileProtectionComplete으로 암호화 된 해독 된 파일을 Documents 디렉토리에 저장하십시오. 파일에 "백업하지 않음"확장 된 특성을 추가하십시오. 응용 프로그램 시작/깨우기 등의 경우 경찰에 기반하여 더 이상 필요하지 않은 파일을 덮어 쓰고 삭제합니다. 무작위로 iv, 무작위 키로 AES, CBC 모드를 사용하고 키 체인에 키를 보관하십시오.

스트림으로 열고 해독을 버퍼로 해독하는 옵션입니다 (앱에서 작동하는 경우).

하지만 캐치는 전체 사용 사례를 이해하지 못합니다. 우수 사례 : iOS 보안 도메인 전문가를 고용하여 솔루션을 조언하고 확인하십시오. 보안이 그 가격에 가치가 있는지, 유효한 질문입니까?

내 의견에 대한 설명 : 손상된 HD에서 이미지를 복구하는 응용 프로그램을 작성했지만 그다지 어렵지는 않습니다.