本机iOS应用和服务器之间的安全性

时间:2014-12-29 11:55:11

标签: ios security authentication client server

我正在开发一个原生的iOS应用程序,并且有一个与HTTPS通信的后端PHP服务器。

我现在拥有的是我可以使用用户名/密码登录,facebook或google登录进行登录。 服务器将生成令牌并将其发送给用户。用户将在每次调用服务器时使用它。

但: - 服务器“家伙”选择在每次拨打电话时发送新令牌。我认为这是一个糟糕的设计,原因有几个。 - 它会过期吗?如果是这样,我如何无缝地为用户体验续订令牌?如果没有,这不是很脆弱吗?

上面是一个好的设计吗?我还想知道你们正在使用什么作为你的安全设计?

干杯。

2 个答案:

答案 0 :(得分:1)

用于保护设备中的令牌,使用SSKeyChain而不是NSUserDefaults。无需为每个呼叫生成新令牌。对于每次登录/注册,使用可以生成令牌。

答案 1 :(得分:0)

将令牌存储在SSKeyChain中。使用此方法重用相同的令牌。

- (NSString *)getUniqueDeviceIdentifierAsString
{
    NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];

    NSString *strApplicationUUID = [SSKeychain passwordForService:appName account:@"incoding"];
    if (strApplicationUUID == nil)
    {
        strApplicationUUID  = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
        [SSKeychain setPassword:strApplicationUUID forService:appName account:@"incoding"];
    }    
    return strApplicationUUID;
}