如何保护本地资源免受未经授权的转移(共享)

时间:2013-06-14 16:10:20

标签: ios security encryption drm

我正在寻找保护用户下载内容的初步想法。用户下载充满有趣资源的zip文件,这些资源被提取到他们的本地文件系统中以供应用程序使用。我的目标是阻止用户通过互联网将下载的资源共享给其他用户(让我们假设他们可以访问这些文件无论如何)。可以在iOS应用程序中使用并且可能与平台无关的东西。

谢谢

1 个答案:

答案 0 :(得分:1)

第一步是将文件放在受保护的(通过苹果)位置,并确保用户不在iTunes中备份该位置:

//Get the Library path (not visible to user
NSString *path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]

//Tell apple not to back it up in iTunes
+(void)addSkipBackupAttributeToPath:(NSString*)path {
    u_int8_t b = 1;
    setxattr([path fileSystemRepresentation], "com.apple.MobileBackup", &b, 1, 0, 0);
}

现在,这对于用户可以访问这些位置的越狱和其他更狡猾的事情没有帮助。接下来的事情是单独加密文件并在使用它们时动态解密它们。这是处理器最密集的方式,但更安全。对于加密和解密,我建议使用RNCryptor库。这是一个涉及更多的问题,并将对你进行相当多的研究,对不起,在一般性问题中写得太多了。