Tag: 安全

在iOS应用程序场景中确保密钥安全吗?

我正试图隐藏我在其中一个应用程序中使用的两个秘密。 据我所知钥匙扣是一个好地方,但我不能在我提交应用程序之前添加它们。 我想过这个场景 – 预先在我的应用程序的CoreData数据库中传播秘密,将它们分散到其他实体中以掩盖它们。 (我已经在该应用程序中有一个种子数据库)。 随着应用程序第一次启动,生成并移动到钥匙链的钥匙。 从CoreData中删除logging。 这是安全的还是黑客可以看到这种情况发生并获得这些密钥? *第三编辑**抱歉不从一开始就解释这个情况 – 应用程序有很多层次,每个级别包含文件(audio,video,图像)。 用户可以购买一个级别(IAP),购买完成后我需要将文件下载到他的设备。 对于iOS6,这些文件与Apple新的“托pipe内容”function一起存储。 对于iOS5,文件存储在亚马逊S3中。 所以在这个过程中,我有两个键:1. IAP密钥,用于validation在Apple IAP购买。 2. S3键,用于从S3 for iOS5用户获取文件: NSString *secretAccessKey = @"xxxxxxxxx"; NSString *accessKey = @"xxxxxxxxx"; 我需要保护那些钥匙吗? 我恐怕人们能够从S3中拿到这些文件,而不用购买这些关卡。 或者,黑客将能够构build一个黑客版本的所有级别预先下载里面。

如何唯一识别ios设备

在我目前的应用程序中,我必须让用户从不同的iOS设备login到他们的帐户。 目前我正在做一个令牌值的用户身份validation。 但为了支持多个设备login,我必须find另一种方式来做到这一点。 因此,我想保存设备uuid与令牌authentication+安全。 然后,我才知道我不能使用设备的uuid ,而是必须使用可能提供或不提供用户或设备信息的identifierForVendor 。 那么,有没有人可以提出更好和适当的方式来实现这个多个设备loginfunction为同一个用户帐户在IOS?

实施和testingiOS数据保护

刚刚看到了2010年WWDC会议209 – 确保应用程序数据安全。 主题演讲解释了很多事情,包括可以为文件设置数据保护属性的方式(NSFileProtectionComplete,NSFileProtectionNone)以及如何确定哪种保护最适合您的情况。 我刚刚实现它,但不知道如何testing安全性,任何想法? 另外,我有一个sql lite数据库,需要在后台不时访问,这种数据保护方法似乎不够好。任何链接或教程,引导我通过最好的数据库保护? (发现sql密码,但是有点沉重,添加在一个演变的项目) 谢谢!

枚举我的iOS应用程序中的所有钥匙串项目

什么是最简单的方式(从我的应用程序)获取存储在钥匙串中的所有项目? 它可能与SecItemCopyMatching()有关,但该函数的文档不是很清楚(我没有find一个体面的样本在网上)。